Skip to content

Render and resolve Qortal tracked group transactions as inline system messages (2.0.7) - #102

Merged
QuickMythril merged 2 commits into
mainfrom
feat/chat-qortal-inline-system-messages
Aug 21, 2026
Merged

Render and resolve Qortal tracked group transactions as inline system messages (2.0.7)#102
QuickMythril merged 2 commits into
mainfrom
feat/chat-qortal-inline-system-messages

Conversation

@QuickMythril

Copy link
Copy Markdown
Member

Summary

Closes the last confirmed functional gap from the Chat 2.0 program: tracked Qortal join/leave/approve transactions never rendered as inline system messages and their status was never resolved, because three paths were hardwired to Qortium.

  • New src/trackedTransactions.ts: the network-scoping rule (groupId + network, absent network = qortium) lives and is tested in one pure module — the two chains draw numeric group ids from unrelated namespaces, so a Qortal transaction for group N must never render in, or refresh, the Qortium group-N conversation.
  • selectedTransactions memo now selects by the open conversation's network + groupId (was Qortium-group-only); primitive network dep keeps the MessageList memo bailout intact.
  • Status polling (getTransactionStatus) gains a network param (default 'qortium' keeps every existing call site byte-identical) and routes via the existing FETCH_NODE_API dispatch — works on every Qortal host tier, no Home-side change needed.
  • refreshAfterTrackedTransaction gets a Qortal arm that refreshes the PR Post-publish follow-ups: clay override removal and Qortal join-request tracking (D6) #92 mirrored slots (member groups, account/admin join requests, open group roster) and never calls loadAccountData; this also closes a pre-existing leak where a Qortal confirmation could refresh a same-numeric-id Qortium group's roster. GROUP_APPROVAL refresh stays Qortium-only by design.
  • Release prep: version 2.0.7 (package + lockfile in sync; qortium-app.json emits 2.0.7 — required: two different byte-sets have already shipped as 2.0.6), README + docs/CHAT_COMPLETION_ROADMAP.md refreshed to shipped reality (P7 complete, APP/xchat/default, Hub catalog, qortal_avatar).

Test plan

  • Suite: 54 files / 744 tests green (+8: bridge-routing test for the status probe, and 7 trackedTransactions tests proving same-ID cross-chain isolation in both directions for render and refresh), independently re-run and verified.
  • tsc --noEmit clean, npm run build clean.
  • chatDispatch.ts untouched; no new i18n strings (parity test green).

QDN publish of 2.0.7 (both chains) happens only after merge, from merged main, on explicit approval.

🤖 Generated with Claude Code

QuickMythril and others added 2 commits August 21, 2026 13:06
…stem messages

Qortal join/leave/approve transactions were tracked with network: 'qortal'
but three read sites stayed hardwired to Qortium, so their inline system
messages never rendered and their status never resolved:

- selectedTransactions selected only Qortium-group conversations; it now
  matches (transaction.network ?? 'qortium') against the open group
  conversation's network via selectConversationSystemMessages.
- getTransactionStatus always probed the Qortium node; it now takes a
  trailing network param (default 'qortium' keeps existing call sites
  byte-identical) and rides the same FETCH_NODE_API dispatch as every
  other network-aware coreApi read. Group transactions confirm into
  blocks on both chains, so the confirmed-status read is meaningful.
- refreshAfterTrackedTransaction refreshed only the Qortium account/
  member state; a Qortal confirmation now refreshes the D6/PR #92 Qortal
  slots instead (loadQortalMemberGroups, loadQortalAccountJoinRequests,
  loadQortalAdminJoinRequests on approve) and the open Qortal group's
  roster, never touching Qortium state.

Same-numeric-groupId isolation lives in trackedTransactions.ts and is
tested both directions: a Qortal transaction for group N never renders
in or refreshes the Qortium group-N conversation, and vice versa.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- package.json + package-lock.json to 2.0.7 (npm version, lockfile in sync)
- README: QAVS version now 2.0.7; Qortal DMs/private groups/attachments/
  notifications are shipped per host tier, no longer "next tranches"
- Roadmap: P7 complete — published on Qortium as APP/Chat/Chat and on
  Qortal as APP/xchat/default (name xchat, Hub catalog, qortal_avatar)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@QuickMythril
QuickMythril merged commit 28a6dc1 into main Aug 21, 2026
4 checks passed
@QuickMythril
QuickMythril deleted the feat/chat-qortal-inline-system-messages branch August 21, 2026 17:11
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