Commit Graph

236 Commits

Author SHA1 Message Date
Álvaro Velad Galván 6562859506 feat(UI): Add modern CSS theme support using CSS custom properties (#10152)
The build system is updated to generate two CSS outputs:

A legacy stylesheet (.css) where CSS custom properties are flattened
using postcss-custom-properties for compatibility with older browsers. A
modern stylesheet (.modern.css) that preserves CSS custom properties for
modern browsers.

Both outputs are generated from the same LESS source and processed
through Autoprefixer and cssnano, ensuring consistent styling while
supporting different browser capabilities. This enables a gradual
migration path between legacy and modern UI styling without breaking
existing consumers.

Close https://github.com/shaka-project/shaka-player/issues/10145
2026-06-01 09:38:58 +02:00
Álvaro Velad Galván 52e7da0be9 build(UI): Migrate CSS pipeline to PostCSS for prefixing and optimization (#10146)
- Add postcss-cli, autoprefixer, and cssnano to the build pipeline.
- Remove legacy '--clean-css' minification from the lessc step.
- Configure BROWSERSLIST env var for Chrome 38, Safari 8 and Firefox 42.
- Clean up redundant vendor prefixes (-webkit-, -moz-, etc.) from LESS
files.

Related to https://github.com/shaka-project/shaka-player/issues/10145
2026-05-28 21:27:26 +02:00
Shaka Bot 2072a97f0d chore(main): release 5.1.0 (#9682) 2026-04-15 16:30:28 +02:00
Wojciech Tyczyński e2cf6a1724 chore: Replace PublicPromise with Promise.withResolvers (#9925)
Stop using `shaka.util.PublicPromise` and replace it with modern
`Promise.withResolvers()` API, that is [widely implemented
already](https://caniuse.com/wf-promise-withresolvers).

Polyfill is already included by Closure Compiler:
https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/js/es6/promise/withResolvers.js

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2026-04-07 16:11:29 +02:00
Álvaro Velad Galván 34ac97d951 build(deps): Update google-closure-compiler-java (#9760) 2026-02-25 16:35:22 +01:00
Álvaro Velad Galván a918492b9f build(deps): Update google-closure-compiler-java (#9754) 2026-02-24 11:08:30 +01:00
Shaka Bot 12aeb5b35a chore(main): release 5.0.0 (#9028) 2026-02-06 13:05:17 +01:00
Álvaro Velad Galván 12b9a9ff60 feat!: Remove codem-isoboxer dependency (#9608)
This was only used in MSS, and support for it has been discontinued.
2026-01-27 06:52:45 +01:00
Álvaro Velad Galván 1c696e40ac build: Replace esprima by @babel/parser (#9493)
Close https://github.com/shaka-project/shaka-player/issues/8056
2025-12-11 14:59:58 +01:00
Martin Stark 719a3f8ad0 build: Configure types path in package.json (#9374)
This allows typescript to pick up the types in dist. See [publishing
typescript](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html).

Avoids requiring typescript global declaration workarounds described
[here](https://stackoverflow.com/questions/74672369/how-to-import-shaka-player-with-typescript)
and
[here](https://dev.to/vanyaxk/shaka-player-for-media-playback-implementation-use-cases-pros-and-cons-3b87)
2025-11-11 11:57:09 +01:00
Álvaro Velad Galván 8baedf20bb chore: Update google-closure-compiler-java (#9312) 2025-10-30 10:58:49 +01:00
Wojciech Tyczyński b2f6b88fe3 ci: Use python3 explicitly (#9288)
As python v3 is now necessary in our build pipeline, use python3
explicitly in CI and tutorials, as not all OSes symlink `python` to
`python3`.
2025-10-27 13:34:51 +01:00
Shaka Bot 7bd1d5daf3 chore(main): release 4.16.0 (#8685) 2025-08-26 14:40:11 +02:00
Álvaro Velad Galván 84f9f2bfd5 chore: Update lcevc_dec.js to 1.3.0 (#9003)
Changelog:
https://github.com/v-novaltd/LCEVCdecJS/commit/50e4f35c7d82b1b1a9cca434ccca544622f38e11
2025-08-21 08:52:34 +02:00
Joey Parrish 2c8ecb7423 chore: Update Closure Library to latest + patches (#8931)
Two patches:
 - Fix warning in base.js triggered by the latest compiler update
- Revert default setting of ENABLE_DEBUG_LOADER to previous value to fix
uncompiled mode
2025-07-29 13:30:07 -07:00
Joey Parrish ddda658d39 chore: Update to the latest Closure Compiler (#8925)
- Bump to Java 21 to support the new compiler.
 - Removes externs now included in the compiler.
 - Removes compiler flag no longer supported.
- Adds onkeystatuseschange to MediaKeySession polyfills (now in compiler
externs).
- This new compiler now triggers a warning in the Closure Library, which
will get fixed in a follow-up to update the library.
2025-07-29 10:36:40 -07:00
Joey Parrish 68134340f3 test: Fix msedgedriver install (#8881)
Update msedgedriver CDN URL, which recently changed
2025-07-16 12:47:09 -07:00
Álvaro Velad Galván 83604c3037 chore: Move eme-encryption-scheme-polyfill to the Shaka Player repo (#8818)
We want to apply several optimizations to MCap and Shaka management,
which makes everything easier if the code is in this repo.
2025-07-01 13:24:28 +02:00
Joey Parrish 4623009f5d chore: Update jsdoc to tolerate trailing commas (#8819)
jsdoc doesn't tolerate trailing commas in record types. This is
frustrating because:

- It creates larger diffs to skip trailing commas when you add new fields
- It requires a style in typedefs that is the opposite of the style rules in actual code

This updates our jsdoc fork
(https://github.com/joeyparrish/jsdoc/commit/a1e61a4e53564ddf173767a33f6c57c681fde79a)
and its parser dependency "catharsis"
(https://github.com/joeyparrish/catharsis/commit/afcfb1c1dbbc582e2f129b5f1edeb6bd34c324d7)
to tolerate trailing commas when parsing record types.

Closes #1236
2025-06-30 12:43:14 -07:00
Shaka Bot 13abbab7dc chore(main): release 4.15.0 (#8260) 2025-06-03 16:00:19 +02:00
Álvaro Velad Galván e3a438baa0 fix: Fixes eme-encryption-scheme-polyfill, null encryptionScheme is valid (#8599)
Fixes #8596
2025-05-12 20:42:22 +02:00
Álvaro Velad Galván e54d2dc5ad fix: Update eme-encryption-scheme-polyfill (#8546)
Fixes https://github.com/shaka-project/shaka-player/issues/8538
2025-05-05 17:50:34 +02:00
v-nova-romas 0692ec1d5c test: Add LCEVC SEI tests (#8209)
This PR adds LCEVC SEI tests to Shaka Player. It plays an LCEVC SEI
content for 6 seconds and checks LCEVCdec public APIs to verify that
LCEVC is enabled and LCEVC data was found in SEI.
2025-04-09 11:50:20 +02:00
Wojciech Tyczyński 51ff82f204 build: Migrate to stylistic eslint plugin (#8298)
Fixes #8278
Migrates deprecated rules from `eslint-config-google` and our rules as
well to stylistic.
Additionally removes broken `eslint-disable` python check and replaces
with eslint `reportUnusedDisableDirectives` option.
2025-03-19 16:18:30 +01:00
Álvaro Velad Galván 8d6ae344f8 ci: Fix Firefox macOS hang (#8263)
To fix this, update to a newer version of karma-local-wd-launcher which
fixes it.
2025-03-13 12:16:33 +01:00
Shaka Bot 0361cee2e5 chore(main): release 4.14.0 (#7962) 2025-03-12 15:00:57 +01:00
Álvaro Velad Galván bfc4c49ba0 chore: Update karma-local-wd-launcher (#8171) 2025-02-26 14:31:12 +01:00
Wojciech Tyczyński 828079db52 chore: Improve karma launcher error resiliency (#8127) 2025-02-20 11:20:38 +01:00
Álvaro Velad Galván c42169e6e2 docs: Update maintainers list on package.json (#8079) 2025-02-13 19:06:08 +01:00
Álvaro Velad Galván 046e4aabc0 chore: Update LCEVC decoder to latest version 1.2.0 (#8047) 2025-02-10 13:31:17 +01:00
Álvaro Velad Galván 45c37d37c9 chore: Update eme-encryption-scheme-polyfill to v2.2.1 (#7975) 2025-01-29 13:30:50 +01:00
Shaka Bot 34395b912c chore(main): release 4.13.0 (#7597) 2025-01-23 13:50:18 +01:00
Wojciech Tyczyński 82f7eafdc5 build: Add new JSDoc rules to ESLint (#7897)
Adds a replacement for removed JSDoc checks from ESLint v9.
Additionally fixes lots of issues found in the JSDoc, such as:
- missing `@param`/`@return` annotations
- bad formatting
- params order
- param name in the same line as type definition (tried to disable it,
but it was causing other issues and we didn't have lots of places with
such formatting)

Minor fixes in code found by Closure Compiler after fixing JSDoc are
also included.
2025-01-17 09:28:19 +01:00
Wojciech Tyczyński 510962fc38 build: Upgrade ESLint to v9 and migrate config (#7887)
Migrates old config file to new flat config recommended by ESLint now.
Removes jsdoc rules, as they are not available anymore in ESLint.
Instead, if we want to have them, we should use `eslint-jsdoc-plugin`.
2025-01-16 10:58:03 +01:00
Álvaro Velad Galván 56922abdc2 chore: Add build script in package.json (#7885) 2025-01-13 20:27:39 +01:00
vlazh 7ef0f924c3 feat: Add support for WisePlay DRM (#7854)
Some info:
https://drmnow.pro/wiseplay/

https://developer.huawei.com/consumer/en/doc/Media-Guides/client-dev-0000001050040000

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-01-09 16:18:23 +01:00
Wojciech Tyczyński 51765e9693 build: Change spellchecking tool and fix spelling mistakes (#7765)
Fixes #7693
2024-12-20 12:27:05 +01:00
Joey Parrish 0313375837 ci: Update nodejs to a maintained version (#7784) 2024-12-19 22:10:35 -08:00
Álvaro Velad Galván 137f2562f0 fix: Fix CBCS support in recent WebOS (#7647)
Fixes https://github.com/shaka-project/shaka-player/issues/7477
2024-11-22 09:35:53 +01:00
Joey Parrish f9647083ad fix: Fix cast support for HLG HDR (#7632)
Also document what is recognized, how, and why those strings are used.
2024-11-19 15:13:11 -08:00
Shaka Bot c0d473fae3 chore(main): release 4.12.0 (#7257) 2024-11-13 10:51:57 +01:00
Shaka Bot 3dcff750e5 chore(main): release 4.11.0 (#6950) 2024-09-04 10:35:54 +02:00
Joey Parrish c97e689043 chore: Update AbortSignal polyfill for new compiler (#7176)
This upgrades the compiler and reworks the AbortSignal polyfill to match
the new compiler externs for that class. This is important to make Shaka
Player compatible with the latest compilers in use inside Google.

Note that the Closure compiler is deprecated, so this should be our
final upgrade. We will some day move to TypeScript.

This does _not_ update the Closure library, because the latest version
causes failures we don't understand in the loading mechanism in
test/test/boot.js.
2024-08-20 11:19:46 -07:00
dependabot[bot] 780a3d856e build(deps): bump phin and jimp (#7126) 2024-08-01 10:43:11 -07:00
Joey Parrish 39a566d0a5 chore: Upgrade/unfork less-plugin-clean-css (#7125)
This was forked in 2022 to fix a vulnerability, and the fix was only
just merged.
2024-08-01 10:38:31 -07:00
Shaka Bot 4c167e9093 chore(main): release 4.10.0 (#6724) 2024-07-01 12:24:12 +02:00
Shaka Bot 30ac8c0025 chore(main): release 4.9.0 (#6498) 2024-05-30 13:57:46 +02:00
Joey Parrish bbf54d27de test: Fix encryption scheme checks in tests (#6619)
- Upgrade the encryption scheme polyfill to a version that is resilient
against multiple copies (one in compiled shaka library, one in source
form).

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-05-21 12:32:22 +02:00
Joey Parrish 3c2fd55b8f test: Upgrade Karma to fork with additional fixes (#6639)
The only fix right now is a minor one:

  https://github.com/joeyparrish/karma/commit/d98765e43fe801b35452fdb6cab3d1d0bac519a2

With the message:

> fix: Fix message event exception
>
> Message events may not have an origin, and they may not have an
> originalEvent field.  This happens in particular when loading Karma
> and the Chromecast SDK on a Chromecast.  An event arrives from the
> platform with neither of these properties.
>
> This fixes the error by checking for originalEvent before accessing
> a property of it.

To see a diff of all current fixes at any time, see:

  https://github.com/karma-runner/karma/compare/master...joeyparrish:karma:shaka-fixes
2024-05-18 01:27:37 -07:00
Joey Parrish 7fc6ad227b test: Upgrade Karma to latest (#6636)
Karma is no longer being bug-fixed or maintained. This upgrades to the
latest version as a prelude to moving to a fork with additional
bugfixes.
2024-05-17 22:25:12 -07:00