Render and resolve Qortal tracked group transactions as inline system messages (2.0.7) - #102
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
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.selectedTransactionsmemo now selects by the open conversation's network + groupId (was Qortium-group-only); primitive network dep keeps the MessageList memo bailout intact.getTransactionStatus) gains anetworkparam (default'qortium'keeps every existing call site byte-identical) and routes via the existingFETCH_NODE_APIdispatch — works on every Qortal host tier, no Home-side change needed.refreshAfterTrackedTransactiongets 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 callsloadAccountData; 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.qortium-app.jsonemits 2.0.7 — required: two different byte-sets have already shipped as 2.0.6), README +docs/CHAT_COMPLETION_ROADMAP.mdrefreshed to shipped reality (P7 complete,APP/xchat/default, Hub catalog, qortal_avatar).Test plan
tsc --noEmitclean,npm run buildclean.chatDispatch.tsuntouched; 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