Skip to content
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

Prototype manifest v3 extension #2084

Draft
wants to merge 27 commits into
base: master
Choose a base branch
from
Draft

Prototype manifest v3 extension #2084

wants to merge 27 commits into from

Conversation

lukaw3d
Copy link
Member

@lukaw3d lukaw3d commented Nov 2, 2024

Closes #2073

Prototyped a few options with small increases in complexity:

  1. Always open extension wallet in one tab
  • if you close the tab you need to type in the password again
  1. Always open extension wallet in one persistent popup
  • if you close the popup you need to type in the password again

3.+4.: Same behavior as manifest v2 - auto-unlock when popup opens

  • difference vs v2: opening extension as a tab is blocked, e.g. middle click account link

Copy link

github-actions bot commented Nov 2, 2024

Deployed to Cloudflare Pages

Latest commit: aaccd7ad7895eb9eff4023080a7d6d0462fbe668
Status:✅ Deploy successful!
Preview URL: https://6269772d.oasis-wallet.pages.dev
Alias: https://pr-2084.oasis-wallet.pages.dev

Copy link

socket-security bot commented Nov 2, 2024

Report too large to display inline

View full report↗︎

package.json Outdated
@@ -97,7 +97,7 @@
"typed-redux-saga": "1.5.0",
"valid-url": "1.0.9",
"webext-redux": "2.1.9",
Copy link
Contributor

@buberdds buberdds Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webext-redux v4 supports manifest v3 and service workers, but looking at PR we will remove this dep completely. Did you encounter any issues when using it? Or did you find that brainstorming the problem without it was simply easier?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to make it simpler and more like our web wallet

webext-redux is needed to sync multiple extension popups and/or communication with dapps. We still don't have dapp communication, and we probably don't need multiple popups.

(we could also sync multiple popups the same way we sync web wallet tabs by enabling

/** Syncing tabs is only needed in web app, not in extension. */
export const needsSyncingTabs = runtimeIs === 'webapp'
)


return (
<FromLedger
webExtensionUSBLedgerAccess={() => {
navigate('/open-wallet/ledger/usb')
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uh I thought our mechanism to request ledger permissions in ext worked completely differently. It requires redux syncing from openLedgerAccessPopup? :O

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.

Prototype mv3 version without dapp support, without multiple tabs support
2 participants