osnr / TabFS

🗄 Mount your browser tabs as a filesystem.
https://omar.website/tabfs/
GNU General Public License v3.0
3.82k stars 106 forks source link

Questions re: user experience #10

Open beaugunderson opened 3 years ago

beaugunderson commented 3 years ago

First: this is fantastic work, thank you!

My main question is around the debugging warning that appears in every tab:

image

I'm curious if there are alternate sources for some of the information that wouldn't require the debugger API and thus the debugging warning.

I have a tiny native host extension I use to expose my tabs via local HTTP, which I then use Alfred to search, so I can e.g. select a tab by searching URLs and titles when I lose one in a window... It uses the tabs permission to access tab metadata with chrome.windows.getAll({populate: true}); you get ID, URL, and title from that API.

Would it be useful to use the other extension APIs where possible and have the debugger integration be optional?

Alternately, a good solution for always using --silent-debugger-extension-api would be useful, I think (along with documentation of the security concerns if you use other extensions with the debugger permission).

osnr commented 3 years ago

interesting. I think only stuff in the debugger/ subfolder should actually require the debugger and trigger the warning. (i.e. not title.txt, url.txt, etc).

it's possible that something in your userspace is reaching into debugger/ (to stat files or whatever) and triggering the debugger (and once it's on, it tends to stay on).

I think if you just delete that whole block I linked, the debugger won't be invoked anymore? (it is already disabled in Firefox, which doesn't have the chrome.debugger API)

beaugunderson commented 3 years ago

oh interesting! documenting that it shouldn't normally happen would help here, and I think in my case maybe it's Spotlight indexing or something that's enumerating all of the files?

or maybe the initial grep or **/*.txt enumerated all the debugger-specific files and the debugger remained on for all tabs

osnr commented 3 years ago

Yeah. I'll think about how to document that better. I sort of feel like we should have... like... an autogenerated tree / table of contents / listing of all the synthetic files that says what they do, what side effects they have (some pull up the debugger warning, some are slow), etc.

if this is inside the extension, maybe it also has config so you can toggle them off without modifying the source code (although I do want people to feel comfortable modifying the source code, too)