conditional access policies validation

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[x ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

[x ] Chrome version XX
[ ] Firefox version XX
[ ] IE version XX
[ ] Edge version XX
[x ] Safari version XX

Library version

Library version: X.Y.Z

## Current behavior
Users can not authenticate with Azure because they cannot provide the required information to validate conditional access policies.

## Expected behavior
Users can authenticate by providing device information and meeting the requirements set by conditional access.

@ryandegruyter Can you please send us the steps to Repro? We have some 'claims' behavior already supported and the 'Conditional Access' feature in progress. Understanding where your use case falls through will help us track this with the CA feature.

@sameerag our specific use case is a Cordova based app being deployed as a native app for Android and iOS.
These devices need to comply with the "Require compliant device" conditional access policy.
The compliancy rules are set by our MDM solution Microsoft Intune.
Do you think it is possible for this library to provide the required device information?

@pkanher617 can you please check if this scenario is supported/will be supported in our upcoming CA feature?

Hi @ryandegruyter, can you please explain how you are using msal.js to perform the request? We support the scenario here where the app attempts to access a service with a conditional access policy and is given a claims challenge to pass to the subsequent request. Your scenario may be a little different, and it may be something we support, but I would need to understand more about how the communication works.

Hi @pkanher617 , we're currently using the ADAL Cordova plugin (https://github.com/AzureAD/azure-activedirectory-library-for-cordova/tree/archive#broker-support) which works for our scenario.
But since it has been deprecated, I'm currently investigating alternative solutions.
I haven't made any specific implementation yet with MSAL since I'm only reading and searching through various documentation and investigating possibilities.
I just have my doubts this can work without communicating with native API's. For example, how can the MSAL library find out if the user has a rooted device or not?
Before I dive in, I just want to make sure it's possible, and if not, get an idea if it will be supported in the near future?

@ryandegruyter  Confirming you want to use msal js with Cordova correct?
We have not tested with cordova in msal js.   As it currently stands msal js is aimed toward single page web apps.
My suggestion would be to try out the library in your app and see what is missing for you.  If they are easy features, we can try and work them into our roadmap.  If they require a new msal-cordova lib, that is good feedback as well.

@ryandegruyter  elaborating on "does it fit your use case", might mean that you look at what cordova exposes api wise, and find in our code where that could be used and open another issue / pr ( this will help us understand how it can fit into our roadmap)
Sorry I don't have a better answer.
Closing this for now, since this is not a bug.


Generator error : "conflict Wrong content type for Linux64"

I got a strange error, trying to initialize a nw project (and testing if I can build a linux version under OSX) :
I told Yeoman to download the 3 versions of NW, and I got this error : "conflict Wrong content type for Linux64" during the attempt to get the L64 version.
The generator finished in a broken state (missing folder, node dependencies not installed...)

Hi all,
I just did npm install -g generator-node-webkit, and I am still seeing the same error:
conflict     Wrong content type for Linux64
Potentially unhandled rejection [3] Wrong content type for Linux64 (WARNING: non-Error used)
Have this been fixed, and if yes, how to install new version (if not with npm install)?

We haven't released yet a new version.


[web][upstream] upstream message_codecs

Swap double/int else/if  in writevalue in StandardMessageCodec
https://github.com/flutter/flutter_web/blob/master/packages/flutter_web/lib/src/services/message_codecs.dart

Here and on the other issues, it would help to link to the line(s) of code in question so that other people could find it


CNAME Record confusion

I've read the readme as well as several tutorials on implementation.
What i'm still not entirely clear on is why one needs a permanent (or for as long as you want it to keep renewing) CNAME record _acme-challenge.subdomain.domain.tld record in the first place in the dns zone.
Since the request for lookup of such record ultimately gets passed down to the acme-dns service (running locally on your machine), which has already associated the _acme-challege.subdomain.domain.tld to a distinct username/password hash in addition to a subdomain hash (fc31d598-4138-49b3-bb26-505dd17dab88.acme.domain.tld.  It can query its database to resolve which domain the request is applicable to and update the txt then respond accordingly to certbot.

Yeah but not everyone runs their own acme-dns service, so not everyone is delegating their zone. Having a CNAME just serves as a standard way to present something to the CA that they can then follow to the correct record. It works really well.

This isn't clicking...   Doesn't acme-dns require one actually run the service [somewhere]?
I'm trying to understand why the entire _acme-challenge.subdomain.domain.tld can't be hidden/obfuscated entirely.

Yes, someone need to run the service but it can be you or someone you trust. i.e. https://auth.acme-dns.io/register is an instance of acme-dns which is hosted by the author. It answers queries for anyone the is registered and pointing their CNAME at it.
_acme-challenge. is a public record which the certificate authority will query. Everyone can see it and there is no advantage to it being hidden. It is simply proof (via a TXT record value) that when Let's Encrypt asked you to prove you control your domain/subdomain (by setting the TXT record value to a specific random value), that you then went ahead and updated the TXT record as they asked, then LE see that and so, ok, you control that domain, here's a cert.
So, ACME dns validation works by asking you to populate _acme-challenge, then the CA queries it to make sure you did as asked. Many people use other DNS providers/API to simply update their actual DNS with the TXT record, or they even do it manually (don't do that, it's error prone and manual). The problem was that there are many many (..many) different DNS APIs and each one needs a different way to communicate with it.
acme-dns was invented as a least-privilege way of updating your _acme-challenge response TXT record via a single standard API. You create the CNAME once, from then on your acme client talks to acme-dns to make sure the TXT record value is up to date for validations.

Yes, someone need to run the service but it can be you or someone you trust. i.e. https://auth.acme-dns.io/register is an instance of acme-dns which is hosted by the author. It answers queries for anyone the is registered and pointing their CNAME at it.
_acme-challenge. is a public record which the certificate authority will query. Everyone can see it and there is no advantage to it being hidden. It is simply proof (via a TXT record value) that when Let's Encrypt asked you to prove you control your domain/subdomain (by setting the TXT record value to a specific random value), that you then went ahead and updated the TXT record as they asked, then LE see that and so, ok, you control that domain, here's a cert.
So, ACME dns validation works by asking you to populate _acme-challenge, then the CA queries it to make sure you did as asked. Many people use other DNS providers/API to simply update their actual DNS with the TXT record, or they even do it manually (don't do that, it's error prone and manual). The problem was that there are many many (..many) different DNS APIs and each one needs a different way to communicate with it.
acme-dns was invented as a least-privilege way of updating your _acme-challenge response TXT record via a single standard API. You create the CNAME once, from then on your acme client talks to acme-dns to make sure the TXT record value is up to date for validations.

Yeah but not everyone runs their own acme-dns service, so not everyone is delegating their zone. Having a CNAME just serves as a standard way to present something to the CA that they can then follow to the correct record. It works really well.

So.. is it ok to remove the _acme-challenge CNAME record after selfhosting the acme-dns?

Yes, someone need to run the service but it can be you or someone you trust. i.e. https://auth.acme-dns.io/register is an instance of acme-dns which is hosted by the author. It answers queries for anyone the is registered and pointing their CNAME at it.
_acme-challenge. is a public record which the certificate authority will query. Everyone can see it and there is no advantage to it being hidden. It is simply proof (via a TXT record value) that when Let's Encrypt asked you to prove you control your domain/subdomain (by setting the TXT record value to a specific random value), that you then went ahead and updated the TXT record as they asked, then LE see that and so, ok, you control that domain, here's a cert.
So, ACME dns validation works by asking you to populate _acme-challenge, then the CA queries it to make sure you did as asked. Many people use other DNS providers/API to simply update their actual DNS with the TXT record, or they even do it manually (don't do that, it's error prone and manual). The problem was that there are many many (..many) different DNS APIs and each one needs a different way to communicate with it.
acme-dns was invented as a least-privilege way of updating your _acme-challenge response TXT record via a single standard API. You create the CNAME once, from then on your acme client talks to acme-dns to make sure the TXT record value is up to date for validations.

can you tell how to setup acme-dns to run as my own instance, and not point to https://auth.acme-dns.io/register ??
i've followed the installation instructions, build using go and enabled the service too.
Still not sure where and how in the config file!! do we tell acme-dns to behave as self-hosted instance?

^^I followed this guide with successful results;
https://gauravsohoni.wordpress.com/2020/07/21/renewing-letsencrypt-wildcard-ssl-certificate-with-acme-dns/


PWA can work in Netlify deploys

How is Anse deployed?
Netlify
Describe the bug
Method 1:
Replace
import netlify from '@astrojs/netlify/edge-functions'

by
import netlify from '@astrojs/netlify/functions'

and remove netlify disable blocks can make PWA work in Netlify.
Method 2:
Use inline-registration.
Because netlify requires registerSW.js to be a function instead of an edge function, so we must remove it or we have to use non-edge functions.
Console Logs
No response
Participation

[X] I am willing to submit a pull request for this issue.

I implement Method 2 in #419 and updated some dependencies by the way.

Done


Feasible recipes are not at the top?

Thanks for a cool site. If I understand the front page description correctly, shouldn't one see more feasible recipes at the top of the list once one starts checking ingredients? If I check "Raspberry liqueur", the first 6 recipes are still fully infeasible, and the first recipe with "Raspberry liqueur" doesn't show up until search result #7. Seems to me that any recipe with at >=1 of the checked ingredients should appear higher in the list than recipes with 0 of the checked ingredients.
I note that the description says they will move "closer to the top" so maybe this is as expected, but I'm wondering if this is as intended/designed, or a side effect of some implementation component.

This is the method that calculates how to sort non-makable recipes:
https://github.com/tmcw/flair/blob/304ac4609ac00fde8156ea0e9a6607d354c6c07a/front/src/Main.elm#L556-L564
It takes into account how many ingredients the recipe has, not just which are available - so, for example, if you have "Raspberry liqueur", but none of the three other ingredients for a French Martini, you need 3 extra ingredients to make the martini, but only 2 extra ingredients to make a vodka martini (which just has two ingredients).
Though, this has come up a bunch so this obviously isn't the behavior people are expecting, and something that biases cocktails that use ingredients rather than just the gap, is probably a good idea.

I guess you'd want to weight "having an ingredient" higher than "not having an ingredient" like it is rn?
ex, each owned ingredient = 1.25, each unowned ingredient = -1
vodka martini = -2
french martini when owning raspberry liqeur = 1.25 - 3 = -1.75
french martini ranked higher..
presumably some weight there would make sense?

Not sure I understand how it is supposed to work today. For example, here I've selected just one Material (Tequila), which has moved Margarita up to the 2nd place position, with 2 unowned ingredients. However the #1 and #3 spot both have only 2 ingredients, neither of which are Tequila. This doesn't make intuitive sense to me.

I would have expected drinks with Tequila to show up above any drinks with no Tequila. Is that not your intuition?
From there, I'd expect "the more ingredients I have, the higher the drink will score", at which point the gap size logic could be used to further sort (i.e. the drinks with the fewer missing ingredients score higher than drinks with more missing ingredients).

The more I think about it, the more I think you'll need a lexical sort at some point. For example, if you select "Tequila" and "Dark Rum", recipes that have either ingredient show up in what appears to be an arbitrary order. One would expect all the "recipes with Tequila as an ingredient" to be clustered together, and the "recipes with Dark Rum as an ingredient" similarly. Presumably the Dark Rum cluster would precede the Tequila ones based on alphabetical ordering


Consider using ex-info for exceptions

Using ex-info seems to be the idiomatic way of working with exceptions in code that targets both Clojure and Clojurescript. The "type" of the exception is provided in the form of metadata rather than classes, i.e:
(defn something [x]
  (if (= x 1)
    x
    (throw (ex-info "exception message here"
                    {:type :builtin-exception
                     :other-metadata "here"}
                    (comment "cause here"))))

I think we should consider this approach for internal code, while converting them to "proper" Java exceptions only when throwing something expected to be caught by users of the Java API.

We'll need to deal with exceptions thrown by custom built-ins implemented in java. Might be as simple as just transforming them to this structure; but it'd be nice if we could keep the cause chain and stack trace, for when the exception is propagated all the way out to the library caller.
Perhaps we can piggy-back the original exception on a field, or keep the evaluator agnostic to the actual types, and use helper-functions for throwing and catching exceptions.

For sure! That seems like an integration point where it makes sense to use/check for whatever the API client expects. Those places should however be quite few, and hopefully easy to isolate. This is mainly just for how we raise and deal with exceptions internally 🙂

Fixed in #79


Add Spanish translation for docs/es/docs/learn/index.md

This is the Spanish translation for the learn page.
Fix Spanish translation structure for docs/es/docs/learn/index.md

Version >= 0.108.0

📝 Docs preview for commit cde306050ef499cc31d0cb0faecb29d90b1a4aa1 at: https://8c4fe0c3.fastapitiangolo.pages.dev


fix Travis build

Coverage remained the same at 91.408% when pulling 2bf3ddfc01453c90293e53ea7bccb7fd104f2485 on fix_build into c8c95f87abb778ab9b448588a36e626b54069336 on master.


Undo commits for background animation (browser no longer supports them)

Undo https://github.com/NNTin/discord-logo/pull/2 and https://github.com/NNTin/discord-logo/pull/3
Browser support for the background animation was stopped. Those background effects are no longer working.
Short summary of the steps:
Clone the repo, install the dependencies, run the project locally, create a new commit undoing the changes provided in those two pull request, test locally, generate the new static files in the docs folder and create the pull/merge request.

I'd like to work on this issue, can you please assign it to me?

solved with https://github.com/NNTin/discord-logo/pull/8


auto_envvar_prefix does not work with command groups

I made this example program:
import click

@click.group()
@click.option('--debug/--no-debug')
def cli(debug):
    click.echo('Debug mode is %s' % ('on' if debug else 'off'))

@cli.command()
@click.option('--username')
def greet(username):
    click.echo('Hello %s!' % username)

if __name__ == '__main__':
    cli(auto_envvar_prefix='GREETER')

auto_envvar_prefix only works for GREETER_DEBUG. Setting GREETER_USERNAME has no effect
Expected result:
$ export GREETER_DEBUG="false"
$ export GREETER_USERNAME="John"
$ python greet.py greet
Debug mode is off
Hello John!

Actual result:
$ export GREETER_DEBUG="false"
$ export GREETER_USERNAME="John"
$ python greet.py greet
Debug mode is off
Hello None!

For now, I am setting envvar on my options, but there are a lot of them

Try GREETER_GREET_USERNAME.

The @ptpt advice works, setting option values via env vars requires not only prefix, but also group name to be present.
It would be great to have such information as example in doc.


Implement log out/sing off

OAuthLoginPresenter should have a method to log out/sing off.
The user is still sing in the authority. OidcClient has a method to logout.
https://github.com/IdentityModel/IdentityModel.OidcClient/blob/73a56fdef54009ed471445079ef2fdeb6e4159ea/src/Shared/OidcClient.cs
That is a security issue as said in #113

I would also appreciate if this would be implemented

Until then you can do something like this:
const string EndSessionUrl = "https://yourIdentityServer.com/identity/endsession";
const string LogoutRedirectUrl = "https://localhost/yourLogoutRedirectUrl";

var requestParameters = new Dictionary<string, string>
{
    { "id_token_hint", idToken },
    { "post_logout_redirect_uri", LogoutRedirectUrl }
};
var request = new Request("GET", new Uri(EndSessionUrl), requestParameters);
var response = await request.GetResponseAsync();

Not currently on our roadmap.  If you need to explicitly log out, you'll need to do it yourself as suggested in a previous comment.


Would rules without options be processed and matched if I explicitly list options in AdblockRules constructor?

I've read adblockparser pypi, and I got a little confused about Parsing rules with options. I want to know that whether rules without options(basic rules) would still be processed even if I specify a list of options.

Based on the implementation, I would expect rules without options to be always taken into account.
It would be great if you could test it and confirm, though.
We could definitely improve the description in PyPI and the README to be explicit about this.

Based on the implementation, I would expect rules without options to be always taken into account.
It would be great if you could test it and confirm, though.
We could definitely improve the description in PyPI and the README to be explicit about this.

Thanks for your quick response.
Plus, I've got another question, hope it won't bother you: Is there a possible way to disable exception rules? I am doing a research requiring me to find all ads on websites, and I'm wondering if it is possible to do so after discard all exception rules.

According to https://adblockplus.org/en/filter-cheatsheet#comments you could comment out rules with an exclamation mark. The code seems to handle that as expected, but as with my previous comment, I’m just reading the code, I have not actually tested any of this.

According to https://adblockplus.org/en/filter-cheatsheet#comments you could comment out rules with an exclamation mark. The code seems to handle that as expected, but as with my previous comment, I’m just reading the code, I have not actually tested any of this.

Anyway, thanks a lot!


RequireJS support

Has anybody gotten this library to work with RequireJS?

Hi @eaccka, I've taken a quick look at RequireJS, but haven't used it. What problems are you running into? html2pdf has two dependencies, jsPDF and html2canvas, which should be loaded first in that order.

I have also an issue with requirejs.
https://gist.github.com/drbeat/c8761828902afe73ceae257940793937
my setup looks somehow like this but requirejs always bugs about html2canvas
Uncaught ReferenceError: html2canvas is not defined
    at html2pdf.js:387

and
Uncaught TypeError: html2pdf is not a function
the 2nd error may be my problem as I am new to requirejs but I am quite sure that my includes and dependencies are correct
still I dont know why it spits out this error

Hi @drbeat, you're in luck! I've got a new build that will be merged in soon (next few days) that should be much friendlier for all requires/includes. It should resolve your RequireJS issues, if not let me know - stay tuned!

@eKoopmans thanks but now I rewrote your code to make it work with requirejs
if you are interested I can upload it so you can have a look

Great, glad you solved the problem! Yes if you could share what changed to solve things that would be helpful.

@eKoopmans
https://gist.github.com/drbeat/5a823ec1d85fc3a0c2349267538457e7
as you see I restructured a bit (just for my OCD) and added AMD support
now I can call html2pdf with
require(['html2pdf'], function(html2pdf){
html2pdf(element);
})

without caring about dependencies anymore

Hey @drbeat, thanks for the gist! Yep the original package didn't have any AMD support - when I skimmed RequireJS earlier I completely missed that requirement.
In any case, the new v0.8.0 should solve that problem. The default dist/html2pdf.js is packaged as UMD, which has AMD support. Closing this issue, let me know if there's any remaining issues!

@eKoopmans
tried out v.0.8.0
it is much more reliable now. thanks!

Good to hear, @drbeat!


Create GenerateQuestion function

Input - WordsObject,  answer (not mandatory)
Output - WordsObject, generated answer (in question forms)
The pipeline should be:

If there is an answer analyze it using openAI. If the gist it get the data, get the relvant data from the current WordsObject.
If there is an answer analyze it using openAI. If the gist is new / updated data, update WordObject values and return it.
If there is no answer, create some default question for the beginning.

Canceled


AnyPath.rmtree() does not work with local paths

I'm using cloudpathlib.AnyPath to be able to fall back to a local filesystem for e.g. testing. However, it seems that AnyPath.rmtree() does not work correctly if the path points to the local filesystem. E.g.
import cloudpathlib
p = cloudpathlib.AnyPath("testdir")
p.mkdir()
p.rmtree()

results in
Traceback (most recent call last):
  File "/workspaces/scoutingtool/backend/test.py", line 4, in <module>
    p.rmtree()
    ^^^^^^^^
AttributeError: 'PosixPath' object has no attribute 'rmtree'

It would be nice if AnyPath supported rmtree(). The workaround is to check if the path points to the local filesystem, and then using shutil.rmtree() instead in that case, but that complicates the code a bit.

I think having something like clutil would work, but in that case it would IMHO be a good idea to deprecate any functionality in CloudPath (e.g. rmtree) that is not in Path, to really make it possible to use AnyPath as mostly a drop-in replacement for CloudPath.


[BUG] Ninja Ninjitsu/Mudra actions

When using a Ninja's Ninjitsu/Mudra actions, these actions are flagged as Abilities, but trigger and are subject to the GCD.  The Mudras (Ten, Chi, and Jin) trigger 0.5s GCDs, while Ninjitsu triggers a 1.5s GCD (the Mudras trigger 1.0s GCDs when used with the Ten Chi Jin cooldown, however).  When a Ninjitsu is used, if the player spaces out their actions, the Ninjitsu case (that actually casts the ability) is displayed as "clipping" by the red color, and the circle remains red until the end of the next GCD, but otherwise works as expected.  If the player spams (queues) the buttons during the Mudras, Ninjitsu, and the GCDs following, the circle appears to break and highlight most, though not all, of the circle as wide-red and stays that way (with some variation in how much of the circle is red) until the player stops using GCD actions long enough for the GCD to full expire.
Video of issue (it was too big for direct upload to Github): https://i.imgur.com/7xaLw6W.mp4
I show 4 Mudra sequences in that.  The first one, I space out all of my usages, and everything works as expected.  In the second one, I queue the Mudras and the Ninjitsu, causing the Ninjitsu to flag as clipping (and show the entire bar as red), but not the following GCD, and it works after that.  The third one, I do not queue the Ninjitsu (giving it space after the Mudra GCD), but do queue the following GCD, and the Ninjitsu is flagged as clipping, but as a "normal" clip (though it is on the GCD itself, so it's not technically clipping).
The fourth one is the big bug.  In this one, I queue everything, the Mudras, the Ninjitsu, and the following GCDs, and keep spamming them.  Most of the circle turns wide red and stays that way, with some odd overlays and motion, until I completely stop using my GCD abilities long enough for the GCD to fully expire (no queueing), only after which does it return to normal.

Thank you for the detailed report! It was a really nice analysis and really helped pinpoint the errors.
I have fixed both issues and created some tests so they don't reappear in the future. I'll put it in testing for now with a couple more changes and if no issues are found I'll release a new version with the changes this weekend.

Much appreciated! Glad the details helped!


Ability to delete meta transition

hey there , thanks so much for the previous feedbacks , i have been fiddling around with this project for some time and it has been awesome . However , i noticed that there isnt a functionality to "delete" transition metas from the river admin interface , but possible in the django admin interface , is there a reason ? Or am i missing something out , thanks!

@delete(r'^transition-meta/delete/(?P<pk>\w+)/$') def delete_it(request, pk):     transition_meta = get_object_or_404(TransitionMeta.objects.all(), pk=pk)     transition_meta.delete()     return Response(status=HTTP_200_OK)
However im return with this error :
django.db.models.deletion.ProtectedError: ("Cannot delete some instances of model 'TransitionMeta' because they are referenced through a protected foreign key: 'Transition.meta'", <QuerySet [<Transition: Transition object (1)>, <Transition: Transition object (4)>, <Transition: Transition object (7)>, <Transition: Transition object (10)>, <Transition: Transition object (14)>]>)
However , it is possible to delete the transitionmeta instance from django admin interface itself

Apologies , i did not see https://github.com/javrasya/river-admin/issues/3#issue-530435658 , i will be closing this thread !


Code Action : Convert to use new ActionRef syntax ... is truncated?

Please include the following with each issue:
1. Describe the bug
Not sure if this is VS Code / setting / AL related.
When trying to use the new 'Convert to use new ActionRef syntax ...' code action via the light bulb on a 'Promoted = true' code line, I get below suggested code actions. It's not clear to which scope each action belongs... ('--> Apply to ...' is missing)

3. Expected behavior
At BC Techdays, below actions were presented

The code actions text should contain the scope / full text ('--> Apply to ...').
4. Actual behavior
The code actions text is truncated.
5. Versions:

AL Language: v10.0.687650
VS Code: Version: 1.72.0 (system setup)

I just wanted to report the very same!


Spencer project packages

I am trying to launch srl_global_planner but here are many spencer project packages that are required like spencer_tracking_utils, social_compliance_layer and spencer_navigation.
I was able to find the first two on github but couldn't find spencer_navigation. As a workaround I changed the launch file to use analogous files from the srl_global_planner instead. But launching after that gives more errors and warnings.
Is there any repository with the required spencer packages? Any help will be much appreciated

I have the same problem.

I have the same problem too... @rohit-murthy  @prodigystd   You find the way to fix it now?

+1

Hi all,
sorry, it's a very busy time. Regarding the spencer_nav_msgs, you can comment it out from the CMakeLists.txt and package.xml files. This version of the code does not use it.

thx for your reply,and catkin_make is ok ,but when launch many errors comes most of which are about tf, can not run anyway.


add more entertaining info

add info about your hobbies and interest, or what do you like, some interactive content or joke, easter egg, etc.

add info about my favorite color)))

done


crash report

crash-2024-10-10_20.44.04-server.txt
I hope this message finds you well. I am writing to report an issue that I encountered while using the iwcompatbridge mod in conjunction with the Accessories mod on my Minecraft server.
Details of the Issue:
Error Type: java.lang.StackOverflowError
Main Mods Involved:
Accessories
iwcompatbridge
Possible Source of the Problem:
The issue seems to be caused by internal logic within the CurioInventory.init method or interactions between Accessories and iwcompatbridge, leading to a recursive call.
Additional Information:
The error occurs during the initialization of the CurioInventory in the Accessories mod.
The problem might be related to a circular reference or infinite recursion involving the DynamicStackHandler.isItemValid method.
I have attached the full crash log for your reference. Please let me know if you need any additional information or if there are any known compatibility issues or updates that could address this problem.
Thank you for your attention to this matter. I appreciate any assistance you can provide in resolving this issue.
Please note that my English is not very good, and this report was generated with the help of an AI. I will do my best to provide all the necessary information.

Hello!
I was actually originally using Accessories as the Curios port but found that to be an issue during my testing. The issue is a stack overflow within the CuriosApi#getCuriosInventory() method on world load. Unfortunately, it is not something I can seem to work around, so I suggest opening an issue report on their repository and linking this issue. The event handler where the crash occurs in IWCB can be found here.
It is important to note that this crash does not occur with Adorned, the recommended Curios fork I mark as compatible with IWCB. Both Adorned and Accessories claim to expose the same API surface as Curios, so theoretically both should work. If possible, I suggest swapping Accessories for Adorned in your modpack and seeing if the crash still occurs.

Sorry I got the module wrong, it's not Accessories, it's Curios API Continuation, but I've also reported the problem to the developers of Curios API Continuation https://github.com/SSKirillSS/Curios/issues/18 and the Adorned you said seems to have a bug in the command that doesn't work properly curios add/set can't work

I see. I will monitor the other issue and see if their dev has any suggestions or insight into the issue. I have not personally used the commands in Adorned so I was unaware they were broken.
I'll keep this issue open for the time being.

With the release of Curios API Continuation 9.0.14, this issue seems to be resolved and I can no longer reproduce it in my environment.


as a user I want to be able to search the map by lat/long co-ordinates

I have received a spreadsheet of health site data including lat/long co-ordinates and would like to see if details resolve to a health site already plotted on the map.
I would like to search the map using lat/long co-ordinates to see if a health site is located in the place detailed in my spreadsheet.
My spreadsheet includes only health site name and lat/long co-ordinates. I'm curious to see where that point is on the map.

Solution
Add form latitude/longitude at the left-bottom of map


Mouse pass through

Hi All,
I have flashed key_passthrough.ino into pro micro and it working fine but i am curious does the mouse work too ?

Right now, no. This is primarily because the serial protocol currently does not support mouse movements and the gui does not capture mouse movements. The 32u4 does support mouse emulation.
Feel free to hack on the current source and create a PR if you got something working :)


