HLS over MSE

It'd be cool to use https://github.com/dailymotion/hls.js for playing HLS

Agreed. That's a great library. I'll take a look and see how easily it can
be implemented.
On Fri, Oct 9, 2015 at 9:44 AM, Shachar Zohar<EMAIL_ADDRESS>wrote:

It'd be cool to use https://github.com/dailymotion/hls.js for playing HLS
—
Reply to this email directly or view it on GitHub
https://github.com/johndyer/mediaelement/issues/1609.

--
John Dyer - http://j.hn/

:+1:

:-1: Use standard MPEG-DASH

This would be fantastic, especially as the Flash ship continues to take on water.

Please yes!

+1

+1

Sorry but I don't understand, is the library included into player?

@ale-grosselle Sadly, no. Mediaelementjs is still relying on Flash for HLS :(

+1

:+1:

+1
it can be better than the flash.

It seems that finding a replacement for flash is increasingly critical in light of the Chrome devs' announcement that they will be dropping default support for flash by the end of 2016:
https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/HTML5$20by$20default/chromium-dev/0wWoRRhTA_E/__E3jf40OAAJ

I'm currently working on the integration of hls.js with this amazing library. Feel free to check it and provide feedback (#1776).

3.x-dev now has full support for native HLS; please consider testing in that branch

Hello,
I'm currently trying this out on the 3.0-dev build.
I'm seeing:
Specified “type” attribute of “application/x-mpegurl” is not supported. Load of media resource /mejs/hls_test/upload/testset/testset.m3u8 failed.
The player source looks something like this:

Do you have a public example of this working? If not, I'll create a HLS sample file that's suitable to post here.

You can use any the test/hls.html file. Let me know if it works for you

@ron666: Thoroughly impressive. This is awesome!
I realized why it didn't work. The system will recognize the type attribute of "application/x-mpegURL", but it won't recognize "application/x-mpegurl"
Looks like there's an issue with case here. MIME types should be case insensitive, so looks like a small bug that needs fixing. :)

@SeventhCycle I just fixed that. If you download the latest version and try again that should be fixed

Hi,
I downloaded the lastest version of your 3x dev branch but I have the same problem like SeventhCycle. In the HTML5 player it says there is no valid decoder for 'application/x-mpegurl'.
The next problem that I have is CORS.
My link looks like this: http://toggo-hlse-vod.dcp.adaptive.level3.net/602401/608361/manifest.m3u8?tlm=hls&streams=SSX06981B0201F0L_L.mp4.m3u8:1200&stime=20161020154114&etime=20161020164614&token=04bd4b0144145d48642ed
the token has a live time of 10 min.
I get an Cross-Origin blocked and a "401 not authorized".
We used your player in version 2.16.4 for mobile only in the past and all was working well. Now I need to use it also on desktop.
It would be really cool if you could help me with that problem.
thanks in advance
Frank

Thanks @FrankDaze for pointing this. I'll fix the first issue right now so you can test again

Ok please download the latest version and test please. I'll investigate about your issue with CORS and how to deal with it and keep you posted. Thanks

thanks for the fast support.
I downloaded it again and checked the /test/hls.html file, but now it's absolutely not working anymore.
Still get the message in Firefox 'application/x-mpegurl' is not supported and the is no decoder for application/x-mpegurl, application/x-mpegurl
I think the CORS sollution could be in the hls.js file. I have seen pages where they added crossdomain: true to the ajax request.

@FrankDaze The cors issue, looks just like normal cross domain restriction. The stream's token is not valid anymore which the servers reponds with 401 for and in addition to that the server's 401 doesn't contain Access-control-allow-origin:* header so the browser yells about cors

@FrankDaze My apologies I had a typo and I pushed without noticing it; please test it again

@shacharz yes, you are right, the server don't has the Access-Controll-Allow-Origin yet, but it's also not playing this Video: http://toggo-hlse-vod.dcp.adaptive.level3.net/DART/manifest.m3u8?tlm=hls&streams=werbung_in.mp4.m3u8:1200&stime=20161020154119&etime=20161020164619&token=025940ed6ee16efac2679
Token is at the moment still alive. If i throw the URL in my mediaelementjs 2.16.4 it will be played.
3.x says first no candidates could be loaded and if I click on play again, i still get the CORS error. I have the feeling the file get method of the old player was better, than the one in the hls.js.

Can you provide the URL you are using to test this, please? I just updated 3,x-dev branch, so you may need to download the latest version

@FrankDaze In previous versions HLS was playing using Flash which had the crossdomain enabled. Here seems like there are no CORS headers. Please check this issue: https://github.com/dailymotion/hls.js/issues/322
The issue with MIME types was addressed a couple of  hours ago. Thanks

@ron666 thanks for the help. We will ask Level3.net to add the CORS headers. Then I will also test your last update.

@ron666 I need to play Ads before the main hls video. If in the HlsNativeRenderer settings the autoStartLoad is set to true, it's always loading the main video which is first set. But I have a script which is checking on play, if ads should be played or not and then I have to change the source temporarily for the Ad and after the Ad is ended back to the main video url. But it seems to ignore the check on play if autoStartLoad is true. Do you have a tip for me, how so solve this?

@shacharz You can configure the params for the native HLS like this:
$('video').mediaelementplayer({
    hls: {
      autoStartLoad: false,
      // Any other config elements from https://github.com/dailymotion/hls.js/blob/master/API.md#fine-tuning
   }
})

Let me know if that works for you

yes, this way it stops autoStartLoad. The documention of hls.js says "autoStartLoad, if set to false, an explicit API call (hls.startLoad(startPosition=-1)) will be needed to start quality level/fragment loading."
Will the player do that automatically or is there also a way for me to set that?

Within the success function in the ME instantiation, try to see if you can access that call:
$('video').mediaelementplayer({
    hls: {
      autoStartLoad: false,
      // Any other config elements from https://github.com/dailymotion/hls.js/blob/master/API.md#fine-tuning
   },
   success: function(media) {
        media.startLoad();
   }
})

Let me know if that works for you

I think this will be the same as autoStartLoad: true, but it gives me an idea how to solve my problem.
But now my ealiest test for this is monday morning. I will tell you if this will work.
thanks

You are welcome; please keep me posted about your findings. I want to get this version as stable as possible

I tried that, but I get an error message -> TypeError: media.startLoad is not a function

I think I found the problem in my script.
When I get the list of possible Ad files, the script is checking for a suitable format:
if(this._mediaElement.canPlayType(this._adVideo.mediaFiles[i].mimeType))
But the answer of this._mediaElement.canPlayType(this._adVideo.mediaFiles[i].mimeType) is always an empty string. this seems to be a problem of preload=false but if I set preload to true or auto, it always loads the main video.
So I need a manual way to check the canPlayType with preload = false setting.

if I call this:  this._mediaElement.src
I don't get my real video link, I get each time the media source as result, which looks like this: mediasource:http://elex2.dev.eoa.de/826eb3cd-1a55-4f0c-acb0-61187abc15ba
That make it impossible to compare the source of the player with my original video link. This is because you use now 2 video tags:
<mediaelementwrapper id="rtliVideovideo2742"> <video id="rtliVideovideo2742_native_hls" class="" preload="none" src="mediasource:http://elex2.dev.eoa.de/826eb3cd-1a55-4f0c-acb0-61187abc15ba" width="100%" height="100%"></video> <video id="rtliVideovideo2742_from_mejs" src="http://toggo-hlse-vod.dcp.adaptive.level3.net/Angelo/Shorts/manifest.m3u8?tlm=hls&streams=AN_214.mp4.m3u8:1200&stime=20161024114945&etime=20161024125445&token=004d7be8e4bd0519a55e7" preload="none" style="display: none;" width="100%" height="100%"></video> </mediaelementwrapper>
I my case i need that to set the original video link, check is there an Ad to play, if yes play the Ad and then back to the original video.

Can you try using media.originalNode to obtain the original file name? Today I'll check how to integrate the methods from HLS to the media instance

Try media.originalNode.getAttribute('src')

@FrankDaze Just for reference, there's a way to call the methods from hls.js but is not documented yet. I'll document that today.
$('video').mediaelementplayer({
      pluginPath: '../build/',
                hls: {
                    debug: true,
                    autoStartLoad: false
                },
                success: function(media, node) {

                    media.addEventListener('hlsMediaAttached', function() {
                        console.log('Attached!');
                    });

                    // If you try to call startLoad before the manifest is parsed, it will display an error;
                    // so attaching new event
                    media.addEventListener('hlsManifestParsed', function() {

                        media.hlsPlayer.startLoad(); // media.hlsPlayer can execute all the methods in hls.js

                    });
                }
});

yeah, that is what I needed. media.originalNode give me the video node that I need.
At the moment I have a testing break, because the Ad server is not sending Ads anymore. I wait for an answer of the Ad publisher, if there is a call which forces the server to send a test video Ad.

Sounds good. Keep me posted and thanks for testing this.

@ron666
ok it's all working well for me now. media.originalNode.getAttribute('src') was the most helping clue.
My player is now playing pre and postrolls + VAST Ad files.
thanks again

You are welcome. Glad everything is working for you.

In the mediaelement-and-player.js, I removed the  tag for the loading animation and mapped the background animation directly on the surrounding DIV, because otherwise the gif has a black instead of a transparent background:
loading =
	$('
' +
	'

' +
	'
')
	.hide() // start out hidden
	.appendTo(layers),

Here the css:
.mejs-overlay-loading {
display: block;
width: 43px;
height: 45px;
background: transparent url(loading.gif) center center no-repeat;
}

@FrankDaze Thanks. I'll check it and integrate it in the core package

oh my fault.....
I haven't seen that the surrounding DIV has got a nearly black gradient background by css.
Please ignore my last posting.

Sounds good. I think we will be ready soon to release this version. Thanks for testing it

Closing this issue since support is ready in 3.0 version and it will be released soon

@FrankDaze can you download the latest version and confirm everything is working as it should on your side, please? I found out some last bugs and I just need confirmation that we are still ok

ok I will test it today

@ron666 I tested it right now and from my side all looks fine.

Thanks

@ron666 I have a last question. Is there a parameter to scale the video to fit the playersize?
I have seen the streching parameter, but this is streching the whole player, not only the video.

There's no parameter that can do only video. Only the entire player. You can check FitVids plugin and see if that suits your needs

@ron666 I found a bug in mediaelement-and-player.js. If you click in the time bar and change the play position the condition is everytime unequal. I found that out, because I had to add an eventtrigger to this function for media tracking and my events got fired several times.
This is because newTime has more digits after the separator than media.currentTime, which has everytime 6 digits after the seperator.
Original:
if (mouseIsDown && newTime !== media.currentTime)
Fixed:
if (mouseIsDown && newTime.toFixed(6) !== media.currentTime.toFixed(6))

Thanks I'll check this

meanwhile I found out that .toFix(4) works much better, because on fast pc's it's often unequal at the six digit after the seperator.

Can you provide a URL where I can see how that fixes the issue before I integrate it, please?

http://toggo-elex2.beta.eoa.de/videos/eoa/videokategorie-neu-566.htm?v=d30fc3358057c6ab580afb2153e1d22c#elexdebug

Fix is in place now in core package. Thanks @FrankDaze

@ron666
if I change the source after clicking the play button (for Ads) I get in Chrome this error message:
Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.
can you tell me how to avoid this?

http://stackoverflow.com/questions/36803176/how-to-prevent-the-play-request-was-interrupted-by-a-call-to-pause-error

yes, I found this link also, but it's not helping, because it's an other error. This is for play() interrupted by pause(), but my problem is play() interrupted by load, because Chrome is ignoring startAutoPlay: false and preload="none" inside the video tag. So each time the original video is preloaded and at the moment when I change the source for an Ad or another video I get this error message.

I'll try to find more info about it but in my experience it hasn't prevented me to continue with the flow. I'll keep you posted about this. Thanks

@ron666
I found a new problem. On Win10 IE11 the player is correctly playing the hls videos.
mediaelement-and-player.js  is checking for isNative.
isNative = media.rendererName.match(/(native|html5)/);
On Win10 it's filled with native_hls but on Win7 in IE11 it's filled with flash_hls and the player stops working.
In my case I can't use a flash fallback because of the player skinning.

Native HLS is supported on Win8 IE11+ and HLS.js bases its support on browsers with MSE otherwise it uses flashls to play it. There's no way around that

The only thing that will change is that instead of video tag you will have an object or embed tag; the rest of the layers on the video are the same and shouldn't affect the skinning

ah ok I understand. I think the problem is my dynamic changing of the source. I'm always awaiting a second video tag and try to change the source there. But in the flash fallback I have an object tag instead.
So I have to check if isFlashfallback and change the object src, instead of the video src if yes.

@ron666 can you tell me what I have to do, to change the source of the flash fallback dynamically?
If tried
media.setSrc("myUrl");
media.load();
media.play();
But nothing happens.

@FrankDaze If you are out of the success method, you can do something like this:
player = MediaElementPlayer (....);

$('.add-new').click(function() {
            player.mediaElement.pause();
            player.mediaElement.setSrc('http://www.streambox.fr/playlists/x36xhzz/x36xhzz.m3u8');
            player.mediaElement.load();
            player.mediaElement.play();
});

Otherwise, inside the success method should work with what you have, but you need to pause the player before setting new source.

in Win7 IE11 the player is playing fine if I use your URL, but if I use my own video url, it's doing nothing.
After loading the page I see  the unskinned player with a message "invalid source". And if click on play nothing happens anymore.
Perhaps you can see the reason, here is my testlink with Flash fallback enabled.
http://toggo-elex2.beta.eoa.de/videos/eoa/videokategorie-neu-566.htm?v=d30fc3358057c6ab580afb2153e1d22c
thanks in advance

When I tested on Browserstack I got this error.

Seems like the MIME type in the server is not defined or not set properly for starters.

oh yes you are right. You mean I have to add to my server settings the mime for .M3U8 to
application/x-mpegURL or vnd.apple.mpegURL
That makes sense. Sometimes we run through live with potatoes on the eyes. :)

@ron666
I'm not able to find the problem.
The player is requesting this URL http://toggo-hlse-vod.dcp.adaptive.level3.net/Angelo/Shorts/manifest.m3u8?tlm=hls&streams=AN_214.mp4.m3u8:1200&stime=20161103100908&etime=20161103111408&token=07dfe698efe1515b1aad8
Where must the mimes be set? On the sever where I have the player on that level3.net server?
I think on level3.net, right?
For the flash fallback, which mimes must be set?

You must set them on level3.net and once set works for both native and Flash HLS ;)

