Conversation
There was a problem hiding this comment.
2 issues found across 20 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="client/src/components/TripInfos.tsx">
<violation number="1" location="client/src/components/TripInfos.tsx:29">
P2: `aria-labelledby` points to an element id that does not exist, so assistive tech will not find a label for this section. Use an `aria-label` or ensure a matching id exists.</violation>
</file>
<file name="client/src/components/Modal.tsx">
<violation number="1" location="client/src/components/Modal.tsx:35">
P2: Escape key handling is now duplicated (document listener + overlay onKeyDown), so `onClose()` can fire twice for one keypress. This can cause double state updates/unmount side effects. Remove one of the handlers (typically the overlay onKeyDown) when using the global listener.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| }; | ||
|
|
||
| if (isOpen) { | ||
| document.addEventListener("keydown", handleKeyDown); |
There was a problem hiding this comment.
P2: Escape key handling is now duplicated (document listener + overlay onKeyDown), so onClose() can fire twice for one keypress. This can cause double state updates/unmount side effects. Remove one of the handlers (typically the overlay onKeyDown) when using the global listener.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At client/src/components/Modal.tsx, line 35:
<comment>Escape key handling is now duplicated (document listener + overlay onKeyDown), so `onClose()` can fire twice for one keypress. This can cause double state updates/unmount side effects. Remove one of the handlers (typically the overlay onKeyDown) when using the global listener.</comment>
<file context>
@@ -9,36 +9,67 @@ type ModalProps = {
+ };
+
+ if (isOpen) {
+ document.addEventListener("keydown", handleKeyDown);
+ }
+
</file context>
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/deploy.yml">
<violation number="1" location=".github/workflows/deploy.yml:53">
P1: Interpolating `github.event.head_commit.message` directly inside the shell-quoted `curl` payload enables command injection from crafted commit messages.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/deploy.yml">
<violation number="1" location=".github/workflows/deploy.yml:55">
P2: Escape the commit message before interpolating it into an HTML-formatted Telegram message.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Summary by cubic
Improved trips, invitations, and budget UX with accessible modals, validated forms, mobile-friendly tabs, and consistent styles. Cleaned up data fetching and types, updated app metadata to 1.0.0, and secured CI deploy notifications with clear Telegram alerts.
Refactors
Dependencies
Written for commit 740c26c. Summary will update on new commits.