Accessibility, tenant-CSS sanitization, and UI utility fixes#6
Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR adds CSS sanitization logic to the tenant theme provider, introduces migration-related decryption helpers with internal utility functions, and includes an additional import cleanup step for react-router-dom in the lovable converter. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be817c486b
ℹ️ 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".
| // Find user by email | ||
| const user = await prisma.users.findUnique({ | ||
| const user = await prisma.users.findFirst({ | ||
| where: { email }, | ||
| }); |
There was a problem hiding this comment.
Scope password reset lookup to tenant
With the schema change allowing duplicate emails across tenants (users now have @@unique([tenantId, email])), this findFirst lookup can return an arbitrary tenant’s account when the same email exists in multiple tenants. In that case the reset token is attached to the wrong user, so the email recipient ends up resetting whichever account was picked first rather than the account for the current tenant. Consider scoping the lookup by the tenant from the request (subdomain/header) or requiring a tenant identifier.
Useful? React with 👍 / 👎.
Motivation
dangerouslySetInnerHTML.Description
nextjs_space/components/cookie-consent.tsx) to run consent checks only on mount, addrole="dialog",aria-modal="true",aria-labelledby, Escape/backdrop close handling, a simple focus-trap implemented inonKeyDown, focus the first checkbox on open, and append a; Secureflag to consent cookies when running underhttps:.nextjs_space/components/tenant-theme-provider.tsxby addingsanitizeCustomCssand renderingsanitizedCustomCssinstead of rawcustomCssintodangerouslySetInnerHTML.BreadcrumbEllipsis.displayNameinnextjs_space/components/ui/breadcrumb.tsx, unsubscribed thereInitlistener innextjs_space/components/ui/carousel.tsx, removed the extra space in overlay classes innextjs_space/components/ui/dialog.tsx, correctedMenubarShortcut.displayNameinnextjs_space/components/ui/menubar.tsx, and removed an unuseduseStateimport fromnextjs_space/components/ui/task-card.tsx.Testing
Codex Task
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.