Repository navigation
feat: group invite links, and make Add participants work (0.8.0, qc 0.7.0) - #306
Merged
Merged
Conversation
- Group admins get one invite link per group (https://qrypt.chat/join/<code>): create, copy, reset, turn off. /join/<code> previews the group and joins it; signed out, it keeps the code and /chat joins after any sign-in. - /api/conversations/join accepts { code } (a code or a link); the sidebar's new Join button opens the Join Group modal, which was never mounted. - POST /api/chat/conversations/[id]/participants did not exist, so Add participants silently 405'd; it now adds people (group admins only). - The chat header never knew the current conversation (always "Chat", Add participants never shown): derive it from the sidebar's list, with my_role. - qc join <link> and qc invite <chat> [--reset|--off]. - Migration 20261011000000_conversation_invites (service role only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ThreatCrush Security Scan13 finding(s) MEDIUM: 9 | LOW: 4
Snippets are redacted; ThreatCrush never prints matched credential material. |
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.
Fixes the group invite gap documented in #305, plus two bugs found on the way.
Was broken
{code}request was not understood by/api/conversations/join. Group chats had no invite mechanism at all.POST /api/chat/conversations/[id]/participantsdid not exist, so Add participants silently got a 405.currentConversationwas never set: the title was always "Chat" and the Add participants button never appeared.Now
/join/<code>shows the group name and member count, then joins it. If you are signed out, it keeps the code and/chatjoins the group after any sign-in method (passkey, SMS, CoinPay, anonymous)./api/conversations/joinaccepts{ code }(a bare code or a link). A Join button in the sidebar opens the modal.qc join <link>andqc invite <chat> [--reset|--off].People who join read messages sent from then on; senders already encrypt each message to whoever is in the chat when it is sent.
Migration:
20261011000000_conversation_invites.sqladds an additive table that only the service role can access. Apply it on dev2 by hand before deploying.Checks: 733/733 vitest (new
group-invites.test.jswith an in-memory DB),next buildpasses, qc bundle builds, andqc --helplists the new commands.🤖 Generated with Claude Code