Rendering Problem with ElevatedButton in FadeTransistion and flutter 3.3.1 (not at 2.8.1)

Steps to Reproduce
CODE:
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget  {
  const MyHomePage({super.key, required this.title});
  final String title;
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin{
  List<Animation<double>> animations = [];
  late AnimationController controller;

  @override
  void initState() {
    super.initState();
    controller = AnimationController(duration: const Duration(milliseconds: 3000), vsync: this);
    generateAnimations(animations, controller);
    controller.forward();
  }

  AnimationController generateAnimations(List<Animation<double>> animations, AnimationController controller){
    animations.add(createAnimation(0.0, 0.3, controller));
    animations.add(createAnimation(0.1, 0.4, controller));
    animations.add(createAnimation(0.2, 0.5, controller));
    animations.add(createAnimation(0.3, 0.6, controller));
    animations.add(createAnimation(0.4, 0.7, controller));
    animations.add(createAnimation(0.5, 0.8, controller));
    animations.add(createAnimation(0.6, 1.0, controller));
    return controller;
  }

  CurvedAnimation createAnimation(double begin, double end, AnimationController controller) {
    return new CurvedAnimation(
      parent: controller,
      curve: new Interval(begin, end, curve: Curves.easeIn),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: FadeTransition(
          opacity: animations[0],
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Expanded(child: FadeTransition(opacity: animations[0], child: getButton())),
              Expanded(child: FadeTransition(opacity: animations[1], child: getButton())),
              Expanded(child: FadeTransition(opacity: animations[2], child: getButton())),
              Expanded(child: FadeTransition(opacity: animations[3], child: getButton())),
              Expanded(child: FadeTransition(opacity: animations[4], child: getButton())),
            ],
          ),
        ),
      ),
    );
  }

  void doAnimation() {
      controller.reverse().then((_) {
        controller.forward();
      });
  }

  ElevatedButton getButton() {
      return ElevatedButton(
        style: ButtonStyle(
          elevation: MaterialStateProperty.resolveWith<double>(
                (Set<MaterialState> states) {
              if (states.contains(MaterialState.focused) || states.contains(MaterialState.pressed)){
                return 5 * .25;
              }
              return 5; // Defer to the widget's default.
            },
          ),
          foregroundColor: MaterialStateProperty.all<Color>(Colors.green),
          overlayColor: MaterialStateProperty.all(Colors.transparent),
          backgroundColor: MaterialStateProperty.resolveWith<Color>((Set<MaterialState> states) {
              if (states.contains(MaterialState.disabled))
                return Colors.grey;
              return Colors.white; // Use the component's default.
            },
          ),
          padding: MaterialStateProperty.all(EdgeInsets.symmetric(horizontal: 12, vertical: 6)),
          shape: MaterialStateProperty.all(getShape()),
        ),
        child: Align(
          alignment: Alignment.centerLeft,
          child: Text("TEST",
            style: TextStyle(fontSize: 25, fontWeight: FontWeight.normal, color: Colors.pink),
            textAlign: TextAlign.start,
            softWrap: true,
            overflow: TextOverflow.visible,
          ),
        ),
        onPressed: doAnimation,
      );
    }

  OutlinedBorder? getShape() {
    new RoundedRectangleBorder(
      borderRadius: BorderRadius.all(Radius.circular(3)),
      side: BorderSide(width: 10, color: Colors.red,
      ),
    );
  }
}

