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