[EC-157] refactor ECDSASignature

This PR is for reorganization and encapsulation of ECDSASignature logic

@adamsmo should the precompiled contract ECDSARECOVER (see YP ap. E) support values of v other than those used for transaction signing? And if so, would the refactored ECDSASignature support this?

@rtkaczyk I think op code should support only old values because there was no change for that in EIP which was for preventing replay attack
And refactored ECDSASignature can support that, because you can pass chain id to sign metohd

also there is no block number for hard fork so from which block should we start executing that contract differently?

@adamsmo YP doesn't state the purpose of this contract. Especially it doesn't say it's used with ethereum transactions. So why couldn't e.g. 42 be a legal value?

It can, only thing against using chain id for this precompiled contract is that we have to set a fork block

@rtkaczyk also YP (I think) indirectly restricts ECDSARECOVER by using same name in appendix E and F in equations
217 and 218 because Ts can by 27 or 28

regarding our discussion, evm test faild because of difference in transcation signing and ECDSARECOVER precompiled contract

Good to know, please let us know when you find the exact cause

As I was investigating this bug I found that byte 0 of uncompressed ECC point is not part of the point in implementation that we are using (spongycastle) it indicates that bytes represents uncompressed point and is always set to 0x04, this is the reason we need this
crypto.kec256(key.tail).slice(FirstByteOfAddress, LastByteOfAddress)

https://github.com/input-output-hk/etc-client/pull/152/files#diff-20b5c779a4b99edd2cc46f24ff59e82aR59
to get actual point bytes for kec256, so for EllipticCurveRecovery precompiled contract we need to do same thing to get actual point bytes for hash


[Event Request] table 55 "Invoice Posting Buffer" - OnAfterSetAccount

Describe the request
Hello, can you please add a new Event OnAfterSetAccount in table 55 "Invoice Posting Buffer"?
    procedure SetAccount(AccountNo: Code[20]; var TotalVAT: Decimal; var TotalVATACY: Decimal; var TotalAmount: Decimal; var TotalAmountACY: Decimal)
    begin
        TotalVAT := TotalVAT - "VAT Amount";
        TotalVATACY := TotalVATACY - "VAT Amount (ACY)";
        TotalAmount := TotalAmount - Amount;
        TotalAmountACY := TotalAmountACY - "Amount (ACY)";
        "G/L Account" := AccountNo;
        OnAfterSetAccount(Rec, "G/L Account");
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterSetAccount(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; AccountNo: Code[20])
    begin
    end;

Additional context
We assign an additional field in the InvoicePostingBuffer that is linked to the G/L Account.
Internal work item: AB#550255

@RZ440 Why can't you use one of the 4 events available in the Update function on Table 55 "Invoice Post Buffer"? Afaik the update method should always be called so you should have the required info there but Maybe there is a scenario where it is not sufficient so I'd like to understand that better.

Availability update: We will publish a fix for this issue in the next update for release 25.
Build ID to track: 26737.


quantization_strategy=="int8" does not quantize the model

Hi Paul!
Have a question for MobileDet_Conversion_TFLite.ipynb, Quantize and serialize.
Using model: model_checkpoint_name = "ssd_mobiledet_cpu_coco"
Is my understanding correct: using
original_precision = "regular"
quantization_strategy = "int8"
We expect that the converted model is a quantized model, with input as uint8 (converter.inference_input_type = tf.uint8).
However, the resulting model input is not quantized:
input_type = interpreter.get_input_details()[0]['dtype']
print('input_type: ' + str(input_type))
input_type: <class 'numpy.float32'>
Moreover, checking the resulting tflite file using netron.app shows that the model is missing the Quantize step after normalized_input_image_tensor.
Is quantization_strategy=="int8" missing converter.representative_dataset = representative_dataset_gen?

Thanks for reporting!
Since the pure CPU model doesn't benefit much from the full integer quantization, it wasn't utilized further. More details are in this post: https://sayak.dev/mobiledet-optimization/


Fix IsBlockPayeeValid

should skip while not synced regardless of spork15 state
add missing logprintf

but this should be reverted as part of #2566

True but until then reindexing could fail without this patch applied ;)

Actually, no, shouldn't be reverted - we can't rely on gobject data while not yet synced. This one is still not on-chain/deterministic.

Then instead of reverting, we should change it to only skip superblock verification on IBD/reindex and still do the MN payee checks.

only skip superblock verification on IBD/reindex and still do the MN payee checks

Agree, this makes sense.


SSUI: Upload Dataset Sample

As a contributor, I need a mechanism to upload my dataset, so that the Curator may review it.
AC:

[ ] Create new S3 bucket just for storing data samples
[ ] Enable object deletion (via lifecycle policy) after 30 days
[ ] Enable access logging of object access (If guard duty is not doing this)
[ ] Bucket Versioning is disabled
[ ] File is downloadable by Curator
[ ] Encryption Enabled
[ ] Limit file size to 250mb
[ ] Change header to say Upload Dataset Sample
[ ] Allow contributor to upload data sample
[ ] Only allow CSV, JSON, XML
[ ] Sample is required

Adding to the MVP epic. Originally this was planned as an enhancement, but since we finished the end-to-end MVP we are tracking to finish by end of January 2021.


Convert to Lab* format

I'm interested in being able to convert colors to and from L*a*b* with ColorTranslator.
References

https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lab
https://en.wikipedia.org/wiki/CIELAB_color_space.

Existing implementations:

https://github.com/antimatter15/rgb-lab

Hi @uncenter,
That‘s been in my backlog for a while. It is time to take a look at it it seems :)
I‘ll work on it when I get some time. Letting this issue open until then.
Regards

Hi @uncenter,
The feature is ready to be shipped in a new version. Take a look at the new dfocumentation and lert me know if everything is clear for you. I‘ll merge the changes and release a new version when you have checked it.
Regards

Wow thank you so much for the quick turnaround! Give me a day to review all the changes and I'll let you know :)
Is there any way I can test it as well?

Is there any way I can test it as well?

Of course, just fork the repo, checkout that branch and execute yarn demo to open the same demo page but in your local. I have created an example for colors equivalences that ca help you to play around with it:

Oh yeah 😅 I'll give that a go!

Hi @uncenter,
Version 4.0.0 has been released.
Regards


[ColorPicker] Porting to .NET 6

Summary of the Pull Request
What is this about:
Porting ColorPicker to .NET6

Worried about the size of this DLL that needs to be shipped for every program.
CC @crutkas
What is included in the PR:
How does someone test / validate:

Pipeline build as expected
Build and install MSI
ColorPicker working as expected

Quality Checklist

[x] Linked issue: #8650
[x] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[x] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

We need VS 17 to be able to build

Maybe we do 5 now and 6 should be straight forward?

Maybe we do 5 now and 6 should be straight forward?

Up to you. Any chance to have a pipeline with VS17 soon?

I don’t know on that  surprised we can’t CI this

@DHowett qny ideas here for getting NET6 easily working

I was not aware that this required VS 2022. Hm.

just verified, VS 2022 is hard requirement

a 5 to 6 upgrade is supposedly straight forward and easy based on talking with @clairernovotny and @DHowett
Let's do that

Closing this in favour https://github.com/microsoft/PowerToys/pull/15591


Relationship between namespace and user

Greetings,
Could someone please explain (or point to existing docs) the relationship between namespace and user?
How the authentication key relates these two?
Visibility of entities like actions, triggers etc. ?
Thanks
pj

Hi @pjdurai,
a user is merely a container for API keys at this point. In the system itself it has almost no meaning.
All entitlement/visibility concerns are attached to namespaces. Each user can have access to N namespaces and in the same namespace, different users can see entities from each other.
Consequently API keys are related to namespace access, not the user. For each namespace a user has access to, she also has an API key to access this namespace.

Thanks for the clarification.

Each user can have access to N namespaces and in the same namespace, different users can see entities from each other

For the life of me I couldn't figure out how to do this using 'wsk'.
How do I make a AuthKey ('user') work with more than on openwhisk namespace?
thanks
pj

See this https://github.com/openwhisk/openwhisk/issues/1107#issuecomment-280810166 - does that help?

@pjdurai an AuthKey precisely is not equal to a user.
One user has multiple AuthKeys, each of which have access to exactly one namespace.


feat-floating-image- Floating Image wrapper always present even when block is not used

Since Style has a default value function runs no matter what. Need to set style variable to   let style;

Fixed with #83


Documentation lists wrong URL for Wizio

From Discord:
"I went through the dev process setup yesterday so can probably help
https://github.com/OpenStickFoundation/GP2040-CE/blob/main/docs/development.md
the bit that's wrong is Environment setup step 5 - the correct URL to use is https://github.com/OpenStickFoundation/wizio-pico"

Updated on https://github.com/OpenStickFoundation/GP2040-CE/blob/main/docs/development.md


Add support for folders and other node types

[ ] Add subtag type to node tag with allowed values standard, event_handler, frame, slot, response_condition, folder
[x] Node without type tag will default to standard type in xml2json conversion
[ ] Add documentation
[ ] Add tests

Due to vacations postponing this to the next sprint.

within replanning this was moved to the Sprint 25

Most of this is probably done, please revisit and finish it.

FYI, something about node types and their requirements can be found here. Should the requirements be checked the scripts?

Merged.


Add 'cycles' as a ValueUnit option in JSON schema

Hi @elalfer! Can you provide a bit more context around what you're hoping to get out of this? The value of having units is that they can be aggregated appropriately for display. For example, if you have a unit of microseconds, an you have a value of 1230000, then we can display that as 1.23s. What would you hope to get out of a cycles unit?
The schema already supports none as a unit, which I suspect will do almost the same thing as cycles?

I'm going to close this out for inactivity since I'm not sure what the request is here


user12986714: Watch originalweedshop(?!.com)(?:@gmail.com)?

user12986714 requests the watch of the watch_keyword originalweedshop(?!\.com)(?:@gmail\.com)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

originalweedshop(?!\.com)(?:@gmail\.com)? has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Fix wrong IPs in logs, take two

