fix: correct Slack identity fields for RBAC and DMs#19
Merged
Conversation
houko
force-pushed
the
fix/slack-rbac-dm-fields
branch
from
March 13, 2026 03:50
b0b87f7 to
d9284fb
Compare
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Prevents infinite retry loops on permanent failures and guards against concurrent connection attempts. Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Resolve merge conflicts in slack.rs and whatsapp-gateway/index.js: - slack.rs: combine PR#19 sender_user_id metadata + is_group field with main's app_mention was_mentioned metadata from PR#17 - index.js: keep PR#19's try/finally isConnecting guard and reconnect logic, add main's connStatus tracking during reconnection Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
3 tasks
houko
added a commit
that referenced
this pull request
Apr 17, 2026
… key overwrite **Hook-layer conformance (#19, #54)**: WizardPage now imports from `lib/queries/providers` and `lib/mutations/providers` instead of calling `api.ts` functions directly. That brings it in line with the contract in `dashboard/AGENTS.md` — centralised staleTime, shared query keys, and onSuccess invalidations. The direct-call path was diverging from the rest of the dashboard on provider cache behaviour every time the shared hooks were tuned. **Guarded overwrite of a working key (#9)**: when the selected provider already has `auth_status = ready` and the user types a new key, a warning checkbox must be acknowledged before the Connect button is enabled. Previously the wizard wrote the new key first and then ran the test; a typo destroyed the working credential with no recovery path (the backend only reads from env/vault — it has no rollback). The checkbox forces explicit consent so a mistyped key doesn't silently brick a working install. Any edit in the input resets the confirmation so stale approvals don't carry over to different strings.
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
Dchannels as DMs and exempt them from the Slack channel allowlistWhy
Slack currently uses the channel ID everywhere, which is correct for the send path but wrong for user-based RBAC and per-user limits. It also treats Slack DMs as group messages, so
dm_policycannot apply correctly.Upstream reference
Testing
cargo fmt --all --checkcargo check -p librefang-channelscargo test -p librefang-channels test_sender_user_id_from_metadatacargo test -p librefang-channels test_sender_user_id_fallback_to_platform_idcargo test -p librefang-channels test_parse_slack_event_dm_detectedCloses #18