I expect a fade-in animation of the buttons at the beginning and a fade-in and fade-out animation when clicking on a button.
But sometimes the buttons have a rendering error while blending in. The rendering problem does not appear when setting the elevation to 0.

Am I doing something wrong or is there a Problem with the current flutter version (Problem did not exisit with flutter 2.8.1).
Flutter Doctor:
C:...\flutter_3_3_1\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel stable, 3.3.1, on Microsoft Windows [Version 10.0.19044.1889], locale de-DE)
• Flutter version 3.3.1 on channel stable at C:...\flutter_3_3_1\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4f9d92fbbd (8 days ago), 2022-09-06 17:54:53 -0700
• Engine revision 3efdf03e73
• Dart version 2.18.0
• DevTools version 2.15.0
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at C:...\AppData\Local\Android\sdk
• Platform android-33, build-tools 31.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.5)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
• Visual Studio Community 2019 version 16.9.31229.75
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 2020.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.3
• Flutter plugin version 62.0.2
• Dart plugin version 211.7798
[√] IntelliJ IDEA Ultimate Edition (version 2021.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2021.2.3
• Flutter plugin version 70.0.3
• Dart plugin version 213.7371
[√] Connected device (4 available)
• Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
• Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19044.1889]
• Chrome (web)                       • chrome        • web-javascript • Google Chrome 105.0.5195.102
• Edge (web)                         • edge          • web-javascript • Microsoft Edge 105.0.1343.33
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
Process finished with exit code 0

