Added Common Methods and Properties

I have added (nearly) all methods and properties as described in
https://www.w3schools.com/tags/ref_av_dom.asp
to be called directly from an BlazoredVideo object.

Thanks very much for the PR - I'll find some time soon to check it out and hopefully merge!

@JPVenson   Thanks for opening this PR!   Using the code changes from this PR I was able to use it to workout the desired functionality I need to programmatically change the Source video url and then to start playing the next video in the list.
What I essentially have is a main video player that will start with the default video for a Module.  There are usually multiple videos per module in a Playlist.   The user can start playing the next  one in the list if they so choose.
My use case is the following:

When each video ends, play the next one in the list.
If a Video has previously been played, then start the main video at the next one in the list.

I have done some by performing the following behavior.  Does this look like the correct call flow in order to stop the currently playing video, set the new source and begin to play the desired next video?
<button @onclick="PlayNextVideo">Play Next Video</button>
        <BlazoredVideo @ref="MyBlazorVideo" TimeUpdateEvent="OnEvent" Play="OnPlay" Ended="OnEnded" CanPlay="OnCanPlay"
                       VideoEventOptions="options"
                       class="w-100"
                       style="max-width: 800px;"
                       controls="controls">
            <source src="@VideoSource" type="video/mp4" />
        </BlazoredVideo>
@code {
    BlazoredVideo MyBlazorVideo;
    public string VideoSource { get; set; }
    public int VideoIndex = 0;
    Dictionary<VideoEvents, VideoStateOptions> options = new Dictionary<VideoEvents, VideoStateOptions>();

    protected override void OnInitialized()
    {
        var option = new VideoStateOptions() { All = true };
        options[VideoEvents.CanPlay] = option;
        options[VideoEvents.Play] = option;
        options[VideoEvents.Ended] = option;
        options[VideoEvents.TimeUpdate] = option;

        Videos.Add("https://video1.mp4");
        Videos.Add("https://video2.mp4");
        Videos.Add("https://res.cloudinary.com/blazoredgitter/video/upload/v1557015491/samples/elephants.mp4");
        VideoSource = Videos[VideoIndex];
    }

    async Task PlayNextVideo()
    {
        VideoIndex++;
        if (VideoIndex <= Videos.Count - 1)
        {
            Logger.LogInformation($"PlayNextVideo Src: {MyBlazorVideo.Src} CurrentSrc: {MyBlazorVideo.CurrentSrc}");
            VideoSource = Videos[VideoIndex];

            await MyBlazorVideo.ReloadControl();

            await MyBlazorVideo.StartPlayback();
        }
    }

@chrislangston I have done essentially the same only with more "steps" in between but in essence your code should workout fine.

@chrislangston I have done essentially the same only with more "steps" in between but in essence your code should workout fine. Apart from proactivly calling StopPlayback before reloading the control your code looks ok

Thanks @JPVenson.  Are there any other gotcha's that I should watch out for for example should we do any Dispose or unregister of Event Handlers before switching the source and reloading?

hmm not really, not for this case. Not as i have observed it as all eventhandlers seem to be removed of when the object is removed from DOM.
You should be careful to not try to start the playback while the pause promise is not yet completed as this will cancel the promise and will result in an error message. But this is just "for information" it does not seem to be effecting anything. if you are interested i can put my project on Github, I have wrapped the whole player to support my own controls.

hmm not really, not for this case. Not as i have observed it as all eventhandlers seem to be removed of when the object is removed from DOM.
You should be careful to not try to start the playback while the pause promise is not yet completed as this will cancel the promise and will result in an error message. But this is just "for information" it does not seem to be effecting anything. if you are interested i can put my project on Github, I have wrapped the whole player to support my own controls.

@JPVenson That would be fantastic if you can share your code!  I would love to see all the advanced stuff you are doing.

@chrislangston this is the repro:
https://github.com/JPVenson/JPB.InhousePlayback
For Video related stuff i was doing, the most important classes are as follwing:
VideoExComponent:
https://github.com/JPVenson/JPB.InhousePlayback/tree/master/JPB.InhousePlayback/Client/Components/VideoEx
Mostly just copy paste for pushing the repo without having the changes on the Blazored.Video yet
VideoEx:
https://github.com/JPVenson/JPB.InhousePlayback/blob/master/JPB.InhousePlayback/Client/wwwroot/scripts/videoEx.js
Js code for my custom Video overlay controls UI (containing also the js part for the VideoComponentEx)

@SQL-MisterMagoo   I hope you're doing well.  Any chance of getting these code changes merged in so we can pull the Nuget library instead of manually bringing in the various components?

Yea same here. I will reiterrate over your mentions and make as much changes as you asked for, but I just recently suffered some hardware loss (GPU Waterblock literally Burned today) i dont know when I again will have a working pc for the changes to be made.

@JPVenson Hey, hope you're doing great. This is a great PR, nice job! I stumbled into this repo yesterday and I immediately thought these properties and methods were very much needed. I even posted an issue asking for them! I didn't know this PR existed.
Is there any chance you could sort out the changes that @SQL-MisterMagoo talked about in the coming days so we can have these soon?

@JPVenson Hey, hope you're doing great. This is a great PR, nice job! I stumbled upon this repo yesterday and I immediately thought these properties and methods were very much needed. I even posted an issue asking for them! I didn't know this PR existed.
Is there any chance you could sort out the changes that @SQL-MisterMagoo talked about in the coming days so we can have these functionalities soon? That'd be very much appreciated.

Hi @AradAral  This is going to turn out to be a very important library for the Blazor eco-system.  What I did was to pull the PR locally and I am using it as it to fit my needed in the meantime. Once the changes come in I'll replace with the latest and great code.  However, this allows me to reload new videos using familiar C# method names which makes it amazing :-).  The actual project that JP shared actual demonstrates a very advanced usage of this library.

@AradAral Without promises, maybe Tuesday next week.

OK a bit of explaining required:

To be compliant with standards in Blazor Components, I changed the js component to not be loaded by default. Blazor components should be loaded by the invoker at his discretion with:

<script src="_content/Blazored.Video/blazoredVideo.js"></script>

I added support for properties with TimeRanges
I added also support for the property TextTracks but was not able to test this property as I dont have any video that seems to be supported
Changed the name of the JS object as it was a bit too broad called "Blazored" for my taste to "BlazoredVideo"
Otherwise i added comments for all properties according to: https://www.w3schools.com/tags/ref_av_dom.asp

@JPVenson Great job! Thanks, man.

@SQL-MisterMagoo hey has been a while. Any progress here?

@SQL-MisterMagoo hey has been a while. Any progress here?

Hi, yeah, sorry personal reasons, but I've been working on it again today and come across something I hadn't tested yet and don't know if I am doing something wrong....
I was trying to set the PlaybackRate, but cannot find a syntax that works - I've never seen a property defined as a Task and don't know how to use it to set a value - can you help?

@SQL-MisterMagoo
Yea no hurry just wanted to know if you are still aware of it :-).
in my last pull request the property was of type double:

/// <summary>
///		Sets or returns the speed of the audio/video playback
/// <example>
/// <para>
///		1.0 is normal speed,
///		0.5 is half speed (slower),
///		2.0 is double speed (faster),
///		-1.0 is backwards; normal speed,
///		-0.5 is backwards; half speed,
/// </para>
/// </example>
/// </summary>
public double PlaybackRate
{
	get { return GetValue<double>(); }
	set { SetValue(value); }
}

What do you mean with a property of type Task?

What do you mean with a property of type Task?

Hmm, ok so I have to look back and see what happened - thanks

@SQL-MisterMagoo I reviewed your PR and with https://github.com/Blazored/Video/pull/8/commits/846cc3026b44fb0c61155c840e8179b6714b432f you changed all the types to be of Task<>. Mine did not but return the direct type.

Yeah, I just saw that myself - I think you can see why I took a break! I'll fix it 😱😱

I am finally able to look at this again - I have updated the tests to work with the new code and am in the process of updating the samples to use some of the new methods/properties.
Hitting a few snags but hope to have it sorted out tomorrow.

any update?

Hey all - really sorry for the loooong delay - It's been a rough couple of years and I just haven't had the time to do anything, but I am actively looking to merge this in now. Hopefully not too long.

@SQL-MisterMagoo No worries we understand. I hope everything now works out for you! But if you need more help i can offer to help you out with the video repro.

@SQL-MisterMagoo  Gl

@SQL-MisterMagoo No worries we understand. I hope everything now works out for you! But if you need more help i can offer to help you out with the video repro.

@SQL-MisterMagoo  We all understand the day job commitments.  I still greatly appreciate you and @JPVenson  creating / enhancing this library.  I've been using it non-stop without issues since Dec 2020 which is a strong testament to your creativity and contributions to the community.
If I can be of assistance let me know.


MonadMask instance for Action

Action is annoyingly restrictive in doing bracketed IO actions. How hard would it be to add an instance for MonadMask or less-preferably (IMHO) for MonadBaseControl?

This is starting to become an FAQ, see https://github.com/ndmitchell/shake/issues/186 and https://github.com/ndmitchell/shake/issues/166, and a half written blog post with some of my earlier ideas: https://github.com/ndmitchell/blogs/blob/master/shake-exceptions.md. It basically boils down to two things:

It's impossible, since Action is a continuation.
It's undesirable, since then you could make choices depending on whether a rule succeeds or fails, whereas failure of a rule you depend on should result in you failing.

I do provide actionFinally and actionOnException as building blocks though, and withTempFile and withTempDir. And of course, if you are entirely in IO, then liftIO and bracket works fine. What was your example use case?

Thanks for the clarification. In my context I need to wrap an action with a global file lock/unlock. It's certainly an undesirable situation, but for whatever reason the tooling we have does not support concurrent usage and does not protect itself from it. We're using a CI that where several builds can happen simultaneously.
However, that said, I took a look at actionFinally and I'm quite confident that will do what I need it to. So, instead of an issue, this should be a praise. Good work.

Seems a shame the CI system can't do different builds at different times in different directories, or otherwise synchronize itself. Certainly Bake can (https://github.com/ndmitchell/bake) - although that's probably still not suitable for real humans just yet. Although Bake does have a super-robust file locking primitive (which auto-reaps if the calling process dies), so that may be worth stealing: https://github.com/ndmitchell/bake/blob/master/src/General/Extra.hs#L114
I'll close this ticket, and try and get round to finishing off the blog post sooner rather than later.

@ndmitchell We're using Jenkins. It can build in different dirs, but our code-signing tooling is awful and doesn't support concurrent usage. So Jenkins is fine, but the signing will randomly clobber itself. We ended up using the filelock package because it has native Windows support without doing any threadDelays. It also auto-unlocks on process death.

@ndmitchell I noticed bake a while ago.

Ah, it seems the filelock might be a better alternative to what I'm doing - I'll add a note to switch in Bake in case that bit ever gives me problems.

