@loomcycle/bridge-discord 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -139,7 +139,7 @@ Do it in this order: the gate, with its prefix, must be in loomcycle's config be
139
139
  As a gate the bridge also tells loomcycle about groups and leavers.
140
140
 
141
141
  - **Groups.** A channel is in the loomcycle group `discord:dc-guild-<server id>` of its server. A person (a DM) is in `discord:dc-guild-<server id>` for each server in `DISCORD_BRIDGE_TRUSTED_GUILDS` they are a member of, and `discord:dc-role-<role id>` for each role they hold there, which an operator can bind permissions to; it takes `trusted: true` on the gate and an `identity_map.groups` block. The bridge reads a person's membership with the bot token (Get Guild Member, which needs no privileged intent; the bot must be in the server), once per person per 10 minutes. When a lookup fails, or with more than 20 trusted servers, it asserts no groups for that person, so loomcycle never drops a group on a guess.
142
- - **Leavers.** A person who removes the app is revoked in loomcycle: disabled at once, then removed by the gate's removal policy. Discord tells the bridge through Webhook Events: in the Developer Portal, on the **Webhooks** page, set the **Endpoint** to `https://<bridge-host>/discord/events`, turn **Events** on and select `APPLICATION_DEAUTHORIZED`. Discord checks the URL with a PING when you save it, so the bridge must already run as a gate. These events are signed like interactions and always verified. The bridge answers an event only once loomcycle has taken the revoke; if it has not, Discord gets a `503` and delivers the event again.
142
+ - **Leavers.** A person who removes the app is revoked in loomcycle: disabled at once, then removed by the gate's removal policy. Discord tells the bridge through Webhook Events: in the Developer Portal, on the **Webhooks** page, set the **Endpoint** to `https://<bridge-host>/discord/events`, turn **Events** on and select `APPLICATION_DEAUTHORIZED`. Discord checks the URL with a PING when you save it, so the bridge must already run as a gate. These events are signed like interactions and always verified. The bridge answers an event only once loomcycle has taken the revoke; if it has not, Discord gets a `503` and delivers the event again. From `@loomcycle/bridge-core` 0.4.0 a revoke loomcycle does not take is also kept and retried by the bridge itself, so a loomcycle outage longer than the platform's redelivery no longer loses it. Discord lists no members the bridge can read, so there is no reconciliation: a person removed without an event reaching the bridge keeps access until an operator disables them in loomcycle.
143
143
 
144
144
  ## Voice messages
145
145
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomcycle/bridge-discord",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "type": "module",
5
5
  "description": "Discord bridge for loomcycle interactive agents (RFC EQ): people talk to a loomcycle agent with slash commands, each as their own loomcycle user, with question and review cards as buttons. Interactions over HTTP; no Gateway.",
6
6
  "license": "Apache-2.0",