I can see a rendering error when the buttons fade back in.  The shadow under the topmost button is too thick until the button under it is fully drawn.
Bisected this to https://github.com/flutter/engine/pull/31892
@JsouLiang @ColdPaleLight @flar Is this a known issue?

Let me look at this issue

Here the screen recordings:
Flutter 3.3.1
https://user-images.githubusercontent.com/49610365/190574508-ce7f875f-a77d-4303-babe-adef2de351a2.mp4
Flutter 2.8.1
https://user-images.githubusercontent.com/49610365/190576233-aeb33954-9304-4aca-bd2f-b6d35dfa4db8.mp4

@jason-simmons Thanks for confirming this issue. Adding additional labels

Is there any workaround for this issue? Or any Setting for the button where the problem does not appear?


fix: config update

config update

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/tte/docker?version=dev:3bd175712dc2fa0732d126b34d4ca8a9eb986b55

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/tte/docker?version=dev:15e642fef54aa5ecc07f598a87c8dae93f355b66


Tests are not running on PR

Hey there 👋
I've noticed, that tests are not running on latest PRs. Is it intentional?
Here's an example PR: https://github.com/tannerlinsley/react-query/pull/1449
And error from GitHub Actions:

They are now. We had a small typo for a bit.


fix twig extension after changing core library

getDataUri() no longer exists and it was replaced with writeUri()

Hi @MuddyPaw thank you but I already fixed this locally in the meantime as I was working on the new version which will be released soon.


Feature/pragma constants

Better late than never, but here's the PR to add a class which contains the constants for the pragmas. However, I'm currently not sure whether the name of the static class (and the location of the same class) are good.
Let me know whether I need to move/rename the constants class.

Thanks Jens! I will just add XML comments in each pragma constant


Flag usage

I've been experimenting with the flags module and had a question. From the documentation:

"""This package is used to define and parse command line flags.
This package defines a distributed flag-definition policy: rather than
an application having to define all flags in or near main(), each Python
module defines flags that are useful to it.  When one Python module
imports another, it gains access to the other's flags.  (This is
implemented by having all modules share a common, global registry object
containing all the flag information.)
Flags are defined through the use of one of the DEFINE_xxx functions.
The specific function used determines how the flag is parsed, checked,
and optionally type-converted, when it's seen on the command line.
"""

If flags are defined in different packages __init__.py files, how are they discovered prior to parsing the flags? For instance, assume a standard project:
module/__init__.py
if __name__ == "__main__":
  FLAGS(argv)
  server.start()

And our server object uses a library called foo that defines a flag that is not imported until the server is actually invoked:
module/foo/__init__.py
DEFINE_string('debug', None, 'Debug mode')

This will raise an error as the flag definition will not be known by flags yet. I'm probably missing something here - looking for guidance.

Our flags library assumes that your application does all imports at application startup time before app.run(main) is called rather than delayed dynamic imports at runtime.
In situations where there are potential delayed imports (some web frameworks seem to be a fan of this) we have suggested that people either:

manually do all of the potential imports their server may do up front (ugh?) or
at least create a single module of flag definitions that you expect all of those to need and always import that regardless of which subset of modules your server ends up actually importing later on.

Thanks - makes sense. Option 2 is a reasonable approach when dealing with a larger package that provides a number of modules that are exposing flags. Appreciate the response.


[22.11] webkitgtk: apply patch for CVE-2023-32373, CVE-2023-28204

Description of changes
I checked (most?) symbols in the patches and they should be there. int readCheckedDontAdvance(unsigned negativePositionOffest) is basically a copy of int readChecked(unsigned negativePositionOffest) with next(); removed.
Will this work? Let's figure out :upside_down_face:
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@ofborg build epiphany


Cannot find module 'ollama/browser' or its corresponding type declarations.

Hi there,
Thank you for this project! I'm using it to create typescript package that is used in jupyter notebook extension. I would like to use browser version, without node.
I have installed ollama and imported with code:
import ollama from "ollama/browser";

When I'm testing package in storybook stories it all works perfect. The problem is during building the package, after running yarn build I got error:
TS2307: Cannot find module 'ollama/browser' or its corresponding type declarations.