So it turns out my previous PR (#2501) was a bit overenthusiastic – while the setting of the trusted proxies was indeed the root cause, we still need the AWS IP ranges to be excluded when determining a user's IP. 😞
However, these IP ranges need to be appended to the default set instead of replacing them, otherwise we do not clean out private PaaS IPs from X-Forwarded-For.
I think that I thought it worked because I had some extra debug code locally before I PRed this the last time around, which implicitly fixed the issue, but when I cleaned it up before committing, I did not spot that it stopped doing what it was meant to be doing.


feature: Add link to allow editing page on GitHub

Adds a link to the feedback block to allow users to easily edit the source file directly on GitHub:

The link isn't displayed on frozen documentation pages for Codacy Self-hosted versions.

What is the page.edit_url link that it goes to? Does it just opens the github link for the docs or something more specific?

It opens the GitHub URL that allows editing the corresponding source file directly on the Web interface. For example, for the Codacy quickstart that URL is:
https://github.com/codacy/docs/edit/master/docs/getting-started/codacy-quickstart.md
For small fixes such as correcting a typo or adding small details to a page, this should be convenient enough. :raised_hands:


xHGobHw4: Use enabled flag in TrustStore Config

We want to be able to turn off validating certificate chains with our
root trust store for RPs (and their MSAs). We have previously added an
enabled flag to the ClientTrustStoreConfiguration in
verify-utils-libs.
This commit:
Updates TrustStoreForCertificateProvider to return Optional<KeyStore>
from getTrustStoreFor.
Uses the new enabled flag in ClientTrustStoreConfiguration to
determine whether or not to return the configured trust store.
Updates ConfigServiceKeyStore to validate using the trust store only
if it is present. i.e. the Optional returned from getTrustStoreFor is
not empty.
co-authored-by: Alan Carter<EMAIL_ADDRESS>

I'm going to ignore the Codacy fail for naming, going with consistency on this one.

Although the tests in here refer to IDP Certs, this is not the pathway that IDP certs get verified with. (I think they are just using any old valid cert.) The TrustStoreForCertificateProvider that we mock out throws an exception if you call getTrustStoreFor(FederationEntityType.IDP). I'm not sure how it ended up like this. It's either something old that is left over, or was there in expectation of future code that never materialised.
Given that we should strip this all out after we have got it all disabled in prod, I'm a bit loathed to tests paths that can never be executed.


Authorize(Roles="Admin") not working.

I havethe following setup for an api with identity server4
API call
    [HttpGet()]
    [EnableQuery()]
    [Authorize(Roles="admin")]
    public IQueryable<UserDTO> Get()
    {
        return userService.GetAllUsers().ProjectTo<UserDTO>();
    }

jwt token
{
"nbf":<PHONE_NUMBER>,
"exp":<PHONE_NUMBER>,
"iss": "https://localhost:44324",
"aud": "https://localhost:44324/resources",
"client_id": "platformAdmin",
"scope": [
"openid",
"platformApi",
"profile"
],
"sub"<EMAIL_ADDRESS>"auth_time":<PHONE_NUMBER>,
"idp": "idsrv",
"name": "damienbodadmin",
"given_name": "damienbodadmin",
"email"<EMAIL_ADDRESS>"email_verified": true,
"role": [
"admin",
"dataEventRecords.admin",
"dataEventRecords.user",
"dataEventRecords",
"securedFiles.user",
"securedFiles.admin",
"securedFiles"
],
"amr": [
"password"
]
}
Request in postman
GET /odata/Users HTTP/1.1
Host: localhost:44306
Authorization: Bearer eyJhbGciOiJSUzI1................................GdJVw
Cache-Control: no-cache
Postman-Token: 37b690e5-827b-dfe3-5bd0-7ba5c2aa5732
Why is the role:admin not mapped to Roles="admin" in the Authorize attribute on the call?
also User.IsInRole is empty.
startup.cs contains:
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
          app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
        {
            Authority = "https://localhost:44324/", //Identity Server 4 host
            RequireHttpsMetadata = true,
            EnableCaching = false,
            ScopeName = "platformApi",
            AutomaticAuthenticate = true,
            AutomaticChallenge = true
        });

        app.UseOData<ODataModel>("odata");
        app.UseMvc(builder =>
        {
            builder.MapODataRoute<ODataModel>("odata");
        });

try setting RoleClaimType = "role"
on the token validation MW. Also inspect the claims collection to be sure the claims from the token made it into MVC.

@leastprivilege hahaha, a perfect use case to illustrate my yesterday's tweets :trollface:
Ironically, it would work flawlessly if you didn't recommend adding JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); everywhere.

Yep I agree with you. Let's keep the people dumb so they don't need to understand what's going on under the covers. You won.
Sent from my iPhone

On 13.07.2016, at 18:13, Kévin Chalet<EMAIL_ADDRESS>wrote:
@leastprivilege hahaha, a perfect use case to illustrate my yesterday's tweets
Ironically, it would work flawlessly if you didn't recommend adding JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); everywhere.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Parsing Content-Disposition header

I have an email with such attachment (repeated 😁 =F0=9F=98=81 symbols):
Content-Disposition: attachment;
	filename*0="=?UTF-8?Q?*_=F0=9F=98=81=F0=9F=98=81=F0?=
 =?UTF-8?Q?=9F=98=8";
	filename*1="1=F0=9F=98=81=F0?=
 =?UTF-8?Q?=9F=98=81"; filename*2="=F0=9F=98=81.docx?="

For now the filename is parsed incorrectly:

😁😁���=8";    filename1="1😁😁"; filename2="😁.doc

But filename should look like * 😁😁😁😁😁😁.docx
It would be nice to concatenate filename (in case Parameter Value Continuations as described by RFC2184) before decoding to UTF-8.

Hi @whitelessk --
Parameter Value Continuations have been supported since 1.0.  Current release is 1.1.
Having said that, your example looks wrong and probably wouldn't work anyway.  It should look more like this:
filename*0=utf-8''%F0%9F%98, etc...
In your example there's no '*' after the parameter name, and it's combining a bit of RFC2184/2231 (2231 supercedes 2184) with 2047 for some reason.
Is this an actual example from a real mail client?  Or where did you find these headers? :)

Yes. This is an actual example, but I don't know source mail client (incoming email). Sorry for formating issue (* was stripped), fixed it. Tried to open such email in Thunderbird and attachment filename parsed correctly. Thats why I am interesting in this question.

Okay, thanks for updating that -- so now that's an exact copy of how the header's formatted?  I'm really surprised that's allowed to be honest!
Just to confirm, you're on a 1.x version of the library?  You should at least get just one "filename" parameter accessible, though I'm pretty sure it won't give you a valid value I do think some parts, like the first, will be converted.

Hmmm, still looks weird, are you sure you copy/pasted those headers?
Note that the RFC2231 spec needs two ' characters following the name, one's supposes to be for character encoding, the other language, if specified.  In your example the contents are quoted parts ".  So yours is filename*0="..."; which is weird that it's "contained" within double quotes as well, versus the spec: ``` filename*0=''...; (no ending single quotes).

I am using 1.1 version. Headers copied as is. I cleaned private data and posted full email here https://pastebin.com/M25njJRi
Tried the following code:
$parts = $mail->getAllAttachmentParts();
        foreach ($parts as $part) {
            if ($part instanceof MessagePart) {
                $file_name = $part->getFilename();
                echo $file_name . PHP_EOL;
            }
        }

Everything works fine except few emails.

Wow, and it was generated in 2018 unless you changed that.  I found a relevant mozilla-mail bug report from 16 years ago and was hoping your email was just old or something: https://bugzilla.mozilla.org/show_bug.cgi?id=193439
Anyways, it also has a few more examples of what other mail clients were producing, at least back then that I can hopefully incorporate into a fix.

Yes, the email is from 2018. I have read this article https://blog.nodemailer.com/2017/01/27/the-mess-that-is-attachment-filenames/ and understood that some Chinese clients (QQ webmail) just do not follow the standards.
Also, I have found a mixed Content-Type example in https://tools.ietf.org/html/rfc2231#section-4.1
Content-Type: application/x-stuff
    title*1*=us-ascii'en'This%20is%20even%20more%20
    title*2*=%2A%2A%2Afun%2A%2A%2A%20
    title*3="isn't it!"

Maybe it would be helpful.

Fortunately all those work -- it seems the spec allows double-quoted parts as you noticed, and I programmed that in fine and have tests for it.  Also the bad examples in the blog post all work fine as well it seems.
The only one not working is the originally reported one.  It's a simple fix -- basically if I code it so RFC 2047 (=?....?=) encoded parts to not allow double quotes in them, it fixes it.  Technically speaking, any printable character is allowed in RFC2047 though... so if I go further, and say double quotes are not allowed in an RFC2047 encoded part, when used within a parameter's value, which is specifically not permitted by the spec, I am hopefully fine.
To clarify, this would still be fine:
Subject: =?us-ascii?q?This_is_"okay"?=
This will not work any longer by my proposed fix:
Content-Type: text/plain; filename==?us-ascii?q?no_longer_"okay"?=
It is possible that some implementation somewhere will create something like that, I can't say for certain... but as far as allowing things not permitted by the spec goes, I think this is reasonable for now... if/when we run into something that actually has double quotes in a UFC2047 part, and as a parameter's value, we can deal with it then... what do you think?

I think that this is the right solution at the moment. I am ready to test the fix on my email array.

Just pushed to master, have a go and let me know please.

@zbateson, I have tested changes and everything works perfectly. Filename header parsed correctly without new bugs. Thank you!

Perfect, thanks for testing @whitelessk -- released in 1.1.1.


Remove Mozilla Location Service external account

The MLS leaderboards don't exist anymore, and the links in the external accounts section just lead to an error page: https://location.services.mozilla.com/leaders

PR #2787 fixes this. Thanks @freaktechnik for reporting it.


Dispatch tool does not refresh, LUIS apps cannot be exported.

Tool
Name: Dispatch and LUIS
Version: 1.1.2
OS: Windows 10
Describe the bug
When I try to execute a dispatch refresh using the bot file or the dispatch file I am getting an error from LUIS when exporting the applications. It says the app with the version x.y does not exists.
C:\Temp>dispatch refresh --dispatch C:\SC\Local\VM.Bot\VM.Bot\DeploymentScripts\dispatch\data\ValoreMercantileDispatch.dispatch
Exporting services for dispatch...
Exporting production LUIS application...
ERROR
One or more errors occurred. (The remote server returned an error: (400) Bad Request.)
Request url: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/xxxxxx-xxxx-xx-xxxxx/versions/v0.1/export
Response: {
"error": {
"code": "BadArgument",
"message": "Cannot find an application version with the version ID "v0.1"."
}
}
The LUIS apps exists and have the right versions.

Could you check that the appid in the export url (between /apps/ and /versions/) is correct and that the version is correct? The version in the export url is 0.1 (default version when no version is specified at the time app is added to Dispatch).
https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/xxxxxx-xxxx-xx-xxxxx/versions/v0.1/export

Hi,
I just confirmed the LUIS AppId is correct and the version (0.1) as well.

Thanks.  Could you also make sure the authoringKey and authoringRegion is correct?  You could check them in *.dispatch file.

Hi Tien,
Thank you for responding. Everything looks correct, I just tried a refresh using my bot file as input and I get the same error. The first LUIS app listed in the file fails when trying to export it. The bot does run correctly, it is able to connect to all the LUIS and QnA endpoints at runtime. Is there some flag I need to set in the LUIS app in order to make it exportable?
Ricky

Hmm, interesting.  So you are using .bot file as input to Dispatch?  There is no flag needed for LUIS app to be exportable.  Is your .bot file encrypted somehow and thus Dispatch has no access to the authoring key needed to export the LUIS app?

