Nico
fb3c5b33c0
feat: change email by cli ( #611 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
* **New Features**
* New CLI command to change user email addresses with impact preview and validation.
* **Accessibility**
* Improved settings form with proper label-input associations and email field type validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-03 21:46:47 +01:00
Nico
cb405f1790
refactor: sso utils ( #608 )
2026-03-03 21:28:39 +01:00
Nico
cdc15ef488
fix(use-mobile): use sync external storage to wait before initial render ( #610 )
2026-03-03 21:27:22 +01:00
Nico
f511095fde
fix(sso): prevent auto-linking with an existing account in a different org ( #607 )
...
* fix(sso): prevent auto-linking with an existing account in a different org
* chore: lint issue
* chore: bump @better-auth/sso
2026-03-03 20:27:50 +01:00
Nicolas Meienberger
b082afe761
chore: web-haptics
2026-03-03 19:27:43 +01:00
Nicolas Meienberger
5ef2026b61
refactor: ensure server preloading
2026-03-02 21:13:32 +01:00
Nico
2ff6451f37
test: use better-auth built-in test plugin ( #599 )
...
test: use better-auth built-in test plugin
refactor: map auth errors server side
refactor: native trusted providers callback usage
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
## Release Notes
* **New Features**
* Enhanced SSO authentication error messaging with specific guidance for different failure scenarios (account linking required, email verification needed, banned accounts, invite-only access).
* **Chores**
* Updated authentication dependencies to version 1.5.0.
* **Tests**
* Extended test coverage for SSO error code handling and authentication scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-01 15:10:50 +01:00
Nicolas Meienberger
39469cb08b
chore: improve ssr data loading
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-28 16:47:02 +01:00
Nico
67eca589d8
style: improve repo details layout ( #596 )
2026-02-28 14:16:50 +01:00
Nico
f686c1aa16
feat: separate global admin page ( #595 )
2026-02-28 12:32:43 +01:00
Nicolas Meienberger
84a088a42e
test: *.xyz include pattern
2026-02-28 11:16:04 +01:00
Nicolas Meienberger
73c0511167
refactor: render repo stats directly in ssr if cache is available
2026-02-28 10:17:55 +01:00
Nicolas Meienberger
66076e5841
refactor: render cached data directly if available during ssr
2026-02-28 00:59:05 +01:00
Nico
7a3932f969
feat: OIDC ( #564 )
...
* feat: oidc
feat: organization switcher
refactor: org context
feat: invitations
GLM
* feat: link current account
* refactor: own page for sso registration
* feat: per-user account management
* refactor: code style
* refactor: user existing check
* refactor: restrict provider configuration to super admins only
* refactor: cleanup / pr review
* chore: fix lint issues
* chore: pr feedbacks
* test(e2e): automated tests for OIDC
* fix: check url first for sso provider identification
* fix: prevent oidc provider to be named "credential"
2026-02-27 23:13:54 +01:00
Nico
b2d2f28b40
style: redesign dashboard ( #586 )
...
style: redesign dashboard
style(tables): same height row in all pages
2026-02-26 19:57:39 +01:00
Nico
30f237dc1f
fix(local-repo): automatically generate a subfolder for new local repos ( #582 )
...
Closes #562
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
## Release Notes
* **New Features**
* Improved repository setup with context-aware descriptions for new vs. existing repositories
* Enhanced path handling: unique identifiers automatically appended for new repositories, exact paths preserved when importing existing ones
* **Chores**
* Updated documentation and build configuration
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-26 19:43:42 +01:00
Nicolas Meienberger
b1a0cdb195
chore: gen api-client
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-25 23:19:34 +01:00
Nicolas Meienberger
f3c753ad30
chore: style fixes
2026-02-25 22:15:08 +01:00
dependabot[bot]
5bc0de4d1a
chore(deps): bump the minor-patch group with 6 updates ( #570 )
...
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
* chore(deps): bump the minor-patch group with 6 updates
Bumps the minor-patch group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| @scalar/hono-api-reference | `0.9.44` | `0.9.45` |
| @tanstack/react-router | `1.162.8` | `1.162.9` |
| @tanstack/react-router-ssr-query | `1.162.8` | `1.162.9` |
| @tanstack/react-start | `1.162.8` | `1.162.9` |
| @hey-api/openapi-ts | `0.92.4` | `0.93.0` |
| oxlint-tsgolint | `0.14.2` | `0.15.0` |
Updates `@scalar/hono-api-reference` from 0.9.44 to 0.9.45
Updates `@tanstack/react-router` from 1.162.8 to 1.162.9
Updates `@tanstack/react-router-ssr-query` from 1.162.8 to 1.162.9
Updates `@tanstack/react-start` from 1.162.8 to 1.162.9
Updates `@hey-api/openapi-ts` from 0.92.4 to 0.93.0
Updates `oxlint-tsgolint` from 0.14.2 to 0.15.0
---
updated-dependencies:
- dependency-name: "@scalar/hono-api-reference"
dependency-version: 0.9.45
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@tanstack/react-router"
dependency-version: 1.162.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@tanstack/react-router-ssr-query"
dependency-version: 1.162.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@tanstack/react-start"
dependency-version: 1.162.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
dependency-version: 0.93.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-patch
- dependency-name: oxlint-tsgolint
dependency-version: 0.15.0
dependency-type: direct:development
update-type: version-update:semver-minor
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-02-25 19:19:00 +01:00
Nico
b916df7736
fix: form not correctly updating based on values ( #572 )
...
* fix: form not correctly updating based on values
Closes #549
* chore: pr review
2026-02-25 18:36:12 +01:00
Nico
cb92d36c95
feat: cache backup progress ( #571 )
...
Closes #412
2026-02-25 18:20:08 +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
Nico
ca8248b2a0
ui: scroll to error ( #541 )
...
* refactor: scroll to first error when submitting a form
* refactor: split file browsers into dedicated components with base
* chore: pr feedbacks
2026-02-18 20:13:09 +01:00
Nicolas Meienberger
85e2272a5c
fix(ui): missing @container class in backup details
2026-02-17 19:29:10 +01:00
Nico
f059a23ecc
fix: multiple mobile and responsiveness issues ( #537 )
...
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
* fix: multiple mobile and responsiveness issues
fix(mobile): scroll reset on snapshot selection
fix(mobile): layout improvements
refactor(volume-details): improve layout
refactor: better card breakpoints layouts in backps list
fix(ui): keep sidebar in the state it was before reloading
refactor(ui): keep the same grid size in all breakpoints
refactor: manual hotkey devpanel to tanstack hotkeys
* chore: pr feedback
2026-02-17 18:44:22 +01:00
Nico
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
66ed89d39e
fix(file-tree): display load more if root folder has 500+ items ( #526 )
...
Close #518
2026-02-16 19:25:41 +01:00
Nico
8e5eb68935
refactor: optimistic ui when deleting a snapshot ( #515 )
2026-02-14 13:47:09 +01:00
Nico
bad944a232
feat: restore progress ( #281 )
...
* feat: restore progress
* feat: keep restore progress on reload
* refactor: centralize sse event types
* refactor(sse): generic handler factory
2026-02-14 12:35:16 +01:00
Nico
1017f1a38b
feat: edit repository form ( #507 )
...
* feat: edit repository form
* refactor: local repo path concat as a code migration
* refactor: server constants
* chore: fix lint issue in test file
* refactor: add auth to getServerConstants
2026-02-14 11:49:33 +01:00
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
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
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
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
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