Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions app/scripts/after-pack.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ export default async function afterPack(context) {
}

/**
* Sign the CDM through castLabs EVS, when this platform needs it and an account is present. A failure here is fatal:
* a build that claims Widevine but ships an unverifiable CDM is worse than a build that stops.
* Sign the CDM through castLabs EVS, when this platform needs it and an account is present. A refusal from EVS does not
* stop the build: the app ships with an unverifiable CDM, as it does without an account, so DRM services decline to
* play while everything else works. The log says so, and the docs do not promise paid streaming until it is signed.
* @param {import("electron-builder").AfterPackContext} context
*/
function vmpSign(context) {
Expand All @@ -36,8 +37,12 @@ function vmpSign(context) {
return;
}
const { command, args } = vmpCommand(electronPlatformName, appOutDir);
execFileSync(command, args, { stdio: "inherit" });
console.log(`VMP signed ${appOutDir} with the EVS account ${plan.account}`);
try {
execFileSync(command, args, { stdio: "inherit" });
console.log(`VMP signed ${appOutDir} with the EVS account ${plan.account}`);
} catch (error) {
console.log(`::warning::VMP signing refused for the EVS account ${plan.account}; this build ships an unsigned CDM (${error.message})`);
}
}

/** Where the packaged executable sits for each platform. */
Expand Down
2 changes: 1 addition & 1 deletion docs/STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ O alpha destina-se somente ao Windows 10/11, x64 e arm64. macOS, Linux, Steam De

- CI Windows (`electron (windows-latest)`) verde no commit da release: typecheck, unitários, teste do script de versão, e2e com o Electron real e o smoke test do instalador, que instala o `.exe` e confirma que o app abre.
- Motor castLabs ECS `v44.9.3+wvcus`, que corrige o alerta de certificados eMudhra (Electron < 44.9.1).
- CDM assinada pela conta EVS no build da release (o log do job `build` registra a assinatura VMP).
- **CDM sem assinatura VMP:** a conta EVS autentica, mas a castLabs recusou a assinatura `streaming` ("Binary signature denied"). A alpha sai com a CDM sem assinatura, então Netflix, Prime e outros serviços com Widevine não tocam. O build registra a recusa como aviso e segue; quando a conta for liberada, a próxima release sai assinada sem mudar código.

## O que ainda fecha o alpha

Expand Down
Loading