The full output:
yarn run v1.22.19
$ webpack
assets by status 725 KiB [cached] 247 assets
runtime modules 1.17 KiB 6 modules
orphan modules 42.9 KiB [orphan] 3 modules
modules by path ./src/ 684 KiB
  modules by path ./src/icons/*.tsx 111 KiB 79 modules
  modules by path ./src/recipes/ 402 KiB 69 modules
  modules by path ./src/components/ 105 KiB 16 modules
  modules by path ./src/*.css 64.7 KiB 2 modules
  + 1 module
modules by path ./node_modules/ 549 KiB
  modules by path ./node_modules/markdown-it/ 271 KiB 9 modules
  modules by path ./node_modules/style-loader/dist/runtime/*.js 5.84 KiB 6 modules
  modules by path ./node_modules/css-loader/dist/runtime/*.js 2.31 KiB 2 modules
  modules by path ./node_modules/ollama/dist/ 13.5 KiB 2 modules
  + 9 modules
external "react" 42 bytes [built] [code generated]

ERROR in /home/piotr/sandbox/extensions/piece-of-code/recipes/src/components/Chat.tsx
./src/components/Chat.tsx 5:19-35
[tsl] ERROR in /home/piotr/sandbox/extensions/piece-of-code/recipes/src/components/Chat.tsx(5,20)
      TS2307: Cannot find module 'ollama/browser' or its corresponding type declarations.
ts-loader-default_e3b0c44298fc1c14
 @ ./src/components/SelectRecipe.tsx 87:13-30
 @ ./src/index.ts 10:21-57

webpack 5.92.0 compiled with 1 error in 11332 ms
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I would like to pack the package to use it in jupyter notebook extension, what is more, the same package will be also used on next.js website in documentation pages.
Any idea what could be wrong? Thank you for your help.

I changed in tsconfig.json the following setting:
{
  "compilerOptions": {
    "module": "NodeNext",
    "moduleResolution": "NodeNext"
...

and it is working. Thank you!


[Event Request] table 5900 "Service Header" - OnAfterUpdateShipToAddressFromGeneralAddress

We would like to have a new event publisher OnAfterUpdateShipToAddressFromGeneralAddress on table 5900 "Service Header".
local procedure UpdateShipToAddressFromGeneralAddress(FieldNumber: Integer)
    begin
        if ("Ship-to Code" <> '') or (ShipToAddressModified()) then // <<< This condition has been inverted to skip instead of continue
            exit;

        case FieldNumber of
            FieldNo("Ship-to Address"):
                if xRec.Address = "Ship-to Address" then
                    "Ship-to Address" := Address;
            FieldNo("Ship-to Address 2"):
                if xRec."Address 2" = "Ship-to Address 2" then
                    "Ship-to Address 2" := "Address 2";
            FieldNo("Ship-to City"), FieldNo("Ship-to Post Code"):
                begin
                    if xRec.City = "Ship-to City" then
                        "Ship-to City" := City;
                    if xRec."Post Code" = "Ship-to Post Code" then
                        "Ship-to Post Code" := "Post Code";
                    if xRec.County = "Ship-to County" then
                        "Ship-to County" := County;
                    if xRec."Country/Region Code" = "Ship-to Country/Region Code" then
                        "Ship-to Country/Region Code" := "Country/Region Code";
                end;
            FieldNo("Ship-to County"):
                if xRec.County = "Ship-to County" then
                    "Ship-to County" := County;
            FieldNo("Ship-to Country/Region Code"):
                if xRec."Country/Region Code" = "Ship-to Country/Region Code" then
                    "Ship-to Country/Region Code" := "Country/Region Code";
        end;

        OnAfterUpdateShipToAddressFromGeneralAddress(Rec, xRec, FieldNumber); // << Add new publisher here.
    end;

If you choose not to invert the first condition to exit the function, then please make ShipToAddressModified globally available, so we can skip in the event subscriber instead.
    [IntegrationEvent(false, false)]
    local procedure OnAfterUpdateShipToAddressFromGeneralAddress(var Rec: Record "Service Header"; xRec: Record "Service Header"; FieldNumber: Integer)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52890.


Client unnecessarily attention grabbing and focus stealing

I do like keybase, but am getting very annoyed at the Windows client lately because of its attention grabbing behavior:

It shows its window after windows start up/log in. Why? I have not yet found a way to turn this off. It's great that it starts automatically, but please stay in the background.
It randomly steals focus. This behavior is very frowned upon in the ecosystem, and is particularly bad when you play a game, as it even throws you out of the full-screen mode. Might be related to updates. Is this really necessary? No other application I know of does that on Windows.

Please consider to be less annoying. Thanks :)

It is true, the app grabs focus when it starts, which happens each time it is updated or your computer boots. Tracked with https://keybase.atlassian.net/browse/DESKTOP-2669

The focus-stealing behaviour is driving me insane. To the point where I now want to uninstall this stupid app rather than have it steal focus one more time.

@henrebotha We made changes to honor the previous state of the app when starting, so if it was backgrounded it shouldn't pop up, and this works for me - in what situation exactly are you getting focus stolen? is it the main app UI or the updater? etc.

Add OS X to this. After an auto-update while I was typing an email, it popped back up, I minimized it, started typing again, and it maximized itself and grabbed focus.
My frustration is still with me.

@zanderz looking for an update here. On windows 10 the updater runs every hour and steals focus. If I'm playing a game, it pulls me out. If I'm working, it pulls me out. On MacOS the app behaves, but on Windows 10 this behavior is terrible. Please make the updater configurable in some way.


MySQL: Reset SQL_SAFE_UPDATES and FOREIGN_KEY_CHECKS after each migration

(Sorry if this isn't the right place for feature requests.)
We use Flyway 3.0 for running migrations against our MySQL database. Sometimes our migrations leave the database connection/session in a weird state (such as turning on safe mode). We have noticed that if flyway runs multiple migrations, it runs them all in the same connection/session, and weird state from a past migration can cause future migrations to fail. However, if we run those migrations in separate invocations of flyway, then everything is fine, because flyway creates a fresh connection to the database.
https://github.com/flyway/flyway/issues/1250 is a very similar issue, which was fixed in https://github.com/flyway/flyway/commit/7aec65654197592e1b3385bcd059e4fd1af853b7 by having flyway track the original value of ANSI_NULLS and then to restore the value after each migration. That fix feels pretty specific to me. If it were instead possible to run each migration in its own fresh connection, then every session specific setting would get reset.

What is your exact use case? Is it just SQL_SAFE_UPDATES or are there more? And if yes what are they?
Regarding having a separate connection per migration:
Short story: it's not as trivial as it seems
Long story: For certain databases like SQL Server this wouldn't be possible as certain commands expect no other connection to be active. That being said I am not aware of any similar restrictions for MySQL. But even if we could manage that, we would still have to deal with connection pools intercepting the Connection.close() method...

SQL_SAFE_UPDATES is one setting I know we've been bit by before. I'm not sure if there are others. I will reach out to the team and report back if there are others.
Re: SQL Server, I don't think I see why creating a new connection for each migration would cause simultaneous connections?

Update: Other settings we have played with include FOREIGN_KEY_CHECKS and AUTOCOMMIT

Autocommit was already being reset. Flyway now also resets SQL_SAFE_UPDATES and FOREIGN_KEY_CHECKS. Fixed.

This feature would couse user who has no server privillege failed to boot .


ProphetOrpheus-Aneesh

My artwork is of the hack club mascot, Prophet Orpheus, sitting down and waving at the viewer. The length of her neck is randomized each time. Her eyes also move with her neck and her head so that her face looks the same every time. I have a little experience coding in Python and Java, but I have never used Javascript before. It was difficult to figure out all the syntax at first, but I got better at it as I worked, and I was surprised that I was able to create this.

Love to see a Blot orpheus. Congrats you can order your Blot here.


When fabric network is created, caliper don't need to execute command.

Context

For example,user use caliper to run benchmark/simple.
node main.js -n ../../network/fabric-v1.1/2org1peergoleveldb/fabric-go.json
test run success.
But when use has own fabric network, user don't need to create default fabric network. Now the solution is user modify fabric-go.json to remove caliper.command.start and caliper.command.end.
Expected Behavior

User  use node main.js -argv  -n ../../network/fabric-v1.1/2org1peergoleveldb/fabric-go.json  to start testing. The argv can control whether creating the default fabric network.
Actual Behavior

Possible Fix

Steps to Reproduce

Existing issues

[ ] Stack Overflow issues
[ ] GitHub Issues
[ ] Rocket Chat history

Context

Your Environment

Version used:
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your project:

@clumsky The start and end commands can contain arbitrary scripts, not just network starting/cleaning ones. But I agree with your point, that during development, it would be convenient to optionally skip the start and/or end scripts.
I'll write a separate issue about this soon, and you can edit your PR accordingly (because there is a nicer way for this setting :) )


Crash

Hello!) Periodically there are server crashes, they said to contact you.
https://github.com/SpongePowered/SpongeForge/issues/1645

I replied on your Sponge ticket.


Update README.md

For #

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[ ] Title summarizes what is changing
[ ] Has a news entry file (remember to thank yourself!)
[ ] Unit tests & system/integration tests are added/updated
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed)

I'm closing this PR as it doesn't solve anything and the changes are not valid either.
Finally, when submitting a PR, please do look at the contribution guide.


Contributors Images Added on ReadMe file.

#6 The Contributors image in the README.md is not updating issue Fixed.

We tried this option but the Images of the Contributors do not update with this option, Thank you for helping though.


Update README.md

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

my comment

WhyNot

GoodForTest

This is long text
hihi
no
Bold

SkipApproval

DoNotSkipApproval
hi

DoNotSkipApproval

SkipApproval


Improve error message for command/task/target not found

See https://github.com/pydoit/doit/issues/60#issuecomment-118548453

[ ] level 0: mentiondoit help to see list of tasks
[ ] level 1: only mention doit help if run (or build in nikola) was not specified
[ ] level 2: suggest similar command/task names

Implementation of level 0 is good enough...

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/23728166-improve-error-message-for-command-task-target-not-found?utm_campaign=plugin&utm_content=tracker%2F1885485&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1885485&utm_medium=issues&utm_source=github).

I started implementing what I had in mind when I wrote that comment: https://github.com/pydoit/doit/compare/master...felixfontein:adjustable-error-messages?expand=1

Regarding level 3: I think what you mean is already implemented in Nikola (see around https://github.com/getnikola/nikola/blob/master/nikola/main.py#L327); see https://github.com/getnikola/nikola/commit/bbfeacb7d527056b3fbbd3ec97d7821c0d8ac9ca and https://github.com/getnikola/nikola/commit/2466123d33faa37dbcea2961728f99b090392586 for the relevant commits and https://github.com/getnikola/nikola/issues/1807 for the discussion.

I didnt bother to implement item 3. closing this anyway.
It should work on nikola out of the box (but didnt test it)

Cool! Just tested it with Nikola, works fine.
$ nikola build test
ERROR: command `build` invalid parameter: "test". Must be a task, or a target.
Type "nikola list" to see available tasks


Daily job being triggered many more times than it should be.

I can't find an explanation in the docs or my search of the codebase as to why this would be.

@mfeckie I think you git your cron specification wrong.
Your smspecifications means every minute at 9 am.
https://crontab.guru/#*_9_*_*_*

🤕 	Doh!.  Thanks for the prompt answer.


make-github-repo-private: Fix bulleted list Markdown rendering

Needed a blank line between the bullets and the main text.
I also took the opportunity for some rewording.

Thanks, I had just done similar myself!

Sorry for the duplicated effort Simon!


Update edge-utils hash

Contains path update for relay-term maestro config generation
Startup script points to updated path

edge-utils PR merged:
https://github.com/armPelionEdge/edge-utils/pull/38


Entry.java:60-62: Fetch pull request approver to post...

The puzzle 2-a383e1db from #2 has to be resolved:
https://github.com/tracehubpm/code-review-action/blob/9bf7dc41c6ec61cf9ed1c94308d37e2ab221498d/src/main/java/git/tracehub/codereview/action/Entry.java#L60-L62
The puzzle was created by @h1alexbel on 02-Apr-24.
Estimate: 25 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

inside this JSON:
{
  "action": "submitted",
  "pull_request": {
    "_links": {
      "comments": {
        "href": "https://api.github.com/repos/h1alexbel/***/issues/313/comments"
      },
      "commits": {
        "href": "https://api.github.com/repos/h1alexbel/***/pulls/313/commits"
      },
      "html": {
        "href": "https://github.com/h1alexbel/***/pull/313"
      },
      "issue": {
        "href": "https://api.github.com/repos/h1alexbel/***/issues/313"
      },
      "review_comment": {
        "href": "https://api.github.com/repos/h1alexbel/***/pulls/comments{/number}"
      },
      "review_comments": {
        "href": "https://api.github.com/repos/h1alexbel/***/pulls/313/comments"
      },
      "self": {
        "href": "https://api.github.com/repos/h1alexbel/***/pulls/313"
      },
      "statuses": {
        "href": "https://api.github.com/repos/h1alexbel/***/statuses/6f552423328adccd48b023601260b53d67a493a2"
      }
    },
    "active_lock_reason": null,
    "assignee": null,
    "assignees": [],
    "author_association": "COLLABORATOR",
    "auto_merge": null,
    "base": {
      "label": "h1alexbel:master",
      "ref": "master",
      "repo": {
        "allow_auto_merge": false,
        "allow_forking": true,
        "allow_merge_commit": true,
        "allow_rebase_merge": true,
        "allow_squash_merge": true,
        "allow_update_branch": false,
        "archive_url": "https://api.github.com/repos/h1alexbel/***/{archive_format}{/ref}",
        "archived": false,
        "assignees_url": "https://api.github.com/repos/h1alexbel/***/assignees{/user}",
        "blobs_url": "https://api.github.com/repos/h1alexbel/***/git/blobs{/sha}",
        "branches_url": "https://api.github.com/repos/h1alexbel/***/branches{/branch}",
        "clone_url": "https://github.com/h1alexbel/***.git",
        "collaborators_url": "https://api.github.com/repos/h1alexbel/***/collaborators{/collaborator}",
        "comments_url": "https://api.github.com/repos/h1alexbel/***/comments{/number}",
        "commits_url": "https://api.github.com/repos/h1alexbel/***/commits{/sha}",
        "compare_url": "https://api.github.com/repos/h1alexbel/***/compare/{base}...{head}",
        "contents_url": "https://api.github.com/repos/h1alexbel/***/contents/{+path}",
        "contributors_url": "https://api.github.com/repos/h1alexbel/***/contributors",
        "created_at": "2024-01-12T12:29:39Z",
        "default_branch": "master",
        "delete_branch_on_merge": false,
        "deployments_url": "https://api.github.com/repos/h1alexbel/***/deployments",
        "description": "Just a *** repository",
        "disabled": false,
        "downloads_url": "https://api.github.com/repos/h1alexbel/***/downloads",
        "events_url": "https://api.github.com/repos/h1alexbel/***/events",
        "fork": false,
        "forks": 0,
        "forks_count": 0,
        "forks_url": "https://api.github.com/repos/h1alexbel/***/forks",
        "full_name": "h1alexbel/***",
        "git_commits_url": "https://api.github.com/repos/h1alexbel/***/git/commits{/sha}",
        "git_refs_url": "https://api.github.com/repos/h1alexbel/***/git/refs{/sha}",
        "git_tags_url": "https://api.github.com/repos/h1alexbel/***/git/tags{/sha}",
        "git_url": "git://github.com/h1alexbel/***.git",
        "has_discussions": false,
        "has_downloads": true,
        "has_issues": true,
        "has_pages": false,
        "has_projects": true,
        "has_wiki": false,
        "homepage": null,
        "hooks_url": "https://api.github.com/repos/h1alexbel/***/hooks",
        "html_url": "https://github.com/h1alexbel/***",
        "id": 742414605,
        "is_template": false,
        "issue_comment_url": "https://api.github.com/repos/h1alexbel/***/issues/comments{/number}",
        "issue_events_url": "https://api.github.com/repos/h1alexbel/***/issues/events{/number}",
        "issues_url": "https://api.github.com/repos/h1alexbel/***/issues{/number}",
        "keys_url": "https://api.github.com/repos/h1alexbel/***/keys{/key_id}",
        "labels_url": "https://api.github.com/repos/h1alexbel/***/labels{/name}",
        "language": "Java",
        "languages_url": "https://api.github.com/repos/h1alexbel/***/languages",
        "license": {
          "key": "mit",
          "name": "MIT License",
          "node_id": "MDc6TGljZW5zZTEz",
          "spdx_id": "MIT",
          "url": "https://api.github.com/licenses/mit"
        },
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE",
        "merges_url": "https://api.github.com/repos/h1alexbel/***/merges",
        "milestones_url": "https://api.github.com/repos/h1alexbel/***/milestones{/number}",
        "mirror_url": null,
        "name": "***",
        "node_id": "R_kgDOLEBZDQ",
        "notifications_url": "https://api.github.com/repos/h1alexbel/***/notifications{?since,all,participating}",
        "open_issues": 657,
        "open_issues_count": 657,
        "owner": {
          "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
          "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
          "followers_url": "https://api.github.com/users/h1alexbel/followers",
          "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
          "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
          "gravatar_id": "",
          "html_url": "https://github.com/h1alexbel",
          "id": 83453843,
          "login": "h1alexbel",
          "node_id": "MDQ6VXNlcjgzNDUzODQz",
          "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
          "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
          "repos_url": "https://api.github.com/users/h1alexbel/repos",
          "site_admin": false,
          "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
          "type": "User",
          "url": "https://api.github.com/users/h1alexbel"
        },
        "private": true,
        "pulls_url": "https://api.github.com/repos/h1alexbel/***/pulls{/number}",
        "pushed_at": "2024-03-28T13:26:28Z",
        "releases_url": "https://api.github.com/repos/h1alexbel/***/releases{/id}",
        "size": 65,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "ssh_url": "git@github.com:h1alexbel/***.git",
        "stargazers_count": 0,
        "stargazers_url": "https://api.github.com/repos/h1alexbel/***/stargazers",
        "statuses_url": "https://api.github.com/repos/h1alexbel/***/statuses/{sha}",
        "subscribers_url": "https://api.github.com/repos/h1alexbel/***/subscribers",
        "subscription_url": "https://api.github.com/repos/h1alexbel/***/subscription",
        "svn_url": "https://github.com/h1alexbel/***",
        "tags_url": "https://api.github.com/repos/h1alexbel/***/tags",
        "teams_url": "https://api.github.com/repos/h1alexbel/***/teams",
        "topics": [],
        "trees_url": "https://api.github.com/repos/h1alexbel/***/git/trees{/sha}",
        "updated_at": "2024-03-20T15:21:09Z",
        "url": "https://api.github.com/repos/h1alexbel/***",
        "use_squash_pr_title_as_default": false,
        "visibility": "private",
        "watchers": 0,
        "watchers_count": 0,
        "web_commit_signoff_required": false
      },
      "sha": "5b8c6f65b2468ff020f5b9a725a9f485cdc2009b",
      "user": {
        "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
        "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
        "followers_url": "https://api.github.com/users/h1alexbel/followers",
        "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
        "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
        "gravatar_id": "",
        "html_url": "https://github.com/h1alexbel",
        "id": 83453843,
        "login": "h1alexbel",
        "node_id": "MDQ6VXNlcjgzNDUzODQz",
        "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
        "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
        "repos_url": "https://api.github.com/users/h1alexbel/repos",
        "site_admin": false,
        "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
        "type": "User",
        "url": "https://api.github.com/users/h1alexbel"
      }
    },
    "body": "<!-- start pr-codex -->\n\n## PR-Codex overview\nThis PR focuses on adding a new job `Test for new issue` in the file `***-for-new-issue.yml`.\n\n### Detailed summary\n- Added a new job `Test for new issue` in `.trace/jobs/***-for-new-issue.yml`.\n\n> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`\n\n<!-- end pr-codex -->",
    "closed_at": null,
    "comments_url": "https://api.github.com/repos/h1alexbel/***/issues/313/comments",
    "commits_url": "https://api.github.com/repos/h1alexbel/***/pulls/313/commits",
    "created_at": "2024-03-10T02:02:47Z",
    "diff_url": "https://github.com/h1alexbel/***/pull/313.diff",
    "draft": false,
    "head": {
      "label": "h1alexbel:sync-1710036166938",
      "ref": "sync-1710036166938",
      "repo": {
        "allow_auto_merge": false,
        "allow_forking": true,
        "allow_merge_commit": true,
        "allow_rebase_merge": true,
        "allow_squash_merge": true,
        "allow_update_branch": false,
        "archive_url": "https://api.github.com/repos/h1alexbel/***/{archive_format}{/ref}",
        "archived": false,
        "assignees_url": "https://api.github.com/repos/h1alexbel/***/assignees{/user}",
        "blobs_url": "https://api.github.com/repos/h1alexbel/***/git/blobs{/sha}",
        "branches_url": "https://api.github.com/repos/h1alexbel/***/branches{/branch}",
        "clone_url": "https://github.com/h1alexbel/***.git",
        "collaborators_url": "https://api.github.com/repos/h1alexbel/***/collaborators{/collaborator}",
        "comments_url": "https://api.github.com/repos/h1alexbel/***/comments{/number}",
        "commits_url": "https://api.github.com/repos/h1alexbel/***/commits{/sha}",
        "compare_url": "https://api.github.com/repos/h1alexbel/***/compare/{base}...{head}",
        "contents_url": "https://api.github.com/repos/h1alexbel/***/contents/{+path}",
        "contributors_url": "https://api.github.com/repos/h1alexbel/***/contributors",
        "created_at": "2024-01-12T12:29:39Z",
        "default_branch": "master",
        "delete_branch_on_merge": false,
        "deployments_url": "https://api.github.com/repos/h1alexbel/***/deployments",
        "description": "Just a *** repository",
        "disabled": false,
        "downloads_url": "https://api.github.com/repos/h1alexbel/***/downloads",
        "events_url": "https://api.github.com/repos/h1alexbel/***/events",
        "fork": false,
        "forks": 0,
        "forks_count": 0,
        "forks_url": "https://api.github.com/repos/h1alexbel/***/forks",
        "full_name": "h1alexbel/***",
        "git_commits_url": "https://api.github.com/repos/h1alexbel/***/git/commits{/sha}",
        "git_refs_url": "https://api.github.com/repos/h1alexbel/***/git/refs{/sha}",
        "git_tags_url": "https://api.github.com/repos/h1alexbel/***/git/tags{/sha}",
        "git_url": "git://github.com/h1alexbel/***.git",
        "has_discussions": false,
        "has_downloads": true,
        "has_issues": true,
        "has_pages": false,
        "has_projects": true,
        "has_wiki": false,
        "homepage": null,
        "hooks_url": "https://api.github.com/repos/h1alexbel/***/hooks",
        "html_url": "https://github.com/h1alexbel/***",
        "id": 742414605,
        "is_template": false,
        "issue_comment_url": "https://api.github.com/repos/h1alexbel/***/issues/comments{/number}",
        "issue_events_url": "https://api.github.com/repos/h1alexbel/***/issues/events{/number}",
        "issues_url": "https://api.github.com/repos/h1alexbel/***/issues{/number}",
        "keys_url": "https://api.github.com/repos/h1alexbel/***/keys{/key_id}",
        "labels_url": "https://api.github.com/repos/h1alexbel/***/labels{/name}",
        "language": "Java",
        "languages_url": "https://api.github.com/repos/h1alexbel/***/languages",
        "license": {
          "key": "mit",
          "name": "MIT License",
          "node_id": "MDc6TGljZW5zZTEz",
          "spdx_id": "MIT",
          "url": "https://api.github.com/licenses/mit"
        },
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE",
        "merges_url": "https://api.github.com/repos/h1alexbel/***/merges",
        "milestones_url": "https://api.github.com/repos/h1alexbel/***/milestones{/number}",
        "mirror_url": null,
        "name": "***",
        "node_id": "R_kgDOLEBZDQ",
        "notifications_url": "https://api.github.com/repos/h1alexbel/***/notifications{?since,all,participating}",
        "open_issues": 657,
        "open_issues_count": 657,
        "owner": {
          "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
          "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
          "followers_url": "https://api.github.com/users/h1alexbel/followers",
          "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
          "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
          "gravatar_id": "",
          "html_url": "https://github.com/h1alexbel",
          "id": 83453843,
          "login": "h1alexbel",
          "node_id": "MDQ6VXNlcjgzNDUzODQz",
          "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
          "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
          "repos_url": "https://api.github.com/users/h1alexbel/repos",
          "site_admin": false,
          "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
          "type": "User",
          "url": "https://api.github.com/users/h1alexbel"
        },
        "private": true,
        "pulls_url": "https://api.github.com/repos/h1alexbel/***/pulls{/number}",
        "pushed_at": "2024-03-28T13:26:28Z",
        "releases_url": "https://api.github.com/repos/h1alexbel/***/releases{/id}",
        "size": 65,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "ssh_url": "git@github.com:h1alexbel/***.git",
        "stargazers_count": 0,
        "stargazers_url": "https://api.github.com/repos/h1alexbel/***/stargazers",
        "statuses_url": "https://api.github.com/repos/h1alexbel/***/statuses/{sha}",
        "subscribers_url": "https://api.github.com/repos/h1alexbel/***/subscribers",
        "subscription_url": "https://api.github.com/repos/h1alexbel/***/subscription",
        "svn_url": "https://github.com/h1alexbel/***",
        "tags_url": "https://api.github.com/repos/h1alexbel/***/tags",
        "teams_url": "https://api.github.com/repos/h1alexbel/***/teams",
        "topics": [],
        "trees_url": "https://api.github.com/repos/h1alexbel/***/git/trees{/sha}",
        "updated_at": "2024-03-20T15:21:09Z",
        "url": "https://api.github.com/repos/h1alexbel/***",
        "use_squash_pr_title_as_default": false,
        "visibility": "private",
        "watchers": 0,
        "watchers_count": 0,
        "web_commit_signoff_required": false
      },
      "sha": "6f552423328adccd48b023601260b53d67a493a2",
      "user": {
        "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
        "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
        "followers_url": "https://api.github.com/users/h1alexbel/followers",
        "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
        "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
        "gravatar_id": "",
        "html_url": "https://github.com/h1alexbel",
        "id": 83453843,
        "login": "h1alexbel",
        "node_id": "MDQ6VXNlcjgzNDUzODQz",
        "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
        "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
        "repos_url": "https://api.github.com/users/h1alexbel/repos",
        "site_admin": false,
        "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
        "type": "User",
        "url": "https://api.github.com/users/h1alexbel"
      }
    },
    "html_url": "https://github.com/h1alexbel/***/pull/313",
    "id":<PHONE_NUMBER>,
    "issue_url": "https://api.github.com/repos/h1alexbel/***/issues/313",
    "labels": [],
    "locked": false,
    "merge_commit_sha": "3e049fe3bafcbab10aa8084d04c6a77f720f0bf8",
    "merged_at": null,
    "milestone": null,
    "node_id": "PR_kwDOLEBZDc5pKGXB",
    "number": 313,
    "patch_url": "https://github.com/h1alexbel/***/pull/313.patch",
    "requested_reviewers": [],
    "requested_teams": [],
    "review_comment_url": "https://api.github.com/repos/h1alexbel/***/pulls/comments{/number}",
    "review_comments_url": "https://api.github.com/repos/h1alexbel/***/pulls/313/comments",
    "state": "open",
    "statuses_url": "https://api.github.com/repos/h1alexbel/***/statuses/6f552423328adccd48b023601260b53d67a493a2",
    "title": "sync(#142)",
    "updated_at": "2024-04-01T15:50:55Z",
    "url": "https://api.github.com/repos/h1alexbel/***/pulls/313",
    "user": {
      "avatar_url": "https://avatars.githubusercontent.com/u/149370884?v=4",
      "events_url": "https://api.github.com/users/tracehubgit/events{/privacy}",
      "followers_url": "https://api.github.com/users/tracehubgit/followers",
      "following_url": "https://api.github.com/users/tracehubgit/following{/other_user}",
      "gists_url": "https://api.github.com/users/tracehubgit/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/tracehubgit",
      "id": 149370884,
      "login": "tracehubgit",
      "node_id": "U_kgDOCOc4BA",
      "organizations_url": "https://api.github.com/users/tracehubgit/orgs",
      "received_events_url": "https://api.github.com/users/tracehubgit/received_events",
      "repos_url": "https://api.github.com/users/tracehubgit/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/tracehubgit/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/tracehubgit/subscriptions",
      "type": "User",
      "url": "https://api.github.com/users/tracehubgit"
    }
  },
  "repository": {
    "allow_forking": true,
    "archive_url": "https://api.github.com/repos/h1alexbel/***/{archive_format}{/ref}",
    "archived": false,
    "assignees_url": "https://api.github.com/repos/h1alexbel/***/assignees{/user}",
    "blobs_url": "https://api.github.com/repos/h1alexbel/***/git/blobs{/sha}",
    "branches_url": "https://api.github.com/repos/h1alexbel/***/branches{/branch}",
    "clone_url": "https://github.com/h1alexbel/***.git",
    "collaborators_url": "https://api.github.com/repos/h1alexbel/***/collaborators{/collaborator}",
    "comments_url": "https://api.github.com/repos/h1alexbel/***/comments{/number}",
    "commits_url": "https://api.github.com/repos/h1alexbel/***/commits{/sha}",
    "compare_url": "https://api.github.com/repos/h1alexbel/***/compare/{base}...{head}",
    "contents_url": "https://api.github.com/repos/h1alexbel/***/contents/{+path}",
    "contributors_url": "https://api.github.com/repos/h1alexbel/***/contributors",
    "created_at": "2024-01-12T12:29:39Z",
    "default_branch": "master",
    "deployments_url": "https://api.github.com/repos/h1alexbel/***/deployments",
    "description": "Just a *** repository",
    "disabled": false,
    "downloads_url": "https://api.github.com/repos/h1alexbel/***/downloads",
    "events_url": "https://api.github.com/repos/h1alexbel/***/events",
    "fork": false,
    "forks": 0,
    "forks_count": 0,
    "forks_url": "https://api.github.com/repos/h1alexbel/***/forks",
    "full_name": "h1alexbel/***",
    "git_commits_url": "https://api.github.com/repos/h1alexbel/***/git/commits{/sha}",
    "git_refs_url": "https://api.github.com/repos/h1alexbel/***/git/refs{/sha}",
    "git_tags_url": "https://api.github.com/repos/h1alexbel/***/git/tags{/sha}",
    "git_url": "git://github.com/h1alexbel/***.git",
    "has_discussions": false,
    "has_downloads": true,
    "has_issues": true,
    "has_pages": false,
    "has_projects": true,
    "has_wiki": false,
    "homepage": null,
    "hooks_url": "https://api.github.com/repos/h1alexbel/***/hooks",
    "html_url": "https://github.com/h1alexbel/***",
    "id": 742414605,
    "is_template": false,
    "issue_comment_url": "https://api.github.com/repos/h1alexbel/***/issues/comments{/number}",
    "issue_events_url": "https://api.github.com/repos/h1alexbel/***/issues/events{/number}",
    "issues_url": "https://api.github.com/repos/h1alexbel/***/issues{/number}",
    "keys_url": "https://api.github.com/repos/h1alexbel/***/keys{/key_id}",
    "labels_url": "https://api.github.com/repos/h1alexbel/***/labels{/name}",
    "language": "Java",
    "languages_url": "https://api.github.com/repos/h1alexbel/***/languages",
    "license": {
      "key": "mit",
      "name": "MIT License",
      "node_id": "MDc6TGljZW5zZTEz",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit"
    },
    "merges_url": "https://api.github.com/repos/h1alexbel/***/merges",
    "milestones_url": "https://api.github.com/repos/h1alexbel/***/milestones{/number}",
    "mirror_url": null,
    "name": "***",
    "node_id": "R_kgDOLEBZDQ",
    "notifications_url": "https://api.github.com/repos/h1alexbel/***/notifications{?since,all,participating}",
    "open_issues": 657,
    "open_issues_count": 657,
    "owner": {
      "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
      "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
      "followers_url": "https://api.github.com/users/h1alexbel/followers",
      "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
      "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/h1alexbel",
      "id": 83453843,
      "login": "h1alexbel",
      "node_id": "MDQ6VXNlcjgzNDUzODQz",
      "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
      "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
      "repos_url": "https://api.github.com/users/h1alexbel/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
      "type": "User",
      "url": "https://api.github.com/users/h1alexbel"
    },
    "private": true,
    "pulls_url": "https://api.github.com/repos/h1alexbel/***/pulls{/number}",
    "pushed_at": "2024-03-28T13:26:28Z",
    "releases_url": "https://api.github.com/repos/h1alexbel/***/releases{/id}",
    "size": 65,
    "ssh_url": "git@github.com:h1alexbel/***.git",
    "stargazers_count": 0,
    "stargazers_url": "https://api.github.com/repos/h1alexbel/***/stargazers",
    "statuses_url": "https://api.github.com/repos/h1alexbel/***/statuses/{sha}",
    "subscribers_url": "https://api.github.com/repos/h1alexbel/***/subscribers",
    "subscription_url": "https://api.github.com/repos/h1alexbel/***/subscription",
    "svn_url": "https://github.com/h1alexbel/***",
    "tags_url": "https://api.github.com/repos/h1alexbel/***/tags",
    "teams_url": "https://api.github.com/repos/h1alexbel/***/teams",
    "topics": [],
    "trees_url": "https://api.github.com/repos/h1alexbel/***/git/trees{/sha}",
    "updated_at": "2024-03-20T15:21:09Z",
    "url": "https://api.github.com/repos/h1alexbel/***",
    "visibility": "private",
    "watchers": 0,
    "watchers_count": 0,
    "web_commit_signoff_required": false
  },
  "review": {
    "_links": {
      "html": {
        "href": "https://github.com/h1alexbel/***/pull/313#pullrequestreview-1971543005"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/h1alexbel/***/pulls/313"
      }
    },
    "author_association": "OWNER",
    "body": "***",
    "commit_id": "6f552423328adccd48b023601260b53d67a493a2",
    "html_url": "https://github.com/h1alexbel/***/pull/313#pullrequestreview-1971543005",
    "id":<PHONE_NUMBER>,
    "node_id": "PRR_kwDOLEBZDc51g1vd",
    "pull_request_url": "https://api.github.com/repos/h1alexbel/***/pulls/313",
    "state": "approved",
    "submitted_at": "2024-04-01T15:50:55Z",
    "user": {
      "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
      "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
      "followers_url": "https://api.github.com/users/h1alexbel/followers",
      "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
      "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/h1alexbel",
      "id": 83453843,
      "login": "h1alexbel",
      "node_id": "MDQ6VXNlcjgzNDUzODQz",
      "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
      "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
      "repos_url": "https://api.github.com/users/h1alexbel/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
      "type": "User",
      "url": "https://api.github.com/users/h1alexbel"
    }
  },
  "sender": {
    "avatar_url": "https://avatars.githubusercontent.com/u/83453843?v=4",
    "events_url": "https://api.github.com/users/h1alexbel/events{/privacy}",
    "followers_url": "https://api.github.com/users/h1alexbel/followers",
    "following_url": "https://api.github.com/users/h1alexbel/following{/other_user}",
    "gists_url": "https://api.github.com/users/h1alexbel/gists{/gist_id}",
    "gravatar_id": "",
    "html_url": "https://github.com/h1alexbel",
    "id": 83453843,
    "login": "h1alexbel",
    "node_id": "MDQ6VXNlcjgzNDUzODQz",
    "organizations_url": "https://api.github.com/users/h1alexbel/orgs",
    "received_events_url": "https://api.github.com/users/h1alexbel/received_events",
    "repos_url": "https://api.github.com/users/h1alexbel/repos",
    "site_admin": false,
    "starred_url": "https://api.github.com/users/h1alexbel/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/h1alexbel/subscriptions",
    "type": "User",
    "url": "https://api.github.com/users/h1alexbel"
  }
}

