Skip to content

refactor: implement useDialogSnapshot for stable state management across various components#444

Merged
chenyme merged 2 commits into
devfrom
dialog
Jul 7, 2026
Merged

refactor: implement useDialogSnapshot for stable state management across various components#444
chenyme merged 2 commits into
devfrom
dialog

Conversation

@chenyme

@chenyme chenyme commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix dialog close-animation flicker caused by clearing target/form state before Radix exit animations finish.

Adds a small useDialogSnapshot hook and applies it to data-driven Dialog / AlertDialog / Sheet content so closing dialogs keep rendering the last valid state until the close animation completes. Also fixes the manually opened announcement dialog briefly showing “今日不再显示” during close.

Sensitive inputs such as passwords and verification codes still clear immediately and are intentionally not snapshotted.

Change type

  • Bug fix
  • Feature
  • Documentation
  • Refactor
  • Configuration / deployment
  • Security hardening
  • Other

Affected areas

  • Frontend / UI
  • Backend / API
  • Authentication / authorization
  • Conversations / streaming
  • Files / RAG / extraction
  • Model routing / providers
  • MCP / tools
  • Billing / payments
  • Admin console
  • Deployment / Docker / configuration
  • Documentation

Verification

  • cd frontend && pnpm lint
  • cd frontend && pnpm exec tsc --noEmit
  • git diff --check
  • Not run; reason:

Screenshots, API examples, or logs

No screenshots attached. Verified by static checks and code review of Dialog / AlertDialog / Sheet close-state patterns.

Configuration, migration, and compatibility notes

No configuration, migration, backend API, database schema, Docker, CORS, or public API contract changes.

Documentation

  • Documentation is not needed for this change.
  • Documentation was updated.
  • Documentation still needs to be updated.

Security and privacy

  • No secrets, tokens, credentials, local config, or personal data are included.
  • User data access remains scoped by authenticated user context unless an admin-only path explicitly requires broader access.
  • Security-sensitive behavior was reviewed, including authentication, authorization, provider routing, file processing, billing, and admin APIs where relevant.

Checklist

  • I searched existing issues and pull requests.
  • Changes are focused and do not include unrelated refactors.
  • Tests or static verification were run where practical.
  • User-facing behavior, deployment steps, API contracts, or configuration changes are documented.
  • Generated artifacts are included only when this project explicitly requires them.
  • Caches, build output, .pyc files, .env files, and local storage data are not committed.

@chenyme chenyme self-assigned this Jul 7, 2026
@chenyme
chenyme merged commit 9c36769 into dev Jul 7, 2026
10 checks passed
@chenyme
chenyme deleted the dialog branch July 7, 2026 08:33
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.

[Bug]: 在左下角打开的公告界面点击关闭时"今日不再显示"按键会闪现

1 participant