Saran pengguna
gelar Bu Kabid pendataan di SKPD pajak reklame hilang, tolong dibuat kembali ya
Ikuti perkembangan laporan dan penjelasan penyelesaiannya di halaman ini.
Selesai1 pengikut
Penjelasan perbaikan
refactor(identitas): store dynamic person titles for document names
## Changes
SKPD signatures can lose titles when employee identity synchronization replaces a formal name with the KTP name. Store `gelarDepan` and `gelarBelakang` on each `orang_pribadi` and compose formal document names from those fields instead of a fixed signer name.
- Capture and edit titles across identity, registration, employee, BPHTB, kuasa, shareholder and landowner flows, with ownership checks and audit logging.
- Use dynamic titles for taxpayer and officer names across TTE/public PDFs and newly created Penagihan/PBB snapshots. Keep KTP names and existing signed documents unchanged.
- Prepare a data-driven backfill from existing full names, with optional legacy employee seed recovery and a read-only report by default. Its application reads use schema-backed Drizzle builders; native PostgreSQL transaction, timeout, lock and connection operations have exact documented policy exceptions.
- Issue new public-document receipts with title-aware source version 4 while retaining verification of older receipt revisions.
- Pass only formal-name fields into the NIK title editor so other KTP details remain behind audited reveal. Keep the SQL regression fixture aligned with Drizzle timestamps, and allow the two-inspection CSS transport test to finish within its existing per-inspection deadlines.
Closes #1751.
## Release impact
Patch. Extend existing identity management and document generation with configurable person titles; this introduces no distinct application workflow or core database overhaul.
## Migration notes
- Apply production migration `0204_orang_pribadi_gelar`, or development migration `0186_orang_pribadi_gelar`, before activating the new application readers. Both add nullable title columns without changing existing names or identity synchronization triggers.
- Run the seed separately after migration. Generate and review its protected report before applying it with an existing administrator actor. See `docs/orang-pribadi-gelar-seed.md`. No backfill runs automatically during deployment.
- `NULL` preserves an unconfigured legacy name; an empty string explicitly clears a title. The seed preserves configured values and never rewrites KTP names.
- Keep the added columns during rollback. Once version-4 receipts exist, any rollback must retain version-4 receipt-reader compatibility because older readers reject those receipts.
- Migrations and seed have not been applied.
## Validation
- The changed-file React Doctor audit was rerun against the merged production base. It has zero errors and three duplicate-JSX warnings in the existing kuasa address controls. Those flagged blocks are unchanged from production; this merge makes no UI refactor or rule suppression.
- Merged current production and preserved its published `0203_keberatan_ajuan` migration and snapshot unchanged. Regenerated titles as `0204_orang_pribadi_gelar` with Drizzle Kit 0.31.11. The new snapshot changes only the two nullable title columns and follows production's snapshot. Schema consistency across 497 tables, append-only migration history, in-memory old/new compatibility, 19 focused person-title/page/seed regressions, query policy with zero violations, syntax and whitespace checks pass. No live migration or seed was executed.
- The Drizzle query-policy repair passes the exact CI scanner against base `d36390d8bc72d4c9b054bb67115b58eb9b676e37` with zero violations. Eight scoped native-operation declarations cover eleven call sites. Six seed-query/planner tests and eleven query-policy fixtures pass, as do seed TypeScript, ESLint and graph fingerprint checks. No query-rule exclusions or general suppressions were added.
- Passed 13 focused page and SQL tests with `node --import tsx --test --test-concurrency=1 lib/staff-taxpayer-pages.test.mjs lib/orang-pribadi/nama.test.ts`. The new prop-boundary regression and existing suffix-update regression were reproduced failing before the fixes.
- Passed the targeted generated-CSS transport regression with real pinned Chromium 153.0.0. The attached CI run stopped before compilation when the two-inspection test exceeded the suite's 60-second cap; its explicit test budget is now 180 seconds. Production inspection deadlines, workflow defaults, and assertions are unchanged. The original CI timeout did not reproduce locally.
- Passed ESLint and syntax checks for the repaired files, the changed-page UI integration check, focused TypeScript checks, graph-loader fingerprints, and `git diff --check`.
- The original PR passed React Doctor in CI. Local full scans report no source findings but remain incomplete because cached dependency peer metadata is unavailable for two Tiptap packages. A broader local TypeScript check also remains limited by missing CSS declarations and `jose` in the available dependencies.
- No local application build or dev server was run. Migrations and the data seed remain unapplied; the pushed repair requires a fresh CI run.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
<!-- coderabbit-ai-generated:v1 -->
## Summary by CodeRabbit
* **New Features**
* Individual taxpayer forms now support optional front and rear titles across registration, verification, profile, and related identity workflows.
* People can review and update saved titles, with a preview of the formatted name.
* **Improvements**
* Personal titles appear in taxpayer and employee names, including receipts and official documents.
* Existing titles in names can be recognized when populating title fields; explicitly saved titles take precedence.
* Receipts include the updated name format while preserving the recorded version’s display for previously issued documents.
* **Bug Fixes**
* Newly registered and updated individual records now retain submitted titles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Penjelasan laporan
Konteks yang disampaikan pelapor.
segera fad ditunggu sama wajib pajak
- Kategori
- Lainnya
- Dampak
- Ringan
- Frekuensi
- Sekali