@ndmitchell It's only downside is that it doesn't have native support for a timeout, so you'd have to provide that yourself with timeout or similar.

Yeah, I don't use timeout at the moment anyway, so not a problem - thanks for the pointer.

Haskell has a thousand little gems.


Grids Extension

Related Issue(s): #
Proposed Changes:

Add a Grids extension to enable single items to have assets with different CRS-referenced projections. The data is encoded similar to GDAL GetGeoTransform or the Rasterio Transform

PR Checklist:

[x] This PR has no breaking changes.
[x] I have added my changes to the CHANGELOG or a CHANGELOG entry is not required.
[ ] API only: I have run npm run generate-all to update the generated OpenAPI files.

Hey @abhijeetkumarga - apologies for the very slow response on this PR, but I personally only just finally understood why this is useful for some of my use cases, when @matthewhanson explained the thinking behind it.
He said that it's mostly used to be able to populate a data cube without opening every single file to get its pixel information. At Planet we provide fields in our data api to enable GDAL VRT's and ESRI virtual catalogs. In our case it's offset_x and offset_y plus rows and columns, plus epsg code. But our team finds the shape + transform construct meeting our needs and a nice general solution, so we could potentially align on it as well as we transform to a STAC compliant metadata search API.
I think the only tweak we might recommend is making it so you can just have one grid and have it be the default by default - we don't usually have different CRS's or resolutions at a per asset level - the grid is most always the same for all assets.
I'm not sure much needs to change with the details, but I think it'd be really good to describe the use cases a bit more fully in the extension readme, and perhaps to have a simpler example of just using it to describe a single asset. I'd be happy to help out on this.

Hey @cholmes, when you say default by default do you think that  we should handle there not being a grid against an asset and pick up the default grid then?
We could add some info on how we use the grids in the Open Data Cube world in the readme, is that the kind of use case you're thinking?
I can pull together a full example based on @matthewhanson's Sentinel-2 0.9 STAC and add grid info, perhaps. (Although S-2 has three grids, so it's not all that simple, actually.)

