Repository navigation
Add tag alias resync workflow and status API - #142
Merged
Merged
Conversation
Introduces a full tag-alias reconciliation flow: new backend resync/status endpoints, background processing with Redis lock/progress/cooldown tracking, Discord error handling, and audit logging for alias resync runs. It also extracts shared alias command/planning/storage logic into a new internal `tagalias` package and reuses it from tag creation and admin command recreation. On the frontend, adds API bindings and a tags-page UI action to start resyncs, poll progress, surface cooldown/conflict responses, and show completion/warning/error toasts, plus new `TagAliasResyncStatus` typing and audit label support.
Member
|
@biast12 DB ready for bump |
Contributor
Author
|
@BenHall-1 bumped!! |
DeleteTag treated any DeleteGuildCommand failure as fatal, so a tag whose application_command_id no longer resolves returned 500 and its row was never reached, leaving it undeletable. Reuse discordError to let a 404 fall through. Also convert the tags package to AbortWithError so the cause survives, move the 5xx report into ErrorHandler keyed on the route, and drop the access log to Warn. 503 is exempt: every one is a feature flag, and its message was being overwritten and filed as a crash.
Removes the temporary hardcoded `auditActionTagAliasResync` value and switches `ResyncTagAliases` to use `dbmodel.AuditActionTagAliasResync` directly. This aligns the endpoint with the canonical audit action enum now available in `dbmodel` and avoids relying on a magic number.
BenHall-1
approved these changes
Sep 20, 2026
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.
Description
Introduces a full tag-alias reconciliation flow: new backend resync/status endpoints, background processing with Redis lock/progress/cooldown tracking, Discord error handling, and audit logging for alias resync runs. It also extracts shared alias command/planning/storage logic into a new internal
tagaliaspackage and reuses it from tag creation and admin command recreation.On the frontend, adds API bindings and a tags-page UI action to start resyncs, poll progress, surface cooldown/conflict responses, and show completion/warning/error toasts, plus new
TagAliasResyncStatustyping and audit label support.NEEDS: TicketsBot-cloud/database#42
Type of Change
Testing
Add a good handful of command aliases not via the dashboard (for an example manually via the database)
These commands will be out of sync, now please click the button and see the commands the resynced to discord, this will work the other way too
Checklist