Connect installed Nextcloud and Immich accounts automatically after app setup, integrate their folders and indexed files into Cloud, and support private uploads, permission-checked deletion, and explicit sharing snapshots. Persist disconnect choices and retain advanced account setup. Refine floating navigation, app cards, container icons, scroll fades, private-key dialogs, and federation graph request visibility across desktop and mobile. Validation: cargo check and UI typecheck passed; 38 focused UI tests, 25 adapter tests including disposable Nextcloud/Immich integration, and persistent opt-out test passed. Chromium, Firefox, and WebKit desktop/mobile workflows passed. Requires UI/UX UAT approval from the maintainer before release.
166 lines
11 KiB
Plaintext
166 lines
11 KiB
Plaintext
Archipelago UX preview handoff — 2026-11-09
|
|
|
|
Workspace: /home/yaya/Projects/archy
|
|
Branch: ux/beta-2.1
|
|
This is local UI work for review. No release or deployment has been performed.
|
|
Other agents own the public 2.0.3 release and beta 2.1 security/backend work.
|
|
Preserve unrelated pre-existing untracked files; do not add the whole tree blindly.
|
|
UI pull requests must begin: Requires UI/UX UAT approval from the maintainer
|
|
|
|
Preview
|
|
Archipelago: http://127.0.0.1:8100 (LAN host 192.168.63.105).
|
|
Mock backend: 127.0.0.1:5959; DEMO=1 prevents real container operations.
|
|
Preferred startup on Yaya's machine (updated 2026-11-10):
|
|
/home/yaya/.local/bin/archy-ux start
|
|
Stop/restart/status/logs: archy-ux stop|restart|status|logs.
|
|
User requested FIPS companion access EVERY time the UX preview is started.
|
|
Use this launcher instead of ad-hoc processes or npm start (the old generic
|
|
script kills processes by port). It runs the mock in DEMO=1 mode and checks
|
|
both frontend and backend readiness. User services are installed locally;
|
|
they do not automatically start the mock backend at boot.
|
|
|
|
Companion entry: Archy UX preview. Existing QR remains valid:
|
|
/home/yaya/Downloads/archy-ux-companion-qr.png
|
|
Mesh origin: http://[fd3e:67e3:88d6:a1e0:6499:8b6e:e999:f309]/
|
|
The enabled system service archy-ux-mesh forwards this address's port 80 to
|
|
127.0.0.1:8100. It starts after FIPS and retries if the interface isn't ready.
|
|
Both UFW and /etc/fips/fips.d/archy-ux-preview.nft persist the HTTP allowance
|
|
for the existing phone only (fd2b:a293:8d54:f587:4158:37a5:70f4:3c55).
|
|
Local HTTP success alone does not verify phone routing: the first attempt
|
|
missed the UFW layer, then the user confirmed access after that rule was fixed.
|
|
The QR uses this machine's real FIPS identity, not mock fips.status data.
|
|
Keep that identity/address stable. Mock login is entertoexit.
|
|
Installed units: ~/.config/systemd/user/archy-ux-{backend,vite}.service and
|
|
/etc/systemd/system/archy-ux-mesh.service. No node deployment is involved.
|
|
|
|
Manual fallback from neode-ui (local proxy/firewall must already be installed):
|
|
env -u ANTHROPIC_API_KEY DEMO=1 MOCK_BACKEND_HOST=127.0.0.1 MOCK_BACKEND_PORT=5959 VITE_DEV_SERVER_PORT=8100 node mock-backend.js
|
|
VITE_INDEEHUB_PREVIEW_PORT=2101 BACKEND_URL=http://127.0.0.1:5959 npm run dev -- --host 0.0.0.0 --port 8100
|
|
IndeeHub: /home/yaya/Projects/indee-archie-ux, branch ux/beta-2.1.
|
|
Its UX-PREVIEW.md documents mock launch and handoff details; preview port 2101.
|
|
|
|
Main UI changes already in the working tree
|
|
- Apps owns Goals and guided setup routes; Home Quick Start reuses Goals cards.
|
|
- Shared sticky desktop category/search rows, compact mobile tabs/floating nav,
|
|
dynamic bottom clearance for navigation, audio player and back buttons.
|
|
- Settings grouped into four sections with keyword search and separated cards.
|
|
- Wallet transaction detail views for Lightning, Cashu, Fedimint and Ark;
|
|
compact scrolling filters; incoming/outgoing review badges and mock history.
|
|
- Web5 card typography/icons, discovery fixtures, observer removal success/reset,
|
|
map label/rendering fixes and networking-profits empty state.
|
|
- Mesh map uses a keyless OSM tile source with attribution; device controls hidden.
|
|
- Optional app integration lookups no longer produce noisy launch toasts.
|
|
- IndeeHub floating header/sign-in, mock authentication bridge and safe areas.
|
|
|
|
Latest follow-up fixes
|
|
- Removed the second hard-coded detail background and navigation glitch trigger.
|
|
Route owner controls the only background layer; clicking Goals requires no reload.
|
|
- Goal steps now use a subtle full border instead of coloured left stripes.
|
|
- Shared BackButton sticks on desktop and darkens to #0a0a0a at 95% on scroll;
|
|
compact title rows stick together. Mobile retains its floating back control.
|
|
- Typing audio is silent for keyboard, welcome and intro; compatibility exports
|
|
remain no-ops. Other audio is unchanged.
|
|
- Sideload uses BaseModal with pinned footer and shared safe-area behaviour.
|
|
- HardwareMarketplace has visible animated relay search for phones/routers/LoRa.
|
|
- Disconnected Mesh defaults to a LoRa shopping group above Archipelago;
|
|
a rotating T-Deck introduces the same listing/detail flow. Real listings retain
|
|
signature/deletion/expiry validation. Demo offers/prices are explicitly samples.
|
|
Buy opens LoRa product details; no checkout backend was introduced.
|
|
- OpenWrt extra margin/spacer removed; showcase uses measured page clearance.
|
|
- Peer files: Node connections is top right on the Back row, Settings logout style.
|
|
|
|
Verification
|
|
Shared scenarios live outside the repository:
|
|
~/.local/share/browser-check/projects/archy-ux/
|
|
Browser command: ~/.local/bin/browser-check
|
|
Chromium override: BROWSER_CHECK_CHROMIUM_PATH=/usr/bin/chromium
|
|
Goal background + phone loader: Chromium/Firefox/WebKit, desktop and phone passed.
|
|
Back scroll + sideload: Chromium desktop/phone passed.
|
|
OpenWrt loader + desktop bottom gutter/no excess overflow passed in Chromium.
|
|
Typecheck and focused existing/new Vitest checks have passed during the session.
|
|
See /tmp/archy-* test reports for exact checks and environment warnings.
|
|
Physical companion safe-area/audio behaviour still needs real-device UAT.
|
|
|
|
Known asset issue
|
|
The horizontal rectangular bands near the top of bg-myapps.webp are present in
|
|
its source pixels, including every local copy. They are not an overlay in the
|
|
Goals view. The artwork has not been regenerated or replaced.
|
|
|
|
Final requested corrections — 2026-11-09
|
|
- Publishing goal walkthroughs now have per-session mock status, saved connection
|
|
choices, projects, drafts and revisions. The mock does not claim public hosting;
|
|
public publication/verification operations require a real node.
|
|
- Desktop back buttons pin independently of titles/descriptions, preserving their
|
|
left alignment. Connections/profits tabs share a sticky row ABOVE page headings.
|
|
Connections also has a compact DID/Copy/Rotate card at the right of that row.
|
|
- Mobile back buttons retain translucent glass and pages reserve their clearance.
|
|
Peer-files icon and Node connections share one compact top row.
|
|
- Restored Web5's 50% black image overlay inside the background layer, removed
|
|
Network's empty refresh-indicator row, and fitted Welcome Noderunner at 320px.
|
|
- Node details show name/hostname. Mobile AIUI selection follows the route, so it
|
|
does not depend on the current iframe implementation.
|
|
- Production login omits Replay Intro and Onboarding reset controls. Settings
|
|
identity/Tor/hostname/version/status/copy icons restored and mobile search gap fixed.
|
|
- LILYGO T-Echo replaces the no-device chat illustration. Existing Buy buttons
|
|
remain in place and navigate to full-height product browsers:
|
|
/dashboard/mesh/products
|
|
/dashboard/server/openwrt/products
|
|
/dashboard/setup/non-surveillance-phone/products
|
|
Each returns to its originating screen. Existing seller details and truthful
|
|
discovery/sample labelling remain; no payment/checkout implementation added.
|
|
- Scope for this handoff is neode-ui plus this document. Unrelated files outside
|
|
that scope were not included. Public catalog prebuild drift is excluded.
|
|
- Current local preview was started in ordinary mock development mode on 5959
|
|
with Vite on 8100. For isolated release review prefer the DEMO=1 command above.
|
|
- Shared browser scenarios/reports stay local, outside the repository. Main fixes
|
|
passed Chromium/Firefox desktop+phone and WebKit desktop+phone (normal SPA
|
|
navigation; hard reloads during RPCs can produce a WebKit access-control error).
|
|
Peer-header/settings restoration and production-login checks passed Chromium.
|
|
- Product-page mobile controls now sit BELOW products; cards use compact
|
|
spacing and the page measures the floating back control for exact clearance.
|
|
Relay loading rings cannot flex-shrink into ellipses. Navigation animation
|
|
completion re-measures 3D showcases; back buttons cannot pin at scrollTop 0.
|
|
|
|
Final verification for review publication
|
|
- Production build passed (vue-tsc -b and Vite/PWA build).
|
|
- 125 tests passed across the 9 changed test files; 55 targeted hardware,
|
|
transaction, connection, publishing and route tests also passed (overlapping).
|
|
- Hardware Buy entry points, standalone viewport sizing and return navigation
|
|
passed Chromium desktop and phone. Compact mobile product controls passed.
|
|
- UI/UX UAT approval remains required before integrating/releasing these changes.
|
|
|
|
Indeehub live workspace follow-up — 2026-11-10
|
|
- archy-ux now manages archy-ux-indeehub.service alongside the existing demo.
|
|
Source remains /home/yaya/Projects/indee-archie-ux; dual-stack port 2101, mock data.
|
|
- Existing companion FIPS host now allows port 2101 from the same phone only,
|
|
persisted in UFW and /etc/fips/fips.d/archy-ux-indeehub.nft.
|
|
- Preview HTML supplies a mesh dashboard-port override (80); local remains 8100.
|
|
- Chromium phone and Firefox desktop/phone passed native mock sign-in and
|
|
Backstage over the FIPS URL from this computer. Actual phone UAT remains user-run.
|
|
WebKit opens Backstage but reports cross-origin frame exceptions.
|
|
- No real node deployment or production payment/publication backend was started.
|
|
|
|
Cloud connected file apps — 2026-11-10
|
|
- Connect manages account connections; it is not a second file browser. Nextcloud
|
|
Files and Immich Files use the normal folders, cards, viewer and sharing dialog.
|
|
Their indexed files join My Files and search.
|
|
- Installed apps discover automatically after native account setup. A dedicated
|
|
token is created in the verified installed runtime for its sole administrator;
|
|
passwords remain untouched. Multiple administrators need an explicit account
|
|
choice through advanced setup. Immich helper is verified against 2.7.4.
|
|
- Disconnect persists an opt-out; refreshing cannot silently reconnect it.
|
|
Reconnect normally requires just choosing the installed app.
|
|
- Source uploads use the standard toolbar/drop flow and a private, CSRF-checked
|
|
streaming endpoint. Nextcloud refuses replacement files; Immich accepts media.
|
|
Delete checks account permissions/revision; Immich deletes to trash. Source
|
|
indexes refresh after mutations. Sharing still makes an explicit local snapshot.
|
|
- Both authorization helpers and actual production adapters were tested against
|
|
disposable local Nextcloud29/Immich2.7.4 containers, then containers removed.
|
|
25 focused adapter tests and the persistent opt-out check passed; 38 UI tests
|
|
and typecheck passed. Upload/reconnect/delete/index/search passed all six
|
|
Chromium/Firefox/WebKit desktop/phone cases. Browser scenarios stay local.
|
|
- Backend changes are prepared here, not deployed to shared nodes. Existing
|
|
shared-platform release/integration ownership remains with the other agent.
|
|
- Final full cargo check passed with existing warnings. No commit, push, shared-node
|
|
deployment, release or public film publication was performed in this continuation.
|