Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The opt-in behavior preserves existing defaults and is supported by focused unit and cross-browser regression coverage.
Review effort: Balanced
Findings: None
What changed in this PR
Adds opt-in non-modal Healthcheck drawers to satisfy #4440 while preserving existing modal behavior.
Changes:
- Adds
healthcheck.disableModalwith scoped Escape and focus restoration. - Improves drawer naming, portal click handling, and accessibility coverage.
- Upgrades Gravity UIKit to 7.48.0 and updates affected tests.
| File | Description |
|---|---|
src/components/Drawer/Drawer.tsx |
Implements non-modal drawer behavior and naming. |
src/components/Drawer/Drawer.scss |
Styles the event boundary wrapper. |
src/components/Drawer/__test__/DrawerAccessibility.test.tsx |
Tests focus restoration and adjacent panels. |
src/components/Search/__test__/Search.test.tsx |
Adds required UIKit theme context. |
src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx |
Applies the Healthcheck configuration. |
src/containers/Tenant/Healthcheck/components/__test__/HealthcheckDrawerExtension.test.tsx |
Tests modal configuration propagation. |
src/index.tsx |
Loads the E2E drawer fixture. |
src/types/window.d.ts |
Types the E2E fixture mode. |
src/uiFactory/types.ts |
Exposes the consumer setting. |
tests/fixtures/healthcheckDrawer.tsx |
Provides paired-panel test scenarios. |
tests/suites/sidebar/drawerBehavior.test.ts |
Adds real veil-dismissal regressions. |
tests/suites/sidebar/healthcheckAccessibility.test.ts |
Covers accessibility and focus behavior. |
tests/suites/tenant/queryEditor/models/SettingsDialog.ts |
Resolves error popovers through ARIA links. |
tests/suites/tenant/queryEditor/querySettings.test.ts |
Verifies timeout validation messages. |
tests/utils/clickDrawerVeil.ts |
Adds hit-tested veil clicking. |
package.json |
Upgrades Gravity UIKit. |
package-lock.json |
Locks UIKit 7.48.0. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
No flows tested, and faced 1 obstacle. Obstacles faced
To reduce obstacles, configure your TREX environment. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8b4a5499bd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 239b8bf411
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Keep click capture inside the panel while retaining the keyboard boundary. Cover veil clicks, URL cleanup and nested dialog dismissal. Refs #4440
Resolve validation popovers through aria-controls and refresh four reviewed Linux ErrorDisplay snapshots. Refs #4440
Reuse the Healthcheck fixture and keep focus restoration checks alongside the browser interaction matrix. Check reload once per opening order and make the external-close test detect focus stealing.
Focus cluster, database-list, cluster-list and Bridge openers before opening a non-modal Healthcheck drawer. Preserve modal behavior. Add real-page accessibility coverage for all four entry points, including pointer and keyboard activation with Close and Escape.
239b8bf to
aacc4f8
Compare
Wait for the initial list and a fresh request before checking the running query. Keep a cancellable response stream open until the UI assertion, then cancel it and independently verify that the query is inactive. Preserve existing timeouts and both assertion and cleanup errors.
Raubzeug
left a comment
There was a problem hiding this comment.
Thanks for the thorough a11y work and test coverage! A few comments inline, mostly about Escape and focus return in the new non-modal mode.
General: the PR also includes sizable rewrites of tests/suites/tenant/diagnostics/tabs/queries.test.ts, info.test.ts, nodes/nodes.test.ts and paginatedTable/keyboardNavigation.test.ts (flakiness fixes) that aren't related to the non-modal Healthcheck feature. AGENTS.md asks for no unrelated changes. Could these go into a separate PR to keep this one easier to review and revert?
Raubzeug
left a comment
There was a problem hiding this comment.
Thanks for the quick fixes: Escape with nested popups and focus return on retarget look good now (replied in those threads).
A few new comments on the latest commits are inline. Still open from the previous round, with no changes or replies yet: the document.body heuristic, the duplicated focus() in openers, documenting the UIKit bump for consumers, the src/index.tsx E2E override pattern, and the unrelated E2E test rewrites.
Исправление #4440: Healthcheck и панель ИИ-помощника можно открывать в любом порядке, сохраняя доступ к обеим панелям с клавиатуры и через скринридер.
Что изменилось
Как включить
До рендера приложения:
По умолчанию Healthcheck остаётся модальным. Соседняя ИИ-панель тоже должна поддерживать немодальный режим. Настройки затемнения и закрытия по клику снаружи не меняются.
Что ещё вошло в PR
Проверки
Локально прошли 100 accessibility-сценариев, 10 проверок production-сборки и 2400 unit-тестов; typecheck, lint и сборки — тоже. Совместная работа с настоящими компонентами ИИ-панели проверена на локальном стенде с моками backend/SSE: 24 сценария. Это проверка сохранённого wrapper-кандидата, а не развёрнутого приложения.
В CI коммита
625e138все 100 accessibility-сценариев прошли с первой попытки. Полный прогон пока красный: Safari-тест цветов VDisk popup в shard 5/8 упал по таймауту. Причина ещё не установлена.CI Results
Test Status: ❌ FAILED
📊 Full Report
Test Changes Summary ✨52 🗑️39
✨ New Tests (52)
🗑️ Deleted Tests (39)
Bundle Size: 🔺
Current: 65.31 MB | Main: 65.22 MB
Diff: +0.09 MB (0.14%)
ℹ️ CI Information