No encryption :)

Hello, would you mind emailing your bot file (and also your .dispatch file) to<EMAIL_ADDRESS> I'd like to see if I could repro.  Thanks!


When using CE bomb, make the Ce limit break 1 or 2

Preparation

[X] No one has asked for this feature before in other issues (even the closed ones)

Describe the feature
Hi,
I just discovered the CE bomb feature and is a blessing.
I just wanted to ask if it's possible make a little improvement based on how I create CE bombs:

select a lv1 Ce 2 stars
add 2 CE lv1 to make it limit break 2. if there are no lv1 CE I just go to the next CE
add all the exp

the second point is usefull to avoid losing exp in case of great success. Do you think it would be possible to do that?

Blocked by #998. I'd appreciate if you can help with the documentation of the current behavior.
After that, we can ask users which logic they'd prefer. Most users don't know about the CE bomb function. I've never used it myself.


option to customize caption syntax

The current caption syntax [caption] doesn't allow links inside the caption.
It would be nice to have an option to define a different marker for the caption.
Additionally it would be nice to have an option to disable the generation of the caption id (it can get kinda long if the caption is a bit longer).
markdown-it-attribution does this really well.

I just found the problem to caption links and will fix it in next version.
Also, an option autolabel: false will be available to disable id auto-generation.

Closed for version 4.2.0.


Fixed issue-226 (exception when parsing non-key-value-pair)

Resolves #226
/claim #226

Good to merge when CI is passing! Btw you can claim a bounty on this with /claim 226.

Thanks John. Formatting fixed.


Provide support for Track image/icon

Actual Behaviour
Currently Android app is not using track image/icon to show it on tracks fragment instead it is showing text drawable.
Expected Behaviour
Display track image if available using track_image_url and if it is not available display text drawable
Would you like to work on the issue?
Yes, after https://github.com/fossasia/open-event-android/issues/1680
Target Milestone to solve the issue
Milestone 7

We won't be showing track image instead of text drawable. Track image will be like event background. So it will be shown as a background in card or in Track Detail Activity

Support for this is to be removed from the API


Initial PEP 740 documentation

Recreation of https://github.com/pypi/warehouse/pull/16063, due to unknown GitHub issues.

Converting this to a draft until the other items in #15871 are completed!

Deconflicting this now.

I think we should take this as an opportunity to start on https://github.com/pypi/warehouse/issues/16541 and document the API here in more detail.

I think we should take this as an opportunity to start on #16541 and document the API here in more detail.

Makes sense! I can start an adjacent hierarchy for API docs and begin to fill it in with these bits first.

Okay, this should be good to go: I've updated both the dev and user docs to use examples from the real sampleproject==4.0.0.


Recognize aliases when resolving inherited icons

Idea
Currently, inherited page icons only work for the exact page reference. It would be nice if this plugin would also take aliases into account until https://github.com/logseq/logseq/issues/3763 might be solved.

can you provide pages content and to recreate?
and desirable result - "i have page X it has props Y, aliast to Z, want to see icon W"

check latest update!

Thanks for the prompt response. It does not do what I expected, maybe I didn't put it precisely. Here is my scenario:
People.md
icon:: 👤

Elon Musk.md
page-type:: [[People]]
alias:: Elon

When I now write something like, only Elon Musk get the icon but not Elon.
Lorem ipsum dolor sit [[Elon Musk]], consectetur adipiscing elit. Ut ex dui, elementum et [[Elon]] in, pretium elementum odio. Phasellus rhoncus rutrum justo sed malesuada.
Thanks, HTH

oh, i though you have:
People.md
icon:: 👤
alias:: ppl

Elon Musk.md
page-type:: [[People]]

will try...

should be something like:

try icon from link
if not, try to go link alias to original page and take icon
if not, try to take inherited from props page icon
if not, try to go to page props inherited alias

uhhh.... it was challenging )))
check latest release!

original page with icon
aliased page
original page with inherited props-as-page
aliased page with inherited props-as-page
original page with inherited props-as-alias

PS: aliased page with inherited props-as-alias not covered yet, cose to complex rare case with possible performance issues
check latest update!

Awesome, this works! Thanks for the fast implementation.

i'm not so much using aliases.... so case "original page with inherited props-as-alias" (which i've implemented first, wrongly) - maybe delete it? isn't it rare?
b'cose EACH link checks 4 times (( but can be 3 )))

Is this the scenario from https://github.com/yoyurec/logseq-awesome-links/issues/1#issuecomment-1264305068? I would not need that. I, too, think it is a rather rare use case.


Document highlight should include identifiers just before cursor

When placing the cursor at the end of an identifier, we do not send out document highlights, which causes VS Code to serve its own, dumb highlights instead.

[Trace - 9:25:36 AM] Received response 'textDocument/documentHighlight - (579)' in 1ms.
Result: []

I mean, I generally wouldn't expect the thing before the cursor to be highlighted

While it does make sense to work around limitations in popular tools, this doesn't actually seem wrong to me. I'm also surprised when the thing that the cursor isn't pointing at lights up, though much less so than when random stuff spelled the same lights up!
Can/should we fix it on the VS Code side?

(for clarity: when I say "the thing it isn't pointing at", its because the cursor is on the space after x in your screenshot, not on x)

We should match what VS Code does here on the language server side.


[Bug] Sound - transmission

Platform

Device: Desktop
OS: Windows 11
Browser: Edge
Browser Version: 120.0.2210.121
Better xCloud Version: <IP_ADDRESS>

I was playing today and for no reason my stream started to crash for 1 sec and back to normal, but later when i was playing Starfield my stream started to fail the sound and it was not the internet because i tested before. After this i refreshed the page and tried to play but this time i had no sound.

xCloud sometimes doesn't have sound in the game. You have to quit it and connect to a new session. Refreshing the page won't work.


[Docs] Fix links to navigate to header

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks!


Connexion impossible with higher version than the server version

What is the output link of /viaversion dump?
https://gist.github.com/anonymous/1e0d04ccfe9d6b9888edc71cd799e8aa
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
I have spigot 1.9 with only ViaVersion v1.0.4
How does this error happen? login? Using an item?
On login player have this error;
Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Packet 0/32 (gt) was larger than I expected, found 120832 bytes extra whilst reading packet 32
Is there an error in the console? Use pastebin.com. Is there a kick message?
The only thing in my logs is this;
[18:32:11] [Server thread/INFO]: OnSenFou lost connection: Internal Exception: java.io.IOException: Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte

There are specific builds of early 1.9 craft bukkit that don't work with ViaVersion, either use spigot or use a later 1.9 build.
Unfortunately, it's because spigot created compatibility themselves which causes the software to not know which build it is.


flutter [web] assets image path

I have a main_app web application and there is a separate application in the folder next to it.

main_app

build

assets
packages

country_picker

flags
us.png
uk.png
...

country_picker

lib
main.dart
flags
us.png
uk.png
...

country_picker pubspec.yaml
flutter
assets:
- flags/us.png
- flags/ad.png
(sorry for indentation)
When I run an application build, 2 assets and packages folders are created in the build folder. I run my server in the build folder.
App country_picker looking for pictures at http://localhost:8000/assets/packages/cc_picker/flags/us.png but they are not there
because they are here http://localhost:8000/packages/cc_picker/flags/us.png.
Please tell me what I'm doing wrong? I tried changing pubspec.yaml and specify the path in different ways, but always the result is the same. How do I get the right way to the pictures?

https://github.com/flutter/flutter/issues/33659


[TIR] fix crash when comparing IntImm to None

While it is generally preferred to compare to None by using is not, I don't think TVM should just crash with a segfault in that case.
The crash stack trace is:
https://github.com/apache/tvm/blob/013d5e8fcbd94fb3a0c5c0cdcaea03af43c464aa/python/tvm/tir/expr.py#L568
https://github.com/apache/tvm/blob/013d5e8fcbd94fb3a0c5c0cdcaea03af43c464aa/src/tir/op/op.cc#L984
https://github.com/apache/tvm/blob/013d5e8fcbd94fb3a0c5c0cdcaea03af43c464aa/src/tir/op/op.cc#L514
https://github.com/apache/tvm/blob/013d5e8fcbd94fb3a0c5c0cdcaea03af43c464aa/src/tir/op/op.cc#L102
where rhs is nullptr.
@tqchen @Hzfengsy @wrongtest

@junrushao1994 Thank you for your comments. The issue with the asserts is that the comparison would not be supported. It could also add mostly unnecessary code to a hot code path, but I did not profile.
Your suggested change seems more appropriate to me.
Any other opinions?

Thanks for your feedbacks!
To share some history: TVM’s older infra didn’t differentiate really carefully for nullability, which leads to the issue that this PR is aiming to fix. The latest infra in TVM instead use “Optional” container and “not-nullable” marks to make sure nullability is explicitly checked by engineers. However, older code isn’t refactored to completely adopt such convention.
In our particular case, empirically adding a check will not significantly impact performance, but I don’t have data either. If we really want to avoid throwing a segfault here, I would say its probably the best approach - other than completely refactoring the system to make PrimExpr not-nullable.

@junrushao1994 Makes sense, thanks for elaborating!
I updated the PR according to your suggestion.


TC Step Form (Save)

As a user, I would like to be able to save my complete TC State Form as a step in my protocol.
Acceptance Criteria

[ ] User able to click “Save” button to save their State step to their protocol
[ ] User able to run their protocol on the OT-2

Now broken up into a buncha tickets!


Video Tutorial on how to use the configuration files i.e config.yaml

Is your feature request related to a problem? Please describe.
I am finding it extremely difficult to successfully setup the advanced slack notifications using the config.yaml file
Describe the solution you'd like
I think a detailed tutorial video about how to use and setup the config.yaml file would be really helpful
I think this tutorial snippets would really help to reduce confusion.
I really want to appreciate you for your efforts and innovation in making this project work.

I'm sorry but I don't have time to make instruction videos. If you have a specific question about the config let me know. Thanks.


replay: only vote on blocks with >= 32 data shreds in last fec set

Continued from https://github.com/solana-labs/solana/pull/35024
Problem
In order to ensure that the last erasure batch was sufficiently propagated through turbine, we verify that 32+ shreds are received from turbine or repair.
Summary of Changes
https://github.com/anza-xyz/agave/pull/639 pads the last erasure batch with empty data shreds such that there are at least >= 32 data shreds.
Once a block has finished replay, we can check if the last FEC set is full by seeing if there are >= 32 data shreds with the same merkle root. This implies that at least 32 data or coding shreds were received through turbine or repair.

Codecov Report
Attention: Patch coverage is 9.25926% with 49 lines in your changes are missing coverage. Please review.

Project coverage is 82.0%. Comparing base (e7452b7) to head (1bdc167).
Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master    #1002     +/-   ##
=========================================
- Coverage    82.0%    82.0%   -0.1%
=========================================
  Files         859      860      +1
  Lines      232906   232982     +76
