Commit Graph

  • 22f7063f2e docs: add the 0.3.1 changelog links and mention the wizard fixtures Catubba 2026-07-09 23:48:07 +02:00
  • c4629dbe1d release: 0.3.1 Catubba 2026-07-09 23:46:15 +02:00
  • 9691db586f docs: explain how to run the frontend against the dev stub Catubba 2026-07-09 23:45:54 +02:00
  • a0cfa0feb4 feat(dev): add wizard route fixtures to the API stub Catubba 2026-07-09 23:41:21 +02:00
  • e80930b684 feat(ui): stack the settings nav into a 2-column grid below 900px Catubba 2026-07-09 23:35:56 +02:00
  • be7e53b415 fix(ui): let the dashboard panels shrink below their min-content width Catubba 2026-07-09 23:10:29 +02:00
  • 6958e4758a refactor(ui): split header controls into status/actions for mobile wrap Catubba 2026-07-09 23:02:28 +02:00
  • ecb9d6c6e0 fix(ui): make weekday selector responsive on mobile Catubba 2026-07-09 22:58:27 +02:00
  • 2db8055dbb refactor(responsive): use jn-log-head and jn-log-row classes for mobile reflow Catubba 2026-07-09 22:55:18 +02:00
  • 46240b9105 feat(dashboard): replace inline grid styles with responsive classes Catubba 2026-07-09 22:52:18 +02:00
  • 9dbb140956 feat(ui): add responsive layout stylesheet and shell class Catubba 2026-07-09 22:45:03 +02:00
  • 3ce7e71217 feat(dev): add stub API harness for UI-only preview Catubba 2026-07-09 22:34:09 +02:00
  • e70202339f release: 0.3.0 v0.3.0 Catubba 2026-07-09 20:55:00 +02:00
  • 2bbe5716a5 fix(notify): scrub an exception raised by engine.add() Catubba 2026-07-09 20:35:30 +02:00
  • 0699bbbc64 fix(ui): the test button no longer reports a save failure Catubba 2026-07-09 20:22:19 +02:00
  • 4654ad8bf6 feat(ui): show the notification test outcome per channel Catubba 2026-07-09 20:06:15 +02:00
  • b9b99d8d28 feat(ui): add channelLabel helper for the notification report Catubba 2026-07-09 20:02:53 +02:00
  • 992f9e8afe feat(api): return a per-channel report from POST /api/notify/test Catubba 2026-07-09 19:58:40 +02:00
  • 51ceb9177d docs(notify): tie the thread filter to the one-URL-per-engine invariant Catubba 2026-07-09 19:55:27 +02:00
  • dfb4ca068b fix(notify): isolate log capture per thread, scrub channel URLs and encoded secrets Catubba 2026-07-09 19:47:47 +02:00
  • 3e6153565f feat(notify): report delivery outcome per channel Catubba 2026-07-09 19:32:31 +02:00
  • 7aefc66324 fix(docker): build the SPA on node 24 to match CI (#11) CatubbaandGitHub 2026-07-09 11:07:26 +02:00
  • f6de808547 chore(deps): bump the i18n group across 1 directory with 2 updates (#7)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-07-09 09:53:09 +02:00
  • 949686a95c chore(deps): bump the react group across 1 directory with 4 updates (#8)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-07-09 09:45:46 +02:00
  • 2f6b0205e9 chore(deps-dev): bump the vite group in /frontend with 2 updates (#9)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-07-09 09:33:54 +02:00
  • 781822f84c chore(deps): typescript 6 + group peer-coupled Dependabot updates (#6) CatubbaandGitHub 2026-07-09 09:25:10 +02:00
  • 6572d5a950 release: v0.2.0 — dashboard integration + persistent datastore usage v0.2.0 Catubba 2026-07-09 02:49:34 +02:00
  • 9dc6879feb test(api): cover datastore write-on-GET when PBS online + clarify fallback Catubba 2026-07-09 02:34:50 +02:00
  • a07523d529 feat(api): serve cached datastore usage when the PBS is offline Catubba 2026-07-09 02:25:27 +02:00
  • c3c912e182 feat(cycle): cache datastore usage while the PBS is awake Catubba 2026-07-09 02:20:04 +02:00
  • 4c06f245f5 feat(db): add DatastoreStat cache table + upsert/get helpers Catubba 2026-07-09 02:15:45 +02:00
  • de2c27b402 fix(frontend): copy works over HTTP (non-secure context) + snippet copy button Catubba 2026-07-09 01:23:36 +02:00
  • 26a3e875ef feat(dashboard): last_run_status reflects the last completed cycle, not an in-progress one Catubba 2026-07-09 00:48:12 +02:00
  • 256dfecbad fix(dashboard): 401 on non-ASCII API key + correct snippet icon path Catubba 2026-07-09 00:33:49 +02:00
  • c85fd2183a fix(frontend): correct Homarr/Dashy integration snippets to current syntax Catubba 2026-07-09 00:25:36 +02:00
  • 61cdf7268e docs: add dashboard integration guide Catubba 2026-07-09 00:20:40 +02:00
  • 8c2bcc654c feat(frontend): add Settings > Integrations with dashboard snippet picker Catubba 2026-07-09 00:13:46 +02:00
  • 259032f6a6 feat(frontend): add api_key config field and key-management client methods Catubba 2026-07-09 00:09:22 +02:00
  • 16465b632f feat(api): add POST/DELETE /api/config/api-key management Catubba 2026-07-09 00:05:52 +02:00
  • 2d954f53fd feat(api): add API-key-protected GET /api/dashboard endpoint Catubba 2026-07-09 00:00:37 +02:00
  • fd82af46c1 refactor(api): extract shared PBS status probe helper Catubba 2026-07-08 23:55:04 +02:00
  • 61a9dee79a feat(config): add server-managed app.api_key for dashboard integration Catubba 2026-07-08 23:50:17 +02:00
  • 48e4bc9b42 release: v0.1.1 — version bump + doc corrections v0.1.1 Catubba 2026-07-08 22:48:57 +02:00
  • 1c6df48152 fix(dashboard): preserve advanced cron schedules verbatim on save (JN-006) Catubba 2026-07-08 18:52:38 +02:00
  • 4451f4919c test(provision): pin create_token re-raise when delete fails (JN-028) Catubba 2026-07-08 18:41:51 +02:00
  • 1a7aef9dc7 test(cycle): cover datastore best-effort, failure notification, per-step logs (JN-028) Catubba 2026-07-08 18:38:17 +02:00
  • 07f9883edd fix(dashboard): lock the weekday UI for advanced cron schedules + note (JN-006) Catubba 2026-07-08 18:28:53 +02:00
  • 657ef3b8d8 fix(cron): carry day-of-month/month through the round-trip (JN-006) Catubba 2026-07-08 18:23:30 +02:00
  • ace6f52474 fix(format): revert rel() to Math.round, correct test to characterize it (JN-030) Catubba 2026-07-08 18:20:52 +02:00
  • 7d0676c3fe test(frontend): add node:test harness + format.ts tests, bump CI to Node 24 (JN-030) Catubba 2026-07-08 18:15:20 +02:00
  • 02ac5da168 fix(wizard): keep the pinned PBS fingerprint on plain backtrack (JN-002) Catubba 2026-07-08 17:22:52 +02:00
  • d117d11144 fix(auth): keep the acting session on self password-change, revoke others (JN-011) Catubba 2026-07-08 17:22:48 +02:00
  • 0045fa6fe0 fix(wizard): reset host-key confirmation + pinned fingerprint on PBS host change (JN-002/003) Catubba 2026-07-08 17:01:54 +02:00
  • 37bfbbff16 docs: auth-hardening settings + first-run guidance (JN-009/010/011) Catubba 2026-07-08 16:57:56 +02:00
  • 95eaa85fa1 feat(auth): surface login lockout message on the sign-in screen (JN-009) Catubba 2026-07-08 16:53:48 +02:00
  • 951d19fca7 feat(auth): revoke sessions on password change via hash-derived token (JN-011) Catubba 2026-07-08 16:49:30 +02:00
  • 532440e313 feat(auth): config-driven session https_only + max_age (JN-011) Catubba 2026-07-08 16:39:31 +02:00
  • 206d67e4a2 feat(auth): raise password floor to 8 characters (JN-010) Catubba 2026-07-08 16:34:38 +02:00
  • 08c7b79463 feat(auth): rate-limit login + setup, 429 on lockout (JN-009) Catubba 2026-07-08 16:24:43 +02:00
  • b37a5b58aa feat(auth): in-memory per-IP login rate-limiter (JN-009) Catubba 2026-07-08 16:18:14 +02:00
  • be3182c8e0 docs: transport-security behavior + PVE-provision residual (JN-002/003) Catubba 2026-07-08 00:16:39 +02:00
  • 492d05824b feat(wizard): confirm PBS SSH host key + show pinned TLS fingerprint (JN-002/003) Catubba 2026-07-08 00:09:11 +02:00
  • 7497124c01 style(tests): drop unused ssh import in test_sshkey (Task 6 leftover) Catubba 2026-07-08 00:05:36 +02:00
  • 1eed61d8ae feat(ssh): wizard host-key scan + trust endpoints (JN-003) Catubba 2026-07-08 00:04:14 +02:00
  • 038227668b feat(ssh): wizard key-install verifies host key (JN-003) Catubba 2026-07-07 23:57:11 +02:00
  • f501423551 test(ssh): cover power-off TOFU-add branch (known=False, scan-failure) (JN-003) Catubba 2026-07-07 23:54:07 +02:00
  • 51df35ad1c feat(ssh): strict known_hosts check on power-off, TOFU-add on upgrade (JN-003) Catubba 2026-07-07 23:49:46 +02:00
  • 35934a9843 feat(ssh): persisted host-key store (scan/save/strict client) (JN-003) Catubba 2026-07-07 23:44:26 +02:00
  • 187e96514a feat(tls): pin PBS token provisioning by fingerprint (JN-002) Catubba 2026-07-07 23:34:54 +02:00
  • 508de93e7a test(tls): assert pinned context is wired to PbsClient.verify (JN-002) Catubba 2026-07-07 23:30:02 +02:00
  • af5d6ccaaf feat(tls): pin the runtime PBS client by fingerprint (JN-002) Catubba 2026-07-07 23:25:51 +02:00
  • 5c1cb7d8a4 feat(tls): fingerprint-pinning SSLContext for PBS (JN-002) Catubba 2026-07-07 23:20:09 +02:00
  • 31c1a273a0 fix(review): batch 3 quick-wins, backend + frontend (JN-007/013-021/024/026) Catubba 2026-07-07 22:33:40 +02:00
  • c93b59ffd9 fix(cycle): record power-off failure reason in the step detail (JN-005 polish) Catubba 2026-07-05 16:21:54 +02:00
  • 2a7d8c7681 chore(scheduler): log the 'already running' skip at info, not as an exception (JN-025) Catubba 2026-07-05 16:12:21 +02:00
  • cd226ceda1 refactor(db): drop never-written bytes_total/guests_failed columns (JN-008) Catubba 2026-07-05 16:06:46 +02:00
  • 11d7591e06 feat(notify): success message flags when the PBS was left powered on (JN-005) Catubba 2026-07-05 15:58:34 +02:00
  • 6ed23f2d66 fix(cycle): power-off failure after a good backup is non-fatal (JN-005) Catubba 2026-07-05 15:50:12 +02:00
  • 3c502ad767 fix(recorder): allow non-fatal step failures; close session on opening-commit error (JN-023) Catubba 2026-07-05 15:25:36 +02:00
  • 85d933879a chore: bump version to 0.1.1-beta Catubba 2026-07-05 00:26:30 +02:00
  • 2a20f5ef35 fix(wizard): mode toggle no longer resets a completed/in-progress setup Catubba 2026-07-05 00:16:02 +02:00
  • 53b43f6ac3 fix(ui): add cancel to custom-URL replace-all; lock account/ordering contracts Catubba 2026-07-04 23:21:02 +02:00
  • abe2c15cbc feat(ui): replace-all custom Apprise URL editor for write-only custom_urls (JN-004) Catubba 2026-07-04 22:51:01 +02:00
  • 9d915ab4d4 test(api): extend auth-guard coverage to power/notify/scheduler/logs (JN-029) Catubba 2026-07-04 22:40:45 +02:00
  • 2fb6abacd1 fix(auth): accept empty account password as keep-current (JN-022) Catubba 2026-07-04 22:26:07 +02:00
  • 1ba9281f9f fix(config): make custom_urls write-only all-or-nothing (JN-004) Catubba 2026-07-04 22:04:28 +02:00
  • 5875dd3b3d fix(config): deep-merge PUT /api/config and server-manage secret_key/password_hash (JN-001, JN-012) Catubba 2026-07-04 21:46:13 +02:00
  • 01495ea43b docs: note harmless locale warning during Docker install on fresh LXCs Catubba 2026-07-03 18:49:54 +02:00
  • 28cc0f425d Initial commit v0.1.0 Catubba 2026-07-02 20:46:57 +02:00