From 573a58622f8d8201be0ff7c063d42af6f103986e Mon Sep 17 00:00:00 2001 From: archipelago Date: Wed, 7 Oct 2026 14:45:45 -0400 Subject: [PATCH] Append Mesh file picker and paid sharing task after public sharing --- docs/SESSION-HANDOVER-20261007.md | 19 +++++++++++++-- docs/post-1.9.0-work-backlog.md | 40 ++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/docs/SESSION-HANDOVER-20261007.md b/docs/SESSION-HANDOVER-20261007.md index 1458e9df..7d9a21bb 100644 --- a/docs/SESSION-HANDOVER-20261007.md +++ b/docs/SESSION-HANDOVER-20261007.md @@ -126,11 +126,17 @@ Private backup and artifacts are under should continue on the phone after app close, with native controls, queue, artwork, authorization and video PiP. Physical V4V acceptance is open. -21. **Public files/folders — queued, perform last:** Make public in both More +21. **Public files/folders — queued, after prior tasks:** Make public in both More menus, discovery by non-peered/non-federated nodes, the same peer-sharing pricing interface with blue tints instead of orange, optional charging and a tiny blue marker at the icon's top-left. Full scope is backlog task21. +22. **Mesh file sharing — queued, final task after21:** Share file opens From node + / From computer; node picker has tree navigation, search across all own files, + retained multiple selections at the bottom and Send. Plan node-to-node + delivery and support paid files using the usual recipient payment interface. + Full scope is backlog task22. + ## Additional release-regression items - Paid-file recovery must never issue a second payment; source protections and @@ -284,7 +290,8 @@ No percentage is inferred from test counts. | 18 Firewall/tunnel | In progress | Read-only UI done; settings persistence/reboot/rollback qualification | | 19 Media guide/Cloud PiP | Nearly finished | PiP operator-accepted; finish reusable contract and remaining edge cases | | 20 Native background media | In progress | Cloud PiP done; native audio service/controls and device checks remain | -| 21 Public files/folders | Queued, final task | Shared pricing interface with blue tints, unrelated-node discovery and tiny marker | +| 21 Public files/folders | Queued, before22 | Shared pricing interface with blue tints, unrelated-node discovery and tiny marker | +| 22 Mesh file sharing | Queued, final task | Node/computer choice, tree/search picker, retained multi-selection, delivery design and usual paid-file flow | Completed subitems: Framework LND startup incident, companion download/viewer acceptance, physical upload acceptance, APK55 delivery and reported Cloud PiP @@ -312,3 +319,11 @@ fleet/device qualification, mirror review/parity and final artifact gates remain `~/.local/state/archipelago/release-qualification/indeehub-backup-restore-20261007/`. - No live app/container, database, wallet, catalog, payment or public file was changed. Disposable fixtures used network-none and no live volumes. + + +### Mesh sharing addition — operator request + +Task22 now follows task21 at the end. Its detailed scope is in +`post-1.9.0-work-backlog.md`. This is a recorded requirement/design task, not a +claim that the picker or transport/payment flow has been implemented. Existing +public-sharing blue pricing and marker requirements are retained unchanged. diff --git a/docs/post-1.9.0-work-backlog.md b/docs/post-1.9.0-work-backlog.md index 24e2c109..04a0b1e9 100644 --- a/docs/post-1.9.0-work-backlog.md +++ b/docs/post-1.9.0-work-backlog.md @@ -551,7 +551,7 @@ and video, with video using picture-in-picture where the device supports it. from browser-only tests. -## 21. Public files and folders — final task +## 21. Public files and folders — deferred end-of-list task Added by the operator on 2026-10-07. Perform after the existing tasks, including previously deferred work. Status: queued; no public visibility has been changed. @@ -578,3 +578,41 @@ previously deferred work. Status: queued; no public visibility has been changed. unrelated-node discovery, paid access, withdrawal and mobile/desktop layouts. No live file publication or real payment is authorized merely by adding this task to the backlog. + + +## 22. Mesh Share file: node/computer picker and paid delivery — final task + +Added by the operator after task21 on 2026-10-07. Append after public sharing; +status: queued. Plan the node-to-node sharing design before implementation. + +- Clicking **Share file** in Mesh opens a source-choice modal with **From node** + and **From computer**. From computer opens the local device file picker; + plan upload/staging and delivery within the same send flow. +- **From node** opens a polished file-browser modal using the existing design + system, with folder-tree navigation and search across **all of the user's own + files**, not just the currently open folder. Preserve ownership/permissions; + show useful paths for matching names and truthful loading/empty/error states. +- Allow multiple file selections. Retain selections across tree navigation and + searches, collect them in a selection area at the bottom, allow individual + removal, and provide a clear **Send** action with a selected-file count. + Keep the browser and selection area usable on mobile and desktop. +- Plan and compare the supported node-to-node delivery paths before choosing + the implementation: reuse existing authenticated file sharing, discovery and + FIPS transports where suitable. Determine what the Mesh message carries, + how recipient identity/access is checked, where file bytes reside, and how + local-computer files become available without duplicate uploads or exposing + unrelated/private files. Distinguish Mesh messaging from bulk-file transport; + cover sender offline, recipient offline, reconnect, expiry and resumable + delivery with explicit progress and failure/retry behaviour. +- Support sharing an existing paid file and configuring a paid share through + the existing pricing flow. When a recipient opens a paid file, present the + **usual purchase/payment interface** and supported payment methods; verify + settlement/entitlement before releasing paid content. Reuse ownership and + recovery logic so repeat opens, retries and lost replies do not charge again. +- Define mixed free/paid multi-file messages, recipient previews, per-file price + and delivery states, existing entitlements and source deletion/withdrawal. + Selecting or sending a file must not silently make it globally public; + preserve the distinction from task21 public discovery. +- Qualify both source choices, tree navigation, whole-library search, retained + multi-selection/removal, Send, cross-node receipt/open/download, free and paid + access, duplicate/reconnect recovery and responsive/accessibility behaviour.