@ron666 ah ok... I contacted the support there, to set the mime types. thanks :)

You are welcome :)

@ron666 ok, problem is not the mime type. If I use our player with your test url I get the same mime error, but it's playing the video.
The problems seems to be, that we use HLSE and not a simple HLS stream. The HTML5 version has no problems with the encryption, but the Flash player ends before he gets the encryption key from the footprint server.  We tested the URL http://toggo-hlse-vod.dcp.adaptive.level3.net/Angelo/Shorts/manifest.m3u8?tlm=hls&streams=AN_214.mp4.m3u8:1200&stime=20161103100908&etime=20161103111408&token=07dfe698efe1515b1aad8 on www.hlsplayer.net in IE11 on Win7 and this is running fine (I don't know that this player is using in background).
The last thing I can see is a request https://srtlkey.secure.footprint.net/crossdomain.xml and then it ends. The next step should be https://srtlkey.secure.footprint.net/key1.bin but this request never appears.

I see. To be honest this might be a better question to post in the flashls project, since I don't 100% the details on how it works under your scenario, and I'd hate to give you the wrong answer. If you can post this in https://github.com/mangui/flashls the author answers fairly quickly. We can start from there

@ron666 thank, last night I was in contact with "mangui/flashls" and he told me the problem is the crossdomain.xml on the https://srtlkey.secure.footprint.net server. Because the videoplayer is on the website with http protocol and is trying to get the decryption key from a server with https protocol.
Today I changed to crossdomain.xml to a new version with secure parameter set to false and now I'm able to receive the videostream:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

Now I have the next problem, that the video in the flash fallback has the size of a poststamp:

can you tell me, what I have to set to fix that? In the javascript part the video has the correct size.
My current configuration is that:
pluginPath: '../../rtli-video-player/mediaelement/3/',
enablePluginDebug: 0,
showPosterWhenEnded: true,
alwaysShowControls: true,
features: ['playpause','stop','progress','current','duration','volume','fullscreen'],
loop: false,
videoWidth: '100%',
videoHeight: videoHeight + 'px',
hls: {
debug: false,
autoStartLoad: false
},

Great I'm glad you solved that. I see that you set the width and height from the configuration. Try not to set it at all; only from the video tag and see if that works. I'll investigate this anyways

In the video tag set width as 640; height as 360; and then add style="max-width:100%"

@ron666 I updated to the latest player version and changed my video width and hight as you told me. But now I have a problem with the rail. It's not scaling properly anymore.
Videosize if fine now.

Fullscreen is also making not scaling correctly anymore.

It seems the is a bug in the siblings width caculation for the rail, because .mejs-container .mejs-controls .mejs-time has a css witdh: auto ....
If I check the width, it's something about 130 pixels. But the siblings are calculated with a width of 54px .

Download the latest version and let me know if it works. There was a fix related to the way the rail is being calculated

I already downloaded the latest version, that was the problem.
I fixed that now:
var
controlElements = t.controls.children('div'),
margin = parseFloat(controlElements.children('.mejs-time-total').css('margin-left')),
// 1px on error margin
siblingsWidth =  parseFloat(rail.siblings().width()) + margin - 1
siblings = 0;
;
$(rail).siblings().each( function ()
{
	siblings += parseFloat($(this).width()) + margin - 1;
});

Oh I see. I'll integrate that in the core package. Good catch BTW

ok the final fix from my side will look like this:
// Get number of features siblings to obtain total width to be reduced from time rail
rail.width('100%').width('-=' + siblings);
rail.find('.mejs-time-total').width($(rail).width()-20);
I added the last line to calculate the .mejs-time-total

Why minus 20px?

Can you try this for me and tell if works?
var
				controlElements = t.controls.children(),
				margin = parseFloat(controlElements.children('.mejs-time-total').css('margin-left')),
				siblingsWidth = 0
			;

			rail.siblings().each(function () {
				siblingsWidth += $(this).outerWidth(true);
			});

			siblingsWidth += margin;

			// Substract the width of the feature siblings from time rail
			rail.width('100%').width('-=' + siblingsWidth);

otherwise the .mejs-time-total is layerd by the playtime, so it must be a bit smaller than the rail itself.

Sorry, one of the lines is missing something
siblingsWidth += margin;

should be
siblingsWidth += (margin * 2);

your code is working fine.
without my -20 the rail looks like this:

and without the line it looks like this:

Thanks I pushed this into the repo.

it would be cool if you throw an eye on my testpage: http://toggo-elex2.beta.eoa.de/videos/eoa/videokategorie-neu-566.htm?v=d37e318da49e2a724b0130a31cd6e7f0&VideoDebugMode=1#elexdebug
In the flash fallback I still have the problem that the video size is not fitting the videoplayer. Seems to play the video in it's original size. If I resize the browser window the video size is switching to the correct size.

Ok let me check and let you know

Hi, have you an idea how to fix my scaling problem?

I'll take a look today to the markup and see what's going on. I'll give you an update later

I tried to test the file in my local environment but I couldn't. One thing that occurred to me is related to #1790 where the RESOLUTION is not specified in the m3u8 file. After a resize the player right now doesn't have a way to bring it back to the original dimensions in Flash. Could you try with another HLS file to see if that happens as well, just to isolate this possibility? I tried others and look good to me on Flash

This is an example I tested on IE11 and looked good to me using Flash HLS:

Well, you can always trigger a resize event inside the success method:
$(window).trigger('resize');

thanks. meanwhile I'm near a working result. the resize trigger was exact what I needed.
I only get an "invalid state error" when starting an Ad at this point:
node['set' + capName] = function (value) {
					node[propName] = value;
};

Line: 1418 in my mediaelement-and-player.js
And in IE11 on Win7 I have problems pressing the big button in the middle. The small play buttons works better, but also not everytime.

There must be an event or property not defined, when is that error being triggered?

I don't know about the buttons. I haven't experienced issues with them

