Skip to content

feat(premiere): add installable media search for CEP and UXP - #131

Merged
tulayha merged 8 commits into
mainfrom
feat/premiere-uxp-extension
Aug 29, 2026
Merged

feat(premiere): add installable media search for CEP and UXP#131
tulayha merged 8 commits into
mainfrom
feat/premiere-uxp-extension

Conversation

@tulayha

@tulayha tulayha commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Related issue

None.

Summary

  • Add a shared React 19 and TypeScript Premiere panel for browsing the active project media library, selecting clips or bins, submitting file-backed media for durable VidXP indexing, reporting batch progress/completion, and searching ranked moments.
  • Support both Adobe host generations with non-overlapping packages: signed CEP 11 .zxp for Premiere Pro 23.0–25.5 and UXP .ccx for Premiere Pro 25.6 or newer. The shared workflow, VidXP client, and media-selection rules are reused; only the Premiere adapters, transport, bootstrap, and host controls differ.
  • Add a CEP ExtendScript bridge for project traversal, Project panel selection, online/offline state, and source paths. CEP loopback requests use its native Node transport rather than weakening VidXP's browser CORS boundary.
  • Keep React 19. UXP uses Premiere's built-in Spectrum widgets through the typed wrapper; CEP uses native host-compatible controls through the same wrapper.
  • Fully adopt Bolt UXP's applicable React scaffold: Vite HTML entry, @vitejs/plugin-react, generated manifest, compatibility polyfills, hot reload, CCX packaging and install/remove actions, UDT/VS Code attachment, and Premiere host-theme variables. Keep only the VidXP application, typed Premiere adapter, and separate CEP build/signing path that Bolt does not provide.
  • Add VidXP Desktop detection, install/reinstall, removal, fallback Creative Cloud confirmation, installed status, and automatic local integration-service startup. Release installers bundle both prebuilt extension packages, so end users do not clone the repository, install Node.js, enable developer mode, or build anything.
  • Extend the Desktop release workflow to build, sign, timestamp, preserve, and embed the Premiere packages before producing platform installers.
  • Add loopback-only local-media ingestion HTTP operations backed by the existing durable upload workflow, including per-session status polling and shared capability validation.
  • Discover capability names and indexing/search roles from VidXP. Desktop guided setup now exposes and installs the merged sound capability, while the Premiere panel remains free of capability-specific bindings or hardcoded feature lists.
  • Generate Desktop setup metadata from the canonical capability registry, including product labels, descriptions, package extras, and exact model download sizes. The installer now calculates its storage plan from the selected features (including the 936.3 MiB sound models) instead of maintaining a stale hardcoded table.
  • Make Premiere a first-class Desktop setup choice: selecting it automatically includes local processing and the private app service, installs the matching Adobe package, starts the connection, and reports success or required Creative Cloud confirmation.
  • Harden Windows FFmpeg setup with noninteractive WinGet execution, direct package discovery when aliases or PATH refresh fail, a bounded timeout, and an in-app cancel action that preserves the active installation and setup draft.
  • Document the normal Desktop installation flow, Premiere 23.2 and 25.6+ menu locations, dual-install behavior, Windows FFmpeg recovery, architecture, packaging, and manual host release gates.

Windows is the first release-validation target. The CEP package targets Premiere Pro 23.2, but the clean-machine Adobe/Premiere checklist is still required before promoting the preview to a host-validated support claim. Premiere UXP blocks plain loopback HTTP on macOS, so 25.6+ macOS use remains unsupported until a trusted local HTTPS transport is implemented.

Validation

  • npm run check from premiere/ — TypeScript, ESLint, 11 Vitest tests (including Bolt configuration and Premiere host-theme coverage), and both CEP/UXP production builds passed.
  • npm run package from premiere/ — Bolt UXP generated the UXP .ccx and the separate pipeline generated the CEP .zxp; the CCX root contents and production manifest were inspected.
  • ZXPSignCmd -verify packages/vidxp-premiere-cep.zxp -certinfo — signature and timestamp verified successfully.
  • npm audit from premiere/ — no vulnerabilities found.
  • npm run check from desktop/ — TypeScript, ESLint, 46 Vitest tests, and the production frontend build passed.
  • npm --prefix desktop run model-catalog:check — the generated capability and model-cache catalogs match the canonical Python contracts.
  • cargo fmt --manifest-path Cargo.toml -- --check from desktop/src-tauri/ — passed.
  • cargo test --manifest-path desktop/src-tauri/Cargo.toml — 86 Rust tests passed, including Windows WinGet discovery, noninteractive installation, and managed-setup cancellation coverage.
  • cargo clippy --manifest-path desktop/src-tauri/Cargo.toml --all-targets -- -D warnings — passed.
  • uv run --no-sync ruff check . — passed.
  • uv run --no-sync python -m pytest -q — 722 passed, 5 skipped, and 104 subtests passed.
  • npx --yes markdownlint-cli2@0.23.2 — passed.
  • git diff --check — passed.
  • Not run: Lychee link validation because Lychee is not installed and the local Docker Desktop daemon is unavailable.
  • Not run: the clean-machine Premiere/Creative Cloud checklist, including install/remove on Premiere 23.2 and 25.6+, React 19 host behavior, real project media paths, and real VidXP model inference.

@tulayha
tulayha force-pushed the feat/premiere-uxp-extension branch from 518c82c to 0121d64 Compare August 28, 2026 09:56
@tulayha tulayha changed the title feat(premiere): add project media indexing and search feat(premiere): add installable media search for CEP and UXP Aug 28, 2026
@tulayha
tulayha merged commit ae2babd into main Aug 29, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant