Joseph Doherty
0e5402915b
fix(centralui): pending-updates rail refreshes as soon as a deployment finishes — cache drops its snapshot on Success/Failed and signals the indicator, instead of serving the pre-deploy count for up to TTL + one poll
2026-10-22 17:11:18 -04:00
Joseph Doherty
3e1435dfac
docs: QA central pair relays standby inbound API calls (StandbyForwardPeerEndpoints)
2026-10-22 16:59:07 -04:00
Joseph Doherty
4bc124d73e
docs: QA central pair moved to shared SQL key + secret stores; record the Windows import-rename defect
2026-10-22 15:56:25 -04:00
Joseph Doherty
6ed6800b84
fix(host): clear pooled SQLite handles before renaming the imported inbound-key file — Windows refused the rename, so the import re-ran every boot (QA vq03/vq04 2026-10-22)
2026-10-22 15:56:00 -04:00
Joseph Doherty
5ad6f83176
docs(deploy): record QA wonder-app-vq03/vq04 upgrade b3021e7c -> 3808b49f (migration 58, pair-wise window 2m35s)
2026-10-22 15:38:27 -04:00
Joseph Doherty
51b111a35f
docs(deploy): record DEV wonder-app-vd03 upgrade b3021e7c -> 3808b49f (migration 58, gate 31/31)
2026-10-22 15:21:39 -04:00
Joseph Doherty
3808b49fc7
docs: record area-subtree deploy, Topology preload and the #38 rename trap in CLAUDE.md; fix stale deploy-site client-timeout line in the CLI README
2026-10-22 14:37:16 -04:00
Joseph Doherty
e029dc1ccb
fix(centralui): Deploy all runs in its own DI scope, live tick/Refresh/loaders pause during actions, dialog wording, failure/saved-state tests (Gitea #40 )
2026-10-22 14:27:27 -04:00
Joseph Doherty
bcd087efe8
feat(centralui): Topology 'Deploy all…' on site and area nodes with confirm dialog, Force and summary toast (Gitea #40 )
2026-10-22 14:27:26 -04:00
Joseph Doherty
d71f61e71b
feat(centralui): Topology pre-loads and expands the first layer (sites -> top-level areas) (Gitea #39 )
2026-10-22 14:27:26 -04:00
Joseph Doherty
1d38fb6c90
fix(cli): deploy area names a malformed summary as an invalid area deployment summary (Gitea #40 review)
2026-10-22 14:27:26 -04:00
Joseph Doherty
0956395d81
test(managementservice): MgmtDeployArea in-scope success path relays Force to a real DeploymentService and returns its summary (Gitea #40 review)
2026-10-22 14:27:26 -04:00
Joseph Doherty
74d5fba2b0
feat(cli): deploy area --id <areaId> [--force] bulk-deploys an area subtree with deploy site's deadline and exit-code contract (Gitea #40 )
2026-10-22 14:27:26 -04:00
Joseph Doherty
f72c72c52f
feat(managementservice): MgmtDeployArea — Deployer-only, scoped by the area's owning site (fail-closed on an unknown area), long-running like MgmtDeploySite (Gitea #40 )
2026-10-22 14:27:26 -04:00
Joseph Doherty
eb1c9ea7f9
feat(deploymentmanager): DeployAreaAsync bulk-deploys an area subtree through the shared DeploySiteAsync core; PreviewSubtreeDeployAsync returns confirm counts (Gitea #40 )
...
DeploySiteAsync's body moves into a private core taking the site plus an
optional area-id filter; site deploy behaviour is unchanged. The subtree is
one in-memory ParentAreaId walk (cycle-safe) shared by the deploy and the
preview. DeploymentService gains an ITemplateEngineRepository dependency for
the area lookups.
2026-10-22 14:27:26 -04:00
Joseph Doherty
b9751473a6
feat(deploymentmanager): seam for subtree deploy — DeployAreaAsync / PreviewSubtreeDeployAsync signatures + SubtreeDeployPreview (Gitea #40 )
2026-10-22 14:27:26 -04:00
Joseph Doherty
a04eb3a752
test(playwright): token-endpoint tests tolerate DisableLogin
...
Under DisableLogin /auth/token deliberately answers 404 (lane K). The tests
now probe it: on a login-disabled rig TokenEndpoint_ReturnsJwt skips and the
bad-credentials test asserts 404 (the exchange is closed); with login enabled
they keep the 200 + JWT and 401 assertions.
2026-10-22 14:27:26 -04:00
Joseph Doherty
4ae3ed3fdd
test(playwright): DeploymentActionTests load the lazy Topology tree via a shared helper
...
The Topology page has loaded lazily (bounded instance pages behind 'Load
instances' loaders) since 9ee402bb (2026-09-09); TopologyAreaTests was
updated then but DeploymentActionTests still relied on one Expand-all click
revealing instance rows, so all four facts timed out locating the row. Move
OpenStableTopologyAsync into TopologyPageHelper and use it from both.
2026-10-22 14:27:26 -04:00
Joseph Doherty
560adefb0c
fix(centralui): Topology inline area rename commits the typed name on Enter (Gitea #38 )
...
The rename input bound _renameBuffer with the default onchange trigger. A
browser fires change only after the Enter keydown (or on blur, which cancels
by design), so CommitRename always saw the original name and silently
no-oped: a UI rename never persisted. Present since the page was written
(pre-dates 513fa1aa ); the Playwright test masked it by dispatching a
synthetic change event before Enter. Bind on oninput instead.
Tests: bUnit InlineRename_TypeThenEnter_PersistsNewName (fails on the old
binding); the Playwright rename test now types + Enter like an operator.
Also fix the Playwright OpenStableTopologyAsync race: it counted 'Load
instances' loaders immediately after clicking Expand all, before the
circuit re-render landed, and returned an unexpanded tree; it now waits
for no collapsed branch first.
2026-10-22 14:27:26 -04:00
Joseph Doherty
52a1e1b614
fix(configdb): dev auto-migrate uses a 30-min command timeout so large AuditLog index builds (ReviewRemediationIndexes on ~9M rows) and the peer's applock wait don't time out at 30 s
2026-10-22 10:42:35 -04:00
Joseph Doherty
e7896494f1
test(site-runtime): SR5 cancel-queued-redeploy test observes which predecessor is queued instead of assuming Queued4
...
Deploys are compile-warmed off the actor thread and reach the four-slot
predecessor-stop queue in warm-completion order (cross-instance ordering is
not guaranteed by design). Since SR-P5 moved the config deserialization into
that warm task, the fifth-sent deploy often finishes warming before one of the
first four, takes a slot, and Queued4 terminated inside the 100 ms no-message
window (16/20 failures under parallel load). The test now waits for the four
in-flight predecessors to terminate, cancels the one still alive, and also
asserts the cancelled redeploy is answered Failed/superseded.
2026-10-22 10:35:37 -04:00
Joseph Doherty
7be22d2ac2
fix(auditlog): truncate over-width SiteCalls.LastError on the cached-telemetry dual-write and the reconciliation pull (review 2026-10-21 follow-up)
2026-10-22 09:58:46 -04:00
Joseph Doherty
89d8568fdf
fix(site-runtime): a faulted seed trigger-expression eval adopts nothing instead of replaying as a real false (review 2026-10-21 follow-up L4)
2026-10-22 09:58:46 -04:00
Joseph Doherty
d646f816a4
fix(site-runtime): refuse an enable while a deploy pipeline owns the instance; revert is_enabled only for an invalid name (review 2026-10-21 follow-up L3)
2026-10-22 09:58:46 -04:00
Joseph Doherty
e60c316f30
fix(dcl): queue a create whose actor name belongs to a still-terminating child instead of refusing it (review 2026-10-21 follow-up L2)
2026-10-22 09:58:46 -04:00
Joseph Doherty
530a096111
fix(auditlog): advance the served-rowid mark under the write lock so a purge clamp is never overwritten stale-high (review 2026-10-21 follow-up L1)
2026-10-22 09:58:46 -04:00
Joseph Doherty
1f87942ce3
fix(auditlog): reconciliation abandons only row-intrinsic failures and only when a sibling row inserted (review 2026-10-21 follow-up M1)
2026-10-22 09:58:46 -04:00
Joseph Doherty
6b8a91cc83
docs(plans): correct the adversarial-catch descriptions in the remediation record
2026-10-22 09:52:01 -04:00
Joseph Doherty
2acd14f276
docs: CLAUDE.md review-remediation facts + 2026-10-21 remediation record
2026-10-22 09:51:52 -04:00
Joseph Doherty
b67d736ac9
docs: reconcile stale cluster/security/notification docs; close register row 117, add rows 128-135 (review 2026-10-21 wave 2)
2026-10-22 09:51:52 -04:00
Joseph Doherty
46ab5594ec
fix(site-call-audit): an unknown-status row no longer aborts the rest of a batched page (review 2026-10-21 06/PERF-2 follow-up)
2026-10-22 09:50:51 -04:00
Joseph Doherty
5f7f889a96
fix(notification-outbox): keyset Pending back-fill + distinct ids so a mid-claim Retry cannot double-deliver (review 2026-10-21 06/PERF-5 follow-up)
2026-10-22 09:50:51 -04:00
Joseph Doherty
1627513fdb
feat(configdb): ReviewRemediationIndexes migration — AuditLog (Kind, Actor) + AuditLogEntries composite indexes
...
AuditLog indexes are raw SQL ON ps_AuditLog_Month so they stay partition-aligned for the switch purge.
2026-10-22 09:42:02 -04:00
Joseph Doherty
88273693f9
fix(site-call-audit): reconciliation pull serves only un-acked tracking rows (node-local ack ledger), batched page upsert, prune removed sites' cursors (review 2026-10-21 06/PERF-2 + lane H follow-up)
2026-10-22 09:38:48 -04:00
Joseph Doherty
e69be1654f
fix(kpi-history): fold raw samples one hour at a time; only a unique-key violation is the benign fold race (review 2026-10-21 06/PERF-6, 08/P4, 08/C3)
2026-10-22 09:38:48 -04:00
Joseph Doherty
e7fb71c2de
fix(site-call-audit): KPI snapshots as single conditional-aggregate queries (review 2026-10-21 06/PERF-3, 08/P3)
2026-10-22 09:38:48 -04:00
Joseph Doherty
811a561885
fix(notification-outbox): per-attempt timestamps, Pending/Retrying split claim + sweep budget, SMTP MaxConcurrentConnections clamp (review 2026-10-21 06/COR-1, 06/PERF-5, 06/IMPL-2)
2026-10-22 09:38:48 -04:00
Joseph Doherty
ebf4b96789
fix(notification-service): evict stale OAuth2 token cache entries after credential rotation (review 2026-10-21 06/MEM-3)
2026-10-22 09:38:48 -04:00
Joseph Doherty
7e08a1dbfb
fix(transport): import reads the template library once per session, batches instance lookups, and expands stale instances to derived/composing templates over one flatten session (review 2026-10-21 04/P4, 08/P1, 04/C2)
2026-10-22 09:38:17 -04:00
Joseph Doherty
39025b28fa
fix(transport): import rejects malformed site gRPC endpoints and non-actor-safe names as blockers, not mid-apply crashes (review 2026-10-21 03/R-1, lane-F ActorNameRules follow-up)
2026-10-22 09:38:17 -04:00
Joseph Doherty
04ac4c0491
fix(transport): export reads instance children once, site connections once per site, composed templates in batches (review 2026-10-21 04/P5)
2026-10-22 09:38:16 -04:00
Joseph Doherty
56aa386784
fix(transport): serialise the export content once and pack those bytes (review 2026-10-21 04/P8a)
2026-10-22 09:38:16 -04:00
Joseph Doherty
93fbd2e030
fix(transport): pin a compressed copy of the decrypted bundle on the import session, release the upload buffer early, document the footprint (review 2026-10-21 04/M2)
2026-10-22 09:38:16 -04:00
Joseph Doherty
55cebf2397
fix(transport): zero a bundle session's content when it expires, not only on apply/abandon (review 2026-10-21 04/C3)
2026-10-22 09:38:16 -04:00
Joseph Doherty
fad08f7ce7
fix(transport): remove the never-read Transport:SchemaVersionMajor option (review 2026-10-21 04/U1, 08/O3)
2026-10-22 09:38:16 -04:00
Joseph Doherty
3304381636
test(management): alarm-override test stubs the lean analysis projection the service now reads (review 2026-10-21 04/P6 integration)
2026-10-22 09:32:14 -04:00
Joseph Doherty
008976f3d8
docs(management): DebugStreamHub comments name bearer + Basic auth (review 2026-10-21 lane K follow-up)
2026-10-22 09:32:14 -04:00
Joseph Doherty
52c8a212a1
fix(management): reject native alarm source names that are not legal actor names (review 2026-10-21 lane F follow-up to 01/SR-C1)
2026-10-22 09:32:14 -04:00
Joseph Doherty
df1f4efcfa
fix(management): invalidate RoleMappingCache after role-mapping and scope-rule mutations commit (review 2026-10-21 lane K M1)
2026-10-22 09:32:14 -04:00
Joseph Doherty
d495494074
fix(management): purge terminal PendingSecuredWrites rows on the list sweep after a retention window (review 2026-10-21 08/G3)
2026-10-22 09:32:14 -04:00