Repository navigation
Deepen the installed PWA #249
Description
Activity
- addedenhancementNew feature or requestNew feature or request
on Sep 9, 2026 Added #254 Command jump.
One Documents library
Settings → Documents is the only full library. It already has Search documents, sort (Last modified / Last opened / name), Trash, list and grid, Date buckets, and the row menu.
Do not copy that toolbar onto Home, Command jump, or Find.
Surface Job Settings → Documents Search, sort, list or grid, Trash, Favorite toggle, Private Home (#247) At most eight rows. See all opens this tab. No search, sort, grid, Trash, or buckets Command jump (#254) Type a place name, or a Pad title, and go there. The Documents row opens this tab Find (#250) Search text inside the open pad. Not Search documents iOS and iPad use the same Settings takeover. They already have Search documents and the 44px toolbar. Do not add a second Documents screen for Safari.
Spec review (code-checked, not a 50-copy pass).
Ready to build: #247, #248, #250, #251, #252, #253, #254, #255, #256, #258.
Parked after review: #257 (
capturewould hide the photo library; the OS picker already offers the camera).Holes closed on the cards: Home list is client-only (#247). Find sits next to Filter (#250). Export writes once and reuses today’s filename (#252). Receive has a worker →
/new→ Import recipe (#253). Splash has three iPhone sizes (#255). Badge is the header-bell count only (#258).Rejected as extra cards:
storage.persist()is #197. Confirm-before-SW-reload is current deploy policy. Theme-color sync, dark/iPad splash, folders, visit Recents, and a second window stay out.Nothing here is shipped. The specs are ready. The product is not, until someone builds from the top.
UX/UI/engineer cohesion pass on the children (plus #262). Verdict: cohesive. No new issue.
One job per name
Name Job Filter Hide unmatched Sections Find Step the caret through pad hits Command jump Go to a place or an owned pad Slash Insert a block on an empty line Follow Per-pad digest mute One Documents library. Settings → Documents owns the list. Home (#247) and jump (#254) are doors. Same Owner live list key.
Hide unused. Empty Home list (#247). Dead Follow (#262). No extra 32 by 32 jump or slash control.
Three share verbs, one OS sheet API. Document Share = pad URL. Chat Share = chat URL (#253). Export on iOS = file (#252). #248 names the Share dialog only.
#175 stays two keys.
Mod+\andMod+/only. Find, slash, and jump stay off that table.Surfaces. Find = L0 bar. Slash = L1 / existing phone sheet. Jump = L2 Dialog. No new elevation species.
Parked cards stay parked.
#247 now also covers a quiet Home Install on the same intro Home. No second first page.
- added sub-issues
on Sep 23, 2026 Build update, 2026-09-23.
Built locally on
main. Not pushed or deployed yet.- Built: Honest install line, Documents on Home, and a quiet Home Install #247, Pad skip, named dialogs, and focus traps #248, Find text in the open pad #250, Slash menu to insert a block #251, Save export with a Chromium picker and iOS Files #252, Receive a shared file on Android, and share a chat URL on iOS #253, Command jump to a place or an owned pad #254, iOS launch image for the Home Screen app #255, Short vibrate on Android long-press #256, Show unread on the installed app icon #258, and Harden the offline document mirror: claim persistent storage, and surface a write failure #197.
- Also fixed: the REST list no longer sorts by Last opened outside the owner's own list, and a first visit no longer reloads the page.
- A chat push now opens the right pad. The push worker builds the link, because SQL cannot reach the pad slug.
- The Workbox cache keeps signed-in responses out of Cache Storage.
New follow-ups: #308, #309, #310, #312. Related: #311.
Real-device checks are still owed before these count as shipped: iPhone splash, Android share and vibrate, the installed Chromium badge, VoiceOver and TalkBack, and a real push click from one pad to another.
What to build
Deepen the installed PWA on
https://docs.plus. Keep one codebase, one origin, and the live URL room. Do not start Electron, Tauri, or a store app.This epic groups the first shell and writing work for that path.
Children
Parked (do not build)
Skipped (needs a native shell)
Store-listed apps. An application menu (File / Edit / View).
Already filed elsewhere
Why this path
Google sign-in and the service worker both need this https host. A custom app scheme would drop those seams.
Out of scope
file_handlersid(docs-plus-pwa)