Skip to content

feat(chrome-devtool): migrate to Manifest V3 with Plasmo framework #4276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: formily_next
Choose a base branch
from

Conversation

OpenGG
Copy link

@OpenGG OpenGG commented Mar 18, 2025

Before submitting a pull request, please make sure the following is done...

  • Ensure the pull request title and commit message follow the Commit Specific in English.
  • Fork the repo and create your branch from master or formily_next.
  • If you've added code that should be tested, add tests!
  • If you've changed APIs, update the documentation.
  • Ensure the test suite passes (npm test).
  • Make sure your code lints (npm run lint) - we've done our best to make sure these rules match our internal linting guidelines.

Please do not delete the above content


What have you changed?

feat(chrome-devtool): migrate to Manifest V3 with Plasmo framework

  • Refactor architecture to comply with Manifest V3 security requirements
  • Preserve devtools functionality with updated service worker lifecycle
  • Fix requestIdleCallback() bug in backend.ts
  • Replace legacy toolkit with Plasmo framework for enhanced DX
  • Implement automatic HMR for popup/options UI components
  • Update build chain and dependency tree (React 18.3.1)
  • Add release devtools workflow configuration

BREAKING CHANGE: Requires Chrome 88+ due to Manifest V3 changes

@CLAassistant
Copy link

CLAassistant commented Mar 18, 2025

CLA assistant check
All committers have signed the CLA.

@OpenGG OpenGG force-pushed the feat/devtools-mv3 branch 4 times, most recently from 40b7830 to 4d0ebf6 Compare March 18, 2025 18:49
- Refactor architecture to comply with Manifest V3 security requirements
- Preserve devtools functionality with updated service worker lifecycle
- Fix requestIdleCallback() bug in backend.ts
- Replace legacy toolkit with Plasmo framework for enhanced DX
- Implement automatic HMR for popup/options UI components
- Update build chain and dependency tree (React 18.3.1)
- Add release devtools workflow configuration

BREAKING CHANGE: Requires Chrome 88+ due to Manifest V3 changes
@OpenGG OpenGG force-pushed the feat/devtools-mv3 branch from 4d0ebf6 to 2b1f4a9 Compare March 19, 2025 04:28
@Galileo01
Copy link

awsome

@wweggplant
Copy link
Contributor

@janryWang 大佬麻烦看下这个浏览器扩展更新得pr

@liuweiGL
Copy link
Collaborator

liuweiGL commented Apr 2, 2025

试用了一下,这个插件同步表单数据时有点问题,插件展示的跟真实的表单状态不一致

@OpenGG
Copy link
Author

OpenGG commented Apr 9, 2025

@liuweiGL Thank you for flagging this potential inconsistency issue. I’d like to investigate further. Could you please share the steps to reproduce it?

@OpenGG OpenGG marked this pull request as draft April 17, 2025 08:22
@OpenGG
Copy link
Author

OpenGG commented Apr 17, 2025

试用了一下,这个插件同步表单数据时有点问题,插件展示的跟真实的表单状态不一致

​​Issue:​​ Reproducible inconsistency in messaging during extension idle state.

​​Possible Cause:​​ Service worker (SW) inconsistency—when the extension idles and the SW terminates, the content script fails to bridge messages to the extension, triggering the error:
Uncaught (in promise) Error: A listener indicated an asynchronous response... message channel closed before a response was received.

​​Proposed Solution:​​ Refactor messaging logic to handle inconsistent SW states, such as implementing a wake-up protocol for the service worker before critical operations and improving error resilience in message handling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants