chore(autonomous-session): consolidate uncommitted work from prior session
Bundles the prior autonomous-session output that was sitting unstaged: - Em-dash sweep across src/ + tests/ (en-dash/em-dash to hyphen, ~2280 instances) - country-flag-icons rollout (CountryFlag component, replaces emoji glyphs that never rendered on Windows; lazy-loads the 3x2 SVG index as a single chunk after the per-subpath dynamic-import approach silently failed in webpack) - Admin IA Phase 1+2: 7-domain regroup, 41 to 38 pages, /admin/berths index, redirects (ocr to ai, reports to dashboard, invitations to users), docs/admin-ia-proposal.md - Per-template email tester (registry + endpoint + UI on Email admin page) - Cancel-document mode picker (delete-from-Documenso vs keep-for-audit) - Dashboard PDF report: 25 widgets, SVG charts, date-range picker, 11 resolvers - Customize-widgets per-region sortables at xl+ (charts/rails/feed); single flat sortable below xl when the layout stacks; per-viewport saved orders - Audit doc updates capturing each shipped item - Lint fixes: react-compiler immutability in DonutChart (reduce instead of let-reassign), set-state-in-effect disables in CountryFlag and UploadForSigning preview-bytes effect, unused 'confirm' destructures in interest contract + reservation tabs, unescaped apostrophe in test-template card copy
This commit is contained in:
@@ -38,7 +38,7 @@ export interface PrimaryBerthRef {
|
||||
/**
|
||||
* The primary berth for an interest, if any. Resolves the row marked
|
||||
* `is_primary=true`; falls back to the most recently added berth row
|
||||
* when no row is flagged primary (defensive — the unique partial index
|
||||
* when no row is flagged primary (defensive - the unique partial index
|
||||
* guarantees ≤1 primary, but reads should never throw on data drift).
|
||||
*/
|
||||
export async function getPrimaryBerth(interestId: string): Promise<PrimaryBerthRef | null> {
|
||||
@@ -224,7 +224,7 @@ export async function upsertInterestBerthTx(
|
||||
opts: AddOrUpdateOpts = {},
|
||||
): Promise<InterestBerth> {
|
||||
// Cross-port guard. The junction is silently multi-port-shaped (it has
|
||||
// no port_id of its own — it inherits via the FKs) so a caller wiring
|
||||
// no port_id of its own - it inherits via the FKs) so a caller wiring
|
||||
// an interest from one port to a berth from another would corrupt the
|
||||
// recommender + public-berth aggregates with phantom rows. We assert
|
||||
// both rows live in the same port BEFORE inserting; if either side is
|
||||
@@ -258,7 +258,7 @@ export async function upsertInterestBerthTx(
|
||||
if (opts.isInEoiBundle !== undefined) setForUpdate.isInEoiBundle = opts.isInEoiBundle;
|
||||
if (opts.addedBy !== undefined) setForUpdate.addedBy = opts.addedBy;
|
||||
if (opts.notes !== undefined) setForUpdate.notes = opts.notes;
|
||||
// Bypass fields move as a unit — either we set all three to record a bypass
|
||||
// Bypass fields move as a unit - either we set all three to record a bypass
|
||||
// or clear all three. Touching the reason field decides which.
|
||||
if (opts.eoiBypassReason !== undefined) {
|
||||
if (opts.eoiBypassReason && opts.eoiBypassReason.trim().length > 0) {
|
||||
@@ -305,7 +305,7 @@ export async function upsertInterestBerthTx(
|
||||
|
||||
// Auto-promote leadCategory: linking a specific berth means the interest
|
||||
// is now anchored to a real piece of inventory, which is the definition
|
||||
// of `specific_qualified`. Only bumps `general_interest` (or null) —
|
||||
// of `specific_qualified`. Only bumps `general_interest` (or null) -
|
||||
// never demotes `hot_lead` or anything else already past qualified.
|
||||
const isSpecific = row?.isSpecificInterest ?? opts.isSpecificInterest ?? true;
|
||||
if (isSpecific) {
|
||||
@@ -331,7 +331,7 @@ export async function setPrimaryBerth(interestId: string, berthId: string): Prom
|
||||
|
||||
/** Remove a berth from an interest.
|
||||
*
|
||||
* `portId` is required for cross-port defense — `upsertInterestBerth`
|
||||
* `portId` is required for cross-port defense - `upsertInterestBerth`
|
||||
* and `setPrimaryBerth` both verify the interest + berth share the
|
||||
* caller's port before mutation, but the original `removeInterestBerth`
|
||||
* issued a delete keyed only by (interestId, berthId), so a future
|
||||
|
||||
Reference in New Issue
Block a user