Skip to content

fix(console): automatically confirm Telegram channel creation - #3650

Open
AbigailDeng wants to merge 1 commit into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-09-16_telegram-auto-confirm
Open

AbigailDeng wants to merge 1 commit into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-09-16_telegram-auto-confirm

Conversation

@AbigailDeng

Copy link
Copy Markdown
Contributor

Problem and behavior

Creating a Telegram channel with only a bot token could remain on the submitted form even though provisioning had succeeded. The backend completes Nyx provisioning before returning accepted, but its local registration list becomes visible asynchronously. The form made only one immediate list read and required a manual Check again after a delayed or failed read. A read-only recheck of the reported channel opened its existing detail page with Active inbound status and Ready delivery status.

The form now automatically confirms the exact registration ID, scope and Telegram platform through the existing query, then shows the existing success toast and opens the channel detail page. Pending/error reads retry only GET after one second, with no overlapping reads and a 30-second total limit that includes stalled requests. Accepted creation is never resubmitted. Completion and unmount stop confirmation; late responses cannot navigate or show success. At the limit the submit action remains disabled as Connection pending, with one warning and the existing Back to channels action.

Remove the entire manual Check again panel, its styles and unused English/Chinese messages. Use the existing submit button for Connecting feedback. Token-only name defaults, service grants, API requests and detail presentation remain shared with the existing flow.

Scope and documentation

  • TelegramConnectionPage.tsx and its integration tests: automatic confirmation, exact ownership checks, duplicate submission protection, timeout and unmount behavior.
  • connectionStyles.ts and channel locale catalogs: remove the manual confirmation surface and localize button feedback.
  • docs/features/2026-09-14-channel-pages.md: document the bounded creation-only confirmation exception to manual browsing refresh.
  • Backend contract reference: origin/feature/integrate at c74b68f13, NyxTelegramProvisioningService.cs:187. Frontend-only change.

Local verification

All frontend commands below ran from apps/aevatar-console-web/ unless noted.

  • Scope analysis from the repository root: python3 /Users/abigaildeng/.codex/skills/frontend-incremental-pr/scripts/frontend_change_scope.py --repo . --base origin/feat/2026-08-04_workflow-activity-vnext.
  • Dependency preflight: pnpm exec jest --listTests --runInBand --findRelatedTests src/pages/workflow-activity-vnext/channels/TelegramConnectionPage.tsx src/pages/workflow-activity-vnext/channels/connectionStyles.ts selected exactly the 3 files run below. Locale catalogs were excluded from dependency discovery because of their broad import fan-out.
  • Changed and dependency-related tests: pnpm exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/channels/TelegramConnectionPage.test.tsx src/pages/workflow-activity-vnext/channels/ChannelEditPage.test.tsx src/pages/workflow-activity-vnext/index.test.tsx passed: 3 suites, 154 tests. The initial creation-only run found a test selector that omitted Ant Design's loading icon accessible name; the selector was corrected and all 13 creation tests pass in the final run.
  • Changed-file static checks: pnpm exec biome check src/pages/workflow-activity-vnext/channels/TelegramConnectionPage.tsx src/pages/workflow-activity-vnext/channels/TelegramConnectionPage.test.tsx src/pages/workflow-activity-vnext/channels/connectionStyles.ts src/locales/channelMessages.en-US.ts src/locales/channelMessages.zh-CN.ts passed for all 5 files, after formatting those files with the same scoped Biome command using --write.
  • Repository root: bash tools/ci/test_stability_guards.sh and git diff --check passed.
  • Local development server starts with remote backend configuration and reaches the login page. A fresh localhost login is required for browser verification of the changed form. No additional real bot was created during validation; submitted-flow behavior is covered by the component/route integration tests.
  • Full frontend suite, full typecheck and production build are delegated to GitHub CI under the personal incremental validation policy. No reliable affected typecheck target is available.

Design baseline

Design baseline:
  apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/
Primary design:
  aevatar-workflow-activity-vnext.excalidraw
Design SHA-256:
  30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de
Contract specification:
  apps/aevatar-console-web/docs/superpowers/specs/
  2026-08-04-workflow-activity-vnext-design.md
User paths:
  apps/aevatar-console-web/docs/superpowers/specs/
  2026-08-04-workflow-activity-vnext-user-paths.md
Authentication and localization:
  Existing Aevatar login, callback, session, returnTo, and Umi locale logic.
Production data source:
  Real APIs and API-acknowledged user actions only; no mock fallback.
Baseline integrity:
  Baseline artifacts are unchanged; no baseline regeneration was required.

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