Simple, fast, lightweight code editing. Edit your local code files straight from your web browser, or install the web app for that sweet "native app" experience.
Filesystem handles for workspace folders should be reloaded from localStorage at app load. This generally works, the handles are loaded from localStorage, then read, then saved back to localStorage in a call to saveAppConfig().
If using SSHFS or other remote mount mechanisms, if the remote filesystem isn't connected at the time that the app loads, the filesystem handles appear to be corrupted but the deserialize/serialize process. This forces the user to remove and re-add the folders from the workspace, after the remote filesystem has been mounted.
TODO:
separate the workspace object from the app object, and avoid resaving the workspace after load
(Ideally) support multiple workspace objects with independant loading
add remember/reopen of file buffers per workspace - may require an additional step like a "re-open all files" button, due to needing user-interaction for file access permissions
(bonus) store unsaved file buffers in some local storage mechanism and show tabs on workspace load
Sometimes it can be useful to open a second window to view the same file from 2 different views. This could be incorporated into a single window with a split pane.
As an MVP this could be triggered by context menu on the TabBar OR FileList control and selecting "open in split pane". this should allow files that are already open to be viewed this way. Not sure if this should be a read-only editor, or linked to the same buffer - needs some exploration.
When the app is closed all open files are closed, would be nice to have them re-open if the app still has permission to access the folders they come from. This may have to be implemented as a file open after / as the workspace folders are loaded, since the app can't read the files prior to that time.
Maybe can create tabs for the files, but display a link "this file is currently inaccessible, please open folder"
Add filename lookup to the omnibox for "Goto".
This could be just all active/open files? Or perhaps a background task could iterate the workspace folders and create an index?