Commit Graph

  • 5d786afcce Merge branch 'dc/DC-141' into dc/DC-143 Hermes 2026-10-03 21:23:14 -07:00
  • 2452bebfc9 Merge branch 'dc/DC-140' into dc/DC-143 Hermes 2026-10-03 21:23:14 -07:00
  • 26f4aa8ad0 merge dc/DC-145 into p7-wave1 Hermes 2026-10-03 21:20:41 -07:00
  • d3c1dfd996 merge dc/DC-141 into p7-wave1 Hermes 2026-10-03 21:20:40 -07:00
  • 45a2b6b07c merge dc/DC-140 into p7-wave1 Hermes 2026-10-03 21:20:40 -07:00
  • b7df8f5fe0 Merge branch 'dc/DC-140' into dc/DC-148 Hermes 2026-10-03 21:20:01 -07:00
  • 5e03f120b4 Merge branch 'dc/DC-141' into dc/DC-148 Hermes 2026-10-03 21:20:00 -07:00
  • 7ef3914730 DC-140: network provider abstraction (src/network/) + tailscale provider + registry + tests Hermes 2026-10-03 21:16:20 -07:00
  • 2e6d535242 P7 spec rev2: honest unblock semantics, WG addressing/keygen model (browser-side keygen, CIDR AllowedIPs), ticket-set fixes Hermes 2026-10-03 21:14:30 -07:00
  • 4b560b9c40 DC-141: people store (atomic JSON) + /network/people routes + last-admin guard + tests Hermes 2026-10-03 21:14:12 -07:00
  • 09152dfde2 DC-145: access map store (grants, effective access, change events) + /network/access routes + tests Hermes 2026-10-03 21:12:30 -07:00
  • 420fa2ba2a P7 Private Network lane: product spec (Tailscale v1 + WireGuard self-hosted) + backlog tickets DC-140..DC-152 Hermes 2026-10-03 21:06:44 -07:00
  • 4ca805795b [grade=B urn:ump:szxhoevzog44pvl3sz6n6qp2edv6wj6dcs3ajpi3kxbpbz7kikqa] DC-137: shipdeck engine branch for App Selector catalog installs v0.2-fleet-as-dashcaddy-module DashCaddy Polish Loop 2026-09-16 04:04:53 -07:00
  • 8ff618ce58 [grade=B urn:ump:3wvdd3yegylr7e2pzn6tebyq5bisf2awmss7p4j3uwpwsujtnwoq] backlog: mark DC-134/135/136 shipped (integration round 4, clean B) DashCaddy Polish Loop 2026-09-16 03:14:07 -07:00
  • 11c719e635 [grade=B urn:ump:3wvdd3yegylr7e2pzn6tebyq5bisf2awmss7p4j3uwpwsujtnwoq] DC-134/135/136: Shipdeck integration - data-driven login pages, deploy events, badge suppression DashCaddy Polish Loop 2026-09-16 03:10:54 -07:00
  • 0dd8493f98 [grade=A] Shipdeck fleet module and manual deploy flow DashCaddy Polish Loop 2026-09-15 11:13:29 -07:00
  • f9cbb13a3d [grade=B] DC-131/132/133 install from any Git host DashCaddy Polish Loop 2026-09-14 20:03:25 -07:00
  • 7557b49b5b [grade=B urn:ump:zluxbji5tepzdqybrctqfyjdvbfin2o66atw6rwykg6vdwkzhfsa] backlog v3: P6 Shipdeck era (DC-109-119) cross-platform + barrier-removal lane Hermes 2026-09-14 05:21:41 -07:00
  • 65a447e27e DC-130 rev3: log.error on unexpected bridge status in /status + test asserting the log call (13 tests green) DashCaddy Polish Loop 2026-09-14 04:19:55 -07:00
  • 121caef488 DC-130 rev2: fail-fast bridge bindings (host), /status gateway-error mapping (401/403/unreachable -> 502, probe-failure stays ok:false) + 3 new tests (13 total) DashCaddy Polish Loop 2026-09-14 04:11:30 -07:00
  • 0ab1dfe6e5 DC-130: start.sh passes SHIPDECK_BRIDGE_URL/TOKEN_FILE to the container (deploys panel bridge wiring) DashCaddy Polish Loop 2026-09-14 03:49:35 -07:00
  • c90851f25f DC-130: deploys panel frontend — modal with services/deploy/journal tabs, rollback + status actions (bundle + cache tag rebuilt) DashCaddy Polish Loop 2026-09-14 03:49:35 -07:00
  • 98d25ac41b DC-130: deploys panel frontend — modal with services/deploy/journal tabs, rollback + status actions, wired into features bundle + top bar DashCaddy Polish Loop 2026-09-14 03:49:19 -07:00
  • 1fc61c3fdb DC-130: shipdeck deploys panel — bridge-proxied source deploys (routes + tests, opt-in via SHIPDECK_BRIDGE_URL) DashCaddy Polish Loop 2026-09-14 03:33:31 -07:00
  • e33bc91438 fix(publish): prune build artifacts (build-output, out, dist_electron, data, release) from release tarball — v1.16.0 tarball was 817MB with gitignored Electron build-output; now 21MB DashCaddy Polish Loop 2026-09-13 05:45:40 -07:00
  • 70e252c8a5 [grade=A urn:ump:seyasvbntxsjibq5jiaqmfowc6xgchwe4jvcc54jd6355ujgm75q] DC-122: self-updater hardening + auto-update on + docker disk discipline (v1.16.0) DashCaddy Polish Loop 2026-09-13 05:29:53 -07:00
  • 939fdbb68b fix(services): commit deployed sec.sami card addition (staged during last night's deploy, missed the commit) DashCaddy Polish Loop 2026-09-13 04:42:04 -07:00
  • fad51c81b2 [grade=A] Register sec.sami dashboard in DashCaddy login-page map DashCaddy Polish Loop 2026-09-13 02:39:21 -07:00
  • af970aa564 [grade=B] feat: real macOS .dmg built entirely on Linux (libguestfs + libdmg-hfsplus) v1.0.0 Hermes 2026-09-01 03:36:16 -07:00
  • d87ca00e58 [grade=B] docs+cleanup: fix BUILD_GUIDE factual errors, document wine/i386 NSIS pitfall, drop .bak junk Hermes 2026-09-01 00:51:24 -07:00
  • 468bc00106 [grade=A] installer: stop shipping production CA private keys in installers Hermes 2026-09-01 00:20:00 -07:00
  • b08de2955b [grade=A] installer: fix 17 failing tests across 4 suites + tld data-loss bug Hermes 2026-08-31 23:37:38 -07:00
  • c28322eb46 [grade=B] api: fix undeclared 'format' runtime bug in routes/ca.js + 10 lint errors Hermes 2026-08-31 23:37:00 -07:00
  • b6678cf591 DC-061: remove superseded status/pricing/index.html and obsolete pricing-page-catalog test Hermes 2026-08-23 20:24:42 -07:00
  • a7a2b70b2d DC-061: claim for Hermes Hermes 2026-08-23 20:20:43 -07:00
  • 65a4d825fb fix(dns): container DNS fallback must serve internal .sami TLD — replace 8.8.8.8 with DNS1 Technitium secondary (DC-121) Hermes 2026-08-23 17:55:11 -07:00
  • 46b6952c36 [glm-grade=A] fix(security): DC-120 surface caddy-source perimeter events in Log Insights dashboard — new GET /api/v1/security/events/perimeter endpoint with per-IP/per-vhost aggregations, event-store compileFilter/filterEvents primitives, and Perimeter section in Log Insights modal with XSS-safe rendering and stale-request guards Hermes 2026-08-23 17:26:07 -07:00
  • 4d97a11978 fix(build): frontend build determinism across line endings (DC-119) [glm-grade=A] Hermes 2026-08-23 16:34:49 -07:00
  • 1744d1c86e fix(security): caddy-event self-noise conjunction filter for host curl probes (DC-118) [glm-grade=A] Hermes 2026-08-23 15:53:58 -07:00
  • 2dce6dca5e fix(security): event-store retention + race + total-cap defects (DC-116) [glm-grade=B] Hermes 2026-08-23 15:02:00 -07:00
  • 65457ff8e0 feat(security): activate caddy security-event pipeline — bounded first-start replay, self-noise filter, host fidelity (DC-113) [glm-grade=A] Hermes 2026-08-23 12:40:32 -07:00
  • a29a59a320 fix(security): name caddy-worker SSO gate events + dead-path visibility (DC-112) [glm-grade=A] Hermes 2026-08-23 09:37:18 -07:00
  • 56b807543c fix(audit): restore named audit actions for SSO gate traffic — 3 live defects (DC-111) [glm-grade=A] Hermes 2026-08-23 09:05:27 -07:00
  • 0721b1cb04 fix(security): audit-logger PII masking parity with unified logger (DC-110) [glm-grade=A] Hermes 2026-08-23 08:01:29 -07:00
  • 9322831f1b fix(security): quoted local-part email mask — strip delimiter quotes, split on last @ (DC-109) [glm-grade=A] Hermes 2026-08-23 07:28:10 -07:00
  • c429b8fdd7 fix(security): redact-on-rotate for error.log archive + README PII docs (DC-108) [glm-grade=B] Hermes 2026-08-23 05:22:04 -07:00
  • 5efacd11e8 fix(security): close rotateEncryptionKey crash window with in-process key rollback (DC-107) [glm-grade=A] Hermes 2026-08-23 04:40:41 -07:00
  • eb2bab7a96 refactor(persistence): migrate credential-manager to canonical atomic-write util (DC-106) [glm-grade=B] Hermes 2026-08-23 03:06:58 -07:00
  • b1464d9b85 refactor(persistence): migrate caddy-upstream-watcher state to canonical atomic-write util (DC-105) [glm-grade=A] Hermes 2026-08-23 02:31:16 -07:00
  • 3c04a740e4 refactor(persistence): migrate bridge events file to canonical atomic-write util (DC-104) [glm-grade=A] Hermes 2026-08-23 01:57:20 -07:00
  • 6f8fac142f refactor(persistence): migrate fulfillment-store to canonical atomic-write util (DC-103) [glm-grade=A] Hermes 2026-08-23 01:21:28 -07:00
  • 521b2f24a1 refactor(persistence): migrate share-store to canonical atomic-write util (DC-102) [glm-grade=A] Hermes 2026-08-23 00:50:47 -07:00
  • 7fd651f388 [grade=B] docs(backlog): resolve DC-054/085/086 status drift — mark done with verified evidence; DC-055 held in-progress with live-surface verification + explicit unverified end-to-end-Stripe gap Hermes 2026-08-23 00:30:52 -07:00
  • 09d56fde2c refactor(persistence): migrate user-store to canonical atomic-write util (DC-101) [glm-grade=A] Hermes 2026-08-23 00:21:41 -07:00
  • 3742e2658d refactor(persistence): migrate invite-store to canonical atomic-write util (DC-100) [glm-grade=A] Hermes 2026-08-22 23:54:37 -07:00
  • 86e4c9fc81 wip: Windows desktop app scaffold (WinUI 3/.NET 8) + NSIS installer + docs wip/windows-app-scaffold Hermes 2026-08-22 23:44:34 -07:00
  • 80a82c4cae refactor(persistence): canonical atomic file writer + notifications.json crash-safety (DC-099) [glm-grade=B] Hermes 2026-08-22 23:28:36 -07:00
  • 8d42eae6ac feat(maintenance): one-shot PII redaction tool for pre-DC-095 log files (DC-098) [glm-grade=A] Hermes 2026-08-22 22:24:38 -07:00
  • 3ccd00d1a1 fix(notifications): persist canonicalized config on load — legacy keys no longer stale on disk (DC-097) [glm-grade=B] Hermes 2026-08-22 21:52:19 -07:00
  • bb59595d6d fix(config): monitoring.public gate was dead 4 ways — live gate + schema + dedupe (DC-096) [glm-grade=A] Hermes 2026-08-22 21:35:51 -07:00
  • 83ef84d218 feat(logging): central email PII masking across all log sinks [glm-grade=A] Hermes 2026-08-22 20:49:09 -07:00
  • 97672f7e74 [glm-grade=A] fix(notifications): un-gate 7 dead emitters + repair legacy 4-arg send shape (DC-094) Hermes 2026-08-22 19:42:25 -07:00
  • 5add962178 [glm-grade=B] fix(auth): /auth/me hotfix — isValid not isSessionValid + guard (DC-093 r2) Hermes 2026-08-22 19:06:34 -07:00
  • 4125d7a4e1 [glm-grade=B] fix(auth): mount /auth/me on single-user installs — kill the 60s 404 log storm (DC-093) Hermes 2026-08-22 18:54:57 -07:00
  • 7e4ee60dcf [glm-grade=B] fix(notifications): repair UI/API contract drift — SMTP auth, event gate, test button (DC-092) Hermes 2026-08-22 18:16:47 -07:00
  • 1328cfda6b [glm-grade=B] fix(notifications): repair UI/API contract drift — SMTP auth, event gate, test button (DC-092) dc/DC-092-notifications-contract-drift Hermes 2026-08-22 18:16:47 -07:00
  • 5e60c27f2b [grade=A] Harden server-managed license renewals Hermes 2026-08-22 17:35:34 -07:00
  • df55677bd1 Merge DC-091: config-schema KNOWN_KEYS licenseBackup/_version fix [glm-grade=A] Hermes 2026-08-22 17:22:20 -07:00
  • ddbea0a040 [glm-grade=A] fix(config): teach schema KNOWN_KEYS the licenseBackup/_version writer keys (DC-091) Hermes 2026-08-22 17:22:13 -07:00
  • 1d1cd5c95e Merge dc/DC-090-incident-hysteresis-parity: outage incidents follow displayed hysteresis status [glm-grade=A] Hermes 2026-08-22 16:53:02 -07:00
  • 88f1d4a414 [glm-grade=A] fix(monitoring): DC-090 outage incidents follow displayed hysteresis status dc/DC-090-incident-hysteresis-parity Hermes 2026-08-22 16:52:53 -07:00
  • dd1110ef52 Merge dc/DC-089-invite-log-pii-masking: mask invite/user emails in server logs [glm-grade=B] Hermes 2026-08-22 16:23:06 -07:00
  • 6732a1e1df [glm-grade=B] fix(auth): DC-089 mask invite/user emails in server logs dc/DC-089-invite-log-pii-masking Hermes 2026-08-22 16:22:53 -07:00
  • ea96abe95a Merge dc/DC-088-remove-service-tombstones: removeService generation tombstones + incident closure [glm-grade=B] Hermes 2026-08-22 15:55:29 -07:00
  • 3ccf66754a [glm-grade=B] fix(monitoring): DC-088 removeService generation tombstones + incident closure Hermes 2026-08-22 15:55:26 -07:00
  • c71b794ccc Merge dc/DC-087-test-mirrors-fetcht: hermetic caddy-admin test mirrors + raw-fetch guard [glm-grade=B] Hermes 2026-08-22 15:14:35 -07:00
  • f2285a2550 test(api): DC-087 hermetic caddy-admin health mirrors + file-level raw-fetch guard [glm-grade=B] dc/DC-087-test-mirrors-fetcht Hermes 2026-08-22 15:14:25 -07:00
  • 54a1df5ac4 [glm-grade=A] build(status): rebuild dist + sw — DC-085 link-first invite frontend bundle Hermes 2026-08-22 14:28:21 -07:00
  • eb546bf468 Merge dc/DC-085-link-first-invite-dc-086-flicker-fix: DC-085 link-first invite + DC-086 badge flicker hysteresis + race hardening [glm-grade=A] Hermes 2026-08-22 14:27:54 -07:00
  • 84e051d975 Merge earlier-tick staging branch (duplicate DC-085/086 cherry-picks + auth-gate/vault tests) — content identical to eab2b00/f8b99f9 dc/DC-085-link-first-invite-dc-086-flicker-fix Hermes 2026-08-22 14:27:40 -07:00
  • 628bbe32f6 [glm-grade=A] fix(monitoring): DC-086 round-2 — probe/config race hardening + env parse + incident compare Hermes 2026-08-22 14:23:25 -07:00
  • f8b99f9b5a DC-086 service-status flicker fix — asymmetric hysteresis Hermes 2026-08-20 04:46:17 -07:00
  • eab2b00b13 DC-085 link-first invite — Discord-style share it however you want Hermes 2026-08-20 04:46:12 -07:00
  • 84edb035e3 [grade=B] feat(auth): onboard missing credentials into encrypted vault Hermes 2026-08-22 05:41:38 -07:00
  • d313b1e872 [grade=B] fix(auth): reuse valid session for cross-host SSO Hermes 2026-08-22 04:06:27 -07:00
  • be021588c7 DC-086 service-status flicker fix — asymmetric hysteresis Hermes 2026-08-20 04:46:17 -07:00
  • d8459a4a87 DC-085 link-first invite — Discord-style share it however you want Hermes 2026-08-20 04:46:12 -07:00
  • 499fcc2742 Merge dc/DC-084-arch-sami-caddy-healthcheck-removal: DC-084 remove redundant active Caddy health check from arch.sami [glm-grade=A] Hermes 2026-08-19 01:43:30 -07:00
  • 93d6c44e45 [glm-grade=A] docs(backlog): document DC-084 — remove redundant active Caddy health check from arch.sami dc/DC-084-arch-sami-caddy-healthcheck-removal Hermes 2026-08-19 01:43:10 -07:00
  • 4c4ffc35ca Merge dc/DC-082-update-manager-compose-prefix: DC-083 public share endpoint input hardening [glm-grade=A] Hermes 2026-08-19 00:11:24 -07:00
  • 7e68955e66 [glm-grade=A] fix(share): public-endpoint input hardening + rate limit (DC-083) dc/DC-082-update-manager-compose-prefix Hermes 2026-08-19 00:10:37 -07:00
  • 7938cc76ec [grade=A] docs: update DC-106 CHANGELOG to cover frontend builder dc/DC-106 Hermes 2026-08-18 23:51:33 -07:00
  • 5abf385c7e [grade=A] feat(caddy-builder): DC-106 visual reverse proxy builder (frontend) Hermes 2026-08-18 23:46:48 -07:00
  • 089f5d2902 [glm-grade=A] fix(update-manager): compose-prefixed image names probe <project>/<service> not library/<project>-<service> (DC-082) Hermes 2026-08-18 19:45:08 -07:00
  • 0e7bb97129 [glm-grade=A] fix(log-insights): wire dispose to /app/data paths + bound keepDays (DC-081) dc/DC-081-log-insights-dispose Hermes 2026-08-18 18:56:13 -07:00
  • 98737995a9 Merge dc/DC-080: Tailscale admin endpoint validation hardening (DC-080) [glm-grade=B] DashCaddy Polish Loop 2026-08-18 18:35:59 -07:00
  • 99ec6ebc53 fix(tailscale-admin): harden apiToken/tags/description validation (DC-080) [glm-grade=B] dc/DC-080 Hermes 2026-08-18 18:32:34 -07:00
  • a7260436d1 fix(disaster-recovery): stage Caddyfile + close path-traversal in assets/themes (DC-079) [glm-grade=A] feature/dc-064-discover-adopt-fetcht dashcaddy-polish 2026-08-18 17:52:49 -07:00
  • a4e4b24732 fix(update-manager): force IPv4 + per-request timeout + transient-only retry on registry digest probes (DC-078) [glm-grade=A] Hermes 2026-08-18 17:35:59 -07:00
  • 0086de97da Merge feature/dc-064-discover-adopt-fetcht: DC-077 nesting-guard silent no-op fix [glm-grade=B] Hermes 2026-08-18 17:07:47 -07:00