=========================================
+ Hits       191079   191096     +17
- Misses      41827    41886     +59


The kui-laravel-jettream is not mentioned

The kui-laravel-jettream is not mentioned in   the links as
https://github.com/Kamona-WD/kui-laravel-breeze
and https://github.com/Kamona-WD/kui-laravel-fortify
it is abandoned or freezed ?

It works, but need some small touches.
I will update it later.


Bug 5389 - [Wdrozenie] [Python] Uzytkownicy

https://gist.github.com/romanj/6fa49d0bfa1a8e84ef9d

Some minor issues with path construction. Please fix those.

:+1:


Nested stack issue

I am trying to make stack with nested stacks, but when i have Transform in nested stack, i get an error:
CreateStack cannot be used with templates containing Transforms. If this error is expected, this should be added somewhere to docs, that only parent stack should have Transforms.
In case i delete Transforms from nested stacks, i get 	Circular dependency between resources: [ApiGatewayApi, InviteUserFunction, LambdaInvokePermission], which i do not have if i create this stack separately.
Here is part of nested stack template
AWSTemplateFormatVersion: 2010-09-09
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      DefinitionUri: ./../target/swagger.yaml
      StageName: Prod
      Variables:
        InviteUserFunctionName: !Ref InviteUserFunction
  InviteUserFunction:
    Type: AWS::Serverless::Function
    Properties:
      Timeout: 30
      Role: !GetAtt LambdaFunctionIAMRole.Arn
      Handler: com.MyHandler
      Runtime: java8
      CodeUri: ./../target/some.jar
      Events:
        GetRequest:
          Type: Api
          Properties:
            RestApiId: !Ref ApiGatewayApi
            Path: /invite
            Method: POST
  LambdaInvokePermission:
    Type: AWS::Lambda::Permission
    Properties:
      Action: lambda:InvokeFunction
      FunctionName:
        !GetAtt InviteUserFunction.Arn
      Principal: apigateway.amazonaws.com
      SourceArn:
        Fn::Join:
        - ''
        - - 'arn:aws:execute-api:'
          - Ref: AWS::Region
          - ":"
          - Ref: AWS::AccountId
          - ":"
          - Ref: ApiGatewayApi
          - "/*"

You should use create-change-set and execute-change-set APIs to create a stack using with Transforms. create-stack API won't work

@sanathkr how would you do that with a nested stack? There's no ChangeSet resource.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

+1

+1

Came here to mention something specifically about the Change Set requirement and Nested stacks. Currently Change Sets do not traverse Nested stacks, so I'm going to operate under the assumption that you can not nest with SAM which is a major pitfall.

Only the reverse seems to work, i.e. you can have a SAM enabled template as the parent template just not the child, which is quite a bummer and limiting.

This really should be tagged as a bug not a question @sanathkr

How about including Transform: 'AWS::Serverless-2016-10-31' to the parent template even if it doesn't use SAM resources. AFAIK, the nested templates should get transformed as well when they are processed.
If not, this is a bug that needs to be fixed.

@sanathkr tried that before and just did it again to be sure, same error CreateStack cannot be used with templates containing Transforms. Thanks for marking this as a bug, hope it can get addressed soon.

Same here CreateStack cannot be used with templates containing Transforms. I hit the 200 resource limit in the SAM template, so it has to be split it into a nested stack. Otherwise the development is stalled at the moment.

Any thoughts on this @sanathkr I now have a workaround to a workaround just to try to get around this. The workaround was to put all the SAM resources in the parent stack, but then that go too large in a single stack so I have another workaround to that. Any guidance you can provide here would be super helpful.

What I've done is create a CFN Template launcher in python with Boto that goes through all the steps. I have a Yaml file that defines stacks and can grab output from one stack and pass it as a parameter to another.

@sanathkr Any news regarding this issue? It'd be so great to have that fixed.

Having the same issue, any update @sanathkr?

We moved away from SAM due to this problem. At the cost of more verbose templates and an extra packaging step, we also got more flexibility with 'native' resources.

Even further than that, this issue was a factor in my team dropping CloudFormation in favour of Terraform.
At least with Terraform, we can fork and fix issues ourselves, rather than just waiting.

@dinvlad could you share what your template looks like?

@aehlke serverless functions can be replaced with 3 resources: AWS::Lambda::Function, AWS::IAM::Role and AWS::Lambda::Permission, then you just customize them as needed:
  Function:
    Type: AWS::Lambda::Function
    Properties:
      Handler: index.handler
      Environment:
        Variables:
          VAR_NAME: !Ref ...
      Runtime: nodejs6.10
      Code:
        S3Bucket: !Ref LambdaBucket
        S3Key: !Ref LambdaPackageKey
      Role: !GetAtt FunctionRole.Arn

  FunctionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service: lambda.amazonaws.com
            Action: sts:AssumeRole
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Policies:
        - PolicyName: FunctionRole
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - service:Action
                Resource:
                  - !GetAtt Resource.Arn

  FunctionRolePermission:
    Type: AWS::Lambda::Permission
    Properties:
      FunctionName: !Ref Function
      Action: lambda:InvokeFunction
      Principal: apigateway.amazonaws.com
      SourceArn:
        !Sub arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${ApiId}/${ApiStage}/GET/...

Before execution of the stack, you also need to upload lambda package as a zip file to s3://${LambdaBucket}/${LambdaPackageKey}.

+1

+1

I encountered the same "CreateStack cannot be used with templates containing Transforms." when trying to do transforms on a nested stack.

Ive just come across this issue and would like this fixed. Adding transform to the parent also doesnt solve the issue

@SubatomicHero Please read @sanathkr message above. His statement still holds true.

We'd very much like a fix for this, as well.

After struggling for weeks on trying to resolve different SAM issues, I think we are better off with Cloud Formation templates as SAM still has a long way to go and also there are still very limited documents out there.

+1

This is a big limitation. The whole deployment mechanism for SAM feels like a hack. Cloudformation should be smart enough to do the transforms on the server side.

Cloudformation should be smart enough to do the transforms on the server side.

CloudFormation does these transformations on server side. But your comment got me thinking. Thanks to the recent open sourcing of samtranslator it's possible to do the transformations locally before deploying. I haven't tested that with nested stacks yet, but I suppose that could work.
In case somebody wants to try it out, I already made a small script for doing such transformations locally: https://github.com/Dunedan/serverless-applications-with-aws-sam/blob/gh-pages/local_samtranslator.py
In theory running all nested templates through that script before deploying should just work.

@Dunedan we'd love to see a light CLI with transform and validate commands. Would you be open to submitting a PR?

does aws cloudformation deploy also not support sam? I am trying to use the deploy function and keep getting the following error:

