Skip to content

Bridge IRCv3 replies and reactions with late.sh chat#434

Open
mevanlc wants to merge 13 commits into
mainfrom
mevanlc--ircv3-features
Open

Bridge IRCv3 replies and reactions with late.sh chat#434
mevanlc wants to merge 13 commits into
mainfrom
mevanlc--ircv3-features

Conversation

@mevanlc

@mevanlc mevanlc commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Adds CAP negotiation with a first tier of IRCv3 caps (message-tags, server-time, echo-message) and uses them to bridge existing late.sh chat features to IRC clients:

  • Tagged replies (+draft/reply/+reply) persist as real late.sh message replies, and TUI replies project back out with msgid/reply tags
  • TAGMSG reactions (+draft/react/+draft/unreact) toggle late.sh reactions; reaction changes from any surface project to tag-aware clients
  • Tag-unaware clients are unaffected (no reaction noise, plain PRIVMSG fallbacks)

mevanlc added 7 commits June 17, 2026 15:57
    - add IRCv3 overview and feature definitions
    - add architecture/implementation ideas and tiered rollout plan
# Conflicts:
#	late-ssh/src/ircd/conn.rs
#	late-ssh/src/ircd/proj.rs
#	late-ssh/tests/ircd/smoke.rs
Emit +draft/reply alongside +reply on outbound replies and reaction
TAGMSGs, matching what goguma and halloy send. Tag reaction TAGMSGs
with server-time and a per-delivery msgid, mirroring ergo. Reactions
to a nick now use a plain DM room lookup (new ChatRoom::get_dm)
instead of get_or_create_dm, so a rejected reaction no longer creates
an empty DM room.
@mevanlc
mevanlc requested a review from mpiorowski as a code owner July 17, 2026 02:31
@gitguardian

gitguardian Bot commented Jul 17, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
15149220 Triggered Generic Password a7769b5 Makefile View secret
15149220 Triggered Generic Password 8b6395c late-core/src/db_test.rs View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

mevanlc and others added 6 commits July 17, 2026 09:23
- Mirror the upstream odd badge update (moderator + developer, canonical
  order) whose test fix landed on main just after our last merge point.
- Public-room reaction deltas broadcast with no target list and sessions
  filter by membership, so assert None instead of a member list.
…ures

# Conflicts:
#	late-ssh/src/app/lobby/daily/checkers.rs
#	late-ssh/src/app/lobby/daily/checkers_ui.rs
#	late-ssh/src/app/lobby/daily/reversi_ui.rs
…ures

# Conflicts:
#	late-core/src/models/chat_message_test.rs
#	late-ssh/src/ircd/conn.rs
#	late-ssh/src/ircd/proj.rs
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.

2 participants