@alexgleith - reading back on what I wrote I definitely wasn't so clear on communication, and I think my thinking on it wasn't so clear either.
So the main thing I'm thinking about is how to make this general for simple cases, to communicate the overall shape / transform in the case where all your assets would use the same one.
When I wrote it I was imagining that you could declare one grid, and then if you didn't explicitly name a grid in your asset then the client could assume that you wanted to apply that grid.
But thinking on it more I remembered that I really don't like json objects in properties, as they can't be read by typical GIS programs, as most GIS doesn't understand nested structures.
So what I'm thinking now is for a 'simple' case (you don't have assets with different spatial resolutiosn) we have proj:shape and proj:transform as properties (riffing off the suggestion in #756). So Planet would just use those, replacing offset_x,  offset_y, rows, columns.
Perhaps just getting those into proj and then keeping this as an extension makes sense - right now the extension is introducing a few different concepts. It could be cleaner if shape and transform are introduced in proj extension, and then this can just talk about the structure to use it on assets, reusing the same proj:shape and proj:transform names.
So I'm realizing the use case stuff I'd like to see is more at the shape and transform level - just the use case of populating a .vrt or a data cube without having to open the file. And then this can focus on the grids. But yes, more info on how you use grids in open data cube I think would be helpful.
If we do keep it as an extension I do think we should brainstorm a less generic name for it. Can be a longer name, and maybe keep 'grids' as the prefix.

I really like the idea of having this with the proj extension, as thematically they very much go together.
I'm not a big fan of having the additional grids dictionary either, but I think it's actually more common to have more than 1 grid in an Item then not.  All Landsat and Sentinel data has bands with different resolutions, as do all the Worldviews. Pan bands are common for a lot of satellites.
Is it really worth the saved bits to not have redundant information across assets?
We could just have "proj:shape" and "proj:transform" for all assets:
proj:shape: [1000, 1000],
proj:transform: [1, 1, 0, 1, 1, 0]

vs:
proj:grid: "gridkey"

Then the grid dictionary has at the least:
grids: {
   "gridkey": {
       proj:shape: [1000, 1000],
       proj:transform: [1, 1, 0, 1, 1, 0]
   }
}

For sentinel, we repeat a 2 element array and a 4 element array a few times each, it doesn't seem like a whole lot of extra info, but is simpler and more readable.

I can see advantages both ways. The simplicity of having:
proj:shape: [1000, 1000],
proj:transform: [1, 1, 0, 1, 1, 0]

on all assets versus the "don't repeat yourself" of having a lookup table.
I don't feel strongly either way. I guess I lean slightly towards the lookup table, but ultimately, I'll defer to you two.

I'm not a big fan of having the additional grids dictionary either, but I think it's actually more common to have more than 1 grid in an Item then not. All Landsat and Sentinel data has bands with different resolutions, as do all the Worldviews. Pan bands are common for a lot of satellites.

I think that's true for 'non-derived satellite imagery', but I believe the goal of STAC is to have Items handle far more... A composite or derived index wouldn't have more than one grid. Harmonized data wouldn't have more than one grid. Aerial / drone imagery, video, etc.

Is it really worth the saved bits to not have redundant information across assets?
At the level of an item? That could have 5+ assets that repeat the info? I'd say potentially yes. For every other construct we have in STAC. no. But Planet's catalog is 700 million+ records, and is accessed very often, so it is a lot of extra bits flying around.

I think I do like just having proj:shape and proj:transform. Then we don't have to shove a dictionary into properties.
I'd like to solve the ability to specify asset level defaults at the property level in a more generic way. Like it feels like we should have a mechanism / ability to say 'all assets have X as their asset property'. Like if I have 3 assets and they are all bands 2,3,4 then just say "eo:bands": [2,3,4] once. Like it's sorta a way to declare a 'default' for your assets.  Another use case I heard recently is zoom levels - hints to a tile server about where a COG works well (overviews have been generated).
Perhaps it's too simple or puts too much burden on the client, but we could just say if you put shape / transform at the property level it applies to all assets, and if you put it at the asset level then it applies just to that asset.  Though perhaps that opens up too much complexity - could any property be specified at the asset level?

I too think that this is better off being grouped in proj. Saves the trouble of coming up with the new name.
I think @cholmes suggestion to have global proj:{shape,transform} that applies to every asset unless overwritten at asset level is pretty clean and readable. Makes simple case simple (and byte efficient), and complex case possible (while also being byte efficient, in the case when only few bands are different).
It does require extra complexity from code interpreting the structure, but so does having "name pointers", that might be misspelled or missing from the grids dictionary altogether. It would certainly work for us at open datacube.
Primary use case for open datacube to have this data "ahead of read time" is "Data Processing Planning". With this data available in the metadata, we can answer questions like “can we use native resolution/projection to load ALL the data for a given spatio-temporal query and how much RAM will this require”. This is helpful for both interactive data exploration by a data scientist in a Jupyter notebook as well as for large scale distributed processing, particularly when time axis reduction is performed.
Basically building a dask array using "native projection and resolution" without peeking into every file ahead of time, which can be very expensive for S3/http data.

This has been replaced by https://github.com/radiantearth/stac-spec/pull/780

Closing in favor of #780 which makes the proposed "grids" extension part of the "proj" extension instead.


[Service Bus] Update preview.3 to preview.4 in readme

@HarshaNalluru Can you review the migration guide and fix any of the api changes we forgot to update there?


lime.animation.Loop addTarget returns nothing

According to the documentation, lime.animation.Animation.addTarget returns the object instance itself. But, lime.animation.Loop's implementation of addTarget returns nothing.

Fixed. Thanks.

You're welcome -- thank you! This is a terrific product.


Consider removing/reverting background-color: transparent;

Currently, we use this line from normalize:
https://github.com/Starcounter/underwear.css/blob/master/underwear.unminified.css#L104
a {
	background-color: transparent; /* 1. Remove the gray background on active links in IE 10.*/
}

That introduces problems like https://github.com/Starcounter/KitchenSink/issues/263#issuecomment-374529477, https://github.com/Starcounter/uniform.css/pull/82 which makes us use !important against ourselves to overwrite styles across shadow dom boundary. I think it's a bad code smell, that we need to fight between our own libraries. This could make user/app developer driven overwrites even harder and messier, not to mention their impression after seeing our internal overwrites.
This normalize line suggests that's a problem only for IE10 which is not on the list of browsers supported by us.
Do you think we could import normalize more selectively, or rever this rule somehow?
//cc @alshakero

I don't prefer removing rules from normalize, that's like forking it.
I tried with creating a new rule that sets the value to unset and initial and neither worked.
I'll sleep on it and come back.

Thanks @tomalec for bringing this up.
I could find some discussion about this in Normalize: https://github.com/necolas/normalize.css/issues/473
I think there is no way of fixing this other than removing the line in topic from our copy of Normalize.

Issue moved to Starcounter/uniform.css #146 via ZenHub


registered function doesn't update documents

hello,
I want to make a registered AQL function that updates documents in a given collection (and I'm using arangodb 2.7.3). But I'm wondering that the following test code doesn't update documents:
aqlfunctions.register("myfunctions::test::countdocuments",
  function(col) {
    var c = require("internal").db._collection(col);
    var d, i = 0, a = c.all();
    while (a.hasNext()) {
      i++;
      d = a.next();
      c.update(d, {"label": 1});  // <== this doesn't update documents (see bellow)
    }
    return i;
  });

var col = "work";
db._create(col, {isVolatile: true});
db._query(`FOR i IN 0..9 INSERT {"_key": TO_STRING(i), "label": 0} IN ${col}`);
db._query(`RETURN myfunctions::test::countdocuments("${col}")`).toArray()
// [
//   null (or 10 when commenting out c.update() above)
// ]
db._collection(col).toArray()
// [ {"_key": "0", ..., "label": 0},
//   {"_key": "1", ..., "label": 0},
//   :
//   :

https://docs.arangodb.com/AqlExtending/Conventions.html
from the docs:
User functions can take any number of input arguments and should provide one result. They should be kept purely functional and thus free of side effects and state, and state modification.

Modification of global variables is unsupported, as is changing the data of any collection from inside an AQL user function.

Also I'm getting:
Warnings:

[1583], 'in function 'MYFUNCTIONS::TEST::COUNTDOCUMENTS()': user function runtime error: [ArangoError 1652: unregistered collection used in transaction]
  at Error (native)
  at (user function MYFUNCTIONS::TEST::COUNTDOCUMENTS):7:9
  at Object.FCALL_USER (/Applications/ArangoDB.app/Contents/Resources/opt/arangodb/share/arangodb/js/server/modules/org/arangodb/aql.js:960:55)
  at Function.<anonymous> (--script--:1:146)
'

Result:

[
  null
]

I see. Thank you for your good description and suggestion for me.


Failed to pull image "smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2": rpc error: code = Unknown desc = Error response from daemon: Head "https://smartsitealfaacr.azurecr.io/v2/aem6.5-authbaseimage/manifests/v2": unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.

I have created new env using pipeline which is working as namespace in which aem pods are running
However, it created the pipeline successfully but now pods are not running and giving error
Failed to pull image "smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2": rpc error: code = Unknown desc = Error response from daemon: Head "https://smartsitealfaacr.azurecr.io/v2/aem6.5-authbaseimage/manifests/v2": unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.
k get pods -n sape-qa-5 -owide
NAME                                                                  READY   STATUS             RESTARTS   AGE    IP               NODE
sape-qa-5-author-baseauth-8374934938-66l9x   0/1     ImagePullBackOff   0          43m       sape-kube-worker8
sape-qa-5-publish-basepub-7544796468-lkvml   0/1     ImagePullBackOff   0          124m      sape-kube-worker8
k describe pod sape-qa-5-author-baseauth-8374934938-66l9x -n sape-qa-5
Name:         sape-qa-5-author-baseauth-8374934938-66l9x
Namespace:    sape-qa-5
Priority:     0
Node:         sape-kube-worker8/
Start Time:   Thu, 06 Jul 2023 14:17:04 +0530
Labels:       app.kubernetes.io/instance=sape-qa-5-author
app.kubernetes.io/name=baseauth
pod-template-hash=8374934938
Annotations:  cni.projectcalico.org/podIP: /32
cni.projectcalico.org/podIPs: /32
Status:       Pending
IP:
IPs:
IP:
Controlled By:  ReplicaSet/sape-qa-5-author-baseauth-8374934938
Containers:
baseauth:
Container ID:
Image:         smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2
Image ID:
Port:          4502/TCP
Host Port:     0/TCP
Command:
/opt/aem/author/run.sh
State:          Waiting
Reason:       ImagePullBackOff
Ready:          False
Restart Count:  0
Environment:
Mounts:
/opt/aem/author/crx-quickstart from author-crx (rw)
/var/run/secrets/kubernetes.io/serviceaccount from sape-qa-5-author-baseauth-token-f5gz9 (ro)
Conditions:
Type              Status
Initialized       True
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
author-crx:
Type:          HostPath (bare host directory volume)
Path:          /app/sape-qa-5/author/crx-quickstart
HostPathType:  Directory
sape-qa-5-author-baseauth-token-f5gz9:
Type:        Secret (a volume populated by a Secret)
SecretName:  sape-qa-5-author-baseauth-token-f5gz9
Optional:    false
QoS Class:       BestEffort
Node-Selectors:  kubernetes.io/hostname=sape-kube-worker8
Tolerations:     env=QAENV:NoSchedule
node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason     Age                    From                        Message

Normal   Scheduled                default-scheduler           Successfully assigned sape-qa-5/sape-qa-5-author-baseauth-8374934938-66l9x to worker8
Normal   Pulling    33m (x4 over 34m)      kubelet, worker8      Pulling image "smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2"
Warning  Failed     32m (x4 over 34m)      kubelet, worker8      Failed to pull image "smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2": rpc error: code = Unknown desc = Error response from daemon: Head "https://smartsitealfaacr.azurecr.io/v2/aem6.5-authbaseimage/manifests/v2": unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.
Warning  Failed     32m (x4 over 34m)      kubelet, worker8      Error: ErrImagePull
Warning  Failed     9m32s (x107 over 34m)  kubelet, worker8    Error: ImagePullBackOff
Normal   BackOff    4m36s (x129 over 34m)  kubelet, worker8  Back-off pulling image "smartsitealfaacr.azurecr.io/aem6.5-authbaseimage:v2"
Any help would be appreciated

unauthorized: authentication required,

and this is not an issue of the helm.

unauthorized: authentication required,

and this is not an issue of the helm.

No @yxxhero

@HarshRithalia please provide more logs by adding --debug.

Please follow the link in the error


feat: add toLeetSpeak

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


failed_precondition: you must agree to the latest terms first

This might be a dup of other bugs we are addressing wrt ToS but logging it just to make sure. This is with latest CLI code from main.
Error: failed_precondition: you must agree to the latest terms first

Please use the following command to see the Defang terms of service:

  defang terms

Regression from https://github.com/defang-io/defang-mvp/pull/519

Improvements to ToS DX are tracked by #143


Hotstar Addon link

Can someone pls provide latest Hotstar Kodi addon link in which login issue is resolved? Thank you.

plugin.video.hotstar.zip


CLI command is incorrect - Register an IoT Edge device

When I tried to use the command "  az iot hub device-identity create --hub-name {IoTHubName} --device-id myEdgeDevice --edge-enabled" , I have a message that the device-identity is not recognize and I should look for the "az iot hub --help"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 30ba9128-7ae3-2054-5af1-53577fec619f
Version Independent ID: 3e40bd99-5f86-2daf-103a-33686f2e3067
Content: Register a new Azure IoT Edge device
Content Source: articles/iot-edge/how-to-register-device.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@Alberto2K Thank you for bringing this to our attention. Can you provide the specific Azure CLI command you experienced this issue with? This would be helpful. In the following section of the document: Create an IoT Edge device with the Azure CLI the specific example is shown as: az iot hub device-identity create --device-id [device id] --hub-name [hub name] --edge-enabled where your example has --device-id and --hub-name being passed in reverse order.
Can you review this, and let me know if this changes the result. Thank you!

First, I was doing the Lab 11 from the following link: https://microsoftlearning.github.io/AZ-220-Microsoft-Azure-IoT-Developer/
In this Lab 11 Exercise 3 (https://microsoftlearning.github.io/AZ-220-Microsoft-Azure-IoT-Developer/Instructions/Labs/LAB_AK_11-introduction-to-azure-iot-edge.html#exercise-3-create-iot-edge-device-identity-in-iot-hub-using-azure-cli ), I need to pass the following commands: " az iot hub device-identity create --hub-name {IoTHubName} --device-id myEdgeDevice --edge-enabled "
And I got the error (after replacing my correct IotHubName:
az iot hub: 'device-identity' is not in the 'az iot hub' command group. See 'az iot hub --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
... And then I look into the Microsoft documentation at: https://docs.microsoft.com/en-us/azure/iot-edge/how-to-register-device  ,  Register with the Azure CLI and it's the same commands:
"az iot hub device-identity create --device-id [device id] --hub-name [hub name] --edge-enabled "
And I got the same error.

@Alberto2K You need to update the Azure IoT extension for Azure CLI to run the commands. Please use az extension add --name azure-cli-iot-ext command to add extension and use az extension update --name azure-cli-iot-ext to update if you have already installed.
Please note that the pre-requites section still needs to be updated in the Lab which you are following.
by following this doc : https://docs.microsoft.com/en-us/azure/iot-edge/how-to-register-device you will be able to complete the steps without any issues.
Since you are following the learning samples, I would suggest you, report this issue here for further review and update the doc as appropriate.
All the feedback you share in that Git repo will be monitored and peer reviewed by the AZ-220: Microsoft Azure IoT Developer certification team.
Hope this helps.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


[FEAT] create HomeAS sensors with home security in mind

While this was created with the idea of something like whole home presence detection in mind, this would also be useful for something like home security. Creating sensors that are more accurately suited for something like this would most likely be appreciated by many.
It would be great if the sensors created by the double-take home AS integration were more "live" meaning they wouldn't hold onto states. Ex: the sensor.double_take<insertname> keeps the state of the last camera you were detected on rather than only showing the state when you are being detected by a certain camera
I've been trying to use double-take and compreface to send me notifications when someone is detected on any one of my security cameras, because the general "Someone has been detected" notifications used by security apps ins't enough for me. I have been having trouble finding the accurate way to trigger automations for sending me notifications within HomeAS to see who is coming into my house. Although I understand the issues of using facial recognition for home security, personally I think it would be a create use of a tool like this! With everything said you guys are the brains behind this so take my suggestion with a grain of salt, I would just love to see the addition!

Just curious, what part of what you are describing isn't working? Assuming you are using frigate with this you can see here: https://github.com/blakeblackshear/frigate/discussions/2898 where I have implemented the notifications you are describing.


(WIP) New ML "Shap" image: slalomggp/shap

@jacksandom - I haven't made this generic in terms of integrating with Terraform, but instead I've just created a new folder in this repo where I'm managing other Docker containers. I created a README.md which shows how to build and test the image locally. Once it's ready to go, we can push to dockerhub and reference in the ML Ops Infra Catalog item.

Here's the readme - much easier to read here than in the native Markdown:
https://github.com/slalom-ggp/dataops-tools/tree/feat/shap/containers/docker-mlops

I've tested successfully that the image builds, runs, parses input variables, and prints the basic log outputs.

Hi @aaronsteers, thanks for this - unfortunately i'm running into a problem at the first hurdle. When I run 'docker build' I get a SSL: CERTIFICATE_VERIFY_FAILED error on RUN pip install shap.
Did you run into anything like this?

Opening new branch for SageMaker 'bring your own model'


Attribute macros for lvgl-rs

In light of #24 it might be a good idea to allow for common bolierplate-y things like LVGL initialization, task/timer handler updates, etc. to be abstracted away. My idea is doing something like:
/* use ... */

static shared_native_display: RefCell<SimulatorDisplay<ColorSpace>> =
    RefCell::new(SimulatorDisplay::new(Size::new(240 as u32, 240 as u32)));

fn disp_handler<N>(refresh: &DisplayRefresh<N>) {
    shared_native_display.borrow_mut().draw_iter(refresh.as_pixels()).unwrap();
}

#[lvgl_main]
fn main() {
    let output_settings = OutputSettingsBuilder::new().scale(2).build();
    let mut window = Window::new("Macro Example", &output_settings);

    #[lvgl_display(hor = 240, ver = 240, handler = disp_handler)]
    let display;

    let screen = display.get_scr_act()?

    /* Styling, widgets. etc */

    #[lvgl_event_loop(frame_time = 16)]
    'running: loop {
        /* GUI logic */
    }
}

More could certainly be done (interesting ideas might include attribute macros for widgets as well, to be able to specify e.g. event handlers) but this might be a start.
Is this something worth working on?

Looks very useful. I like the idea!


garglk_set_zcolors() should be able to affect the background colour of windows

The background colour of "normal" style should be used to update the background colour of windows when a window is cleared, if that colour is set by a call to garglk_set_zcolors(). See https://intfiction.org/t/specifying-gargoyles-glk-extensions/12915/1 for discussion.

Fixed by ec9a1454332071acc44680b9fe578bb5e56b6b02.


fix(security): added headers using next-safe

Fixes #620

:tada: This PR is included in version 1.5.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Operator '"$match"' is not supported.

The $match aggregation pipeline operator is absolutely supported and can be used with MongoDB\Collection::aggregate(). Can you share an example script that demonstrates the error/failure you're experiencing?

Closing due to inactivity. Feel free to follow up if needed.

Here is an example, the $match doesn't filter the results with the $expr conditions.
$collection->aggregate(
            [
                [
                    '$lookup' => [
                        'from' => 'users',
                        'localField' => 'militar_id',
                        'foreignField' => 'id_militar',
                        'as' => 'user'
                    ]
                ],
                ['$unwind' => [ 'path' => '$user' ]],
                [
                    '$match' => [
                        '$expr' => [
                            [
                                '$and' => [
                                    [ '$eq' => [ '$user.MilitaresStatus.status_cod', '2' ] ],
                                    [ '$eq' => [ '$user.MilitaresStatus.id_status_ativoseinativos_descrlei', '2' ] ],
                                    [ '$eq' => [ '$user.MilitaresStatus.id_status_ativos_agregados', '1' ] ]
                                ]
                            ],
                        ]
                    ]
                ]
            ]
        );

Works good in shell using mongo CLI:
mongo --quiet mongo/testing_geosecurity /app/mongodb_query/CcafRequest_PM2ListaRequerimentos.mongodb

File: CcafRequest_PM2ListaRequerimentos.mongodb
printjson(db.CcafRequest.aggregate([
    {
        $lookup: {
            from: "users",
            localField: "militar_id",
            foreignField: "id_militar",
            as: "user"
        }
    },
    {"$unwind": { "path": "$user" }},
    {
        $match: {
            $expr: {
                $or: [
                    {
                        $and: [
                            { $eq: [ "$user.MilitaresStatus.status_cod", "2" ] },
                            { $eq: [ "$user.MilitaresStatus.id_status_ativoseinativos_descrlei", "2" ] },
                            { $eq: [ "$user.MilitaresStatus.id_status_ativos_agregados", "1" ] }
                        ]
                    }
                ]
            }
        }
    }
]).toArray());

@georgezim85: In the future, please open a new issue (or appropriate support request) instead of following up on a closed issue. In this particular case, the original issue (some error message about $match not being supported) doesn't seem relevant to your situation (using the operator and not getting the expected result).
The pipelines in the PHP and mongo shell scripts you shared are not equivalent. In the PHP example, $match.$expr is a BSON array with a single element (index: 0). In the mongo script, it's a BSON object with a single field: $or. According to the $expr documentation the value should be an Expression, which I'd expect should either be a string or object. I reported the lack of a server-side error as a potential bug in SERVER-56970.
That said, I don't think there's any issue with the PHP driver/library here, as the aggregation pipeline provided to the method is passed directly to the aggregate command.


Feature Request - Diagnostics for Type Errors by Emmy Annotations

Hey 👋🏻
The title basically includes already everything. I want to ask if it would be possible if the language server could do some more advanced type checks based on the type annotations with Emmy.
A simple example of what I mean:
---@param bar number
local function foo(bar)
  print(bar + 1)
end

foo("bar") -- get diagnistic type error here

Of course this is a huge topic, but it would be truely amazing if it could be added at least to some extend.
Thank you!

I realized that there is already some type check diagnostics based on Emmy annotations. So maybe this could "just" be extended. But it is actually already quite complex.
---@class Foo
---@field public bar string
local Foo = {}

---@param bar string
---@return Foo
function Foo:new(bar)
  local instance = { bar = bar }
  setmetatable(instance, self)
  self.__index = self
  return instance
end

locale foo = Foo:new(1) -- again, no diagnostics for wrong parameter here
print(foo.BAR) -- but here we get an diagnostic error that the field `BAR` does not exist on type `Foo`

An addendum - having errors for missing non-optional args would be excellent!


Add type hints to core.py

Hi all,
Just a quick PR to add type hinting to core.py
I noticed a few methods are not currently used in the codebase, such as build_bert_batch_from_txt and listify_batch. Not sure if they are being used elsewhere or we should clean them up. Let me know!
Zach

Hi @zachschillaci27, thanks for helping cleanup. Indeed those functions are not used anymore and can be removed!

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Hi @zachschillaci27, thanks for helping cleanup. Indeed those functions are not used anymore and can be removed!

Got it, done!

Could you run make precommit  (requires pre-commit to be installed) to fix the code quality checks?


Setting "ip" and "mac" to be is_array:True

For devices with different network connections, there are cases where in a device is assigned two or more IP and MAC addresses depending on the number of their network interface cards (physical or virtual).
Would it be possible to add "is_array": true to the dictionary for ip and mac objects? This may be a breaking change, but it will certainly help when investigating with the logs that have complete information on the IP and MAC addresses, including IPv4 and IPv6, to be able to correlate events.
From dictionary.json

"ip": {
  "caption": "IP Address",
  "description": "The IP address, in either IPv4 or IPv6 format.",
  "type": "ip_t"
},
"mac": {
  "caption": "MAC Address",
  "description": "The Media Access Control (MAC) address that is associated with the network interface.",
  "type": "mac_t"
},

Here is an example of the output:

"device": {
  "hostname": "OCSF-VM",
  "ip": [
    "fe80::8000:dddd:ccc:1111",
    "<IP_ADDRESS>",
    "fe80::8000:dddd:ccc:1112"
    "<IP_ADDRESS>"
  ],
  "mac": [
    "00:11:22:33:55:66",
    "00:11:22:33:44:67"
  ]
}

Check out the device.network_interfaces array attribute: each Network Interface has an ip and mac attribute which would allow you to map the above.  The device.ip and device.mac attributes would be the interface from which traffic is relevant to the specific instance of the event (which should also be in the list of interfaces).  For an inventory collection event, e.g. a Discovery event, the device.ip and device.mac can be any of the addreses.

Thanks for clarifying @pagbabian-splunk
We can go with the device.network_interfaces route.


Make tests/examples start

A continuation of #1 of some sort.
I've selected a simple unit test to check basic QtWebEngine functionality: tests/auto/core/qtwebenginecookiestore. First, it was spitting too many [warn] poll: Invalid argument messages because of pipe used instead of socketpair. After changing that the warnings go away and I now get this:
[14 Jul 2020 03:55:53, qt5d sh -c tst_qwebenginecookiestore.exe]

[3395:10170368:0714/035555.354000:ERROR:network_change_notifier.cc(224)] Not implemented reached in static net::NetworkChangeNotifier* net::NetworkChangeNotifier::Create()
[3395:537275104:0714/035555.473000:ERROR:network_change_notifier.cc(224)] Not implemented reached in static net::NetworkChangeNotifier* net::NetworkChangeNotifier::Create()
[3395:10170368:0714/035555.489000:ERROR:process_posix.cc(309)] Not implemented reached in base::Time base::Process::CreationTime() const
[3395:10170368:0714/035555.536000:ERROR:create_video_capture_device_factory.cc(62)] Not implemented reached in std::unique_ptr<media::VideoCaptureDeviceFactory> media::{anonymous}::CreatePlatformSpecificVideoCaptureDeviceFactory(scoped_refptr<base::SingleThreadTaskRunner>)
********* Start testing of tst_QWebEngineCookieStore *********
Config: Using QtTest library 5.13.1, Qt 5.13.1 (i386-little_endian-ilp32 shared (dynamic) release build; by GCC 9.2.0 20190812 (OS/2 RPM build 9.2.0-1))
PASS   : tst_QWebEngineCookieStore::initTestCase()
[3395:538802688:0714/035556.594000:ERROR:child_process_launcher_helper_os2.cc(22)] Not implemented reached in void content::internal::ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(base::Process, const content::ChildProcessLauncherPriority&)
[3395:10170368:0714/035556.606000:ERROR:process_posix.cc(309)] Not implemented reached in base::Time base::Process::CreationTime() const
[0714/035556.592000:ERROR:debugger_posix.cc(176)] Not implemented reached in bool base::debug::BeingDebugged()
[3397:10170304:0714/035556.610000:ERROR:cpu_info.cc(46)] No function to get number of cores
[3397:10170304:0714/035556.624000:ERROR:broker_posix.cc(40)] Recvmsg error: Socket operation on non-socket (38)
[3397:10170304:0714/035556.643000:FATAL:page_allocator_internals_posix.h(131)] Check failed: 0 == mprotect(address, length, GetAccessFlags(accessibility)) (0 vs. -1)
[3397:10170304:0714/035556.643000:ERROR:debugger_posix.cc(176)] Not implemented reached in bool base::debug::BeingDebugged()
Received signal 6
[end of stack trace]
Calling _exit(1).   The bad thing is that it screws up LIBCx so I have to reboot each time... Will look into that too. Something to do with mmap support.

Memory allocation problems (and crashes) have gone, now I see some communication problems between the parent and the child ("renderer") process again. Sometimes it spits
[warn] poll: Bad address

Sometimes just hangs until the test case times out. Needs more debugging into the messaging susbsystem.

I'm also getting this output among othter things:
[30357:10170432:0721/184950.951000:ERROR:network_change_notifier.cc(224)] Not implemented reached in static net::NetworkChangeNotifier* net::NetworkChangeNotifier::Create()
[30357:537275104:0721/184951.070000:ERROR:network_change_notifier.cc(224)] Not implemented reached in static net::NetworkChangeNotifier* net::NetworkChangeNotifier::Create()
[30357:10170432:0721/184951.084000:ERROR:process_posix.cc(309)] Not implemented reached in base::Time base::Process::CreationTime() const
[30357:10170432:0721/184951.127000:ERROR:create_video_capture_device_factory.cc(62)] Not implemented reached in std::unique_ptr<media::VideoCaptureDeviceFactory> media::{anonymous}::CreatePlatformSpecificVideoCaptureDeviceFactory(scoped_refptr<base::SingleThreadTaskRunner>)
********* Start testing of tst_QWebEngineCookieStore *********
Config: Using QtTest library 5.13.1, Qt 5.13.1 (i386-little_endian-ilp32 shared (dynamic) release build; by GCC 9.2.0 20190812 (OS/2 RPM build 9.2.0-1))
PASS   : tst_QWebEngineCookieStore::initTestCase()
*** SPAWN 1 [D:\Coding\qt5\qt5-dev-build\qtbase\libexec\QtWebEngineProcess.exe][--type=renderer][(null)]
*** SPAWN 1 rc 30360 errno 22
[30357:538802336:0721/184952.380000:ERROR:child_process_launcher_helper_os2.cc(22)] Not implemented reached in void content::internal::ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(base::Process, const content::ChildProcessLauncherPriority&)
[30357:10170432:0721/184952.394000:ERROR:process_posix.cc(309)] Not implemented reached in base::Time base::Process::CreationTime() const
[0721/184952.117000:ERROR:debugger_posix.cc(176)] Not implemented reached in bool base::debug::BeingDebugged()
[30360:10170368:0721/184952.135000:ERROR:cpu_info.cc(46)] No function to get number of cores
[30360:10170368:0721/184952.148000:ERROR:broker_posix.cc(40)] Recvmsg error: Socket operation on non-socket (38)
FAIL!  : tst_QWebEngineCookieStore::cookieSignals() Compared values are not the same
   Actual   (((loadSpy.count()))): 0
   Expected (1)                  : 1
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(98)]
[30357:538802336:0721/185007.802000:ERROR:child_process_launcher_helper_os2.cc(22)] Not implemented reached in void content::internal::ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(base::Process, const content::ChildProcessLauncherPriority&)
FAIL!  : tst_QWebEngineCookieStore::setAndDeleteCookie() Compared values are not the same
   Actual   (((cookieAddedSpy.count()))): 0
   Expected (1)                         : 1
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(132)]
FAIL!  : tst_QWebEngineCookieStore::batchCookieTasks() Compared values are not the same
   Actual   (((cookieAddedSpy.count()))): 0
   Expected (1)                         : 1
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(169)]