ok invaled state is fixed. my fault. I had a wrong this._masterPlayer.currentTime = 0; at the point when I tried to play the Ad.

Do you have an idea when is the best time to fire the $(window).trigger('resize');
Because it works fine, but not everytime. The Ad intro and the postroll are not everytime resized correctly.
I think it should be played in an event like afterStartPlay or ifLoadisFinished  or something like this.
On a native Win7 IE11 the button problem seems to be no problem. It happend only in emulated mode on Win10.

I will give it around 250 to 500 milliseconds to trigger the resize or you can attach the resize with an event such as canplay

I'm near to a working result. One last problem in flash fallback is, that I don't see a loading indicator while loading. I click on play and it seems that nothing happens. It's not the same behavior like in the HTML5 player

I'll check that and let you know my findings

@FrankDaze I think the only thing you can do is to call media.load() inside the success method to display that loading behavior. HTML5 has itself a very different way to handle things than Flash, but I'd give it a try doing that. Let me know if it worked for you

@ron666 that wasn't helping. I handle it now by myself, with showing and hiding the BigPlay and loading DIV.
Another big problem in the HTML5 version is, that the videos in fullscreen mode are not fullscreen. They still have their original size and don't resize to full. Same problem as with the player before, if the video itself has no size settings. My resize trigger seems to show no effect in fullscreen mode.

I also see the  fullscreen problem. when I manualy (from F12) changed the width/height of the video element to 100%, it works.
maybe use an ugly timeout to fix it?

I my version on the live server isn't that problem. Seems it came with one of the last updates.

I see the problem is, that the fullscreen size is set to the originalNode video tag, but to to the one with the mediasource. But this one is the one that is displayed.

I fixed that with this: In the "enterFullscreen" function ->
if (isNative) {

			t.$media
			.width(screen.width)
			.height(screen.height);
			t.media.setSize(screen.width, screen.height);

I added that t.media.setSize and now I have always full screen video in native mode.

in the flash fallback I got an error in around line 1109:
if (mediaElement.renderer !== undefined && mediaElement.renderer !== null) {
return mediaElement.renderer[methodName](arguments);

the object is not supporting the property or method "stop"

@FrankDaze Thanks for pointing these things. I'll check them and integrate the necessary fixes today.

@FrankDaze I tried to reproduce the error stop on IE11 but I'm getting an error from the Ads

yes, that another problem at the moment. The Ads generate a lot of errors which seems to have effect on the player.
Meanwhile I'm in contact with the Ad distributor to make shure this erros will be fixed and have no longer affect on the player. Most Ad errors seem to be also CORS header problems. I think the video Ad is requesting banner Ads which a blocked by missing CORS headers.
If fixed the stop problem with expanding the if statement: if (mediaElement.renderer !== undefined && mediaElement.renderer !== null && mediaElement.renderer[methodName] )
Since I changed that, I never got that problem again.

Ok I'll bring the 2 changes in the code package and let you know when you can test them. Thanks for your help

@FrankDaze your changes have been merged into the core packages. Thanks

@ron666 it could be that there is bug in the youtube detection.
sometimes we have an Ad call like this:
http://cdn.flashtalking.com/65328/ArcoTruck_Youtube_Annotations_simple_640x360_IP_mob_hq.mp4
But this server has not the correct CORS settings for our referrer. Instead of throwing an catchable error and skipping to the main video I have the phenomenon that it try's to call this URL instead and plays a YouTube error with white noise in background.
https://www.youtube.com/embed/ArcoTruck_Youtube_Annotations_simple_640x360_IP_mob_hq.mp4
An URL like this is not in any VAST file. Seems that the player detects the "Youtube" within the filename and then thinks this is a Youtube file. The Ad provider not removed this Ad from the VAST, but this is not a good solution.

@FrankDaze Indeed it will try to use YouTube renderer. I think in your case you need to write your own condition to avoid this type of file, and also use this in your configuration:
$('video').mediaelementplayer({
    renderers: ['native_hls', 'flash_hls'],
    // the rest of your config
})

That way you are ensuring that you will only load the HLS renderer and it won't try to use YouTube renderer

@ron666 that worked fine thanks.
Now I ran into the next problem on Android devices. If I start play in fullscreen mode the video sizes correctly. If I do an orientations change from portrait to landscape mode it keeps the orientation of the portrait mode.
And in my special case, if one video has ended (the ad for example), the next video is not getting the fullscreen size. The video is scaling down to it's original size.
Test URL:
http://www.toggo.de/videos/index-103.htm
And I have a strange behavior with the autoplay mode on Android. If ads are available I activate autoplay mode to play each video automatically. This works fine from the main ad to the ad outro and from there to the main video, but not from the ad intro to the main ad. I think this could be because of a renderer change. Ad intro is a hls video, the main ad is a native mp4 file and the rest is hls again.
I hope you have some ideas for me, how to fix that. :-)

ok I found the reason for the stopping after the ad in play: Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
Seems that is a Chrome on Android security option.

@FrankDaze Glad you found the answer; for the orientation issue you might wanna try the window resize when orientation changes.
$(window).on('orientationchange', function() {
    $(window).trigger('resize');
});

ok, Anrdoid resizing in fullscreen is now fine.
I added an on resize listener to the onenterfullscreen function in the mediaelement-and-player.js
$( window ).on( "resize", function()
{
			if (isNative) {
				t.$media
				.width(screen.width)
				.height(screen.height);
				t.media.setSize(screen.width, screen.height);
			}

			t.layers.children('div')
			.width('100%')
			.height('100%');

});
I'm already firing a resize trigger on the beginning of each video and I added your orientationchange function in my script.
But this changes has no effect on an iPad with iOS 10.1.1 , it's absolutely ignoring the size settings.

@FrankDaze that one I have no idea; the resize should work across devices/browsers

@ron666 seems that the resize is not scaling both video tags.
if I use this inside the enterfullscreen function and it's on resize event then it scales correctly:
setTimeout(function(){
				t.container.find('video')
				.width('100%')
				.height('100%').css('min-width','100%').css('min-height','100%');
			}, 500);

for the "Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture." problem I must find a way to trigger both video tags (mediaelement and originalnode) with the same click.
Otherwise it's not possible to fix that problem.

Let me check that and ok keep you posted

Let me check that and ok keep you posted

Just adding 'video' in the list of other elements on in enterFullScreen() seems to do the trick for me.
change this:
b.container.find("iframe, embed, object").width("100%").height("100%")
to this:
b.container.find("iframe, embed, object, video").width("100%").height("100%")

@FrankDaze fullscreen fix is working for me in iOS and android:
@FrankDaze, why is your addition wrapped in a timeout, and not grouped with all the other container.find functions in enterFullScreen()?


Page stepper

Please check if the PR fulfills these requirements:

[ ] After these changes, the app was run and still works as expected
[x] Tests for these changes were added (if applicable)
[ ] All existing unit tests were run and still pass

Please specify the type of change this PR introduces (Bug fix, feature addition, content update, chore, etc.):
chore
Additional Notes:

I tested the tag and the slot content, good point though I will extend the testing to make sure any attributes and listeners come through

I added some tests for that (linted the pagestepper too), it's using some vue magic with fallthrough attributes which looks odd, I put in the comment to the docs explaining why it works though.
The reason I switched from createElement is it changed to a global import (instead of the first arg to the render function) in vue-3, which was causing issues related to vue being imported twice with jest and storybook.


Fix just migration past https://github.com/knative/eventing/pull/6622

Testing to see if I can get anything past security / Analyze codeql check

/close


Automatic linting check

In an effort to tighten up the last bit of code I'd like to take the lead on going through everything with pylint. Right now, we get a pretty bad score almost entirely due to long lines in the docstrings (my bad 😉 - I've made some changes in my editor which should keep this from happening in the future) but there are some other small things that can be addressed as well.
If no one has any objections, I am going to go through all of the code and tighten things up based on pylint's recommendations. (BTW, please let me know if you do have an issue with this for some reason and/or you recommend something else!)
However, I was wondering... is there a way to build this type of check into our tests pre-merge? If this is a lot of work, I'm not sure it will be worth it but, if it's easy, I think it could be nice to set up. For example, I think there is a way to get GitHub to block merges unless it passes a pylint check, however, I don't know what is involved to get this done.
Please let me know your thoughts when you can.

Sounds good. I'm using VScode which has some extensions that would automatically formats the code upon saving. You can try things like this if it sounds helpful.

Yeah I'm going to close this for now and we'll just deal with it individually. I don't think it needs to be perfect...


Address accessibility gaps in Shoelace

Let me start off by saying I really like the streamlined approach you've taken with this project. It's nice to see a library like this, using modern CSS.  However in looking through the source code, and doing some basic keyboard and screen reader accessibility testing, there are quite a few gaps in coverage that really should be closed to ensure this framework doesn't perpetuate inaccessible  user experiences.
I have submitted a pull request to address the following two issues:

[x]  Set focus states for <a> and <button> elements to provide parity for mouse and keyboard interactions.
[x]  An update to the Switch component, as it previously was completely inaccessible to keyboard and assistive technology users.

There are additional accessibility issues that I'd be happy to discuss with you if you are interested in moving forward with these sorts of changes.
Thanks!

Thanks for the PRs. And absolutely, let's discuss this!

I'd love your feedback on #41 too.

Per #41, I reworked most components and made sure to address accessibility with buttons, switches, tabs, etc.
Focus states for buttons are similar to BS4-beta's approach:

I also updated switches to have a consistent focus state:

Tabs too:

I'm working on the docs now, and then I'll push a release and update the website. Until then, you can view these changes in master.
One component that still needs to be addressed is the file button. The markup looks like this:
<label class="button">
  Select File
  <input type="file">
</label>

Not sure if the same trick you used for switches will work for this. I couldn't get the focus state to show on the label. Any idea?

yeh the file button was something i was trying to figure out how to bring up, because of the issue with the lack of focus state, but in addition to that, there is no visual indicator of when a file has been slated for upload, at all.
There really is no good CSS only solution for customizing file upload buttons.
I've done work on doing style uploads with JS/CSS in the past though...I'll try to see if I can't dig that back up.

I figured as much. I'm open to including a small JS snippet in shoelace.js if it makes the button accessible. Just let me know how you think it should work and I'll be happy to work on it.

i'll try to find some time to get you that demo / any specs that may need to be added, asap

