includio-cms 0.14.2 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/DOCS.md +34 -1
- package/ROADMAP.md +7 -0
- package/dist/admin/api/handler.js +2 -0
- package/dist/admin/api/maintenance-status.d.ts +2 -0
- package/dist/admin/api/maintenance-status.js +7 -0
- package/dist/admin/client/maintenance/maintenance-page.svelte +518 -612
- package/dist/admin/remote/media.remote.js +3 -3
- package/dist/core/cms.js +4 -0
- package/dist/core/server/media/operations/backgroundMaintenance.d.ts +15 -0
- package/dist/core/server/media/operations/backgroundMaintenance.js +105 -0
- package/dist/core/server/media/operations/batchTranscodeVideos.js +17 -2
- package/dist/core/server/media/operations/reconcileMedia.js +19 -1
- package/dist/core/server/media/styles/operations/batchGenerateStyles.js +9 -4
- package/dist/types/cms.d.ts +7 -0
- package/dist/updates/0.14.3/index.d.ts +2 -0
- package/dist/updates/0.14.3/index.js +15 -0
- package/dist/updates/index.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to includio-cms are documented here.
|
|
4
4
|
Generated from `src/lib/updates/` — do not edit manually.
|
|
5
5
|
|
|
6
|
+
## 0.14.3 — 2026-03-27
|
|
7
|
+
|
|
8
|
+
Background maintenance system — automatic style generation, poster regeneration, video transcoding, orphan cleanup on configurable schedule
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Background maintenance scheduler — runs style generation, poster regeneration, video transcoding, and orphan cleanup automatically
|
|
12
|
+
- Maintenance status API endpoint (`/admin/api/maintenance-status`) — real-time status of background tasks
|
|
13
|
+
- Configurable maintenance interval via `media.maintenance` config (`autoRun`, `intervalHours`)
|
|
14
|
+
- Maintenance page UI redesign — auto-status banner, organized sections, compact progress indicators
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- Maintenance page SSE handler deduplication — single reusable `handleSSE()` replaces 3 duplicated implementations
|
|
18
|
+
|
|
6
19
|
## 0.14.2 — 2026-03-27
|
|
7
20
|
|
|
8
21
|
Image styles: aspectRatio support, lazy generation, skip defaults when custom styles defined
|
package/DOCS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Includio CMS Documentation (v0.14.
|
|
1
|
+
# Includio CMS Documentation (v0.14.3)
|
|
2
2
|
|
|
3
3
|
> This file is auto-generated from the docs site. For the latest version, update the package.
|
|
4
4
|
|
|
@@ -2472,6 +2472,17 @@ On the frontend, the `<Video>` component serves transcoded sources automatically
|
|
|
2472
2472
|
|
|
2473
2473
|
See [Video Transcoding](/docs/video-transcoding) for full configuration and usage.
|
|
2474
2474
|
|
|
2475
|
+
## Background Maintenance
|
|
2476
|
+
|
|
2477
|
+
Includio runs automatic background maintenance on a configurable schedule (default: every 6 hours). Tasks include:
|
|
2478
|
+
|
|
2479
|
+
1. Generate missing image styles
|
|
2480
|
+
2. Regenerate missing video posters
|
|
2481
|
+
3. Transcode missing video variants (if ffmpeg available)
|
|
2482
|
+
4. Clean up orphaned disk files
|
|
2483
|
+
|
|
2484
|
+
Configure via `media.maintenance` in your CMS config. See [Video Transcoding](/docs/video-transcoding#background-maintenance) for details.
|
|
2485
|
+
|
|
2475
2486
|
## File Adapter
|
|
2476
2487
|
|
|
2477
2488
|
The file adapter handles physical storage. See [Files Adapter](/docs/adapters/files) for the interface.
|
|
@@ -2557,10 +2568,32 @@ interface VideoStyle {
|
|
|
2557
2568
|
}
|
|
2558
2569
|
```
|
|
2559
2570
|
|
|
2571
|
+
## Background Maintenance
|
|
2572
|
+
|
|
2573
|
+
Since **v0.14.3**, Includio runs automatic background maintenance that includes video transcoding alongside other tasks (image styles, posters, orphan cleanup).
|
|
2574
|
+
|
|
2575
|
+
Configure via `media.maintenance`:
|
|
2576
|
+
|
|
2577
|
+
```typescript
|
|
2578
|
+
defineConfig({
|
|
2579
|
+
media: {
|
|
2580
|
+
maintenance: {
|
|
2581
|
+
autoRun: true, // default: true — start on CMS init
|
|
2582
|
+
intervalHours: 6 // default: 6 — hours between runs
|
|
2583
|
+
}
|
|
2584
|
+
}
|
|
2585
|
+
});
|
|
2586
|
+
```
|
|
2587
|
+
|
|
2588
|
+
The first run starts 30 seconds after CMS initialization, then repeats at the configured interval.
|
|
2589
|
+
|
|
2590
|
+
Check status via `GET /admin/api/maintenance-status` — returns whether maintenance is running, last run time, next scheduled run, and result summary.
|
|
2591
|
+
|
|
2560
2592
|
## Admin UI
|
|
2561
2593
|
|
|
2562
2594
|
The admin maintenance page provides:
|
|
2563
2595
|
|
|
2596
|
+
- **Auto-maintenance status banner** — shows running state, last/next run, result summary
|
|
2564
2597
|
- **Batch transcode** — transcode all videos that don't have styles yet (SSE progress)
|
|
2565
2598
|
- **Purge video styles** — delete all transcoded variants from disk and database
|
|
2566
2599
|
- **Retranscode** — purge + retranscode all videos
|
package/ROADMAP.md
CHANGED
|
@@ -269,6 +269,13 @@
|
|
|
269
269
|
- [x] `[feature]` `[P1]` Skip default styles when field defines custom styles (prevents `<source>` conflicts in `<picture>`) <!-- files: src/lib/core/server/fields/utils/imageStyles.ts -->
|
|
270
270
|
- [x] `[feature]` `[P2]` Lazy generation of custom field styles on first read <!-- files: src/lib/core/server/fields/utils/imageStyles.ts -->
|
|
271
271
|
|
|
272
|
+
## 0.14.3 — Background maintenance
|
|
273
|
+
|
|
274
|
+
- [x] `[feature]` `[P1]` Background maintenance scheduler — auto styles, posters, transcodes, orphan cleanup on configurable interval <!-- files: src/lib/core/server/media/operations/backgroundMaintenance.ts, src/lib/core/cms.ts -->
|
|
275
|
+
- [x] `[feature]` `[P1]` Maintenance status API endpoint <!-- files: src/lib/admin/api/maintenance-status.ts, src/lib/admin/api/handler.ts -->
|
|
276
|
+
- [x] `[feature]` `[P2]` Configurable maintenance interval via `media.maintenance` config <!-- files: src/lib/types/cms.ts -->
|
|
277
|
+
- [x] `[feature]` `[P1]` Maintenance page UI redesign — status banner, sections, SSE handler dedup <!-- files: src/lib/admin/client/maintenance/maintenance-page.svelte -->
|
|
278
|
+
|
|
272
279
|
## 0.15.0 — SEO module
|
|
273
280
|
|
|
274
281
|
- [ ] `[feature]` `[P1]` SERP preview + character limits for title/description <!-- files: src/lib/admin/components/fields/seo-field.svelte -->
|
|
@@ -10,6 +10,7 @@ import * as regeneratePostersHandlers from './regenerate-posters.js';
|
|
|
10
10
|
import * as transcodeVideosHandlers from './transcode-videos.js';
|
|
11
11
|
import * as uploadLimitHandlers from './upload-limit.js';
|
|
12
12
|
import * as systemInfoHandlers from './system-info.js';
|
|
13
|
+
import * as maintenanceStatusHandlers from './maintenance-status.js';
|
|
13
14
|
import { requireAuth } from '../remote/middleware/auth.js';
|
|
14
15
|
import { getCMS } from '../../core/cms.js';
|
|
15
16
|
import { lookup } from 'mrmime';
|
|
@@ -26,6 +27,7 @@ export function createAdminApiHandler(options) {
|
|
|
26
27
|
'transcode-videos': transcodeVideosHandlers,
|
|
27
28
|
'upload-limit': uploadLimitHandlers,
|
|
28
29
|
'system-info': systemInfoHandlers,
|
|
30
|
+
'maintenance-status': maintenanceStatusHandlers,
|
|
29
31
|
...options?.extraRoutes
|
|
30
32
|
};
|
|
31
33
|
const privateMediaGet = async (event) => {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { requireRole } from '../remote/middleware/auth.js';
|
|
2
|
+
import { getMaintenanceStatus } from '../../core/server/media/operations/backgroundMaintenance.js';
|
|
3
|
+
import { json } from '@sveltejs/kit';
|
|
4
|
+
export const GET = async () => {
|
|
5
|
+
requireRole('admin');
|
|
6
|
+
return json(getMaintenanceStatus());
|
|
7
|
+
};
|