No Mention of FieldMappingOptions and Behavior is Unexpected

I apologize in advance if this is not the appropriate place for this feedback, please let me know if I should place this somewhere else, thanks!
I am trying to build a chat assistant that uses a Cognitive Search Index built on top of our Help System documentation to answer User's questions. The page I am linking this issue to as well as this Quickstart guide have been really helpful to get the search service functional on top of my search index. However, I am getting the [DocN] references inside the responses that I would like to resolve to the actual sources the model used for its response. My guess in looking at other documentation (specifically this page) is that I need to map fields from my search index properly and at the very least the service's response should have the URLs that I can add in as needed. Looking at the documentation for the OpenAi Client Library I assumed that I needed to add FieldMappingOptions to the AzureExtensionOptions passed along in the GetChatCompletions request. See the below code excerpt showing how I added these options:
var fieldMappingOptions = new AzureCognitiveSearchIndexFieldMappingOptions()
{
    UrlFieldName = "metadata_storage_path",
    FilepathFieldName = "metadata_storage_path",
    TitleFieldName = "metadata_storage_name"
};
fieldMappingOptions.ContentFieldNames.Add("content");
fieldMappingOptions.ContentFieldNames.Add("organizations");
fieldMappingOptions.ContentFieldNames.Add("keyphrases");
Options.AzureExtensionsOptions = new AzureChatExtensionsOptions()
{
    Extensions =
    {
        new AzureCognitiveSearchChatExtensionConfiguration()
        {
            IndexName = _congifuration["CognitiveSearch:SearchIndex"],
            SearchEndpoint = new Uri(_congifuration["CognitiveSearch:SearchURL"] ?? ""),
            SearchKey = new AzureKeyCredential(_congifuration["CognitiveSearch:SearchServiceCredentialKey"] ?? ""),
            SemanticConfiguration = "sthelpsystemdevhesemanticfonfiguration",
            FieldMappingOptions = fieldMappingOptions
        }
    }
};

There is not a ton of documentation that I could find but I'm assuming I'm using the object correctly by paassing in the fields for Content/URL/title/etc. Here's a screenshot of my index:

My expectation is that when I sent the request with the FieldMappingOptions set appropriately I would see the citations' url/filepath/title/etc. properties set with the values from those fields in my index. However, they are still empty and there is not any information I can see explaining that something went wrong and there's no documentation I can find that indicates I'm using the Options incorrectly. So, my request is generally, can you add some more context on how to use this property/these properties? And more specifically (selfishly), is there anything that I'm doing wrong or anything I could look into to figure out why this is not working as I expect?

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

ID: 81e0efc8-d491-4425-7652-08dddb8e866d
Version Independent ID: ed418ebd-a705-e133-d8e1-33e85db8fc60
Content: Azure OpenAI client library for .NET - Azure for .NET Developers
Content Source: api/overview/azure/preview/ai.openai-readme.md
Service: openai
GitHub Login: @jpalvarezl
Microsoft Alias: josealvar

Thank you for getting in touch and apologies for the delay. As also pointed out in other issues like #38966, AzureCognitiveSearchChatExtensionConfiguration has errors in its naming and serialization for some members, which I believe is the regrettable source of this problem. We'll prioritize addressing the search-specific extension configuration class in an upcoming release, but in the interim you can also work around the issue by using the more general-purpose AzureChatExtensionConfiguration in the place of AzureCognitiveSearchChatExtensionConfiguration. The former allows the use of arbitrary fields via BinaryData.FromObjectAsJson -- although there's not yet a standalone sample or snippet demonstrating its use, you can refer to this test code for the comparison of the two classes: https://github.com/Azure/azure-sdk-for-net/blob/b496e92068fec5d6c2d14116bf757bd17afd9bca/sdk/openai/Azure.AI.OpenAI/tests/AzureChatExtensionsTests.cs#L42

I've tried using the general-purpose AzureChatExtensionConfiguration class, but no change in terms of getting the metadata from the document (in my case, a file stored in the Azure SQL).
Here's my code:
....
AzureExtensionsOptions = new AzureChatExtensionsOptions()
{
Extensions =
{
//                        new AzureCognitiveSearchChatExtensionConfiguration()
//                        {
//                            SearchEndpoint = new Uri(searchEndpoint),
//                            IndexName = searchIndexName,
//                            SearchKey = new AzureKeyCredential(searchKey!),
//                            FieldMappingOptions =  new AzureCognitiveSearchIndexFieldMappingOptions()
//{
////    UrlFieldName = "metadata_storage_path",
//    FilepathFieldName = "RowId",
//    TitleFieldName = "DocumentName"
//}
//                        }
                    //https://github.com/Azure/azure-sdk-for-net/issues/38749#issuecomment-1747917949
                    new AzureChatExtensionConfiguration(){
                        Type = AzureChatExtensionType.AzureCognitiveSearch,
                        Parameters = BinaryData.FromObjectAsJson(new
                        {
                            Endpoint = searchEndpoint,
                            IndexName = searchIndexName,
                            Key = searchKey,
                            FieldMappingOptions =  new AzureCognitiveSearchIndexFieldMappingOptions()
                            {
                                FilepathFieldName = "RowId",
                                TitleFieldName = "DocumentName"
                            }
                        },
                        new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })

I still get nulls in the resulting file path object.
Any pointers on how to do this, while we wait for a fix?

I just tested the same workaround but with same results as @capesean.

@m-puolitaival try changing your implementation of this:
Parameters = BinaryData.FromObjectAsJson(new
{
    Endpoint = searchEndpoint,
    IndexName = searchIndexName,
    Key = searchKey,
    FieldMappingOptions =  new AzureCognitiveSearchIndexFieldMappingOptions()
    {
        FilepathFieldName = "RowId",
        TitleFieldName = "DocumentName"
    }
},
new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })

to this:
Parameters = BinaryData.FromObjectAsJson(new
{
    Endpoint = searchEndpoint,
    IndexName = searchIndexName,
    Key = searchKey,
    FieldsMapping = new
    {
        FilepathField = "RowId",
        TitleField = "DocumentName"
    }
},
new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })

and let me know if that works for you?

No luck so far @capesean, I can't get the url/path/title to show in the citations. My use case is indexed Sharepoint library which I initially configured as documented but since I have tested various other indexing configurations.

That's strange. It works for me with the above code - note the very subtle differences between FieldMappingOptions and FieldsMapping, FilepathFieldName and FilepathField, etc. And of course AzureChatExtensionConfiguration instead of AzureCognitiveSearchChatExtensionConfiguration.

I think I double-checked the change, but seems I forgot to change FieldMappingOptions to FieldsMapping. That did the trick for me, it works well now. Thanks!

@m-puolitaival try usingAzureChatExtensionConfiguration instead of AzureCognitiveSearchChatExtensionConfiguration and changing your implementation of this:
Parameters = BinaryData.FromObjectAsJson(new
{
    Endpoint = searchEndpoint,
    IndexName = searchIndexName,
    Key = searchKey,
    FieldMappingOptions =  new AzureCognitiveSearchIndexFieldMappingOptions()
    {
        FilepathFieldName = "RowId",
        TitleFieldName = "DocumentName"
    }
},
new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })

to this:
Parameters = BinaryData.FromObjectAsJson(new
{
    Endpoint = searchEndpoint,
    IndexName = searchIndexName,
    Key = searchKey,
    FieldsMapping = new
    {
        FilepathField = "RowId",
        TitleField = "DocumentName"
    }
},
new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })

and let me know if that works for you?

Is this still working for you? I am getting the error "Cannot create an instance of the abstract type or interface 'AzureChatExtensionConfiguration'" when I followed the above implementation


Reduxify Consortia View

asana
https://app.asana.com/0/45796090191289/53621870692570
This moves the “consortium” view into a Redux-centered architecture. Notable changes:

Creation of consortium actions and action creators.
Creation of a Consortia service that acts as an adapter to PouchDB storage
Creation of a consortium-single-controller component that facilitates bound action creators and “dumbing down” of the consortium-single component.
Creation of consortium middleware that interacts with the services and modifies actions as needed (only for errors right now).

cool. looks like a LOT of good thought and effort went into this.  i will let you decide how to best proceed, update, close out, etc.  I would, however, appreciate some feedback on the dialogs that solicited it

Okay, I’d say this is ready to merge in. I think all the minor concerns have been addressed (although the commit hashes may be bad because I rebased). The last thing was the form’s state, which I cleaned up (see comment).
We do have some architectural differences between this feature and the rest of the application. Should we address those before merging in? Thoughts?

i think think the ResponseFactory adds more complication that it does assistance, but I'm willing to try it out.  at the least it warrants some more detailed DocBlocks.  it's a service defined within a service, that likely needs to be updated with new actions.
at the end our of little discussion on arch, i said "i'm all good."  i just wanted to keep these actions grouped with other actions.  because they are async and exec'd by middleware i thought it would be preferable to keep them in the actions bucket vs. middleware bucket.

please feel free to still merge at your own discretion

Added documentation to consortium service's response factories in 51de015282bd70f6afc0c012276ee9632936ffc2.


cmd/scollector: Add duration to interval.go

Updated with requested changes. I also am running it as a second instance pointed at devbosun. See http://goo.gl/pzc9tA


Mobile search isn't respected

Try to see if you can only get visible items from search or using sec Q

Bloop! 🙂↕


pytest -n 5 --tep-reports test_*.py, but the report is empty, why?

Thanks!!!

there is no -n argument in pytest, try pytest --tep-reports test_*.py.

there is no -n argument in pytest, try pytest --tep-reports test_*.py.

After install pytest-xdist, I reproduce this Bug.

But I found that --tep-reports was still working, my reports directory created 2 or 3 reports after I ran this command.


Prebuilt binaries

Previous project page offered prebuilt binaries. Is is still possible to get them somewhere?

Also missing are .tar.gz source distributions (those are a bit different from github download archive option).

They're both on here: https://www.libsdl.org/projects/SDL_ttf/release/

The project has a chicken-egg problem: https://github.com/libsdl-org/SDL_ttf lists http://libsdl.org/projects/SDL_ttf as the project site url, but that itself redirects to github project, therefore people don't see the release files as they should. @slouken should remove the redirection from the libsdl.org project site.

Prebuilt binaries are available on the release page:
https://github.com/libsdl-org/SDL_ttf/releases/tag/release-2.0.18

https://github.com/libsdl-org/SDL_ttf/issues/183#issuecomment-1070572621

I removed the website link from github, since that's the authoritative repository now.


Getting OOM (out of memory) when using big files

