theseus/bundled-addons
Local Dev f189b48102 feat(docx-editor): documents are tabs, each with its own close button and menu
Opening a second .docx used to mean a second browser tab: a whole ribbon,
banner and footer repeated, with one ✕ at the far end of a row that also
held the file's name. The name looked like a tab and nothing about it
behaved like one.

Now the editor holds documents the way the browser holds pages. A strip
under the toolbar carries one tab per open document — icon, name, unsaved
dot, its own ✕ — plus a + to open another. Middle-click closes, Ctrl+W
closes, Ctrl+Tab cycles, and right-click (or the caret on the tab under the
pointer) drops a menu: Duplicate, Open in the default app, Show in folder,
Close others, Close. The gestures are the browser's because that is the tab
strip every user of this editor already knows.

Under it, one ProseMirror view is handed a different state per document
rather than one view per tab, and the module-level "current document"
variables are marshalled in and out on a switch. That keeps the change out
of every function that touches the current document, at the price of one
list — DOC_FIELDS in captureActive/adoptDoc — that has to stay complete. A
variable missed there leaks one document's state into another, which would
look like the editor corrupting a file, so it is called out in a comment.

Closing the last document closes the editor tab, the way closing a
browser's last tab closes the window; an empty ribbon staring at the user
is not a state worth having.

The add-on hands a newly opened document to the editor that is already up
and fronts it, falling back to opening a tab if no editor acknowledges
within 900ms — so a crashed or closed editor degrades to exactly the old
behaviour rather than swallowing the document.
2026-09-22 08:35:06 +02:00
..
aegis chore(theseus): 0.3.47 — plug-in category + panel-driven addon self-update, aegis 0.6.31 2026-09-14 02:30:51 +02:00
docx-editor feat(docx-editor): documents are tabs, each with its own close button and menu 2026-09-22 08:35:06 +02:00
notepad Theseus: add-on framework MVP + Notepad reference add-on 2026-08-31 13:51:08 +02:00
pdf-editor feat(pdf-editor): the dock click is the "open a file" gesture, so answer it with one 2026-09-22 01:44:15 +02:00
screenshot feat(theseus): profile at %APPDATA%\Theseus, extensions under extensions\ 2026-09-21 01:55:25 +02:00
translate translate 0.1.1 → 0.1.2: fetch from the addon's Node side, not the panel 2026-09-21 03:34:14 +02:00
vpn vpn 0.1.0 → 0.1.1: pin sing-box 1.14.1 sha256s 2026-09-22 00:09:18 +02:00