Skip to content

feat(bot): add contextual room access - #2018

Open
hmans wants to merge 2 commits into
hmans/bot-capabilitiesfrom
hmans/bot-contextual-access
Open

feat(bot): add contextual room access#2018
hmans wants to merge 2 commits into
hmans/bot-capabilitiesfrom
hmans/bot-contextual-access

Conversation

@hmans

@hmans hmans commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • let room managers explicitly install/remove bots, including in Universal rooms, without granting channel read access
  • turn a human-authored direct bot mention in a root or reply into access to that root's thread only; bot-authored and role/broadcast mentions do not invite bots
  • let the inviter, bot owner, or room manager revoke a thread invitation, and clear all invitations on uninstall
  • add bot-runtime thread list/read/write operations with capability, owner-membership, and owner-RBAC checks
  • add a Bearer-authenticated, write-only incoming webhook for root text messages in explicitly installed channels

This is PR 3 of the bot-account stack and depends on the application-capability slice.

Security and delivery semantics

  • bots still cannot enumerate/self-join rooms or use the ordinary API, realtime, or asset surfaces
  • thread reads expose only the invited root and replies; uninstall/reinstall does not revive old grants
  • privacy-bearing reads retain a durable authorization boundary through response assembly; room-manager revocations commit through the authorization fence
  • webhook writes are re-authorised at commit and expose no read surface
  • webhook delivery is at least once; an uncertain retry can create a duplicate (idempotency and rate limiting are follow-ups)

Design

Verification

  • mise test-cli
  • mise test-frontend
  • targeted webhook, bot-thread, projection, snapshot, and Universal-room UI tests
  • Svelte analysis and changed-file ESLint
  • docs website build
  • protobuf generation and compatibility check
  • mise license-check

Stack

  1. Bot account foundation
  2. Owner-bounded application capabilities
  3. Contextual room and thread access (this PR)

@hmans
hmans force-pushed the hmans/bot-contextual-access branch from bed9e97 to a8b33bf Compare August 12, 2026 10:59
@hmans
hmans force-pushed the hmans/bot-contextual-access branch from a8b33bf to 33932be Compare August 12, 2026 11:02
@hmans
hmans force-pushed the hmans/bot-contextual-access branch from 33932be to 9c21fb3 Compare August 12, 2026 11:03
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