Commit Graph
7 Commits
Author SHA1 Message Date
Linus Rath bb2393cf04 feat: open messages and drafts in their own windows and save all attachments to a folder
An installed app had no title bar of its own, no way to save attachments
except a zip, and "pop out" stayed inside the page. A new window was a
second copy of the app that had to restore the session itself, and on
start-up that evicts any login made without "Remember me" from the list
every window shares.

- Title bar: `display_override` with `window-controls-overlay`, one
  `--titlebar-inset` variable at the page roots and skeletons, and a drag
  strip with the window title. 0 without an overlay, so nothing moves.
- Save all to a folder: `showDirectoryPicker`, asking the device policy
  before the picker and before each file, with the zip as the fallback.
- Pop-out routes `/popout/message/<id>` and `/popout/compose`, on offer in
  an installed app or when the desktop bridge has windows. Hidden in Lite.
- A pop-out borrows the main window's session and never evicts or starts a
  token timer. Every renewal now takes a Web Lock, so two windows can't
  send the same refresh token, which Stalwart 1.0 may treat as a replay.
- A draft moves to its window under the same id. A closing window hands
  unsaved text to the main window to save, since its own request wouldn't
  survive the close.
- Read state, drafts, theme and language follow across windows, and
  `html[data-desktop]` gates the app-like behaviour in `app/desktop.css`.
2026-11-03 06:50:21 +01:00
Linus Rath 57c1d5d472 feat: show the contacts, files and plugin page shapes while the app loads 2026-11-01 19:36:09 +01:00
Linus Rath 2e6dcceebb Merge pull request #1358 from illuwa-soft/fix/full-height-app-page
fix: honor full-height app-page slots
2026-10-29 20:27:00 +01:00
Linus Rath ae412e0cda feat: show notifications, the command palette and the account avatar in every app's phone header 2026-10-28 03:05:41 +01:00
yontani 52bdc9fb16 fix: honor full-height app page slots 2026-10-26 13:28:57 +09:00
Linus Rath 14c5b10c6a feat: tell a plugin page which of its pages is open 2026-10-14 05:30:34 +02:00
Linus Rath b8b7a4ed15 feat: let plugins add pages of their own with an entry in the navigation 2026-10-14 04:57:00 +02:00