GithubHelp home page GithubHelp logo

starcitizenwiki / mediawiki-extensions-embedvideo Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 14.0 2.32 MB

GDPR focused EmbedVideo. Supports YouTube, Twitch, Spotify and SoundCloud

Home Page: https://www.mediawiki.org/wiki/Extension:EmbedVideo_(fork)

License: Other

PHP 92.84% JavaScript 5.57% Less 1.59%
mediawiki mediawiki-extension video youtube

mediawiki-extensions-embedvideo's People

Contributors

alexia avatar alistair3149 avatar applehat avatar avar avatar calvodepensar avatar chaud avatar drorsnir avatar f4r avatar gaon12 avatar hexmode avatar ibressler avatar kghbln avatar max20091 avatar mszabo-wikia avatar octfx avatar olivroch avatar paladox avatar pcjcos avatar robert-nix avatar sfedia avatar sophivorus avatar t-tomalak avatar townxelliot avatar translatewiki avatar tstarling avatar universal-omega avatar valeryan avatar whiteknight avatar wiki-chan-server avatar wynnchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mediawiki-extensions-embedvideo's Issues

Local files should resize properly on MW 1.39.x

Reference

Setup

Product Version
MediaWiki 1.39.3 (8f8ebd1)
PHP 8.0.29 (apache2handler)
MariaDB 10.5.17-MariaDB-log
EmbedVideo 3.2.7 (9e82305)

Issue
Screenshot 2023-06-26 at 16-10-59 File Big Buck Bunny 1080 10s 1MB mp4

This also happens when embedding on pages with [[File:Big Buck Bunny 1080 10s 1MB.mp4|800px]].

I made sure that no local custom CSS is involved.

I do not know how 1.36 to 1.38 behave. However, they are either EOL or will be EOL very soon.


In comparison On 1.35x it works perfectly for [[File:Big Buck Bunny 1080 10s 1MB.mp4|800px]]

grafik

grafik

If the width is narrow, the problem is that the video comes up on the table or template

Describe the bug
If the image is on the left, if the table or template is on the right, the browser is smaller in size or the width is short due to resolution, it will invade the area.

Screenshots
image

Technical information:

  • OS: [e.g. iOS] Windows 11 Pro
  • Browser [e.g. chrome, safari] Chrome
  • Extension Version [e.g. 22] v3.1.0
  • MediaWiki Version [e.g. 1.35.0] 1.39.1
  • Host type [e.g. shared hosting] VPS(Ubuntu Server 20.04 LTS), Apache2, PHP7.4

Additional context
Please let me know if you need any additional information.

Local videos should play once wgEmbedVideoUseEmbedStyleForLocalVideos is enabled

Issue
After setting ...

$wgEmbedVideoUseEmbedStyleForLocalVideos = true;

... I can use the description and title parameters to embed locally uploaded files. However, the video no longer plays. I get an "embedvideo-service-fauxembedservice". See the screenshot.

Syntax used:

[[File:Big Buck Bunny 360 10s 30MB 0.mp4|560px|description=This is the description|title=Big Buck Bunny]]

Error

Warning: Undefined array key "autoresize" in /../EmbedVideo/includes/Media/TransformOutput/VideoEmbedTransformOutput.php on line 

Setup

Product Version
MediaWiki 1.39.2 (0688e68)
PHP 8.0.28 (apache2handler)
MariaDB 10.5.17-MariaDB-1:10.5.17+maria~ubu2004
ICU 67.1
EmbedVideo 3.2.5 (0dbdd9a)

Screenshot
grafik

Question: compatibility policy

I would like to use the extension with MW 37. It is however not clear what versions master is compatible with, and will maintain compatibility with. The tagged releases also do not have compatibility info.

Is the latest release compatible with MW 37? For how long will master remain compatible?

Enhancement request: add compat info to the readme and change history

Syntax Error in 1.37

Describe the bug
Warning: Syntax error [Called from MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe::invokeFFProbe in /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php at line 165] in /srv/mediawiki/w/includes/debug/MWDebug.php on line 498

Technical information:

  • OS: Debian 11
  • Extension Version 76cefce
  • MediaWiki Version 1.37.0-beta

Classic parser tag arguments not interpreted correctly

Describe the bug
It seems that the arguments are not being read correctly, or in the correct order, when using the classic #ev parser tag.

