Nicolas Meienberger
76ac78c40c
chore: fix ts issues in test files
2026-04-12 11:39:06 +02:00
Nicolas Meienberger
832425025f
refactor(backup): move retry delay minutes conversion at the contract level
2026-04-12 11:28:39 +02:00
Nicolas Meienberger
ed046f284d
fix(backup): reset failure count on cancel
2026-04-12 10:39:14 +02:00
DerPenz
8765c5e705
feature(backup): do not trigger retry on manual backup
2026-04-12 09:49:35 +02:00
DerPenz
11bb95db92
fix(backup): retry wont be scheduled if it is after the next scheduled backup
2026-04-12 09:49:35 +02:00
DerPenz
5d8c2925d8
fix(backup): resetting failureRetryCount if backup is not retried
2026-04-12 09:49:35 +02:00
DerPenz
61396625f1
fix(backup): added limits in zod schema
2026-04-12 09:49:35 +02:00
DerPenz
b2728cb09a
fix(backup): removed useless null checks
2026-04-12 09:49:35 +02:00
DerPenz
0476dcebb8
fix(backup): updating new settings correctly in the db
2026-04-12 09:49:35 +02:00
DerPenz
79b7733e1e
fix(backup): updated types gen
2026-04-12 09:49:35 +02:00
DerPenz
7e9b1fafa3
feat(backup): added retry policy into job settings
2026-04-12 09:49:35 +02:00
DerPenz
feb69ef7a7
feat(backup): retry backup on failure
2026-04-12 09:49:35 +02:00
Nico
4520335ebc
fix(rclone): pass explicitly the RCLONE_CONF env var ( #779 )
2026-04-12 09:25:57 +02:00
Nico
28ba8657f9
feat(runtime): start and ship the local agent ( #767 )
...
* feat(runtime): start and ship the local agent
* refactor: gate local agent behind feature flag
* chore: skip agent manager if flag is false
* fix: hot reload agents
* test: fix config tests
2026-04-10 00:00:30 +02:00
Nico
595a29056d
fix(slack): channel is not supported in combination with webhooks ( #770 )
...
#766
2026-04-09 22:24:24 +02:00
Nico
4872029b87
fix(smb-backend): add explicit utf8 charset encoding ( #768 )
2026-04-09 21:39:19 +02:00
Nico
5bcc3acc56
feat(controller): add agent manager and session handling ( #763 )
2026-04-09 20:00:54 +02:00
Nico
c371676ad0
feat(agent): add standalone agent runtime ( #761 )
...
* feat(agent): add standalone agent runtime
* fix(backups): bridge local executor to Effect restic API
* fix(agent): add Bun and DOM types to agent tsconfig
* refactor: wrap backup error in a tagged effect error
* fix: pr feedbacks
2026-04-08 20:47:15 +02:00
Nico
9e7f1bf138
fix: windows path style in snapshot ( #742 )
2026-04-04 17:21:13 +02:00
Nico
a4e54ac527
fix: serialize mirror copy operations per destination repository ( #747 )
...
* fix: serialize mirror copy operations per destination repository
* refactor(copy-mirror): implement acquireMany to avoid deadlock cycles
2026-04-04 17:12:45 +02:00
Nico
4305057185
test: move test runner from Bun to Vitest ( #727 )
...
* chore: migrate to vitest
* test: speed up some suites by sharing sessions and mocking expensive non-tested actions
* test: refactor some tests to verify behavior instead of implementation details
* chore: fix linting issues
2026-04-01 20:05:54 +02:00
Nicolas Meienberger
e265f7d478
test: fix flaky test depending on mutex timing
2026-04-01 09:27:13 +02:00
Nicolas Meienberger
3acf565ccd
fix: force user to provide known hosts values in sftp volume / repository creation
2026-03-31 20:27:48 +02:00
Nico
2a219ac042
refactor(backups): consolidate execution into service helpers ( #717 )
2026-03-29 12:57:47 +02:00
Nico
866a3c63e8
feat: manual backup option ( #713 )
...
Closes #710
2026-03-26 19:35:18 +01:00
Nicolas Meienberger
b4668e23c7
test(e2e): attach browser logs and full errors in report
2026-03-24 07:52:54 +01:00
Nico
05dd440dea
fix(restic): separate error summary from diagnostic details ( #694 )
2026-03-21 20:50:23 +01:00
Nico
618f37e250
fix(notifications): fix telegram shoutrrr URL encoding ( #691 )
...
Closes #690
2026-03-21 20:38:45 +01:00
Nicolas Meienberger
aa23967329
fix: encrypt ntfy access token at rest
2026-03-20 20:37:51 +01:00
Nicolas Meienberger
bad5f78991
fix(smb): use long form params username / password instead of user / pass
...
#674
2026-03-20 19:29:40 +01:00
Nico
a039bb478e
fix: separate raw include paths and patterns ( #683 )
...
Separate include patters and included path cleanly to avoid path with special characters to be expanded. Closes https://github.com/nicotsx/zerobyte/discussions/680
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
* **New Features**
* Added ability to select specific directories and paths for inclusion in backup schedules, separate from pattern-based rules.
* **Bug Fixes & Improvements**
* Automatically migrates existing backup configurations to work with the new path selection system.
* Enhanced backup restoration to properly handle both selected paths and pattern-based inclusions.
* **Chores**
* Updated database schema to support path selections in backup schedules.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-20 19:27:54 +01:00
Nico
f6f17cd61c
fix: backup progress use simple polling & cache ( #678 )
...
#593
2026-03-18 20:25:30 +01:00
Nico
429b69ec92
fix: show back warnings logs and surface in UI ( #677 )
...
fix: show back warnings logs and surface in UI
#544
chore: fix dev login issue
2026-03-18 20:21:14 +01:00
Nico
e39220c024
fix: allow quoted urls in env variables ( #676 )
2026-03-17 22:09:22 +01:00
Nicolas Meienberger
2d10da72f6
refactor(volume-backend): assert mounted helper
2026-03-15 12:03:27 +01:00
Nicolas Meienberger
5f7f2005fa
refactor(notifications): extract config secret mapping
2026-03-15 11:51:17 +01:00
Nicolas Meienberger
a2d34a027e
refactor(notifications): use native URL builder
2026-03-15 11:40:03 +01:00
Nico
7473c29948
feat: protect restores that would overwrite important internal path ( #663 )
2026-03-13 21:33:37 +01:00
Nicolas Meienberger
66f95dcd8e
fix: reject include patterns that are not in the volume root
2026-03-12 20:17:40 +01:00
Nicolas Meienberger
469f0d6c4e
fix(dump): content-disposition header with special characters
2026-03-12 19:17:32 +01:00
Nico
d74f516336
feat: file-based provisionning of volumes and repos ( #656 )
...
* feat: file-based provisionning of volumes and repos
docs: provisioning example
chore: ui improvements
* chore: ci issues
2026-03-12 18:31:42 +01:00
Nicolas Meienberger
b132ad6df5
fix: add additional chmod after file write
...
Closes #478 The mode option of fs.writeFile does not reliably apply
permissions on all filesystems. On Synology NAS Docker volumes (btrfs),
the file ends up with 0755 permissions instead of 0600, causing SSH to
refuse the key.
2026-03-12 18:01:45 +01:00
Nico
332e5bffda
refactor: extract restic in core package ( #651 )
...
* refactor: extract restic in core package
* chore: add turbo task runner
* refactor: split server utils
* chore: simplify withDeps signature and fix non-null assertion
2026-03-11 21:56:07 +01:00
Nicolas Meienberger
d07be16fc6
fix(rclone): use correct timeout in seconds
2026-03-11 19:19:06 +01:00
Nico
19b827c049
fix: dump snapshot ( #646 )
...
Closes #602
2026-03-10 18:01:51 +01:00
Nico
df312cd419
refactor: move from arktype to zod ( #637 )
...
chore: gen api-client
2026-03-09 18:27:03 +01:00
Nico
d660c8e2e4
fix: single item file restore ( #634 )
...
fix: single item file restore
test(e2e): restore single file at custom location
Closes #633
2026-03-08 13:38:00 +01:00
Nicolas Meienberger
3d2900ab69
refactor: harden cron validation and fail early in case of wrong pattern
2026-03-08 12:47:19 +01:00
Nico
3e50e37e02
chore: bump drizzle to beta-16 ( #622 )
...
chore: bump drizzle to beta-16
test: increase test coverage
2026-03-05 22:23:45 +01:00
Nicolas Meienberger
c2ed9e3693
refactor: correctly delete orphan sessions after idp deletion
2026-03-05 21:02:56 +01:00