I believe all the accessibility issues outlined are now resolved. File buttons were the last ones, and have been fixed in 0f8e1ec. The structure was changed and the markup is a bit more verbose, but it's a fair tradeoff for making them accessible.

Hey @claviska sorry I haven't had time to jump on this, but saw the issue closed so wanted to check in.
Per the file buttons, is the examples page you provided up to date?
I know I didn't outline it before, but here are some of the issues pertaining to the current file upload button style:

There's still no visible keyboard focus of the 'buttons' (though they can be accessed by keyboard). (file inputs work differently than things like checkboxes, where you can use sibling selectors to style an element on focus of the checkbox. To achieve focus styling in the past, I've needed to rely on JavaScript to add/remove a focus class)
With normal file upload inputs, the file name of a chosen file will be displayed. With the styled buttons, there is no text area or other indication that a file has been slotted for upload with it.

Again, apologies I haven't been able to dig up an appropriate example that I've previously done for these. Hope the above 2 points are helpful though.

I need to handle cache busting better. Make sure you refresh to get the latest styles. They work the same as buttons when focused:

With normal file upload inputs, the file name of a chosen file will be displayed. With the styled buttons, there is no text area or other indication that a file has been slotted for upload with it.

File buttons !== file inputs. As noted in the docs:

File buttons are much easier to style, but come with the caveat that the name and number of files selected will not be automatically shown to the user. This aspect of a file button’s UX can be handled effectively with JavaScript, but this is left as an exercise for the user.

File buttons are becoming more and more common, particularly in single page apps and apps that upload files via XHR.
Ways to handle this type of feedback vary a lot these days. Some apps upload automatically on change and only show a loader (no need for filenames since the user knows what they just selected). Others show a preview (for images) or an icon with the filename.
With FileReader, we can do tons of things we never could before, and there's no way a library can properly handle all those edge cases, which is why I think it's best to leave that up to the user.

Hey @claviska thanks for the reply.
It seems that the issue is FireFox specific, as I can verify that I see the focus state in Safari, Chrome and IE/Edge.  But in Firefox on PC and Mac, there are no focus states.
And yes, I did see the note in the documentation about these being 'file buttons' but outside of styling, there is nothing semantically different about how they are announced to users than normal file inputs, because under the hood that's what they are. But per your documentation, you do make it clear that it's up to the user to finish the job, so I will leave it at that.
Thanks!

Ah, Firefox. Don't think we can do anything about that though :(
https://stackoverflow.com/questions/20095105/input-type-file-focus-adjacent-selector-in-css


Fixes https://github.com/fastlane/examples/issues/5

Thanks for your contribution @fulldecent :+1:


Run clang-format as part of can autogen step

Run clang-format on the C code generated by the scripts found in cangen.

This is not necessary. Autogen code is not tracked by git so it will not trigger a format error. While it is good for the code to be formatted properly, it should be formatted in the template, not after generating.
Closing


How are methods meant to be used?

Hi,
How are the "methods" mean to be used? Is there a global config object that's supposed to be passed to ` or something else?
For example if I want to reset the captcha, how do I do it? Sorry to bother you, but it's not really clear how to do that from README.
Thanks!

Hello. You can pass a ref to the element and then access methods through that ref.
For Vue 2:
<template>
  <vue-friendly-captcha sitekey="your-site-key" ref="captcha" />
</template>

<script>
  // ...
  this.$refs.captcha.reset();
</script>

https://v2.vuejs.org/v2/api/#ref
For Vue 3:
<template>
  <vue-friendly-captcha sitekey="your-site-key" ref="captcha" />
</template>

<script>
  import { ref } from 'vue';

  const captcha = ref(null);

  // ...

  captcha.value?.reset();
</script>

https://vuejs.org/guide/essentials/template-refs.html#ref-on-component

Aaah, right, ok. Thanks!


Real source of harViewer.js?

Currently, harViewer.js is just unreadable minified js code. It's not meant for developers. Please provide the real source of the file.

Actually, the source is at https://github.com/hindmost/harviewer


TypeError: Cannot read property 'contain' of undefined when I user GiftedForm.ModalWidget

When I try to use this code
        <GiftedForm.ModalWidget
          title='Biography'
          displayValue='bio'
          scrollEnabled={true} // true by default
        >
          <GiftedForm.SeparatorWidget/>

          <GiftedForm.TextAreaWidget
            name='bio'
            autoFocus={true}
            placeholder='Something interesting about yourself'
          />
        </GiftedForm.ModalWidget>

It return error TypeError: Cannot read property 'contain' of undefined
Does anyone know how to fix it?

I'm getting the same error. Please guide how to fix it?

https://github.com/FaridSafi/react-native-gifted-form/issues/132

any update on this issue?


Add MF rules for

This PR addresses issue #401  by introducing a new set of rules for the CTransitionnode. Mainly, the new rules enable mean-field constraint around the node.

Can we add docstrings to the ContinuousTransition and some caveats (see https://github.com/ReactiveBayes/ReactiveMP.jl/issues/400)?  I guess one of them would be the fact that this node requires marginal on a to compute the message on a.

Thanks @bvdmitri! Will do.


TypeScript doesn't detect constructor's private params' usage when passed to super()

Bug Report

🔎 Search Terms

is declared but its value is never read
6138

🙁 Actual behavior
Constructor's params are not detected when passed to the super() constructor, as shown below:

🙂 Expected behavior
I would expect TypeScript to detect the usage of the constructor's param in the call to super().

It's actually detecting that the property isn't used, not the parameter.  Because you're using constructor property shorthand (private)

If it's private and yet the value is passed correctly (it does work), shouldn't TypeScript detect the usage?

private makes it create a private property with the same name on instances of the class (this.configService), which you never use and because it's private, can't legally be accessed from outside.  The error message is correct.

Thank you for the above explanation. Closing! :)


Exporting only Traces possible?

Hi,
A quick question.
Is it possible to export only traces? In other words, is it possible to disable exporting metrics?

Yes 100%. Typically, in our examples we configure the exporter endpoint by using the common OTEL_EXPORTER_OTLP_ENDPOINT, in which case we'll get both metrics and traces.
However, if you only use OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, leaving the common and the metrics endpoint configuration empty, we'll only send traces. The opposite also works for metrics, if only OTEL_EXPORTER_OTLP_METRICS_ENDPOINT is set, we'll send metrics only.
All of the options I mentioned above can also be set in the YAML configuration file too.
More details on this here: https://grafana.com/docs/grafana-cloud/monitor-applications/beyla/configure/options/#otel-traces-exporter

Hello @grcevski ,
Thanks a lot!
I set like the following explicitly, and Beyla worked as expected. :)
# OTEL_EXPORTER_OTLP_ENDPOINT not set.
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://MY_JAEGER_IP_ADDRESS:4317
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc

Best regards,
Masanori

Great thanks for letting us know. When using OTEL traces please check out our docs section on how to configure the route decoration https://grafana.com/docs/grafana-cloud/monitor-applications/beyla/configure/options/#routes-decorator.
We default to a conservative setting to reduce cardinality and storage costs, but if your APIs are well structured you can enable the heuristic mode or configure the route patterns manually. That way you'll get better span names in your traces, not just GET or GET /**.
I'm going to close this issue for now, if you feel like you need more help, just reopen it please.


Does Wagtail have the equivalent of Drupal's Domain Access module?

Does Wagtail have an equivalent of Drupal's Domain Access module?
It is a module which enables content from a single-site to be placed under different domain names, with reading and writing permissions all controlled by the user permissions system.

Overview
The Domain Access project is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. The module allows you to share users, content, and configurations across a group of sites such as:
example.com
one.example.com
two.example.com
my.example.com
thisexample.com <-- can use any domain string
example.com:3000 <-- treats non-standard ports as unique

By default, these sites share all tables in your Drupal installation.

Hi @vonHabsi - please use the Wagtail tag on Stack Overflow for support queries, or see the Support page in the documentation for other options.

Hi @vonHabsi - please use the Wagtail tag on Stack Overflow for support queries, or see the Support page in the documentation for other options.

Stackoverflow prefers code related questions.  Asking about a plugin or a module will result in moderators closing the question. This question is about the existence of a module or a plugin and I can't think of any more appropriate place to ask


Python crashing in HTML files

I can't figure out what could be causing this. Anyone else seen this before? It looks like there are several linters trying to run ('alex', 'htmlhint', 'proselint', 'tidy', 'write-good'), but if I change my settings to something like:
let g:ale_fixers = { 'html': [], 'markdown': ['prettier'], 'javascript': ['prettier'], 'vimwiki': ['prettier'] }

ALEInfo still shows all of them enabled in HTML files.
Information
ALE settings
let g:ale_fix_on_save = 1
let g:ale_fixers = { 'markdown': ['prettier'], 'javascript': ['prettier'], 'vimwiki': ['prettier'] }
let g:ale_linters = { 'jsx': ['stylelint', 'eslint'] }
let g:ale_linter_aliases = { 'jsx': 'css' }
let g:ale_javascript_prettier_use_local_config = 1
let g:ale_javascript_eslint_options = '--no-ignore'

