You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* core/account: let migrateSessions scope to a single session
The opt-in per-session sync (#123) reuses the existing re-key copy
loop but must move exactly one session. An optional sessionId filters
the source listing; omitted, the bulk wallet-switch behavior is
unchanged. Covered by a new spec case: the scoped run copies only the
named session, leaves siblings untouched, and an unknown id is a
clean no-op.
* surfaces/localhost: stop auto-migrating guest sessions on wallet connect
Connecting a wallet used to copy every guest session into that
wallet's store, silently binding pre-wallet local work to whatever
identity the user connected (#123). adoptWallet now only swaps the
wallet in; guest sessions stay in the device store and ride along on
every sessions push tagged local: true (cached guest-only metas,
spliced synchronously so SSE ordering is untouched, deduped against
stale pre-connect clients). A new syncSessionToWallet message moves
exactly one session through the same migrateSessions machinery and
answers with sessionSynced. Sessions created while a wallet is
connected are born in the wallet's store, so their auto-sync behavior
is unchanged.
* webview: Local tag + opt-in sync confirm for pre-wallet sessions
Chat-list rows for sessions still living in the device store show a
LOCAL tag with a sync mark while a wallet is connected (#123).
Tapping the row opens a confirm sheet that shows the destination
wallet address up front; Sync sends syncSessionToWallet for that one
session and the tag clears on the sessionSynced ack. The row never
opens the chat while local: the wallet runtime cannot load it, and
sending into an empty same-id chat would fork the history and block
the sync. Long-press delete is skipped there for the same reason.
* localhost+webview: truthful sync ack, destination avatar in the confirm
Review fixes on the opt-in sync flow:
- migrateSessions swallows per-session faults into report.skipped, so the
handler acked ok and cleared the Local tag even when nothing was
copied (an unloadable guest page). The ack is now ok only when
report.copied is 1; a skipped copy keeps the tag and reports a
readable error.
- The confirm sheet showed the destination address only; issue #123
point 3 asks for the agent identity too, so the wallet-derived avatar
(same generator as the rank cards) now sits beside the address.
---------
Co-authored-by: RemilioNubilio <275382225+RemilioNubilio@users.noreply.github.com>
0 commit comments