teqo-backup/src/utilities
Cursor Agent 62b6001ed8
OPS14 — form-action guard sweeps ladder, not filename
Replace the W4d filename-based convention spec with a sweep of every
src/app/(campaign) file that calls mapCampaignFormActionError without
runCampaignFormAction/Redirect. Migrate profile, leaderSupporter, and
convite-login to the shared wrappers; allowlist auth/password and the
existing bespoke formActions exceptions with documented reasons.

Closes #241

Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
2026-08-02 16:47:42 +00:00
..
access D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
homeSearch B93 — wizard empty state continuity (visitados + última ação) 2026-08-01 07:21:56 +00:00
leadership refactor(campanha): simplify B70 wizard loader and tile a11y. 2026-07-30 03:51:25 -03:00
municipality A6 — Dobradinha 2026 automática quando o TSE publicar candidaturas (pós-15/08) (#82) 2026-07-31 00:14:27 -03:00
notification refactor(notifications): bell loaders read through owner access, no bypass 2026-07-31 20:57:18 -03:00
supporter Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
territory feat(E10+): Escala e DRY pós-E10 2026-07-29 23:18:25 -03:00
visit Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
webauthn fix(e2e): WebAuthn on prod build, saved-filters navigation, Vercel scripts 2026-07-30 17:37:20 -03:00
activityDetailPageData.ts C11: picker remoto de atividades na demanda + paginação de vínculos 2026-08-01 06:37:53 +00:00
activityDetailTabUi.ts C11: picker remoto de atividades na demanda + paginação de vínculos 2026-08-01 06:37:53 +00:00
activityFormData.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
activityLeadershipOptions.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
activityPageData.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
activityRelationOptions.ts C11: picker remoto de atividades na demanda + paginação de vínculos 2026-08-01 06:37:53 +00:00
activityUi.ts E13: visit eligibility checklist and the tour composer. 2026-07-27 21:04:04 -03:00
activityViewModels.ts Fix Prettier formatting in activityViewModels. 2026-07-29 22:58:35 -03:00
advisorData.ts B50: home search Assessores group for unrestricted staff. 2026-07-29 22:09:42 -03:00
campaignAccess.ts D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
campaignActionContext.ts B32+: share the campaign JSON route wrapper, fetch helper and cell auto-save. 2026-07-28 08:07:29 -03:00
campaignAuditFields.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
campaignAuth.ts style: format campaignAuth.ts 2026-08-01 06:10:33 +00:00
campaignBiometricsPrompt.ts Deliver B40: biometric login for /campanha. 2026-07-28 10:59:23 -03:00
campaignColumnVisibilityCookie.ts B17: column picker on the seven CampaignTable list surfaces. 2026-07-28 08:25:16 -03:00
campaignConsent.ts D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
campaignDashboardData.ts style: prettier campaign snapshot utilities 2026-08-01 06:34:25 +00:00
campaignDemandData.ts C11: picker remoto de atividades na demanda + paginação de vínculos 2026-08-01 06:37:53 +00:00
campaignEntityActions.ts Break up the god modules into deep domain modules 2026-07-23 23:44:45 -03:00
campaignFormActionError.ts OPS14 — form-action guard sweeps ladder, not filename 2026-08-02 16:47:42 +00:00
campaignFormFields.ts E11 post-rebase simplify: clamp the composed rationale, extract firstFormActionMessage at its 3rd call site, keep metrics server-side. 2026-07-28 14:03:29 -03:00
campaignGeolocation.ts B14: municipio mais proximo (atalho geo no Inicio staff) 2026-07-26 17:33:33 -03:00
campaignGoals.ts E9 /simplify: consolidate duplicated helpers, dead passthrough, comment drift 2026-07-25 02:24:18 -03:00
campaignInvite.ts Pass 2 W2: correcoes de fronteira lib/utilities e client boundary 2026-07-25 14:38:41 -03:00
campaignInviteCreation.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
campaignInviteOrigin.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
campaignInvitePageData.ts B69: simplify the leadership model to exclusive + drop sector/consentNote. 2026-07-30 02:32:56 -03:00
campaignInviteRedemption.ts D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
campaignInviteRepository.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
campaignJsonMutationRoute.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
campaignListUrl.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
campaignPageActor.ts B45: mount persona home action catalog on /campanha. 2026-07-29 14:43:50 -03:00
campaignPasswordReset.ts Add campaign password reset, profile photo, and RS+ follow-up plan. 2026-07-19 05:26:56 -03:00
campaignPwa.ts D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
campaignPwaClient.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
campaignRelationOptions.ts C11: picker remoto de atividades na demanda + paginação de vínculos 2026-08-01 06:37:53 +00:00
campaignUserProfile.ts Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
campaignVoteSummarySnapshot.ts style: prettier campaign snapshot utilities 2026-08-01 06:34:25 +00:00
consentContentHash.ts Ship /campanha nuclei MVP with RBAC, invites, and vote estimates. 2026-07-18 15:01:56 -03:00
contactPhoneInvariant.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
dashboardPriorityMunicipalities.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
detailTabUi.ts C13: renomeia "Plano de Acao" para "Atividade" em toda a vertical /campanha 2026-07-25 20:50:38 -03:00
documentReads.ts Guardas programaticas: fronteira lib/ (no-restricted-imports), ban de consent id hardcoded, codebaseConventions.unit.spec (server-only, copy Praca/Nucleo, listas legadas do eslint, wrappers de formActions), ciclo do payload.config quebrado (documents/globals divididos em tags+reads), timeout global do int suite, personName schema-valido, consent drafts Onda 0 p/ Municipio 2026-07-25 18:02:02 -03:00
documents.ts Guardas programaticas: fronteira lib/ (no-restricted-imports), ban de consent id hardcoded, codebaseConventions.unit.spec (server-only, copy Praca/Nucleo, listas legadas do eslint, wrappers de formActions), ciclo do payload.config quebrado (documents/globals divididos em tags+reads), timeout global do int suite, personName schema-valido, consent drafts Onda 0 p/ Municipio 2026-07-25 18:02:02 -03:00
drizzleBulk.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
electionCache.ts Pass 2 W2: correcoes de fronteira lib/utilities e client boundary 2026-07-25 14:38:41 -03:00
electionCandidateOptions.ts Pass 2 W2: correcoes de fronteira lib/utilities e client boundary 2026-07-25 14:38:41 -03:00
electionResultsImport.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
entityNotFound.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
extractFirstImageFromLexical.ts feat: Add schema-dts to package.json and update SEO metadata 2026-05-01 02:13:39 -03:00
formatRelativeAge.ts Add recent visits panel to /campanha and register VR+ simplify follow-ups. 2026-07-19 04:06:14 -03:00
globalReads.ts Guardas programaticas: fronteira lib/ (no-restricted-imports), ban de consent id hardcoded, codebaseConventions.unit.spec (server-only, copy Praca/Nucleo, listas legadas do eslint, wrappers de formActions), ciclo do payload.config quebrado (documents/globals divididos em tags+reads), timeout global do int suite, personName schema-valido, consent drafts Onda 0 p/ Municipio 2026-07-25 18:02:02 -03:00
globals.ts Guardas programaticas: fronteira lib/ (no-restricted-imports), ban de consent id hardcoded, codebaseConventions.unit.spec (server-only, copy Praca/Nucleo, listas legadas do eslint, wrappers de formActions), ciclo do payload.config quebrado (documents/globals divididos em tags+reads), timeout global do int suite, personName schema-valido, consent drafts Onda 0 p/ Municipio 2026-07-25 18:02:02 -03:00
hookFilledData.ts Add the tooling gate: knip, CI, zero-warning lint, as-never ban 2026-07-23 23:06:12 -03:00
leaderContactsPageData.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
loadNamesByIds.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
onda0Provision.ts Deliver Onda 0 MVP: provisional Consent, privacy policy, and /privacidade. 2026-07-19 03:38:21 -03:00
organizationData.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
payloadTransaction.ts Ship /campanha nuclei MVP with RBAC, invites, and vote estimates. 2026-07-18 15:01:56 -03:00
postgresTransactionLocks.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
posts.ts Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
recentVisits.ts Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
revalidateRequest.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
sameOriginRequest.ts B32+: share the campaign JSON route wrapper, fetch helper and cell auto-save. 2026-07-28 08:07:29 -03:00
seo.ts B33+: close the /simplify rounds on the shared list filter hook 2026-07-27 09:39:15 -03:00
signatureExport.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
stateDeputyData.ts B52: add Dobradinhas group to staff home search. 2026-07-29 22:52:35 -03:00
stateDeputyListFilters.ts B33+: close the /simplify rounds on the shared list filter hook 2026-07-27 09:39:15 -03:00
stateDeputyListUrl.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
voteEstimateScenarioFields.ts Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
votePledgeData.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
votePledgeViews.ts Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00