push                                     | register
deregister                               | install
uninstall
Warning: Task "deploy:201805301407" failed. Use --force to continue.```

This is my grunt task:
```grunt.registerTask('deploy', function(timestamp) {
    const { code } = shelljs.exec('aws cloudformation deploy --stack-name my_Stack ' +
    '--template-file ./cloudformation.yaml ' +
    '--capabilities CAPABILITY_IAM ' +
    '--parameter-overrrides AwsServerlessExpressS3Bucket=myBucket ' +
    `Timestamp=${timestamp} ` +
    `LambdaFunctionS3Key=lambda-function.${timestamp}.zip ` +
    `ApiGatewaySwaggerS3Key=swagger.${timestamp}.yaml ` +
    '--region eu-west-1');
    return code === 0;
  });```

aws cli version: 1.12.2

Hi, Any update on SAM and nested stacking issue? Bit of an issue for myself at the moment when you get into a sizeable set of resources.

Also with SAM, the steps are to package then deploy.  How best to introduce change sets (for prod approval) and stack deletion policies as they are skipped over when using the package/deploy step?

We're hoping to support nested stacks via SAM CLI local transformations.

@brettstack If the transform happens on the clientside, won't this mean that SAM nested stacks will be limited to 200 resources between both the parent stack and the nested stack(s) (ie. they are combined into a single stack using a clientside transform)? Doesn't this defeat the point of using nested stacks?

That's not what we have in mind. More like it will perform the transform on each individual template

Hope there will be a possibility in AWS SAM CLI to transform SAM template locally soon. Then I will be able to have the transformed stack as a nested stack in my master stack. @brettstack When this feature will be available to use?

I can't comment on timeline, but we're actively talking about this internally and we'll create a thread in the SAM CLI repo for more discussion and details soon.
You could potentially hack this together yourself with sam validate --debug which logs the transformed template in latest SAM CLI version, but it won't be ideal. Alternatively, if you're really ambitious you could fork the CLI and have a crack at implementing Local Transform

@brettstack: Just out of curiosity: What's the motivation to solve that by applying the transformations locally? Couldn't that be done in the same way by CloudFormation as the transformation of the parent template?

We want to do local transform for other reasons anyway. Two birds sort of deal.

I happened to run into the same nested SAM template issue a couple of days ago. Although it would be great if SAM templates would be expanded automatically by CloudFormation, for now I use sam-translate.py as workaround locally and for deployment.

Package SAM template to make sure all CodeUri point to S3 urls since aws-sam-translator doesn't support local uris.
Expand the packaged template using sam-translate.py
Upload expanded template to S3 bucket.
Deploy the root stack, providing the bucket the templates have been uploaded to.

Steps
I didn't have aws-sam-translator installed so the following worked for me.
pip install docopt PyYAML aws-sam-translator

As far as I can tell sam-translate.py itself doesn't get installed so create a copy of it on my machine.
sam package
  --s3-bucket "$BUCKET" \
  --template-file "$TEMPLATE_DIR/my-app.sam.yaml" \
  --output-template-file "$TEMPLATE_DIR/my-app.sam.pkg.yaml"

python sam-translate.py \
  --input-file="$TEMPLATE_DIR/my-app.sam.pkg.yaml" \
  --output-file="$TEMPLATE_DIR/my-app.cfn.json"

aws s3 cp --recursive "$TEMPLATE_DIR" "s3://$BUCKET/templates"

aws cloudformation deploy --template-file ./my-root-stack.yaml

Example of the root stack
AWSTemplateFormatVersion: 2010-09-09

Description: Nested stack featuring SAM

Parameters:
  TemplateBucket:
    Type: String
    Default: deployment-artifacts
    Description: |
      The bucket for the CloudFormation templates and packaged SAM application.

Resources:
  MyAppStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Sub https://s3.amazonaws.com/${TemplateBucket}/templates/my-app.cfn.json

Thanks @christianklotz for sharing the local transformation workaround, however I still seem to be running into the same problem even with nested SAM.
Basically my SAM is now getting too big just getting over 200 resources.  CloudWatch Log and DynamoDB are already separated out so what is in SAM are the Roles, API, Lambda, API Keys, Usage Plan.
I followed your instructions with the below approaches

With nested SAM, where root SAM has the API definition in its own sam file and lambda definitions are separated out in their own logical domains sam files, the local transformation of the lambda SAM will still complain about 'RestApiId must be a valid reference to an 'AWS::Serverless::Api' resource in same template', so no cloudformation template is generated

With the original sam, the generated cloudformation still contains over 200 resources and cannot be used to update the existing stack that was initially created via the sam changeset.

I must have missed something from your instructions, really appreciate for your help here.

This is a top priority for us. Sorry for the headaches 🤕

@sanathkr, I am also getting the same issues
I will be creating the  AWS lambda and API gateway creation through cloud formation file[FileName is template.yml]. I used the nested stack approach. Below I am giving my nested stack cloud formation code.
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
deliforceserver:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: https://s3.ap-south-1.amazonaws.com/deliforcesck/template.template
TimeoutInMinutes: '60'
Outputs:
StackRef:
Value: !Ref deliforceserver
OutputFromNestedStack:
Value: !GetAtt deliforceserver.Outputs.BucketName
I will execute this file. I am getting an error like this "CreateStack cannot be used with templates containing Transforms."
I removed this line Transform: AWS::Serverless-2016-10-31 from template.yml and executed once again. That time getting an error as "Template format error: Unrecognized resource types: [AWS::Serverless::Function, AWS::Serverless::Api]".
How to fix this issues?
could you please provide the exact code for creating the lambda and apigateway through nested stack approach

@Amanfavas your template.template files contains serverless functions. There are 2 ways you can fix it.

In your code pipeline, rather than using CREATE_UPDATE, use CREATE_CHANGESET, followed by EXECUTE_CHANGESET.

Or

Change your AWS::serverless::function to AWS::lambda::function (also change serverless API as well)

Maybe someone else can help you then, also posting the exact error you got after applying the changes helps as well.

@revolutionisme my exact issue already I posted in above.

@Amanfavas Cloudformation doesn't support transforms (like the SAM transform) in nested stacks. The template that you provide to the AWS::Serverless::Stack resource cannot require a transform (which means it can't have any AWS::Serverless resources inside of it). As @brettstack said earlier, this is a top priority for us to get this working.

@revolutionisme Thanks for replying my comment. I am used CREATE_CHANGESET for creating new API and lambda.But it getting more than 200 resources file is not possible. Like that. And also I changed AWS::Serverless::function to AWS::lambda::function. But that one also not working.If anybody know solution kindly provide the solution

I followed the example posted by @dinvlad on Sep 16, 2017 to get around the limit.  You should give it a go.

@keetonian In the template I provide AWS::Serverless::Stack as the resource type. But it getting an error like this
Template format error: Unrecognized resource types: [AWS::Serverless::Stack]
How to solve this?
Before You worked in a nested stack, Kindly provide the code for parent file[nested stack file] as well as chilld File[template.yml]

@Amanfavas AWS::Serverless::Stack is not a valid resource type. It is currently not possible to nest a SAM template as a AWS::CloudFormation::Stack (nested stack) resource, you can only nest vanilla CloudFormation templates as this resource type. As we said, this is a priority for us to make this work.

@keetonian Sorry,I didn't get the nest vanilla cloudformation templates


Cookie preferences image in footer must open cookie preferences

@paolomoz  - with regards to that cookie preferences - looking at the historical implementation of TrustArc - we need to to include this DIV tag within the Cookie Preferences Link (to be integrated within Footer Links):
Can be very well seen this teconsent ID in the original site - https://ororafresh.com/ . When we get the JS script from TrustArc OR from Google Analytics - that code will search for this DIV which the ID - teconsent and implement the Cooke preferences window.
Assigning this to myself.
Regards,
Meet

@paolomoz  - We removed the cookie preference icon from your footer.docs
For now added the code for loading the GA + TrustArc JS scripts. Still waiting for the customer response on those JS Scripts. However we figured out the JS scripts from the page source and pour those in. With this Cookie Preference icon came up automatically and giving us the preference window.
Please check & validate further.


Unable to login which get 402

Hi, all
I had to try an admin account or create a new account but the controller always returns the "Failed to login" error.
Does any know more information to set up CSI?

Hi, Could you provide the detail logs from CSI? And what's your DSM version?

The DSM version:
DSM 7.0.1-42218
The logs from CSI controller:
I1003 12:55:15.781452       1 connection.go:182] GRPC call: /csi.v1.Identity/GetPluginCapabilities
I1003 12:55:15.781455       1 connection.go:183] GRPC request: {}
I1003 12:55:15.782326       1 connection.go:185] GRPC response: {"capabilities":[{"Type":{"Service":{"type":1}}}]}
I1003 12:55:15.782873       1 connection.go:186] GRPC error: <nil>
I1003 12:55:15.782880       1 connection.go:182] GRPC call: /csi.v1.Controller/ControllerGetCapabilities
I1003 12:55:15.782883       1 connection.go:183] GRPC request: {}
I1003 12:55:15.783695       1 connection.go:185] GRPC response: {"capabilities":[{"Type":{"Rpc":{"type":1}}},{"Type":{"Rpc":{"type":3}}},{"Type":{"Rpc":{"type":9}}},{"Type":{"Rpc":{"type":5}}},{"Type":{"Rpc":{"type":6}}},{"Type":{"Rpc":{"type":7}}},{"Type":{"Rpc":{"type":4}}}]}
I1003 12:55:15.786350       1 connection.go:186] GRPC error: <nil>
2021-10-03T12:55:14Z [INFO] [synok8scsiplugin/main.go:51] CSI Options = {NotUsed, unix:///var/lib/csi/sockets/pluginproxy/csi.sock, /etc/synology/client-info.yml}
2021-10-03T12:55:15Z [ERROR] [synok8scsiplugin/main.go:65] Failed to add DSM: <IP_ADDRESS>, error: Failed to login to DSM: [<IP_ADDRESS>]. err: DSM Api error.  Error code:403

It seems like you have enabled 2-Factor Authentication for your accounts, but the Synology CSI doesn't support 2FA for now. So when the CSI tried to log in to DSM with these accounts, it got the "403" error.
You can create a new account in the admin group, and specifically disable 2FA for it (Control Panel > Security > Account > 2-Factor Authentication).

@chihyuwu I had tried to create another account without 2FA but I got 402 instead of 403 error.

402 could be caused by several reasons, so we need more info for investigation.

Are there any error logs in /var/log/auth.log on the DSM? (use SSH login to DSM and check)
Update the version of API and build the synocli tool, which can help to reproduce API:
a. cd synology-csi
b. edit pkg/dsm/webapi/dsmwebapi.go, changing the version from 3 to 6 https://github.com/SynologyOpenSource/synology-csi/blob/dc05a795b79b911ec5882c3c837a7779cf3576a8/pkg/dsm/webapi/dsmwebapi.go#L168
c. make synocli
d. ./bin/synocli dsm login <dsm ip> <username> <password>
e. check returned messages

@chihyuwu I found some error which is new account for CSI /var/log/auth.log
2021-09-30T21:10:48+08:00 AotokiNAS synoscimprofile[27917]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:10:48+08:00 AotokiNAS synoscimprofile[27917]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:10:48+08:00 AotokiNAS synoscimprofile[27917]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:11:56+08:00 AotokiNAS synoscimprofile[6906]: SYSTEM:      Last message '../..//include/conve' repeated 14 times, suppressed by syslog-ng on AotokiNAS
2021-09-30T21:11:56+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[29275]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:11:59+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[29271]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:15:29+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[1150]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:15:30+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[1289]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:17:19+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[3148]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:17:23+08:00 AotokiNAS synoscgi_SYNO.API.Auth_3_login[3145]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:20:58+08:00 AotokiNAS synoscimprofile[8199]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:20:58+08:00 AotokiNAS synoscimprofile[8199]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:20:58+08:00 AotokiNAS synoscimprofile[8199]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:21:52+08:00 AotokiNAS synoscimprofile[6906]: SYSTEM:      Last message '../..//include/conve' repeated 22 times, suppressed by syslog-ng on AotokiNAS
2021-09-30T21:21:51+08:00 AotokiNAS synoscimprofile[10010]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:21:51+08:00 AotokiNAS synoscimprofile[10010]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:21:51+08:00 AotokiNAS synoscimprofile[10010]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:22:19+08:00 AotokiNAS synoscimprofile[6906]: SYSTEM:      Last message '../..//include/conve' repeated 14 times, suppressed by syslog-ng on AotokiNAS
2021-09-30T21:22:18+08:00 AotokiNAS synoscgi_SYNO.API.Auth_7_login[10808]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:22:29+08:00 AotokiNAS synoscgi_SYNO.API.Auth_6_reset[11052]: pam_unix(webui:account): expired password for user k8s (root enforced)
2021-09-30T21:31:41+08:00 AotokiNAS synoscimprofile[22591]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:31:41+08:00 AotokiNAS synoscimprofile[22591]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]
2021-09-30T21:31:41+08:00 AotokiNAS synoscimprofile[22591]: ../..//include/converter/../dao/BaseDao.h:21 ERROR: setresuid(-1, 0, -1) [Operation not permitted]

I am not sure the expired password for user k8s is related to change the password or not, but after I change it the CSI still get 402 error.

Yes, expired password for user k8s means you have to change the password after you created it.
Try to sign out of admin account, use "k8s" itself as username to login DSM and change the password, instead of changing it by admin.
After following the guide to change the password, make sure the status of user "k8s" turned from "Password change required" to "Normal". (Control Panel > User & Group > User)
Then use the new password in client-info.yml to reinstall the CSI again.

@chihyuwu After fixed the expired password, I still get errors and cannot create any persistent volume.

Hi,

Did you reinstalled the CSI?
Could you provide the error logs from CSI?

Yeah, I always create a new K8S cluster via K0S and install a new CSI on it.
The errors are the same as I provided, the only difference is the status code.
I will create a new one and test it again and provided the logs.

@chihyuwu
I find the error is caused by my security config to force enable 2FA for all admin users.
After I disable it the PVC is correctly created.


The "Overwrite key binding" warning is very broken

(from bug bash 1.22)
Action Editor
🛑 "Overwrite key binding" warning is very broken

(thats right, I had to take a screenshot of the image in Loop, thanks Loop)
I can't say "no". Dismissing it is like saying "yes". Also it scrolls horizontally.

/cc @PankajBhojwani  since I believe you were the last one to touch Actions

I'm somewhat certain this is the way it worked before my changes as well (I see this same behaviour in Stable)

I see this same behaviour in Stable

I do not. Dismissing the flyout does not "confirm" and overwrite the binding in Stable.

Dismissing the flyout does confirm for me in 1.21. So maybe it regressed in 20->21?

I wonder if it's something more subtle in XAML somewhere. Cause like, on 1.20, when you hit the checkbox button, the action stays in the "editing" state, with the textbox and the buttons. But in 1.21, the button immediately exits the editing state, then pops the "are you sure"?

Much more likely that it was from #14292, which rewrote the action view model (and it should be the viewmodel that keeps track of states like this.)


How to have a TimeSeries with Annotations

Hi can you please show how to have a TimeSeries with Annotations.

Pretty much like in the example: https://github.com/wcharczuk/go-chart/blob/master/examples/annotations/main.go But use output of time.UnixNano() as XValue in chart.Value2.

Pretty much like in the example: https://github.com/wcharczuk/go-chart/blob/master/examples/annotations/main.go But use output of time.UnixNano() as XValue in chart.Value2.

need to cast to float64 though, as time.UnixNano() returns int64

like that.
graph := chart.Chart{
	Series: []chart.Series{
		chart.TimeSeries{
			XValues: []time.Time{x1, x2, x3},
			YValues: []float64{1.0, 2.0, 3.0},
		},
		chart.AnnotationSeries{
			Annotations: []chart.Value2{
				{XValue: chart.TimeToFloat64(x1), YValue: 1.0, Label: "first"},
				{XValue: chart.TimeToFloat64(x2), YValue: 2.0, Label: "second"},
				{XValue: chart.TimeToFloat64(x3), YValue: 3.0, Label: "last"},
			},
		},
	},
}


Add support to wrap an existing filedescriptor when using native kque…

…ue transport
Motivation:
The native epoll transport allows to wrap an existing filedescriptor, we should support the same in the native kqueue transport.
Modifications:
Add constructors that allow to wrap and existing filedescriptor.
Result:
Featureset of native transports more on par.

We don't have unit tests for Epoll but It would be nice to have unit tests for these methods. I'm fine with submitting a follow PR for tests though.

@Scottmitch yep let me pull this in and then do a followup with tests for both.

Cherry-picked into 4.1 (61b1165136)


The fork that worked for me was isaac-ped/autosub

I used https://techgaun.github.io/active-forks/index.html#https://github.com/agermanidis/autosub looking for the latest commits in all the forks and found that the working autosub that passed Pylint as of today is https://github.com/isaac-ped/autosub

Seems like that guy's account might have been highjacked. all the links on his website go to some weird insurance page
and it's full of crypto donation buttons on his github... shame


Does not showcase as Universal / Isomorphic

Just a few issues noticed in the example when JS is disabled:

"Clicked Me # Times" button stuck at zero.
Login form never actually logs you in.
Github Fork links on homepage rely on JS and thus break

I know some of these are picky, however, when looking to pitch a boilerplate/methodology's use, being able to point to something without immediate flaw is rather imperative.

If you're looking for a project that works with javascript disabled, you'll need to look elsewhere.
Universal ≠ works with javascript disabled. All the UI is based in React, which uses javascript to bind event handlers. Universal = the initial render happens on the server, and subsequent page rendering happen on the client.
I'm a little surprised that you need to pitch a framework that works without javascript in 2015.

Thanks for clarification @erikras . I wasn't aware of the distinction but it does make sense. Seems like at the very least being able to render first load and have routing still working should tackle the SEO issue.
Believe me, it's something I'd rather not have to worry about though. It's a topic similar to "Should sites work in IE8 in 2015". I happen to work an industry that is hamstrung a fair deal around legacy browser support as well as strict progressive enhancement / unobtrusive js support requirements.
What this means to our developers, is that if there is a form that can be submitted without a refresh, then it should also be able to be submitted with a refresh and JS disabled. At the very least, that there is a less immersive experience when done.
Ex: A good example of this would be a search bar in the site's nav, where the form's action attr is the same for WITH and WITHOUT-JS scenarios.
WITH JS:  complex typeahead search when JS is enabled...

WITHOUT JS  a search results page with the same results.

Definitely interested in yours or anyone else's thoughts on this. Also interested in articles of solutions to this problem.

It seems like you could still use react events and redux for the majority of users that have js enabled, but for your forms that you need to work without js, it should just be a matter of actually creating all the server endpoints, e.g. /submitProductSearch (to plug into your <form action="">'s) to fetch the data, populate the redux store and then use the regular server side rendering (which uses react). So enabling non-js stuff with a project like this is not quite as ridiculous a possibility as I thought at first.

Ya, seems like there should be some way.
Another example would be a simple ajax form submission with client/server validation. The form should still submit with or without js, and only the clientside validation would be lost, however the serverside validation would still happen and when the page comes back from the server, the server has already pre-rendered the form with exact same error msgs and styles as the clientside would have but without the refresh.

Yep. I've built apps with that requirement before, and there are plenty of considerations like that. At least now, with node, the code, like validation and rendering can be shared on both the client and server.

I'm going to close this, since I think I've answered your question and concerns. Working with non-js clients is not a priority of this project.


Fix typo in comment

This is a minor fix (moudule -> module)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Oops, thanks for the heads-up! I've cherry-picked this into our internal review & merge queue.

Thanks for the PR @palmerabollo, it has been cherry-picked as 3d6da95.


Update readme

Remove react boilerplate. Maybe something about the project, how it works and contributing.

Done and Done
Removed react boilerplate and added a little bit of Getting Started.


Add logs for failed metrics submission

r: @christodenny @alokmenghrajani @worldwise001
Add logs for failed metrics submission

LGTM


Typescript peer dependency

Bug, feature request, or proposal:
Bug
What is the expected behavior?
typescript: ^2.2.0 listed as a peer dependency
What is the use-case or motivation for changing an existing behavior?
Lots of issues being opened are solved by upgrading typescript.
Currently the angular docs suggest using the quickstart to work through the TOH tutorial. The quickstart specifies typescript: ~2.1.0, and new users that finish the tutorial and want to transition into testing material are going to hit all sorts of cryptic errors and be discouraged.
AFAIK the only ways to discover the dependency are to read back through the changelog or find it mentioned in old issues.

the ~ is the must, since typescript does not follow semantic version and make breaking changes each minor release

We typically follow what core does for things like this, so @IgorMinar

Now that cli is becoming the main way to build Angular apps, the quickstart is being phased out it. The cli sets up the peer deps correctly and is kept up to date.
Additionally, Material doesn't require typescript to be useful, it requires angular core, @angular/compiler-cli does and it currently specifies typescript ^2.0.2  as the peer dep. I'm going to send a PR to update the typescript version there.


Docker tests increased wall-clock time of the test suite by 30%+

The docker tests take about 40 minutes in travis, while the next-slowest travis task takes about 30 minutes. We should try to reduce the runtime of the docker tests to <= 30 minutes.

For @LeeTL1220

I thought we were going to address this with a GATK base image...  what is
target time?  (Within reason)
On Apr 5, 2017 20:08, "droazen"<EMAIL_ADDRESS>wrote:
For @LeeTL1220 https://github.com/LeeTL1220
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/broadinstitute/gatk-protected/issues/977#issuecomment-292032382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACDXk_R_mkaEcEJlOt3lJntscqeum3-lks5rtC0SgaJpZM4M09tE
.

That is tracked at https://github.com/broadinstitute/gatk/issues/2457 and slated for beta (mid-May). This ticket in protected can be considered as blocked until https://github.com/broadinstitute/gatk/issues/2457 is done.

Issue moved to broadinstitute/gatk #2965 via ZenHub


Support cast expressions

I wasn't sure if Metal uses this style of cast - the Metal SL spec seems to suggest I should use static_cast - but when I run the tests on my Mac they do pass.

GLSL casts need to instead be constructor-like calls:
uint l2 = uint(l);

Thanks - fixed.


[$1000] Deleting workspace in connect bank account provides update currency error

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app and login with user A (device 1)
Open the app in another device and login with user A (device 2)
In device 1, open settings->workspaces->any workspace->Bank account->Connect manually->Complete step 1 (eg data: routing= 210021002, acc no = 1234) > DO NOT CLICK SAVE
From device 2, open settings->workspaces->open workspace opened in step 3->Click on 3 dots and delete the workspace
Observe the error in device 1

Expected Result:
App should display 'Hmm its not here' page when workspace is deleted
Actual Result:
App displays error:
"Oops! It appears that your workspace currency is set to a different currency than USD. To proceed, please set it to USD and try again"
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/3fc8e7ef-78d3-4baa-903b-352fbc51c118
https://github.com/Expensify/App/assets/43996225/95662a07-50bc-4ee9-be25-e7252d209695
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687340354605359
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b7395caefe5a942e
Upwork Job ID:<PHONE_NUMBER>053304320
Last Price Increase: 2023-06-26

Proposal
Please re-state the problem that we are trying to solve in this issue.
Deleting workspace from second tab gives update currency error in first tab
What is the root cause of that problem?
In the ReimbursementAccountPage we are not checking whether policy is available or not and based on that we are not showing any not found page.
What changes do you think we should make in order to solve the problem?
We should validate the policy and if it is empty we should return early with the notFound page(we can use more props of FullPageNotFoundView for more customization).
https://github.com/Expensify/App/blob/a77d74ba7bb6d998e52b81e24f482123e96e7222/src/pages/ReimbursementAccount/ReimbursementAccountPage.js#L333C1-L333C1
       if(_.isEmpty(this.props.policy)) {
            return (
                <FullPageNotFoundView shouldShow />
            )
        }

I can reproduce - adding engineering and External

@fedirjh @grgia PR is ready for review!

Hired in Upwork:
Internal job posting: https://www.upwork.com/ab/applicants/1673414242053304320/job-details
External job posting: https://www.upwork.com/jobs/~01b7395caefe5a942e
@dhanashree-sawant as reporter
@Pujan92 as contributor
@fedirjh as C+

Do we need a regression test for this? @fedirjh?

Paid! in Upwork with a bonus based on https://github.com/Expensify/App/issues/21604#issuecomment-1614146150
Closed job in Upwork and closing this GH.


Construct and AddElements does not share input parameters

Soil and Stages are missing from AddElements - by design? @Marco-Pellegrino

@andosca
Not really by design.
I haven't just considered the implementation. 😅
In general, the user can still Deconstruct and Construct a new model with new elements if he needs to add elements?
But I definitely like the idea to add Soil and Stages (less inportant).
Feel free to add it for next milestone

In general, the user can still Deconstruct and Construct a new model with new elements if he needs to add elements?
Not really as not everything can be deconstructed right now.

Ok.

[ ] Soil
[ ] Stages

Add soil is implemented.
Stages will not be implemented as it has not been requested by a user. The task is more difficult than previously assumed


zstd is implemented incorrectly

Your zstd compression algorithm is only that fast because it doesn't actually do anything.
You write directly into its output buffer and then read from it again, effectively bypassing the entire compression step.
Just wanted to let you know, as it came up in a stackoverflow post:
https://stackoverflow.com/questions/74739857/switch-from-brotly-sys-to-dropbox-brotli/74740490#74740490

I'm quite sure you are wrong, in stackoverflow you are writing to Coder::get_input_writer(), i'm not, Coder is there so I can access directly the "inner" Writer so I can check both the input and output checksum in a single pass.
I'm not bypassing the writer.

I guess I must have misunderstood your code then :)


Add the promise() function

This is just syntactic sugar around resolve() for use with a generator closure to avoid temporary variables.
Instead of having to write:
$var = function() {
    yield;
};
return resolve($var);

you can simply write:
return promise(function() {
    yield;
});

I'm not married to the function name if it doesn't suit, but this is an option I have found frustratingly missing.
This PR also adds a missing @return tag to the resolve() docblock.

FYI, if you're able to use PHP7 syntax you can write:
return resolve((function() {
    yield;
})());

Another possible solution would be to change resolve to accept callables and generators.

Yeh I did that at one point but it is indeed not pretty. Also the PHP Storm parser currently doesn't like it, but I believe a fix for that is in the pipeline.

@kelunik That's actually a better idea, will update PR to do that instead

Agree, changing resolve is the best way.

Updated

Exceptions updated, logic changes so that passing a generator (i.e. existing usage) only costs 1 extra instanceof

I think I can now type git commit -am temp && git rebase -i HEAD~2 faster than anyone else on earth.

@DaveRandom you should use git commit --amend -a

I thought that didn't work sanely for commits that have already been pushed?

Nah, it's totally fine

Just the same as rebase, it requires a force push.

Ahh OK, I have that in my head from when I didn't understand git (so... like... right now, just like everyone else).

Where's the IllegalArgumentException now?

@kelunik squashed into a single exception

@bwoebi The previous exceptions were better.


Adding support for gzipped data

In our POST requests, we gzip the request body which unfortunately the FLEX network logger can't display.
It's trivial to add support for displaying gzipped data (~3 lines of code) using a pod like 'GZIP', but I'm not sure what the policy is on adding 3rd-party dependencies.
If it's OK to add a dependency to the pod spec, I'm happy to create a pull request with this change, but thought I'd check first.

We actually already support this if the response headers are set correctly:
https://github.com/Flipboard/FLEX/blob/22e7edb698a74d2b9a083eb942f1f4384a9a7c94/Classes/Network/FLEXNetworkTransactionDetailTableViewController.m#L457-L460

Ah -- reading again I see you're talking about the request body. Want to bring that support over to displaying the request body? Should be pretty easy since it's already separated into a utility method.

Ah that's easy then. I assumed NSURL* automatically decoded zipped responses so FLEX didn't need to support it at all. I'll see if I can use that for the request bodies too.

Actually it seems that we aren't setting the headers in the way that FLEX is expecting... if I set "Content-Encoding": "gzip" then it works OK. Which actually happens right in that snippet you posted. Thanks anyway :)


docs: Minor update for memoization

Missing update to docs for memoization from #11379. 11379 allows memoization without outputs in 3.5

Thank you!


Kris' work on the api server

Was able to get our own etcd and the kops server running in a k8s cluster and deploying with helm (which is super exciting for me)
Anyway here is my work.. it's a starting place and this entire PR is a WIP so not even bothering calling it out
Right now it's pushing to my dockerhub, but we can sub out registries whenever we are ready!


release: v3.1.3

Please read and mark the following check list before creating a pull request:

[x] I read and followed the CONTRIBUTING.md guide.
[x] I read and followed the New Feature Checklist guide.

Short description of what this resolves:

Bug fixes and improvements

I see playground is not working because of the missing repository.
"@eva/eva": "github:akveo/eva#package/mapping-eva",
"@eva/theme-eva": "github:akveo/eva#package/theme-eva"

These two either missing or not publicly accessible.

Thank you for your attention @SenhorBardell 😄
This pr is not made from the next branch and will introduce few non-major things and bug fixes

Oh, right...


OpenIdConnectConfiguration not serializing properly

The OpenIdConnectConfiguration is not serializing the field jwks_uri field, the bellow example show the incorrect field naming (jwksUri).
The package to reproduce the behavior is Microsoft.IdentityModel.Protocols.OpenIdConnect version 5.5.0.
The problem caused is that the authenticationservice could not ask the authority the public key set to validate a token.
{
  "additionalData": {},
  "acrValuesSupported": [],
  "authorizationEndpoint": "https://localhost:4000/connect/authorization",
  "checkSessionIframe": null,
  "claimsSupported": [], "claimsLocalesSupported": [],
  "claimsParameterSupported": false,
  "claimTypesSupported": [],
  "displayValuesSupported": [],
  "endSessionEndpoint": null,
  "frontchannelLogoutSessionSupported": null,
  "frontchannelLogoutSupported": null,
  "grantTypesSupported": [],
  "httpLogoutSupported": false,
  "idTokenEncryptionAlgValuesSupported": [],
  "idTokenEncryptionEncValuesSupported": [],
  "idTokenSigningAlgValuesSupported": [],
  "issuer": "https://localhost:4000",
  "jwksUri": "https://localhost:4000/.well-known/openid-configuration/jwks",
  "jsonWebKeySet": {
    "additionalData": {},
    "keys": [
      {
        "additionalData": {},
        "alg": null,
        "crv": null,
        "d": null,
        "dp": null,
        "dq": null,
        "e": "AQAB",
        "k": null,
        "keyId": "319D93355237260601A940A962991084B835681A",
        "keyOps": [],
        "kid": "319D93355237260601A940A962991084B835681A",
        "kty": "RSA",
        "n": "4wyItVfNjf/3NVwA8z1ijlAz/SmGSdQ+U2M22TwR/vQWGmT3Fivg7Do9otPwTQBTIVkU3NnTyhB8jH0pe2LSqkVJXzwQjtma3aH/GaHMYTArB36xf5YESPWb1tvVmbIFFxtqaMZYnvUOYqh4c6yYBLPbQkKE8aSvYtEfvucA5XPwQU11sA9fRuScWO0psKBD1xtXZDB3vzv0JSZFmWB6OSCQcrBiBLFsGUlDogOCuLqN8g5xxjUE7gv7hRnUu6sm9lhEdzTskDw5zjr0mh093/PZ1M0UYMCg/M6TZmz+mdrd3r0Yq97am6mdFACe2v2tNXryy2iLrVBred6W+g8tjQ==",
        "oth": null,
        "p": null,
        "q": null,
        "qi": null,
        "use": "sig",
        "x": null,
        "x5c": [],
        "x5t": "319D93355237260601A940A962991084B835681A",
        "x5tS256": null,
        "x5u": null,
        "y": null,
        "keySize": 2048,
        "hasPrivateKey": false,
        "cryptoProviderFactory": {
          "cryptoProviderCache": {},
          "customCryptoProvider": null,
          "cacheSignatureProviders": true
        }
      }
    ],
    "skipUnresolvedJsonWebKeys": true
  },
  "logoutSessionSupported": false,
  "opPolicyUri": null,
  "opTosUri": null,
  "registrationEndpoint": null,
  "requestObjectEncryptionAlgValuesSupported": [],
  "requestObjectEncryptionEncValuesSupported": [],
  "requestObjectSigningAlgValuesSupported": [],
  "requestParameterSupported": false,
  "requestUriParameterSupported": false,
  "requireRequestUriRegistration": false,
  "responseModesSupported": [],
  "responseTypesSupported": [],
  "serviceDocumentation": null,
  "scopesSupported": [],
  "signingKeys": [],
  "subjectTypesSupported": [],
  "tokenEndpoint": "https://localhost:4000/connect/authentication",
  "tokenEndpointAuthMethodsSupported": [],
  "tokenEndpointAuthSigningAlgValuesSupported": [],
  "uiLocalesSupported": [],
  "userInfoEndpoint": null,
  "userInfoEndpointEncryptionAlgValuesSupported": [],
  "userInfoEndpointEncryptionEncValuesSupported": [],
  "userInfoEndpointSigningAlgValuesSupported": []
}

@RogerioWagner the issue here is that the discovery spec doesn't include a jsonWebKeySet, i believe you will find the keys in additional data.

@RogerioWagner the issue here is that the discovery spec doesn't include a jsonWebKeySet, i believe you will find the keys in additional data.

It's present in the json i've posted just because some experiments I was trying to implement asymmetric signing, currently it's not in the implementation anymore.
To workaround the problem I've made a copy of OpenIdConnectConfiguration.cs from the repository and changed the property JwksUri to jwks_uri.
    /// <summary>
    /// Gets or sets the 'jwks_uri'
    /// </summary>
    [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore, PropertyName = "jwks_uri", Required = Required.Default)]
    public string jwks_uri { get; set; }

The method implementation with OpenIdConnectConfiguration;
    [HttpGet]
    public IActionResult GetConfiguration()
    {

        // Ensure token and keys requests use the same cluster as this request
        string requestedUrlBase = $"{Request.Scheme}://{Request.Host}";

        //SeraphOpenIdConnectConfiguration configuration = new SeraphOpenIdConnectConfiguration();
        OpenIdConnectConfiguration configuration = new OpenIdConnectConfiguration();

        configuration.Issuer = requestedUrlBase;
        configuration.AuthorizationEndpoint = requestedUrlBase + "/" + SeraphConstants.AuthorizationRoute;
        configuration.TokenEndpoint = requestedUrlBase + "/" + SeraphConstants.TokenRoute;
        //configuration.jwks_uri = requestedUrlBase + Request.Path + "/" + SeraphConstants.PublicKeySetRoute;
        configuration.JwksUri = requestedUrlBase + Request.Path + "/" + SeraphConstants.PublicKeySetRoute;

        return Ok(configuration);
    }

Will return:
{
  "additionalData": {},
  "acrValuesSupported": [],
  "authorizationEndpoint": "https://localhost:4000/connect/authorization",
  "checkSessionIframe": null,
  "claimsSupported": [],
  "claimsLocalesSupported": [],
  "claimsParameterSupported": false,
  "claimTypesSupported": [],
  "displayValuesSupported": [],
  "endSessionEndpoint": null,
  "frontchannelLogoutSessionSupported": null,
  "frontchannelLogoutSupported": null,
  "grantTypesSupported": [],
  "httpLogoutSupported": false,
  "idTokenEncryptionAlgValuesSupported": [],
  "idTokenEncryptionEncValuesSupported": [],
  "idTokenSigningAlgValuesSupported": [],
  "issuer": "https://localhost:4000",
  "jwksUri": "https://localhost:4000/.well-known/openid-configuration/jwks",
  "jsonWebKeySet": null,
  "logoutSessionSupported": false,
  "opPolicyUri": null,
  "opTosUri": null,
  "registrationEndpoint": null,
  "requestObjectEncryptionAlgValuesSupported": [],
  "requestObjectEncryptionEncValuesSupported": [],
  "requestObjectSigningAlgValuesSupported": [],
  "requestParameterSupported": false,
  "requestUriParameterSupported": false,
  "requireRequestUriRegistration": false,
  "responseModesSupported": [],
  "responseTypesSupported": [],
  "serviceDocumentation": null,
  "scopesSupported": [],
  "signingKeys": [],
  "subjectTypesSupported": [],
  "tokenEndpoint": "https://localhost:4000/connect/authentication",
  "tokenEndpointAuthMethodsSupported": [],
  "tokenEndpointAuthSigningAlgValuesSupported": [],
  "uiLocalesSupported": [],
  "userInfoEndpoint": null,
  "userInfoEndpointEncryptionAlgValuesSupported": [],
  "userInfoEndpointEncryptionEncValuesSupported": [],
  "userInfoEndpointSigningAlgValuesSupported": []
}

With SeraphOpenIdConnectConfiguration, the one with renamed property, will return:
{
  "additionalData": {},
  "acrValuesSupported": [],
  "authorizationEndpoint": "https://localhost:4000/connect/authorization",
  "checkSessionIframe": null,
  "claimsSupported": [],
  "claimsLocalesSupported": [],
  "claimsParameterSupported": false,
  "claimTypesSupported": [],
  "displayValuesSupported": [],
  "endSessionEndpoint": null,
  "frontchannelLogoutSessionSupported": null,
  "frontchannelLogoutSupported": null,
  "grantTypesSupported": [],
  "httpLogoutSupported": false,
  "idTokenEncryptionAlgValuesSupported": [],
  "idTokenEncryptionEncValuesSupported": [],
  "idTokenSigningAlgValuesSupported": [],
  "introspectionEndpoint": null,
  "issuer": "https://localhost:4000",
  "jwks_uri": "https://localhost:4000/.well-known/openid-configuration/jwks",
  "jsonWebKeySet": null,
  "logoutSessionSupported": false,
  "opPolicyUri": null,
  "opTosUri": null,
  "registrationEndpoint": null,
  "requestObjectEncryptionAlgValuesSupported": [],
  "requestObjectEncryptionEncValuesSupported": [],
  "requestObjectSigningAlgValuesSupported": [],
  "requestParameterSupported": false,
  "requestUriParameterSupported": false,
  "requireRequestUriRegistration": false,
  "responseModesSupported": [],
  "responseTypesSupported": [],
  "serviceDocumentation": null,
  "scopesSupported": [],
  "signingKeys": [],
  "subjectTypesSupported": [],
  "tokenEndpoint": "https://localhost:4000/connect/authentication",
  "tokenEndpointAuthMethodsSupported": [],
  "tokenEndpointAuthSigningAlgValuesSupported": [],
  "uiLocalesSupported": [],
  "userInfoEndpoint": null,
  "userInfoEndpointEncryptionAlgValuesSupported": [],
  "userInfoEndpointEncryptionEncValuesSupported": [],
  "userInfoEndpointSigningAlgValuesSupported": []
}

I did not investigate the reason the attribute JsonProperty is not serializing with the specified PropertyName, for now the implementation is running as expected with the workaround.
Let me know if I can give any further information.

@RogerioWagner how are you serializing to Json? I ask because we have roundtrip tests here: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/a22c4f474b806c7c90f6dd9b5fd371fd55db51d4/test/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests/OpenIdConnectConfigurationTests.cs#L234

@brentschmaltz I'm not serializing by myself, the json was captured in postman calling the endpoint https://localhost:4000/.well-known/openid-configuration, which is routed to the method you can see on my previous post.

I'm stuck with the same issue recently.
Just want to add, that in the OpenIdConnect library version 5.2.0 the Newtosoft JsonProperty attribute is used to specify that "jwks_uri" name. And it works (serializes an object) correctly.
Since the OpenIdConnect started (don't know exact version) to use JsonProperty attribute from the System.Text.Json library, it ignores the specified property name.
I don't serialize the OpenIdConnectConfiguration object explicity - just return Json(configuration); from my controller.

@RogerioWagner @kashtak with the 5.x releases, you could add the NewtonSoft directly. With the 6.x release, we removed the public exposure to NewtonSoft and you scenario is now broken.
ensure: #1496 is fixed also.

It appears to me that we can access the "internal" forked Newtonsoft.JSON serializer by calling System.IdentityModel.Tokens.Jwt.JsonExtensions.SerializeToJson().
@RogerioWagner, if you manually invoke that in your GetConfiguration() method and then do whatever to need to do to return a "raw" payload, can you get it to work?

Stumbled upon this today and wrecked my head for a few hours until I finally retrieved the discovery document "manually".
I was sure I configured the JWT middleware correctly but it never hit my /keys endpoint. I inspected the url a dozen times, it was correct but it turns out it was a serialization issue...
I'll just leave this chunk of code here
        [HttpGet]
        public IActionResult GetConfiguration(CancellationToken cancellationToken)
        {
            var requestedUrlBase = $"{Request.Scheme}://{Request.Host}/";

            var configuration = new OpenIdConnectConfiguration
            {
                Issuer = securitySettings.Issuer,
                TokenEndpoint = requestedUrlBase + "token",
                JwksUri = requestedUrlBase + "keys",
            };

            return Ok(configuration);
        }

I looked into the OkObjectResult class and it seems it's using the System.Text.Json serializer.
I tried forcing the controllers to use the Newtonsoft.Json one but with no success services.AddControllers().AddNewtonsoftJson();
Inheriting from the OpenIdConnectConfiguration class and adding the jwks_uri property as @RogerioWagner  mentioned works like a charm.
Sorry for bumping this, but it still seems to be an issue. Here's to hoping the next guy finds this before losing their minds like I almost did.

@RogerioWagner @cleferman @chwarr this item was fixed in 6.x.
Please feel free to re-open if you see issues in 6.x.


Improvements to Unit::System#load

We added some test coverage, pulled out some private methods, and made it possible to call load on the same filename or symbol multiple times without getting a warning.

Thank you!


[PE-D][Tester B] Error messages for features

There is an appropriate error message on how the phone number should at least be 3 digits long. However, this expected behavior is not displayed in the case of an IC as seen from above. There should be an error message to inform the user on how long the IC should be, just like the phone number.
There is an example below of how there is the appropriate error message for invalid phone number input. Similar behaviour should be shown for the IC input as well.

On a minor note:

The alphabetical case for addition of the IC Number attribute is not standardized (some missing consistency), which I think makes it slightly incomplete. There should be some form of case standardization for important attributes like IC Number which are added in the patient's data

Labels: severity.Low type.FeatureFlaw
original: RiyaMehta2211/ped#7

This has been fully resolved in PR #204 and #210.

NRIC has been refactored to ID, which is a closer name to its current implementation. This is due to the lack of input enforcement on our NRIC tag, and its use case as an identifier that the user can define on their own metric.
The IC attribute has been standardized to force capitalization, which should reduce conflict in duplication of IDs for most use cases.


Getting "Error while saving bookmark" message when bookmarking succeeds

Newsbeuter version: 2.9
Steps to reproduce the issue:

Install and configure pocket-cli.

In ~/.newsbeuter/config:
bookmark-cmd "~/.newsbeuter/add_to_pocket.sh"
bookmark-autopilot yes

In # ~/.newsbeuter/add_to_pocket.sh:
#!/bin/sh
pocket-cli add --url "$1"

Given this setup, anytime I bookmark an article, I get the following error message on the newsbeuter command line:
Error while saving bookmark: URL has been added

Meanwhile, the bookmarked article indeed appears in my Pocket list. I have confirmed that pocket-cli add normally exits with a status of 0.

Apparently Newsbeuter uses the output, not the exit code, to detect the failure. (That was a surprise to me, too!) Quoting the relevant section of the documentation:

When everything went OK, the plugin simply exits. In case something goes wrong while saving the bookmark, it writes out an error message as a single line. This error message is then presented to the user from within newsbeuter.

I think you can rewrite your ~/.newsbeuter/add_to_pocket.sh like this:
#!/bin/sh
temp=`mktemp add_to_pocket.XXX.log`
pocket-cli add --url "$1" >"$temp" 2>&1
if [ $? -ne 0 ]
then
    cat "$temp"
fi
rm -f "$temp"

This way it'll only report the output if the exit code was non-zero, which seems reasonable.

Wow, good eye!
I opted for the following, since it was a little more compact:
pocket-cli add --url "$1" 2>&1 >/dev/null

This replaces STDOUT with STDERR altogether.

I'd still advise you to keep at least some some sort of error:
pocket-cli add --url "$1" 2>&1 >/dev/null || echo "Error adding a bookmark"

You'll thank yourself later, when your network connection lapse for a moment and you realize that has it not been for the error message, you'd think you have the bookmark, only to discover a month later that in fact you don't ;)

Worth noting here is that 2>&1 >/dev/null is different from >/dev/null 2>&1. The latter is probably what you're used to seeing, and silences all output from both STDOUT and STDERR. With the former, STDOUT is sent to the black hole and STDERR is redirected to (the actual) STDOUT.
Using || is clever too, though.


Improve error handling in upgrade-agent

What happened:
Upgrading the litmuschaos helm release fails if litmusportal version remains unchanged due to error in upgrade agent which runs a a post upgrade hook.
What you expected to happen:
Helm upgrade command to succeed even if app version does not change.
Where can this issue be corrected? (optional)
Using custom type errors would allow proper error handling at a later stage. In the above use-case, the upgrade agent should should do noop and just return without error.
Returning a custom error: https://github.com/litmuschaos/litmus/blob/master/litmus-portal/upgrade-agents/control-plane/versions/upgrade-manager.go#L92
Handling the error: https://github.com/litmuschaos/litmus/blob/master/litmus-portal/upgrade-agents/control-plane/main.go#L59
More info: https://go.dev/blog/go1.13-errors
How to reproduce it (as minimally and precisely as possible):
Run the following commands:
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm upgrade --install litmus litmuschaos/litmus -n litmus # the first run will succeed
helm upgrade --install litmus litmuschaos/litmus -n litmus # this will fail due to the post-hook which errors

Anything else we need to know?:
n/a

cc: @rajdas98 @Jonsy13

Still a problem in 2.8.1
❯ helm upgrade --install litmus litmus --repo https://litmuschaos.github.io/litmus-helm/ --version 2.8.1 --namespace litmus --create-namespace -f dev.yaml
Release "litmus" does not exist. Installing it now.
NAME: litmus
LAST DEPLOYED: Wed Apr 27 13:11:50 2022
NAMESPACE: litmus
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing litmus 😀

Your release is named litmus and it's installed to namespace: litmus.

Visit https://docs.litmuschaos.io to find more info.
❯ helm upgrade --install litmus litmus --repo https://litmuschaos.github.io/litmus-helm/ --version 2.8.1 --namespace litmus --create-namespace -f dev.yaml
Error: UPGRADE FAILED: post-upgrade hooks failed: job failed: BackoffLimitExceeded

HI @stoehdoi @brnck This issue was fixed in 2.9.0 - https://github.com/litmuschaos/litmus/releases/tag/2.9.0
Closing this issue. Feel free to reopen it if the issue still persists.