When using big files we getting out of memory did some debug and found it happen here:
https://github.com/SYSTRAN/faster-whisper/blob/1b24f284c9b39bcdf47233d7ae507abaea7a98c8/faster_whisper/feature_extractor.py#L189
its only happen on big files (few hours) on small files its working fine.
this is very basic draft of the code we using (we fo course getting the oom on the transcribe:
model = WhisperModel(model_size)
vo = VadOptions(
min_speech_duration_ms=250,
speech_pad_ms=30,
min_silence_duration_ms=5000,
)
options = {
"word_timestamps": True,
"vad_filter": True,
"condition_on_previous_text": False,
"hallucination_silence_threshold": 3,
"log_prob_threshold": -0.5,
}
options["vad_parameters"] = vo
segments, info = model.transcribe(audio_file, **options)
did you encounter such an issue ? any ideas?

It was fixed in the last commit: https://github.com/SYSTRAN/faster-whisper/pull/1198
Install the latest master:
Press "Code" button then press "Downlod ZIP", then run:  pip install "faster-whisper-master.zip
Or with git: pip install git+https://github.com/SYSTRAN/faster-whisper.git

It was fixed in the last commit: #1198
Install the latest master: Press "Code" button then press "Downlod ZIP", then run: pip install "faster-whisper-master.zip" Or with git: pip install git+https://github.com/SYSTRAN/faster-whisper.git

I guess this might be more related to the feature extraction rather than VAD, but if the vad used less memory that might help with the problem but it will still be there

Can you please reopen this? According to https://github.com/jhj0517/Whisper-WebUI/issues/424#issuecomment-2557960708, this seems to still be reproducible on Colab with the large file ( 1 hour 40 minutes).

Can you please reopen this? According to jhj0517/Whisper-WebUI#424 (comment), this seems to still be reproducible on Colab with the large file ( 1 hour 40 minutes).

Maybe it was on low memory even before VAD, what RAM usage it shows without VAD?

@Purfview I just tried to reproduce it myself on my side with 2 hours of video, but the CPU RAM was reached only 5.4 GB.
So I guess the problem is not related to this issue, it's a problem on my side. I'm sorry for giving you confusion.
This is the peak CPU RAM data I observed with 2 hours of audio (the left "시스템 RAM" means CPU RAM):

when using VAD together for 2 hours of audio : 5.4GB peak RAM (CPU)

when using only faster-whisper for 2 hours of audio: 3.5GB peak RAM (CPU)

Can you please make a new release so we don't have to install from git?


Update and rename docs/guide/start-hello.md to docs/guía/start-hello.md

Q
A

Is bugfix?
✔/❌

New feature?
✔/❌

Breaks BC?
✔/❌

Tests pass?
✔/❌

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

What? Why? Are you trying to translate it to Spanish? The content is stored in guide-es folder.


Flat notebook hero

This is basically intended to be replaced at some point. But it gives us something to work around.
fixes #23

Any way we can be less Macbook-y? I like it but we're not going to hear the end of "Hurr durr OS X ripoff" if we use a Macbook render, as sexy as it is, on our home page.


Error handling + client JavaScript improvements

Exception handling in Controller.cs (the diff for Controller.cs is weird, I just added try catch blocks to the methods)
Created base class Fido2ResponseBase for error handling
Handling returned errors in client JavaScript
client JavaScript cleanup - moved successful swal() dialogs to proper place
client JavaScript unification - similar workflow for all the fetch() calls

Looks good but could you rest the controller.cs file so that we don't end up with that huge diff?

Sure, but I'm having trouble with it at the moment. Maybe I'll have to start over and fork again.

@ondrokrc Yes. The commit history is long in this PR. You should probably copy your local changes and reset your master to abergs/master. (It's the same as checking out/forking again)

I did the reset and applied the changes freshly again.

Looks good!

Has https://fido2.azurewebsites.net been updated with the latest code?

Published it now! 👍
(It ran quite old code before the publish today)


Register KyuubiDriver in ServiceLoader

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #1108 (18e19c5) into master (4f11b51) will decrease coverage by 0.06%.
The diff coverage is n/a.

:exclamation: Current head 18e19c5 differs from pull request most recent head 0f14d12. Consider uploading reports for the commit 0f14d12 to get more accurate results

@@             Coverage Diff              @@
##             master    #1108      +/-   ##
============================================
- Coverage     79.25%   79.19%   -0.07%
  Complexity       87       87
============================================
  Files           177      177
  Lines          6595     6595
  Branches        782      782
============================================
- Hits           5227     5223       -4
- Misses          916      920       +4
  Partials        452      452

Impacted Files
Coverage Δ

.../org/apache/kyuubi/operation/KyuubiOperation.scala
50.00% <0.00%> (-5.36%)
:arrow_down:

...pache/kyuubi/sql/KyuubiQueryStagePreparation.scala
80.39% <0.00%> (-0.99%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks @timothy65535 review, merged to master/1.3


1.2.4 changed transliteration behaviour

Upgrading from 1.2.3 to 1.2.4 broke our test suite, in particular some characters are transliterated differently, breaking assertions and semver.
E.g. we test that това е текст на бълрагски за тест becomes tova-e-tekst-na-blragski-za-test which is true in 1.2.3 and false in 1.2.4.
In 1.2.4 it instead transliterates to tova-e-tekst-na-bielragski-za-test.

urlify version
in
out

1.2.3
бълрагски
blragski

1.2.4
бълрагски
bielragski

I'm sure the dependency has its reasons for doing this, but composer pulled in 1.2.4 automatically and broke out test suites, this should have been a 1.3.0 or a 2.0.0 release.

No worries, it was only 2 tests at the time, but it does mean we'll need to pin to 1.2.3 and do extra testing in case redirects cause issues


Broken links in docs/CORE_DEV_GUIDE.md

📚 Documentation
I saw two broken links in the file docs/CORE_DEV_GUIDE.md
Link 1
"@napari/core-devs" points to https://github.com/orgs/napari/teams/core-devs, which does not exist. I'm not sure if there is a webpage for napari core dev team members, I wasn't able to find one easily on github.
Link 2
[Merge Only Changes You Understand](#Merge Only Changes You Understand) should be a link, but instead is rendered like plain text. I think the markdown anchor to the subheading is unhappy because it has spaces in it? This could help: https://gist.github.com/asabaylus/3071099

that second one is the one that I just pushed to your pr https://github.com/napari/napari/pull/815#issuecomment-567316498

looks like the teams/core-devs link only works if you're in the organization.
@sofroniewn, if it's only core-devs in the organization anyway, perhaps we should link to https://github.com/orgs/napari/people instead... (that link is always public), but then members will need to make their membership public to appear on that page

Thanks for fixing the second one I just merged #815.
As to the first one, as @tlambert03 mentions it looks like right now teams are only visible to people within the org - see here. I actually just filed a feature request with GitHub asking if they can support a 3rd Public option, but that will take a long time.
Right now we use both napari/core-devs and napari/steering-council. We could drop the links right now, but again not sure how helpful those sections are then. Linking to the people page could be good for now too. I'm not really sure what's best

If there's no easy fix, we could just decide this isn't a big deal and close this issue. That's fine too.

For this particular doc (CORE_DEV_GUIDE.md), I don't think this is an issue, because this doc is intended for onboarding newly added core_dev members, meaning they would be in the organization and would be able to see the link themselves when going through the doc.
That being said, I found the same link to core_dev/steering council in napari websites, etc. It can be an issue for people who would like to raise an issue but had no idea whom to reach out to, and was not able to get any response from any core dev proactively. In the unlikely event of these scenarios, I would think it is then reasonable to extend the responsibility of steeling council members in written to provide initial guidance.

That being said, I found the same link to core_dev/steering council in napari websites, etc. It can be an issue for people who would like to raise an issue but had no idea whom to reach out to, and was not able to get any response from any core dev proactively. In the unlikely event of these scenarios, I would think it is then reasonable to extend the responsibility of steeling council members in written to provide initial guidance.

Ok yeah hopefully once the napari website reorganizes we can just link to an about team page on the website with the necessary info


WYSIWYG override not working

Code not working in 3.2.1
$fields->removeFieldFromTab('Root.Main', 'Content');
$fields->addFieldToTab('Root.Main',
HtmlEditorField::create('Content', _t('SiteTree.HTMLEDITORTITLE', 'Content', 'HTML editor title')),
'Metadata'
);

@hp7 I tried this in 3.2.1 and it seems to work. What error did you get? note the code snippet requires 'Metadata' to not be removed beforehand, and that you've done a ?flush=1 in the admin section first

Thank you
I'll take another try with a clean install

On Dec 3, 2015, at 2:59 PM, torleif<EMAIL_ADDRESS>wrote:
@hp7 I tried this in 3.2.1 and it seems to work. What error did you get? note the code snippet requires 'Metadata' to not be removed beforehand, and that you've done a ?flush=1 in the admin section first
—
Reply to this email directly or view it on GitHub.

@hp7 I've updated the readme to use the replacefield() function instead of deleting the old one and recreating it. It's was a bit sloppy on my behalf to to do that as it assumed you have the metadata field.


Site will be Redone in Hugo

I haven't touched this site in like a year because the static site generator used was hobbled-together and couldn't scale without constantly breaking and taking minutes to recompile.
I've decided to switch to Hugo to compile the site, and I hope to finish this in the next week. I didn't switch before because Hugo themes are kind of a pain to specialize for the unfamiliar, but I've since gained familiarity with it enough that I can confidently make a setup perfectly to my vision for the site.
I'll use this as an opportunity to make other improvements to the site.
Note that I still do not want to drastically increase the number of recipes right now. In fact, in the future, I might slim them down to undebatably "based" recipes only. (I am no longer ignoring notifications from this git repository.)

awesome news!

Based, Redpilled, and Mental Outlaw's alter deepfake :cat: :+1:

Btw, just some ideas: maybe add reviews section to recipes somehow? I know it is meant to be static, but it would be nice to know if what I am making is good/accurate or not.

The Hugo version of the site is now up. Doesn't look much different, but infinitely easier to manage and compiles in milleseconds. I'm going to start by organizing and systematizing tags and such, then add other improvements.

I've added all the author names into metadata, so I don't have to fret about people refusing to follow the formatting guidelines lol
Might add cook/prep time to metadata in the future.
Site is very clean on the backend now. I'm still mastering hugo to do all I want, but I'm feeling like I might start looking at new submissions and maybe I'll start curating things a little more since it's easier.

Request to change the current text color (blue). I suffer from chromatic aberration and have a very difficult time seeing the color blue. My humble request is to chance the blue text color to another color.

@reidellawfirm It could be a settings option stored in localstorage for that case, or you could try a css plugin to change all "a" elements to a different color.

I'm not tethered to the current colors, so I am open to changing it to something else someone suggests.

Changed the colors to be warmer, as in #221

Hey @LukeSmithxyz I think the links would look better without the underlines. What do you think? Thanks.

@LukeSmithxyz I agree with @peepopoggers . Perhaps a bit more spacing between the radio buttons or removing the underlines would be good as the list seems too cramped right now. Could also be the yellow.
Glad to hear you've switched to Hugo.

Removing link underlines in general hurts accessibility, however it would definitely be more readable and it wouldn't be so much of an issue if it is only removed from the list. Adding more padding would make the site more usable for mobile users. Therefore, I would suggest something like:
#artlist a, .tagcloud a {
	padding: 0.2em;
	display: inline-block;
	text-decoration: none;
}

@reidellawfirm It could be a settings option stored in localstorage for that case, or you could try a css plugin to change all "a" elements to a different color.

Thanks for the suggestion, great idea to look into a css plugin.

@isti03 I looked at the site you linked; for the bullet points, there are never links next to each other so it is fine.

I think that the website could done build using crystal, php or even nodejs and really not relaying on static html pages.
Yes its a great idea to generated them to static html.
But is it worth it? I don't think so, let the server generate it when it requested that it!
The recipes are very small as I can see and it would not take a lot of time to generated it live, right?
You can also cache the generated pages if you want to be more "economy".

I think that the website could done build using crystal, php or even nodejs and really not relaying on static html pages. Yes its a great idea to generated them to static html. But is it worth it? I don't think so, let the server generate it when it requested that it! The recipes are very small as I can see and it would not take a lot of time to generated it live, right? You can also cache the generated pages if you want to be more "economy".

I can never tell if these people are kidding or not.

php :skull:

I think that the website could done build using crystal, php or even nodejs and really not relaying on static html pages. Yes its a great idea to generated them to static html. But is it worth it? I don't think so, let the server generate it when it requested that it! The recipes are very small as I can see and it would not take a lot of time to generated it live, right? You can also cache the generated pages if you want to be more "economy".

Look @LukeSmithxyz, I understand and fully respect your desicion to not apply my idea (@dynfactor), but come on man are you gonna shut me up for that? (well it seems that you did, since i can't commented from my main account)

No, I am not kidding, what's wrong with nodejs, crystal or even php?
They are the "backend" so they don't run on the user's browser (so don't worry no javascript envolved here) and they are just designed for that thing.
I believe they are better if you want to add things and improve it with time than staticly generated site.
I don't mean adding javascript or bloat the site when I say "improve it", no it doesn't have to be like that.
I am just trying to sell this idea to you, you buy it or you don't it's up to you :)
Please don't take it personal, cause I didn't mean it :)

Even though, I can help even if I don't agree with you, so... would you unblock me @dynfactor so I can contribute? Thanks :)


eventhubs metadata propagation

Description
Please explain the changes you've made
Propagating metadata along with event.Data
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #227
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@artursouza Please let me know your thoughts

@tanvigour @artursouza This can be closed as it's replaced by #1009 that has already been merged.

closing since this was already addressed by @CodeMonkeyLeet  in #1009

Ack.


Draw curved text

Hi, is there a way to draw text on a curve using Skia?

Not that I know. Using 1 letter instead of a text I know it's possible, see: https://stackoverflow.com/a/72586939/2614619

Thanks


Updated IISDeployer

@pranavkm @Tratcher Please review this PR and approve if you agree so that I can merge this code change on my fork to dev branch.
Brief descripton of the issue:
IIS Deployer has an issue regarding the applicationPath pointing wrong directory instead of publish directory and so I fixed it following the way used by IISExpress Deployer and confirmed the issue is fixed.

Hi @jhkimnew, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;


aea ledger ethereum coverage

Proposed changes
aea ledger ethereum coverage
Fixes
aea ledger ethereum coverage
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[ ] Lint and unit tests pass locally with my changes and CI passes too
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...
DELETE INCLUSIVE THIS AND BELOW FOR STANDARD PR
Release summary
Version number: [e.g. 1.0.1]
Release details
Describe in short the main changes with the new release.
Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the main branch (left side), from develop
[ ] Lint and unit tests pass locally and in CI
[ ] I have checked the fingerprint hashes are correct by running (aea packages lock --check)
[ ] I have regenerated the latest API docs
[ ] I built the documentation and updated it with the latest changes
[ ] I have added an item in HISTORY.md for this release
[ ] I bumped the version number in the aea/__version__.py file.
[ ] I bumped the version number in every Docker image of the repo and published it. Also, I built and published them with tag latest
(check the READMEs of aea-develop
and aea-user)
[ ] I have pushed the latest packages to the registry.
[ ] I have uploaded the latest aea to PyPI.
[ ] I have uploaded the latest plugins to PyPI.

Further comments
Write here any other comment about the release, if any.

Codecov Report
Base: 89.39% // Head: 90.37% // Increases project coverage by +0.98% :tada:

Coverage data is based on head (520b0c2) compared to base (84ce6b6).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #500      +/-   ##
==========================================
+ Coverage   89.39%   90.37%   +0.98%
==========================================
  Files         352      352
  Lines       28704    28698       -6
==========================================
+ Hits        25659    25936     +277
+ Misses       3045     2762     -283

Flag
Coverage Δ

unittests
90.37% <ø> (+0.98%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ea-ledger-ethereum/aea_ledger_ethereum/ethereum.py
88.71% <ø> (+6.70%)
:arrow_up:

aea/protocols/dialogue/base.py
100.00% <0.00%> (+0.14%)
:arrow_up:

...ages/fetchai/connections/http_server/connection.py
100.00% <0.00%> (+0.42%)
:arrow_up:

aea/helpers/ipfs/base.py
100.00% <0.00%> (+0.59%)
:arrow_up:

aea/package_manager/base.py
100.00% <0.00%> (+1.06%)
:arrow_up:

aea/helpers/env_vars.py
100.00% <0.00%> (+1.13%)
:arrow_up:

packages/valory/connections/ledger/base.py
53.03% <0.00%> (+1.51%)
:arrow_up:

aea/runtime.py
100.00% <0.00%> (+1.79%)
:arrow_up:

packages/fetchai/connections/gym/connection.py
60.37% <0.00%> (+2.83%)
:arrow_up:

packages/valory/connections/ledger/connection.py
100.00% <0.00%> (+3.07%)
:arrow_up:

... and 8 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Schedule callbacks on a connection in a go routine to preserve order

@derekcollison This seems overly complex to me, and not really go-like. Would appreciate pointers on how to do this differently.

I agree, this is pretty complex. I think we can come up with something simpler and have one Go routine per Connection. It selects over ConnHandler chan (connect, reconnect, disconnect) and an ErrHandler chan and a quit condition. Let me give this a pass and see what I can come up with.

Appreciate it. I did not want to use a channel (other than to notify that the list should be processed) because of the size of the channel. If it is unbuffered, we would potentially block. If buffered, what size to use (reference to removing channel for async msgs come to mind)?

The connHandler is not very many events, so 4 or 8 buffered size. The
ErrHandler may be more, but if it comes from the server we will be
disconnected, and if it is from client side slowConsumer we gate it.
On Wed, Jan 20, 2016 at 7:09 PM, Ivan Kozlovic<EMAIL_ADDRESS>wrote:

Appreciate it. I did not want to use a channel (other than to notify that
the list should be processed) because of the size of the channel. If it is
unbuffered, we would potentially block. If buffered, what size to use
(reference to removing channel for async msgs come to mind)?
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/pull/133#issuecomment-173428206.

I thought about it, but technically, the same connection could go through a list of disconnect - reconnect -disconnect - reconnect - disconnect - etc... possibly rapidly.

Not sure how rapid or how common, but I understand what you are saying.
On Wed, Jan 20, 2016 at 7:30 PM, Ivan Kozlovic<EMAIL_ADDRESS>wrote:

I thought about it, but technically, the same connection could go through
a list of disconnect - reconnect -disconnect - reconnect - disconnect -
etc... possibly rapidly.
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/pull/133#issuecomment-173432254.

If we have a select for conn handler and one for async err handler, then the total order would not be respected. If we are ok with that, I can have another go at trying to implement this.
That being said, for async, we still need to not only push a function, but there are the sub and err to pass around that may be different each time.

You can close over the arguments.
On Thu, Jan 21, 2016 at 8:11 AM, Ivan Kozlovic<EMAIL_ADDRESS>wrote:

If we have a select for conn handler and one for async err handler, then
the total order would not be respected. If we are ok with that, I can have
another go at trying to implement this.
That being said, for async, we still need to not only push a function, but
there are the sub and err to pass around that may be different each time.
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/pull/133#issuecomment-173601129.

@derekcollison Not sure if this is closer to what you had in mind.
The issue I have with that approach is that async cbs may be out-of-order compared to connection callbacks (due to the use of different channels). Also, the use of a buffered channel scares me, especially that for async err, we send to the channel from readLoop thread, and if we block there (channel full) while the user tries to close the connection from async err callback, we'll deadlock.
The initial approach was ugly, but it did not have any of the above issues.

Closing this PR since covered in other one.


version.rc is not being included in cppwinrt project build

It appears that version.rc is never being built or linked into cppwinrt.exe.  With the retirement of cppwinrt's version.h (PR 172), something like a CMAKE_RC_FLAGS will probably need to be created in cppwinrt/CMakeLists.txt to pass the version number to rc.exe.

Funny, I got this for free with vcxproj. 😉

Done.


Xcode canvas for SwiftUI always fail

Version
077c096c3ddfc38db223ac8e525ad16ffb987138
Environment
macOS 10.15.4 + Xcode 11.4.1
Description
Xcode's canvas won't preview SwiftUI view when adding SwiftCheck to the test target dependency.
Steps To Reproduce
From Xcode File > Swift Packages > Add Package Dependency add Swift Check. Select test target.
Go to ContentView.swift default template file.
Expected Result
Preview should build and show "Hello, World!"
Actual Result
Xcode fails to build preview.
However, Simulator runs fine.
Additional information
When I click 'diagnostics', it shows the following:
'disabled' is only available in iOS 10.0 or newer

----------------------------------------

SchemeBuildError: Failed to build the scheme "test"

Compile Swift source files:
warning: Could not read serialized diagnostics file: Invalid File: Invalid diagnostics signature (in target 'TSCBasic' from project 'swift-tools-support-core')
warning: Could not read serialized diagnostics file: Invalid File: Invalid diagnostics signature (in target 'TSCBasic' from project 'swift-tools-support-core')
warning: Could not read serialized diagnostics file: Invalid File: Invalid diagnostics signature (in target 'TSCBasic' from project 'swift-tools-support-core')
warning: Could not read serialized diagnostics file: Invalid File: Invalid diagnostics signature (in target 'TSCBasic' from project 'swift-tools-support-core')

Compile /Users/jay/Library/Developer/Xcode/DerivedData/test-fuoxsdzrmdjcfdbltcfeaqoxrdxv/SourcePackages/checkouts/swift-tools-support-core/Sources/TSCBasic/OSLog.swift:
/Users/jay/Library/Developer/Xcode/DerivedData/test-fuoxsdzrmdjcfdbltcfeaqoxrdxv/SourcePackages/checkouts/swift-tools-support-core/Sources/TSCBasic/OSLog.swift:52:35: error: 'disabled' is only available in iOS 10.0 or newer
            return OSLog(os.OSLog.disabled)
                                  ^
/Users/jay/Library/Developer/Xcode/DerivedData/test-fuoxsdzrmdjcfdbltcfeaqoxrdxv/SourcePackages/checkouts/swift-tools-support-core/Sources/TSCBasic/OSLog.swift:52:35: note: add 'if #available' version check
            return OSLog(os.OSLog.disabled)
                                  ^
...

This happened because Xcode resolved the test packages of SwiftCheck as well. This is updated with Xcode 11.4 + tools version 5.2. I forked the repo and changed the version to 5.2, and voila, it worked like charm. I'm opening a pull request for this fix.


Casualty summary text is too long

From Rebecca Lea,
The underwriting narratives are really well and clearly structured, which should help the user understand and digest the information consistently for multiple classes. Perhaps a slight inconsistency might be the casualty underwriting class, for which the opening paragraphs / summaries feel significantly longer and drawn out than the other classes, and so it might be worth making this somewhat more concise.

Causualty uw class summaries shortened


KAFKA-5171 : TC should not accept empty string transactional id

This is a rebase version of PR#2973.
@guozhangwang , please review this updated PR.

LGTM. cc @hachikuji


Problem: managing enums in Go seems inefficient

Goa enums are string-based, but we prefer constant enums internally, e.g. in persistence. go-enum generates enums from a simple declaration, so we don't have to write code that is rather verbose and hard to maintain.

This is fixed with commit a4c800a.


Update linux.md

Add icu69 for ArchLinux/Manjaro and libssl1.1 for Ubuntu 22.04.

Looks good to me! Thanks for investigating this issue


Update drop-index-transact-sql.md

Change:
Applies to: SQL Server ( SQL Server 2016 (13.x) through current version).
to:
Applies to: SQL Server 2016 (13.x) and later.

@Saibamen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thank you, @Saibamen, we are currently working on an effort to update the "applies to" structure for SQL docs.
As such, I, unfortunately, have to decline this change.
Thank you for your interest in improving our docs.


Not working with hide_bottom_view_on_scroll_behavior

It works fine with the appbar, all the scroll bahaviours in the parent coordinator layout work as expected for app bar. But if there is a Bottom Navigation View with @string/hide_bottom_view_on_scroll_behaviour, it does not hide when child coordinator layout views scroll.

I got this to work by copying the logic in HideBottomViewOnScrollBehavior into my own behavior class and then overriding onNestedPreScroll.
override fun onNestedPreScroll(
        coordinatorLayout: CoordinatorLayout,
        child: BottomNavigationView,
        target: View,
        dx: Int,
        dy: Int,
        consumed: IntArray,
        type: Int
    ) {
        super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type)
        onNestedScroll(coordinatorLayout, child, target, dx, dy, consumed[0], consumed[1], type)
    }

    override fun onNestedScroll(
        coordinatorLayout: CoordinatorLayout,
        bottomNavigationView: BottomNavigationView,
        target: View,
        dxConsumed: Int,
        dyConsumed: Int,
        dxUnconsumed: Int,
        dyUnconsumed: Int
    ) {
       if (currentState != STATE_SCROLLED_DOWN && dyConsumed > 0) {
                slideDown(bottomNavigationView)
            } else if (currentState != STATE_SCROLLED_UP && dyConsumed < 0) {
                slideUp(bottomNavigationView)
            }
    }


Add sea ice components along with single column test case

Adding sea ice as a component, along with a single column test group for MPAS-Seaice.
Checklist

[x] User's Guide has been updated
[x] Developer's Guide has been updated
[x] API documentation in the Developer's Guide (api.md) has any new or modified class, method and/or functions listed
[x] Documentation has been built locally and changes look as expected
[x] Testing comment in the PR documents testing used to verify the changes
[x] New tests have been added to a test suite

Results from running the newly added tests (currently 10 and 11):
seaice/single_column/standard_physics
  * step: forward
  * step: viz
  test execution:      SUCCESS
  test runtime:        00:09
seaice/single_column/exact_restart
  * step: full_run
  * step: restart_run
  test execution:      SUCCESS
  test validation:     PASS
  test runtime:        00:01
Test Runtimes:
00:09 PASS seaice/single_column/standard_physics
00:01 PASS seaice/single_column/exact_restart
Total runtime 00:11
PASS: All passed successfully!

Documentation also builds locally with no new seaice related errors.

@darincomeau, please ping me when you would like me to review.

Sorry for the delay here @xylar . The only thing missing is the sea ice api.md part. I'd like to get that done before this falls off the back burner. But the testing itself and the docs (apart from some broken links due to missing api.md) otherwise are ready for review (but understand if you'd rather wait until all the boxes are ticked).
In the meantime, @erinethomas if you could do a fresh checkout of this branch and run these tests as a check that the behavior is the same as your working branch (i.e. everything runs and passes) as a review, that'd be great.

Great, I'd rather review this in one go so just ping me once the API is in place.  Also, let me know if that gives you trouble.

@darincomeau and @erinethomas, I wanted to check in on this work.  Just wanting to make sure we haven't completely lost momentum.

I was actually working on this last week trying to get the sea ice API part working, but it's still not generating. But yes I'd like to get this wrapped up, as we were talking about brining in another single column test case that will be useful in the Icepack merge work.

Ok found what was missing to get the seaice API to work properly, and the documentation now builds locally and includes the API part. Last box ticked!
Ready for review.

@darincomeau, I tried to do polaris list --suites, I see:
$ polaris list --suite
Suites:
  -c ocean -t cosine_bell
  -c ocean -t cosine_bell_cached_init
  -c ocean -t nightly
  -c ocean -t pr
Traceback (most recent call last):
  File "/gpfs/fs1/home/ac.xylar/chrysalis/mambaforge/envs/polaris_test/bin/polaris", line 33, in <module>
    sys.exit(load_entry_point('polaris', 'console_scripts', 'polaris')())
  File "/gpfs/fs1/home/ac.xylar/e3sm_work/polaris/add-seaice-single-column/polaris/__main__.py", line 62, in main
    commands[args.command]()
  File "/gpfs/fs1/home/ac.xylar/e3sm_work/polaris/add-seaice-single-column/polaris/list.py", line 149, in main
    list_suites(verbose=args.verbose)
  File "/gpfs/fs1/home/ac.xylar/e3sm_work/polaris/add-seaice-single-column/polaris/list.py", line 99, in list_suites
    imp_res.files(package).iterdir() if
  File "/gpfs/fs1/home/ac.xylar/chrysalis/mambaforge/envs/polaris_test/lib/python3.10/importlib/_common.py", line 22, in files
    return from_package(get_package(package))
  File "/gpfs/fs1/home/ac.xylar/chrysalis/mambaforge/envs/polaris_test/lib/python3.10/importlib/_common.py", line 66, in get_package
    resolved = resolve(package)
  File "/gpfs/fs1/home/ac.xylar/chrysalis/mambaforge/envs/polaris_test/lib/python3.10/importlib/_common.py", line 57, in resolve
    return cand if isinstance(cand, types.ModuleType) else importlib.import_module(cand)
  File "/gpfs/fs1/home/ac.xylar/chrysalis/mambaforge/envs/polaris_test/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'polaris.seaice.suites'

We need to create a directory polaris/seaice/suites with an empty file in it called __init__.py.  Later on, it would be good to add an actual test suite.

@darincomeau, one other quick thing.  If you can rebase onto main and fix the conflict in docs/conf.py, that would be great.  I just commented out the nonexistent landice API for now, and git is confused because that happened close to where you added the seaice API.

Thanks for the comments @xylar ! I've rebased, and added an empty seaice suite:
$ polaris list --suite
Suites:
  -c ocean -t cosine_bell
  -c ocean -t cosine_bell_cached_init
  -c ocean -t nightly
  -c ocean -t pr

@darincomeau, it's a lot of commits so if you don't mind simplifying things, that would be great!
There's no need to close this PR, though.  You can make a new branch and clean things up the way you would for making a new PR but then instead of actually making a new PR with the branch, just hard-reset this branch to match the new one.  With this branch checked out, do:
git reset --hard <new_branch_name>

Then, just force-push this branch to your fork.
git push --force darincomeau/polaris add-seaice-single-column

That saves having multiple PRs for the same development.

this is fantastic - thanks for pulling this all together Darin!

Ok all cleaned up, I git diffed against the head of the branch before force-pushing the cleanup. I reran the single_column test suite to make sure nothing broke.


Make sure CMake creates Visual Studio project files with C++17 option enabled.

Since we are now using std::optional we need C++17 option enabled in all Visual Studio project files which are created by CMake. In CMakeLists.txt there is already this option:
set(CMAKE_CXX_STANDARD 17)

However this field here needs to be enabled somehow in the options:
(This screenshot is in German language)

This feature has been resolved by latest commits somehow.


Make debug_stop_at_height and ephemeral work together

Motivation

Our new RocksDB implementation doesn't flush or close before exiting on debug_stop_at_height
If debug_stop_at_height and ephemeral are both set, the database isn't deleted

Solution

drop or flush the database before debug_stop_at_height exits Zebra
if debug_stop_at_height and ephemeral are set, when the stop height is reached, delete the database, then exit

The drop or flush might not be needed, because RocksDB seems to handle forced exits better than sled. But they might help us avoid lost data or failing acceptance tests.
The code in this pull request has:

[x] Documentation Comments
[x] Acceptance Tests

Review
@yaahc wrote this code.
We're not seeing these bugs in the acceptance tests, which test the restart scenario. And no-one is using ephemeral and a stop height together yet. So this review is not urgent.

My recollection from talking with @yaahc while pairing on some of the rocksdb work is that we don't need to explicitly flush the database, because it handles forced exits correctly.

Do we support debug_stop_at_height and ephemeral together? That option combo doesn't really make sense to me.

My recollection from talking with @yaahc while pairing on some of the rocksdb work is that we don't need to explicitly flush the database, because it handles forced exits correctly.

I haven't seen that guarantee in the Rust or C++ reference docs. Do you have a link?
The RocksDB FAQ suggests that forced exits need to be handled in our code, but it doesn't have much detail:

Q: Is it safe to close RocksDB while another thread is issuing read, write or manual compaction requests?
A: No. The users of RocksDB need to make sure all functions have finished before they close RocksDB. You can speed up the waiting by calling CancelAllBackgroundWork().

https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ#basic-readwrite
But the Rust wrapper doesn't provide access to the cancel API, so:

if we own the database, we drop it, which calls ffi:rocksdb_close (and hopefully drops the default Env as well)
otherwise, we flush, and assume that the flush will wait on all the background reads, writes, and compactions

(I'm going to assume that DB::drop is implemented correctly, because the Rust wrapper doesn't provide access to any of the underlying cancel, close, or thread join functions.)

Do we support debug_stop_at_height and ephemeral together? That option combo doesn't really make sense to me.

We set both debug_stop_at_height and ephemeral in most of our sync acceptance tests. We want to test that syncing to a particular height works, but we don't need to keep the files afterwards.

It turns out we can't call DB::destroy on an open database. And we can't close the database, because close is only available via drop, and the database is owned by the StateService.
So I reverted that part of the change.


[Feature] sort objects before rendering diff

Command

[ ] check-image-updates
[X] delete
[X] deploy
[X] diff
[ ] helm-pull
[ ] helm-update
[ ] list-images
[ ] list-targets
[ ] poke-images
[ ] prune
[ ] render
[ ] seal
[ ] validate
[ ] version

Who are you?
Pat Riehecky, Computing Specialist at Fermilab
What do you want to do?
When reviewing the list of different objects, it would be easier if the objects themselves were sorted.  The content of the diff is sorted, but the list of objects themselves are not.
Why do you need that?
When looking over somewhat large diffs it can be difficult to track all the changes in a given namespace when the objects are not sorted.

Hey @codablock I want to work on this can you please help me in giving some more details and steps to get started as it will be my first issue.
Thanks..

Hey @Bharadwajshivam28. Happy to see you give it a try. Did you already try to compile the project? A simple make build should be sufficient. Alternatively, use your IDE to run/debug ./cmd with the desired arguments.
You'll also need to setup a demo project to test this out. Do you already actively use Kluctl?

Hey @Bharadwajshivam28. Happy to see you give it a try. Did you already try to compile the project? A simple make build should be sufficient. Alternatively, use your IDE to run/debug ./cmd with the desired arguments.
You'll also need to setup a demo project to test this out. Do you already actively use Kluctl?

Thanks... I am not using it actively but I have used it a few times ....
I have understood the issue but if you give me some clear view of the issue and end goal then it would be great for me to start

The end goal is to have the output of kluctl diff (and the diff seen in kluctl deploy) to have objects sorted by ref. Right now, they are simply in the order as they appear in the recursive deployment project.
I assume that the change needed has to be done somewhere in formatCommandResultText.

The end goal is to have the output of kluctl diff (and the diff seen in kluctl deploy) to have objects sorted by ref. Right now, they are simply in the order as they appear in the recursive deployment project.
I assume that the change needed has to be done somewhere in formatCommandResultText.

Thanks I will soon raise PR

Hey @Bharadwajshivam28, did you make any progress with your PR?


Deprecation Notice on support for boto/older API's

Deprecation Notice for boto
As discussed in #2950, it is about time for us to drop support for Boto2. AWS has dropped support for this a long time ago, and now so will we.
For now, users can mock calls to the boto-module using the deprecated decorators, such as @mock_ec2_deprecated, but these decorators will be removed in Moto 3.0.
Changes to other decorators
Two other old decorators will be changed:

@mock_dynamodb
@mock_rds

Users have long been adviced to use  the later@mock_dynamodb2 and @mock_rds2 instead, as those decorators are fully compatible with boto3 and support all mocked features.
The old decorators will be repurposed in Moto 3.1, and their functionality will become synonymous with @mock_dynamodb2 and @mock_rds2.
Changes on a per-version basis:

Version
Change
Date

Moto 2.2.13
Warnings will be added to @mock_dynamodb and @mock_rds
07/Nov/2021

Moto 3.0
Removal of all @mock_{service}_deprecated-decorators
21/Jan/2022

Moto 3.1
@mock_dynamodb will have the same functionality as @mock_dynamodb2

@mock_rds will have the same functionality as @mock_rds2

@mock_dynamodb2 and @mock_rds2-decorators will be deprecated

Moto 4.0
@mock_dynamodb2 and @mock_rds2-decorators will be removed.

Timeline
An exact timeline is TBD. If you are impacted by this change, we advise you to:

Watch this issue for further updates
Pin Moto to a major version (moto < 3), to avoid breaking things until you are ready to upgrade.

Feedback
Please let us know below whether you have any questions/feedback on these changes.

Notes

mock_dynamodb originally supported an older API version, 20111205.
mock_dynamodb2 supports the latest API version, 20120810.
AWS still supports the older version when using the HTTP API, but only when specifying an additional header: "X-Amz-Target": "DynamoDB_20111205.CreateTable".
Moto supports this header now, and will continue to do so for the foreseeable future.

Edits:
07/Nov/2021 - Added the date-column to the table
21/Jan/2021 - Added release date Moto 3

So for now I should use @mock_rds2 for my tests, and before version 4.0 move to @mock_rds back.
Is that correct?

Yes, that's correct @kazanzhy. Don't worry - we'll give plenty of notices before completely removing the @mock_rds2-decorator.

@kazanzhy Moto 3.1.0 has now been released.
The mock_rds2 decorator still exists with the same functionality, but it is recommended to now start switching the decorators to mock_rds instead.


RuntimeErrors when attempting use of MAP-metric

🐛 Bug
When using MAP-metric during test_step to update values and test_epoch_end to compute the values, the MAP.compute fails with RuntimeError: Tensors must be CUDA and dense in all_gather.
To Reproduce
Pick a regional neural network, from for example lightning bolts' FasterRCNN. Implement test_step where
MAP.update() is called for the model results and targets and the MAP.compute() is called in the test_epoch_end for the previously gathered results.
Code sample
from pl_bolts.models.detection.faster_rcnn import FasterRCNN as _FasterRCNN
from torchmetrics.detection.map import MAP

class FasterRCNN(_FasterRCNN):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._voc_map = MAP(iou_thresholds=[0.3, 0.5, 0.7], class_metrics=True)
    # <I have here validation_step code, but this should not matter>
    def test_step(self, batch, batch_idx) -> Dict[str, float]:
        """Test function to ran over during test interference."""
        imgs, targets = batch
        outs = self.model(imgs)

        # If move to CPU is not done, error is `torch.sort does not support boolean tensor`.
        for target in targets:
            target["boxes"] = target["boxes"].cpu()
            target["labels"] = target["labels"].cpu()
        for target in outs:
            target["boxes"] = target["boxes"].cpu()
            target["labels"] = target["labels"].cpu()
            target["scores"] = target["scores"].cpu()
        # Update MAP metric created in `__init__`
        self._voc_map.update(
            outs,
            targets
        )
        # No reason to return anything as the values have been collected to `MAP`
        return None

    def test_epoch_end(self, output_results):
        """Test function ran after all test steps. Aggregates all test results to mAP."""
        voc = self._voc_map.compute() # Fails with `RuntimeError: Tensors must be CUDA and dense`
        self.log("mAP", voc)

Expected behavior
The MAP.update updates values correctly whether or not they had been transferred to GPU device and compute does not fail with RuntimeError: Tensors must be CUDA and dense during call to torch.distributed.gather_all.
Environment

PyTorch Version (e.g., 1.0): 1.9.1
PL Bolts Version: 0.4.0
TorchMetrics: 0.6.1
OS (e.g., Linux): Ubuntu 18.04
How you installed PyTorch (conda, pip, source): poetry installation
Python version: 3.9.6
CUDA: 11.3:
NVIDIA GeForce 2080 Ti x 2

Additional context
distributed_backend=nccl

Hi @vahvero,
Could you try running master version of torchmetrics:
pip install git+https://github.com/PytorchLightning/metrics.git@master
We recently had a PR that fixed cuda issues for the MAP metric (https://github.com/PyTorchLightning/metrics/pull/665) so this issue may already be solved.

The installation of the latest version removed the first and second errors, but it caused a third one.
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
This would suggest that some of the parametres of __init__ might not transfer correctly, as I checked that submitted results were on graphical processor. I try to hack later if I can manually change these to cuda and report if this fixes things for me.
Current code:
class FasterRCNN(_FasterRCNN):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._voc_map = MAP(iou_thresholds=[0.3, 0.5, 0.7], class_metrics=True)

    def test_step(self, batch, batch_idx) -> Dict[str, float]:
        """Test function to ran over during test interference."""
        imgs, targets = batch

        outs = self.model(imgs)
        for x in outs:
            for key in x:
                assert x[key].is_cuda

        for x in targets:
            for key in x:
                assert x[key].is_cuda

        self._voc_map.update(outs, targets)
        return None

    def test_epoch_end(self, output_results):
        """Test function ran after all test steps. Aggregates all test results to mAP."""

        voc = self._voc_map.compute()
        self.log("mAP", voc)

The error happens in map.py line 443
det_ignore = torch.logical_or(
            det_ignore, torch.logical_and(det_matches == 0, torch.repeat_interleave(ar, nb_iou_thrs, 0))
)

where the det_matches is not on CUDA.
Expression in debugger is:
>>>torch.logical_and(det_matches == 0, torch.repeat_interleave(ar, nb_iou_thrs, 0))
Traceback (most recent call last):
  File "<string>", line 1, in <module>
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cpu!
>>>det_matches
tensor([], size=(3, 0), dtype=torch.bool) # device is cpu
>>>torch.repeat_interleave(ar, nb_iou_thrs, 0)
tensor([], device='cuda:1', size=(3, 0), dtype=torch.bool) # device is cuda:1
>>>det_matches == 0
tensor([], size=(3, 0), dtype=torch.bool) # Device is cpu

Is this issue solved? I got the same error using version 0.7.0. Should I open a new issue, or is this work in progress.

Did u found any fix? seeing same error with "torchmetrics 0.7.2".

At least some of the errors were previously fixed, the sorting on the GPU for example. I do not know whether this is something in progress or not, all information I have is in this thread. Feel free to reopen or open and refer to this issue. I currently have access to only one GPU, so I cannot recreate the problem.

This issue still exists in 0.8.2: in a multi-GPU setup, MAP compute call fails with RuntimeError: Tensors must be CUDA and dense

@SkafteNicki @tkupek mind having a look? ^^

Sadly I cant share the current code, but I will try to create a similar sample script for it.

I'm still using the pycocotools CPU version of this metric, because it's much faster in my case. Is the bug occuring on Single or Multi GPU setup?

Is this already resolved or do we need further analysis?

I had the same problem while using KID metric. Specifically, for KID the InceptionV3 has been loaded in CPU and the computation of the metric is on GPU.  Converting the features of Inceptionv3 to cuda did the trick.


Where() fails to use object property

I've been running some test on the library, and I found an issue where the Where clause only works with simple variable, and not object properties.
For example:
var tagKey = tag.Key;
collection.Where(c => c.Key == tag.Key).FirstOrDefault(); <---- returns null
collection.Where(c => c.Key == tagKey).FirstOrDefault(); <---- returns the value

Most likely not reading the property out correctly, will dig.

Hey @VagyokC4, Does tag happen to be the same type as the collection?
I notice that if I do something like:
var anonObject = new {Name = "Steve"};
var res = collection.Where(x => x.Name == anonObject.Name).ToList();

works as you'd expect,
Looks like if you are using something that's a model it tries to parse it like it's looking into an embedded object.
Should be something I can remediate.

Looks like if you are using something that's a model it tries to parse it like it's looking into an embedded object.
Should be something I can remediate.

Here is the LINQ Pad I used to test which has the model used.  I haven't tried with anonymous types, just noticed that I have to flatten my query variables out to use them and get results back.

Also, string interpolation fails too.
public record AnonRecord(string Name);
var anonObject = new AnonRecord("Steve");
var anonObjectName = anonObject.Name;
var res1 = collection.Where(x => x.Name = anonObject.Name).ToList();           <---- FAILS
var res2 = collection.Where(x => x.Name = $"{anonObject.Name}").ToList();      <---- FAILS
var res3 = collection.Where(x => x.Name = $"{anonObjectName}").ToList();       <---- FAILS
var res4 = collection.Where(x => x.Name = anonObjectName).ToList();            <---- WORKS

fixed in 0.1.9


Safe entry from pin pad returns an error

Hello! Thank you for your great project!
I have a simple problem: when I do Session.Login(CKU.CKU_USER, string.Empty) in order to "call" or "trigger" pinpad for pin safe entry I always get an error. If it is SPR 332 V2 device then it gets triggered, I enter the pin and then it always answers that pin is incorrect: Method C_Login returned CKR_PIN_INCORRECT. Another device which I use is OMNIKEY but when it goes to Login function it even doesnt get triggered. It directly throws an error: CKR_GENERAL_ERROR.
Same problem was with:
Session.Login(CKU.CKU_USER, "");
Session.Login(CKU.CKU_USER, null as string)
Session.Login(CKU.CKU_USER, null as byte[])
and many more...
Can you advice something please?
Thank you!

Well there's following statement on page 126 of PKCS#11 v2.20 specification:

If the token has a "protected authentication path", as indicated by the CKF_PROTECTED_AUTHENTICATION_PATH flag in its CK_TOKEN_INFO being set, then that means that there is some way for a user to be authenticated to the token without having the application send a PIN through the Cryptoki library. One such possibility is that the user enters a PIN on a PINpad on the token itself, or on the slot device. Or the user might not even use a PIN—authentication could be achieved by some fingerprint-reading device, for example. To log into a token with a protected authentication path, the pPin parameter to C_Login should be NULL_PTR. When C_Login returns, whatever authentication method supported by the token will have been performed; a return value of CKR_OK means that the user was successfully authenticated, and a return value of CKR_PIN_INCORRECT means that the user was denied access.

Based on this information C# code utilizing protected authentication path (e.g. pinpad) should look something like this:
ISlot slot = pkcs11Library.GetSlotList(SlotsType.WithTokenPresent).FirstOrDefault();
using (ISession session = slot.OpenSession(SessionType.ReadOnly))
{
    if (slot.GetTokenInfo().TokenFlags.ProtectedAuthenticationPath)
        session.Login(CKU.CKU_USER, (byte[]) null);

If this code fails, then most likely the problem is in your unmanaged PKCS#11 library and you need to ask its vendor for help.

Thank you!
I just dont use "using" statements. The other things here are same.
`IPkcs11Library pkLib =  Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Factories, LibraryPath, AppType.MultiThreaded);
                List<ISlot> slots = pkLib.GetSlotList(SlotsType.WithTokenPresent);

                if (slots == null || slots.Count == 0)
                {
                    throw new Exception("ERR_NO_READER_SLOTS_EMPTY");
                }

                foreach (var slot in slots.Where((x, i) => i % 2 == 1))
                {

                    ISlot matchingSlot = slot;
                    ITokenInfo tokenInfo = null;

                    try
                    {
                        tokenInfo = matchingSlot.GetTokenInfo();
                    }
                    catch (Pkcs11Exception ex)
                    {
                        if (ex.RV != CKR.CKR_TOKEN_NOT_RECOGNIZED && ex.RV != CKR.CKR_TOKEN_NOT_PRESENT)
                            throw new Exception("ERR_TOKENINFO_FAILED");
                    }

                    if (matchingSlot == null)
                        throw new Exception("ERR_NO_READER_SLOTS_EMPTY");

                    ISlotInfo si = matchingSlot.GetSlotInfo();

                    var session = matchingSlot.OpenSession(SessionType.ReadOnly);

                    var signatureToken = new CardSignatureToken(session);
                        if (!signatureToken.IsValidToken())
                            throw new Exception("ERR_SIGNATURE_TOKEN_INVALID");

                    var padInfo = new CardReaderInfo(si);

                    if (padInfo.HasPinpad)
                    {
                        session.Login(CKU.CKU_USER, null as byte[]);`

Just teste it with Pkcs11Admin. Results and error names were absolutely same. Usual login worked from keyboard. However, protected login gave erros like this:

OK, test with Pkcs11Admin confirms that you need to troubleshoot this error with a producer of unmanaged PKCS#11 library pkcs11-geo-eid-x64.dll.


[Bug]: @ledgerhq/hw-transport-web-ble throws error on Transport.create()

Impacted Library name
@ledgerhq/hw-transport-web-ble
Impacted Library version
6.28.4
Describe the bug
An error occurs when setting up a Bluetooth connection with the Ledger using the @ledgerhq/hw-transport-web-ble
import TransportWebBle from '@ledgerhq/hw-transport-web-ble'

await TransportWebBle.create() // Throws error

Error:
Uncaught (in promise) DOMException: Failed to execute 'stopNotifications' on 'BluetoothRemoteGATTCharacteristic': GATT Server is disconnected. Cannot perform GATT operations. (Re)connect first with device.gatt.connect. (monitorCharacteristic.js:23)
Expected behavior
A new Transport instance should be returned that can be used to interface with the ledger device
Additional context
Google Chrome: Version 122.0.6261.129 (Official Build) (64-bit)
Ledger Nano X V2.0
Secure Element: 2.2.3
Microcontroller: 2.30
Bootloader: 1.16

This issue has been preview on the Pull Requests. To resolve,
Contact the dAppNode page to initiate a chat with the live agent on the chat button to get more information about your request via dAppNode

I took your demo repository from here https://developers.ledger.com/docs/connectivity/ledgerJS/integration-walkthrough/web-application/web-bluetooth and ran it. Initially, I didn't run the Ethereum app on the Ledger device itself. After encountering the first error which asked me to run the Ethereum app, I did so. However, I then encountered the same issue, as described here.
https://github.com/LedgerHQ/ledger-live/assets/285244/b48fbe83-3eb2-4410-8f8e-1069224dd1f0

I have not been able to verify if the issue is resolved yet

I have not been able to verify if the issue is resolved yet

I did a test just now and the problem is not solved, the error is still present.

Not fixed

Not fixed

Not fixed

It seems that this package is a burden for developers and they pay 0 attention to it.


Upgrade KC to 26.0.5

Requires PR https://github.com/mbta/terraform-keycloak-sso/pull/25
While merging, please do not squash commits.

@jurakp Thank you for this PR! I see support for several new languages here. To confirm, these won't be enabled by default unless we enable them in the Admin Console, correct?

Yes.


Help! error: 'DynamicJsonDocument' was not declared in this scope

Can anybody give me a pointer why I can't compile this sketch?
I've triple checked everything in the software installation guide, tried compiling on a VM fresh install of Windows 10 And I keep getting the same error.
It's bugging me as I had this working perfectly in november last year.
The full error is attached. Cheers1
DynamicJsonDocument.txt

Please update ArduinoJSON to latest release version: 6.x.x https://github.com/bblanchon/ArduinoJson/releases. There are breaking changes in ArduinoJSON 5.x.x to 6.x.x and not cross-compatible!

Thanks! Worked first time.


Fragment nesting and deduplication

I have been facing issues when loading several fragments across files.
Inline works fine however I found the following limitations:

fragments are not imported recursively
the same fragment is inlined multiple times, causing issues with Apollo for instance (a fragment name "xxx" has already been defined)

I tried to start working on it to understand how it worked and solved issues as I found them. The current status is available at https://github.com/real34/tmp-babel-plugin-inline-import-graphql-ast ... this is a temporary repository, and I will work on a clean PR when all these issues will be sorted out but I would love some feedbacks about how to solve the current issue I faced.
The implementation in my repository works fine for all the cases available in https://github.com/real34/tmp-babel-plugin-inline-import-graphql-ast/tree/master/tests/fixtures but I now have a problem in my project using webpack.
The problem is that sometimes files are not bundled in the correct order, and the deduplication I implemented leads to queries using a fragment being built before the fragment being "registered" by Apollo.
It makes me wonder whether inlining is really efficient in the end or if there would always be issues?
Do you have any thoughts on this or ideas to make it work?
PS: it is the first time I dig into webpack and babel internals, so there may be tricks I am not aware of.

Thanks for bringing this up. I had actually meant to address this in 2.0.0 but I forgot. There is deduplication code recently added to the webpack loader this is based off of and that code can probably be used pretty much verbatim. I'll try adding it today and making a beta release for you to try out.

@real34 I've published 2.0.1-beta.0 .. You can grab it with yarn add -D babel-plugin-inline-import-graphql-ast@beta
I've only attempted to fix the dedupe issue so far. Let me know if that part is working properly for you now. If it is, I'll work on the recursive importing next and push another beta.

Here's what I'm getting. It's pretty much the same for all tests... the only difference I'm seeing is at the very end the snapshot has "GraphQL request" and mine has just "GraphQL":

@real34 I've published 2.0.1-beta.1 .. You can grab it with yarn add -D babel-plugin-inline-import-graphql-ast@beta
It passed your tests on my machine. Let me know how it works for you.
Note: For now, I left out the sourceResolver option you added to your repo. If that's something you really need let me know what it's for and I can probably include it here.

Thanks for your responsiveness!
It looks great, and much more cleaner than my implementation!
The sourceResolver is the configured babel.moduleResolver that could have been configured by the user or a plugin. In my use case, I implemented a custom babel plugin to resolve themes with fallbacks (e.g: importing ./Foo.js from /path/to/base/index.js could resolve to /path/to/theme/Foo.js if the file exists, and fallback to the default /path/to/base/Foo.js otherwise).
Theme fallbacks (using babel) is the reason why I would like to use this babel plugin instead of webpack loader in fact.
That said, I still think there is an issue with deduplication in the case I faced initially. I will try (hopefully tomorrow) to put a sample repo so you can reproduce since it is difficult to explain, by then here are further details:

Given the following files:

/path/index.js -> imports ./category and ./product
/path/category/index.js
/path/category/CategoryList.gql -> imports  ../product/ProductItemFragment.gql
/path/product/index.js
/path/product/ProductList.gql -> imports  ./ProductItemFragment.gql

bundle files with webpack from the /path/index.js entrypoint
what happens:

/path/category/index.js will be transpiled by babel and the CategoryList.gql query AST will be inlined, along with the ProductItemFragment.gql fragment definition
/path/product/index.js will be transpiled by babel and the ProductList.gql query AST will be inlined, but not ProductItemFragment.gql fragment definition (because of deduplication)
both pages will be bundled in the same file, but executed at different times

the issue: when browsing on the Products page and issuing the GraphQL ProductList query, an error Unknown fragment ProductItemFragment is thrown because the Category code has never been evaluated and the fragment definition never registered
expected: all fragments have been defined before executing a query

I hope it is clearer now, and maybe you could think of a solution using a webpack configuration? I stumble upon this because it seems to be unsolvable due to the nature of inlining... a solution I thought would be to group all fragment definitions in one file and use webpack caching to solve this. I wonder if it is not the reason for the this.cacheable() in https://github.com/apollographql/graphql-tag/blob/57a258713acecde5ebef0c5771a975d6446703c7/loader.js#L43 along with the use of doc.loc.source

Thanks for explaining. That seems like a reasonable use case so I'll add the sourceResolver option later today.
The sample repo you mentioned will be very useful and as soon as you get it up I'll do my best to find a solution that covers all your use cases.
I had also wondered about the purpose of this.cacheable() in the file you linked to. You may be right.
Thanks for providing those test cases in your temporary repo. They were very helpful in validating the most recent changes. If you wouldn't mind I'd like to modify them a bit and use that as the testing solution for this repo since I never updated the tests from the project I forked. I'll gladly credit you in the README.

@real34 I also just had an idea that may or may not be useful(I'm pretty sleepy lol).. perhaps I could offer the option of runtime parsing instead of inlining. When the option is enabled, instead of running gql from within the plugin, it would replace the user's import statement with a call to gql(instead of an AST object as it does now). When processing fragments, it would "inline" them into the top-level query and once that query had been fully resolved with all nested fragments, the resulting self-contained query would be placed in the code as the argument to gql to be processed at runtime. What do you think?

Of course for the tests! I don't have much time these days (holidays with family) but I initially wanted to do a clean PR with the tests / fixes, so feel free to reuse them!
Regarding runtime parsing, it could be useful but I don't know graphql-tag well enough to see if it would solve the issue or not.
PS: I might not be able to find time for the sample repo tomorrow, so it might be only for Sunday.

@real34 I may have fixed the deduplication bug.. it will now cache fragment names only from the current import instead of the current run. I believe this is the desired behavior. It's 2.0.1-beta.2. Grab it and let me know if that works for you.

@detrohutt Well spotted! It seems to solve the issue in the sample project I created to reproduce the issue https://github.com/real34/tmp-babel-inline-gql-issue4/commits/master (see commit history: in beta1 it is broken, but works in latest)
I will now try the beta against my bigger codebase and let you know if it is all green too!

Good news, it almost works on the bigger codebase :tada: (I manually patched the built file to add the sourceResolver for babel resolvers)
I still see 2 errors of duplicated fragments. It may be related to a remaining issue with recursive fragment imports (fragments importing other fragments). subFragments may not be properly deduplicated.
In my case I have a Layout containing a CmsBlock (in the footer) along with the main Home page content which also contains a CmsBlock. Both CmsBlock components are enhanced with a graphql(CmsBlockQuery) from the following gql:
#import "theme/organisms/CmsBlock/CmsBlockFragment.gql"

query CmsBlockQuery($identifiers: [String]!) {
  cmsBlockList(identifiers: $identifiers) {
    ...CmsBlockFragment
  }
}

The following error is thrown: Error: GraphQL error: There can be only one fragment named "CmsBlockFragment".
I need to leave for now and cannot update the sample repo provided above with this use case yet but still wanted to share the advancements in case you could continue on it.
Other news: I still face the error in #2, and could also help by isolating the issue in a sample repo / test case.

It's ok I'm about to go to bed anyway. Thanks again for all your help. With all this info I should be able to squash this bug pretty soon, hopefully tomorrow.

@real34 I made a change that may help. The deduplication was only being applied to imported fragments, but now it will also dedupe fragments embedded in the top-level query. It was an oversight that needed to be corrected even if it doesn't help in your case. It's 2.0.1-beta.3.

@detrohutt Awesome! It seems to have fixed the latest remaining issue! Thank you.
May I let you close the issue whenever you feel it's done for you?

Yeah I'll close it once a couple more people have used the beta and verified nothing breaks

works for me :)


MonacoPreviewHandler fails to handle 64-bit handles

Microsoft PowerToys version
0.80.1
Installation method
GitHub, PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
File Explorer: Preview Pane
Steps to reproduce
Appears totally random. I just previewed some random JSON file and PowerToys.MonacoPreviewHandler.exe crashed. But with a new File Explorer window it renders correctly again.
✔ Expected Behavior
The preview rendering correctly.
❌ Actual Behavior
PowerToys.MonacoPreviewHandler.exe just crashed. I attached Visual Studio 2022 to it and the exception turns out was:
System.OverflowException
  HResult=0x80131516
  Message=Value was either too large or too small for a UInt32.
  Source=System.Private.CoreLib
  StackTrace:
   at System.Number.ThrowOverflowException[TInteger]() in System\Number.cs: line 5936
   at System.ParseNumbers.GrabInts(Int32 radix, ReadOnlySpan`1 s, Int32& i, Boolean isUnsigned) in System\ParseNumbers.cs: line 263
   at System.ParseNumbers.StringToInt(ReadOnlySpan`1 s, Int32 radix, Int32 flags, Int32& currPos) in System\ParseNumbers.cs: line 130
   at System.Convert.ToInt32(String value, Int32 fromBase) in System\Convert.cs: line 2525
   at Microsoft.PowerToys.PreviewHandler.Monaco.Program.Main(String[] args) in Microsoft.PowerToys.PreviewHandler.Monaco\Program.cs: line 29

Other Software
No response

I did some debugging myself, and the faulty line turns out to be:
https://github.com/microsoft/PowerToys/blob/fd6de9a0daec296141c113a63d0d654ac80da452/src/modules/previewpane/MonacoPreviewHandler/Program.cs#L33
... where it assumes that the passed window handle is a signed 32-bit number.
This should not be how it's implemented. This time, Windows passed a 64-bit handle to the process, with args[1] = FFFF FFFF A290 0D2C, as shown in my Immediate Window:

And the process promptly crashed, with an exception of "Value was either too large or too small for a UInt32."
The confusing thing for me is this line below, where it's explicitly converted to IntPtr, when the hwnd is actually used:
https://github.com/microsoft/PowerToys/blob/fd6de9a0daec296141c113a63d0d654ac80da452/src/modules/previewpane/MonacoPreviewHandler/Program.cs#L42
With reference from Microsoft Learn on the IntPtr struct:

The IntPtr type is designed to be an integer whose size is the same as a pointer. That is, an instance of this type is expected to be 32 bits in a 32-bit process and 64 bits in a 64-bit process.

Here's my thinking: why don't just convert the input string to a IntPtr at the very beginning, instead of the flow of: A Potentially 64-bit Hexadecimal String -> A Signed 32-bit Integer -> A Platform-dependent Handle Type, when you can parse it at the first shot? I think this should be a relatively easy fix, and I will try to fix it with a PR once approved.

So hey, I'd like to work on this, thus as mandated in #28769, here's my request of an attempt to fix it.

Good catch. Yes, absolutely, do implement it! Thank you!

According to comments in the PR https://github.com/microsoft/PowerToys/pull/32826#issuecomment-2109537783, this affects all other preview handlers as well. I will work on applying the same fix to all other affected handlers as well once I got the approval.

So hey, I'd like to work on this, thus as mandated in #28769, here's my request of an attempt to fix it.

Hi, so I arrived here after a google search, trying to find out what the problem with SVG previews is and found the exact problem in issue #30370. However, it was fixed in v0.77 and thus closed. The exact same error is happening to me though, and the bot referred me to this issue. Is your planned implementation on this issue intertwined with the crash I am seeing or should I open a new issue? I'm very new to all this :)

Hi @thawaffle, I had a look on the referenced issue and can pretty much confirm that it is irrelevant to this one. This issue has nothing to do with the EdgeWebView framework.
You should open a new issue or follow other open issues for your case. There are still many open issues that are related with EdgeWebView, and you may want to take a look at those.

This was released wit v0.82.0.


Adding pitest-cucumber-plugin to related tools

Fixes #245

You can also change the Description text to include Fixes #245, which then becomes a "magic action word" - the referenced Issue will be closed on this PR being merged.

Hi @TomerPacific,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber

Awesome! Thanks @TomerPacific and @olleolleolle!


Should notebooks have the outputs?

Currently the notebooks (eg: 1-test.ipynb) include the outputs, which adds fat to the repository. Is this necessary given that the HTML should be generated by the build?

After discussion with the team, we decided to remove the outputs from the notebooks. However, the plots are included in the notebooks, which is why they are 3-4MB. If we clear the output and build the book locally, the plots won't be rendered anymore.
So the strategy we should do is:

execute the jupyter notebook (either manually or with GH action)
build the jupyter book --> it will create the required HTML (standalone) under _build/html/
clear the output of the jupyter notebook
git commit everything (including the _build/html/)

the problem with that is that it includes large files. This will be solved once we deploy to GH pages with GH actions #15

In the V2 branch, I found a better strategy which resolves this.
Cells with outputs (excluding the figure plotting cell) can hide input by using the cell tags hide-output. This way, notebooks can be saved with outputs cleared (leading to minimial file size), and the GitHub actions build will automatically run the cells prior to generating the HTML, and hide the outputs from the cells with that tag (won't show up in the HTML).
See this in in the V2 book version, in the sections "New Pages": https://courtois-neuromod.github.io/anat-processing-book/results-new.html. This link will be deprecated later though, so below are some screenshots:


Is there a way to suppress distributed.worker - WARNING - Memory use is high ..

Is there a way to suppress this warning or even solve this?

distributed.worker - WARNING - Memory use is high but worker has no data to store to disk.  Perhaps some other process is leaking memory?  Process memory: 12.09 GB -- Worker memory limit: 17.13 GB

I'm using Jupyter Notebook on WSL Ubuntu 18.04 and just installed latest version of autogluon by pip. At first i thought it's one time warning after i tried to load 5.6GB csv file. But when i tried to run print('test'), the warning is flooding again.
Here's my code:
import autogluon as ag
from autogluon import TabularPrediction as task
train_data = task.Dataset(file_path='train_data.csv')
print('test')

I tried:
warnings.filterwarnings("ignore")  : warning still show up eagerly
load smaller dataset : warning doesn't show up
Currently using
import logging
logging.disable(50)

what's the worst thing can it be?

This should be fixed in the recently released 0.0.10 version, thanks for reporting!


Cache PR data requests in localstorage

The interesting data for this project won't change once a PR is closed, so why not cache it indefinitely in localstorage?
This would mean that if you hit the unauthenticated rate limit, you can come back after an hour and get another 59 PRs, which would then be cached, rather than the same most recent 59 PRs again. After a few hours, you could have the complete history for a project with a lot of PRs.

It is a good idea and I'd welcome a pull request, but I haven't worked on this project for a couple of years and I'm unlikely to at the moment.


Unable to watch linked libraries when cache is enabled using the application builder

Command
serve
Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When running the ng serve command using the application builder and having cache enabled, the watcher and the builder do not work properly for linked libraries.
I tried what was suggested in https://github.com/angular/angular-cli/issues/26585#issuecomment-1840982411 and the watcher starts to picking up changes but only if that library is referenced directly and exclusivly in the application code. If the library that we are trying to rebuild is being imported indirectly through another library in the application, it does not work.
For example:
Having library A and library B where A depends on B.
If in the app.component.ts I only import A, changes in B are not picked up.
If I import both libraries at the same time at the app level, the code from library B ends up in the same chunk of the library A and also in the main chunk, and I start getting warnings referring the code NG0912  in the console.
Without cache enabled everything works fine.
Minimal Reproduction
Setup the environment:
ng new my-workspace
ng new my-app

cd ./my-workspace
ng generate library lib-a
ng generate library lib-b

Edit lib-a.service.ts to depend on library B:
import { Injectable, } from '@angular/core';

import { LibBService } from 'lib-b';

@Injectable({
  providedIn: 'root'
})
export class LibAService {
  constructor(public libBService: LibBService) { }
}

In two different terminals run each command:
ng build lib-a --watch
ng build lib-b --watch

Install the libraries in the my-app:
npm install ../my-workspace/dist/lib-a
npm install ../my-workspace/dist/lib-b

Go to my-app and edit the app.component.ts:
import { Component, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';

import { LibAService } from 'lib-a';
import { LibBService } from 'lib-b';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [RouterOutlet],
  templateUrl: './app.component.html',
  styleUrl: './app.component.less'
})
export class AppComponent {
  title = 'my-app';

  libA = inject(LibAService);
  libB = inject(LibBService);
}

Edit the tsconfig.json:
{
  "compileOnSave": false,
  "compilerOptions": {
    "paths": {
      "my-lib": [
        "./node_modules/my-lib"
      ],
      "my-lib2": [
        "./node_modules/my-lib2"
      ]
    },
....

Serve the app
ng serve

Issue 1:
In the console the error NG0912  appears.
Go to my-app and edit the app.component.ts:
import { Component, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';

import { LibAService } from 'lib-a';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [RouterOutlet],
  templateUrl: './app.component.html',
  styleUrl: './app.component.less'
})
export class AppComponent {
  title = 'my-app';

  libA = inject(LibAService);
}

Perform any change in the my-lib-b.service
Issue 2:
App is not recompiled.

No response

I am unable to replicate the reported problem with the steps provided.
cast (2).webm
Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Sorry, I forgot to mention that I had configured preserveSymbLinks: true in angular.json under the builder configuration.
Without setting that config, and adding the workaround mentioned in https://github.com/angular/angular-cli/issues/26585#issuecomment-1840982411, It works as you could see.
So to summarize the problem, to make linked libraries work either I have to:

cache=off && preserveSymbLinks=true ✔
cache=on && tsconfig.json paths ✔

But it does not work with:

cache=on && preserveSymbLinks=true (with or without tsconfig.json paths) ❌

I have created a repro for a quick way to set everything up if needed
https://github.com/Carlosamouco/repro-linked-libs

Just on another note, the error that I mentioned can be reproduced with the repro above:

But I think this is the side effect of having both tsconfig paths and preserveSymbLinks=true that causes the library to be referenced differently at the app and dependency level.

I also would like to add that the following:

cache=on, tsconfig.json paths and preserveSymbLinks turned off

Is only fine if the libraries have no other external dependencies since those don't get resolver in build time properly when they are symb linked.

Here is simple repro: https://github.com/hasano1990/esbuild

The commit b59f663e5 added the option to define external dependencies that should not be pre bundle aka treated as source code. I think we can close this issue now?
One question remains in my mind, If I am linking a library that as other dependencies, I have to mark also those dependencies and the dependencies of those dependencies as external right?


Change App Name After Publishing

Can you advise how we can change the name of the communicator user application after its been added to the Team app catalogue?  Id like to change the name people see when they receive the communications as a all user message from "Company Communicator"  to "A new specified name"
Is there a way I can change this when I don't have the original manifest files.

Thanks for raising the query here. Please follow the below steps.
To update name of CC

Login to Azure Portal with Global Admin Credentials (portal.azure.com)

Go to Resource Groups and Under your subscription select the resource group where the app is deployed.

Click on Azure Bot(user) --> under settings click bot profile-->Change display name as per the organizational need.

And update the names in the manifest files for user. Re-upload the manifest file again. Here is the place for reference.

Is there a way I can change this when I don't have the original manifest files.
Please download the manifest from code here and update the user manifest as per the  6th-step of deployment guide

Note:-
There might be chance that desktop app will get cached. However, it can be validated by checking in the browser version of the app.

Thank you for the guidance I will try that now and report back, later today.

Thank you this worked, I now just need to change the icon with the user app which is my next challenge.


writeWithResponse  error

Current Behavior
writeWithResponse error， There are 2 characteristicArr, one is written normally, and the other reports an error
Steps to Reproduce
console.log('--characteristicArr', characteristicArr)
    const characteristics = characteristicArr[0];
    const base64Str = base64.encode(value);
    characteristics.writeWithResponse(base64Str)
        .then(() => {
          console.log('成功写入特征值', '现在点击读取特征值看看吧...')
        })
        .catch(err => {
          console.log('写入特征值出错：', JSON.stringify(err))
        })

error log
{
"message":"Characteristic 0000c302-0000-1000-8000-00805f9b34fb write failed for device 7C:9E:BD:D0:77:3E and service 0000a002-0000-1000-8000-00805f9b34fb",
"errorCode":401,
"attErrorCode":13,
"iosErrorCode":null,
"androidErrorCode":null,
"reason":"GATT exception from MAC address 7C:9E:BD:D0:77:3E, status 13 (GATT_INVALID_ATTR_LEN), type BleGattOperation{description='CHARACTERISTIC_WRITE'}. (Look up status 0x0d here https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h)",
"name":"BleError"
}

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. Both JS and platform logs can be enabled via setLogLevel function call.

Library version: ^2.0.2
Platform: Android.

{
  "dependencies": {
    "@react-native-community/masked-view": "^0.1.10",
    "@react-native-picker/picker": "^1.15.0",
    "@react-navigation/native": "^5.9.3",
    "@react-navigation/stack": "^5.14.3",
    "eventemitter2": "^6.4.4",
    "eventemitter3": "^4.0.7",
    "final-form": "^4.20.2",
    "moment": "^2.29.1",
    "native-base": "^2.15.2",
    "prop-types": "^15.7.2",
    "react": "^17.0.2",
    "react-final-form": "^6.5.3",
    "react-native": "0.63.4",
    "react-native-ble-plx": "^2.0.2",
    "react-native-circular-progress": "^1.3.7",
    "react-native-config": "^1.4.2",
    "react-native-datepicker": "^1.7.2",
    "react-native-gesture-handler": "^1.10.3",
    "react-native-image-picker": "^3.3.2",
    "react-native-linear-gradient": "^2.5.6",
    "react-native-picker-select": "^8.0.4",
    "react-native-reanimated": "^2.0.0",
    "react-native-safe-area-context": "^3.2.0",
    "react-native-screens": "^2.18.1",
    "react-native-splash-screen": "^3.2.0",
    "react-native-svg": "^12.1.1-0",
    "victory-native": "^35.3.2"
  },
  "devDependencies": {
    "@babel/core": "^7.8.4",
    "@babel/runtime": "^7.8.4",
    "@react-native-community/eslint-config": "^1.1.0",
    "babel-jest": "^25.1.0",
    "cross-env": "^7.0.3",
    "eslint": "^6.5.1",
    "jest": "^25.1.0",
    "metro-react-native-babel-preset": "^0.59.0",
    "miragejs": "^0.1.41",
    "mockjs": "^1.1.0",
    "react-test-renderer": "16.13.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

Hi.
Does the characteristic you are trying to write have the isWritableWithResponse field as true?