docs: handoff — session 2 progress (#12/#2/#3 code-complete, deploy held)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a8c668ee0a
commit
2761f0d70f
@ -39,8 +39,33 @@ claude-login.html, chown 1000:1000, restart, verify sha256+health). Recreate fro
|
||||
`2679725907` = federation_peer_contact_id(.120 pubkey 535fb91f…), name "Archy-X250-EXP".
|
||||
It's a **duplicate-contact SURFACING** problem (user confirmed doubles).
|
||||
|
||||
## TODO (resume here)
|
||||
### #12 Fix duplicate mesh contacts ← user chose this NEXT
|
||||
## SESSION 2 PROGRESS (2026-06-20, code-complete — NOT yet deployed; user held deploy)
|
||||
All committed to local `main`; NOT pushed to gitea-vps2/origin yet, NOT sideloaded.
|
||||
- **#12 dup contacts DONE** (`f92e442b`, +3 unit tests pass). Backend `group_peer_twins()`
|
||||
helper (mesh/mod.rs) dedups by `arch_pubkey_hex`, radio twin = canonical send id, unions
|
||||
messages; wired into conversations.list/messages + mesh.contacts-list. **KEY FINDING:**
|
||||
conversations.list/messages have NO frontend consumer — the live chat list renders the
|
||||
*frontend* merge `mergedPeers` (Mesh.vue), which matched twins by the `Archy-z6Mk…` advert
|
||||
prefix that the device RENAME broke. Real fix = merge by `arch_pubkey_hex` (now exposed on the
|
||||
MeshPeer TS type). Should also clear `.120→.89` and likely **#5** (Arch Mobile on .116, same bug).
|
||||
- **Companion crash diagnostic SHIPPED** (`b3633ec5`): main.ts global handler now shows the REAL
|
||||
error + keeps a 25-entry `window.__archyErrors` ring buffer + catches async/unhandledrejection.
|
||||
Still need to deploy + repro on the optiplex node (read `window.__archyErrors` via chrome://inspect)
|
||||
to get the actual throw. User says LAN/mobile-browser fine → Tailscale-WebView-specific.
|
||||
- **#3 dual-ecash pay-for-file DONE** (`8f06d88f`, compiles): payer tries Cashu→Fedimint, seller
|
||||
accepts both (verify_and_receive_payment: non-"cashu" = reissue_into_any), new
|
||||
fedimint_client::spend_from_any(), wallet.ecash-balance reports total_sats. LIVE federation
|
||||
validation pending (two nodes sharing a federation).
|
||||
- **#2 mobile scroll cutoff DONE** (`a8c668ee`): DashboardMobileNav wrote `--mobile-tab-bar-height:0px`
|
||||
when the bar was hidden/unlaid-out, defeating the `,88px` fallback → bar covered last row. Now never
|
||||
writes 0 (removes var → fallback), re-measures on rAF + post-WebView-injection. Backup hypothesis if
|
||||
it persists: `.dashboard-view` is `min-h-screen`(100vh) → mobile-browser toolbar overlap, switch to dvh.
|
||||
|
||||
NEXT when deploying: build release binary (opt-level 3, ~13min) + frontend, sideload to .116 first
|
||||
(verify #12 dedup + #5), then .198/.228/.89 (.89 was stale 7c17a96). Confirm "optiplex" node id.
|
||||
|
||||
## TODO (original resume — #12 now DONE above)
|
||||
### #12 Fix duplicate mesh contacts ← DONE this session (see SESSION 2 PROGRESS)
|
||||
Root cause: `handle_mesh_contacts_list` (api/rpc/mesh/typed_messages.rs:1126) and
|
||||
`handle_conversations_list` (api/rpc/mesh/status.rs:89) emit **one row per `state.peers` entry** with
|
||||
**no cross-transport dedup**. A node can have TWO peers: a radio peer (low contact_id, firmware key)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user