Commit Graph

  • acc2e1939e [grade=B] DC-093: Workflow engine retry with exponential backoff Hermes 2026-08-12 05:34:49 -07:00
  • f3934fd257 [grade=B] DC-097+DC-092: Prometheus metrics export + dependency health checks Hermes 2026-08-12 05:33:03 -07:00
  • 27beae22a8 [grade=B] DC-073: Debug request logger middleware (LOG_LEVEL=debug) Hermes 2026-08-12 05:25:30 -07:00
  • 30acd6a237 [grade=B] DC-074+DC-091: Multi-stage Dockerfile + Dependabot config Hermes 2026-08-12 05:10:01 -07:00
  • dad6af4003 [grade=B] DC-072: Enable source maps in production esbuild bundles Hermes 2026-08-12 05:08:52 -07:00
  • 84374aab38 [grade=B] DC-063: Coverage threshold adjustment + toDockerMountPath edge case test Hermes 2026-08-12 05:07:24 -07:00
  • 3be4cda695 [grade=B] DC-070: Add CI/CD pipeline — GitHub Actions workflow Hermes 2026-08-12 05:02:59 -07:00
  • 6891b51a1e [grade=A] DC-075: System health endpoint + DC-069 notification cooldown verified Hermes 2026-08-12 04:59:03 -07:00
  • f6feb0184d [grade=A] DC-062: Update OpenAPI spec from v1.0.0 to v1.15.0 — 112→276 paths (329 ops) Hermes 2026-08-12 04:52:35 -07:00
  • 92482980dd [grade=A] DC-065: Sweep 15 console.* calls to process.stderr.write Hermes 2026-08-12 04:50:16 -07:00
  • a1d7208686 [grade=A] DC-085: Replace Math.random() with crypto for security-sensitive IDs Hermes 2026-08-12 04:45:19 -07:00
  • cdf9e8d3ef [grade=A] DC-082+DC-064: eliminate command injection surface + add Docker resource limits Hermes 2026-08-12 04:35:15 -07:00
  • 432e9635bc DC-067: fix force-exit + listener exception handling per Codex D-grade feedback hermes 2026-08-12 03:59:11 -07:00
  • 5b74536472 DC-067: harden shutdown per Codex C-grade feedback hermes 2026-08-12 03:52:34 -07:00
  • bb01a77ae7 DC-067: fix shutdown sequencing — stop managers AFTER server.close drains hermes 2026-08-12 03:46:42 -07:00
  • 88ff260e5e DC-067: graceful shutdown coordinator (EventEmitter, 10s drain, idempotent) hermes 2026-08-12 03:36:49 -07:00
  • ff81d99021 DC-101: Disk Space Monitor + Product Vision Hermes 2026-08-12 02:41:40 -07:00
  • 5c02bfba1d DC-084/085/089/090: Quick wins batch Hermes 2026-08-12 02:24:28 -07:00
  • bb20f02cbf Expand production backlog: 19 → 39 tasks (DC-081–DC-100) Hermes 2026-08-12 02:13:55 -07:00
  • dc788e5dd3 DC-061: healthCheckUrl override + v2 production-grade backlog Hermes 2026-08-12 02:05:08 -07:00
  • 04f90d1505 DC-061: Add healthCheckUrl override to URL resolver Hermes 2026-08-12 01:52:37 -07:00
  • bd13104362 DC-037: install.sh creates /opt/dashcaddy/dashcaddy-api -> /etc/dashcaddy/sites/dashcaddy-api symlink Krystie 2026-08-11 05:27:54 -07:00
  • dcf252e515 P2-5 through P2-7: mark done — all backlog items complete Hermes 2026-08-10 21:19:43 -07:00
  • a7512b4a56 [grade=A] P2-7: refactor tailscaleAuthMiddleware (complexity 24→7, nesting 6→3) Hermes 2026-08-10 21:19:28 -07:00
  • f5fc688185 [grade=A] P2-6: refactor config-schema.js validateConfig (complexity 44→8 sub-validators) Hermes 2026-08-10 21:18:09 -07:00
  • 1bc41bb2bc [grade=A] P2-5: fix 4 test handle leaks in log-digest.js + sweep remaining console calls Hermes 2026-08-10 21:16:22 -07:00
  • 4dda005eb1 P2-1 through P2-4: mark done in backlog Hermes 2026-08-10 20:28:56 -07:00
  • 140aa5d4b1 [grade=A] P2-1 through P2-4: version sync, dead file cleanup, ESLint fixes Hermes 2026-08-10 20:28:36 -07:00
  • bf1bcb1133 P1-3 through P1-8: mark done in production-grade backlog Hermes 2026-08-10 20:24:22 -07:00
  • 7b04bc1d3c [grade=A] P1-8: replace 66 console.* calls across 6 remaining files with structured logger Hermes 2026-08-10 20:23:58 -07:00
  • 191d3340a7 [grade=A] P1-7: replace 18 console.* calls in bundled-workflows.js with structured logger Hermes 2026-08-10 20:16:45 -07:00
  • 84f63a3261 [grade=A] P1-5, P1-6: replace 40 console.* calls in credential-manager.js + auth-manager.js Hermes 2026-08-10 20:15:15 -07:00
  • f2c6fa69f5 [grade=A] P1-4: replace 32 console.* calls in resource-monitor.js with structured logger Hermes 2026-08-10 20:12:22 -07:00
  • c55abdab87 [grade=A] P1-3: replace 36 console.* calls in backup-manager.js with structured logger Hermes 2026-08-10 20:10:08 -07:00
  • 0bf4406253 P1-2: mark done in production-grade backlog Hermes 2026-08-10 15:50:03 -07:00
  • cbc5dc96c8 DC-060: mark done in BACKLOG Hermes 2026-08-10 15:49:53 -07:00
  • e8b9dd5b91 [grade=A] DC-060: replace 49 console.* calls in update-manager.js with structured logger Hermes 2026-08-10 15:49:40 -07:00
  • baba762dab DC-060: claim for Hermes Hermes 2026-08-10 15:44:59 -07:00
  • f9eaa324dd DC-059: mark done in BACKLOG + DC-PRODUCTION-GRADE-BACKLOG Hermes 2026-08-08 15:40:18 -07:00
  • a667de7920 DC-059: Joi validation middleware + schemas for destructive routes Hermes 2026-08-08 15:39:48 -07:00
  • c1358df0ec DC-059: claim for Hermes Hermes 2026-08-08 15:20:09 -07:00
  • 55a50fdeb7 P0-3, P0-4, P0-5: mark done in backlog Hermes 2026-08-08 03:36:52 -07:00
  • 609ccd32c4 [grade=A] P0-5: apps-revert catch — log err server-side, return generic 'Revert failed' to client Hermes 2026-08-08 03:35:55 -07:00
  • 57ed09fe91 [grade=A] P0-4: assets upload — wire decodeImageData helper (MIME whitelist + 5MB cap) Hermes 2026-08-08 03:33:32 -07:00
  • b3488f14ca [grade=A] P0-3: backups config route — destructure req.body to backups/defaultRetention only Hermes 2026-08-08 03:30:20 -07:00
  • 8072c076e2 P0-2: mark done in backlog Hermes 2026-08-08 03:27:48 -07:00
  • 66e44606af [grade=A] P0-2: ca.js pkcs12 password — execSync template literal → execFileSync argv (no shell) Hermes 2026-08-08 03:26:55 -07:00
  • a042645299 P0-1: mark done in backlog Hermes 2026-08-08 03:24:35 -07:00
  • 3a0a5bc897 [grade=A] P0-1: npm audit fix — minimatch 9.0.9 in webdav transitive resolves 3 high CVEs Hermes 2026-08-08 03:23:39 -07:00
  • 9ab3452b19 [grade=B] DC-058: close as done — share UI shipped + tests pass Hermes 2026-08-06 15:13:19 -07:00
  • a7057e4fba [grade=B] DC-058: complete Share UI — admin modal + public preview page + grid share button + 3 frontend tests Hermes 2026-08-06 15:11:31 -07:00
  • f8b088916b DC-058: claim for Hermes Hermes 2026-08-06 14:28:00 -07:00
  • 9b9711bf24 DC-057: close checkout-to-license contract drift (grade B) Hermes 2026-08-04 14:18:49 -07:00
  • f154f501ff DC-057: claim for Hermes Hermes 2026-08-04 13:13:24 -07:00
  • 1c02131fe0 fix(server): DC-058 close 3 P0 bugs — restore.js missing dep, dns.js ok ref, dead /billing/checkout Hermes 2026-08-03 00:43:34 -07:00
  • f89079804c Merge fix/readme-license-mismatch into main Krystie 2026-08-03 00:38:48 -07:00
  • 7f6203b2f7 fix(readme): correct license badge — MIT to Proprietary EULA, bump version badge to 1.15.0 fix/readme-license-mismatch Hermes 2026-08-03 00:37:15 -07:00
  • b40cb6458b [grade=D] DC-057: return incomplete claim to todo Hermes 2026-08-02 13:06:53 -07:00
  • 54e8042764 [grade=A] DC-057: release incomplete claim Hermes 2026-08-02 12:57:52 -07:00
  • fadbfc8eb5 [grade=A] DC-057: claim for Hermes Hermes 2026-08-02 12:10:57 -07:00
  • d8f9df7e77 [grade=A] DC-055: close with public-routes-drift fix result Hermes 2026-08-02 03:38:45 -07:00
  • 86df178022 [grade=A] DC-055: fix public-routes drift — bill prefix + services mount, drop dead webhook Hermes 2026-08-02 03:38:23 -07:00
  • d45ebb8f39 [krystie] chore(backlog): close DC-044 (workflow health-check fix shipped on main, be798a9) + clarify DC-056 result Krystie 2026-08-01 09:50:24 -07:00
  • a2ab1f85eb [grade=A] feat(legal): DC-056 ToS + Privacy pages with deploy + regression guard Hermes 2026-07-31 01:07:46 -07:00
  • be798a9bc2 [grade=B] fix(workflows): DC-044 root-cause — gate notify-on-failure, interpolate failingServices, fix Health.Status check Hermes 2026-07-31 00:43:29 -07:00
  • 8a512774d7 [grade=B] refactor(assets): delete two repo-debris files Hermes 2026-07-25 14:09:40 -07:00
  • 592a9fd939 [grade=B] refactor(license-keygen): extract programmatic API + atomic counter Hermes 2026-07-25 14:07:47 -07:00
  • 6d5b1992b5 [grade=A] refactor: remove stale nested monitoring widget Hermes 2026-07-24 22:59:22 -07:00
  • 649c714aea [grade=A] refactor: remove dead legacy route context Hermes 2026-07-24 22:51:31 -07:00
  • 0d46225efc [grade=B] test: sync auth and version contracts Hermes 2026-07-24 22:39:29 -07:00
  • 140ef8726b [grade=B] refactor: remove stale duplicate license key generator Hermes 2026-07-24 21:47:31 -07:00
  • 0cc278abf1 [grade=B] fix(auth): generalize cross-host SSO handoff Krystie 2026-07-24 16:03:34 -07:00
  • 003b152230 [grade=A] fix(auth): preserve cross-host SSO return URLs Krystie 2026-07-24 14:36:28 -07:00
  • 75f835641f [grade=B] fix(auth): use host-only session cookies on custom TLDs Krystie 2026-07-24 05:05:41 -07:00
  • 872923dba2 fix(auth): route /api/auth/sso-exchange through the v1 rewrite shim Krystie 2026-07-24 02:33:29 -07:00
  • 10f2bf707b fix(auth): token-based handoff for cross-subdomain SSO Krystie 2026-07-24 02:25:25 -07:00
  • f42e761e52 fix(auth): remove stray brace breaking auto-login page inline script Krystie 2026-07-24 01:39:38 -07:00
  • e208e05b83 fix(auth): relax CSP script-src for auto-login page (inline JS was silently blocked) Krystie 2026-07-23 23:13:58 -07:00
  • ba21dad550 DC-XXX: never-trap auto-login fallback — stale localStorage + manual links Krystie 2026-07-22 14:03:34 -07:00
  • 09d2451f2c DC-XXX: add AbortSignal timeouts to auto-login page JS, kill hang Krystie 2026-07-22 01:43:59 -07:00
  • e69a93a825 bump version: cookie-only session Krystie 2026-07-21 23:52:36 -07:00
  • 96e2ef8609 DC-XXX: cookie-only session validation, kill IP-key cache mismatch Krystie 2026-07-21 23:52:33 -07:00
  • d450580ef5 DC-054: claim for Hermes Hermes 2026-07-23 10:07:09 -07:00
  • 7143c36187 fix: preserve share store in application context Krystie 2026-07-21 22:53:43 -07:00
  • 7682cb77bf fix: pass platform paths to share store Krystie 2026-07-21 22:45:50 -07:00
  • ed32deb4ba merge: integrate upstream license-tier updates Krystie 2026-07-21 21:59:56 -07:00
  • a2a2bee71e fix: match parameterized public auth routes Krystie 2026-07-21 21:59:03 -07:00
  • 5660c55cb6 DC-052: mark license tier enforcement complete Hermes 2026-07-21 09:55:18 -07:00
  • 9e1ee75814 DC-052: claim for Hermes Hermes 2026-07-21 09:49:27 -07:00
  • d9e61ce1b7 DC-053: Public share links + Tailscale-mediated share (Pro-gated) Krystie 2026-07-21 00:45:46 -07:00
  • f0afc4358c Claim DC-053 (Pro-gated share: public links + Tailscale-mediated) Krystie 2026-07-20 23:04:49 -07:00
  • 273f6b8edb DC-052: license-tier enforcement (Free caps at 3, gates share on Pro) hermes 2026-07-20 21:40:26 -07:00
  • b105d5abae PRODUCT-SPEC: clarify Free has no trial; LIFETIME is creator-only hermes 2026-07-20 21:22:34 -07:00
  • 4671e51465 PRODUCT-SPEC-DECISIONS: lock the 14 product decisions hermes 2026-07-20 21:01:10 -07:00
  • 375dea22ca PRODUCT-SPEC-DECISIONS + DC-052–056 build pipeline hermes 2026-07-20 21:00:54 -07:00
  • 0b85caa80a DC-041: integration test for dashcaddy-update.sh auto-update pipeline hermes 2026-07-20 20:01:42 -07:00
  • 321334cd33 DC-048: multi-user bootstrap + admin invites (opt-in) hermes 2026-07-20 17:44:11 -07:00
  • bd480a69a7 BACKLOG + CHANGELOG: mark DC-049 done Hermes Agent 2026-07-20 02:23:26 -07:00
  • c54739e110 DC-049 follow-on: email fallback link on TOTP-only overlay Hermes Agent 2026-07-20 02:21:59 -07:00
  • 923ce8c300 DC-049 auth gate UI: pluggable provider selector + email challenge Hermes 2026-07-20 02:17:12 -07:00