Electron: Check authentication problems in online projects
After a while, authentication for online projects in the Electron app stops working.
The remote proxy forwards the Authorization header injected by onBeforeSendHeaders,
but the token may expire without a refresh cycle being triggered in the Electron context.
Investigate token refresh timing and whether the Electron token injector re-reads
a refreshed token or still sends the original one.
Code Editor Needs Click to Show Content
The code editor's content is not rendered immediately — it needs a click to show up.
This happens when selecting a fresh new tab or when a file is selected.
Right Panel Has No Default Content
The Right panel is empty by default and relies on manual tab dragging to populate.
Should show a placeholder or hint explaining what to do.
Portrait Mode Section Switcher Not Wired
The secondary section switcher in portrait mode (when a panel has multiple
side-by-side sections) is not yet functional.
Projects Lookup/Editing Broken
Fixed. GET /api/projects now filters to owner-or-member only. All file routes
(tree, read, write, rename, delete) go through checkAccess() in projectAccess.ts.
Delete and member-management routes verify ownership. A single memberMatchesUser()
function centralises the comparison so migrating from email to user ID later
requires changing one line.
Member List Shows Raw UUIDs
Fixed. Members are now stored by email (Option B interim). The member panel
shows the owner's email first, then added members by email with their role badge.
Add-member form takes an email address and role; the member_type select is gone.
401 Not Handled in Data-Fetching Components
Fixed. editor-shell checks GET /api/auth/me on startup and redirects to '/'
on 401. rokojori-auth's page-level middleware no longer redirects on an expired
token (was looping to the non-existent refresh-session route) — it calls next()
instead, so login is no longer blocked by an expired access token.