nnoremap ]r :ALENextWrap<cr>
nnoremap [r :ALEPreviousWrap<cr>

VIM version
NVIM v0.2.0
Build type: Release
Operating System: macOS 10.13.3
:ALEInfo
 Current Filetype: html
Available Linters: ['alex', 'htmlhint', 'proselint', 'tidy', 'write-good']
  Enabled Linters: ['alex', 'htmlhint', 'proselint', 'tidy', 'write-good']
 Linter Variables:

let g:ale_html_htmlhint_executable = 'htmlhint'
let g:ale_html_htmlhint_options = ''
let g:ale_html_htmlhint_use_global = 0
let g:ale_html_tidy_executable = 'tidy'
let g:ale_html_tidy_options = '-q -e -language en'
 Global Variables:

let g:ale_cache_executable_check_failures = 0
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = 100
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = 50
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'markdown': ['prettier'], 'javascript': ['prettier'], 'vimwiki': ['prettier']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_lint_on_insert_leave = 0
let g:ale_linter_aliases = {'jsx': 'css'}
let g:ale_linters = {'jsx': ['stylelint', 'eslint']}
let g:ale_linters_explicit = 0
let g:ale_list_window_size = 10
let g:ale_list_vertical = 0
let g:ale_loclist_msg_format = '%code: %%s'
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = 0
let g:ale_open_list = 0
let g:ale_pattern_options = {}
let g:ale_pattern_options_enabled = 0
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_type_map = {}
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(executable check - failure) alex
(executable check - failure) htmlhint
(executable check - success) proselint
(started) ['/usr/local/bin/bash', '-c', 'proselint ''/var/folders/35/22_mgdcj5tg027_5s935kbm80000gn/T/nvimPz0sLC/5/hc.html''']
(executable check - success) tidy
(executable check - failure) write-good
(executable check - failure) alex
(executable check - failure) htmlhint
(started) ['/usr/local/bin/bash', '-c', 'proselint ''/var/folders/35/22_mgdcj5tg027_5s935kbm80000gn/T/nvimPz0sLC/6/hc.html''']
(executable check - failure) write-good
(executable check - failure) htmlhint
(finished - exit code 0) ['/usr/local/bin/bash', '-c', 'proselint ''/var/folders/35/22_mgdcj5tg027_5s935kbm80000gn/T/nvimPz0sLC/7/hc.html''']

<<<NO OUTPUT RETURNED>>>

(executable check - failure) write-good
(executable check - failure) htmlhint
(finished - exit code 0) ['/usr/local/bin/bash', '-c', 'proselint ''/var/folders/35/22_mgdcj5tg027_5s935kbm80000gn/T/nvimPz0sLC/8/hc.html''']

<<<NO OUTPUT RETURNED>>>

(executable check - failure) write-good
(executable check - failure) htmlhint
(finished - exit code 0) ['/usr/local/bin/bash', '-c', 'proselint ''/var/folders/35/22_mgdcj5tg027_5s935kbm80000gn/T/nvimPz0sLC/9/hc.html''']

<<<NO OUTPUT RETURNED>>>

(executable check - failure) write-good

What went wrong
Python seems to be crashing when ALE checks only HTML files.
Reproducing the bug
Steps for repeating the bug:

Start editing HTML file
Wait for ALE to try to check the file

Ugh, I was trying to set 'html': [] in fixers instead of linters. 🤦🏻♂ It was proselint.

Okay, sounds good.

I had the same experience. Has been driving me crazy all week. Uninstalling proselint seems to have resolved the python alert. I had it installed with pip.


CI fixes

Fixes linting errors currently in master.
Skips test test_regression_bug13 on AppVeyor since it is failing. Someone else can follow up later with a fix. See #73 to track progress on this work item.

Travis passes again.
One of the tests on AppVeyor is not returning and causing timeouts. I need to figure out which one it is.

hrmm. well it still fails appveyor, but it's an improvement, so I'll merge it.
I'm considering turning down the docstring checks though... the one on the exception handler is a little redundant (especially considering the function's name)

I will add pytest-timeout to catch the hanging test in a separate PR.

Last I checked py.test timeouts didn't support windows (because it uses
os.fork), but I could be mistaken, or there could be a py.test plugin that
works on windows.
On Wed, Aug 9, 2017 at 10:55 PM, Korijn van Golen<EMAIL_ADDRESS>wrote:

I will add pytest-timeout to catch the hanging test in a separate PR.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/harvimt/quamash/pull/74#issuecomment-321458071, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAHRQh1Cw1MNCuOJxB5FIOyRER-tAaPqks5sWptcgaJpZM4Oxqez
.


Option to disable the toasts

I would like the disable option for the toasts which are telling me that theres probably something wrong with mod X. I want to see them when I'm looking for errors, but not when I'm just playing normally.

Open the VanillaFix settings menu and set "Scheduled Task Error Action" to "Ignore".

@Runemoro There's no such option. The options are: NOTIFICATION, WARNING_SCREEN, CRASH and LOG.

Sorry, I meant LOG.

@LiskoSlayer63 Oh, thank you for the quick answers!


Validate genesis transactions

Currently we do not validate transactions in genesis for historical reasons.
There are a couple of problems with that:

We cannot validate permission tokens usage in genesis
Validator may want to have all transactions to be passed through it so that it can store some information inside

The solution is to validate genesis transaction but with some additional info, so that Validator could know that it's from genesis.
@mversic proposed to pass block number to the validator. Seems a good solution to me, because with that users can also implement some interesting logic like "Let users do X after the block N" (like a permission delayed in time).

Postponed to ISA RFC


tensorflow/directml is slow compared to coremltools on MacOS

I'm trying to deploy a multi-model tool for mouse behavior classification on Linux, Windows & Mac.  For Linux, I use tensor flow 1.15 directly, with Cuda drivers to access the GPU(s).  For Mac, I translate the models into .mlmodel files using coremltools.  For Windows, I'm trying to use tensorflow-directml in order to easily utilize whatever GPU (Nvidia or AMD) that is available.  I'm finding that, on the same laptop with AMD GPU (a MacBook Pro), the tf-directml version runs about 3x slower than the mlmodel version in MacOS.  Here are some stats:
Model                 mlmodel   tf-directml        notes
detection             0.033 sec   0.088 sec       based on inception resnet v2
pose                  0.067 sec.  0.248 sec.      8-stack hourglass

I realize I'm running a very early version.  Do you expect the performance to improve substantially?  Do you have a guess as to when we might see performance improvements?

Hi Dave, as you mentioned we're still in a very early preview stage and thus far we've been focused more on bringing up functionality and stability, which means we haven't had a ton of opportunity to look at performance yet. As you've noticed, there's ample room for improvement! It's something we're aware of and we do expect to make substantial strides in GPU performance in future, although we don't yet have a concrete timeline for when that'll become available. One thing that would help us in our profiling and performance testing is if we could take a look at the types of models you're using. You mentioned inception-resnet-v2 - is there a particular implementation you're using that's available elsewhere e.g. on GitHub that we could take a look at?


Train Embedding Button Inoperable Since Last Auto1111 Update

Confirmed issue exists with two users, one using current DreamArtist commit, one using previous Commit.
When using the latest commit of Auto1111, clicking the Train Embedding button does absolutely nothing. No change in the console, no message in the UI.

Ok, here is error from Chrome console:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'parentNode')
    at requestProgress ((index):1532:50)
    at start_training_dreamartist ((index):1941:5)
    at eval (eval at <anonymous> (index.0b923826.js:75:2081), <anonymous>:3:48)
    at index.0b923826.js:34:32309
    at HTMLButtonElement.<anonymous> (index.0b923826.js:76:2455)
    at index.0b923826.js:4:1266
    at Array.forEach (<anonymous>)
    at HTMLButtonElement.ae (index.0b923826.js:4:1253)
    at HTMLButtonElement._ (Button.svelte:10:48)
    at index.0b923826.js:4:1266

We got a solution in @dwraco's comment, I'm about to try it!

Fix in new verison


Update changelog based on last roslyn update

Thanks for getting this :) I was trying to find the commit of the last insertion to compare

Not sure if you know this trick, but easiest way to find it is to look up the package version on the msft_consumption feed, which has the commit sha in the description, e.g.
https://dev.azure.com/azure-public/vside/_artifacts/feed/msft_consumption/NuGet/Microsoft.CodeAnalysis.LanguageServer.osx-arm64/overview/4.13.0-1.24501.3

Thanks for getting this :) I was trying to find the commit of the last insertion to compare

Not sure if you know this trick, but easiest way to find it is to look up the package version on the msft_consumption feed, which has the commit sha in the description, e.g. dev.azure.com/azure-public/vside/_artifacts/feed/msft_consumption/NuGet/Microsoft.CodeAnalysis.LanguageServer.osx-arm64/overview/4.13.0-1.24501.3

I did not! I always find the build that produced the artifacts for the sha... 🤦

I did not! I always find the build that produced the artifacts for the sha... 🤦

Same!


[Bug - Partner Center] Review failed

The errors described there do not relate to my extension.
In the report you mentioned:

Install the product.
connect to a server.
Notice that the product does not connect, and the IP address has not changed.

But my extension is a Bookmarks manager. It doesn't have any servers to connect to, and it certainly doesn't change any IP addresses.
How can I connect the review team?
The link to contact support team from this page https://docs.microsoft.com/microsoft-edge/extensions-chromium/publish/contact-extensions-team is not works...
Any way to contact the support ?

@x100x-dev Request you to please provide us more details of your extension and the submission you are referring to<EMAIL_ADDRESS>


[Bug]: Memory leak due to new dependency mediainfo.js in latest update

Client version
latest
Node version
16
Operating System type
Linux
Operating system version

Describe the bug
There seems to be a memory leak in the latest update due to mediainfo.js
If a stream is frequently opened and closed it will result in the following warning from node (I enabled the full stack trace with --trace-warnings)
(node:2382) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unhandledRejection listeners added to [process]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:601:17)
    at process.addListener (node:events:619:10)
    at MediaInfoModuleFactory (/Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/mediainfo.js/build/MediaInfoModule.js:9:1855)
    at MediaInfoFactory (/Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/mediainfo.js/src/mediainfo.ts:198:3)
    at /Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/mediainfo.js/src/mediainfo.ts:177:45
    at new Promise (<anonymous>)
    at MediaInfoFactory (/Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/mediainfo.js/src/mediainfo.ts:177:12)
    at analyzeCodec (/Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:440:49)
    at P2PClientProtocol.handleDataBinaryAndVideo (/Users/rene/dev/homebridge-plugins/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:1428:37)

