Repository navigation
feat(accounts): contextual operations and OAuth-only 292 controls - #189
Merged
Merged
Conversation
HTExplicit
enabled auto-merge (squash)
September 19, 2026 05:32
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.
Account actions previously closed their configuration dialog and opened a global task list. They now show progress and results in the original dialog, can be minimized into a compact progress panel, and retain results in account-page operation history. Existing single-account streaming tests keep their close-to-stop behavior.
The 292 action is visible only for non-shadow OpenAI OAuth/Setup Token accounts, including disabled/error accounts. Mixed selections hide the bulk entry; submission revalidates the entire selection. Migration 245 removes account-status invalidation from the ticket trigger while preserving deletion, owner/type changes, cancellation, and lease safeguards. Harvesting and finite renewal never enable accounts or alter business scheduling.
Progress recovery is independent of history filters and pagination. Uncertain submissions reuse their idempotency key, failed-item results remain reviewable, and duplicate review/confirmation/merge stays in the same dialog. The legacy /admin/tasks route redirects to account operation history.
Validation: targeted frontend component/store/API/selection tests, frontend type checking and changed-file lint passed; focused ticket service tests passed using synthetic upstream responses. Browser checks with mocked APIs exercised configuration, progress, minimize/restore, partial failure, history, light/dark themes and mobile overflow, with no page errors. Local PostgreSQL integration tests were explicitly skipped by the harness because Docker is unavailable; normal CI must run the added repository cases. No real model calls or production ticket harvesting were used for acceptance.