Most ERROR messages are harmless, but the one in broker_posix.cc looks like a bad one. Seems that the mojo transport isn't working well yet. Mojo is a Google own IPC implementation (see here).

With some fixes I went further, now it crashes in Qt5Core:
 Trap  ->  1D4B269C   QT5CORE   0001:0026269C  qresource.cpp#1401 __ZN19QResourceFileEngine4readEPcx + 8C 0001:00262610 (D:\Coding\qt5\qt5\qtbase\src\corelib\io\qresource.cpp)
 036FF7E4  1D488E3D   QT5CORE   0001:00238E3D  qfiledevice.cpp#463 __ZN11QFileDevice8readDataEPcx + 7D 0001:00238DC0 (D:\Coding\qt5\qt5\qtbase\src\corelib\io\qfiledevice.cpp)
 036FF834  1D495D2E   QT5CORE   0001:00245D2E  qiodevice.cpp#1114 __ZN16QIODevicePrivate4readEPcxb + 1DE 0001:00245B50 (D:\Coding\qt5\qt5\qtbase\src\corelib\io\qiodevice.cpp)
 036FF8C4  1D4964ED   QT5CORE   0001:002464ED  qiodevice.cpp#1063 __ZN9QIODevice4readEPcx + 18D 0001:00246360 (D:\Coding\qt5\qt5\qtbase\src\corelib\io\qiodevice.cpp)
 036FF914  0C2863E9   QT5WEBC   0001:000563E9   __ZN15QtWebEngineCore19URLRequestCustomJob11ReadRawDataEPN3net8IOBufferEi + 49 0001:000563A0 (D:\Coding\qt5\qt5\qtwebengine\src\core\net\url_request_custom_job.cpp)