It seems as if the repo mediainfo.js has already an issue open for this: https://github.com/buzz/mediainfo.js/issues/89 but to me it is not obvious if this will be resolved in the near future.
A user that heavily uses the homebridge plugin has also reported that this leads to using up all of his memory after approximately 24h (https://github.com/homebridge-eufy-security/plugin/issues/243).
So my question would be: is it necessary to utilise the new dependency here?
To reproduce
start and stop a stream frequently. Should happen after 10-20 times I think. Could reproduce quite regularly with the homebridge plugin.
Screenshots & Logfiles
No response
Additional context
No response

Since this update, I'm also consistently getting warnings about a potential memory leak and then a crash when it runs out of heap memory after downloading about a couple dozen videos. Trace points to mediainfo.
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 uncaughtException listeners added to [process]. Use emitter.setMaxListeners() to increase limit
JavaScript heap out of memory


latest master commit crashes with fedora 26

clpeak
Platform: Clover
Device: NV124
Driver version  : 17.1.4 (Linux x64)
Compute units   : 10
Clock frequency : 512 MHz
Build Log: invalid source
Platform: Intel Gen OCL Driver
Device: Intel(R) HD Graphics Haswell GT2 Mobile
Driver version  : 1.4 (Linux x64)
Compute units   : 20
Clock frequency : 1000 MHz
ASSERTION FAILED: Not supported
at file /builddir/build/BUILD/beignet-36f6a8b6b956ffed15d100abe677125d4a5aeaed/backend/src/backend/gen_insn_selection.cpp, function uint32_t gbe::getByteScatterGatherSize(gbe::Selection::Opaque&, gbe::ir::Type), line 4157
Trace/breakpoint trap
strace log here: https://paste.fedoraproject.org/paste/5RQSj31j5kBN80Q5hATaWw

This was seen in #29 too. This crash is related to beignet than clpeak itself


RFE: add proxy support

For those who are connected to corporate networks with required proxy to access the Internet.
   -p, -proxy       list of proxy to use (comma separated or file input)

Should support:

http
socks5

For those who are connected to corporate networks with required proxy to access the Internet.

   -p, -proxy       list of proxy to use (comma separated or file input)

Should support:

http

socks5

Exit


Line breaks in XPath string literal cause 'unexpected token' problem to be reported erroneously

First reported in: XPath Notebook #6
Sample XPath:
let $xml1 := parse-xml('<root>
  <item>a</item>
  <item>b</item>
</root>')
return $xml1/root/item

This issue was fixed in release VS Code 0.3.17 see Release Notes

Issue fixed in latest release


Issue #SB-28090 feat: updating quml-player version

Same changes sent by @itsvick , closing the PR


cudaGetDeviceCount() Error in docker

I am getting this error when i try to install the docker latest image openmmlab/lmdeploy:latest-cu11 on my windows system. I have cuda 11.8. I debugged a little and found that my ld library path is this /opt/lmdeploy/install/lib:/usr/local/nccl/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/openmpi/lib whereas the cuda libraries are in /usr/local/cuda/lib64
Can anyone help?
root@docker-desktop:/opt/lmdeploy# lmdeploy check_env
/opt/py3/lib/python3.10/site-packages/torch/cuda/__init__.py:118: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 500: named symbol not found (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)
  return torch._C._cuda_getDeviceCount() > 0
sys.platform: linux
Python: 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0]
CUDA available: False
MUSA available: False
numpy_random_seed:<PHONE_NUMBER>
GCC: x86_64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
PyTorch: 2.3.0+cu118
PyTorch compiling details: PyTorch built with:
  - GCC 9.3
  - C++ Version: 201703
  - Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220804 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v3.3.6 (Git Hash 86e6af5974177e513fd3fee58425e1063e7f1361)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - LAPACK is enabled (usually provided by MKL)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.8, CUDNN_VERSION=8.7.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.3.0, USE_CUDA=ON, USE_CUDNN=ON, USE_CUSPARSELT=1, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF,

TorchVision: 0.18.0+cu118
LMDeploy: 0.6.1+231e5bb
transformers: 4.45.1
gradio: 4.44.0
fastapi: 0.115.0
pydantic: 2.9.2
triton: 2.3.0
NVIDIA Topology:
        GPU0    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X                              N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

you can add this  ：docker run --security-opt seccomp:unconfined


Multiple Databases in migration

Is there a way to do a migration that involves multiple databases? Or do I have to create multiple migrations?

The module needs a single collection in a single DB as a source of truth about the migrations that have been ran. Other than that you can do virtually anything inside of your migration scripts, the library makes no assumptions. For your convenience the migrations code is given then connection to the same DB as this.db. You can use it or ignore, it's totally up to you.
So you can open N connection to other DBs on your own and run arbitrary commands.
I hope that answers your question.

Ok, thanks!


Load .terragrunt file relative to working dir

This fixes a bug where Terragrunt’s default path for the config file is .terragrunt in the current working directory rather than the working directory specified by the —terragrunt-working-dir parameter.

@josh-padnick Going to merge this trivial fix in. Feedback welcome!

LGTM! I appreciate your fixing this. I was in a rush so worked around it and wasn't sure if it was an official bug.


Rationalize controls content

Overview
Controls.json is a bit opaque, and poorly documented (#129). Reviewing & clarifying the contents seems timely.
Probably need a way to support the current format along side a nicer new one, given the deploy base.
Requirements
TBD
Approach
TBD
Security and Privacy
N/A
Test Plan
TBD

related to #17


Added SECURITY.md

Description
Added SECURITY.md file.
Checklist

[ ] This is a code change

[ ] I have run and tested the code to verify that it works
[ ] I have added tests to cover any code changes
[ ] I have updated the documentation accordingly

[ X] This is NOT a code change (e.g. documentation, readme, etc. )

Thanks, that was still missing!


Fix Array#reduce and Array#reduceRight

Fixes #5182
Fixes #6656
Fixes #7680
Fixes #7901

I believe that the lines you've deleted were added before we were strict about function arity. We would allow you to call functions with too many arguments, which meant that Flow had too much flexibility when choosing which overload to use. These were added as a workaround, but as the issues demonstrate, they caused their own problems.
Now that we are strict about function arity, these lines should be safe to remove. Thanks!


V2 podman system connection

Implement command
Refactor podman to pull from containers.conf/connections.conf by default
Write podman-system-connection.1.md

Signed-off-by: Jhon Honce<EMAIL_ADDRESS>

LGTM

/lgtm


Support for multi-layers encoder/decoders

Hi,
Is there any plans to add support for multi-layers of GRUs?
It has proven to be effective for other seq2seq tasks.
Thanks

Hello,
yes, we are hoping to have multi-layer GRUs at some point in the future.

@rsennrich is someone already doing this? otherwise I can do it

we're currently experimenting with different deep architectures, and will push this soon.

@rsennrich The current implement of decoder is in fact a conditional GRU. Is it essential for multi-layer decoder.  In fact, the current decoder consists of two GRU layers and an attention layer. Do you have any experience about improving the performance using the multi-layer?

there are now several variants of deep architectures in the master branch. Experimental results will follow soon - I currently recommend adding depth via the parameters "--enc_recurrence_transition_depth" and "--dec_base_recurrence_transition_depth".

there's some more documentation on deep models at https://github.com/Avmb/deep-nmt-architectures
The full paper will be published at WMT, but as a preview, here's selected results (EN->DE WMT17 parallel training data; newstest2016 test set):
shallow-shallow: 29.3
deeptransition: 30.1
bideep-bideep-rGRU: 30.6
bideep-bideep-rGRU-large: 31.0


[PL-39963] Add delegate install additional permissions note

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://657b545a5d253915e6e6b6f2--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://657c89ef8ccef3121f9633e4--harness-developer.netlify.app


Icons from Uno does not generat for object

When I use object with icons to generate html in for loop icons does not show up.
If I use the same item directly on page it shows up in both use places.
How do I force icons to be added to generates css?

Close in favor of https://github.com/unocss/unocss/discussions/1102


Can't send asset to the issuer of the asset

I'm building an anchor, https://bosanchor.io/
Users supposed to send their asset directly to the issuer's address so that the asset to be destroyed along with withdrawal. It had been working fine, but It has been blocked since few days ago with following message Destination does not accept this asset.
Is it intended behavior, so I should change the design of my anchor?

Someone else fixed it :)


Wrong / no database size displayed in 0.14.2

Describe the bug
Hi,
just migrated from 0.13.2 to 0.14.2. The size of the database under System -> Settings was roughly 30 MB in 0.13.2 and is now displayed to be 0 Bytes. So far it seems like no data is missing, but it doesn't really give a trustworthy impression that the database state can't be fully fetched 😅
I tried a database cleanup and restart, still the size is 0.
Also set up a new instance and uploaded some small files. Size is 0 as well.
Steps to reproduce

Use minimalistic setup - only DB.
Have some data in your instance. Text / images, whatever.
Go to Settings -> System, observe DB size entry doesn't reflect actual size.

Screenshots or additional context

I have the same thing!


feat: add lake exe shake tree shaking tool

This adds the lake exe shake command, which will check that every import is used in some constant. This has some known false positives because dependencies on notations and tactics are not tracked, so the noshake.json file is used to indicate that a file should always be treated as used, or that specific imports in specific files are treated as used.

bors merge


Split AI project into individual projects (resolved conflicts)

@cleemullins This PR replaces #343 and exists to resolve various merge issues with that PR
In order to improve consistency and in answer discussion in #324, I have done the following;

Split out QnA and Translation into their own Projects, to match the pattern used with LUIS, within a Microsoft.Bot.Builder.AI namespace (also moved LUIS into this namespace)
Introduced an AI solution folder to allow for more projects to be added in the future
Updated samples and unit test project references (all unit tests pass and samples build)

@tomlm Tom - this looks good to me. Want to take a quick look before I merge it?

@garypretty Ah! I see conflicts again. :( I was just about to merge it.

@cleemullins No worries. I will sort this later and ping you once done :)

@cleemullins no worries. I'll sort that later and ping you when done.

@cleemullins merged master in. conflicts resolved and it is building. Let's merge it quick :)

@garypretty It looks like there's still one merge conflict. I was about to check it in again !

@cleemullins wait. I was asleep for like an hour! 😂 Will resolve later when I get back and let you know.

@cleemullins conflict resolved :) 👍

@garypretty  It's in! It's in!!


build: Update bazel to 4.2.1

Signed-off-by: Yan Avlasov<EMAIL_ADDRESS>

