Append Mesh file picker and paid sharing task after public sharing

This commit is contained in:
archipelago
2026-10-07 14:45:45 -04:00
parent d4f3cceb52
commit 573a58622f
2 changed files with 56 additions and 3 deletions
+17 -2
View File
@@ -126,11 +126,17 @@ Private backup and artifacts are under
should continue on the phone after app close, with native controls, queue, should continue on the phone after app close, with native controls, queue,
artwork, authorization and video PiP. Physical V4V acceptance is open. 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 menus, discovery by non-peered/non-federated nodes, the same peer-sharing
pricing interface with blue tints instead of orange, optional charging and 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. 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 ## Additional release-regression items
- Paid-file recovery must never issue a second payment; source protections and - 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 | | 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 | | 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 | | 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 Completed subitems: Framework LND startup incident, companion download/viewer
acceptance, physical upload acceptance, APK55 delivery and reported Cloud PiP 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/`. `~/.local/state/archipelago/release-qualification/indeehub-backup-restore-20261007/`.
- No live app/container, database, wallet, catalog, payment or public file was - No live app/container, database, wallet, catalog, payment or public file was
changed. Disposable fixtures used network-none and no live volumes. 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.
+39 -1
View File
@@ -551,7 +551,7 @@ and video, with video using picture-in-picture where the device supports it.
from browser-only tests. 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 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. 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. unrelated-node discovery, paid access, withdrawal and mobile/desktop layouts.
No live file publication or real payment is authorized merely by adding this No live file publication or real payment is authorized merely by adding this
task to the backlog. 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.