Nico
c4f3300e9b
fix(backups): correctly resolve paths when folder name matches volume name ( #576 )
...
When a selected subfolder had the exact same name as its parent volume
mount, the `path.relative` check falsely identified the subfolder path
as an absolute path already inside the volume. This caused the entire
volume root to be backed up instead of the intended subfolder.
Closes #250
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved handling of backup patterns when folder names match volume names.
* Enhanced error handling for snapshot deletion operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-25 19:09:32 +01:00
Nico
cc55fee339
refactor: increase rclone mount timeout ( #575 )
...
Closes #488
2026-02-25 19:06:07 +01:00
Nico
dd9083ce7a
fix: wrong cache key for snapshot retention tags ( #574 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
* **Bug Fixes**
* Enhanced error handling in retention category calculations to gracefully handle missing or invalid repositories, ensuring the system returns safe defaults instead of failing
* Optimized repository cache validation and lookup mechanisms for improved performance
* Strengthened repository validation checks to prevent potential calculation failures
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-25 19:02:44 +01:00
Nico
29967d7e4e
fix(discord): do not split each line into individual messages ( #573 )
...
Closes #519
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
* **New Features**
* Notification destinations can now be tested even when disabled, enabling configuration validation before activation
* **Improvements**
* Discord notification formatting parameters optimized for enhanced message delivery
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-25 18:54:56 +01:00
Nico
cb92d36c95
feat: cache backup progress ( #571 )
...
Closes #412
2026-02-25 18:20:08 +01:00
Nico
00e7118771
fix: report timeout as errors ( #569 )
...
Closes #485
2026-02-25 18:02:47 +01:00
Nico
74b21d93d6
fix: add DisableTLS param if server is http ( #563 )
...
Closes #561
2026-02-23 21:31:53 +01:00
Nico
a0a813ed09
refactor: short id branded type ( #552 )
...
* refactor: short id branded type
* chore: pr feedbacks
2026-02-21 11:16:15 +01:00
Nico
45fd9f9de1
feat: repository used space ( #551 )
...
* feat: repository used space
refactor: use a smarter cache key logic for easier invalidations
* chore: pr feedbacks
2026-02-21 10:52:55 +01:00
Nico
182d39a887
feat: restore snapshot as tar ( #550 )
...
* feat: export snapshot as tar file
chore(mutext): prevent double lock release
* chore: pr feedbacks
* fix: dump single file no tar
* chore: pr feedbacks
2026-02-21 10:19:20 +01:00
Nico
8681ebc0c0
refactor: always use short id in api calls ( #545 )
2026-02-19 20:08:40 +01:00
Nico
8fcd446926
refactor: snapshot strip out base path ( #542 )
...
* refactor: strip out volume path in snapshot list / restore
chore: lint issue
* test: backups new include patterns
2026-02-18 21:45:19 +01:00
Nicolas Meienberger
705f5c75cb
chore: remove useless migration normalization
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-17 20:50:23 +01:00
Nicolas Meienberger
c04219cbf7
fix: normalize drizzle migration timestamp
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-17 19:05:52 +01:00
Nico
ebfafa4143
fix(repositories): append short id when using the default path for local repos ( #536 )
2026-02-17 18:28:33 +01:00
Nicolas Meienberger
0bbdbc85ad
Reapply "chore(deps): bump drizzle-orm from 1.0.0-beta.9-e89174b to 1.0.0-beta.15-859cf75 ( #501 )"
...
This reverts commit db163a1bb5 .
2026-02-17 17:52:25 +01:00
Nicolas Meienberger
440916e312
ci: skip e2e temporarily
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 23:59:08 +01:00
Nicolas Meienberger
d58329d86e
fix: skip migrating imported repos
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 23:50:39 +01:00
Nicolas Meienberger
a70e95fb7e
chore: enable foreign keys constraints in CLI runs
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 23:29:36 +01:00
Nicolas Meienberger
7bcf380198
test: fix impossible test scenarios
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 23:20:33 +01:00
Nicolas Meienberger
11efe87b2e
fix: apply fk db constraint on app creation
2026-02-16 23:09:18 +01:00
Nicolas Meienberger
db163a1bb5
Revert "chore(deps): bump drizzle-orm from 1.0.0-beta.9-e89174b to 1.0.0-beta.15-859cf75 ( #501 )"
...
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
This reverts commit d53b24bfb4 .
2026-02-16 22:18:10 +01:00
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
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
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
6d33a3a35e
refactor: remove delete option until we have a proper dry-run mode
2026-02-13 18:31:06 +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
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
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
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
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
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
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
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
1622e34b0d
refactoring(bw-limit): stylistic refactoring
2026-01-15 18:07:00 +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
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
881e8f8abe
feat: configurable trusted origins
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
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
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
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
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
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
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
89315bb8a1
fix: defer auth initialization until after passfile exists
2026-01-08 14:57:06 +01:00