🧩 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

Build time slowed by switching to plasmo with src

Build time with src: ~8854ms Build time without src: ~1656ms Is there a build time improvement by not using plasmo with src as shown here: https://github.com/PlasmoHQ/examples/tree/main/with-src ? I recently migrated my file structure to use src and builds are about 5x slower. Any guidance would be great thank you!...

Importing Material Symbols to Content UI

How can I import Material Symbols to a content ui script? Tried to follow the custom font guide in the documentation but didn't have any success
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,[email protected],100..700,0..1,-50..200");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,[email protected],100..700,0..1,-50..200");
...

GmailJS + Plasmo

Anyone tried integrating GmailJS with Plasmo? Been using InboxSDK but I need to inject custom react components as an overlay when a user clicks an attachment. thought plasmo would be a good fit, but need gmailjs's DOM action observers.

Using context between sidepanel tabs

Is it possible to use a context with a firebase hook to handle authentication between multiple sidepanel tabs ? Because I'd like to be able to navigate between multiple sidepanels for differents features in my extensions....

Freezing and crashing without reason

import type { PlasmoCSConfig, PlasmoCSUIJSXContainer, PlasmoCSUIProps, PlasmoRender...

Modifying HttpOnly cookies

There is a specific cookie that I am trying to extend the expiration date of, but I can't figure out how to modify it. At first, I tried modifying it with a content.ts file that edits the document.cookies, but that doesn't include httpOnly cookies. I then made a BSGW and tried to use the webReqeuest API to listen to the onHeadersReceived event, but that also doesn't include the set-cookie headers. Does anyone have any ideas on how to go about doing this?

Local Storage Item does not show up in service worker dev tools ?

I am saving simple key value string (id: "123") in my background script which I'm able to read it (and can console) every time but it doesn't appear on service workers Application/Local Storage I'm not sure if it's expected behaviour or not. I have checked host websites Local storage as well it doesn't show up there as well. Interesting part is that plasmo can read it magically from somewhere

CSS loading order

Hi everyone, Context: I've built an extension using the content-scripts-ui [1] template as foundation - specifically the google-sidebar variant. I've kept the same 2 CSS files i.e. google-sidebar-base.css and google-sidebar.css for styling whereby the former is loaded into the parent page (import "./google-sidebar-base.css") and the latter is loaded into the shadow DOM (via getStyle). I've modified isOpen to be closed/false by default. Problem: The first time the extension is rendered, the styles from google-sidebar-base.css don't get loaded and the extension panel renders on the left hand side and with a smaller width than normal. Once I refresh it, the problem goes and stays away for some time, until I close my browser or if I refresh after some time has passed. Any idea why this might be happening? Feels like a race condition until the stylesheets are cached maybe. Any help would be appreciated....

Messaging-chrome.runtime.sendMessage() called from a webpage must specify an ExtensionID (string)

TypeError:error invocation of runtime.sendMessage(optional string extensionId, any message....): chrome.runtime.sendMessage() called from a webpage must specify an ExtensionID (string) for its first argument. I'm using sendToBackground from a function injected into the webpage from the content script through the 'MAIN' world. The website is also already is listed under "externally_connectable" and have an async API call set up in a file under background/messages. The code is like this:...

How to add additional icons into the extension build

Is there a way to include other icons in the build so that I can customise my extension icon depending on which url I'm on? In the icon page within the documentation, I can see there are options to include icons for specific builds, however I would like to ask if there is a way to include other icons for the same build? My psudo-code usecase:...

Can't import useChat from Vercel's AI SDK

Fails on a new project as well. ``` 🔴 ERROR | Failed to resolve 'ai/react' from './popup.tsx' 🔴 ERROR | Cannot load file './react' from module 'ai'...

github action permission denied

I'm doing this to an existing chrome extension. Am I not supposed to use github actions to an already existing extension? any ideas?...
No description

"Hot pushes" in Plasmo extension

I've built a Plasmo extension with multiple React components that I plan to share privately inside my company as a zip bundle. The challenge is that I don't want to redistribute the zip file every time there's a new version, and would like the zip file to only bootstrap the extension and for everything else to be loaded from a server. Is there a recipe for doing this in Plasmo? Alternatively I've noticed there's a "private" option for publishing in the Chrome Web Store and I'm wondering if that...

How to integrate lemonsqueezy into plasmo plugin?

lemonsqueezy and paddle are used a lot in the plugin, can you provide code examples or blog posts explaining how to integrate into plasmo? Please help me!

Supabase auth with OAuth, in Popup instead of Options page?

Is it possible to do supabase auth, with 3rd party oauth provider, in popup page instead of options page?

Injecting CSUI inside iframes?

My extension does not work on elements that are inside iframes. However, an extension built with plasmo called Jasper does work, and grammarly does work too. So I know this is feasible. How can I implement this? Can I use Plasmo's lifecycle or do I need to implement my own approach?...
No description

Document is not defined on chrome mv3 in a background.ts file

Hello, I have created a context menu that copies something to your clipboard. This is the function I'm using: ```ts function copyToClipboard(text: string) { const el = document.createElement("textarea")...

how to setup auto/force updates?

Guys I’ve made an extension but I see random update behaviour with respect to it, sometimes it auto updates but other times I have to uninstall and reinstall from chrome store, any way I can ensure to auto update it for all my users, when they open a new browser session?