feat(cms): let an editor download the encoder from where they need it - #2002
Merged
johan-bell merged 1 commit intoSep 4, 2026
Merged
Conversation
The only download link sat in the "your encoder is outdated" notice — which by definition an editor only sees once they already have the app. Someone who has never installed it got "Luminary Media Convert is not running. Open it, then try again", where "Open it" is a luminary-convert:// link nothing on their machine has registered. The click did nothing, and the CMS offered no way to get it. Both unreachable notices now offer the download beside the launch link, and the Media help text names it too, so it is findable when no notice is showing. Links to releases/latest rather than a named asset: asset filenames carry the version, so a direct link would break on the next release, while the page is where a person picks the right one for their machine anyway.
johan-bell
added a commit
that referenced
this pull request
Sep 4, 2026
Two files conflicted, both because the same sentences changed for different reasons. EncodeStatus: this branch dropped "then try again" — polling makes it untrue, the notice clears itself — while the epic added the download link for editors who never installed the app (#2002). Both are right, so both survive: "Open it — this updates on its own once it is — or download it if it is not installed yet." EditContentMedia: each side added one field to the same destructure, `outdated` from the epic and `watchForEncoder` from here. Kept both. Also fixed while merging: the watcher was started only when the encoder was missing at mount, which contradicts the comment on it — polling is meant to run for as long as the section is on screen, so that quitting the encoder is noticed too, not only starting it. It now does. The test mock predates both features and gained the two members it was missing. cms: 1187 tests pass, vue-tsc clean.
johan-bell
added a commit
that referenced
this pull request
Sep 4, 2026
One file conflicted, and both hunks were the same shape: each side had removed something the other still carried. The help text — this branch drops "and audio" with the feature; the epic added the download link for editors who never installed the app (#2002). Both removals and both additions stand. The video block — #1985 moved the encode status out of EditContentVideo, so its props go; MediaAudioList goes with the audio feature, and its component file is deleted on this branch, so keeping the tag would have broken the build. cms: 1179 tests, api: 981, both type-checks clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Now that v0.0.1 exists,
releases/latestresolves — so the CMS can actually send someone to it.The gap
There was exactly one download link in the CMS, in the outdated notice. That notice only renders when the encoder is running and reporting a version below
MIN_ENCODER_VERSION— so by definition, only for someone who already has the app.An editor who has never installed it saw this instead:
"Open it" is a
luminary-convert://protocol link. On a machine that has never had the app, nothing has registered that scheme, so the click silently does nothing — and there was no other route to the installer from the CMS. The one notice most likely to reach someone without the app was the one that assumed they had it.What changes
unavailable,browser-unsupported) now offer the download beside the launch link — "…then try again — or download it if it is not installed yet."Why
releases/latestand not a direct asset linkAsset filenames carry the version (
…-0.0.1-mac-arm64.dmg), so a direct link would break on the next release and need a CMS change to follow every encoder release. The releases page is also where a person picks between Apple Silicon, Intel and Windows — a choice the browser cannot make for them, since it cannot tell Apple Silicon from Intel.Tests
Four new: the download appears in each unreachable state, and it opens in a new tab with
rel="noopener"(it leaves the CMS, and should not hand the opener over). Plus one asserting the help text carries it.cms: 865 tests pass acrosssrc/components,vue-tsc0 errors.