Nico
4dcafa0708
feat(auth): allow skipping forced recovery key download ( #900 )
...
* feat(auth): allow skipping forced recovery key download
* refactor: move from session storage to cookie
2026-05-19 20:36:45 +02:00
Nico
c071596151
fix(system): block recovery key download without credential password ( #899 )
2026-05-19 20:28:09 +02:00
Nico
3b9f2086ee
fix(backups): preserve retry settings when toggling schedules ( #896 )
2026-05-19 20:08:05 +02:00
Nicolas Meienberger
66ebc249ca
fix: force recovery key redownload after possible truncated download
2026-05-18 21:35:53 +02:00
Nicolas Meienberger
419204d587
fix(download-password): revoke url after 60 secs
2026-05-18 21:13:07 +02:00
Nico
19a0781667
test: backend integration ( #889 )
...
* test: backend integration
* docs: mounted shares acls
* feat: smb expose real ACLs when available
* fix: re-init repo on setup
* chore: add missing @hono/standard-validator package
* chore: add happy-dom dev dep
2026-05-17 15:18:56 +02:00
Nico
aa7da321ba
refactor: dedpulicate volume schemas across packages ( #864 )
2026-05-09 15:36:25 +02:00
Nicolas Meienberger
e981211a2d
fix(notifications): validate webhook headers and show delivery health
2026-05-05 10:24:20 +02:00
Nico
f83b765d04
fix(notifications): persist delivery health status ( #850 )
...
* fix(notifications): persist delivery health status
* fix: pr feedback double update
2026-05-02 11:51:16 +02:00
Antoine Jeanselme
3d5a0a9b75
feat: add repositories & volumes column sorting ( #808 )
...
* Add repository column sorting
* Make status title correctly centered o nsmaller screens
* Add volumes column sorting
* refactor: use tanstack table for filtering and sorting
* feat: make notifications sortable
* chore: pr feedbacks
---------
Co-authored-by: Antoine Jeanselme <67123340+ajeanselme@users.noreply.github.com >
Co-authored-by: Nicolas Meienberger <github@thisprops.com >
2026-05-02 10:21:42 +02:00
Nico
11e9fbcc44
feat: pre/post backup webhooks ( #835 )
...
* feat: pre/post backup webhooks
* fix(hooks): run post when cancelled
* refactor(webhooks): headers as array
* refactor: pr feedback
* refactor: simplify hooks ceremonies
* chore: pr feedbacks
* chore: re-gen migration
2026-04-29 23:48:58 +02:00
Nicolas Meienberger
c64862f604
refactor: extract shared test fixtures and secret helpers
2026-04-22 22:33:18 +02:00
Nico
6ae5a33acd
chore: remove dead files ( #827 )
2026-04-22 22:13:24 +02:00
Nico
e2c9ef0518
chore: fixed unused types ( #824 )
2026-04-22 22:04:46 +02:00
Nico
a0c34ee48d
chore: cleanup un-used exports ( #823 )
2026-04-22 21:14:37 +02:00
Eric Hess
d2f65716fe
feat(mirrors): add selective snapshot sync to mirror repositories ( #755 )
...
* feat(mirrors): add selective snapshot sync to mirror repositories
Allow users to sync missing snapshots from the source repository to a
mirror. A new sync button per mirror opens a dialog showing which
snapshots are missing, with checkboxes to select which ones to copy.
- Add GET /:shortId/mirrors/:mirrorShortId/status endpoint to compare
snapshots between source and mirror repositories
- Add POST /:shortId/mirrors/:mirrorShortId/sync endpoint accepting
selected snapshotIds in the request body
- Extend restic copy command to accept multiple snapshotIds
- Add sync preview dialog with snapshot selection to the frontend
* refactor: stylistic changes
---------
Co-authored-by: Nicolas Meienberger <github@thisprops.com >
2026-04-16 21:28:48 +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
cb22e34215
refactor(backup): default to 2 retries & 15 minutes delay
2026-04-12 10:16:26 +02:00
DerPenz
0476dcebb8
fix(backup): updating new settings correctly in the db
2026-04-12 09:49:35 +02:00
DerPenz
b1cd1a4220
fix(backup): added placeholder in settings
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
Nico
73ae5c41b5
style: fix misalignment in mirrors ui ( #778 )
2026-04-11 08:57:46 +02:00
Nico
595a29056d
fix(slack): channel is not supported in combination with webhooks ( #770 )
...
#766
2026-04-09 22:24:24 +02:00
Nicolas Meienberger
f11e3b7f82
fix(schedule): disable if saving with manual-only mode
2026-04-04 23:23:26 +02:00
Nico
9e7f1bf138
fix: windows path style in snapshot ( #742 )
2026-04-04 17:21:13 +02:00
Nico
95aadf6e73
refactor: dedicated edit page for notifications ( #741 )
2026-04-02 22:59:23 +02:00
Nico
731ebad1ee
style: redesign volume details page to match repository ( #740 )
2026-04-02 22:55:23 +02:00
Nico
475bfb59ae
style: redesign respository details page ( #739 )
2026-04-02 22:51:57 +02:00
Nico
e77723164b
refactor: improve buttons and space with dropdowns ( #738 )
2026-04-02 21:44:32 +02:00
Nico
4bf1463406
refactor: dedicated edit page for volumes ( #737 )
2026-04-02 21:40:24 +02:00
Nico
d6e80b71d7
refactor: dedicated edit page for backups ( #736 )
2026-04-02 21:36:31 +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
63e12868b1
fix: react hydration issues by using the same locale during ssr and hydration
2026-03-31 22:39:16 +02:00
Nicolas Meienberger
ca38f7ca69
fix(select): render a div durng ssr to avoid hydration issues
2026-03-31 22:05:46 +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
Kevin Stallone
aa7eaa0929
feat(volumes): add webdav, sftp, and rclone filters ( #720 )
...
* feat(volumes): add sftp, webdav, and rclone filters
* chore(volumes): align backend filter order with create-volume form
2026-03-31 20:27:43 +02:00
Nicolas Meienberger
e55ffccd21
feat: infer default time format from navigator.language
2026-03-30 18:44:26 +02:00
Nico
f89b8c3b52
feat: custom date time format ( #718 )
2026-03-29 17:24:54 +02:00
Nico
611640b32b
fix: split display path and query base path ( #714 )
...
* fix: split display path and query base path
#709
* test(frontend): shared render utils
* fix(file-tree): add missing path segments
* chore: bump Bun version
* fix: select kind for synthetic folders
2026-03-29 12:30:35 +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
Nicolas Meienberger
4c928cbc33
refactor(client): configure time formatting with timezone from server
2026-03-24 07:52:54 +01:00
Nicolas Meienberger
c93b076bf6
test: simplify file-tree selection & login mocking
2026-03-22 12:06:48 +01:00
Nico
4fec2777ce
test(e2e): fail in unexpected console.error ( #696 )
...
* test(e2e): fail in unexpected console.error
* fix(datetime): graceful fallback during SSR when navigator is undefined
2026-03-22 11:31:48 +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
Nicolas Meienberger
4356ace665
refactor: users table
2026-03-15 12:25:07 +01:00
Nicolas Meienberger
a671b17b4f
refactor(schedule form): helper for multiline parsing
2026-03-15 12:09:18 +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