Commit Graph

102 Commits

Author SHA1 Message Date
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
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
e77723164b refactor: improve buttons and space with dropdowns (#738) 2026-04-02 21:44:32 +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
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
4c928cbc33 refactor(client): configure time formatting with timezone from server 2026-03-24 07:52:54 +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
a671b17b4f refactor(schedule form): helper for multiline parsing 2026-03-15 12:09:18 +01:00
Nicolas Meienberger
2923bf9f27 feat: add toggle to switch snapshot order 2026-03-12 18:02:02 +01:00
Nicolas Meienberger
b156d6154e fix: rebase issues 2026-03-11 19:05:50 +01:00
Nicolas Meienberger
d59677e322 chore: color improvements in light mode 2026-03-11 18:53:58 +01:00
Nico
55dbcf0eb3 refactor: move from arktype to zod (#637)
chore: gen api-client
2026-03-11 18:53:58 +01:00
Nico
b35a20f43d feat: light theme (#638) 2026-03-11 18:53:15 +01:00
bcrooker
8e24c6a8d8 feat(backups): show estimated time remaining on backup progress 2026-03-05 20:06:00 -05:00
Nicolas Meienberger
c2ed9e3693 refactor: correctly delete orphan sessions after idp deletion 2026-03-05 21:02:56 +01:00
Nicolas Meienberger
157be2d6ab feat: custom flags allowlist 2026-03-04 19:42:08 +01:00
Nicolas Meienberger
7881f818ae test: *.xyz include pattern 2026-03-04 18:48:47 +01:00
Nicolas Meienberger
70352e9f91 refactor: render cached data directly if available during ssr 2026-03-04 18:48:47 +01:00
bcrooker
ef51d665c8 feat(backups): add custom restic params to backup schedules
Allows users to pass arbitrary restic flags via a new advanced section in the create/edit schedule form. Includes DB migration, schema update, DTO, service, and restic command changes.
2026-02-27 14:46:47 -05:00
Nico
b2d2f28b40 style: redesign dashboard (#586)
style: redesign dashboard

style(tables): same height row in all pages
2026-02-26 19:57:39 +01:00
Nicolas Meienberger
b1a0cdb195 chore: gen api-client 2026-02-25 23:19:34 +01:00
Nico
cb92d36c95 feat: cache backup progress (#571)
Closes #412
2026-02-25 18:20:08 +01:00
Nico
182d39a887 feat: restore snapshot as tar (#550)
* feat: export snapshot as tar file

chore(mutext): prevent double lock release

* chore: pr feedbacks

* fix: dump single file no tar

* chore: pr feedbacks
2026-02-21 10:19:20 +01:00
Nico
8681ebc0c0 refactor: always use short id in api calls (#545) 2026-02-19 20:08:40 +01:00
Nico
8fcd446926 refactor: snapshot strip out base path (#542)
* refactor: strip out volume path in snapshot list / restore

chore: lint issue

* test: backups new include patterns
2026-02-18 21:45:19 +01:00
Nico
ca8248b2a0 ui: scroll to error (#541)
* refactor: scroll to first error when submitting a form

* refactor: split file browsers into dedicated components with base

* chore: pr feedbacks
2026-02-18 20:13:09 +01:00
Nicolas Meienberger
85e2272a5c fix(ui): missing @container class in backup details 2026-02-17 19:29:10 +01:00
Nico
f059a23ecc fix: multiple mobile and responsiveness issues (#537)
* fix: multiple mobile and responsiveness issues

fix(mobile): scroll reset on snapshot selection

fix(mobile): layout improvements

refactor(volume-details): improve layout

refactor: better card breakpoints layouts in backps list

fix(ui): keep sidebar in the state it was before reloading

refactor(ui): keep the same grid size in all breakpoints

refactor: manual hotkey devpanel to tanstack hotkeys

* chore: pr feedback
2026-02-17 18:44:22 +01:00
Nico
8e5eb68935 refactor: optimistic ui when deleting a snapshot (#515) 2026-02-14 13:47:09 +01:00
Nico
bad944a232 feat: restore progress (#281)
* feat: restore progress

* feat: keep restore progress on reload

* refactor: centralize sse event types

* refactor(sse): generic handler factory
2026-02-14 12:35:16 +01:00
Nico
1017f1a38b feat: edit repository form (#507)
* feat: edit repository form

* refactor: local repo path concat as a code migration

* refactor: server constants

* chore: fix lint issue in test file

* refactor: add auth to getServerConstants
2026-02-14 11:49:33 +01:00
Nico
ec4cf938bc feat: show progress indicator on mirrors (#499)
* feat: show progress indicator on mirrors

refactor: remove unnecessary useEffects

* refactor: pr feedbacks
2026-02-12 22:27:30 +01:00
Nico
7ebce1166b feat: expand snapshot details with additional info (#505)
* feat: extend snapshot details with more info

Closes #385

* refactor: centralize restic backup schemas

* refactor: pr feedbacks
2026-02-12 18:25:21 +01:00
Nico
825d46c934 refactor: react-router -> tanstack start (#498)
* refactor: move to tanstack start

* refactor: auth flow & volumes

* refactor: repo & snapshot details

* refactor: backups, create repo, volumes

* refactor: create volume & restore snapshot

* refactor: notifications

* refactor: settings

* refactor: breadcrumbs

* fix: ts issues

* refactor: prod deployment

* fix: import css production

* refactor: nitro build

* refactor: winston -> consola

* fix: memory leak is sse events cleanup

* fix: cli usage

* chore: remove rr routes file

* refactor: pr feedbacks

* refactor: patch api client to have a global client per call

* refactor: pr feedbacks

* fix(dockerfile): add explicit port

* fix(e2e): healthcheck under /api
2026-02-11 21:41:06 +01:00
Nico
b45d36e06a refactor: make lock errors cleaner and show unlock button (#493)
* refactor: make lock errors cleaner and show unlock button

* chore: pr feedbacks
2026-02-10 20:18:25 +01:00
Nico
09c1cbbb94 feat: show retention tags in snapshots timeline (#462)
* feat: show retention tags in snapshots timeline

* refactor: use button for accesibility
2026-02-08 16:14:43 +01:00
Nico
17b4027e0b refactor: split create schedule form (#453) 2026-02-02 18:18:14 +01:00
Nico
5bb5fcd09c refactor: paginate large file counts (#441)
* refactor: add pagination to handle volume folders with extremely large folder counts

* refactor: stream restic ls result

* test: file-tree load more

* refactor: string params

* fix(tsc): string pagination params

* chore: pr feedbacks
2026-01-31 16:05:42 +01:00