refactor(emcn): share invalid OTP slot treatment - #8246
BillLeoutsakosvl346 merged 5 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
@greptile review this PR |
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
d7f8b69
into
codex/control-fix-account-status-headings
* improvement(ui): share account status headings * improvement(ui): use shared sizing for auth controls * refactor(emcn): share invalid OTP slot treatment (#8246) * Add shared invalid state to EMCN OTP slots * fix(ui): distinguish OTP verification from resend errors * test(ui): type OTP input queries as inputs * test(ui): import OTP test button prop type * test(ui): use shared logger mock in OTP regression --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com>
* improvement(emcn): share larger chip and field geometry * improvement(ui): share public authentication headings * improvement(ui): share workflow panel tab buttons (#8072) * improvement(ui): share workflow panel tab buttons * improvement(ui): reuse chips for panel selection actions (#8166) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * refactor(ui): share account headings and auth control sizing (#8074) * improvement(ui): share account status headings * improvement(ui): use shared sizing for auth controls * refactor(emcn): share invalid OTP slot treatment (#8246) * Add shared invalid state to EMCN OTP slots * fix(ui): distinguish OTP verification from resend errors * test(ui): type OTP input queries as inputs * test(ui): import OTP test button prop type * test(ui): use shared logger mock in OTP regression --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com> * improvement(ui): share missing resource states (#8078) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): reuse avatars for owners and members (#8079) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * fix(ui): adopt exact shared 18px typography token * fix(ui): preserve panel and auth control semantics --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com>
* improvement(emcn): share ordinary action geometry in Button * improvement(emcn): consolidate selection controls and styling options * test(emcn): read email geometry from the public export * improvement(emcn): share larger chip and field geometry (#8151) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * refactor(ui): use EMCN fields in deployment and setup modals (#8009) * improvement(emcn): share larger chip and field geometry * refactor(ui): use EMCN fields in deployment and setup modals * improvement(ui): reuse chip for PII configuration action (#8173) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): compose horizontal and credential fields in EMCN (#8164) * improvement(ui): compose horizontal and credential fields in EMCN * Share deploy chat field error treatment (#8255) * refactor(ui): share deploy chat field error treatment * refactor(ui): name deploy error props --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): share knowledge filter headings (#8073) * improvement(ui): share knowledge filter headings * improvement(ui): share inline filter and pagination actions (#8163) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): use chip fields in workflow search and replace (#8076) * improvement(emcn): share larger chip and field geometry * improvement(ui): use chip fields in workflow search and replace * fix(ui): use shared centered chip content on chat errors * improvement(ui): use chips for ordinary product actions (#8081) * improvement(ui): use chips for ordinary product actions * improvement(ui): use shared chip alignment * improvement(ui): use shared search action sizes (#8160) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): reuse chips for custom block upload actions (#8084) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * fix(chat): use native attachment action (#8265) * fix(chat): use native attachment action * fix(chat): retain disabled attachment tooltip --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * fix(chat): use EMCN icon button target for attachments * refactor(ui): centralize destructive ghost button colors in EMCN (#7988) * improvement(emcn): share larger chip and field geometry * refactor(ui): use EMCN fields in deployment and setup modals * refactor(ui): centralize destructive ghost button colors in EMCN * improvement(ui): use standard knowledge tag icon size * refactor(ui): consolidate product corner radii * improvement(ui): reuse chip for PII configuration action (#8173) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * refactor(ui): share collapsible workflow field cards (#8017) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): compose horizontal and credential fields in EMCN (#8164) * improvement(ui): compose horizontal and credential fields in EMCN * Share deploy chat field error treatment (#8255) * refactor(ui): share deploy chat field error treatment * refactor(ui): name deploy error props --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com> * improvement(ui): share public headings and product typography (#8069) * improvement(emcn): share larger chip and field geometry * improvement(ui): share public authentication headings * improvement(ui): share workflow panel tab buttons (#8072) * improvement(ui): share workflow panel tab buttons * improvement(ui): reuse chips for panel selection actions (#8166) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * refactor(ui): share account headings and auth control sizing (#8074) * improvement(ui): share account status headings * improvement(ui): use shared sizing for auth controls * refactor(emcn): share invalid OTP slot treatment (#8246) * Add shared invalid state to EMCN OTP slots * fix(ui): distinguish OTP verification from resend errors * test(ui): type OTP input queries as inputs * test(ui): import OTP test button prop type * test(ui): use shared logger mock in OTP regression --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com> * improvement(ui): share missing resource states (#8078) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * improvement(ui): reuse avatars for owners and members (#8079) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> * fix(ui): adopt exact shared 18px typography token * fix(ui): preserve panel and auth control semantics --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Waleed <walif6@gmail.com> * fix(ui): preserve shared tag actions and product styling fallbacks * fix(ui): keep logs filters on canonical chip height --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Codex <codex@openai.com> Co-authored-by: Waleed <walif6@gmail.com>
Summary
Add an
invalidstate to EMCNInputOTPSlotand use it in the three matching account, chat, and public-file OTP flows. The shared slot owns the existing error border, and the underlying input now exposesaria-invalid.Base and validation
Targets the live account-headings head
5d7f002(#8074). Focused EMCN tests, EMCN and app type checks, Biome, and diff whitespace checks passed. Independent source review confirmed that invalid border precedence preserves the active ring and that all three consumers forward the same state.Eight matched visual pairs cover idle and focused OTP slots in light/dark at 16px and 20px root text; before/after pixels and computed styles match. The added ARIA state is intentional. Evidence is stored outside the product checkout.
The local design diff check and comparable full scans are queued. Keep this PR unmerged until those results, both bot reviews, all required checks, and all review threads are complete.