20297620  20299A40   *Unknown*
Lost Stack chain - new EBP below previous

I guess it tries to read some test URL from a resource file which is missing on OS/2.
Another issue, besides the above one, is that I'm also suffering due to a couple of EXCEPTQ limitations. The first one is inability to properly parse optimized GCC stack frames which usually ends up in a premature stack trace failure, just like above. Another problem is that if two exceptions on two different threads happen about the same time, EXCEPTQ only generates one of them (and not always the one I need). For instance, it spits this:
Creating 5970_0E.TRP
** Secondary exception C0000005 occurred in TID 5 at cs:eip 005B:1D4B269C **
** Exceptq report suppressed - exceptq in use by TID 14 **
[22896:5:0729/181558.495000:ERROR:debugger_posix.cc(176)] Not implemented reached in bool base::debug::BeingDebugged()
Received signal 11 SEGV_ACCERR 0000b5bb8000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

I.e. I'm getting a report for TID 14 which is quite useless because it's some consequence of another one and because of the above mentioned problem with the premature stack trace end. The only thing I get is this:
Trap  ->  17B40008   QT5WEBC   0004:00000008

And the real trap is TID 5 but I'm not getting a .TRP for it...
@StevenLevine, if you follow me here, I'd like to know how hard it would be to fix both issues in EXCEPTQ.

I'm getting another crash now:
______________________________________________________________________

 Exception C0000005 - Access Violation
______________________________________________________________________

 Process:  D:\CODING\QT5\QT5-DEV-BUILD\QTWEBENGINE\TESTS\AUTO\CORE\QWEBENGINECOOKIESTORE\DEBUG\TST_QWEBENGINECOOKIESTORE.EXE (08/09/2020 13:12:17 448,947)
 PID:      38C6 (14534)
 TID:      0D (13)
 Priority: 200

 Filename: D:\CODING\QT5\QT5-DEV-BUILD\QTBASE\LIB\QT5WEBCD.DLL (08/10/2020 17:59:19 354,093,941)
 Address:  005B:B860424C (0001:0599424C)
 Cause:    Attempted to read from B1C969DD
           (uncommitted memory allocated by LIBCX0)

______________________________________________________________________

 Failing Instruction
______________________________________________________________________

 B860423F  JMP   0xb860424c       (eb 0b)
 B8604241  LEA   ESI, [ESI+0x0]   (8db426 00000000)
 B8604248  CMP   EAX, EDX         (39d0)
 B860424A  JAE   0xb8604258       (73 0c)
 B860424C >MOVSX ESI, BYTE [EAX]  (0fbe30)
 B860424F  ADD   EAX, 0x1         (83c0 01)
 B8604252  OR    EBX, ESI         (09f3)
 B8604254  TEST  AL, 0x3          (a8 03)

______________________________________________________________________

 Registers
______________________________________________________________________

 EAX : B1C969DD   EBX  : 00000000   ECX : B1C969DD   EDX  : B1C969F9
 ESI : 0447C2F4   EDI  : 20049B80
 ESP : 0447C1DC   EBP  : 0447C254   EIP : B860424C   EFLG : 00010246
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : uncommitted memory allocated by LIBCX0
 EBX : not a valid address
 ECX : uncommitted memory allocated by LIBCX0
 EDX : uncommitted memory allocated by LIBCX0
 ESI : read/write memory on this thread's stack
 EDI : read/write memory allocated by LIBCN0

______________________________________________________________________

 Stack Info for Thread 0D
______________________________________________________________________

   Size       Base        ESP         Max         Top
 00200000   04480000 -> 0447C1DC -> 04478000 -> 04280000

______________________________________________________________________

 Call Stack
______________________________________________________________________

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  B860424C   QT5WEBCD  0001:0599424C   __ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag$w$vuBQdW1xLM7Codx60 + CC 0001:05994180 (base_jumbo_19.o)

 0447C254  B86045F2   QT5WEBCD  0001:059945F2   __ZN4base11UTF8ToUTF16ENS_16BasicStringPieceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE + 32 0001:059945C0 (base_jumbo_19.o)

 0447C274  B87A8FEE   QT5WEBCD  0001:05B38FEE   __ZN2ui14ResourceBundle22GetLocalizedStringImplB5cxx11Ei + 2FE 0001:05B38CF0 (base_jumbo_4.o)

 0447C414  B87A961E   QT5WEBCD  0001:05B3961E   __ZN2ui14ResourceBundle18GetLocalizedStringB5cxx11Ei + 13E 0001:05B394E0 (base_jumbo_4.o)

 0447C554  B86D4262   QT5WEBCD  0001:05A64262   __ZN9l10n_util14GetStringUTF16B5cxx11Ei + 22 0001:05A64240 (base_jumbo_2.o)

 0447C574  B8A6947E   QT5WEBCD  0001:05DF947E   __ZN10error_page14LocalizedError10GetStringsEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK4GURLbbbbNS0_36OfflineContentOnNetErrorFeatureStateEbS8_St10unique_ptrINS_15ErrorPageParamsESt14default_deleteISE_EEPN4base15!_aYIq24 + 2CE 0001:05DF91B0 (localized_error.o)

 0447C7B4  B2D1B0EE   QT5WEBCD  0001:000AB0EE   __ZN15QtWebEngineCore23ContentRendererClientQt33GetNavigationErrorStringsInternalEPN7content11RenderFrameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN10error_page5ErrorEPS9_ + 12E 0001:000AAFC0 (D:\Coding\qt5\qt5\qtwebengine\src\core\renderer\content_renderer_client_qt.cpp)

 0447C944  B2D1B4F9   QT5WEBCD  0001:000AB4F9   __ZN15QtWebEngineCore23ContentRendererClientQt16PrepareErrorPageEPN7content11RenderFrameERKN5blink11WebURLErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbPSD_ + C9 0001:000AB430 (D:\Coding\qt5\qt5\qtwebengine\src\core\renderer\content_renderer_client_qt.cpp)

 0447CAA4  B8B1853D   QT5WEBCD  0001:05EA853D   __ZN7content15RenderFrameImpl23LoadNavigationErrorPageEPN5blink17WebDocumentLoaderERKNS1_11WebURLErrorERKN4base8OptionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbb + 5BD 0001:05EA7F80 (render_frame_impl.o)

 0447CC54  B8B3B521   QT5WEBCD  0001:05ECB521   __ZN7content15RenderFrameImpl22DidFailProvisionalLoadERKN5blink11WebURLErrorENS1_20WebHistoryCommitTypeE + 211 0001:05ECB310 (render_frame_impl.o)

 0447CD44  B8CA145D   QT5WEBCD  0001:0603145D   __ZN5blink17WebLocalFrameImpl7DidFailERKNS_13ResourceErrorEbNS_20WebHistoryCommitTypeE + 83 0001:060313DA (frame_jumbo_10.o)

The code is trying to locate some locale-specific string in a resource pack file that it maps with mmap. For some reason, the LIBCx exception handler is called only once to read the file in. And the other time it is not called (at least I don't see it in LIBCx logs), memory is not committed and file contents is not read into it. Hence, access violation.
The strange thing is that I don't see any activity of the thread that performs this memory access in LIBCx log. Perhaps, this thread is somehow started bypassing LIBCx overrides so no exception handler is installed...

Ok, I know what it is, it's pretty weird. I was using a debug build LIBCx (LIBPATHSTRICT=T) but QtWebEngine also uses the pthread DLL which is not under effect of LIBPATHSTRICT=T and therefore it uses LIBCx which is not under its effect either. Therefore the exception handler from a wrong DLL was installed (and then called) which knows nothing about the given mapping (as it uses a separate shared memory block to store its global data). Using one copy of LIBCx solves this dummy issue.
This results in a test case finished but with some test failures, here they are:
FAIL!  : tst_QWebEngineCookieStore::cookieSignals() 'success.toBool()' returned FALSE. ()
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(105)]
FAIL!  : tst_QWebEngineCookieStore::setAndDeleteCookie() 'success.toBool()' returned FALSE. ()
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(150)]
FAIL!  : tst_QWebEngineCookieStore::batchCookieTasks() 'success.toBool()' returned FALSE. ()
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(186)]
FAIL!  : tst_QWebEngineCookieStore::basicFilter() 'loadSpy.takeFirst().takeFirst().toBool()' returned FALSE. ()
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(215)]
FAIL!  : tst_QWebEngineCookieStore::html5featureFilter() 'loadSpy.takeFirst().takeFirst().toBool()' returned FALSE. ()
   Loc: [D:/Coding/qt5/qt5/qtwebengine/tests/auto/core/qwebenginecookiestore/tst_qwebenginecookiestore.cpp(245)]

