🧩 Plasmo Developers

PD

🧩 Plasmo Developers

Join the community to ask questions about 🧩 Plasmo Developers and get answers from other members.

Join

👾extension

👟framework

🔰newbie

🦉pallas

Extension not opening after when I finish work in code

After I close the code editor and then run the npm run dev command again, the application does not want to open in the browser. Removing the application and installing it anew via pnpm create plasmo helps. What in can be?

Session recording of extension

I am shipping an extension and I want to record what actions users are performing within my extension. Any reliable library that would help me doing that? I tried posthog session replay but their start recording method blocks main thread and freezes extension as well as web page for a couple of seconds.

publisher on itero not working, help

- Pasting all values(clientId clientSeret refreshToken and extId) for chrome publisher, got all values from this guide (https://docs.plasmo.com/itero/publisher) - but whenever i click on publish button, nothing happens like no errors, warnings etc Need help to fix...

Can you have popups in a chrome extension?

Im trying to use a package that has a popup component, but i keep getting an error: Uncaught TypeError: defaultShouldForwardProp is not a function it just breaks the entire chrome extension...

steps to publish

hi so this is my first time publishing an extension. I have a verified chroem developer account, and want to use the github action to automate pushes. so this is my keys.json where would i find the values to put in clientId, clientSecret, refreshToken, and extId?...

Failed to resolve #minpath

This happened after I installed a few new packages. Need help 🥹...
No description

Manifest.json includes web_accessible_resources I didn't add

I am having an issue where the web_accessible_resources array includes a resources array with resources I didn't add. This is causing issues with uploading to Edge extension store as the extension is rejected during the validation process. I was able to get rid of one of the resources array by deleting the getStyle function in one of the content UIs but it hasn't worked for the second one. I once had some of these resources in the project but have sice removed them, cleared .plasmo folder and deleted node_modules but no luck whatsoever. Below is my index.tsx PlasmoCSConfig ```export const config: PlasmoCSConfig = {...

need help (why font family is not changed)

import type { PlasmoCSConfig } from "plasmo" export const config: PlasmoCSConfig = { matches: ["https://www.plasmo.com/*"], css: ["font.css"]...

QueryClient not found

I am using react query in the content script This is how my code looks like, and it's even "working". But I still get this error on console that no QueryClient provided....
No description

Subpath Import Error: @liveblocks/react/suspense failing in Plasmo but works in CRA

Hi Plasmo team, I'm experiencing a bundling issue with Liveblocks imports in my Plasmo extension after migrating from Create React App. When importing from: ...

Subscribing to web push

Hi, I'm working on a chrome extension that subscribes to web push notifications. In Chrome's example for this, they await the call to the function that eventually calls self.registration.pushManager.subscribe. If you remove this await, when starting the extension you get the following error:
Failed to subscribe, error: AbortError: Failed to execute 'subscribe' on 'PushManager': Subscription failed - no active Service Worker
Failed to subscribe, error: AbortError: Failed to execute 'subscribe' on 'PushManager': Subscription failed - no active Service Worker
I suspect there's some kind of race condition involved here. In any case, I can't await the call to that function becuase typescript does not support top-level await....

Plasmo with Google Recaptcha

I want to use plasmo with Google Recaptcha, but I am getting this error. I've also attached screenshots. My whole extension is a popup script....
No description

Simplifying react-router navigation based on storage changes

Hello guys, is there a way using Plasmo to navigate React-Router routes from a content script or background service worker? Example: ```ts...

language switching not work in plasmo

"I set up languages folder with locales/en/messages.json & locales/fa/messages.json, but need help with making a language switcher. How can users change between English and farsi in my extension?" i want user can able to handle this switch between langs

Implementing Auth in Content Script UI with Plasmo ?

Can I implement authentication in a content script UI using Supabase or Clerk with the Plasmo framework? Are there any best practices or limitations I should consider?

How do I generate a chrome-specific manifest with a single code?

Hi, I make a browser extension by Plasmo and published it for Chrome, Edge and FireFox. I have created a Chrome-only feature that uses Oauth2 and web api to access Google data. This is working fine, but only the manifest.json generation is not working. When I create a key and oauth2 item for chrome in the manifest item of package.json, it is also included in the build for firefox....

Trusted Typed Policy error just in Linkedin!

Hey guys. I wrote an extention and everything works good even at Linkedin but I always get this error in the console and it causes error in the extention: Refused to create a TrustedTypePolicy named 'goog#html' because it violates the following Content Security Policy directive: "trusted-types 'allow-duplicates' default jSecure highcharts dompurify". ...

[object DOMException]

Idk what this error means after hours of researching. When I open the manage extentions i have error btn on my extention and i have this error. It highlights get hasWebApi (){ try{...

Inject content script manually

Hey, how to tell PlasmoCSConfig to not create entry in manifest, since I inject content script manually and only on activeTab?

SecureStorage with session area name

I am using SecureStorage to store my crypto extension secret. Like this: export const sessionSecureStorage = new SecureStorage({ area: "session", })...
Next