Repository navigation
Deepen the installed PWA #249
Copy link
Copy link
Open
0 / 40 of 4 issues completedLabels
Description
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
- Honest install line, Documents on Home, and a quiet Home Install #247 — honest install line, Documents on signed-in Home, and a quiet Home Install
- Pad skip, named dialogs, and focus traps #248 — pad skip, named dialogs, and focus traps
- Find text in the open pad #250 — find text in the open pad
- Slash menu to insert a block #251 — slash menu to insert a block
- Save export with a Chromium picker and iOS Files #252 — Chromium save picker and iOS Files share for export
- Receive a shared file on Android, and share a chat URL on iOS #253 — Android inbound file share, and iOS chat URL share-out
- Command jump to a place or an owned pad #254 — Command jump to a place or an owned pad
- iOS launch image for the Home Screen app #255 — iOS launch image
- Short vibrate on Android long-press #256 — Android long-press vibrate
- Show unread on the installed app icon #258 — unread on the installed icon
Parked (do not build)
- Do not force the camera on the profile photo #257 — do not force the camera on the profile photo
- Do not add folders #259 — do not add folders
- Do not add visit-based Recents #260 — do not add visit-based Recents
- Do not add a second pad window #261 — do not add a second pad window
Skipped (needs a native shell)
Store-listed apps. An application menu (File / Edit / View).
Already filed elsewhere
- Offline mirror persist and write-failure: Harden the offline document mirror: claim persistent storage, and surface a write failure #197
- Service worker auto-reload on deploy stays the current policy (not a child)
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
- Store-listed desktop or phone apps
- An application menu
- Passkeys
file_handlers- Changing manifest
id(docs-plus-pwa)
Reactions are currently unavailable
Activity
HMarzban commentedon Sep 9, 2026
Added #252 (export save) and #253 (inbound share / iOS chat share).
HMarzban commentedon Sep 9, 2026
Added #254 Command jump.
HMarzban commentedon Sep 9, 2026
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.
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.
HMarzban commentedon Sep 9, 2026
Web-only leftovers filed: #255–#258 (small builds). Parked decisions: #259–#261. Store apps and an application menu stay skipped.
HMarzban commentedon Sep 9, 2026
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.
HMarzban commentedon Sep 10, 2026
UX/UI/engineer cohesion pass on the children (plus #262). Verdict: cohesive. No new issue.
One job per name
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.
HMarzban commentedon Sep 11, 2026
#247 now also covers a quiet Home Install on the same intro Home. No second first page.
HMarzban commentedon Sep 11, 2026
Fresh-eyes pass: no missing card. Two spec holes closed on #247 (Home Install vs timed gates) and #253 (who reads the share stash). Parked and skipped rows stay closed. #175 still lists only two keys.
HMarzban commentedon Sep 23, 2026
Build update, 2026-09-23.
Built locally on
main. Not pushed or deployed yet.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.