Not sure why they fail yet.


allow shop menu buying and selling swaps to be configurable per item

Description
https://github.com/runelite/runelite/pull/11453 introduced a feature to the Menu Entry Swapper plugin to allow users to globally configure option swaps when buying and selling to in game shops.
There was a mention https://github.com/runelite/runelite/pull/11453#issuecomment-624915040 and https://github.com/runelite/runelite/pull/11453#issuecomment-626033179  about individual buy/sell quantities. I thought this would be useful so I took a stab to implement. Open for further discussion on any aspect of this PR.
I reviewed https://github.com/runelite/runelite/wiki/Rejected-or-Rolled-Back-Features#menu-entry-swapping and Jagex's 3rd party client statement  and the way I understood it, it looks like there should be no offense with this particular feature.
Implementation

Adds text boxes for each of the buy/sell quantities where the user can input a csv for items they'd want swaps.

If a user indicates the same item for multiple quantities, it will use the selection in order of least to greatest precedence: global buy option, whitelist Off, whitelist buy 1, whitelist buy 5, whitelist buy 10, whitelist buy 50 and similar for sell.

A user can simulate a blacklist by setting a global value other than Off, then adding an item to whitelist Off.

Attached a GIF of it in action:

Testing

[x] local testing
[x] unit tests

Having lists for just these feels very niche, cluttered and slightly confusing in regards to what's prioritized over what. I'd rather keep the current shift-click option since imo that's enough to prevent you from accidently selling your stack.