we can parse `sender/login` to get the approver login


Azure ML new API version 20210401

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[x] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@SubaMoorthy , please review Avacado error and make corrections.

/azp run SDK azure-sdk-for-net

/azp run

          "$ref": "#/definitions/MachineLearningServiceError"

Would like to see you reference the standard error schema under common-types/v2

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:59 in c0959d0. [](commit_id = c0959d09b3544f8d1fa34b60d5d7e54380450c45, deletion_comment = False)

        "$ref": "#/parameters/APIVersionParameter"

Would like to see you reference the standard parameters under common-types/v2

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:82 in c0959d0. [](commit_id = c0959d09b3544f8d1fa34b60d5d7e54380450c45, deletion_comment = False)

    "operationId": "ListSkus",

Workspaces_ListSkus

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:1223 in c0959d0. [](commit_id = c0959d09b3544f8d1fa34b60d5d7e54380450c45, deletion_comment = False)

          "$ref": "#/definitions/PrivateEndpointConnection"

Can you reconcile this with PrivateEndpoint definitions under common-types ?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:1289 in c0959d0. [](commit_id = c0959d09b3544f8d1fa34b60d5d7e54380450c45, deletion_comment = False)

          "$ref": "#/definitions/PrivateEndpointConnection"

Can you reconcile this with PrivateEndpoint definitions under common-types ?
Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:1289 in c0959d0. [](commit_id = c0959d0, deletion_comment = False)

