Nicolas Meienberger
6733151bca
refactor: only set pragma on server start
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-02-16 21:57:14 +01:00
Nico
dda7b9939f
refactor: allow more characters in usernames ( #529 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-02-16 21:37:15 +01:00
Nico
99bb296866
fix: cascade delete not correctly applied ( #531 )
2026-02-16 21:36:07 +01:00
Nico
de1278a416
refactor: rename DATABASE_URL -> ZEROBYTE_DATABASE_URL ( #528 )
2026-02-16 19:43:43 +01:00
Nico
66ed89d39e
fix(file-tree): display load more if root folder has 500+ items ( #526 )
...
Close #518
2026-02-16 19:25:41 +01:00
Nico
39ae0cfe6d
fix: remove trailing slash or space before constructing s3 uri ( #516 )
...
Closes #496
2026-02-14 14:18:36 +01:00
dependabot[bot]
d53b24bfb4
chore(deps): bump drizzle-orm from 1.0.0-beta.9-e89174b to 1.0.0-beta.15-859cf75 ( #501 )
...
* chore(deps): bump drizzle-orm
Bumps [drizzle-orm](https://github.com/drizzle-team/drizzle-orm ) from 1.0.0-beta.9-e89174b to 1.0.0-beta.15-859cf75.
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases )
- [Commits](https://github.com/drizzle-team/drizzle-orm/commits )
---
updated-dependencies:
- dependency-name: drizzle-orm
dependency-version: 1.0.0-beta.15-859cf75
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* refactor: convert async transactions to sync + .run()
* chore: formatting
* chore: add lefthook dep
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2026-02-14 14:18:20 +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
a4fbe3c8df
remove proxy pattern in db and auth ( #513 )
...
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* refactor: add nitro bootstrap plugin to ensure app is started before first call
* refactor(bootstrap): avoid duplicate event firing
* refactor: extract common setup in initModule function
* refactor: remove proxy pattern for db and auth
Since we migrated away from rr this is not needed anymore as the bundler
correctly split chunks
2026-02-13 21:18:40 +01:00
Nico
297e14ebb2
refactor: add nitro bootstrap plugin to ensure app is started before first call ( #512 )
...
* refactor: add nitro bootstrap plugin to ensure app is started before first call
* refactor(bootstrap): avoid duplicate event firing
2026-02-13 20:46:10 +01:00
Nicolas
0cf5358f77
ci: fix linting issues
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-02-13 18:33:34 +01:00
Nicolas
6d33a3a35e
refactor: remove delete option until we have a proper dry-run mode
2026-02-13 18:31:06 +01:00
Nicolas
71f72bd09b
fix: use 127.0.0.1 when making server to server requests
2026-02-13 18:25:03 +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
cb7988b8ed
refactor(retention badges): use restic forget dry run result instead of manual calc ( #494 )
...
* refactor(retention badges): use restic forget dry run result instead of manual calc
* chore: PR feedbacks
2026-02-10 20:14:35 +01:00
Nico
12d0eda6ef
feat: dev panel ( #489 )
...
* feat: dev panel
* chore: fix typing issue
2026-02-09 22:04:21 +01:00
Nico
124b8f4081
fix: make retention badge clickable for mobile devices ( #486 )
2026-02-09 18:15:34 +01:00
Nicolas Meienberger
2d0ae89727
fix: get volume if short id is only numbers
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-02-08 16:33:32 +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
0e0eaea946
refactor: split backups module + unit tests ( #463 )
...
* refactor: split backups module
* test: backup execution
* test: schedule db
2026-02-03 23:00:25 +01:00
Nicolas Meienberger
1e5921fa61
fix(create-repo): directory selection
2026-02-02 20:34:37 +01:00
Nico
17b4027e0b
refactor: split create schedule form ( #453 )
2026-02-02 18:18:14 +01:00
Nico
35773a6969
refactor: upgrade to drizzle v1 ( #450 )
...
* refactor: move migrations to new structure
* refactor: convert all findMany to new structure
* fix(backups-schedule): missing null matching for last backup status
* chore: move root lib to server
2026-02-01 19:14:52 +01:00
Nico
b914851841
fix: smb mount issues ( #442 )
2026-02-01 10:27:26 +01:00
Nico
4c7bd31b88
feat: custom rclone conf dir env variable ( #432 )
...
* feat: custom rclone conf dir env variable
Closes #238
* chore: rename RCLONE_CONF_DIR -> RCLONE_CONFIG_DIR
2026-02-01 10:24:09 +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
Nico
b8ad1ae41a
refactor: show progress card even if no data is streamed ( #440 )
2026-01-31 13:26:10 +01:00
Nicolas Meienberger
d4864099a6
style(create-backup): fix cards overlap
2026-01-31 10:44:51 +01:00
Nicolas Meienberger
6f8ff9d606
refactor: add body limit middleware
2026-01-30 21:36:15 +01:00
Nicolas Meienberger
774c11a9ac
revert(sftp-repo): put back previous values for alive count and alive interval
2026-01-30 18:16:07 +01:00
Nico
8ced05c5a9
feat: add refresh snapshot list and snapshot error page ( #434 )
...
Closes #372
2026-01-29 23:20:13 +01:00
Nico
da5ad5c817
feat: add config for SMB guest mode ( #431 )
...
* feat: add config for SMB guest mode
Closes #279
* chore: pr feedbacks
2026-01-29 23:16:31 +01:00
Nico
3786a9283b
fix(backup-card): dot invisible if volume name too long ( #430 )
2026-01-29 21:14:21 +01:00
Nico
bde5302ca4
feat(smtp-notification): add missing from name param to form ( #429 )
...
* feat(smtp-notification): add missing from name param to form
* chore: gen api client
2026-01-29 21:13:51 +01:00
Nico
93aabebd51
refactor: remove slug constraint in volume name ( #428 )
...
* refactor: remove slug constraint in volume name
Closes #413
* chore: remove un-used imports
* fix(notifications): validate name is not empty
* refactor: deny empty names
2026-01-29 20:57:20 +01:00
Nicolas Meienberger
861f81f14e
refactor: use bun random uuid v7 for member id
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-29 08:57:46 +01:00
Nicolas Meienberger
e8318d577b
fix: user missing their org on startup
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-29 08:31:58 +01:00
Nicolas Meienberger
dfb4890c44
fix: remove new migration dependency on legacy re-key one
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-29 07:51:02 +01:00
Nicolas Meienberger
7d131719b7
fix: skip read data for doctor operation
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-29 07:38:51 +01:00
Nicolas Meienberger
726bd5d06f
chore: skip secure headers in non-production envrionments
2026-01-28 22:15:42 +01:00
Nico
45032362a8
feat: base-url env variable ( #419 )
2026-01-28 01:19:37 +01:00
Nicolas Meienberger
8f8b370679
test: fix cookie name
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-27 23:25:28 +01:00
Nicolas Meienberger
4011ed778f
chore: rename cookie prefix to zerobyte
2026-01-27 23:02:34 +01:00
Nicolas Meienberger
0ec23da8ab
fix: use custom cookie prefix
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-27 22:48:54 +01:00
Nicolas Meienberger
571489a10b
chore: downgrade dependencies
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-27 22:29:20 +01:00
Nicolas Meienberger
da329826c1
fix: add organization for users that don't have one
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-27 22:03:48 +01:00
Nicolas Meienberger
1fbd6aa3db
chore(better-auth): disable origin check if no trusted origins are passed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-27 20:21:22 +01:00
Didin Sino
d449547336
feat: add support for sending notifications to Telegram group topics ( #401 )
2026-01-27 19:43:05 +01:00
kealuya
c69615b3b6
Description: ( #393 )
...
Added support for virtual-host style access for Huawei Cloud OBS. This is achieved by introducing the AWS_S3_BUCKET_LOOKUP environment variable and adding the s3.bucket-lookup=dns option to the parameters.
Changes:
Set AWS_S3_BUCKET_LOOKUP environment variable.
Included s3.bucket-lookup=dns in the S3 configuration options to ensure compatibility with Huawei OBS DNS-based bucket addressing.
2026-01-25 11:23:14 +01:00
dependabot[bot]
ba8b599059
chore(deps): bump the minor-patch group across 1 directory with 17 updates ( #404 )
...
* chore(deps): bump the minor-patch group across 1 directory with 17 updates
Bumps the minor-patch group with 17 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node ) | `7.12.0` | `7.13.0` |
| [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve ) | `7.12.0` | `7.13.0` |
| [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono ) | `0.9.34` | `0.9.35` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.90.19` | `5.90.20` |
| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth ) | `1.4.15` | `1.4.17` |
| [hono](https://github.com/honojs/hono ) | `4.11.4` | `4.11.5` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `0.562.0` | `0.563.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router ) | `7.12.0` | `7.13.0` |
| [recharts](https://github.com/recharts/recharts ) | `3.6.0` | `3.7.0` |
| [@happy-dom/global-registrator](https://github.com/capricorn86/happy-dom ) | `20.3.3` | `20.3.7` |
| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts ) | `0.90.4` | `0.90.9` |
| [@playwright/test](https://github.com/microsoft/playwright ) | `1.57.0` | `1.58.0` |
| [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev ) | `7.12.0` | `7.13.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.0.9` | `25.0.10` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `19.2.8` | `19.2.9` |
| [lightningcss](https://github.com/parcel-bundler/lightningcss ) | `1.30.2` | `1.31.1` |
| [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths ) | `6.0.4` | `6.0.5` |
Updates `@react-router/node` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/node@7.13.0/packages/react-router-node )
Updates `@react-router/serve` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/serve@7.13.0/packages/react-router-serve )
Updates `@scalar/hono-api-reference` from 0.9.34 to 0.9.35
- [Release notes](https://github.com/scalar/scalar/releases )
- [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md )
- [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono )
Updates `@tanstack/react-query` from 5.90.19 to 5.90.20
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.90.20/packages/react-query )
Updates `better-auth` from 1.4.15 to 1.4.17
- [Release notes](https://github.com/better-auth/better-auth/releases )
- [Commits](https://github.com/better-auth/better-auth/commits/v1.4.17/packages/better-auth )
Updates `hono` from 4.11.4 to 4.11.5
- [Release notes](https://github.com/honojs/hono/releases )
- [Commits](https://github.com/honojs/hono/compare/v4.11.4...v4.11.5 )
Updates `lucide-react` from 0.562.0 to 0.563.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/0.563.0/packages/lucide-react )
Updates `react-router` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.13.0/packages/react-router )
Updates `recharts` from 3.6.0 to 3.7.0
- [Release notes](https://github.com/recharts/recharts/releases )
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md )
- [Commits](https://github.com/recharts/recharts/compare/v3.6.0...v3.7.0 )
Updates `@happy-dom/global-registrator` from 20.3.3 to 20.3.7
- [Release notes](https://github.com/capricorn86/happy-dom/releases )
- [Commits](https://github.com/capricorn86/happy-dom/compare/v20.3.3...v20.3.7 )
Updates `@hey-api/openapi-ts` from 0.90.4 to 0.90.9
- [Release notes](https://github.com/hey-api/openapi-ts/releases )
- [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md )
- [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.90.4...@hey-api/openapi-ts@0.90.9 )
Updates `@playwright/test` from 1.57.0 to 1.58.0
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.57.0...v1.58.0 )
Updates `@react-router/dev` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/dev@7.13.0/packages/react-router-dev )
Updates `@types/node` from 25.0.9 to 25.0.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@types/react` from 19.2.8 to 19.2.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `lightningcss` from 1.30.2 to 1.31.1
- [Release notes](https://github.com/parcel-bundler/lightningcss/releases )
- [Commits](https://github.com/parcel-bundler/lightningcss/commits )
Updates `vite-tsconfig-paths` from 6.0.4 to 6.0.5
- [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases )
- [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.0.4...v6.0.5 )
---
updated-dependencies:
- dependency-name: "@react-router/node"
dependency-version: 7.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@react-router/serve"
dependency-version: 7.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@scalar/hono-api-reference"
dependency-version: 0.9.35
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@tanstack/react-query"
dependency-version: 5.90.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: better-auth
dependency-version: 1.4.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: hono
dependency-version: 4.11.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: lucide-react
dependency-version: 0.563.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: react-router
dependency-version: 7.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: recharts
dependency-version: 3.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@happy-dom/global-registrator"
dependency-version: 20.3.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
dependency-version: 0.90.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@playwright/test"
dependency-version: 1.58.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@react-router/dev"
dependency-version: 7.13.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@types/node"
dependency-version: 25.0.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@types/react"
dependency-version: 19.2.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: lightningcss
dependency-version: 1.31.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: vite-tsconfig-paths
dependency-version: 6.0.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: bump hono version in overrides
* chore: gen api client
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2026-01-25 11:22:29 +01:00
Nico
273aa2b9ac
feat: add a confirm dialog before stopping the backup ( #409 )
2026-01-25 10:20:23 +01:00
Nicolas Meienberger
1166fcb3e7
test: fix typing issue
2026-01-25 10:01:51 +01:00
Nicolas Meienberger
16ac608d46
fix(sftp-repo): password request prompted in console
2026-01-24 23:03:54 +01:00
Nicolas Meienberger
458799297d
refactor: make sse events isolated per org
2026-01-24 22:45:56 +01:00
Nicolas Meienberger
17776606ee
temp: test re-key 2fas
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-22 22:44:23 +01:00
Nicolas Meienberger
88fa06b503
fix: prevent path traversal in list volume files
2026-01-22 22:32:04 +01:00
Nicolas Meienberger
ffc43e0c25
refactor(sftp-backend): use node spawn to properly send password stdin instead of echo
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-22 22:07:10 +01:00
Nicolas Meienberger
0e5438897c
fix(repo-mutex): catch errors and remove listener
2026-01-22 22:06:39 +01:00
Nico
51d2ffad17
refactor: mount smb by puttings credentials in temporary file ( #396 )
2026-01-22 21:56:20 +01:00
Nico
2ab37e6b67
refactor: async doctor ( #375 )
...
* feat: background doctor operation
* refactor(repo-details): design layout
* refactor(doctor): support abort signal in all operations
* chore: fix linting issue
* chore: pr feedbacks
* chore: merge conflicts
* refactor: handle aborted signal in all operations
* chore: pr feedbacks
* chore: remove old migration
2026-01-22 21:55:45 +01:00
Nico
da37b08fa0
feat: user management ( #394 )
...
* feat: user management settings
* feat: cleanup user's org when deleting them
* chore: pr feedback
* refactor(create-user): tanstack mutation
2026-01-21 22:25:15 +01:00
Nico
451aed8983
Multi users ( #381 )
...
* feat(db): add support for multiple users and organizations
* feat: backfill entities with new organization id
* refactor: filter all backend queries to surface only organization specific entities
* refactor: each org has its own restic password
* test: ensure organization is created
* chore: pr feedbacks
* refactor: filter by org id in all places
* refactor: download restic password from stored db password
* refactor(navigation): use volume id in urls instead of name
* feat: disable registrations
* refactor(auth): bubble up auth error to hono
* refactor: use async local storage for cleaner context sharing
* refactor: enable user registration vs disabling it
* test: multi-org isolation
* chore: final cleanup
2026-01-20 22:28:22 +01:00
Nico
d3f9ced5dc
refactor: use spawn & exec instead of bun $ ( #356 )
...
* refactor: use spawn & exec accordingly
* chore: pr feedbacks
2026-01-15 22:09:00 +01:00
Nicolas Meienberger
2cbd0d1021
chore: bump bun to v1.3.6
2026-01-15 22:03:46 +01:00
Nicolas Meienberger
f4a222aa15
refactor(up/down limit): allow floating value & default to 1
2026-01-15 18:27:50 +01:00
Nicolas Meienberger
31719103f6
Merge branch 'Rajdave69-main'
2026-01-15 18:14:06 +01:00
Nicolas Meienberger
1622e34b0d
refactoring(bw-limit): stylistic refactoring
2026-01-15 18:07:00 +01:00
dependabot[bot]
cb72e6c073
chore(deps): bump the minor-patch group with 9 updates ( #355 )
...
* chore(deps): bump the minor-patch group with 9 updates
Bumps the minor-patch group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js ) | `8.1.0` | `8.2.0` |
| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth ) | `1.4.10` | `1.4.12` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.70.0` | `7.71.0` |
| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts ) | `0.90.2` | `0.90.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.0.3` | `25.0.7` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `19.2.7` | `19.2.8` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt ) | `0.23.0` | `0.24.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) | `1.38.0` | `1.39.0` |
| [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths ) | `6.0.3` | `6.0.4` |
Updates `@inquirer/prompts` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/SBoudrias/Inquirer.js/releases )
- [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/prompts@8.1.0...@inquirer/prompts@8.2.0 )
Updates `better-auth` from 1.4.10 to 1.4.12
- [Release notes](https://github.com/better-auth/better-auth/releases )
- [Commits](https://github.com/better-auth/better-auth/commits/v1.4.12/packages/better-auth )
Updates `react-hook-form` from 7.70.0 to 7.71.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases )
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md )
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.70.0...v7.71.0 )
Updates `@hey-api/openapi-ts` from 0.90.2 to 0.90.3
- [Release notes](https://github.com/hey-api/openapi-ts/releases )
- [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md )
- [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.90.2...@hey-api/openapi-ts@0.90.3 )
Updates `@types/node` from 25.0.3 to 25.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@types/react` from 19.2.7 to 19.2.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `oxfmt` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.24.0/npm/oxfmt )
Updates `oxlint` from 1.38.0 to 1.39.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.39.0/npm/oxlint )
Updates `vite-tsconfig-paths` from 6.0.3 to 6.0.4
- [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases )
- [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.0.3...v6.0.4 )
---
updated-dependencies:
- dependency-name: "@inquirer/prompts"
dependency-version: 8.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: better-auth
dependency-version: 1.4.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: react-hook-form
dependency-version: 7.71.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
dependency-version: 0.90.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@types/node"
dependency-version: 25.0.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@types/react"
dependency-version: 19.2.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: oxfmt
dependency-version: 0.24.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: oxlint
dependency-version: 1.39.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: vite-tsconfig-paths
dependency-version: 6.0.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: gen api client
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2026-01-15 16:14:05 +01:00
Nicolas Meienberger
02fe55b533
fix: properly catch before fallback mount
2026-01-15 16:14:05 +01:00
Nico
9754e366c1
feat: add CLI command to change username ( #342 )
...
* feat: add CLI command to change username
* ci: fix wrong folder chmod
2026-01-15 16:14:05 +01:00
Nicolas Meienberger
52280be3c2
chore: lowercase all emails
2026-01-15 16:14:05 +01:00
Nicolas Meienberger
f0871ece52
chore: hide email in settings (not yet changeable)
2026-01-15 16:13:39 +01:00
Nico
04e824c332
e2e: test backup & restore functions ( #341 )
2026-01-15 16:13:39 +01:00
Nico
60c0ce208d
test(e2e): admin user registration ( #338 )
...
* test(e2e): admin user registration
* ci: e2e workflow
* feat: disable rate limiting env var
* test(e2e): fix order of execution in registration tests
* ci: run e2e tests before release
2026-01-15 16:13:39 +01:00
Nicolas Meienberger
1462250727
chore: remove "about", "over", "almost" from timeago
2026-01-15 16:13:14 +01:00
Nicolas Meienberger
881e8f8abe
feat: configurable trusted origins
2026-01-15 16:13:14 +01:00
Nicolas Meienberger
4fda10d89d
style(snapshots-timeline): ensure same width for all cards
2026-01-15 16:13:14 +01:00
Nico
9bff375217
refactor: format dates in a human-friendly way ( #334 )
2026-01-15 16:13:14 +01:00
Nico
b9f92f7430
chore: add a pre-commit hook to format files ( #336 )
...
chore: add a pre-commit hook to format files
2026-01-15 16:13:14 +01:00
Raj Dave
623b4b7116
Remove 'Upload Limit' and 'Download Limit' text
2026-01-13 23:07:03 +03:00
dependabot[bot]
c75e5cb21f
chore(deps): bump the minor-patch group with 9 updates ( #355 )
...
* chore(deps): bump the minor-patch group with 9 updates
Bumps the minor-patch group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js ) | `8.1.0` | `8.2.0` |
| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth ) | `1.4.10` | `1.4.12` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.70.0` | `7.71.0` |
| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts ) | `0.90.2` | `0.90.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.0.3` | `25.0.7` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `19.2.7` | `19.2.8` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt ) | `0.23.0` | `0.24.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) | `1.38.0` | `1.39.0` |
| [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths ) | `6.0.3` | `6.0.4` |
Updates `@inquirer/prompts` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/SBoudrias/Inquirer.js/releases )
- [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/prompts@8.1.0...@inquirer/prompts@8.2.0 )
Updates `better-auth` from 1.4.10 to 1.4.12
- [Release notes](https://github.com/better-auth/better-auth/releases )
- [Commits](https://github.com/better-auth/better-auth/commits/v1.4.12/packages/better-auth )
Updates `react-hook-form` from 7.70.0 to 7.71.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases )
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md )
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.70.0...v7.71.0 )
Updates `@hey-api/openapi-ts` from 0.90.2 to 0.90.3
- [Release notes](https://github.com/hey-api/openapi-ts/releases )
- [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md )
- [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.90.2...@hey-api/openapi-ts@0.90.3 )
Updates `@types/node` from 25.0.3 to 25.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@types/react` from 19.2.7 to 19.2.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `oxfmt` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.24.0/npm/oxfmt )
Updates `oxlint` from 1.38.0 to 1.39.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.39.0/npm/oxlint )
Updates `vite-tsconfig-paths` from 6.0.3 to 6.0.4
- [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases )
- [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.0.3...v6.0.4 )
---
updated-dependencies:
- dependency-name: "@inquirer/prompts"
dependency-version: 8.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: better-auth
dependency-version: 1.4.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: react-hook-form
dependency-version: 7.71.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
dependency-version: 0.90.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@types/node"
dependency-version: 25.0.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@types/react"
dependency-version: 19.2.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: oxfmt
dependency-version: 0.24.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: oxlint
dependency-version: 1.39.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: vite-tsconfig-paths
dependency-version: 6.0.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: gen api client
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2026-01-13 07:52:27 +01:00
Nicolas Meienberger
df164af0f2
fix: properly catch before fallback mount
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-11 16:26:26 +01:00
Nico
b2098f6beb
feat: add CLI command to change username ( #342 )
...
* feat: add CLI command to change username
* ci: fix wrong folder chmod
2026-01-11 14:53:57 +01:00
Nicolas Meienberger
734975c006
chore: lowercase all emails
2026-01-11 14:06:46 +01:00
Nicolas Meienberger
fe08895ac3
chore: hide email in settings (not yet changeable)
2026-01-11 14:01:14 +01:00
Nico
1ea2460ea7
e2e: test backup & restore functions ( #341 )
2026-01-11 14:00:29 +01:00
Nico
bb2bdb9724
test(e2e): admin user registration ( #338 )
...
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* test(e2e): admin user registration
* ci: e2e workflow
* feat: disable rate limiting env var
* test(e2e): fix order of execution in registration tests
* ci: run e2e tests before release
2026-01-11 10:31:04 +01:00
Raj Dave
145c321fa1
Refines bandwidth limit handling for rclone copy
...
Simplifies bandwidth limit configuration for rclone source backends by considering only the source download limit.
Ensures correct type casting when comparing upload and download limits, using base 10 for parsing.
Makes the temporary keys cleanup function available for external use.
2026-01-10 18:34:34 +03:00
Raj Dave
07a925b9f3
final issue i promise
2026-01-10 17:33:46 +03:00
Raj Dave
51e0526622
more fixed issues
2026-01-10 17:19:02 +03:00
Nicolas Meienberger
c9a6a11831
chore: remove "about", "over", "almost" from timeago
2026-01-10 13:35:25 +01:00
Nicolas Meienberger
185ce22ce9
feat: configurable trusted origins
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-10 13:22:57 +01:00
Nicolas Meienberger
2bb11b0d33
style(snapshots-timeline): ensure same width for all cards
2026-01-10 13:10:26 +01:00
Nico
ef2d644146
refactor: format dates in a human-friendly way ( #334 )
2026-01-10 13:02:46 +01:00
Raj Dave
c91bce7814
fix more coderabbit issues
2026-01-10 14:47:58 +03:00
Raj Dave
a7a4ccef6b
fix a lot of the coderabbit warnings
2026-01-10 14:23:39 +03:00
Raj Dave
db127afe5a
Adds bandwidth limiting to repositories
...
Implements bandwidth limits for repository uploads and downloads.
Adds UI components to configure bandwidth limits.
Adds database fields to store bandwidth limit configuration.
Integrates bandwidth limiting into restic commands.
2026-01-10 14:03:45 +03:00
Nico
1074d022b3
chore: add a pre-commit hook to format files ( #336 )
...
chore: add a pre-commit hook to format files
2026-01-10 11:57:24 +01:00
Nicolas Meienberger
99b7f35d8e
Merge branch 'to-cherry'
2026-01-09 21:27:25 +01:00
Nicolas Meienberger
6e68c75ef1
chore: various fixes
...
fix(create-schedule): expand folder button submitting the form
style(schedule-form): fix multi scrollbar on long file list
2026-01-09 21:25:38 +01:00
Nico
d9b150b34e
feat: add 2FA (TOTP) support ( #326 )
...
* feat: setup better-auth with 2fa
* feat(totp): frontend
* refactor: split dialogs into components
* feat: disable 2fa cli
* chore: fix liniting issues
* chore(deps): bump the minor-patch group across 1 directory with 19 updates (#327 )
* chore(deps): bump the minor-patch group across 1 directory with 19 updates
Bumps the minor-patch group with 19 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node ) | `7.11.0` | `7.12.0` |
| [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve ) | `7.11.0` | `7.12.0` |
| [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono ) | `0.9.30` | `0.9.32` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.90.12` | `5.90.16` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm ) | `0.44.7` | `0.45.1` |
| [hono](https://github.com/honojs/hono ) | `4.10.5` | `4.11.3` |
| [hono-rate-limiter](https://github.com/rhinobase/hono-rate-limiter ) | `0.5.1` | `0.5.3` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `0.555.0` | `0.562.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.69.0` | `7.70.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router ) | `7.11.0` | `7.12.0` |
| [recharts](https://github.com/recharts/recharts ) | `3.5.1` | `3.6.0` |
| [@faker-js/faker](https://github.com/faker-js/faker ) | `10.1.0` | `10.2.0` |
| [@happy-dom/global-registrator](https://github.com/capricorn86/happy-dom ) | `20.0.11` | `20.1.0` |
| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts ) | `0.88.2` | `0.90.2` |
| [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev ) | `7.11.0` | `7.12.0` |
| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools ) | `5.91.1` | `5.91.2` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt ) | `0.22.0` | `0.23.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) | `1.36.0` | `1.38.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `7.3.0` | `7.3.1` |
Updates `@react-router/node` from 7.11.0 to 7.12.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/node@7.12.0/packages/react-router-node )
Updates `@react-router/serve` from 7.11.0 to 7.12.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/serve@7.12.0/packages/react-router-serve )
Updates `@scalar/hono-api-reference` from 0.9.30 to 0.9.32
- [Release notes](https://github.com/scalar/scalar/releases )
- [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md )
- [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono )
Updates `@tanstack/react-query` from 5.90.12 to 5.90.16
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.90.16/packages/react-query )
Updates `drizzle-orm` from 0.44.7 to 0.45.1
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases )
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.44.7...0.45.1 )
Updates `hono` from 4.10.5 to 4.11.3
- [Release notes](https://github.com/honojs/hono/releases )
- [Commits](https://github.com/honojs/hono/compare/v4.10.5...v4.11.3 )
Updates `hono-rate-limiter` from 0.5.1 to 0.5.3
- [Release notes](https://github.com/rhinobase/hono-rate-limiter/releases )
- [Commits](https://github.com/rhinobase/hono-rate-limiter/compare/v0.5.1...v0.5.3 )
Updates `lucide-react` from 0.555.0 to 0.562.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/0.562.0/packages/lucide-react )
Updates `react-hook-form` from 7.69.0 to 7.70.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases )
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md )
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.69.0...v7.70.0 )
Updates `react-router` from 7.11.0 to 7.12.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.12.0/packages/react-router )
Updates `recharts` from 3.5.1 to 3.6.0
- [Release notes](https://github.com/recharts/recharts/releases )
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md )
- [Commits](https://github.com/recharts/recharts/compare/v3.5.1...v3.6.0 )
Updates `@faker-js/faker` from 10.1.0 to 10.2.0
- [Release notes](https://github.com/faker-js/faker/releases )
- [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md )
- [Commits](https://github.com/faker-js/faker/compare/v10.1.0...v10.2.0 )
Updates `@happy-dom/global-registrator` from 20.0.11 to 20.1.0
- [Release notes](https://github.com/capricorn86/happy-dom/releases )
- [Commits](https://github.com/capricorn86/happy-dom/compare/v20.0.11...v20.1.0 )
Updates `@hey-api/openapi-ts` from 0.88.2 to 0.90.2
- [Release notes](https://github.com/hey-api/openapi-ts/releases )
- [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md )
- [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.88.2...@hey-api/openapi-ts@0.90.2 )
Updates `@react-router/dev` from 7.11.0 to 7.12.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/dev@7.12.0/packages/react-router-dev )
Updates `@tanstack/react-query-devtools` from 5.91.1 to 5.91.2
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.91.2/packages/react-query-devtools )
Updates `oxfmt` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.23.0/npm/oxfmt )
Updates `oxlint` from 1.36.0 to 1.38.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.38.0/npm/oxlint )
Updates `vite` from 7.3.0 to 7.3.1
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.1/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v7.3.1/packages/vite )
---
updated-dependencies:
- dependency-name: "@react-router/node"
dependency-version: 7.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@react-router/serve"
dependency-version: 7.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@scalar/hono-api-reference"
dependency-version: 0.9.32
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@tanstack/react-query"
dependency-version: 5.90.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: drizzle-orm
dependency-version: 0.45.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: hono
dependency-version: 4.11.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: hono-rate-limiter
dependency-version: 0.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: lucide-react
dependency-version: 0.562.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: react-hook-form
dependency-version: 7.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: react-router
dependency-version: 7.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: recharts
dependency-version: 3.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@faker-js/faker"
dependency-version: 10.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@happy-dom/global-registrator"
dependency-version: 20.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
dependency-version: 0.90.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@react-router/dev"
dependency-version: 7.12.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: "@tanstack/react-query-devtools"
dependency-version: 5.91.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: oxfmt
dependency-version: 0.23.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: oxlint
dependency-version: 1.38.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: vite
dependency-version: 7.3.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: downgrade hono
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* chore: force hono version in transitive deps
* refactor: remove copy to clipboard everywhere as it's not possible on http
* chore: pr feedbacks
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-09 21:12:05 +01:00
Jakub Trávník
d0dd74a626
fix: update NFS version select to use controlled value ( #329 )
2026-01-09 18:37:24 +01:00
Jakub Trávník
1d2e737a98
fix: increase name length limit from 32 to 128 characters in backup schedule schema ( #330 )
2026-01-09 18:29:35 +01:00
Nicolas Meienberger
8a05423153
fix: fallback to use non mount helper in case of failed mount
2026-01-08 21:44:03 +01:00
Nicolas Meienberger
a44fea0737
chore: add back nfs-utils
Release Workflow / checks (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-08 21:05:22 +01:00
Nicolas Meienberger
a4464d243a
refactor: auth to proxy pattern
2026-01-08 20:50:08 +01:00
Nicolas Meienberger
10b85fdd42
chore: verbose logging for mount commands
2026-01-08 20:35:14 +01:00
Nico
a25d303d54
chore: add more linting rules and fix warnings ( #325 )
2026-01-08 20:35:14 +01:00
Nico
72a0c2e923
refactor: implement a proper code migration system ( #324 )
...
* refactor: implement a proper code migration system
* chore: rename .tsx -> .ts
2026-01-08 20:35:14 +01:00
Jakub Trávník
87d267a1c3
static import and error catching
2026-01-08 15:22:20 +01:00
Jakub Trávník
e6793c9655
refactor: restructure auth initialization to fix type errors
2026-01-08 15:13:30 +01:00
Jakub Trávník
89315bb8a1
fix: defer auth initialization until after passfile exists
2026-01-08 14:57:06 +01:00
Nico
99932a8522
refactor: better-auth ( #319 )
...
* refactor: better-auth
* chore: pr feedback
* chore: lower + trim usernames in db
2026-01-07 22:36:20 +01:00
Nico
62de036847
refactor: improve perf by calling api in parallel in clientLoaders ( #312 )
...
* refactor: improve perf by calling api in parallel in clientLoaders
* fix: dependent api calls
2026-01-05 21:10:00 +01:00
Nicolas Meienberger
3467d1e411
Merge branch 'tvarohohlavy-local-repo-enhancements'
2026-01-05 21:06:59 +01:00
Nicolas Meienberger
b7609a6574
chore: remove needless comments
2026-01-05 21:06:36 +01:00
Nico
b216219209
refactor: move from biome to oxlint/oxformat ( #311 )
...
* chore: install and configure oxlint
* chore: fix liniting issues
* chore: install and configure oxfmt
* ci: add oxlint action instead of biome
* chore: pr feedbacks
* Revert "chore: pr feedbacks"
This reverts commit 525dcd8d9f .
2026-01-05 21:04:37 +01:00
Nico
ebbf3391a7
refactor(notifications): add more context in title ( #296 )
...
* refactor(notifications): add more context in title
* chore: pr feedback
2026-01-05 20:46:36 +01:00
Jakub Trávník
86263fede7
Merge branch 'main' into local-repo-enhancements
2026-01-05 08:18:31 +01:00
Nico
21040d7d4c
feat: detect if a custom docker hostname was set before defaulting to zerobyte ( #298 )
2026-01-05 07:07:35 +01:00
Nico
d293738bf4
feat: show components versions ( #297 )
...
On hover on the Zerobyte version in the sidebar
A card will appear to show the versions of the
binaries (restic, rclone, shoutrrr)
2026-01-04 21:43:39 +01:00
Nico
a2ee223ee7
refactor: use backend cache in restic operations ( #295 )
2026-01-04 16:37:42 +01:00
Nicolas Meienberger
79d5f47b19
chore(repo-form): style adjustments
2026-01-04 15:40:09 +01:00
Nicolas Meienberger
f67ca4eed2
style(delete notification): remove icon in delete button
2026-01-04 10:30:36 +01:00
Nico
d7bcf4c9e2
feat: display updates and release notes ( #290 )
...
* feat: display notification when new release is available
* refactor: standalone re-usable cache util
* refactor: clear cache on server startup
* refactor: add timeout to gh release fetch
* fix: run with app version env variable
2026-01-04 10:19:23 +01:00
Jakub Trávník
2d6c9397c0
fix: handle imported repositories correctly in getEffectiveLocalPath
...
- Imported repositories use config.path directly (matching server logic)
- Removed unused isImportedLocal variable
2026-01-03 12:47:03 +01:00
Jakub Trávník
affe0a45fa
Merge origin/main into local-repo-enhancements
2026-01-03 12:42:53 +01:00
Nicolas Meienberger
1fff5f53c5
chore: fix migration version
Release Workflow / checks (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-03 00:26:57 +01:00
Nicolas Meienberger
3eb07ef924
refactor: allow the server to start, even in case of migration failure
Release Workflow / checks (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-03 00:16:42 +01:00
Nico
b0a1e4b3d7
fix: also migrate tag for schedule mirrors ( #283 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2026-01-02 23:07:14 +01:00
Nico
1b88fa6bd6
style: responsive fixes ( #282 )
...
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* style(backups): use container queries to avoid overflow when menu is open
* style: fix breadcrumbs breaking the layout on smaller devices
* style: improve wording and error displays
* chore: wording
2026-01-02 22:10:27 +01:00
Nico
b8fe2a985b
feat: insecure tls & cacert for self-hosted repos ( #277 )
...
* feat: insecure tls & cacert for self-hosted repos
* fix: extra arg
2026-01-02 18:13:19 +01:00
Nicolas Meienberger
e0027b7668
refactor: code style and api client
2026-01-02 17:37:38 +01:00
tvories
08a19ed38d
fix: PR suggestions
2026-01-02 17:05:43 +01:00
tvories
1a12436195
fix: add property existence checks before accessing repository config fields
2026-01-02 17:05:43 +01:00
tvories
e78af76beb
feat: added additional validation, moved field location, made skip tls and ca certificate mutually exclusive with tooltips
2026-01-02 17:05:43 +01:00
tvories
07e68b9fe7
feat: add support for a cacert configuration as well as allowing the user to skip tls validation
2026-01-02 17:05:43 +01:00
Nico
2c786dfb35
feat: snapshots bulk actions ( #256 )
...
* feat: delete snapshots in bulk
* feat: re-tag snapshots in bulk
* chore: pr feedbacks
2026-01-02 17:04:06 +01:00
Nico
013fe5a521
Fix/file tree selection parents ( #276 )
...
* fix(file-tree): propagate path simplification to parents
When all childs of a folder are selected in the tree, the selected path
was only simplifiyng one level. But if the reduction was also making its
own parent "fully selected" it was not correctly reporting only the
parent as selected
* test(file-tree): ensure path selection correctness
* fix(file-tree): cleanup based on given path not what's visible
2026-01-02 16:56:13 +01:00
Jakub Trávník
f836e2f9df
fix(backups): allow removing selected paths that no longer exist on filesystem ( #272 )
...
Add X button to selected paths list in backup schedule form. When files/folders
are selected for backup but later deleted from the volume, restic fails because
`--files-from` references non-existent paths. Previously, users couldn't remove
these stale paths since they don't appear in the file browser to uncheck.
The X button enables direct removal of any selected path, fixing stuck backup
configurations that would always fail with "file not found" errors.
2026-01-02 15:33:25 +01:00
Nicolas Meienberger
5d7c6bd543
fix: cli not running with prod image
2026-01-02 15:22:44 +01:00
Nico
658c42a53b
feat: add generic webhook form & refactor each type in its own form ( #239 )
...
* feat: add generic webhook form & refactor each type in its own form
* chore: pr feedbacks
* fix(email-form): filter out empty emails
2026-01-02 14:56:35 +01:00
Nicolas Meienberger
b0c397ab87
Merge branch 'SaarLAN-Pissbeutel-ntfy-access-token'
2026-01-02 14:24:43 +01:00
Nicolas Meienberger
d535f02536
refactor: code readability
2026-01-02 14:24:22 +01:00
Jakub Trávník
94c84d7c58
feat: include schedule name in backup notifications and logs ( #215 )
...
* feat: include schedule name in backup notifications and logs
* lint fixes
2026-01-02 14:22:03 +01:00
SaarLAN-Pissbeutel
a5242fa64a
code cleanup
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-30 13:06:11 +01:00
SaarLAN-Pissbeutel
15fe9b25bd
code cleanup
2025-12-30 11:56:13 +00:00
SaarLAN-Pissbeutel
1b8154a74b
add access token for ntfy notifications
2025-12-30 11:08:32 +00:00
James Brink
eded452c83
feat: parameterize PORT and MIGRATIONS_PATH environment variables ( #253 )
...
* feat: parameterize PORT and MIGRATIONS_PATH environment variables
Allow configuring the server port (default: 4096) and migrations
folder path via environment variables for flexible deployment.
* fix: address PR review feedback
- Use consistent schema syntax (string? instead of key?)
- Remove config tests per maintainer request
2025-12-29 20:59:38 +01:00
Nico
c05aa8d5bf
feat: add support for SFTP volume backend ( #249 )
...
* feat: add support for SFTP volume backend
* feat: allow more secure SFTP connection with known hosts
* refactor: make default value for skip host key check to false
* refactor: use os.userInfo when setting uid/gid in mount commands
2025-12-28 18:30:49 +01:00
Nico
ae5233d9fb
refactor: tag snapshots with schedule short_id instead of db id ( #248 )
...
* refactor: tag snapshots with schedule short_id instead of db id
* chore: formatting issues
2025-12-28 11:42:25 +01:00
Nico
54068d5269
feat: allow changing the hostname (restic host) ( #240 )
2025-12-26 21:02:16 +01:00
Nicolas Meienberger
52a6ed6070
refactor: import local repositories use path only and not name
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-26 17:29:42 +01:00
Nicolas Meienberger
3ecf006977
refactor(login): extract reset password dialog to its own component
2025-12-26 17:13:26 +01:00
Jakub Trávník
a921fa4c80
fix(info): optimize effective local path retrieval in RepositoryInfoTabContent
2025-12-23 12:37:12 +01:00
Jakub Trávník
cd9f5a9bbe
feat(ui): improve local repository path display and messaging
...
- Add shared client constants file with REPOSITORY_BASE
- Show effective local path in repository info tab
- Update host mount warning to clarify default path is safe when using recommended Docker setup
- Update README to clarify local repositories can use custom paths
2025-12-23 12:23:01 +01:00
Nicolas Meienberger
5cc7450ad0
refactor(snapshot-details): make page load faster by not awaiting restic snapshot details
2025-12-22 21:18:56 +01:00
Nico
00f44e4716
fix: allow arbitrary name for repositories and correctly import existing local repos ( #197 )
...
* fix: allow arbitrary name for repositories and correctly import existing local repos
* chore: rebase conflicts
2025-12-22 20:52:26 +01:00
Nico
4e0acb5856
feat(schedule-form): allow custom cron expression ( #214 )
...
* feat(schedule-form): allow custom cron expression
* refactor: guard against potential undefined cron expression
2025-12-22 20:51:46 +01:00
Nicolas Meienberger
59e0dc0401
chore: small code style changes
2025-12-22 20:51:46 +01:00
Jakub Trávník
64a584f3cd
corrected webdav default path to match placeholder
2025-12-22 20:51:46 +01:00
Jakub Trávník
4dd9b7ffcc
fix: add missing path property to webdav and rclone default values
2025-12-22 20:51:46 +01:00
Nico
5f01d6f10d
feat: reset password cli command ( #220 )
...
* feat: reset password cli command
* refactor: wrap user password reset operations in db transaction
2025-12-22 20:51:46 +01:00
Nico
21b0c5e59c
feat: server timeout env ( #219 )
...
* feat: increase server idle timeout and allow to modify it via env
* chore(app): move auth middleware to individual controller
To clean up de main app.ts file
* chore: remove console.log
2025-12-22 20:51:46 +01:00
Jakub Trávník
cf9357b4f1
feat: display file size in the File component
2025-12-22 20:51:46 +01:00
Jakub Trávník
65655ebb56
fix: ensure safe access to backup name and volume in snapshot filtering
2025-12-22 14:35:37 +01:00
Jakub Trávník
9caccc969c
Update app/client/components/snapshots-table.tsx
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-22 14:26:39 +01:00
Jakub Trávník
068f9d88b3
feat: display backup schedule and volume information in snapshot details
2025-12-22 14:17:34 +01:00
Jakub Trávník
542842d012
feat: enhance snapshot filtering by including backup schedule names and volumes
2025-12-22 14:17:19 +01:00
Jakub Trávník
299469728e
feat: add volume column to snapshots table and display backup volume names
2025-12-22 14:16:57 +01:00
Jakub Trávník
e992c6739a
fix: update backup display name in snapshots table
2025-12-22 14:16:20 +01:00
Nicolas Meienberger
a985c95a31
chore: wording and formatting
2025-12-21 20:37:34 +01:00
Alessandro Zappia
e350843d4e
Update app/utils/utils.ts
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-21 20:36:13 +01:00
Alessandro Zappia
47aefa9bcb
Update app/utils/utils.ts
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-21 20:36:13 +01:00
Alessandro Zappia
11f2c27f7f
add monthly backup frequency with multi-day selection
2025-12-21 20:36:13 +01:00
dependabot[bot]
fe8eb1326d
chore(deps-dev): bump @types/node from 24.10.4 to 25.0.3 ( #209 )
...
* chore(deps-dev): bump @types/node from 24.10.4 to 25.0.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 24.10.4 to 25.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 25.0.3
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: use rm instead of rmdir
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2025-12-21 19:51:03 +01:00
Nicolas Meienberger
c426bdcbf8
fix: sftp keep alive
2025-12-21 15:37:21 +01:00
Nicolas Meienberger
6cc10293e1
fix: migration using 1 instead of true
2025-12-21 15:27:12 +01:00
Nico
ea9d867cd2
feat: version link to gh release in sidebar ( #203 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-21 14:39:30 +01:00
Nico
8cdd06ec49
fix(stop): always update status to warning when stop is executed ( #202 )
...
* fix(stop): always update status to warning when stop is executed
* fix: automatically put in_progress backups to warning during startup
2025-12-21 14:25:45 +01:00
Nico
492aa4178d
feat: allow to control --one-file-system option from the schedule config ( #201 )
2025-12-21 14:21:08 +01:00
Nico
fc04cfe02e
refactor(restic): use safeSpawn util instead of Bun shell ( #195 )
...
Bun has an issue with special non-ASCII charachters
https://github.com/oven-sh/bun/issues/15929 that makes commands crash if
manipulating a file with such charachter
2025-12-20 11:47:45 +01:00
Nico
598de4e078
fix: schedules not running if never run manually ( #194 )
...
* fix: backups that were never run manually are not picked up by job
* fix(mutex): prioritize waiting exclusive locks over newly added shared tasks
2025-12-20 11:28:18 +01:00
Nicolas Meienberger
febd795517
refactor: warning only when backup is aborted
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-19 23:30:23 +01:00
Nicolas Meienberger
46c8139a23
fix: ensure proper error message when backup operation is aborted
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-19 23:27:25 +01:00
Nicolas Meienberger
7879d88a54
fix(backups): preserve relative include/exclude pattern behavior
2025-12-19 23:18:56 +01:00
Jakub Trávník
30685c8481
fix: include name in initial values for notification form update ( #184 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-19 22:40:07 +01:00
Nico
579bc89970
fix: prepend mount path in exclude patterns ( #188 )
...
* fix: prepend mount path location in exclude patterns
* test(backups): add tests suite for backend include & exclude patterns
* test: fix leaking global module mock
2025-12-19 22:35:34 +01:00
Nico
61dc07b36b
Controllers tests ( #187 )
...
* test: backups service
* refactor: create hono app in a separate file
To avoid side effects like db migration or startup scripts when testing
test(backups): add security tests to the backups controller
* ci: run typechecks, build and tests on PR
* test: controllers security tests
* chore: update lock file
* refactor: pr feedbacks
2025-12-19 19:25:21 +01:00
Nico
94f49e2022
refactor: separate healthcheck and auto remount in two separate jobs ( #179 )
...
* refactor: separate healthcheck and auto remount in two separate jobs
* fix: try catch in volume auto remount
2025-12-18 23:03:41 +01:00
Nico
6a86de7b95
refactor: add default excludes to backups ( #178 )
...
- To avoid accidentaly backing up a repository to itself
- To avoid accidentaly backing up zerobyte's internal data
2025-12-18 22:34:21 +01:00
Nico
fd5193b5e3
refactor: reduce startup mounting noise ( #177 )
...
- Skip mount early if volume is not in error or neither mounted
- Error healthchecks early if volume is not mounted
2025-12-18 22:19:21 +01:00
Nico
a17da2562f
refactor(startup): ensure entities always use the latest configuration format ( #173 )
...
* refactor(startup): ensure entities always use the latest configuration schema
* refactor: await config updates to avoid race condition on later mount
2025-12-18 18:11:39 +01:00
Nicolas Meienberger
7951a87332
refactor: don't apply strict rate limit on /me and /status endpoints
2025-12-18 12:09:34 +01:00
Nicolas Meienberger
0838ce86bd
refactor: remove cors options and fix rate limiter usage
2025-12-17 23:40:57 +01:00
Nicolas Meienberger
45e7e88b09
fix: apply middlewares before the controller definition
2025-12-17 23:35:47 +01:00
Nicolas Meienberger
1d76e18d38
fix(sortable-card): keep opacity at 100 on mobile
2025-12-17 23:35:14 +01:00
orbisai0security
3cebc1ce47
fix: resolve high vulnerability V-002
...
Automatically generated security fix
2025-12-17 07:47:05 +00:00
Nicolas Meienberger
f77fd86694
Merge branch 'tvarohohlavy-secrets-management'
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-16 20:47:29 +01:00
Nicolas Meienberger
47b3c80317
refactor(secret-input): remove isDirty check
2025-12-16 20:45:33 +01:00
Nicolas Meienberger
e57efcfcdc
refactor: extract sortable card into its own component
2025-12-16 20:23:44 +01:00
Nicolas Meienberger
b983add4ca
chore(frontend): parametrize server IP
2025-12-16 19:40:53 +01:00
Nicolas Meienberger
e39552ee68
chore: small code style improvements
2025-12-16 19:36:37 +01:00
Nicolas Meienberger
feb6353e21
chore(frontend): parametrize server IP
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
fe5810b1a7
fix: circular dependency
2025-12-16 18:02:54 +01:00
Nico
9e3cc90ba1
refactor: allow to run without the SYS_ADMIN cap for simple setups ( #138 )
...
* refactor: allow to run without the SYS_ADMIN cap for simple setups
* fix: pr feedback
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
ebca72f1ee
fix: username optional in snapshot output
2025-12-16 18:02:54 +01:00
Nico
1b6539c5bf
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
fe5c9ea599
refactor(rclone-form): minor UI improvements
2025-12-16 18:02:54 +01:00
Nico
dc20f209f7
fix: run forget on mirrors in the background ( #136 )
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
affd300a09
fix(rclone-volume): remote was not loaded correctly in the form
2025-12-16 18:02:54 +01:00
Nico
54d077bf43
fix: same time backups run multiple times ( #134 )
2025-12-16 18:02:54 +01:00
Nico
3efff035c5
fix(doctor): fail gracefully in case of unexpected error ( #132 )
2025-12-16 18:02:54 +01:00
Raj Dave
008af5487d
Invalidates backup schedule queries on reorder
...
Ensures the backup schedule list is refreshed after reordering,
both on success and on error, by using the dedicated query key
instead of a generic string. This guarantees the UI reflects
the latest state.
2025-12-15 16:19:33 +03:00
Raj Dave
8e49b10042
Validates and improves schedule reordering
...
Ensures schedule reordering requests are valid by checking for duplicate and non-existent IDs.
Improves performance by using a transaction for batch updates.
2025-12-15 16:06:21 +03:00
Raj Dave
c3f5cd6b4e
properly generate migration
2025-12-15 13:30:51 +03:00
Raj Dave
fa8e06a92e
fix timestamp in drizzle journal
2025-12-15 13:26:47 +03:00
Raj Dave
b51f3549c2
Backend and UI modifications to allow reordering of backup schedules
...
Adds drag-and-drop functionality to reorder backup schedules
Introduces a sort order field to the database schema and implements API endpoints to update the schedule order.
This allows users to visually prioritize their backup jobs.
2025-12-15 13:13:34 +03:00
Jakub Trávník
c4ec8ea62b
secret reference frontend usage
2025-12-15 10:50:24 +01:00
Jakub Trávník
58b1a0574e
secret reference server usage
2025-12-15 10:50:13 +01:00
Jakub Trávník
605fb1c27c
secret reference core support
2025-12-15 10:48:35 +01:00
Nicolas Meienberger
5216cc195d
fix: circular dependency
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-14 20:49:27 +01:00
Nico
b23317354c
refactor: allow to run without the SYS_ADMIN cap for simple setups ( #138 )
...
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* refactor: allow to run without the SYS_ADMIN cap for simple setups
* fix: pr feedback
2025-12-14 20:30:33 +01:00
Nicolas Meienberger
95e4fe5547
fix: username optional in snapshot output
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-14 20:25:42 +01:00
Nico
361311285a
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-14 11:07:32 +01:00
Nicolas Meienberger
1eb247deec
refactor(rclone-form): minor UI improvements
2025-12-14 10:44:05 +01:00
Nico
8a5d45cbfb
fix: run forget on mirrors in the background ( #136 )
2025-12-14 10:34:25 +01:00
Nicolas Meienberger
7619612b1b
fix(rclone-volume): remote was not loaded correctly in the form
2025-12-14 10:33:16 +01:00
Nico
be53466739
fix: same time backups run multiple times ( #134 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-13 23:47:41 +01:00
Nico
6ab5c549c1
fix(doctor): fail gracefully in case of unexpected error ( #132 )
2025-12-12 17:55:37 +01:00
Nicolas Meienberger
47f64b51af
docs: update version in readme
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-11 18:32:40 +01:00
Nico
c3acc26e05
refactor(notification): make username and password optional (smtp) ( #126 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-10 21:36:18 +01:00
Nico
ef8fd7228f
fix(mirrors): keep last copy state ( #125 )
2025-12-10 21:18:10 +01:00
Nico
2ddf3c6597
refactor: split forms ( #124 )
...
* refactor: split create-volume-form
* refactor: split create-repository-form
* chore: pr feedbacks
2025-12-10 21:16:20 +01:00
Nico
9199a743db
feat: rclone volume backend ( #123 )
2025-12-10 20:20:49 +01:00
Nico
4c0ba33b5e
feat: notify on warning separation ( #122 )
2025-12-10 18:55:37 +01:00
Nicolas Meienberger
7091f1f296
chore: remove retry-lock
2025-12-06 11:17:31 +01:00
Nicolas Meienberger
fdb84374a0
refactor: remove icons where it was making the context worse
2025-12-06 11:13:26 +01:00
Nicolas Meienberger
c42380b26b
refactor: remove trim on password
...
The password should be taken as-is. It could potentially contain a space
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
51ed47c30f
refactor: no need to print safe args as it's already sanitized
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
b8ae10b316
fix: volume data not refreshing when changing selection
2025-12-06 10:36:39 +01:00
Nico
f232fc07c1
feat: custom include patterns ( #104 )
...
* feat: add custom include patterns
* feat: add exclude-if-present option
2025-12-06 10:36:39 +01:00
Nico
d542318e2c
feat: naming backup schedules ( #103 )
...
* docs: add agents instructions
* feat: naming backup schedules
* fix: wrong table for filtering
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
2660d91002
fix: broken migration
2025-12-06 10:36:25 +01:00
Nicolas Meienberger
b155f82575
chore: update dependencies
2025-12-06 10:36:25 +01:00
Nico
9120153375
feat: mirror repositories ( #95 )
...
* feat: mirror repositories
feat: mirror backup repositories
* chore: pr feedbacks
2025-12-06 10:36:17 +01:00
Jakub Trávník
780fdae63e
cryptoUtils.decrypt alligned with encrypt in regards of handling extra space in password file
2025-12-06 10:35:55 +01:00
Jakub Trávník
fc482e9729
crypto.Utils comments updated to reflect behaviour
2025-12-06 10:35:55 +01:00
Jakub Trávník
1fe026a76f
avoid logging secrets in smb backend
2025-12-06 10:35:55 +01:00
Jakub Trávník
2df1fa53a0
feat: implement encryption for sensitive fields in volume backends
2025-12-06 10:35:55 +01:00
Jakub Trávník
4403e3cf19
Merge branch 'main' into missing-icons
2025-12-05 00:22:39 +01:00
Nicolas Meienberger
e85cc35b1a
feat: add DOCKER_HOST support
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-04 19:09:23 +01:00
Nicolas Meienberger
321dc4cdf7
fix: volume data not refreshing when changing selection
2025-12-04 18:54:02 +01:00
Nicolas Meienberger
0f7bd1e042
fix: remove debug logs in production
2025-12-04 18:46:12 +01:00
Nico
08d8a47352
feat: custom include patterns ( #104 )
...
* feat: add custom include patterns
* feat: add exclude-if-present option
2025-12-04 18:44:34 +01:00
Nico
1e20fb225e
feat: naming backup schedules ( #103 )
...
* docs: add agents instructions
* feat: naming backup schedules
* fix: wrong table for filtering
2025-12-04 18:31:00 +01:00
Nicolas Meienberger
b8e30e298c
fix: broken migration
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-03 21:56:41 +01:00
Nicolas Meienberger
ce07c588ad
chore: update dependencies
2025-12-03 20:55:38 +01:00
Nico
e7f0a2828d
feat: mirror repositories ( #95 )
...
* feat: mirror repositories
feat: mirror backup repositories
* chore: pr feedbacks
2025-12-03 20:52:47 +01:00
Jakub Trávník
ff4c1404a6
feat: add icons to buttons and alerts for improved UI clarity
2025-12-03 17:31:44 +01:00
Nicolas Meienberger
7ff38f0128
refactor: run forget commands in the background
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-01 20:22:43 +01:00
Nicolas Meienberger
33e6f3773b
fix: only lock shared tasks if an exclusive is running
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-01 20:07:30 +01:00
Nico
9b46737852
refactor(repositories): add a locking mechanism for restic operations ( #94 )
...
* refactor(repositories): add a locking mechanism for restic operations
* fix: add missing lock in list repositories
2025-12-01 19:47:21 +01:00
Nicolas Meienberger
dbd9ae2241
chore: generate types
2025-11-30 17:05:40 +01:00
Nico
0287bca4bb
restore as a page ( #87 )
...
* feat: add custom restore target directory
Adds the ability to restore snapshots to a custom directory instead of
only the original path. Closes #12 .
Changes:
- Add target parameter to restore API endpoint
- Add directory picker UI in file browser restore dialog
- Add target input field in snapshot restore form
- Create reusable PathSelector component
Note: Run `bun run gen:api-client` after merging to regenerate types.
* refactor: path selector design
* refactor: unify restore snapshot dialogs
* refactor: restore snapshot as a page
* chore: fix liniting issues
* chore(create-notification): remove un-used prop
---------
Co-authored-by: Deepseek1 <Deepseek1@users.noreply.github.com>
2025-11-30 16:47:14 +01:00
Jakub Trávník
03b898f84c
Update app/client/modules/notifications/components/create-notification-form.tsx
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-30 15:38:45 +01:00
Jakub Trávník
6fbb11fefe
telegram notification
2025-11-30 15:15:26 +01:00
Nico
3bf3b22b96
feat: restore to custom location ( #78 )
...
* feat: restore to custom location
* refactor: define overwrite mode in shared schema
2025-11-29 16:53:44 +01:00
Nicolas Meienberger
58708cf35d
refactor: repo healthcheck once per day
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-29 12:25:46 +01:00
Nicolas Meienberger
1d4e7100ab
fix: healtcheck, to not read full data
2025-11-29 12:24:07 +01:00
Nicolas Meienberger
0dfe000148
feat: rename volumes & repositories
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-28 20:47:27 +01:00
Nicolas Meienberger
7d9d3d5d3d
fix: wrong compression modes used
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-28 20:28:47 +01:00
Nicolas Meienberger
8e90c4ace1
refactor: native repository healthcheck
2025-11-28 08:20:06 +01:00
Nico
673827f9f3
refactor: all timestamps to ms ( #77 )
...
* refactor: change all timestamps to be in miliseconds
* chore: format files
* chore: fix syntax error
2025-11-26 23:20:22 +01:00
Nicolas Meienberger
4328607cc1
fix: skip renaming imported repository
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-26 22:20:42 +01:00
Nicolas Meienberger
bedd325a60
fix(db): set pragma after migrations
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-26 20:12:12 +01:00
Nico
b26a062648
refactor: use short ids to allow changing the name of volumes & repos ( #67 )
...
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* refactor: use short ids to allow changing the name of volumes & repos
* refactor: address PR feedbacks
* fix: make short_id non null after initial population
2025-11-26 19:47:09 +01:00
Nico
d190d9c8cd
feat: partial success warning status ( #74 )
...
* feat: report partial backups with warnings
* chore: rebase
* chore: remove un-used size prop
2025-11-26 19:02:29 +01:00
Nicolas Meienberger
e99487eed9
fix(notifications): multiple providers using the wrong params
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-23 21:09:23 +01:00
Nicolas Meienberger
8d4e5d2d4e
fix(ntfy): wrong usage of token
2025-11-23 20:49:44 +01:00
Nicolas Meienberger
daea3e64e4
fix(smtp-notification): always use smtp://
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-23 20:37:21 +01:00
Nicolas Meienberger
70df79079f
fix(backups): correctly apply repository compression mode
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-23 17:53:13 +01:00
Nicolas Meienberger
43dfe6b190
chore: fix typing issue
2025-11-22 17:50:58 +01:00
Nicolas Meienberger
8c4939af4e
feat(notifications): native support for pushover
2025-11-22 17:48:19 +01:00
Nicolas Meienberger
a622b5e689
feat: exclude specific xattr during restore
2025-11-22 17:39:08 +01:00
Nico
6c30e7e357
Feat/notifications alerts ( #52 )
...
* feat: notifications backend & creation
* feat: assign notification to backup schedule
* refactor: status dot one component
* chore(notification-details): remove refetchInterval
2025-11-22 14:58:21 +01:00
Nicolas Meienberger
043f73ea87
fix: properly decode path to support all special unicode characters
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-21 18:25:27 +01:00
Nico
a250c442f8
feat: add sftp repositories support ( #36 )
2025-11-20 20:31:40 +01:00
Nico
cb0d23fd52
refactor: rebrand to zerobyte ( #45 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-20 18:59:57 +01:00
Nicolas Meienberger
0e4c302620
refactor: make healthchecks less expensive
2025-11-20 18:50:40 +01:00
Nicolas Meienberger
70e4c782ff
fix: undefined path in local repo
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-17 21:09:46 +01:00
Nicolas Meienberger
c726c6fc72
feat: custom local repository path
2025-11-17 18:17:51 +01:00
Nicolas Meienberger
4d48d7be58
feat: add support for REST server
2025-11-16 18:24:09 +01:00
Nicolas Meienberger
df6b70c96f
fix(create-volume): all port fields as number
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-16 17:27:49 +01:00
Nicolas Meienberger
94423bd0a5
chore: remove unnecessary deps
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-16 17:20:46 +01:00