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

Extract route configuration into companion app #469

Closed
35 of 36 tasks
frontendphil opened this issue Jan 7, 2025 · 0 comments
Closed
35 of 36 tasks

Extract route configuration into companion app #469

frontendphil opened this issue Jan 7, 2025 · 0 comments

Comments

@frontendphil
Copy link
Member

frontendphil commented Jan 7, 2025

Currently, routes are configured inside the extension panel. This has some drawbacks:

Extracting the route configuration into a dedicated app can circumvent most of the issues mentioned above.

  • The wallet could connect to the app directly (no indirection needed)
  • We can use the whole browser window to render the configuration UI
  • With a bit of work, we can create a version of the extension that works with dApps at all times and that requires only minimal integration with the route configuration UI

Todo

  • bootstrap a new web-app (https://app.pilot.gnosisguild.org)
  • create a shared components package so that UI elements can be re-used between apps
  • use components also on landing page
  • manage configs centrally
  • make ser-kit ready to be used also in browsers (feat: replace assert with invariant in code to not require node environment ser-kit#30)
  • add route management capabilities to the new app
  • Label
    • Show
    • Edit
  • Provider
    • show connected account
    • allow connect with MetaMask
    • allow connect with Walletconnect
    • Connection
      • Connect
      • Disconnect
  • Chain
    • Show
    • Edit
  • Avatar
    • add custom avatar
    • load available safes
    • edit avatar
  • Role
    • Show selected role mod
    • Edit selected role
    • V1 role
      • Show
      • Configure
    • V2 role
      • Show
      • Configure
  • New route
  • Save edited route back to extension
    • Save routes
    • Warn about transactions before saving
  • Dry run
  • Migrate existing E2E tests to companion app
  • remove route editing from the extension
    • tell the extension where to find the companion app
    • make sure the companion app is excluded from the content script injection
    • make it possible to remove routes from the list of all routes
    • open companion app to edit routes
    • remove old code
    • Keep list of routes (maybe as a popover/modal so that we can stay in the "active route" scenario)

Related issues

@frontendphil frontendphil self-assigned this Jan 7, 2025
cristovaoth pushed a commit to gnosisguild/ser-kit that referenced this issue Jan 9, 2025
…onment (#30)

While working on gnosisguild/zodiac-pilot#469
I noticed that `ser-kit` relies on some node-specific modules. In this
case, `assert`. While I know that there are ways of getting node modules
into a browser bundle, I think for this specific case, using
`@epic-web/invariant` instead of `assert` is also a good way forward. It
eliminates the node dependency and makes `ser-kit` work more easily
across environments.

closes #20
@frontendphil frontendphil changed the title Extract route configuration into connect app Extract route configuration into companion app Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant