Replace deleted_files with manifest-based updater cleanup, add release workflow

- Add manifest.json generation script (scripts/generate-manifest.php)
- Add Updater::cleanStaleFiles() that removes files not in manifest
- Add /api/v1/update/clean endpoint with backward compatibility
- Add configurable update_protected_paths in config/invoiceshelf.php
- Update frontend to use clean step instead of delete step
- Add GitHub Actions release workflow triggered on version tags
- Add .github/release.yml for auto-generated changelog categories
- Update Makefile to include manifest generation and scripts directory
This commit is contained in:
Darko Gjorgjijoski
2026-04-06 19:27:33 +02:00
parent 2bdfb6a8b6
commit e64529468c
12 changed files with 297 additions and 7 deletions

View File

@@ -153,6 +153,7 @@ export const API = {
UPDATE_UNZIP: '/api/v1/update/unzip',
UPDATE_COPY: '/api/v1/update/copy',
UPDATE_DELETE: '/api/v1/update/delete',
UPDATE_CLEAN: '/api/v1/update/clean',
UPDATE_MIGRATE: '/api/v1/update/migrate',
UPDATE_FINISH: '/api/v1/update/finish',

View File

@@ -62,6 +62,11 @@ export const updateService = {
return data
},
async clean(payload?: { deleted_files?: string | string[] | null }): Promise<UpdateStepResponse> {
const { data } = await client.post(API.UPDATE_CLEAN, payload ?? {})
return data
},
async migrate(): Promise<UpdateStepResponse> {
const { data } = await client.post(API.UPDATE_MIGRATE)
return data