Skip to content

fix(private-chat): use automatic Qortium group keys - #101

Merged
QuickMythril merged 3 commits into
mainfrom
fix/private-group-key-ux
Aug 21, 2026
Merged

fix(private-chat): use automatic Qortium group keys#101
QuickMythril merged 3 commits into
mainfrom
fix/private-group-key-ux

Conversation

@QuickMythril

@QuickMythril QuickMythril commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

Fixes the private-group send failure reproduced in Qortium group #4 while keeping Qortium key management automatic, adds the requested group ID labels, and closes two Android session regressions found during packaged Home acceptance.

The original diagnosis was correct that the selected member lacked a usable current-epoch key, but the first fix exposed the wrong product workflow. Qortium Core's QPGC design permits any current member to create an announcement and automatically does so on first send; Home 2's portable bridge had stopped at MISSING_GROUP_KEY. Companion Home PR QortiumDev/qortium-home#306 now restores that automatic lifecycle on desktop and Android.

  • remove the manual Qortium Request key and Create / rotate key composer controls and all admin-only gating/text
  • leave the composer enabled so one Send action can ask Home to bootstrap the key and continue the original mutation
  • preserve Qortal's separate manual administrator-published bundle workflow
  • treat Home's stage: "key-announcement", messageSubmitted: false result as a definite message rejection with a safe Retry affordance, rather than claiming the message may already have been sent
  • retain the uncertain announcement signature in Home's journal and forget it once the selected account can resolve a current key
  • retain compatibility with older Home missing-key errors and all existing automatic recovery for retained historical messages
  • show #<groupId> immediately before Qortium/Qortal and CHAT chips in group headers, and before CHAT in sidebar group rows
  • recover the missing Qortium half of a shared Home 2 identity once when Dashboard unlock has already restored the Qortal account, without creating a repeated permission-prompt loop
  • disable Qortium-node WebSockets only on Android's synthetic *.qdn.androidplatform.net origin and use the existing REST polling paths instead; desktop Home WebSockets remain enabled
  • update the mobile-density smoke fixture to advertise the direct-send capability required for its writable composer assertion

Verification

  • npm run build
  • npm test — 53 test files, 736 tests passed
  • npm run smoke:new-user
    • sidebar chips: #0 CHAT and #7 CHAT
    • header chips: #7 Qortium CHAT
    • desktop and mobile newcomer behavior remained intact
  • npm run smoke:gateway
  • npm run smoke:hub-private
  • npm run smoke:mobile-density
  • npm run smoke:scroll

No version bump or QDN publication is included.

Manual acceptance

  1. Use Home PR #306 and open a Qortium private group whose current epoch has no usable key.
  2. Press Send once. Chat should keep its optimistic message while Home announces the key and then submits that same message without a second click or any manual key controls.
  3. Confirm the flow works for a regular current member; Qortium bootstrap must not require group-admin status.
  4. If key-announcement broadcast is deliberately made uncertain, confirm Chat says the message was not submitted and offers a safe Retry rather than a duplicate-send warning.
  5. Unlock the shared wallet in Dashboard and return to Chat. Both Qortal and Qortium should restore without a second account-access prompt or a Use selected account click.
  6. On Android, confirm Chat refreshes normally without DNS failures for *.qdn.androidplatform.net/websockets/....
  7. Confirm the group ID appears before the chain/CHAT chips in both Qortium and Qortal group headers and before CHAT in the sidebar.

@QuickMythril QuickMythril changed the title fix(private-chat): add group key recovery controls fix(private-chat): use automatic Qortium group keys Aug 21, 2026
@QuickMythril
QuickMythril merged commit d74bd27 into main Aug 21, 2026
4 checks passed
@QuickMythril
QuickMythril deleted the fix/private-group-key-ux branch August 21, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant