1
0
mirror of https://github.com/videojs/video.js.git synced 2025-10-31 00:08:01 +02:00

4186 Commits

Author SHA1 Message Date
Steve Heffernan
20f8d76cd2 docs: Clarify copyright and project stewardship (#9104) 2025-10-06 19:13:58 -03:00
Sarah Rimron-Soutter
8e4ec97eb9 8.23.4 v8.23.4 2025-08-01 13:23:08 +01:00
Essk
c3e4f6b2c7 chore(package): update VHS to v3.17.2 (#9079) 2025-08-01 12:19:26 +01:00
Damandeep Singh
31f8d7ca10 fix: Component.js string arg type for for removeChild (#9070) 2025-07-12 16:13:37 -03:00
Steve Heffernan
09eb715045 docs: Update README.md w/ v10 news link (#9037) 2025-04-28 18:29:19 -03:00
Sarah Rimron-Soutter
9537534a02 8.23.3 v8.23.3 2025-04-16 17:09:25 +01:00
Essk
1a09554cca fix: update release workflow discussion permission (#9031) 2025-04-16 17:05:46 +01:00
Sarah Rimron-Soutter
ac523ed3aa 8.23.2 v8.23.2 2025-04-16 10:23:39 +01:00
Essk
e0b252108a fix: update release workfow permissions (#9027) 2025-04-15 17:55:13 +01:00
Sarah Rimron-Soutter
5e045afced 8.23.1 v8.23.1 2025-04-15 16:55:10 +01:00
Tsachi Shlidor
8e1889ce82 fix: update text-track-cue styles on useractive (#9023) 2025-04-15 11:02:07 +01:00
Ashim Gautam Upadhaya
f2d34ee966 Fix broken link in changelog for version 8.19.0 (#8986) 2025-04-15 10:55:14 +01:00
Frans de Jonge
76aadfe71a fix: only change focus from BPB if not tap or mouse click (#9015) 2025-04-15 10:54:27 +01:00
Adam Waldron
751ac56a05 fix: controlText for text track modal (#8989) 2025-04-10 10:40:32 +01:00
Sarah Rimron-Soutter
c7298d40a4 8.23.0 v8.23.0 2025-03-11 12:57:04 +00:00
Borut Zizmond
77c99d2829 feat: Improve SmartTV scrubbing behavior (#8988) 2025-03-11 13:28:44 +01:00
Damandeep Singh
5b9795d061 fix: Improve getFileExtension() readability and handle leading dot extensions. (#8980) 2025-03-06 15:56:03 -05:00
Walter Seymour
1c282a3d6d feat: toJSON methods for text track serialization (#8998) 2025-03-05 14:42:38 -06:00
André M.
8842d376ed refactor(types): track and track list types generation (#8978)
## Description

This PR resolves #8486 by building upon the work that was done to
address
comment https://github.com/videojs/video.js/pull/8486/files#r1635782771.

---------

Co-authored-by: Jason Olson <jolson88@outlook.com>
2025-02-14 09:41:35 +01:00
Alex Barstow
fc049a30b2 8.22.0 v8.22.0 2025-02-05 13:32:22 -05:00
Alex Barstow
88aa1e79d0 feat(package): Update to @videojs/http-streaming v3.17.0 (#8976) 2025-02-05 12:47:19 -05:00
mister-ben
55bb0fd33c chore: Update sass and change colour syntax (#8894)
## Description
Projects using newer versions of sass which have deprecated `lighten()`
will get deprecation warnings.

This updates sass, and switches to `color.adjust()`. This function is
available since dart sass 1.23.0.

Note this would increase the output CSS size, as it will output
different colour syntax, .e.g.

```
<   background-image: linear-gradient(-180deg, #fff 88%, rgb(114.9141509434, 132.7028301887, 159.3858490566) 100%);
---
>   background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);
```

Closes #8876

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2025-02-05 09:25:28 -08:00
Christian Ebert
4661aa770c fix: hide mouse tooltip on touch devices when not scrubbing (#8945)
Problem: the vjs-user-inactive class triggering the hiding of the
tooltip is added much later on touch devices, therefore the mouse
tooltip stays visible on its last seek target position whenever the user
taps the screen to access the controls.

This change ensures that the mouse tooltip is only visible when the user
is actually scrubbing.
2025-02-05 09:24:28 -08:00
Jakub Pavlik
c1a8cbfb18 chore: Enable supply chain security through npm provenance attestation (#8911)
## Description

- Configure GitHub Actions workflow for secure publishing
- Enable automatic provenance generation during npm publish
- Add integrity verification through Sigstore transparency logs

Following the recent Lottie-Player supply chain attack, it's crucial to
enhance package security. NPM provenance provides cryptographic proof
that this package was built from this repository using GitHub Actions,
making supply chain attacks significantly harder. More info in my blog
post
https://medium.com/exaforce/npm-provenance-the-missing-security-layer-in-popular-javascript-libraries-b50107927008

## Specific Changes proposed
Changes the workflow github to publish provenance attestation on
https://www.npmjs.com/package/video.js

## Requirements Checklist
- [x] Feature implemented in CI/CD
- [ ] If necessary, more likely in a feature request than a bug fix
- [ ] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [x] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [ x Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2025-02-05 09:23:17 -08:00
mister-ben
f2311c8dd1 feat: Make seek bar keyboard skip increment configurable (#8919)
## Description
Pressing the arrow and page keys seeks, currently by a set interval.
This change makes this configurable.

## Specific Changes proposed
Adds options that can be included in player options which set the
increments to used.
```
{
  controlBar: {
    progressControl: {
      seekBar: {
        stepSeconds: 2,
        pageMultiplier: 4
      }
    }
  }
}
```
Defaults remain as 5 seconds for left/right and 12x multiplier for page
up/down.

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [x] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2025-02-05 09:18:14 -08:00
Victor Didenko
f8e9bfcd98 fix: registering new player component (#8932)
Do not allow to register new Player component, if any instance of the
current component still exists.

Fixes #8925

Co-authored-by: mister-ben <1676039+mister-ben@users.noreply.github.com>
2025-01-15 09:43:48 +01:00
hswaminathan
19ca3f2ebe 8.21.1 v8.21.1 2024-12-05 16:48:07 -05:00
Mejans
a0ca1681f8 chore: update Occitan locale file (#8927)
## Description

Update for the translation

Co-authored-by: Harisha Rajam Swaminathan <35213866+harisha-swaminathan@users.noreply.github.com>
2024-12-05 16:46:50 -05:00
SImonAllen
b6cec4f6b5 chore(lang): update zh-TW translations (#8929)
## Description
- Add "Playing in Picture-in-Picture" translations to zh-TW.json
- Deduplicate object keys in zh-TW.json
- Update translations-needed.md
- Auto-generated - The np.json section removed from
translations-needed.md was a duplicate.

## Specific Changes proposed
- Add missing translation for "Playing in Picture-in-Picture" to zh-TW
locale.
- Remove duplicate keys 'Picture-in-Picture' and 'Exit
Picture-in-Picture' from zh-TW.json to eliminate redundancy.

## Requirements Checklist
- [ ] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [x] Docs/guides updated
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [ ] Reviewed by Two Core Contributors

---------

Co-authored-by: Harisha Rajam Swaminathan <35213866+harisha-swaminathan@users.noreply.github.com>
2024-12-05 16:34:04 -05:00
hswaminathan
ca6f823545 8.21.0 v8.21.0 2024-12-05 14:36:40 -05:00
Harisha Rajam Swaminathan
a7ba9f2fc5 chore: update VHS version (#8933) 2024-12-05 14:29:33 -05:00
Dzianis Dashkevich
f87a699f2d fix: update vhs version (#8930)
bump vhs version (3.16.1)

Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2024-12-02 15:11:13 -05:00
Alex Barstow
57d6ab65ea feat: Add option to disable seeking while scrubbing on mobile (#8903)
## Description
On desktop, a user can hover over the progress bar while content plays,
which makes it possible to seek to a relatively precise location without
disrupting playback. On mobile there is no hovering, so in order to seek
during inline playback the user can only tap a location on the progress
bar (very hard to do precisely on a small screen) or scrub to try to
hone in on a specific location (can be very clunky because seeks are
constantly being executed). This PR adds a feature to treat scrubbing on
mobile more like hovering on desktop-- while scrubbing, seeks are
disabled and playback continues, only when the user finishes scrubbing
is a single seek executed to the desired location.

One key use-case for this feature is thumbnail seeking integrations on
mobile, where the user can scrub through different thumbnail images
until they find their desired seek location.

## Specific Changes proposed
This behavior is similar to the existing `enableSmoothSeeking` behavior
in that the `PlayProgressBar` slider visibly updates with the scrubbing
movements, but differs in a few ways:
- Playback continues while scrubbing, no seeks are executed until
`touchend`.
- The seek bar's `TimeTooltip` component displays the target seek time
while scrubbing, rather than the `CurrentTimeDisplay` (which continues
to show the current time of the playing content).
2024-11-25 16:59:10 -05:00
Alex Barstow
62f38446a5 8.20.0 v8.20.0 2024-11-19 14:39:40 -05:00
Alex Barstow
7420467fb8 chore(package): Update @videojs/http-streaming to 3.16.0 (#8921)
## Description
n/a

## Specific Changes proposed
n/a

## Requirements Checklist
- [ ] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [ ] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [ ] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [ ] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [ ] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2024-11-19 13:22:50 -05:00
mister-ben
964c40e186 chore: Correct changelog for 8.19.2 (#8918)
Generated CHANGELOG for v8.19.2 re-added some older commits. Removes
these.

Only changes from v8.19.1 are these:
https://github.com/videojs/video.js/compare/v8.19.1...v8.19.2

---------

Co-authored-by: André M. <34163393+amtins@users.noreply.github.com>
2024-11-14 14:08:26 +01:00
mister-ben
0fec1f8eb2 8.19.2 v8.19.2 2024-11-14 09:31:36 +01:00
Bruce Bailey
079cbe1506 fix: change http to https in examples (#8905)
Change examples to use https and not http.

Co-authored-by: mister-ben <1676039+mister-ben@users.noreply.github.com>
2024-11-14 09:22:00 +01:00
mister-ben
d0cf139384 fix: Fix Escape handling in menus (#8916)
Fixes that Escape being pressed isn't closing menus due to incorrect
`event.key` name.
2024-11-14 09:21:07 +01:00
André M.
ecef37c1fc fix(text-track-settings): localization not correctly applied (#8904)
Localization is not applied correctly in fieldset labels and select
options. As a result, the text track setting modal dialog is only half
translated.

- add `localize` at `label` level in `TextTrackFieldset`
- add `localize` at `option` level in `TextTrackSelect`
- add test cases
2024-10-30 09:35:04 +01:00
wseymour15
d2b9d5c974 8.19.1 v8.19.1 2024-10-10 10:07:37 -05:00
Walter Seymour
84f49054d9 chore(package): update http-streaming to v3.15.0 (#8889) 2024-10-10 10:03:12 -05:00
Walter Seymour
7c17d75be5 chore: update mpd-parser to v1.3.1 (#8888) 2024-10-09 15:26:07 -05:00
Alex Barstow
ffd70b14cf 8.19.0 v8.19.0 2024-10-09 12:22:06 -04:00
Alex Barstow
eddda97eeb feat: Add methods to add and remove <source> elements (#8886)
## Description
It is useful to have methods for appending and removing `<source>`
elements to the `<video>` element, as they are sometimes required to
enable certain playback features, for example, using [Airplay with
MSE](https://webkit.org/blog/15036/how-to-use-media-source-extensions-with-airplay).

## Specific Changes proposed
Add new methods-- `addSourceElement()` and `removeSourceElement()` to
the player and tech. The former will take a source object and create and
append a new `<source>` element to the `<video>` element, and the latter
will take a source url and remove any `<source>` element with a matching
`src`.

## Requirements Checklist
- [ ] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [ ] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [ ] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [ ] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [ ] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2024-10-09 12:16:04 -04:00
mister-ben
077077b00a fix: Don't request fullscreen from document PIP window (#8881)
## Description
Double clicking the document pip window requests fullscreen but this
fails. The gesture on the pip window can't initiate fullscreen.
Fixes #8877

## Specific Changes proposed
Change the default double click action to just exit pip. This is the
same behaviour as before without the error, as requestFullScreen() calls
exitPictureInPicture();

---------

Co-authored-by: Gary Katsevman <git@gkatsev.com>
2024-10-06 07:50:03 +02:00
Sarah Rimron-Soutter
b1dee925b2 8.18.1 2024-09-17 16:13:56 +01:00
Essk
89eb454620 chore(package): Update to VHS v3.14.2 (#8869) 2024-09-17 16:05:57 +01:00
Adam Waldron
8df5911a1f 8.18.0 v8.18.0 2024-09-10 15:28:39 -07:00
Adam Waldron
c8e546f113 fix: update VHS to v3.14.1 (#8860)
## Description
Update VHS to v3.14.1 for a VTT timing fix detailed here:
https://github.com/videojs/http-streaming/pull/1537

## Specific Changes proposed
Update the VHS package to v.3.14.1.

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [ ] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [ ] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [ ] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [ ] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors

---------

Co-authored-by: Essk <sarah@teaandbiscuits.net>
2024-09-10 14:24:20 -08:00