Skip to main content
yiling
March 19, 2024
Solved

Figma removed `window.figma` on view-only pages today

  • March 19, 2024
  • 31 replies
  • 8619 views

Let’s start with some background.

Our team of designers began using Figma for design and delivery last year, for which we have purchased over 200 enterprise seats. Initially, the delivery process was quite pleasant, up until Figma started charging for Dev Mode. Before the existence of Dev Mode, engineers using the Inspect Panel’s viewing functionality was sufficient for us. We did not anticipate Figma making “minor adjustments” to the Inspect Panel for view-only users to make Dev Mode more appealing. Engineers have been complaining that they can no longer efficiently view design drafts or copy CSS code as before (not referring to Dev Mode beta, but the original Inspect Panel before Dev Mode). Some engineering teams have even asked if the designers could switch back to Sketch, as the delivery efficiency in view-only mode has severely deteriorated. However, with many designers in our team and significant effort invested in building component libraries on Figma, and all business design drafts being produced with it, as written in this article, our design assets have now become hostages forcing users to purchase Dev Mode seats.

I’ve always believed that selling Dev Mode in this manner would not work well with teams like ours: engineers are spread across various teams, making it hard to convince all engineering teams why switching to a better design tool means they have to pay extra to maintain their efficiency (previously, tools like Sketch + Sketch Measure were sufficient).

It’s not that Dev Mode is useless; it offers many useful features. However, compared to the original Inspect panel, it doesn’t offer significant advantages for our scenario. Instead, functionalities like viewing/copying CSS are critical for delivery, which were available when we first tried Figma. And some features we really wanted, like running our own Figma plugins. Figma only provides a runtime environment for our extensively developed plugins, which are used 95%+ of the time in design mode (which we paid quite a lot), yet requires all engineers to pay, which is absurd.

Of course, Figma “kindly” recorded tutorial videos guiding users on how to use functionalities like copying CSS in read-only mode, knowing well that what users need is to have this functionality back in the Inspect Panel, not hidden behind several layers of context menus. These barriers are deliberately designed, and the Figma team knows better than anyone which features are essential and which are just nice-to-haves.

Switching to Figma has been a great improvement for designers, which we all acknowledge. However, crippling free users (engineers) to semi-forcefully sell Dev Mode has already harmed your paying users.

Back to the post title.

After encountering the issues mentioned above, and having experience developing Figma plugins, we knew from Figma’s documentation that every page has a global window.figma object, and the community had some attempts to optimize engineers’ experience in view-only mode based on this loophole. So, we developed a browser extension that brings the hidden copy CSS functionality directly accessible through the browser extension panel, and made outputs from our own Figma plugins more user-friendly. After providing the plugin to engineers, they found these functionalities very useful (actually just shortening the operation path of functionalities that should have been readily available but were hidden), and were able to coexist peacefully with Figma again. Of course, we considered that if Figma one day removes this global object, the plugin would become unusable. However, we thought Figma wouldn’t be so petty. If they were confident in the value provided by Dev Mode, why would they block a browser extension that was developed in just a few days? Is merely providing output/copy CSS functionalities, which were free for every user before Dev Mode, enough to make Dev Mode unsellable? If so, the Figma team should reflect on the actual value of Dev Mode.

But it turns out we were too optimistic. Whether Figma noticed this or other similar plugins, starting today, Figma has removed the window.figma from all pages in view-only mode, making it impossible for us to use this API to obtain current selected node information, rendering a browser extension that was only born a few days ago practically unusable. I can’t help but ask the Figma team, we can currently use “Duplicate to your drafts” in our own editing mode to use the browser plugin to get CSS codes, are you planning to block this as well?

    This topic has been closed for replies.
    Best answer by Celine_

    Hi everyone,
    Thanks for sharing your feedback and reporting this!

    We made this change made to address an issue in our permission system, but the change had a broader impact than we intended. In the coming weeks, we’ll re-introduce access to the Plugin API (the window.Figma object) for users who are viewing a file in design mode.
    We will keep you posted, thanks for your patience in the meantime!

    31 replies

    yiling
    yilingAuthor
    March 21, 2024

    Figma claims that there is a window.figma in every Figma window. “only a few people know” is maybe because many people like you didn’t read the docs.

    yiling
    yilingAuthor
    March 21, 2024

    This is Figma’s product design. Of course I also want plugins to be loaded in view-only pages, which I already suggested to the Figma team for a few times. And again Chrome extensions are not Figma plugins.

    yiling
    yilingAuthor
    March 21, 2024

    And I’m done here until you provide a substantively valid example.

    March 22, 2024

    With all due respect, you are only thinking about yourself

    Ordinary users don’t know technical terms like “window.Figma” at all. They only know that plugins cannot be used on “only-view” pages.

    Development documentation should be no more descriptive than what is promised to the average user. This is why this is a security vulnerability

    I don’t know why you ignored the example I gave, I just want to say, please consider most users, not just yourself

    March 22, 2024

    Is the Figma Team aware that re-introduce access to the Plugin API is a controversial decision?

    March 22, 2024

    Hi, What is the update on this? when is it gonna be available?

    hewenhui
    April 2, 2024

    H i,Do you have any plans for this product? Everyone hopes for a result.

    Hal_Lee
    New Member
    April 2, 2024

    @Celine_Figma Any updates?

    Celine_
    Figmate
    Community Support
    April 2, 2024

    Hi everyone! Thank you for all your feedback.
    Here is an update from the product team:

    We’re working to create a more nuanced fix that will bring back access to the Plugin API for users viewing files. We expect this fix to land sometime in the next few months.

    We’ll update this thread when it’s available. Thanks for your patience in the meantime!

    yiling
    yilingAuthor
    April 3, 2024

    Well that’s definitely a disappointing update. As we all know, an estimated time of several months for such a fix means that it is marked as low priority and will keep being postponed, which essentially is no different from not planning to solve it at all.

    I think we’ll have to start exploring other alternative design tools like Pixso which offers free dev mode for hand-off scenarios.