* feat(authentication): api key
Keeps selected UX pieces from b487b096.
Co-authored-by: Nguyen Quy Hy <nguyenquyhy@live.com.sg>
* refactor: pr feedbacks
* chore: bump @better-auth/api-key
* refactor: global limit of 50 api key instead of 10 per org
---------
Co-authored-by: Nguyen Quy Hy <nguyenquyhy@live.com.sg>
* fix(deps): update bun minor and patch dependencies
* fix: require SSO flow for SSO org invitations
Manual enforcement since better-auth made the rule wider
* chore: re-generate api-client
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* Add range selection functionality to repository page
* Fix two issues identified by coderabbit
* fix one more coderabbit identified issue
* Add initial selection, and deselection functionality
* small fix
---------
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* fix: block login for 2fa users with un-verified passkeys
* refactor(passkey): show proper login error
* refactor: show passkey generic error on all failures
* feat(auth): add passkey authentication support
* fix: implement AI review feedback
* fix: use non-unique index for passkey_credentialID_idx in migration
* refactor(passkeys): use TanStack mutations for passkey CRUD operations
* chore: restore lockfile from main and add @better-auth/passkey
* chore: fix conflicts
* refactor(passkey-login): simplify passkey autofill event
* refactor(settings-passkeys): ux improvements
---------
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* fix(deps): update bun minor and patch dependencies
* fix: ci
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* 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>
* fix(deps): update bun minor and patch dependencies
* chore: update api-client
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* feat(mirrors): add selective snapshot sync to mirror repositories
Allow users to sync missing snapshots from the source repository to a
mirror. A new sync button per mirror opens a dialog showing which
snapshots are missing, with checkboxes to select which ones to copy.
- Add GET /:shortId/mirrors/:mirrorShortId/status endpoint to compare
snapshots between source and mirror repositories
- Add POST /:shortId/mirrors/:mirrorShortId/sync endpoint accepting
selected snapshotIds in the request body
- Extend restic copy command to accept multiple snapshotIds
- Add sync preview dialog with snapshot selection to the frontend
* refactor: stylistic changes
---------
Co-authored-by: Nicolas Meienberger <github@thisprops.com>