* 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>
Aligns the project with the current Compose Specification, which
designates compose.yaml as the canonical filename and treats the
docker-compose.yml name as a legacy fallback.
Renames every compose file in the repo (the root dev/e2e stack, the
deployment examples under examples/, and the integration-test infra
stack) and updates all documentation, the integration test runner, the
capability hint messages, and the .gitattributes pattern accordingly.
No top-level version field was present to remove.
Functional behavior is unchanged: docker compose discovers either
filename, so existing deployments are not affected by the rename.
Reference: https://docs.docker.com/compose/intro/compose-application-model/
* 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 dependency content-disposition to v2
* refactor(content-disposition): use new named export
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
* refactor(agent): store SFTP volume keys in tmp
* refactor: store temp keys in /run/zerobyte subfolders
* fix(restic): clean temp secrets dir on env setup failure
* fix: one secrets temp dir per env building
* 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>
* feat(agents): create agent registry and service
* fix: mark agent offline only if the session was removed properly
* refactor: centralize agent backup lifecycle state
* refactor: simplify session management
* refactor: move effect / async boundary in one place
* chore: regen migration
* refactor: improve error handling
* chore: pr feedback