Commit Graph

234 Commits

Author SHA1 Message Date
Nico
f646bc4f92 fix: harden volume browser path codec (#1020)
Volume browser paths are API paths, not native filesystem paths. They
need stable slash-separated encoding so paths containing spaces,
backslashes, or percent-encoded characters can round-trip between the
browser and the agent without escaping the mounted volume root.

This adds a small codec at the volume-host boundary, verifies
symlink/root containment on the resolved native path, and keeps the
local file browser from normalizing user-facing request.
2026-06-30 19:21:15 +02:00
Nicolas Meienberger
f504dfc372 chore(desktop): alpha naming 2026-06-29 09:12:21 +02:00
Nico
b010e25803 refactor(desktop): remove restic bridge (#1012) 2026-06-28 13:09:32 +02:00
Nicolas Meienberger
083fdd1234 fix(desktop): harden startup against localhost port hijack 2026-06-24 09:43:02 +02:00
Nico
cd90abd3fe feat(desktop): automatic release pipeline (#1006)
* feat(desktop): automatic release pipeline

* refactor(desktop-release): remove build number infer since we won't release locally

* fix(desktop): correct MAS TestFlight release config
2026-06-23 11:38:11 +02:00
Nico
3f48e935f5 feat(desktop): add packaging runtime (#1005) 2026-06-22 21:16:15 +02:00
Nico
956e357b72 feat(desktop): add tray UI (#1004) 2026-06-22 15:36:46 +02:00
Nico
22fe4fa0a5 feat(desktop): add native shell capabilities (#1002)
* feat(desktop): add native shell capabilities

* refactor: pr feedback
2026-06-22 14:55:12 +02:00
Nico
f26ed7b5fd feat(desktop): add app foundation (#1001)
* feat(desktop): add app foundation

refactor(desktop): slim app foundation

* refactor: pr feedbacks
2026-06-22 14:05:02 +02:00
Copilot
cc29347e57 docs: update Docker Compose examples to Zerobyte v0.40 (#999)
* Initial plan

* docs: update docker compose image tags to v0.40

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-22 09:45:51 +02:00
Nicolas Meienberger
277c24e1a0 fix(auth): revoke organization API keys when removing members 2026-06-21 22:46:51 +02:00
renovate[bot]
7f6dedf64a fix(deps): update bun minor and patch dependencies (#974) 2026-06-16 07:32:10 +02:00
renovate[bot]
bd46bd1156 fix(deps): update bun minor and patch dependencies (#937)
* 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>
2026-06-12 08:50:56 +02:00
iven
aed2c15709 Rename docker-compose.yml to compose.yaml (#935)
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/
2026-06-10 20:04:00 +02:00
Copilot
c34d66575e docs: update Docker Compose image examples to v0.39 (#958)
* Initial plan

* docs: update docker compose image tags to v0.39

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-08 19:54:55 +02:00
Nico
ef6b68490b docs: performance tuning (#952)
* docs: performance tuning

* chore: pr feedback
2026-06-07 10:28:55 +02:00
Copilot
34fc4f0cbb docs: update Docker Compose Zerobyte image tags to v0.38 (#945)
* Initial plan

* docs: update Docker Compose Zerobyte image tags to v0.38

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-04 21:49:15 +02:00
Nico
333c11986d feat: enforce protocol version between agent and controller (#938)
* feat: enforce protocol version between agent and controller

* chore: add logging for protocol rejected message
2026-06-03 18:29:36 +02:00
renovate[bot]
755cbe4dae fix(deps): update bun minor and patch dependencies (#925)
* fix(deps): update bun minor and patch dependencies

* chore: fix linting issues

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
2026-06-03 17:15:53 +02:00
renovate[bot]
49e3977199 fix(deps): update dependency fumadocs-mdx to v15 (#870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-03 16:59:25 +02:00
Nicolas Meienberger
c793785e30 docs: user and role permission model 2026-06-02 19:21:25 +02:00
Nicolas Meienberger
62cdf5dcca fix(backup-config): throw if include patterns have un-supported characters 2026-06-01 20:14:12 +02:00
Nico
00d1dac515 fix(backup-config): throw if include patterns have un-supported chars (#931) 2026-06-01 20:02:07 +02:00
Nico
8fedeef4d1 feat: add restore agent RPC foundation (#929)
* feat: add restore agent RPC foundation

* chore: temp event handlers

* refactor: export restore progress from dto file
2026-05-31 19:39:20 +02:00
Nico
0a2c6bca0c refactor(restic): auto try to unlock and remove stale locks (#926) 2026-05-30 13:21:22 +02:00
renovate[bot]
74ddf574a8 fix(deps): update bun minor and patch dependencies (#902)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 22:24:59 +02:00
Nicolas Meienberger
d502b96509 test: fix webhook mocks 2026-05-29 20:45:16 +02:00
Nicolas Meienberger
5ee65bf0af refactor(sftp): mixed options style 2026-05-29 20:45:15 +02:00
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
Copilot
0589fd63b1 Update Docker Compose docs examples to Zerobyte v0.37 image tag (#905)
* Initial plan

* docs: update docker compose image tags to v0.37

Agent-Logs-Url: https://github.com/nicotsx/zerobyte/sessions/067f22a5-8223-4fd3-8e9c-c50f6ab2cc6e

Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
2026-05-20 14:38:51 +02:00
renovate[bot]
705b8eb748 fix(deps): update bun minor and patch dependencies (#892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-19 22:00:51 +02:00
Nico
11dacd7c71 refactor(agent): store SFTP volume keys in tmp (#888)
* 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
2026-05-17 18:19:09 +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
renovate[bot]
0dccd00539 fix(deps): update bun minor and patch dependencies (#867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-17 13:54:02 +02:00
Nico
a58fe82d48 refactor: move backup path resolution into agent contract (#872) 2026-05-10 21:46:03 +02:00
Nico
aa7da321ba refactor: dedpulicate volume schemas across packages (#864) 2026-05-09 15:36:25 +02:00
Nico
2ada5acd5a refactor(agent): harden local agent volume lifecycle (#863)
* refactor(agent): harden local agent volume lifecycle

* chore(test): remove un-used variable

* refactor(agent): create dedicated jobs for recurring tasks

* chore: pr feedbacks

* test: add missing fake agent controller
2026-05-09 12:13:04 +02:00
Nico
2062beac68 refactor(server): route volume operations through agents (#862)
* refactor(server): route volume operations through agents

* chore: pr feedbacks
2026-05-07 20:51:25 +02:00
Nico
df4b668560 feat(agent): add volume operation RPC (#861) 2026-05-07 18:11:57 +02:00
renovate[bot]
5e4742488f fix(deps): update bun minor and patch dependencies (#865)
* 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>
2026-05-07 17:11:53 +02:00
Nico
e65a135676 feat(agents): create agent registry and service (#849)
* 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
2026-05-05 19:34:10 +02:00
Copilot
497a0e8bee docs: update Docker Compose image tags to v0.36 (#857)
* Initial plan

* docs: update Docker image tags to v0.36

Closes nicotsx/zerobyte#856

Agent-Logs-Url: https://github.com/nicotsx/zerobyte/sessions/685fd718-282c-4843-b5bb-082bf8ed0571

Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
2026-05-04 22:02:35 +02:00
Nicolas Meienberger
e7b9b118a8 docs: backup webhooks 2026-05-04 08:12:24 +02:00
Nicolas Meienberger
8772d4796e feat(backups): configure backup webhook timeout 2026-05-04 07:52:21 +02:00
Nicolas Meienberger
35dd49d7ac docs: add sections about new WEBHOOK_ALLOWED_ORIGINS env var 2026-05-01 18:26:13 +02:00
Nicolas Meienberger
8fd54383a8 docs: add reference CLI usage 2026-05-01 18:07:52 +02:00
Nico
220e2d2801 feat: make webhook calls trusted only (#848)
* feat: make webhook calls trusted only

* fix: pr feedbacks
2026-04-30 22:14:22 +02:00
Nico
11e9fbcc44 feat: pre/post backup webhooks (#835)
* feat: pre/post backup webhooks

* fix(hooks): run post when cancelled

* refactor(webhooks): headers as array

* refactor: pr feedback

* refactor: simplify hooks ceremonies

* chore: pr feedbacks

* chore: re-gen migration
2026-04-29 23:48:58 +02:00
Copilot
82e027d872 docs: bump Docker image tags to v0.35 (#839)
* Initial plan

* docs: update Docker image tags to v0.35

Agent-Logs-Url: https://github.com/nicotsx/zerobyte/sessions/9862acc4-1f34-4972-b08a-f334ba1de312

Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
2026-04-25 14:58:18 +02:00
Nico
a0c34ee48d chore: cleanup un-used exports (#823) 2026-04-22 21:14:37 +02:00