Nico
7b5c53bb7d
fix(sftp): allow legacy ssh rsa to add support for older servers ( #921 )
...
* refactor(e2e): use more stable assertion
* feat(sftp): add legacy ssh-rsa option
2026-05-27 21:19:23 +02:00
Nico
19a0781667
test: backend integration ( #889 )
...
* test: backend integration
* docs: mounted shares acls
* feat: smb expose real ACLs when available
* fix: re-init repo on setup
* chore: add missing @hono/standard-validator package
* chore: add happy-dom dev dep
2026-05-17 15:18:56 +02:00
Nico
aa7da321ba
refactor: dedpulicate volume schemas across packages ( #864 )
2026-05-09 15:36:25 +02:00
Antoine Jeanselme
3d5a0a9b75
feat: add repositories & volumes column sorting ( #808 )
...
* Add repository column sorting
* Make status title correctly centered o nsmaller screens
* Add volumes column sorting
* refactor: use tanstack table for filtering and sorting
* feat: make notifications sortable
* chore: pr feedbacks
---------
Co-authored-by: Antoine Jeanselme <67123340+ajeanselme@users.noreply.github.com >
Co-authored-by: Nicolas Meienberger <github@thisprops.com >
2026-05-02 10:21:42 +02:00
Nico
6ae5a33acd
chore: remove dead files ( #827 )
2026-04-22 22:13:24 +02:00
Nico
731ebad1ee
style: redesign volume details page to match repository ( #740 )
2026-04-02 22:55:23 +02:00
Nico
e77723164b
refactor: improve buttons and space with dropdowns ( #738 )
2026-04-02 21:44:32 +02:00
Nico
4bf1463406
refactor: dedicated edit page for volumes ( #737 )
2026-04-02 21:40:24 +02:00
Nicolas Meienberger
ca38f7ca69
fix(select): render a div durng ssr to avoid hydration issues
2026-03-31 22:05:46 +02:00
Nicolas Meienberger
3acf565ccd
fix: force user to provide known hosts values in sftp volume / repository creation
2026-03-31 20:27:48 +02:00
Kevin Stallone
aa7eaa0929
feat(volumes): add webdav, sftp, and rclone filters ( #720 )
...
* feat(volumes): add sftp, webdav, and rclone filters
* chore(volumes): align backend filter order with create-volume form
2026-03-31 20:27:43 +02:00
Nicolas Meienberger
b4668e23c7
test(e2e): attach browser logs and full errors in report
2026-03-24 07:52:54 +01:00
Nicolas Meienberger
4c928cbc33
refactor(client): configure time formatting with timezone from server
2026-03-24 07:52:54 +01:00
Nico
d74f516336
feat: file-based provisionning of volumes and repos ( #656 )
...
* feat: file-based provisionning of volumes and repos
docs: provisioning example
chore: ui improvements
* chore: ci issues
2026-03-12 18:31:42 +01:00
Nicolas Meienberger
ab25cc915e
chore: color improvements in light mode
2026-03-09 19:05:51 +01:00
Nico
df312cd419
refactor: move from arktype to zod ( #637 )
...
chore: gen api-client
2026-03-09 18:27:03 +01:00
Nico
dd8f471d60
feat: light theme ( #638 )
2026-03-09 18:16:50 +01:00
Nicolas Meienberger
39469cb08b
chore: improve ssr data loading
2026-02-28 16:47:02 +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
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
8681ebc0c0
refactor: always use short id in api calls ( #545 )
2026-02-19 20:08:40 +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
Nico
f059a23ecc
fix: multiple mobile and responsiveness issues ( #537 )
...
* fix: multiple mobile and responsiveness issues
fix(mobile): scroll reset on snapshot selection
fix(mobile): layout improvements
refactor(volume-details): improve layout
refactor: better card breakpoints layouts in backps list
fix(ui): keep sidebar in the state it was before reloading
refactor(ui): keep the same grid size in all breakpoints
refactor: manual hotkey devpanel to tanstack hotkeys
* chore: pr feedback
2026-02-17 18:44:22 +01:00
Nico
99bb296866
fix: cascade delete not correctly applied ( #531 )
2026-02-16 21:36:07 +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
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
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
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
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
ef2d644146
refactor: format dates in a human-friendly way ( #334 )
2026-01-10 13:02:46 +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
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
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
Jakub Trávník
dccb38c70b
corrected webdav default path to match placeholder
2025-12-22 15:39:05 +01:00
Jakub Trávník
ff9cfeda78
fix: add missing path property to webdav and rclone default values
2025-12-22 15:17:05 +01:00
Nico
a17da2562f
refactor(startup): ensure entities always use the latest configuration format ( #173 )
...
* refactor(startup): ensure entities always use the latest configuration schema
* refactor: await config updates to avoid race condition on later mount
2025-12-18 18:11:39 +01:00
Nicolas Meienberger
47b3c80317
refactor(secret-input): remove isDirty check
2025-12-16 20:45:33 +01:00
Nico
9e3cc90ba1
refactor: allow to run without the SYS_ADMIN cap for simple setups ( #138 )
...
* refactor: allow to run without the SYS_ADMIN cap for simple setups
* fix: pr feedback
2025-12-16 18:02:54 +01:00
Nico
1b6539c5bf
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
fe5c9ea599
refactor(rclone-form): minor UI improvements
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
affd300a09
fix(rclone-volume): remote was not loaded correctly in the form
2025-12-16 18:02:54 +01:00
Jakub Trávník
c4ec8ea62b
secret reference frontend usage
2025-12-15 10:50:24 +01:00
Nico
2ddf3c6597
refactor: split forms ( #124 )
...
* refactor: split create-volume-form
* refactor: split create-repository-form
* chore: pr feedbacks
2025-12-10 21:16:20 +01:00
Nicolas Meienberger
fdb84374a0
refactor: remove icons where it was making the context worse
2025-12-06 11:13:26 +01:00
Jakub Trávník
ff4c1404a6
feat: add icons to buttons and alerts for improved UI clarity
2025-12-03 17:31:44 +01:00
Nico
9b46737852
refactor(repositories): add a locking mechanism for restic operations ( #94 )
...
* refactor(repositories): add a locking mechanism for restic operations
* fix: add missing lock in list repositories
2025-12-01 19:47:21 +01:00
Nicolas Meienberger
0dfe000148
feat: rename volumes & repositories
2025-11-28 20:47:27 +01:00
Nico
b26a062648
refactor: use short ids to allow changing the name of volumes & repos ( #67 )
...
* refactor: use short ids to allow changing the name of volumes & repos
* refactor: address PR feedbacks
* fix: make short_id non null after initial population
2025-11-26 19:47:09 +01:00
Nico
d190d9c8cd
feat: partial success warning status ( #74 )
...
* feat: report partial backups with warnings
* chore: rebase
* chore: remove un-used size prop
2025-11-26 19:02:29 +01:00
Nico
6c30e7e357
Feat/notifications alerts ( #52 )
...
* feat: notifications backend & creation
* feat: assign notification to backup schedule
* refactor: status dot one component
* chore(notification-details): remove refetchInterval
2025-11-22 14:58:21 +01:00