zerobyte/app/server
Eric Hess d2f65716fe
feat(mirrors): add selective snapshot sync to mirror repositories (#755)
* 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>
2026-04-16 21:28:48 +02:00
..
__tests__ test: move test runner from Bun to Vitest (#727) 2026-04-01 20:05:54 +02:00
cli test: move test runner from Bun to Vitest (#727) 2026-04-01 20:05:54 +02:00
core fix(rclone): pass explicitly the RCLONE_CONF env var (#779) 2026-04-12 09:25:57 +02:00
db refactor(backup): default to 2 retries & 15 minutes delay 2026-04-12 10:16:26 +02:00
jobs refactor(backups): consolidate execution into service helpers (#717) 2026-03-29 12:57:47 +02:00
lib feat(runtime): start and ship the local agent (#767) 2026-04-10 00:00:30 +02:00
modules feat(mirrors): add selective snapshot sync to mirror repositories (#755) 2026-04-16 21:28:48 +02:00
plugins feat(runtime): start and ship the local agent (#767) 2026-04-10 00:00:30 +02:00
utils chore(core package): re-organize files 2026-04-16 19:07:11 +02:00
app.ts feat(runtime): start and ship the local agent (#767) 2026-04-10 00:00:30 +02:00