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

TRACKING: ODD Devtools browser extension #2

Open
18 of 20 tasks
bgins opened this issue Jan 17, 2023 · 3 comments
Open
18 of 20 tasks

TRACKING: ODD Devtools browser extension #2

bgins opened this issue Jan 17, 2023 · 3 comments
Assignees

Comments

@bgins
Copy link
Member

bgins commented Jan 17, 2023

The ODD Devtools extension provides developers a devtools panel with information for debugging their ODD applications.

It should display the following information:

  • ODD SDK version
  • App namespace
  • Username
  • Account DID
  • Agent DID
  • Event log (shows filesystem events for v1, more events in a future version)
  • Data root CID
  • Capabilities (what parts of WNFS does the app have access to)

The information should only be exposed when the developer has set debug to true when initializing an ODD program.

Milestone 0.1

Tasks

Dependencies

Milestone 0.2

No milestone

@jeffgca
Copy link
Contributor

jeffgca commented Jan 24, 2023

Once we get through Milestone 0.1 we should run the design past nicoth and other relatively engaged devs to get feedback.

@depatchedmode
Copy link

Overall

Needs an instructional state "Webnative wasn't detected on this page. You have to set DEBUG to true."

Filesystem view

We'll start with an event log. Highest value starting point, and simpler to implement.

Concerns:

  • may not have whole tree
  • performance could be slow loading the whole tree

Extra credit metadata:

  • CID
  • Creation time
  • Arbitrary metadata input by dev

Questions Filesystem tree helps answer:

  • Was the file written or not?
  • Builds a mental model for the FS heirarchy
  • Event log would be helpful — maybe this is where we start
  • Replay the state of the tree across time — probably for a later release

Capabilities:

Show which resources this app has been granted access to via UCANs.

  • Which authentication strategy was used?
  • More importantly: is this an origin resource or a resource projected into this local file space via a capability
  • From whom was this resource requested? To prep for a future when more than just the auth lobby exists as an authorization provider

@depatchedmode
Copy link

Okay, here's my pencil sketch:
image

And the disconnected state:
image

Right now the settings pane would probably not contain much, but I'm following the tab pattern that Vue Devtools uses because we'll expand beyond just the event log in the near future. Was considering tossing some of the more stable session / app data in that pane, but it feels like it would be more ergonomic to have it available in the payload pane next to the event data for ease of access.

@bgins bgins changed the title TRACKING: Webnative browser extension TRACKING: ODD SDK browser extension May 2, 2023
@bgins bgins changed the title TRACKING: ODD SDK browser extension TRACKING: ODD Devtools browser extension May 2, 2023
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

No branches or pull requests

3 participants