Maybe once the config group stuff is merged (#9572) we could do this and just collapse it by default? Currently I don't like that this takes up basically all of the side panel for a feature almost noone will use.
I also don't see any reason why this has to have its own separate config class like this, its very odd and not something we do elsewhere.

I'd rather keep the current shift-click option since imo that's enough to prevent you from accidently selling your stack.

This still operates via shift click, the point is that you can vary the behavior per type of item.

Maybe once the config group stuff is merged (#9572) we could do this and just collapse it by default? Currently I don't like that this takes up basically all of the side panel for a feature almost noone will use.

Great, I was thinking the same but I didn't realize something was already in flight. Happy to wait till that gets merged, and I'll update the PR.

I also don't see any reason why this has to have its own separate config class like this, its very odd and not something we do elsewhere.

I just figured these are logically a grouped set of configs and should not interact with any other part of the plugin. I'm fine moving it to the main config.

If you want you could add code folding for the options, though we don't typically do that.

tbh, this should be done like the current Shift Click configuration for the normal inventory, though I'm not sure where you would trigger the edit mode from.

@Hydrox6 Could this be a possible location for the shift-click configuration (the shop exit button)?

Could this be a possible location for the shift-click configuration (the shop exit button)?

That makes sense to me, if people are in agreement with that I can change the approach.

@XrioBtw  @Nightfirecat  @Hydrox6 I've updated the PR with the implementation asked for in https://github.com/runelite/runelite/pull/11851#issuecomment-640456073 and https://github.com/runelite/runelite/pull/11851#issuecomment-640679542.
The only caveat here is that the customizable shift click doesn't take precedence over the in game "shift click drop" option....

@Nightfirecat @Hydrox6  would you have thoughts on whether we could merge this?

This approach looks fine to me. This PR needs rebasing since the menu entry swapper plugin refactoring.

This can be accomplished with the customizable left click swaps now


[migration_test]: decrease stressLargeVMSize to 400M

This PR is a continuation of the last PR (https://github.com/kubevirt/kubevirt/pull/5714) to take test 5004 out of quarantine.
Seems that the stress command fails on OOM. This is probably due to the fact the fedora images are always increase in size while our memory request (which is currently 1Gi) stays as is.
There is no reason to use this much memory. 400 Mbs should be enough in order for post-copy to appear, especially when we set our seconds per Gigabyte to 1 in the tests (which means that the total time this migration needs to hang is maximum 1-2 seconds).
Release note:

NONE

/cc @vladikr @fgimenez

Lanes fail on tests that not related to this PR (test_id:3468 failed on tests/vm_watch_test.go)
/test pull-kubevirt-e2e-k8s-1.19-sig-compute pull-kubevirt-e2e-k8s-1.20-sig-compute

Once again, [test_id:3468] is the only test that failed. 3 more to go.
/test pull-kubevirt-e2e-k8s-1.20-sig-compute pull-kubevirt-e2e-k8s-1.19-sig-compute
/test pull-kubevirt-check-tests-for-flakes

Only test that failed (for 1.19-sig-compute) is test_id:3145 from tests/operator_test.go.
2 more to go.
/test pull-kubevirt-e2e-k8s-1.20-sig-compute pull-kubevirt-e2e-k8s-1.19-sig-compute

1 more to go.
/test pull-kubevirt-e2e-k8s-1.20-sig-compute pull-kubevirt-e2e-k8s-1.19-sig-compute

/approve
Great. Thanks for looking into this!


Is there a way to find elements containing text in array?

Hello, I couldn't find a way to solve a problem. I am writing a test where I need to find all h2 tags and see if specific text does not appear in these tags.
Can't write simple assertDontSee because p paragraph can have same text as h2.
My html tree is similar to this:

my h2

test

my h2

test

This is my test where I am trying to solve this problem
$this->actingAs($user)
            ->get(route('my-route'))
            ->assertElementExists('h2', function (AssertElement $assertElement) {
                $assertElement->doesntContainText('Specific text');
            });

Is there a way to get array of elements and use doesntContainText on all items?

You can start your assertion at the body tag by simply passing a clousure and then asserting on the content of that
    $this->get('nesting')
        ->assertElementExists(function(AssertElement $assert) {
            $assert->doesntContain('h2', [
                'text' => 'foo'
            ]);
        });

Did you get it working?

As I have not heard back from you I assume the issue is fixed :)

Yes, Thank you!


metrics: 🔝 add an uptime counter

a somewhat common "best practice" when operating services that expose prometheus metrics is to expose information about uptime.
we should define a counter pd_uptime_seconds, and run a thread in the background that increments the counter at a regular interval.
related to #3911.

NB: we have a cometbft_consensus_height metric. that metric, in tandem with this uptime counter, could be used to alert us about chain halts!

We might want to call this something different to disambiguate from the on-chain uptime tracking (see the Uptime proto message and its use in the staking component)


Improve detection of when it's safe to expose

Right now the controller gets locked for new exposures when the exposure begins and is only unlocked after the image has been written to disk. In principle it would be possible to start exposing again as soon as we begin fetching the frame. This would require to dynamically determine when it's safe to expose. Maybe we need to add a notifier to the controller expose method.

I think this is better handled now and can be closed.


Fix indexing for polygons and lines

Catches some edge cases where h3_line and polyfill would miss. Could be overbroad, which is why the docstrings are changed to say superset, but at least it should be complete

Fixed in #9


Don't set IPv6 sysctl property when IPv6 is disabled

Unfortunately Ohai doesn't have a plugin for this.

That would be a nice addition to ohai.


Build: allow options to use Boost + OpenSSL static libs

cherry-pick'd from 0.13-release
References https://github.com/cpp-netlib/cpp-netlib/pull/722

LGTM


Fix pytest version to 7.3.2 to resolve pytest-lazy-fixture dependency error

This pull request fixes an error with the package that caused some tests to fail. The deprecated pytest-lazy-fixture library is incompatible with the most recent pytest versions so we need to avoid it being updated. By explicitly setting the version to 7.3.2 we can avoid this issue in the future.
The errors occur in the following files:
tests/test_util/test_instances.py @pytest.mark.parametrize: 122
tests/test_util/test_util.py @pytest.mark.parametrize: 38
tests/test_verifier/test_verifier.py @ pytestmark =pytest.mark.parametrize: 12

And causes the following error: AttributeError: 'CallSpec2' object has no attribute 'funcargs'
While this is a simple solution, it might not be maintainable in the long run as we will be stuck with pytest version 7.3.2.
The pipeline still fails but this has to do with the linter. Will create a separate PR for that issue.

I agree that in an ideal case, we are not dependent on an old version of pytest. However, it seems better to be able to test the library with an outdated version, than to not be able to test it at all.
I think a future update could focus on making a durable solution for this.


Crashlytics not sending emails to test group

Hey guys,
I just setup a fresh fastlane setup today. Just to give some kudos, this thing is a real nice beast!
Now coming to my problem. Everything works fine apart from Crashlytics email notifications. Here is the snippet from my Fastfile:
    # Crashlytics config
    crashlytics(api_token:"xxx",
                build_secret:"xxx",
                notes:changelog,
                groups:['internal-tester'],
                notifications: true)

Neither notifications:true nor notifications:"YES" is working to send out emails :( Any error on my side?
Thx in advance!

@ctews could you PM me the name of the app & build version?  I'll take a look, the configuration looks good at first glance.

@ctews could you also add the debug: true option to the configuration and run with --verbose and add the output?

Thank you for the fast reply @i2amsam!  Got it working now! :)
So the parameter of crashlytics is working fine!


Work on A+ Rating for SSL Labs

Mentioned by Manny to turn our A into a A+
https://bbcsulb.desire2learn.com/d2l/le/361628/discussions/threads/1028689/View

Simply had to enable HSTS on the apache .conf for the website.
Link for how to enable HSTS


This is why you are seeing the exec format error.


Feature improving THREEx namespace

I will add the remaining classes in the THREEx namespace and some ARjs related classes (Context, Profile, Source) so you should be able to create your own project with them. The code is taken from my previuos PR #10 in which i also tried to implement Anchor class but i had various issues that i didn't solved yet, so i decided to publish the classes that was ok.
Obviously it will require some tests and maybe some bugs may arise...

I tested the examples and it seems that they works as expected, so i suppose that will not break anything.
I will merge and will make a new release.


MD051: Support docfx tabs

https://github.com/DavidAnson/markdownlint/blob/main/doc/md051.md
This produces false positives with docfx tabs. It should be special cased.

See also #1099.


Simple aspect ratio scaling

The Gamepad UI currently scales improperly on non-16:10 resolutions. This is most apparent when using 4:3:

This PR allows the menu to dynamically scale the width of buttons and certain frame offsets to non-16:10 aspect ratios without any configuration needed.

16:10 (default, unchanged)

16:9

4:3

This implementation isn't perfect and any new panels with custom offsets or buttons may need to account for this in their code, but I'm hoping this can otherwise be a reliable solution to the aspect ratio problem for the time being.

Pinging @Joshua-Ashton to approve due to number of changes involved here.

Hey @Blixibon , due to the lack of response here, I'll go ahead and get this merged now, going over everything here again, this looks good to go.


Smart coin wallet

I have not received my 25 bts and it's been three hours

I sent it from Poloniex to my original bitshares wallet. Nothing then I restored my account on the smartcoins wallet and still no bts


word_analysis/FirstKeywordOccurrence.ipynb

TypeError: descriptor 'lower' requires a 'str' object but received a 'NoneType'
last field

closing as wontfix.
This only happens if you search for a word that isn't there


Button which pastes code examples from extension documentation does not work

The button which pastes code examples from extension documentation into the Source panel does not seem to work (using the latest release, beta 4, on Windows 8.1 -- but the issue happened already with a previous version; I didn't get around to reporting it earlier).
The same goes for the button at the top beside the extension title, which should paste the line 'Include <ext. title> by <ext. author>.' into the Source panel.
In contrast to that, the button to copy examples from the normal included documentation (WWI/RB) does work.
Steps to reproduce:

Open an extension in the Extensions panel.
Click on the small "copy/paste" button next to the extension's title, or on the button next to a code example's title.

Selecting and copy-pasting the code examples by hand is a workaround, but unfortunately, not a very good one, because the formatting is not preserved completely -- for example, paragraph breaks are missing, which causes the compiler to misunderstand the code.
I know that the Gnome-Inform7 IDE is a separate project, but for what it's worth, the same issue seems to have cropped up there and was fixed in the gtk3 branch by this commit:
https://github.com/ptomato/gnome-inform7/commit/9858f7629ca6431694b5cb22406ce14769b90f90
("panel: Allow loading internal JS in Extensions pages")
Thanks for your work on the IDE!
Regards,
Michael

Fixed by commit 19040d2c0b143b1eedf1b00e54cb04efa39af192.
This turns out to be a different issue to that seen in the Gnome front-end: the HTML generated by the Inform 7 compiler usually has a Javascript function project() that returns the "project" object which allows the Javascript to call back into the front-end. But the generated extension documentation sometimes lacks this, so the front-end now provides its own fall-back implementation.

That's great, thanks!


Fix domain

I don't think the inverses are necessary and just some renames

@claire-lovisa inverses added
maybe we should also let an annotation have multiple validations? as if multiple people can validate

I feel like only one validation would make more sense, we'd end up in a weird state if someone validates and someone denies :thinking:


Initiate the warming task

Is it possible to initiate the warming task from an action URL or for it to be called via another plugin action?

@joshangell is there a reason crawlAndWarm is not a service? If not, would you accept a pull-request to move it to a service and convert the controller action to just something like this: craft()->cacheMonster->crawlAndWarm($sitemap_url);
This way @zizther and me could also call this from another plugin. Which is exactly what I'm writing right now :)

Hi @maxstrebel, I'm afraid I don't maintain this any more, but your PR sounds reasonable to me. @nav33d will be the one to decide though :)

@maxstrebel You are always welcome to submit a PR. I would get it merged.
Many thanks


KVM extensions not supported

I'm trying to install Monterey on windows but when I get to the point where I have to check if the KVM actually works in wsl it comes back as your cpu does not support KVM extensions. I've ran KVM on the same PC before on different distros on bare metal but never had this issue. Cpu i5-3320m (I have all virtualization settings enabled in bios)

@Abzl0 try removing wsl from the computer and then running wsl --install in the terminal.

I reinstalled windows, then did wsl.exe --install because wsl --install didn't directly install it, then i restarted and it gave me an error to get the new kernel, after i got the new kernel i proceeded with all the steps but i get the exact same error.

I turned off hyper-v and now kvm extensions are supported, but I still get an error saying module kvm_intel not found

I've tried soo much solutions but I couldn't get this to work on windows 10, i bypassed tpm and got windows 11 and it works flawlessly. I'm really not sure why windows 10 wasn't working but when i was researching I did find some stuff that are limited in windows 10 WSL. Thought this might be helpfull.


test(e2e): rewards test

E2E test for rewards

Hi @rhyslbw , @mkazlauskas , @AngelCastilloB , @mirceahasegan ;

the suggestions from all the conversations should be solved;
used TxBuilder in generateTxs as well;
I tried to make the flow as close as possible to the diagram Rhys provided us on slack.

Now I'm keeping my eyes on this and this CI builds to check if the test work on CI as well.

Hi @rhyslbw ,
I'm sorry but I'm not able to go on this test.
I added the last step of the test as described in tickets AC (withdraw the reward) but I get an error trying to submit the withdraw tx; at least the error is deterministic and is shared in a CI workflow. I also tried to set the log level to debug as suggested by @mkazlauskas , but it seems this was generating too many logs... I had to stop CI after 3h.
This is not the only problem: once added this test to the test:wallet e2e suite (as suggested in this PR) many other tests in the same suite fail...
I tried to investigate the MissingVkWitnessesError, but I didn't understood how to handle it. I need support on this.
CC @AngelCastilloB , @mirceahasegan


wrong mapped Texture in .obj Export?

First of all, thank you for the Open Source Project, it is a really great and innovative library!
Unfortunately I have problems loading the zip (.obj export) into Blender. I have the feeling that the texture is not mapped correctly to the surface.
I only use the Example project and only run scene.mesh?.writeToOBJZip(atPath: documentsURL.appendingPathComponent("objzip").path) after creating the scene.
Loaded in Blender an MeshLab looks like:

am I doing something wrong?
Thanks in advance!

Hah, looks like an art piece!
It’s possible the uv map coordinates are inverted. Are you able to flip them while importing into Blender?
Or if you want to try inverting them in code, remove the 1.0 -  from line SCMesh+FileIO.mm:117. (At least that’s where I think this code lives, it’s been a few years).

that is right. I flipped the output texture vertically and it matches! Thanks!!

Great, glad it worked! Would you mind submitting a PR for that change?
The other file format export functions do not invert the value, so I don’t see why we should invert it here.

Fixed with commit 0689b0


EnableRecordMappings on, multiple mappings with the same URL. Wiremock does not serve mappings in proper order

Hi Tom,
First of all, congrats for the great job with Wiremock, is really  a awesome tool.
I'm using wiremock as a version comparator tool. The idea is,  two  versions of the same tool, using wiremock as a proxy server, the first iteration we run the first version with wiremock with the enableRecordMappings to true. The idea is to store diferent calls to upstream services. The second iteration (using the second version), will use recorded mappings to ensure the response from upstream server are exactly the same. Obviously, the calls are exacly the same in both iterations.
The issue comes when we have several calls to the same URL but with different responses. Wiremock is returning always (2nd iteration) the first mapping stored.
It would be great that wiremock were aware about the order in which calls are requested.
Another way would be that wiremock could "consume" mappings, I mean, once a mapping is returned in a request, it will be removed form the mapping lists. If the mapping lists has the the right order (sorted by creation date ASC) we could ensure all mappings are returned in the right order.
Any idea?
Thanks in advance,

At present you're out of luck I'm afraid.
You're not the first to have asked for something like this, and I have a to-do list item to better support this kind of case.
Watch this space!


Request review of proposals by the Constitution Committee

with the current landscape, this probably doesnt need to be implmented


Fixes #83 & #149. Added contextual help to create service form.

Fixes #83 and #149 .

In the create service instance forms contextual help is now available as placeholder and title. The description of the field is displayed on hovering on the field or as the placeholder of the input field.

The profileID field had a required check but was missing in the component. This allowed the form to be submitted if the profileID field was not disturbed. If the field was disturbed and then not selected then the required check would work. This has now been fixed. the user will have to select the appropriate profile id.

LGTM


Please add jupyterlab as tool

Project description
While jupyterlab is available as a python package (python39Packages.jupyterlab and python38Packages.jupyterlab as of today), there is no respective app to be found in nixpkgs (like I would expect jupyterlab).
What can be found is jupyter, which however seems to point to the notebook and not the lab.
Jupyterlab is a Web-Based development environment for interactive use for multiple languages. It is widespread, has probably millions of users and would be nice to have packaged in nixpks.
Metadata

homepage URL: https://jupyterlab.readthedocs.io/en/stable/
source URL: https://github.com/jupyterlab/jupyterlab
license: a revised bsd license
platforms: unix, linux, darwin

two current options to install jupyterlab

python3packages.jupyterlab - unfortunately fails to build on current channel 22.05 (I don't understand how something can fail building if it is on a stable channel, some standard checks need to go wrong here)
jupyterWith which is not in nixpkgs

two aspects which should just work by using jupterlab itself

installing kernels with jupyterlab commandline
installing extensions with jupyterlab commandline

installing kernels
works pretty well out of the box with python3packages.jupyterlab, however the package is broken and cannot be installed on current 22.05 channel. I don't understand how it can be that a package is broken on the stable channel...
probably a good reason to make this a proper tool instead of python package
the mentioned jupyterWith defaults to a declarative way of defining kernels which for most users is just overpowered if the standard jupyterlab commandline would work too.
installing extensions
haven't tried this yet for python3packages.jupyterlab, but for jupyterWith it is anyway manual, hence probably a similar manual approach could be taken for python3packages.jupyterlab
summary
please

add jupyterlab as a tool to make it a stable component of nixpkgs
or improve the autotesting of python3packages.jupyterlab when releasing a new nixpkgs channel

python3packages.jupyterlab - unfortunately fails to build on current channel 22.05

I think it is fixed now, please reopen if I'm wrong.
[chuang@hawthorn:~]$ nix repl
Welcome to Nix 2.11.0. Type :? for help.

nix-repl> :lf github:NixOS/nixpkgs/nixos-22.05
Added 14 variables.

nix-repl> pkgs = legacyPackages.x86_64-linux

nix-repl> :b pkgs.python3.withPackages (p: with p; [ numpy jupyterlab ])

This derivation produced the following outputs:
  out -> /nix/store/036ipgniv8iks6pqszzayxz2zyps38s4-python3-3.9.15-env

Thank you @chuangzhu  for your help. The issue is however not completed as far as  can see.
The python package jupyterlab may work again, however there is still no app jupyterlab.

IMO python3Packages.jupyter is much easier to use than the standalone jupyter. You just put it to a python3.withPackages and it works with other packages. With the standalone jupyter you need to override the jupyter-kernel to add packages to the environment. So I'm curious why you would want a standalone jupyterlab. This question also applies to #202996 as well.

if I cannot install jupyter kernels using jupyter command line and user home directory for storage, then I guess you can file an issue to jupyter, as this is standard usage of the jupyter tool in the wild.
(Similar how it is a standard usage of python to create local virtual environments - in fact they work seamlessly)
In nix you have (at least) two kind of derivations:

software packages/libraries
tools/applications

Obviously python3packages.jupyter is the first, while I am looking for using jupyter as an official tool/app.
The difference is NOT about functionality (like being able to install extensions into the home directory), but about how it is indended to be used (namely as a standalone tool in my case, and not as a python library which I import in my python project).


Change PIN in Settings is erroring

There is no option to set PIN, and when I go to Settings -> Change PIN, it is not allowing me to save PIN. Please fix the issue.
I also think set PIN should be by default when user downloads the app.

Hi. Can you please copy the app version, in which this issue is happening?

closing due to non response from @shreyanjoshi and steps to replicate this issue do not cause mentioned 'erroring'


Updated typescript example to newest Typescript and e

In typescript 2.2 it is now possible to compile to js. This example does that and makes it easy to abandon typescript at anytime.
Typescript files in typescript library and otherwise the project looks like 'normal' next project.
Added example with props and state interfaces.
PS: This is my very first github pull request - please let me know if I missed something.

Guys need some help from someone knows typescript well to review this PR. :)
cc @impronunciable

@giladgray wrote in the other PR "this seems like an ideal minimal typescript example: it provides a clean solution for the single problem of typescript compilation". IMHO this is no longer a minimal TS example, this seems more like an example of Typescript AND Next.js, if you get the difference.
There is also some stuff that has been reverted from the "old" example, such as using a specific version for Next instead of using latest. Changing "target": "es2015" to "target": "es6" is also an odd one. Tsc has always transpiled TS to JS so I don't get the first sentence in the PR: "In typescript 2.2 it is now possible to compile to js." Are you referring to the use of "jsx": "react-native"? Why is that one being used? That option was introduced for compatibility with React Native’s loader.
There is quit some changes in the TS config file and package.json without adding any functionality. The only difference I can spot is the use of react-native, which would only require to update TS and change one line in the TS config file.
Sorry for being a bit harsh, I just want to bring along the context from the last PR where we spend almost 3 weeks discussing the example.

"This example does that and makes it easy to abandon typescript at anytime."
Interesting approach :)

@OskarKlintrot Exactly regarding "jsx": "react-native" before this the output was 'messy'. This combined with "target": "es6" makes the output exactly as you would/should write the next code yourself. (Thereby giving the user the option to at anytime say 'this is not worth it' and just delete the typescript library.
TS to JS yes, but not TSX to JS.
In my opinion the previous Typescript example was a bit too minimal :-/ so I just wanted to give a suggestion to how the folders could be arranged (typescript in one folder and output as usual (both form and folder structure) and show how to create React Element in Typescript.
So yes it is not minimal, but it will make fewer give up quickly (as I would have had I tried the current example when first trying out Typescript) The readability of the output is important (therefore the target).
I like this way because Typescript becomes an addon that can be so easyily added (without changes in webpack, babel etc) and you can just copy your existing js code in the tsx files and get the same js files! (plus warnings, autocomplete) and then you can start adding interfaces and parameter types to get even more intellisense.

The only difference between "react-native" and "preserve" is that the file extension will be .js with "react-native" and .jsx with "preserve". To have JSX in a .js-file is a React Native thing, so "preserve" works just fine. You don't have to use JSX with React in the first place, some people prefer React "raw", so to speak.
"I just wanted to give a suggestion to how the folders could be arranged"
That's how you start a flame war :)
Dumping the build in the root isn't a) very pretty or b) compatible with assets. In something actually useful it's good to have the build separated to not bloat the code base or force the user to use something like VS Code but since you will probably need something like Gulp to move the assets we decided to keep everything minimal in the old PR. So this example is a bit bigger and showing off Typescript but is still not something that you will use to build your next Next.js app from. It's actually quit similar to what the old PR looked like in the beginning!
"So yes it is not minimal, but it will make fewer give up quickly (as I would have had I tried the current example when first trying out Typescript)"
If you want to learn Typescript then I think https://www.typescriptlang.org/ is the way to go, not the examples in Next.js.
"The readability of the output is important (therefore the target es6)."
The official name of es6 is es2015, that's why we used that value. The reason why you would want to use anything else than es5 is to be able to use for example babel than can take care of async/await that Typescript doesn't have (had?) support for. The readability of the output is not important, compare it to C# or C++.
"I like this way because Typescript becomes an addon that can be so easyily added (without changes in webpack, babel etc) and you can just copy your existing js code in the tsx files and get the same js files!"
Just as the old example if you would use the "preserve" option :)

Exactly - react-native is like preserve and rename which is exactly what we should want?
"If you want to learn Typescript then I think https://www.typescriptlang.org/ is the way to go, not the examples in Next.js."
In the other examples in the next examples folder they actually have examples of what it they're showing :) (server side rendering, preact, inferno etc)
Ant it is not learning typescript - it is using typescript with Reacnpm it.
"The readability of the output is not important, compare it to C# or C++."
I disagree - next has the build part covered. We just need to compile to es6 and let next do it's magic.
That's why it's ok using the root is ok - the typescript folder only has typescript otherwise the project is as if we just wrote normal next code.
Furthermore if you need help with some code you wrote it is now possible to just post the compiled js code to stackoverflow (they don't need to see the tsx code) in the previous example you would have to post typescript or something like
const React = require("react"); const MyComponent_1 = require("../components/MyComponent"); exports.default = () => React.createElement("div", null,     React.createElement("h1", null, "Hello world"),     React.createElement(MyComponent_1.default, null));
yes Typescript has async await support.
"In something actually useful it's good to have the build separated to not bloat the code base or force the user to use something like VS Code but since you will probably need something like Gulp to move the assets we decided to keep everything minimal in the old PR. "
Exactly - don't bloat the source folder with tsx files. Use a different folder for the source and have Typescript rename files while compiling them into where they should be.

Extra point - the old way relied on Typescript's conversion to React. This way is better. (again yes - preserve will do the same)

To me it seems as if the only thing you really want to change is "jsx": "react-native" (or preserve) to be able to post the built code on SO. To be honest this PR just feels as if it is adding a lot of opinion based stuff that we already stripped out of the example.

Well and update the example so it actually worked (react and react-dom is missing from package.json)
And add an example of a react component so that this example would resemble the others in the example folder.
And the way modules are handled. (which is necessary to have the out look like normal code)
Proposal:
I remove the folder structure part but keep the typescript files (with React components)
(Actually the previous example had 2 tsx files - just not any React components...)
If so, should I change to next:latest in package.json? (thereby risking it suddenly won't work (as happened with current example))

"..to be able to post the built code on SO" more importantly keep the separation:
Next compiles to React.
Typescript does it thing and changes very little in compilation.
Thereby keeping the modern trend of taking the best of many easily replaceable/removable parts.

"Thereby keeping the modern trend of taking the best of many easily replaceable/removable parts."
Exactly, that was my point above when talking about Babel/async/await/ES2015.
"And I don't understand why you don't want a React component (you already have 2 tsx files in the example)"
Don't I? The old example didn't have any state and then the docs recommends to use stateless components/functions. In this PR the one without any state can be converted into a stateless function as well. What I want is a completely different story, I'm just trying to keep the context from the previous discussion about why the example looks like it does. If it was down to me it would be a full blown production ready example :)

:)
I think I know what to do - I'll close this PR and build a new one without opinions, but it will be great.
(It may even defeat ISIS in 30 days ;-)

Best comment ever on a PR! 😃
Looking forward to the next PR! :)

this is also a pretty substantial rewrite of the typescript example that introduces some patterns i've never seen before. do you have to change everything or can you just do the minimal upgrade to 2.2.?

https://github.com/zeit/next.js/pull/1610


return ERROR string on some translation

Hi ! Thank you for your great work, I can't deny the fact that this is so useful on the project I am trying on :) I highly recommend this work of yours.
I just have encounter this return ERROR string, I hope to resolve or pin point what might be wrong while translating the text
I'm actually running 38K+ translation in 4 threads'
google_translator(timeout=10,proxies={'http':'<IP_ADDRESS>:8080'})
lang_src='zh' to lang_tgt='en'
text: 這是……<size=24>欸欸欸——？？</size>\n難道你想和我<color=#CA2E0AFF>在噴泉前留下紀念照</color>嗎？這主意太棒了，如此就能帶走最喜愛的風景了！我先去噴泉前面等你~快，快！
`result : ERROR``
EDIT:
Upon checking I think it's the \n that cause the error.
work around : just put some wrapper in it to be able to pass the translation

Thanks for you question.
I try use your text . But i don't get error.
t = google_translator(timeout=10)
text = "這是……<size=24>欸欸欸——？？\n難道你想和我<color=#CA2E0AFF>在噴泉前留下紀念照嗎？這主意太棒了，如此就能帶走最喜愛的風景了！我先去噴泉前面等你~快，快！"
print(text)
text_trans = t.translate(text,lang_src='zh',lang_tgt='en')
print(text_trans)

-> This is... <size=24> Hey Hey--? ? Do you want to <color=#CA2E0AFF> with me to leave a souvenir photo in front of the fountain? This is a great idea, so you can take away your favorite scenery! I'll wait for you in front of the fountain~ Quick, quick!
Can you tell the detail for your error?

Hi the error I think only show via file reader.
I read a Chinese text file by line and put it into threading
most of the lines have \n (newline escape sequence) which cause the translation to return string "ERROR"
hope this helps
I actually try that scenario you did, it wont trigger any error cause it only happened when it is read via file

I'm getting this error return too. Seems to happen on some non-existent language codes I use or it seems if I'm using a single world like say "Google" that doesn't translate or even if it does returns "ERROR". That's all I sadly have, no additional info.

Expecting ',' delimiter: line 1 column 41 (char 40) is being thrown on the first json.loads of that section. Instead of error you should be returning the exception instead.

@lushan88a Yep, I just installed it like yesterday, so it's 1.1.1. My code is exactly as you posted. Nothing different, and the lang codes are valid. So debugging '[["wrb.fr","MkEWBc",null,null,null,[13],]' is constructed and called on that first json that it errors on. If you add another bracket at the end and then you escape out the double quotes it works. I can't figure out to replace those double quotes because it turns them into double backslash double quotes, but testing with a static string with it manually escaped out proved working in my tests.


How to fix this error: module 'torch.nn' has no attribute '_VF'

I am using ai2thor 5.0.0 and torch 1.13.0+cu117 version in a new environment, but I am facing the following error.
AttributeError: module 'torch.nn' has no attribute '_VF'
Please advise on fixing the error.

maybe the version of torch is not matched with author's torch0.4.1


Replace MS doc link in german

Saves a search, clicking on the link took me to a german page

EDIT - Sorry just saw you are german, if it was intentional you may not like to change it, fine with it sir 👍

Good catch, thank you!


Health endpoint?

I didn't see any documentation regarding health endpoint support.  I assume it is not implemented as of yet.
If we need to write our own is there a way to call an "isConnected" on the mqtt client? Do we have the ability to inject the client somehow?

So something like this worked just fine:
        @Inject      public MqttHealthIndicator(MqttAsyncClient mqttClient) {           this.mqttClient = mqttClient;      }
I did notice when using micronaut-mqtt that the server must be running prior to app startup or you get an exception and then the app terminates.
Is there a way to retry and perhaps display a message or something similar? I tried automatic-reconnect: true but it doesn't seem to help.

HealthIndicator support seems like a good thing to have, contributions welcome!


Update the game over message

Update the game over message so people know how to play again!

Good to go merge main deployment

merge will be ready shortly