Adding reference to common-types is causing model validation errors on location and identity properties. That's the reason decided to not use common-types reference in this version.

    "subscriptionState": {

can you elaborate why you need to expose these properties in the workspace? there are other apis that are source of truth for this.

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:2377 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

    "createdOn": {

please update your examples too, for all these added properties

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3226 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

            "LoadBalancerType": {

camelCase property names please

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3317 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

            "LoadBalancerSubnet": {

is this a subnet resource id? then it should be named loadBalancerSubnetId or similar

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3330 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

            "isNotebookInstanceCompute": {

you should use enums instead of bools as they are more extensible. search for boolean in https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html?q=boolean.

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3618 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

    "target": {

in order to avoid having to make such changes you should be ref'ing these from common-types

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:4205 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

    "SynapseSpark"

don't you need to add a definition which specifies this as its x-ms-discriminator-value - like you have for the other values?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:4157 in df1a995. [](commit_id = df1a9953ffa71a1509afdcb8a12de522dfae18db, deletion_comment = False)

    "target": {

in order to avoid having to make such changes you should be ref'ing these from common-types
Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:4205 in df1a995. [](commit_id = df1a995, deletion_comment = False)

Per SubaMoorthy, "Adding reference to common-types is causing model validation errors on location and identity properties. That's the reason decided to not use common-types reference in this version."

            "isNotebookInstanceCompute": {

you should use enums instead of bools as they are more extensible. search for boolean in https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html?q=boolean.
Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3618 in df1a995. [](commit_id = df1a995, deletion_comment = False)

This should be done in the future. In this version we will keep as boolean to stay consistent with other instances and the code impl.

            "LoadBalancerSubnet": {

is this a subnet resource id? then it should be named loadBalancerSubnetId or similar
Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:3330 in df1a995. [](commit_id = df1a995, deletion_comment = False)

It is different. ex: "aks-subnet"

/azp run

        },

wont these be available in the uri itself?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:6678 in 235a15e. [](commit_id = 235a15eba7774f6c8e102eef08ffa1ebb8f9e0ed, deletion_comment = False)

        },

wont these be available in the uri itself?
Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-04-01/machineLearningServices.json:6678 in 235a15e. [](commit_id = 235a15e, deletion_comment = False)

This matches the implementation. Im not sure why but these fields are included in the properties