Confirmed that the change to bazel 4.2.1 even with clang-cl 12.0.1 still causes the following error optimizing external/com_github_grpc_grpc/_objs/grpc_lb_policy_xds_cluster_resolver/xds_cluster_resolver.obj
Appears that we have to now drop clang-cl for the time being until we get this sorted out. This is probably
closely related to clang dropping the default of -g2, and missing a unix clang flag in the corresponding
windows clang-cl compilation flags.
0x00007FF7FB9A09E0 (0x0000005D8B78D698 0x0000005D8B78D6B8 0x000002458BDEE9B0 0x00007FF7F9E7FFDA)
0x00007FF7FAB535F3 (0x000000010000000F 0x0000CF72063AA3D6 0x0000000000000000 0x000000000000000F)
0x00007FF7F9EBB562 (0x0000000000000018 0x00007FF7FB9BE2E3 0x00000000000000E8 0x000003FA000003F7)
0x00007FF7F9E8250C (0x000002458BDFBC90 0x0000005D00000000 0x0000000000000104 0x000000000000000F)
0x00007FF7F9F22A2E (0x0000000000000000 0x00007FF7FC67B2C0 0x0000000000000020 0x0000000000000004)
0x00007FF7F7C37164 (0x0000000000000005 0x000000000000003F 0x0000005D8ACED080 0x0000024500000000)
0x00007FF7F7C34344 (0x0000000000000120 0x000002458BDEE160 0x0000005D8B78E288 0x0000005D8B78E270)
0x00007FF7F9E0AAC6 (0x000002458BDEE160 0x0000005D8B78E270 0x0000005D8B78E288 0x00007FF7F96FC87B)
0x00007FF7F96FCBCF (0x0000005D8B78E2D8 0x000002458BE51320 0x000002458BE51320 0x00007FF7F96D071C)
0x00007FF7F9E0A206 (0x0000000000000000 0x0000001000000000 0x0000000000000104 0x0000000000000050)
0x00007FF7F9D042A7 (0x000002458BE10770 0x000002458BE101D0 0x000002458BE0A670 0x0000000000000026)
0x00007FF7F9D04839 (0x00007FF7F96FCEF0 0x00007FF7F9752E41 0x000002458BDBA3B0 0x00007FF7F96FCF0F)
0x00007FF7F9CEFDF6 (0x000000000000006B 0x00007FFE00000000 0x000002458BDB0000 0x0000000000000002)
0x00007FF7F7C33C35 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)
0x00007FF7FB9BE9B8 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)
0x00007FFE25107974 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
0x00007FFE41B5A2F1 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
clang-cl: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 12.0.1
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:/Program Files/LLVM/bin
clang-cl: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-cl: note: diagnostic msg: C:\Windows\Temp\xds_cluster_resolver-31bafb.cpp
clang-cl: note: diagnostic msg: C:\Windows\Temp\xds_cluster_resolver-31bafb.sh
clang-cl: note: diagnostic msg:
********************

I see. I'll have to figure out how to fix this.

closing this as these changes have landed already


Update syllabus.md

If the paper is in the local_copies directory, please link to it (please see the other links for examples). If it isn't then add it. It should already be there.

OK. Now I have corrected the link according to examples and pull a new request. Thanks very much.


Repeating Groups with Multi-select data

Describe the bug
When have a repeating group of questions based on a multi-select question, if an option is selected and responded to, and then another option listed above the selected question in the multi-select, the data from the option filled out gets moved to the newly selected option
To Reproduce
Steps to reproduce the behavior. If applicable please include the smallest possible XLSForm or XForm (as zip or link).

Upload form with repeating groups which contain a cascading multi select
Select an item that is close to the bottom of the multi-select list
Enter information
Select an item that is closer to the top of the multi-select list
View the information entered, it will be entered for the item higher on the list

This also is reproducible with the reverse, if two options are selected and the top option is removed, the data goes to the next option
Expected behavior
The information entered should have stayed with the correct select item
Screenshots
Option 5 has the data entered

Option 4 selected, data previously entered for 5 is now in 4

Browser and OS (please complete the following information):
Chrome Windows 11
Additional details
aJHnrxBq4rauE8XaKsqjkk.xlsx

Bonjour @JacquelineMorrissette!
This looks to me like a fundamental issue with the form design. I believe a minimal reproduction would be a select multiple with a repeat that has values based on position in the select multiple. Is there an alternative behavior that you would expect given this form? If you also use ODK Collect, you may have noticed that it makes the flaw slightly harder to notice because it saves multiple selections in the order that they were selected. However, the same issue exists.
Here are some alternative form design options:

"Unroll" the repeat: use a group for each possible option and use a relevance condition to show or hide each group based on whether the corresponding option is selected
Use data collector hints and form structure to encourage the right behavior: put the select multiple on its own page and include a label that requests that data collectors don't move forward before being certain
If you're using Collect for data collection, this is one of the reasons the "don't allow moving backwards in the form" option exists
Use once() and/or trigger() to detect changes in the multi select and clear values in the repeats accordingly

If you still think there's an issue with Enketo not interpreting the form correctly, we can continue the conversation here. If you'd like to dig deeper into form design options, I recommend closing this issue and moving to the forum where we typically discuss form design.

Thank you for the response @lognaturel, but I'm confused by it. Is this the expected behaviour then?
My expectation is that by selecting "Option 4" when"Option 5" is already selected and filled out would display the "Option 4" question as blank and the "Option 5" question to keep it's answer.

The form boils down to using the position in a repeat to look up a value in a select multiple response at the corresponding index, right? So if the indexes of values change in the select multiple, the corresponding value read from the select multiple in the repeat will be updated but the user-provided answers will stay in the repeat instance they are provided in.
If that explanation doesn’t make sense, maybe you can point me to the form design mechanism you believe should make the kind of update you expect.

Thank you for your help with troubleshooting. I will close this issue


Link to winapi and windows-sys crates

WinAPI provides low level libc-like functions but for Windows. One may expect to find it here, so provide the links.
winapi crate works well, but it was last updated four years ago, so it does not seem maintained.
windows-sys is provided by Microsoft. Official, looks good, but I never used it, and it is somewhat harder to navigate.
So include links to both.

I think this is a good idea, but there isn't any reason to link an unmaintained crate. Just remove the winapi crate mention and one nit above, then LGTM.
@rustbot label +stable-nominated


Flatness project

Codecov Report

Merging #30 into 0.2.1-release will increase coverage by 0.01%.
The diff coverage is 98.01%.

@@                Coverage Diff                @@
##           0.2.1-release      #30      +/-   ##
=================================================
+ Coverage          94.36%   94.38%   +0.01%
=================================================
  Files                 32       33       +1
  Lines               4706     4755      +49
=================================================
+ Hits                4441     4488      +47
- Misses               265      267       +2

Impacted Files
Coverage Δ

BezierKit/Library/CGPoint+Overloads.swift
100% <ø> (ø)
:arrow_up:

BezierKit/Library/Path.swift
96.65% <100%> (ø)
:arrow_up:

BezierKit/Library/BezierCurve.swift
98.58% <100%> (+0.14%)
:arrow_up:

BezierKit/Library/CubicBezierCurve.swift
100% <100%> (ø)
:arrow_up:

BezierKit/BezierKitTests/FlatnessTests.swift
100% <100%> (ø)

BezierKit/Library/PathComponent.swift
92.82% <100%> (ø)
:arrow_up:

BezierKit/BezierKitTests/CGPointTests.swift
100% <100%> (ø)
:arrow_up:

BezierKit/BezierKitTests/BezierCurveTests.swift
100% <100%> (ø)
:arrow_up:

BezierKit/Library/Utils.swift
95.28% <100%> (-0.2%)
:arrow_down:

BezierKit/Library/QuadraticBezierCurve.swift
100% <100%> (ø)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0791d9e...71d1e1f. Read the comment docs.


The script Upgrade-PowerShell.ps1 - remarks

I read your script and I would like to propose some improvements.

Currently, credentials are provided as strings - the best practice is to use [System.Management.Automation.PSCredential] type - detailed explanation How to Add Credential Parameters to PowerShell Functions. Changing the list of parameters is a broking change so the newer version should be published as 2.0 with an error message that parameters username and password are not valid anymore.

The parameter verbose is declared as a switch type you don't have to assign the $false value to it. It has $false value by default. Additionally, usage of verbose should be checked by $verbose.IsPresent

References in the file header

.LICENSEURI https://github.com/jborean93/ansible-windows-scripts/blob/master/LICENSE
.PROJECTURI https://github.com/jborean93/ansible-windows-scripts

are not actual - you probably changed the GitHub project name. Yes, GitHub redirects to the current URL but ... ;-)
If you will pre-agree with my remarks I can prepare a pull request to address them.

Happy for 2 and 3, I was originally tossing up with making the -password parameter a secure string but in the end I didn't do it for 1 reason. This reason was because the password is stored as plain text in the registry and I didn't want to give people the illusion that the string stays secure. As a middle ground I'm happy to have a new parameter added called -credential that takes in a PSCredential object and that overrides -username and -password or raise an error if both are specified. For users who want to use the credential type they are able to but it also preserves backwards compatibility for others who just download the script from Github.
If you feel up to changing the documentation for the script you may also want to look at https://github.com/jborean93/ansible-windows/issues/2. I haven't gotten round to changing it but it just means all docs need to be commented line by line with # instead of <#.


Added listener for when selecting a participant fails +fallback toast

@smpete @sriamar ready for you guys to take another look...


Resource Lists - Mismatch between expected and actual JSON

The docs for resource lists say that 'calling any api endpoint without a resource id or name will return a paginated list of available resources for that api' with a shape like:
{
    "count": 365,
    "next": "http://pokeapi.co/api/v2/evolution-chain/?limit=20&offset=20",
    "previous": null,
    "results": [{
        "url": "http://pokeapi.co/api/v2/evolution-chain/1/"
    }]
}

When I hit a resource list endpoint, though, the results from the actual endpoints are different than expected. They currently seem to:

return only the contents of what would be in the results object (i.e. an array of { url, ?name } objects)
ignore query parameters, so limit and offset seem to have no effect on what gets returned

For example, using httpie:
http http://pokeapi/api/v2/pokemon/

I get the following output:
HTTP/1.1 200 OK
Allow: GET, HEAD, OPTIONS
Connection: keep-alive
Content-Type: application/json
Date: Mon, 08 Feb 2016 23:46:36 GMT
Server: nginx/1.1.19
Transfer-Encoding: chunked
Vary: Cookie
X-Frame-Options: SAMEORIGIN

[
    {
        "name": "bulbasaur",
        "url": "http://pokeapi.co/api/v2/pokemon/1/"
    },
    {
        "name": "ivysaur",
        "url": "http://pokeapi.co/api/v2/pokemon/2/"
    },
    {
        "name": "venusaur",
        "url": "http://pokeapi.co/api/v2/pokemon/3/"
    },

    [ . . . ]

    {
        "name": "latias-mega",
        "url": "http://pokeapi.co/api/v2/pokemon/10062/"
    },
    {
        "name": "latios-mega",
        "url": "http://pokeapi.co/api/v2/pokemon/10063/"
    }
]