To Reproduce
Steps to reproduce the behavior:

  1. Insert a classic parser tag for youtube on the page, such as {{#ev:youtube|oCghUlTLKVA||center|||rel=0&enablejsapi=1&origin=https://mywiki.example}}
  2. Save the page
  3. See error EmbedVideo was given an illegal value for the valignment parameter "rel=0&enablejsapi=1&origin=https://mywiki.example". Valid values are "top", "middle", "bottom", or "baseline".

Expected behavior
The arguments should be read in this order:

{{#ev:service|id|dimensions|alignment|description|container|urlargs|autoresize}}

Between alignment and urlargs there should be two arguments description and container. If these are not used, there should be three pipes. However the only way to get rid of this error is to remove a pipe, and put the urlargs in the place of the container argument. However this would require updating all #ev parser tags on all wiki pages.

Screenshots
Immagine 2021-10-06 022515

Technical information:

  • OS: Ubuntu 20.04
  • Browser: chrome
  • Extension Version: v3.0.4
  • MediaWiki Version: v1.36.2
  • Host type: dedicated

Additional context

Enable autoplay by default

When the user interact with the load content button, it is likely that they are intended to play the video.
By making autoplay the default option, user can avoid needing to manually click the play button after the embed is loaded, making the interaction more seamless. It is especially helpful with #30 since it will likely introduce more interaction.

Suggestions:

  • Make autoplay behavior consistent across services (e.g. Twitch autoplays by default currently)
  • Add global configuration to change the autoplay default
  • Add local override to the default in the parser tag

Local videos should resize beyond 640px when embedded

Setup

Product Version
MediaWiki 1.35.10 (5fb802c)17:42, 8 May 2023
PHP 7.4.3-4ubuntu2.18 (apache2handler)
MariaDB 10.3.38-MariaDB-0ubuntu0.20.04.1
EmbedVideo 3.2.5 (0dbdd9a) 20:25, 13 February 2023

LocalSettings.php

$wgEmbedVideoDefaultWidth = 1280;

I am unsure if this setting is even meant to be used with local files. From the docu and "extension.json", I cannot tell.

Issue
Using the [[File:MyVideo.mp4|1280px]] syntax does not work. The files are added with 640px most of the time sometimes even with 320px only.

Supporting automatic width and height like EmbedVideo 2.X did

Hello,
EmbedVideo 2.0 supported the following:
<youtube alignment="center" width="100%" height="auto">ud_refZuQoA</youtube>
(or: {{#ev:youtube|id=ud_refZuQoA|alignment=center|width=100%|height=auto}})

This automatically centered the video and sized it fittingly to maximum width of its container, keeping a height that made sense for aspect ratio - unfortunately I have not found an equivalent that works in your cool updated version, hence putting this as feature request. Using the same ways in EmbedVideo 3.0 will lead to a extremely small video that ignores it is supposed to extend to full width and adjust its height.

image

Unfortunatley I can no longer use the older EmbedVideo, as it broke with some Update, throwing a Error: invalid magic word 'evt'.

For now I have manually set width to 1200, which unfortunately leads to weird height aspect ratios when using different sized screens, as width doesn't variably adjust.

image

^ This view it did via the instructions mentioned at the start by default, adjusting perfectly on mobile or changing the screen.

Button is not clickable when DarkMode is on

Describe the bug

The 'Load video' button is not focusable when DarkMode is on.

To Reproduce
Steps to reproduce the behavior:

  1. Install EmbedVideo and DarkMode(https://www.mediawiki.org/wiki/Extension:DarkMode)
  2. Create a page with an embeded video.
  3. Turn on the dark mode
  4. Try to click the 'Load video' button.

Expected behavior
The video should be loaded.

Screenshots
Screencast from 2023-01-09 22-59-08.webm

Technical information:

  • OS: Fedora 37
  • Browser: FireFox 108.0.1
  • Extension Version: 3.1.0 (4f645dd) 20:36, 21 November 2022
  • MediaWiki Version: 1.39.1 (8c5996d) 02:20, 7 January 2023

Additional context
Setting the z-index to 1 solves this, but maybe there is a nicer solution.

Trailing whitespace in message "embedvideo-service-externalvidel

Describe the bug
Trailing whitespace is not supported in messages. 9a35f63 introduced such message.

To Reproduce

  1. Look at any translation for this message coming from translatewiki.net. They don't have a trailing space.

Expected behavior
No trailing space.

Screenshots
If applicable, add screenshots to help explain your problem.

Technical information:

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Extension Version [e.g. 22]
  • MediaWiki Version [e.g. 1.35.0]
  • Host type [e.g. shared hosting]

Additional context

Could you also include this repository in https://github.com/MWStake/nonwmf-extensions so that it's searchable in https://codesearch.wmcloud.org/?

support request - what is oembed

Is oEmbed presently supported?

Is the code within YouTubeOEmbed.php merely an example place holder, as the code suggests, or is there an option to display youtube as oEmbed?

oEmbed is a format for allowing an embedded representation of a URL on third party sites.

What is the use case for this? Can oEmbed be used to help circumvent or comply with content-security-policy (CSP)?

Within my limited ability, I will attempt to add any insight provided here to the Readme file :)

Call to undefined method FSFile::getTitle() on mp3 file

Describe the bug
Call to undefined method FSFile::getTitle() from /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(68) #0 /srv/mediawiki/w/includes/libs/objectcache/wancache/WANObjectCache.php(1700): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->MediaWiki\Extension\EmbedVideo\Media\FFProbe{closure}(boolean, integer, array, NULL, array) #1 /srv/mediawiki/w/includes/libs/objectcache/wancache/WANObjectCache.php(1532): WANObjectCache->fetchOrRegenerate(string, integer, Closure, array, array) #2 /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(80): WANObjectCache->getWithSetCallback(string, integer, Closure) #3 /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(104): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getMetaData(string) #4 /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/AudioHandler.php(316): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getStream(string) #5 /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/AudioHandler.php(273): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getFFProbeResult(FSFile) #6 /srv/mediawiki/w/includes/media/MediaHandler.php(236): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getMetadata(FSFile, string) #7 /srv/mediawiki/w/includes/utils/MWFileProps.php(88): MediaHandler->getSizeAndMetadataWithFallback(FSFile, string) #8 /srv/mediawiki/w/includes/upload/UploadBase.php(552): MWFileProps->getPropsFromPath(string, string) #9 /srv/mediawiki/w/includes/upload/UploadBase.php(485): UploadBase->verifyPartialFile() #10 /srv/mediawiki/w/includes/upload/UploadBase.php(391): UploadBase->verifyFile() #11 /srv/mediawiki/w/includes/upload/UploadFromFile.php(95): UploadBase->verifyUpload() #12 /srv/mediawiki/w/includes/api/ApiUpload.php(633): UploadFromFile->verifyUpload() #13 /srv/mediawiki/w/includes/api/ApiUpload.php(110): ApiUpload->verifyUpload() #14 /srv/mediawiki/w/includes/api/ApiMain.php(1874): ApiUpload->execute() #15 /srv/mediawiki/w/includes/api/ApiMain.php(853): ApiMain->executeAction() #16 /srv/mediawiki/w/includes/api/ApiMain.php(824): ApiMain->executeActionWithErrorHandling() #17 /srv/mediawiki/w/api.php(90): ApiMain->execute() #18 /srv/mediawiki/w/api.php(45): wfApiMain() #19 {main}Call to undefined method FSFile::getTitle()
from /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(68)
#0 /srv/mediawiki/w/includes/libs/objectcache/wancache/WANObjectCache.php(1700): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->MediaWiki\Extension\EmbedVideo\Media\FFProbe{closure}(boolean, integer, array, NULL, array)
#1 (closed) /srv/mediawiki/w/includes/libs/objectcache/wancache/WANObjectCache.php(1532): WANObjectCache->fetchOrRegenerate(string, integer, Closure, array, array)
#2 (closed) /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(80): WANObjectCache->getWithSetCallback(string, integer, Closure)
#3 (closed) /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(104): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getMetaData(string)
#4 (closed) /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/AudioHandler.php(316): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getStream(string)
#5 (closed) /srv/mediawiki/w/extensions/EmbedVideo/includes/Media/AudioHandler.php(273): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getFFProbeResult(FSFile)
#6 (closed) /srv/mediawiki/w/includes/media/MediaHandler.php(236): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getMetadata(FSFile, string)
#7 (closed) /srv/mediawiki/w/includes/utils/MWFileProps.php(88): MediaHandler->getSizeAndMetadataWithFallback(FSFile, string)
#8 (closed) /srv/mediawiki/w/includes/upload/UploadBase.php(552): MWFileProps->getPropsFromPath(string, string)
#9 (closed) /srv/mediawiki/w/includes/upload/UploadBase.php(485): UploadBase->verifyPartialFile()
#10 (closed) /srv/mediawiki/w/includes/upload/UploadBase.php(391): UploadBase->verifyFile()
#11 (closed) /srv/mediawiki/w/includes/upload/UploadFromFile.php(95): UploadBase->verifyUpload()
#12 (closed) /srv/mediawiki/w/includes/api/ApiUpload.php(633): UploadFromFile->verifyUpload()
#13 (closed) /srv/mediawiki/w/includes/api/ApiUpload.php(110): ApiUpload->verifyUpload()
#14 /srv/mediawiki/w/includes/api/ApiMain.php(1874): ApiUpload->execute()
#15 (closed) /srv/mediawiki/w/includes/api/ApiMain.php(853): ApiMain->executeAction()
#16 (closed) /srv/mediawiki/w/includes/api/ApiMain.php(824): ApiMain->executeActionWithErrorHandling()
#17 (closed) /srv/mediawiki/w/api.php(90): ApiMain->execute()
#18 (closed) /srv/mediawiki/w/api.php(45): wfApiMain()
#19 (closed) {main}
To Reproduce
Steps to reproduce the behavior:
Upload mp3 file
Expected behavior
Upload to work
Screenshots
If applicable, add screenshots to help explain your problem.

Technical information:
MediaWiki 1.37.2 PHP 7.4

Additional context

Embed Service Request: Bandcamp

Service Name: Bandcamp

URL to an example embed: https://reddit.com/r/listentothis/comments/2spog0/empty_houses_empty_houses_album_indie_pop_soul/ (Empty Houses' self-titled 2015 album, which lists "Far Away" as its only song at this writing)

Additional notes: Bandcamp, now in the hands of Songtradr, supports track/album embeds on external sites. This feature could be a boon for my own Adanson Jukebox endeavours in the long term; see this example listing which links to the Psalters' "Magnificat". Bonus points if this goes through before mid-November; surprised this venerable platform wasn't on the supported-services list to begin with. (And if Miraheze CSP has trouble with this domain, I'll remind their Phab team to look into it.) Many thanks!

Embed Service Request: Soundcloud sets

Service Name
Soundcloud sets

URL to an example embed

<iframe width="100%" height="300" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/1519036066&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true"></iframe>

Additional notes
Nice evolution of the already existing Soundcloud provider that allow to display only songs
You can get the iframe code by going to a set ( https://soundcloud.com/desert-hearts-records/sets/dh122-audiojack-straight-up-ep ) then clicking on Share button

CSS class option not working?

My wiki has local uploaded files we apply CSS classes to but have recently noticed that the classes are no longer being applied at all.

Something like this:
[[File:SAMPLEVIDEO.mp4|class=CLASSNAME]]

I'm wondering if the recent change to EmbedVideoUseEmbedStyleForLocalVideos is at all related? And is there a chance to have this class option return?

Error on uploading a .mp4 file using version 3.0.7

I get this error when uploading to Special:Upload. I was able to fix the problem by downgrading to version 3.0.6. This is my first time using this plugin and I don't know enough about the setup to be able to tell exactly what the problem is, but I thought you should know so that you could sort it out. Thanks :)


Backtrace:

from /var/www/ndamediawiki/html/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(68)
#0 /var/www/ndamediawiki/html/includes/libs/objectcache/wancache/WANObjectCache.php(1700): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->MediaWiki\Extension\EmbedVideo\Media\FFProbe\{closure}()
#1 /var/www/ndamediawiki/html/includes/libs/objectcache/wancache/WANObjectCache.php(1532): WANObjectCache->fetchOrRegenerate()
#2 /var/www/ndamediawiki/html/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(80): WANObjectCache->getWithSetCallback()
#3 /var/www/ndamediawiki/html/extensions/EmbedVideo/includes/Media/FFProbe/FFProbe.php(104): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getMetaData()
#4 /var/www/ndamediawiki/html/extensions/EmbedVideo/includes/Media/AudioHandler.php(316): MediaWiki\Extension\EmbedVideo\Media\FFProbe\FFProbe->getStream()
#5 /var/www/ndamediawiki/html/extensions/EmbedVideo/includes/Media/AudioHandler.php(273): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getFFProbeResult()
#6 /var/www/ndamediawiki/html/includes/media/MediaHandler.php(236): MediaWiki\Extension\EmbedVideo\Media\AudioHandler->getMetadata()
#7 /var/www/ndamediawiki/html/includes/utils/MWFileProps.php(88): MediaHandler->getSizeAndMetadataWithFallback()
#8 /var/www/ndamediawiki/html/includes/upload/UploadBase.php(552): MWFileProps->getPropsFromPath()
#9 /var/www/ndamediawiki/html/includes/upload/UploadBase.php(485): UploadBase->verifyPartialFile()
#10 /var/www/ndamediawiki/html/includes/upload/UploadBase.php(391): UploadBase->verifyFile()
#11 /var/www/ndamediawiki/html/includes/upload/UploadFromFile.php(95): UploadBase->verifyUpload()
#12 /var/www/ndamediawiki/html/includes/specials/SpecialUpload.php(550): UploadFromFile->verifyUpload()
#13 /var/www/ndamediawiki/html/includes/specials/SpecialUpload.php(244): SpecialUpload->processUpload()
#14 /var/www/ndamediawiki/html/includes/specialpage/SpecialPage.php(647): SpecialUpload->execute()
#15 /var/www/ndamediawiki/html/includes/specialpage/SpecialPageFactory.php(1366): SpecialPage->run()
#16 /var/www/ndamediawiki/html/includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#17 /var/www/ndamediawiki/html/includes/MediaWiki.php(930): MediaWiki->performRequest()
#18 /var/www/ndamediawiki/html/includes/MediaWiki.php(564): MediaWiki->main()
#19 /var/www/ndamediawiki/html/index.php(53): MediaWiki->run()
#20 /var/www/ndamediawiki/html/index.php(46): wfIndexMain()
#21 {main}

Bug: Url Arguments are not correctly set

Describe the bug
For the youtube service the urlargs parameter does not seem to function as intended.

To Reproduce

  1. Go to https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/blob/master/README.md
  2. See the example code {{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||start=76}}
  3. Paste that code into a mediawiki site with StarCitizenEmbedVideo correctly installed
  4. See that the argument does not influence the start time

Additional context

Neither
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||start=76}}
Nor
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||t=76s}}

changed how the embed displayed

Unrelated, thank you so much for providing this awesome extension.

ArgumentCountError: Too few arguments to function MediaWiki\Extension\EmbedVideo\EmbedVideoHooks::__construct(), 0 passed

Describe the bug

Too few arguments to function MediaWiki\Extension\EmbedVideo\EmbedVideoHooks::__construct(), 0 passed in /srv/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php on line 240 and exactly 3 expected

from /srv/mediawiki/w/extensions/EmbedVideo/includes/EmbedVideoHooks.php(43)
#0 /srv/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(240): MediaWiki\Extension\EmbedVideo\EmbedVideoHooks->__construct()
#1 /srv/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec(array, array)
#2 /srv/mediawiki/w/includes/HookContainer/HookContainer.php(505): Wikimedia\ObjectFactory\ObjectFactory->createObject(array)
#3 /srv/mediawiki/w/includes/HookContainer/HookContainer.php(156): MediaWiki\HookContainer\HookContainer->getHandlers(string, array)
#4 /srv/mediawiki/w/includes/HookContainer/HookRunner.php(2912): MediaWiki\HookContainer\HookContainer->run(string, array)
#5 /srv/mediawiki/w/includes/parser/Parser.php(537): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit(Parser)
#6 /srv/mediawiki/w/includes/parser/ParserFactory.php(197): Parser->__construct(MediaWiki\Config\ServiceOptions, MediaWiki\Parser\MagicWordFactory, LanguageEn, ParserFactory, MediaWiki\Utils\UrlUtils, MediaWiki\SpecialPage\SpecialPageFactory, MediaWiki\Linker\LinkRendererFactory, NamespaceInfo, Monolog\Logger, MediaWiki\Page\File\BadFileLookup, MediaWiki\Languages\LanguageConverterFactory, MediaWiki\HookContainer\HookContainer, MediaWiki\Tidy\RemexDriver, WANObjectCache, MediaWiki\User\UserOptionsManager, MediaWiki\User\UserFactory, MediaWikiTitleCodec, MediaWiki\Http\HttpRequestFactory, MediaWiki\Category\TrackingCategories, MediaWiki\Preferences\SignatureValidatorFactory, MediaWiki\User\UserNameUtils)
#7 /srv/mediawiki/w/includes/parser/ParserFactory.php(235): ParserFactory->create()
#8 /srv/mediawiki/w/includes/ServiceWiring.php(1298): ParserFactory->getMainInstance()
#9 /srv/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(445): Wikimedia\Services\ServiceContainer::{closure}(MediaWiki\MediaWikiServices)
#10 /srv/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService(string)
#11 /srv/mediawiki/w/includes/MediaWikiServices.php(318): Wikimedia\Services\ServiceContainer->getService(string)
#12 /srv/mediawiki/w/includes/MediaWikiServices.php(1504): MediaWiki\MediaWikiServices->getService(string)
#13 /srv/mediawiki/w/includes/language/MessageCache.php(1358): MediaWiki\MediaWikiServices->getParser()
#14 /srv/mediawiki/w/includes/language/MessageCache.php(1337): MessageCache->getParser()
#15 /srv/mediawiki/w/includes/language/Message.php(1455): MessageCache->transform(string, boolean, LanguageEn, MediaWiki\Title\Title)
#16 /srv/mediawiki/w/includes/language/Message.php(1010): Message->transformText(string)
#17 /srv/mediawiki/w/includes/language/Message.php(1054): Message->format(string)
#18 /srv/mediawiki/w/includes/OutputPage.php(1063): Message->text()
#19 /srv/mediawiki/w/includes/OutputPage.php(1110): OutputPage->setHTMLTitle(Message)
#20 /srv/mediawiki/w/includes/page/Article.php(492): OutputPage->setPageTitle(string)
#21 /srv/mediawiki/w/includes/actions/ViewAction.php(78): Article->view()
#22 /srv/mediawiki/w/includes/MediaWiki.php(556): ViewAction->show()
#23 /srv/mediawiki/w/includes/MediaWiki.php(333): MediaWiki->performAction(Article, MediaWiki\Title\Title)
#24 /srv/mediawiki/w/includes/MediaWiki.php(923): MediaWiki->performRequest()
#25 /srv/mediawiki/w/includes/MediaWiki.php(576): MediaWiki->main()
#26 /srv/mediawiki/w/index.php(50): MediaWiki->run()
#27 /srv/mediawiki/w/index.php(46): wfIndexMain()
#28 {main}

Expected behavior
A clear and concise description of what you expected to happen.

No exception to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Technical information:

  • OS: Debian 12
  • Browser Chrome
  • MediaWiki Version 1.40.1
  • Host type self hosted

Additional context
We run PHP 8.2.

Leaving out the URL in evu leads to a backtrace instead of an error message

Describe the bug
Not specifying a URL for evu gives a backtrace instead of a user friendly error message

To Reproduce

  1. Use the evu tag without specifying a host like this: {{#evu:|}} (in our case this happens through old pages that use templates that did not enforce required parameters)
  2. Save the page
  3. Get a long backtrace

Expected behavior
The mistake is handled graciously, and a user friendly error box is shown (EmbedVideo does this if there's no URL: https://gitlab.com/hydrawiki/extensions/EmbedVideo/-/blob/master/EmbedVideo.hooks.php?ref_type=heads#L356)

Screenshots

Backtrace given by this EmbedVideo:
grafik

Error as handled by original EmbedVideo:
grafik

Technical information:

  • Extension Version: 3.3.0
  • MediaWiki Version: 1.39.4
  • PHP Version: 8.1.23

PHP Deprecated

One of the php scripts no longer seems to be supported by the latest versions (7.4 and above ...).
This manages an error when executing a php script in ssh.

PHP Deprecated:  Premature access to service container [Called from MediaWiki\Extension\EmbedVideo\
mbedVideoHooks::onExtension in Mediawiki/extensions/EmbedVideo/incl
des/EmbedVideoHooks.php at line 69] in Mediawiki/includes/debug/MWD
bug.php on line 376

OGV files are never detected as video/ogg

Describe the bug
MimeAnalyzer never detects OGG Video files as video/ogg - related ticket at https://phabricator.wikimedia.org/T349458

Thus all .ogv video files are embedded as audio files and not video. Should probably use more than the mime type for OGG files.

To Reproduce
Steps to reproduce the behavior:

  1. Upload an OGV file
  2. Try to embed it (or just look at the preview) - it's detected as application/ogg and embeds as audio

Expected behavior
OGG video files should embed as videos

Update Examples

Detailed Description

The 7 examples are useful, and even more would be great. YouTube is the used as the service, and this is confusing because some of the examples imply functionality which YouTube does not in fact allow. For example, cover and title are not supported: https://developers.google.com/youtube/player_parameters#Parameters

Context

README.md are the example users rely on to test the ext and implement it.

As an anecdote, I have no clue how to use EV with twitch as the service, since the examples don't seem relevant to that service.

Possible Implementation

Example 6 should not be {{#ev:youtube|eAORm-8b1Eg|cover=File:LocalFile.jpg|title=Title of the Embed}} but instead a service that does allow these features.

It would be good if links to the actual output result - the video player with the video - could be provided.

And it would be ideal if examples for each service can be provided.

Would you like me to submit a PR improving the examples? I would probably change the examples section to a new file EXAMPLES.md and link to it from the README.md

Embed Service Request: Bilibili

Service Name
Bilibili

URL to an example embed
https://bilibili.com/BV1Hz4y1k7ae

Page with embedded video: https://noita.fandom.com/zh/wiki/Template:BilibiliVideo

Additional notes
Currently the only way this seems to be done is with javascript (this is how it's done in the above page), using this script: https://dev.fandom.com/wiki/MediaWiki:BilibiliVideo.js

Not sure if they have developer documentation available, I've not been able to find any at the moment. The final iframe inserted looks like this:

<iframe class="bili-show bilibili-iframe" id="bv-1Hz4y1k7ae" src="//player.bilibili.com/player.html?bvid=1Hz4y1k7ae&amp;page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="width: 90%; height: 535.946px;"></iframe>

Use local file as cover image if fetching external thumbnails is disabled

For external (e.g. YouTube) embeds, if $wgEmbedVideoRequireConsent = true and $wgEmbedVideoFetchExternalThumbnails = false, then the embed will be covered with a gray screen saying "Click to show content".

Is it possible to specify a local file to use as the cover image instead of the gray screen? If so, what is the wikitext syntax? If not, can this be added as an argument to the #ev parser function?

error 500

Describe the bug
expansion crashes the wiki. Error 500

To Reproduce
Steps to reproduce the behavior:

  1. copy EmbedVideo to extension directory
  2. add wfLoadExtension( 'EmbedVideo' ); to LocalSettings.php
  3. See error

Screenshots
https://prnt.sc/RFx3fn6b9NK_ - LocalSettings.php
https://prnt.sc/a_lpZgs4GvF0 - Browser

Technical information:

  • OS: debian
  • Browser Firefox 113.0.
  • Extension Version 2.3.6
  • MediaWiki | 1.39.3
  • PHP | 8.2.6 (apache2handler)
  • MariaDB | 10.3.38-MariaDB-0+deb10u1
  • ICU | 65.1
  • Pygments | 2.11.2

vertical alignment property (vAlignment) not functioning

Describe the bug
EmbedVideo elements will always stay aligned to the bottom of other EmbedVideo elements in the same line despite vAlignment property value, dimension property, or line breaks (if the video is small enough, and the description is long enough to line break).

The parameter vAlignment and its values (top, middle, bottom, baseline) don't effect the elements position at all. It appears that the property only adds the relevant class (e.g. class "mw-valign-baseline" for vAlignment=baseline), but the class doesn't have any styled properties.

To Reproduce
Steps to reproduce the behavior:

  1. Go to signalis.wiki.gg/wiki/Signalis
  2. In the top right of the page, click Edit to enter the source editor.
  3. Scroll down to the relevant parser functions which are underneath the headers Media, Youtube, rose-engine.
  4. Adjust the dimensions of the embed videos to be smaller or larger than each other.
  5. On the various #ev functions, change the vAlignment property to top, middle, bottom, or baseline.
  6. Click "Show Preview" to preview the changes.
  7. Unexpected behavior. EmbedVideo elements will always stay aligned to the bottom of other EmbedVideo elements in the same line despite vAlignment property value, dimensions, or line breaks (if the video is small enough, and the description is long enough to line break).

Expected behavior

  • When adding vAlignment=top to an #ev function, I expect the embedded video to align its top to match the top of other embedded videos despite their lengths. However, even with vAlignment=middle, bottom, or baseline, the position of the elements don't change.

  • When adding the vAlignment property with an argument, I expect some sort of property change when viewing the element in Developer Tools (Firefox), however, there doesn't seem to be anything linked to its class (e.g. "mw-valign-top").

Screenshots
image caption: example of vAlignment=top when line-breaks are introduced and property dimensions are different from each other.
image caption: the behavior I expect when using vAlignment=top is for the tops of the elements (green lines) to be aligned with each other.
image caption: the class ("mw-valign-top") is there (and correctly changes based on the property value), but there doesn't seem to be any styling for it.

Technical information:

  • OS: [Windows 10
  • Browser: Firefox
  • Extension Version: 3.4.1
  • MediaWiki Version: 1.39.4
  • Host type: Wikifarm (Wiki.gg)

Re-add vplayer and vlink support

Originally back in Gamepedia the VideoLink extension support was merged into one new extension known as "EmbedVideo" which kept the backwards compatibility for "vplayer" and "vlink" but introduced new tags.

More information:

However with the EmbedVideo fork, this functionality was lost and the only way to add videos to a wiki is by embedding it instead of linking it. Since Wowpedia forked over to wiki.gg (as Warcraft Wiki), we're using the EmbedVideo fork and without some similar tag here for vplayer and vlink/evl, some articles will be a bit of a bloated mess with videos.

Some examples:

Screenshots of how it looked:
image
image

Clicking a video link loads the video at the vplayer tag:
image

Context

Warcraft Wiki (formerly Wowpedia) uses this nearly everywhere on the site and would love if this functionality came back with the forked version.

It can be a benefit to just linking multiple videos on a article instead of bloating the page with embed videos, especially with a large amount of videos.

Possible Implementation

  • Reintroduce the vplayer or evlplayer tag which will display the video (and switch to new ones) as a user clicks the video links.
  • Reintroduce {{#vlink:}} or {{#evl}} for the links.

Service request: Niconico

Site: https://www.nicovideo.jp
Example non-embed URL: https://www.nicovideo.jp/watch/sm40807360
Example embed URL: https://embed.nicovideo.jp/watch/sm40807360

The IDs are always two letters followed by digits.

The original EV repo supports nicovideo.jp:

'nico' => [
            'embed'         => '<iframe title="%4$s" allowfullscreen="allowfullscreen" frameborder="0" width="%2$d" height="%3$d" src="https://embed.nicovideo.jp/watch/%1$s?oldScript=1&amp;allowProgrammaticFullScreen=1" style="max-width: 100%;"></iframe>',
            'default_width' => 640,
            'default_ratio' => 1.59609120521173, // (490 / 307)
            'https_enabled' => false,
            'url_regex'     => [
                '#nicovideo\.jp/watch/((?:[a-zA-Z]{2})?[\d]+)#is'
            ],
            'id_regex'      => [
                '#^((?:[a-zA-Z]{2})?[\d]+)$#is'
            ]
        ],

The HTML the site's own share button generates looks like this:

<script type="application/javascript" src="https://embed.nicovideo.jp/watch/VIDEOID/script?w=WIDTH&h=HEIGHT"></script><noscript><a href="https://www.nicovideo.jp/watch/VIDEOID">VIDEO TITLE</a></noscript>

And that script ends up inserting an iframe that looks like this:

<iframe allowfullscreen="allowfullscreen" allow="autoplay" src="https://embed.nicovideo.jp/watch/VIDEOID?persistence=1&oldScript=1&referer=REFERRINGURL&from=0&allowProgrammaticFullScreen=1" style="max-width: 100%;" width="WIDTH" height="HEIGHT" frameborder="0"></iframe>

I could not find documentation about embeds on their site, so I can't tell you what their parameters do.

/i18n/de.json (additional) translated strings are ignored?

Hiya,
and thank you for keeping this extension alive.

I use a Mediawiki version 1.35.6 with a German GUI Custom Skin derived from the DarkVector skin on PHP 7.4.33 and this Fork Version 3.2.1. I noticed that the de.json file in i18n/ was missing a lot of entries compared to the en.json and that some quotation marks weren't escaped correctly compared to the en.json.
So, I fixed that on my server installation for testing purposes, but it looks like the translation strings from de.json are not used anyway?

For example, if you check the embedded YouTube Video here

  • It says "Load video" on the thumbnail (should be Video laden, in en .json "embedvideo-load":)
  • if you click on "Load video" (a button) you get a mix of English and German "YouTube might collect personal data" (in en.json "embedvideo-consent-privacy-notice-text":
    "Datenschutzrichilinie" (a Link to https://www.youtube.com/howyoutubeworks/user-settings/privacy/, all good, shows up in German for me)
    then two buttons
    Fortfahren Ausblenden" (all three German strings for Datenschrutzrichtlinie, Fortfahren und Ausblenden were present in the packaged de.json file as
	"embedvideo-consent-privacy-policy": "Datenschutzrichtlinie",
	"embedvideo-consent-privacy-notice-continue": "Fortfahren",
	"embedvideo-consent-privacy-notice-dismiss": "Ausblenden",

If I change one of these translations in my live de.json it also has no effect. Hence, why I think the translations are not used from the de.json but somewhere else.

Expected behavior
Since I added at least the following two entries my de.json on the server, I would expect that strings are now display in German on my German GUI wiki:
"embedvideo-consent-privacy-notice-text": "$1 könnte persönliche Daten sammeln.", (instead of "$1 {which was parsed correctly as service YouTube] might collect personal data" where $1 is a variable.
"embedvideo-load": "Video $1 laden", (instead of "Load video")

If I delete my en.json on my live version, EN strings are still displayed. Which is odd, would have expected an error, unless there is hard coded fall back to EN?
Also, I wonder what the purpose of EmbedVideo.i18n.magic.php is? It only contains a declaration $magicWords['en'] =

Technical information:

  • Windows 10
  • Chrome
  • 3.2.1
  • MediaWiki Version 1.35.6 with a custom skin Derived from DarkVector
  • Host type: shared hosting

I would be happy to provide my extended de.json if that would be helpful for other German users and the translated strings are displayed correctly:-)

More information on consent overlay

Current issues:

  • User doesn't know what platform is the video from until the embed is loaded
  • Other than loading the video, user don't know it is a consent button

Potential solutions:

  • Display which platform it is from (e.g. plain text, logo, etc.)
  • Maybe link to the privacy policy page of that platform?
  • Tooltip message on the load button that informs about the consent part

It's just some rough ideas currently since providers treat users' data differently, with some platforms being more questionable. I can work on the visual side if needed, probably put up a wireframe later.

Deprecated php function alert

Hello,

This is not a bug report but rather a feedback on mediawiki 1.38 and 1.39 (WMF version):

642806#0: *1341817 FastCGI sent in stderr: "PHP message: PHP Deprecated: Use of ParserOutput::addModules with non-array argument was deprecated in MediaWiki 1.38. [Called from MediaWiki\Extension\EmbedVideo\EmbedVideoHooks::parseEV in [/httpdocs/extensions/EmbedVideo/includes/EmbedVideoHooks.php](https://XXX.XXX.XXX.XXX:8443/smb/file-manager/code-editor?currentDir=%2Fhttpdocs%2Fextensions%2FEmbedVideo%2Fincludes&subscriptionId=1&file=EmbedVideoHooks.php&redirect=%2Fsmb%2Flog-file%2Fbrowser%2Fid%2F1) at line 249] in [/includes/debug/MWDebug.php](https://212.227.190.175:8443/smb/file-manager/code-editor?currentDir=%2Fhttpdocs%2Fincludes%2Fdebug&subscriptionId=1&file=MWDebug.php&redirect=%2Fsmb%2Flog-file%2Fbrowser%2Fid%2F1) on line 377PHP message: PHP Deprecated: Use of ParserOutput::addModuleStyles with non-array argument was deprecated in MediaWiki 1.38. [Called from MediaWiki\Extension\EmbedVideo\EmbedVideoHooks::parseEV in [/httpdocs/extensions/EmbedVideo/includes/EmbedVideoHooks.php](https://212.227.190.175:8443/smb/file-manager/code-editor?currentDir=%2Fhttpdocs%2Fextensions%2FEmbedVideo%2Fincludes&subscriptionId=1&file=EmbedVideoHooks.php&redirect=%2Fsmb%2Flog-file%2Fbrowser%2Fid%2F1) at line 250] in [/includes/debug/MWDebug.php](https://XXX.XXX.XXX.XXX:8443/smb/file-manager/code-editor?currentDir=%2Fhttpdocs%2Fincludes%2Fdebug&subscriptionId=1&file=MWDebug.php&redirect=%2Fsmb%2Flog-file%2Fbrowser%2Fid%2F1) on line 377" while reading response header from upstream

Sincerely,

Kims

Option to not insert the iframe into HTML until the user clicks Load

I would like EmbedVideo to have the option to not preload the iframe html until the user clicks Load on that video, in order to reduce load on the browser when there are many videos on a page.

Detailed Description

It would be great if the parser function had an option to not have the iframe at all (or any HTML except the div and a load button), and when the user clicks Load, then the div is populated with all the appropriate HTML to play the video. That way, the browser doesn't have to deal with 200 iframes every time the user opens the page, which slows everything way down.

Context

This would allow for much for flexibility in the use of this extension for people who want many videos per page.

I have a page with over 200 videos, and it will probably increase even more. I also have javascript that styles those videos using the DataTables library. The javascript can not run until all of those video iframes are processed, and with so many videos, it can take up to 20 seconds, or much more on mobile, for the javascript to begin. And my computer fan goes full blast every time I load the page.

I was able to speed the page up a lot to around 2-3 seconds by adding this CSS, but it's still slow compared to an identical page with no videos:

.embedvideo iframe {display:none;}
.dataTables_scrollBody .embedvideo iframe { display: block }

Possible Implementation

Maybe the function could have a new option for this: {{#ev:service|id|delay=true}}

undefined array key "width" when using a local file

Describe the bug
When using a local video file (mp4) it looks like the extension fails to get the size and it ends up shown full size, instead of the specified one, it also reports the following warning:

Warning: Undefined array key "width" in /var/www/html/extensions/EmbedVideo/includes/Media/VideoHandler.php on line 98

Warning: Undefined array key "height" in /var/www/html/extensions/EmbedVideo/includes/Media/VideoHandler.php on line 98

Using it like this:
[[File:Jump-height.mp4|right|300px|gif|muted]]

Edit: this was tested on develop, and also happens on 3.2.8

Technical information:

  • OS: [e.g. iOS] any
  • Browser [e.g. chrome, safari] firefox latest
  • Extension Version [e.g. 22] 3.2.8 (6aa9058)
  • MediaWiki Version [e.g. 1.35.0] 1.40.0
  • Host type [e.g. shared hosting] dedicated Debian GNU/Linux 12 (bookworm) x86_64

Additional context
Add any other context about the problem here.

Consent overlay: Add a direct link to the video

The consent overlay should have a button leading to the embedded media in a new tab as an alternative choice.

Detailed Description

As above. This has been requested in ARK Wiki's Discord server.

Context

This may be useful for users who might not want to load the iframe directly on wiki in case they fear information may leak. Quoting the requester directly:

The embedded YouTube videos (e.g. on https://ark.wiki.gg/wiki/Fishing_Rod) have no link to the video on YouTube. I'm not one to consent to them tracking my usage of the wiki, but I would like a link so I can view it directly on YouTube when I choose to.

Possible Implementation

I can see two ways of implementing this:

  • A "New tab" button on the second consent overlay, which already links to the service's privacy policy. This may have poor discoverability though.
    image
  • A button in the first stage footer. It would have to persist on hover. Perhaps labelled "Direct link"?
    Normal: image
    Hover:
    image

Allow embedding videos specified in wgAllowExternalImagesFrom

I'd like to embed videos from a website that I control. For images I use https://www.mediawiki.org/wiki/Manual:$wgAllowExternalImagesFrom. Could the embed-video extension also allow embedding raw video files (e.g. mp4/webm files) from sites listed in this variable?

https://www.mediawiki.org/wiki/Manual:$wgAllowExternalImagesFrom

Detailed Description

Parse the same variable ($wgAllowExternalImagesFrom) either a string or a list of strings. And then allow embedding videos by just putting the link to the video in the source. https://example.com/example.mp4. Or by specifying the external video in [[File:https://example.com/example.mp4|400px|right]] or similar.

Context

  • Why is this change important to you? How would you use it?
    The website is a chat archive and using videos uploaded there in the wiki would simplify the process of gathering new information
  • How can it benefit other users?
    It could simplify add new hosts that host raw video files.

vplayer / evlplayer displays big block if no id is provided by default

(First of all, thanks for reimplementing these back into the forked version of the extension! I'm sure communities beyond just Warcraft Wiki could really use them!)

Describe the bug
When those tags, vplayer or evlplayer is added like <vplayer /> or <evlplayer />, they instead display this huge block that is otherwise empty.

The original experience, there was no empty block like this. Nothing. Whenever a video link is clicked (vlink or evl), this area would expand to that video.

To Reproduce
Just create an article and add <vplayer /> or the other tag to the article.

Example:
https://warcraft.wiki.gg/wiki/Dragonflight_in-game_cinematics

image

Expected behavior
There should be no big empty space where the video would appear if no default video id is provided.

So it should look like this:
image

When any of the video links is clicked, it expands and displays the video. It'll stay there forever, won't shrink back down or anything.
image

Technical information:

  • OS: Windows 11
  • Browser: Firefox Developer Edition
  • Extension Version 3.4.0
  • MediaWiki Version 1.39.4
  • Host type: Wiki.gg

Additional context
Let me know if you'd like me to clarify anything.

Error after installing in the Docker container

Describe the bug
MediaWiki internal error after installing extension in the Docker container.

To Reproduce
Steps to reproduce the behavior:

  1. Build own container with dockerfile
FROM mediawiki:1.41.0

RUN mkdir -p /var/www/html/extensions/EmbedVideo/
COPY mediawiki-extensions-EmbedVideo-3.4.1/*.* /var/www/html/extensions/EmbedVideo/
RUN    chown -R www-data:www-data /var/www/html/extensions/EmbedVideo/
  1. Modify localsettings.php
  2. start container & go to the main page
  3. See error

Expected behavior
Start page open

Technical information:

  • OS: Docker
  • Browser chrome
  • Extension Version 3.4.1
  • MediaWiki Version 1.41.0]

Additional context

MediaWiki internal error.

Original exception: [36da5a53758030a579a6d14a] /index.php TypeError: call_user_func(): Argument #1 ($callback) must be a valid callback, class "MediaWiki\Extension\EmbedVideo\EmbedVideoHooks" not found
Backtrace:
from /var/www/html/includes/Setup.php(570)
#0 /var/www/html/includes/WebStart.php(92): require_once()
#1 /var/www/html/index.php(44): require(string)
#2 {main}

Exception caught inside exception handler: [36da5a53758030a579a6d14a] /index.php Error: Class "MediaWiki\Extension\EmbedVideo\EmbedVideoHooks" not found
Backtrace:
from /var/www/html/vendor/wikimedia/object-factory/src/ObjectFactory.php(240)
#0 /var/www/html/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec(array, array)
#1 /var/www/html/includes/HookContainer/HookContainer.php(258): Wikimedia\ObjectFactory\ObjectFactory->createObject(array)
#2 /var/www/html/includes/HookContainer/HookContainer.php(350): MediaWiki\HookContainer\HookContainer->makeExtensionHandlerCallback(string, array, array)
#3 /var/www/html/includes/HookContainer/HookContainer.php(525): MediaWiki\HookContainer\HookContainer->normalizeHandler(string, array, array)
#4 /var/www/html/includes/HookContainer/HookContainer.php(148): MediaWiki\HookContainer\HookContainer->getHandlers(string, array)
#5 /var/www/html/includes/HookContainer/HookRunner.php(2954): MediaWiki\HookContainer\HookContainer->run(string, array)
#6 /var/www/html/includes/parser/Parser.php(486): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit(Parser)
#7 /var/www/html/includes/parser/ParserFactory.php(220): Parser->__construct(MediaWiki\Config\ServiceOptions, MediaWiki\Parser\MagicWordFactory, Language, ParserFactory, MediaWiki\Utils\UrlUtils, MediaWiki\SpecialPage\SpecialPageFactory, MediaWiki\Linker\LinkRendererFactory, MediaWiki\Title\NamespaceInfo, MediaWiki\Logger\LegacyLogger, MediaWiki\Page\File\BadFileLookup, MediaWiki\Languages\LanguageConverterFactory, MediaWiki\HookContainer\HookContainer, MediaWiki\Tidy\RemexDriver, WANObjectCache, MediaWiki\User\UserOptionsManager, MediaWiki\User\UserFactory, MediaWiki\Title\MediaWikiTitleCodec, MediaWiki\Http\HttpRequestFactory, MediaWiki\Category\TrackingCategories, MediaWiki\Preferences\SignatureValidatorFactory, MediaWiki\User\UserNameUtils)
#8 /var/www/html/includes/language/MessageCache.php(1454): ParserFactory->create()
#9 /var/www/html/includes/language/MessageCache.php(1435): MessageCache->getParser()
#10 /var/www/html/includes/language/Message.php(1468): MessageCache->transform(string, boolean, Language, NULL)
#11 /var/www/html/includes/language/Message.php(1011): Message->transformText(string)
#12 /var/www/html/includes/language/Message.php(1059): Message->format(string)
#13 /var/www/html/includes/exception/MWExceptionRenderer.php(254): Message->text()
#14 /var/www/html/includes/exception/MWExceptionRenderer.php(196): MWExceptionRenderer::msg(string, string, string)
#15 /var/www/html/includes/exception/MWExceptionRenderer.php(105): MWExceptionRenderer::reportHTML(TypeError)
#16 /var/www/html/includes/exception/MWExceptionHandler.php(134): MWExceptionRenderer::output(TypeError, integer)
#17 /var/www/html/includes/exception/MWExceptionHandler.php(251): MWExceptionHandler::report(TypeError)
#18 /var/www/html/includes/exception/MWExceptionHandler.php(219): MWExceptionHandler::handleException(TypeError, string)
#19 [internal function]: MWExceptionHandler::handleUncaughtException(TypeError)
#20 {main}

Notice: Uncommitted DB writes (transaction from Wikimedia\Rdbms\Database::beginIfImplied (MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds)) in /var/www/html/includes/libs/rdbms/database/TransactionManager.php on line 586

Notice: DB transaction writes or callbacks still pending (LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite, LCStoreDB::finishWrite) in /var/www/html/includes/libs/rdbms/database/Database.php on line 3344

Autoplaying videos isn't working well

Describe the bug
Videos aren't playing automatically, although it's set to happen.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://test.echopedia.org/index.php?title=Case_67

Expected behavior
The video should automatically start to play on mobile.

Technical information:

  • OS: Android 13
  • Browser: Chrome 119.0.6045.163
  • Extension Version: 3.4.0
  • MediaWiki Version: 1.39.5
  • Host type: Dedicated server

Additional context
It is known to be buggy on PC as well. Sometimes video doesn't start to autoplay, but when I open source editor and come back, it starts autoplaying. That's only for PC, on mobile devices it doesn't autoplay at all.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.