feat: v2.2.3 plugin + duration fix

- Add v2.2.3 to downloads (streaming write fix for large imports)
- Fix duration bug: worker now overwrites with ffprobe result instead of preserving capture wall-clock estimate

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Zac 2026-06-01 00:56:35 +00:00
parent 984a73e8ec
commit ef329399f1
3 changed files with 10 additions and 2 deletions

View file

@ -28,12 +28,19 @@ window.ZAMPP_API_PREFIX = API; // single source of truth (#115)
// The panel is now a UXP plugin (.ccx), replacing the legacy CEP/ZXP panel.
// Each entry carries a `ccx` URL; the older `zxp`/`installer` fields are gone.
window.PREMIERE_RELEASES = [
{
version: '2.2.3',
ccx: '/downloads/dragonflight-mam-2.2.3.ccx',
installer: null,
notes: 'Fix: streaming write for large imports (no more truncated files). UXP plugin: one-click Export Timeline, library + conform + auto-relink, growing-file mount.',
latest: true,
},
{
version: '2.2.2',
ccx: '/downloads/dragonflight-mam-2.2.2.ccx',
installer: null,
notes: 'UXP plugin: one-click Export Timeline, library + conform + auto-relink, growing-file mount, runtime version chip. Replaces the legacy CEP/ZXP panel.',
latest: true,
latest: false,
},
];
window.PREMIERE_LATEST = window.PREMIERE_RELEASES.find(r => r.latest) || window.PREMIERE_RELEASES[0];

View file

@ -200,6 +200,7 @@ export const proxyWorker = async (job) => {
// Update asset record — store extracted metadata + proxy key
// Use COALESCE so we never overwrite fields the capture service already set
// EXCEPT duration_ms: always trust ffprobe over capture's wall-clock estimate
await job.updateProgress(90);
await query(
`UPDATE assets
@ -207,7 +208,7 @@ export const proxyWorker = async (job) => {
fps = COALESCE($2, fps),
codec = COALESCE($3, codec),
resolution = COALESCE($4, resolution),
duration_ms = COALESCE($5, duration_ms),
duration_ms = $5,
file_size = COALESCE($6, file_size),
audio_metadata = COALESCE($8, audio_metadata),
updated_at = NOW()