I've curl'd, httpie'd, postman'd, and (far)fetch'd on a handful of different machines in different areas, so I don't think it's a problem on my end, but it's totally possible that I'm screwing up something completely simple and obvious :sweat_smile:

tl;dr -- Are the docs for resource list endpoints outdated? Or are the docs correct and the API results are wrong? Or am I screwing up somewhere?
Thanks! :grinning:

@bdchauvette Rest assured, you are sane and doing things correctly. We actually noticed this when we launched. We're really not sure what's causing the issue. Things work as expected when running locally in dev but live it's just spitting a list. Thank you for digging so far into it and formally logging a bug. Hopefully we can get this worked out soon. Is the issue impeding you in any way?

No worries! I'm loving this API :grinning:
I'm working on a JS wrapper, and wanted to create a mock API for offline testing. I came across this problem when working on mocking the resource lists, and I wasn't sure if I should try mocking the expected results, or the results that I was actually seeing.

@bdchauvette Great spot, and as @zaneadix said this is something that worked then suddenly stopped working (we should write a test to check in the future). It's likely just a configuration problem with the framework we use for the API layer (Django REST Framework).
You're welcome to investigate yourself if you want, but you've done quite a good job investigating this already. Myself or Zane can have a look and ship a fix soon :)

I'll poke around the source a bit, but I'm not familiar with Django at all so I don't know how helpful my eyeballs will be :P
If I come across anything before you guys find a fix, I'll be sure to update this issue and/or submit a pull request.

Found this in the DRF docs.
Seems we just need to configure a page size.

If it doesn't get tackled sooner I'll roll it into my next pull request.

So it appears that PAGINATE_BY is an older setting and that PAGE_SIZE (which we're currently using) was introduced around 3.0. Is it possible that the version of DRF on the server is behind?

@zaneadix Running 3.0.0 at the moment. We need to change it to PAGINATE_BY in the settings.
@bdchauvette - wanna make your first pull request? :smile:

@zaneadix's -- Good catch on the PAGINATE_BY / PAGE_SIZE issue!
It looks like PAGINATE_BY was officially deprecated in 3.2 and removed in 3.3. PAGE_SIZE & friends were added in 3.1, so if the server is on 3.0, this would definitely explain the problem.
I'm not sure how feasible it would be to update the server's DRF version, but if you guys can't, I played around with two ways of handling this:

Put an upper limit on the djangorestframework version (e.g. 9143bb348ecbd45e152f8b32d84190897b8c5145)

Put a version check in config/settings.py, and set the REST_FRAMEWORK accordingly. (e.g. 88cecada24c99241e6b6376043991849b3f6da43)

Both of these seem to work, at least on my computer.
I personally think limiting the version number in requirements.txt is probably the cleaner option. The version check does things a bit more flexible and forward-compatible, but (1) it's pretty ugly, and (2) it opens the door for greater divergence later on between the dev and production environments.
@phalt & @zaneadix - let me know what you guys think of these options. If one of them seems decent, I'll put together a proper pull request for it :+1:

I prefer changing the settings to change a package requirement - we might need to upgrade DRF in the future.

@phalt @zaneadix it appears ?limit= doesn't work but I'm assuming it's related to this issue?

Hey guys,
Just wondering if there's a plan for a fix anytime soon?
No pressure, just starting a project in the next few days and wanted to know if I should account for the bug.
Thanks :)

@dalehurwitz Hopefully we can get something up soon. we've already identified the issue. It really just depends on whether or not we can find time to push code up within the week.


[WIP] [CI] Serverless CI Pipeline based on AWS Batch

Description
To speed up our CI: Increase parallelism by submitting several AWS Batch jobs for every example notebook.
Checklist
Essentials

[X] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Serverless CI Pipeline based on AWS Batch

@szha, please help to update the IAM Instance Profile:
botocore.exceptions.ClientError: An error occurred (AccessDeniedException) when calling the SubmitJob operation: User: arn:aws:iam::650140442593:user/s3-write is not authorized to perform: batch:SubmitJob on resource: arn:aws:batch:us-east-1:650140442593:job-definition/gluon-nlp-jobs:6
http://ci.mxnet.io/blue/organizations/jenkins/GluonNLP-py3-master-gpu-doc/detail/PR-791/35/pipeline/

Job PR-791/113 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-791/113/index.html

Job PR-791/123 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-791/123/index.html

@szha @eric-haibin-lin please review and merge if everything looks good to you


s/KDE/Plasma

Description
Hello,
I found out today that Neofetch reports Plasma as KDE. KDE is the community and Plasma is the DE and one of the product of the KDE community. Could this be fixed?
Thanks
Neofetch version
6.0
Screenshot

https://github.com/dylanaraps/neofetch/blob/28dd7f46961ffcbc44a9ec11381c6714351f80f0/neofetch#L1547 Here is the line that needs to be changed.


No usable sandbox! If you are running on Ubuntu 23.10+ or another Linux distro that has disabled unprivileged user namespaces with AppArmor

I'm using pageres with GithubActions with ubuntu-latest (which is now 24.04). It was working fine with earlier Ubuntu versions (22.04).
Full error message log:
pageres ./mobile.report.html 800x1000 --overwrite --format=jpg --crop --filename="mobile"

file:///home/runner/work/screen-orientation-test/screen-orientation-test/node_modules/@puppeteer/browsers/lib/esm/launch.js:303
                reject(new Error([
                       ^

Error: Failed to launch the browser process!
[3293:3293:1218/0701[10](https://github.com/walitoff/screen-orientation-test/actions/runs/12387951953/job/34578246805?pr=41#step:13:11).577912:FATAL:zygote_host_impl_linux.cc(128)] No usable sandbox! If you are running on Ubuntu 23.10+ or another Linux distro that has disabled unprivileged user namespaces with AppArmor, see https://chromium.googlesource.com/chromium/src/+/main/docs/security/apparmor-userns-restrictions.md. Otherwise see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the (older) SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
[1218/070[11](https://github.com/walitoff/screen-orientation-test/actions/runs/12387951953/job/34578246805?pr=41#step:13:12)0.585111:ERROR:file_io_posix.cc(145)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[[12](https://github.com/walitoff/screen-orientation-test/actions/runs/12387951953/job/34578246805?pr=41#step:13:13)18/070110.585149:ERROR:file_io_posix.cc([14](https://github.com/walitoff/screen-orientation-test/actions/runs/12387951953/job/34578246805?pr=41#step:13:15)5)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)

TROUBLESHOOTING: https://pptr.dev/troubleshooting

    at ChildProcess.onClose (file:///home/runner/work/screen-orientation-test/screen-orientation-test/node_modules/@puppeteer/browsers/lib/esm/launch.js:303:24)
    at ChildProcess.emit (node:events:525:35)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)

Node.js v23.4.0
Error: Process completed with exit code 1.

The error says it all.


Remove outdated content in "How do I organize nested or duplicate data in my state?"

name: :book: Updated Documentation Content
about: Remove outdated content in "How do I organize nested or duplicate data in my state?"
Checklist

[x] Is there an existing issue for this PR?

https://github.com/reduxjs/redux/issues/4421

[x] Have the files been linted and formatted?

What docs page is being added or updated?

Section: How do I organize nested or duplicate data in my state?
Page: Redux FAQ: Organizing State

For Updating Existing Content
What updates should be made to the page?

Add a link to "Redux Essentials: Normalizing Data"
Remove content that contains multiple dead/outdated links
Remove content focused on performance optimization with older versions of react-redux and react

I understand this section is about organizing state but after reading through "High-Performance Redux" and "Stack Overflow: How to optimize small updates to props of nested components in React + Redux?", they only mention normalization briefly
Their main focus was more on optimizing performance with older APIs/patterns like makeMapStateToProps and shouldComponentUpdate, which doesn't seem relevant to include anymore

Thanks!


Automatic bundle updates in production

Create app-version app component

Create a Socket.IO event listener for bundle updates that exposes a needToUpdate variable in a hook
Create a server-side API for explicitly setting a version that, if the client's bundle version is lower, indicates to the client that it should update

Implemented in the app-version packages


Block removing a valid lease in case not owned

ECOPROJECT-1589
Block lease removal in case it is still valid and owned by a different holder

/hold

/lgtm
Giving a chance to get more feedbacks, feel free to unhold
/hold

/unhold


iOS 错误

[!] CocoaPods could not find compatible versions for pod "flutter_qiyu":
In Podfile:
flutter_qiyu (from .symlinks/plugins/flutter_qiyu/ios)
Specs satisfying the flutter_qiyu (from .symlinks/plugins/flutter_qiyu/ios) dependency were found, but they required a higher minimum deployment target.

需要将 deployment target 修改为 10.0
https://github.com/leanflutter/flutter_qiyu/blob/main/example/ios/Podfile


Goal oriented reporting

This issue can be closed when the NO report is updated to be more focused on the goals of the NO functionality of d3ploy.

@katyhuff @FlanFlanagan @gwenchee (I don't have permission to assign people to the issue)

This PR https://github.com/arfc/ddca_numerical_exp/pull/15 closes this.


Issues with using the Prolog built-ins

Hi,
I was wondering what the status is of using the Prolog built-ins through the EYE reasoner. According to some of the tutorial slides they could be used using the prolog namespace. I could get the other namespaced built-ins (list, math, log, etc) to work, but those in the prolog namespace http://eulersharp.sourceforge.net/2003/03swap/prolog.html do not seem to be available.
I have went through the source a bit and it says they are deprecated. I am new to the reasoner so I might have missed something. If it is still possible to use them are there any test cases that could show how?

Hi,
Yes indeed, according to https://github.com/josd/eye/blob/master/RELEASE
[v17.0811.0745] deprecating prolog: built-ins and using e:calculate and e:derive instead
You can find some details about e:calculate and e:derive at https://github.com/josd/eye/blob/master/log-rules.n3
For more examples see for instance in https://github.com/josd/fluid/blob/master/fgcm/fgcm-plugin.n3
Kind regards,
Jos