Flush Icache on AArch64 Windows

👋 Hey,
I tried to run the cranelift filetest suite on a aarch64-pc-windows-msvc machine, and it crashes with STATUS_ILLEGAL_INSTRUCTION. All of the tests pass individually, and if I run it on a single core, it sometimes passes the entire test suite.
I think this is due to us not clearing the icache after writing the new code as required by arm. This PR adds a call to FlushInstructionCache where we already have a membarrier on linux (See #3426).
I'm not too knowledgeable about this, but it was what I saw recommended in a Arm Community blog post, although I would really appreciate if someone could doublecheck if this is the correct approach. This also seems to be what firefox does for their jit.
With this patch we can now pass the entire filetest suite without crashing!

I applied the same solution to the wasmtime side of things, but it's worth noting that I was never able to get a STATUS_ILLEGAL_INSTRUCTION there!
I tested with cargo test -p wasmtime-cli wast::Cranelift::spec::simd_i and all 48 tests pass, no matter how many times I try to run them.
I can't test the entire test suite since that fails due to #4992 (I think)
cc: @cfallin @akirilov-arm

BTW the purpose of the membarrier() call is not cache maintenance, but rather flushing the processor pipeline (refer to the discussion in https://github.com/bytecodealliance/wasmtime/pull/3426 for more details), so this means that there is still a gap in the implementation on Windows. Looking at Microsoft's documentation, FlushProcessWriteBuffers() seems to have the necessary semantics.

The documentation for FlushInstructionCache says:
https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-flushinstructioncache

Applications should call FlushInstructionCache if they generate or modify code in memory. The CPU cannot detect the change, and may execute the old code it cached.

So it seems that FlushInstructionCache must always be called no matter if FlushProcessWriteBuffers is called or not.

Yes, I am not claiming that FlushProcessWriteBuffers() replaces FlushInstructionCache() - my point is that it (or something else with the necessary semantics) should be used after the latter, unless FlushInstructionCache() also performs an implicit broadcast ISB operation in all running threads of the process (which the documentation doesn't suggest, to me at least). Similarly, as I mentioned on Linux membarrier() does not flush instruction caches.

Thanks for reviewing this!

BTW the purpose of the membarrier() call is not cache maintenance, but rather flushing the processor pipeline (refer to the discussion in https://github.com/bytecodealliance/wasmtime/pull/3426 for more details), so this means that there is still a gap in the implementation on Windows. Looking at Microsoft's documentation, FlushProcessWriteBuffers() seems to have the necessary semantics.

So, if I understand https://github.com/bytecodealliance/wasmtime/issues/3310 correctly we need to both flush the icache (clear_cache / FlushInstructionCache) and then subsequently also flush the pipeline (membarrier / FlushProcessWriteBuffers).  The flush only needs to happen in multi threaded environments but we cant easily detect that.
Is that right? If that is the case I might as well just clean up the terminology and add a clear_cache call for linux and that also fixes #3310 right?

Is that right?

Yes, your understanding is correct. Technically the pipeline flush is always mandatory, but all implementations of __builtin___clear_cache() that I am aware of end with an ISB instruction (and I'd guess that FlushInstructionCache() does too) and furthermore a system call (e.g. the subsequent change of the memory page permissions to executable, since we don't use RWX mappings) is a context synchronization operation as well.
The ideal solution, which I had in mind when I opened #3310, would be to have a generic clear_cache() function (probably in the compiler-builtins crate to mirror what GCC and LLVM are doing; I am not aware of anything like that existing, but I would be happy to be proven wrong). Then we would call that function, followed by membarrier()/FlushProcessWriteBuffers(), finishing with making the memory executable. The order of the last 2 operations does not matter (as long as no one tries to run the newly executable code without a pipeline flush before that), but I think that this sequence looks nicer.
Note that it might appear that on Linux we don't flush instruction caches, so there might be a correctness issue. Actually we are relying on an implementation detail (as discussed in #3426), but I'd rather see an explicit operation, hence I have kept #3310 open. However, I would advise against implementing the cache flushing instruction sequence inside Cranelift and/or Wasmtime because it is a bit involved and a solution that is easily accessible to all Rust users on AArch64 is a much better option. In the meantime we can continue relying on an implementation detail; any other cleanup would be appreciated, of course.

probably in the compiler-builtins crate to mirror what GCC and LLVM are doing

It should rather be in libcore as compiler-builtins is an implementation detail of rustc to be used by the compiler backend and never directly called by the user.

Alright I think I understand this a little bit more! Thank you for your patience dealing with this.

However, I would advise against implementing the cache flushing instruction sequence inside Cranelift and/or Wasmtime because it is a bit involved and a solution that is easily accessible to all Rust users on AArch64 is a much better option. In the meantime we can continue relying on an implementation detail; any other cleanup would be appreciated, of course.

Yeah I also doubt I could write anything like that correctly 😆 So I'm not very inclined to go that route.
What I think we could do is something along the lines of what @cfallin suggested on zulip create a jit-icache-coherence crate with the interface that we want, use that on both wasmtime-jit and cranelift-jit. This at least shares the windows implementation between both crates, we still need to duplicate the membarriers between rsix and libc since we want to keep those separate. But at least it is a little bit more organized.
For __builtin___clear_cache() can we for now link it in from a C file as you suggested? And later on use a version from libcore if one gets upstreamed. Or if we don't want to do that on wasmtime (due to not using rsix, not sure if that is a requirement), we can ignore it for now and have essentially the same implementation but shared with cranelift.
What do you guys think about this?

Note that it might appear that on Linux we don't flush instruction caches, so there might be a correctness issue. Actually we are relying on an implementation detail (as discussed in https://github.com/bytecodealliance/wasmtime/pull/3426), but I'd rather see an explicit operation, hence I have kept https://github.com/bytecodealliance/wasmtime/issues/3310 open.

Yeah that confused me for a while! This whole thing is not easy to understand. I'd really like to get this in a central place and write all of these details in comments around this code.

For __builtin___clear_cache() can we for now link it in from a C file as you suggested?

That is certainly an option, but my impression is that we are trying to move away from relying on C files as much as possible (refer to the refactoring that has been done in the wasmtime-fiber crate, for instance), and given that on Linux we are kind of OK at the moment, IMHO it might not be the best course of action.
As for creating a crate to be used by both cranelift-jit and wasmtime-jit, since the issue was that cranelift-jit should not depend on rustix, I am not sure how much sharing would be possible, though we do have the option of just implementing the libc variant (and avoiding rustix completely). That would also help with consolidating the locations that @cfallin needs to change in #4987.

I've implemented a new crate jit-icache-coherency, that merges all of this code together so that we don't have to update stuff in multiple places, it also provides a common interface that both wasmtime-jit and cranelift-jit can use.
It does change our call's to SYNC_CORE membarriers, using the new method suggested by @akirilov-arm. We now execute SYNC_CORE  and if it fails we retry after registering it. This should only happen once per process, so I don't think its too much overhead.
It also includes the changes made by @cfallin in  #4987 since I thought it was just easier to do it here instead of having to deal with the ensuing merge conflicts.
I've tried to explain the whole cache coherency thing as best as I could in the documentation, hopefully I didn't miss anything!

I think I got all of them, let me know if I missed any of the changes that you requested. And thanks for you patience in dealing with this! I'm still very much learning about all of this stuff.

Also, as I have said before I am fine with just implementing the libc code path (and omitting the rustix one).

I'm okay with libc too, but would like an ack from someone on the wasmtime side if we want to do that.

I had to add a flags arg to membarrier on libc since on my aarch64 machine it wasn't being properly added, somehow cranelift never triggered this. I've confirmed with strace and the membarrier is now being properly executed, and the register on fail trick is working.
[pid 615515] membarrier(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE, 0) = -1 EPERM (Operation not permitted)
[pid 615515] membarrier(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE, 0) = 0
[pid 615515] membarrier(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE, 0) = 0

Right, I just wanted to check if there was an easy way to add a test that forces us to use GLOBAL so that we at least have some CI coverage on that branch. But I tested that manually and it worked, so I guess that's ok.

Hey, @alexcrichton @sunfishcode we discussed this in the cranelift meeting today, and @cfallin mentioned that you might be interested in this PR as (in its current form) changes wasmtime to use libc on this particular membarrier call.
As a summary: We got to this situation when I merged this particular piece of code from wasmtime-jit and cranelift-jit, both those crates have to do the exact same thing when it comes to icache mainetenance, after merging we had two backends which do exactly the same thing, and to avoid having duplicated code we need to decide on one.
wasmtime already has libc on its dependency tree, but cranelift does not have rustix yet, so to avoid adding more stuff to the compilation path, I decided to keep libc.
I'd like to know if this is okay with you guys.

Yes, that makes sense!

Indeed seems reasonable to me!


how can i upgrade the  service by the rest api ?

Describe your issue here

Useful
Info

Versions
Rancher v1.6.20 Cattle: v0.183.60 UI: v1.6.45

Access
Disabled

Orchestration
Cattle

Route
authenticated.project.help

Take a look at https://github.com/etlweather/gaucho. It's great example of how to use available REST API for various purposes.

Best way is to use the Rancher CLI, but there are some API examples here: https://forums.rancher.com/t/upgrade-rancher-service-using-rest-api/1459/13


Update 2014-12-09-running-sql-queries-on-amazon-s3.md

@bbevens Can you review this? It looks correct to me.


Make 3D models responsive and scale properly

Requires https://github.com/vladislavivanistsev/SuperCap/issues/67 to be complete.
The 3d elements should be nicely aligned and responsive when page size is changed.
Estimated 4 man-hours.
Related use cases:
(https://github.com/vladislavivanistsev/SuperCap/wiki/_Use-Case:-Interacting-with-the-3D-models)

Will be done in 4th iteration.

Good enough


I just love this tool!

Hi - there does not seem to be any designated way to communicate enthusiasm about this tool. I don't have any particular issue to report, I just want to say that it's a fantastic service that I have used for thousands of kilometers and it just works great. I mostly use it in the UK with the fastbike profile and it's marvelous. Keep up the awesome work!
(feel free to close this issue of course, as it is not actually an issue!)

Thanks, nice to hear!


Conpty needs to render the on/off state of the cursor

This is a followup from #1087. I don't render the right state out through conpty, and that means that for tools like apt, the cursor is always on, even when they want it off.

I'm experiencing the same issue as #1461, which redirects to here.
Any update on this?
Here is an example C# code:
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Now you see me!");
            Console.CursorVisible = true;
            Console.ReadLine();

            Console.CursorVisible = false;
            Console.WriteLine("Now you don't!");
            Console.ReadLine();
        }
    }

In the second image, the cursor is at the very end of the line

Good catch, this we incorrectly marked for Terminal v1.0 when it's really a 20H1 fix.


BUG: Use shapely geometry geom_type instead of deprecated type

[x] Closes #17

Thanks @justingruca :+1:


The Discover Rules Module [ is it really necessary?]

So in the proposed design there was the "Discover Rules Module" whose purpose was to "obtain the Rules File" by applying different heuristics to the source-files available.
Main Point
The heuristics are actually the rules themselves, there isn't an easy automated way to obtain them.
Do we really need a "Discover Rules" module? In essence this module applies heuristics to infer heuristics. Which seems redundant. If anything, we would have different "Rules File" templates that suit the needs of different labs/studies, being a human the one that selects which rules template to apply (that is, the human selects which set of heuristics are applied).
My proposal is to get rid of this module.
Advantages:

simplifies the software architecture

more easy to understand for the user.
more easy to maintain in the long run.

Explanation
The idea to have a "heuristics"  module came from a shallow review of both bidscoin and heudiconv.
Now that I have gotten more into the project itself I'm noting the following:

Bidscoin heuristics are the template and study bidsmap which are equivalent to our rules file
Heudiconv heuristics are python scripts which are not so user-friendly.

Here is a comparison on how the heuristics work in these three converters:

Functionality
SOVABIDS
BIDSCOIN
HEUDICONV

Matching   the correct files for the heuristic
The  "non-bids.extension" key of the rules
"provenance" in the   bidsmap and the is_sourcefile function of a plugin
filter_files function

Extracting   information from the files matched
The   "non-bids.path_analysis" key in the rules & the mne-powered   file reading
"attributes" in the   bidsmap and the get_attribute function of a plugin
infotodict & infotoids   functions

Assigning   the information extracted to bids properties
The "non-bids.path_analysis" key   in the rules & hard-coded logic
"bids" in the bidsmap   and (I think) the bidsmapper_plugin function of a plugin
infotodict & infotoids   functions

So what I called "rules" initially , was what those softwares called "heuristics".
I would appreciate hearing what you guys think of this @stebo85 @aswinnarayanan @civier @DavidjWhite33 @TomEmotion
PD: Both bidscoin's and heudiconv's heuristics work from the pov of mapping input files to output files, ie "this goes here, and that goes overthere". For example, I have not found something similar to the idea of "correcting bad channel types".

Yes, that makes sense. I agree that it this module is actually the user :p

Agreed.
Just an idea for an enhancement:
Would it be useful for a "Discover module" to apply a bunch of available bids rulesets to a dataset.
And provided a result table recommending the one with the closest match as the starting template.

@aswinnarayanan This is actually what I had in mind, just that I wasn't sure how to actually develop such a thing.
Path Heuristic
The most difficult and important thing one has to infer is the input structure. In bidscoin it is fixed to a set of acceptable structures, whereas we leave that to the user so as to be more flexible. In this case one would need to make a set of structure guesses, the problem being that path structure has too many possibilities. Anyhow, one could do it in a combinatorial way with itertools or something.
EOG channels heuristic
One heuristic I thought for example is assuming channels named "EOG" "HEOG" "HVEOG" and variations from these are by default EOG channels. This heuristic would be quite simple, it would translate to a "retype the matching channels to EOG" in the rules file.
Minimum Heuristic to justify the DISCOVER RULES Module
I think that for example having heuristics like the EOG channel one I gave doesn't justify the "DISCOVER RULES" module because the user still needs to input the path structure to be able to infer the bidspaths. So in a sense it wouldnt be useful.
Now, if we manage to device a way to do the path inference heuristic I think the DISCOVER RULES would be worthwhile. I would finally almost automate the conversion with only minimal user intervention.
@aswinnarayanan  Do you have any ideas or comments regarding these thoughts?

@yjmantilla that's a very fair point. The channel name recommendation wouldn't justify a complete module.
And the path inference being the bigger issue. Do you see it viable for the user community submit their edited mappings into some kind of central repository?

Do you see it viable for the user community submit their edited mappings into some kind of central repository?

I think that is possible to do. The important part being that the context where the submitted mapping was applied being explicit so as the user can say "oh, this looks like my case" and tests the mapping to see if any further changes are required.

As far as I remember (correct me if wrong), the idea we ended up considering is having heuristics in the sense that we learn the rules from a single example of raw EEG files converted into BIDS. This has several advantages:

Saving time to the user, as some of rules would be inferred from the example converted
Helping the user understand the format of the rules file. What is better from seeing some of the rules for your actual data?  I envisage our tool to really be self-explanatory, without users needing to read a manual of how to write the rule file.
More practical. Most studies start with pilot data that needs to be converted rapidly for testing. Nobody has time to write a rule-file at this point, and conversion is usually done manually. Why not taking advantage of this conversion that is done anyway?

Now, I do not expect we can learn EVERYTHING from a simple example, but learning where data files go to in the folder hierarchy or learning which channels are classified as EOG sounds to me quite feasible. I do not expect it to be super clever at this point (so python scripts like heudiconv use are acceptable), but I do hope we can demonstrate that learning from an example has potential for BIDS conversion.
@yjmantilla Do you think it's feasible?
@aswinnarayanan Regarding central repository, I'm all for it, and it was actually one of my original proposals for the project. Having examples for each EEG instrument will be super useful, and even if we cannot base our heuristics on them, we can indeed try these mapping on the input dataset. Even just referring the user to such an online resource will be useful. Only question is if we can fit it into the timeframe of the current project -- @yjmantilla, do you think Bryan can work on this, or will he be investing his time in a rudimentary GUI in the end?

@civier

the idea we ended up considering is having heuristics in the sense that we learn the rules from a single example of raw EEG files converted into BIDS.

It was one of the possible ideas for heuristics, along with developing heuristics for common metadata formats.

Saving time to the user, as some of rules would be inferred from the example converted

I think this is debatable. Some bids files are harder to write than the rules file, while some others arent. In example the sidecar eeg json and the channels.tsv file wouldn't be trivial to fill, or at least they would be cumbersome. The user would need to write the jsons with all the fields having the correct names, meaning they have to see the bids documentation and type that stuff. For the tsv they would need to know what a tsv is for starters and filling it (i imagine with some spreadsheet software).
One thing I do see that can be done by the user easily is placing files in sub-folders with the correct bids name. This would infer the path pattern and the user wouldn't need to write that rule (which is the most important one).

What is better from seeing some of the rules for your actual data? I envisage our tool to really be self-explanatory, without users needing to read a manual of how to write the rule file.

I agree with this being the ideal. Nevertheless almost every work-flow will require an explanation, even the one doing an initial conversion and them passing that to infers the rules.  If the rules file is not complete with what is inferred from the example (which is the most probable case), then the user still needs to understand the rules file to complete it.
The main way I see to get rid of explanations is to use a form. Maybe something like ARTEMIS/COBIDAS would be the one to follow. And such form would need show a preview of the conversion so that the user knows what is wrong and changes it.

Most studies start with pilot data that needs to be converted rapidly for testing.

Im not sure if this is true at a general level. In our lab people doing the pilot study collect data following their own scheme and dont convert them to bids until it is required by someone else. Of course this is because we don't have a mature bids culture. The main people thinking of data collection are the ones inclined to that field.
Maybe is a matter of institutional guidelines and workflows. Here eeg data is taken by nurses, medical students, psychology students, engineering students and so on and they do that following a path pattern and thats it. They dont write sidecars files. At most they fill some form with the current session information.
So here the workflow is to convert to bids once the data is fully collected. Test are done on the original source data, not on bids data which is a bad practice but is what we have managed to do given the constraints.

Now, I do not expect we can learn EVERYTHING from a simple example, but learning where data files go to in the folder hierarchy or learning which channels are classified as EOG sounds to me quite feasible. I do not expect it to be super clever at this point (so python scripts like heudiconv use are acceptable), but I do hope we can demonstrate that learning from an example has potential for BIDS conversion.

So what I take from this is that a prototype for the heuristics module is to be able to infer the path pattern following the placing the user did of a source file into a bids directory. That is feasible.
The channel classification is feasible from our side. From the user side though I don't imagine anyone filling the channels.tsv by hand. But if they did, we could infer the classification.
One way I do visualize this kind of example-based workflow working without too much effort into doing bids conversion by hand is that the user places the file where  it belongs so that we infer the path pattern. Once that is done, we do the conversion with only that rule. The user inspects the conversion an changes what is needed accordingly. That way he wouldn't need to type everything by hand from zero. Nevertheless such workflow would need to be explained still.
So to wrap this up, I will do a prototype for these heuristics:

[ ] inferring path pattern from a sourcepath and a desired output path done by the user.
[ ] reading a channels.tsv and inferring what names and types were changed by the user, and saving them as rules.

do you think Bryan can work on this, or will he be investing his time in a rudimentary GUI in the end?

He had advanced a bit with the rudimentary GUI, nevertheless I can say to him to focus his efforts on this feature rather than the GUI if you think it is more important.

Now, I do not expect we can learn EVERYTHING from a simple example, but learning where data files go to in the folder hierarchy or learning which channels are classified as EOG sounds to me quite feasible. I do not expect it to be super clever at this point (so python scripts like heudiconv use are acceptable), but I do hope we can demonstrate that learning from an example has potential for BIDS conversion.

So what I take from this is that a prototype for the heuristics module is to be able to infer the path pattern following the placing the user did of a source file into a bids directory. That is feasible.
The channel classification is feasible from our side. From the user side though I don't imagine anyone filling the channels.tsv by hand. But if they did, we could infer the classification.
One way I do visualize this kind of example-based workflow working without too much effort into doing bids conversion by hand is that the user places the file where  it belongs so that we infer the path pattern. Once that is done, we do the conversion with only that rule. The user inspects the conversion an changes what is needed accordingly. That way he wouldn't need to type everything by hand from zero, but rather just correct what is wrong. Nevertheless such workflow would need to be explained still. Here is the workflow diagram:

So to wrap this up, I will do a prototype for these heuristics:

[x] inferring path pattern from a sourcepath and a desired output path done by the user.
[ ] reading a channels.tsv and inferring what names and types were changed by the user, and saving them as rules.

do you think Bryan can work on this, or will he be investing his time in a rudimentary GUI in the end?

He had advanced a bit with the rudimentary GUI, nevertheless I can say to him to focus his efforts on this feature rather than the GUI if you think it is more important.
PD: I just splitted the comment before this one for easier reading.


please could you clarify this page a bit

Hi Guys, I can get up to the stage where I get an authenticaiton URL but no further. is there any chance you could edit the page to include a screenshot of the full and final code required in Power Query. When I try to add the "token response" block of code its showing an EOF error and no matter how I try to restructure the code I cant get it to work. Many thanks

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

ID: db6f55e2-dc4a-c0ac-296b-c41d02bea7f5
Version Independent ID: 767b1dbc-dd20-f5cd-7afa-bdd17458c233
Content: Microsoft Graph tutorial for Power Query
Content Source: powerquery-docs/samples/MyGraph/README.md
Service: powerquery
GitHub Login: @cpopell
Microsoft Alias: gepopell

When we call the exchange token function (TokenMethod in the example above) we must pass a client_secret as header. Pay attention, it's unsafe if you want to share your connector with other people.

The full code is at https://github.com/microsoft/DataConnectors/tree/master/samples/MyGraph.
I haven't been able to get it to work as it gets authentication errors.

Hi all,
This sample isn't working because the underlying structure, etc., changed - we're hoping to get a fixed walkthrough up but it requires some more work.

From: John P. Reilly<EMAIL_ADDRESS>Sent: Tuesday, April 28, 2020 7:10 AM
To: MicrosoftDocs/powerquery-docs<EMAIL_ADDRESS>Cc: Colin Popell<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/powerquery-docs] please could you clarify this page a bit (#6)
The full code is at https://github.com/microsoft/DataConnectors/tree/master/samples/MyGraphhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FDataConnectors%2Ftree%2Fmaster%2Fsamples%2FMyGraph&data=02|01|George.Popell%40microsoft.com|57732212a2c54c342b2108d7eb7defe0|72f988bf86f141af91ab2d7cd011db47|1|0|637236798434800505&sdata=CffgQlhfvDG5Gktapkd%2B%2FPERR7xnZCeacy8InYuDQ%2FE%3D&reserved=0.
I haven't been able to get it to work as it gets authentication errors.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fpowerquery-docs%2Fissues%2F6%23issuecomment-620631904&data=02|01|George.Popell%40microsoft.com|57732212a2c54c342b2108d7eb7defe0|72f988bf86f141af91ab2d7cd011db47|1|0|637236798434810503&sdata=x48x%2FYXvY85W1VXkR%2F94uJgEVL1Kz%2FdSLtx5htUGBzw%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABQPT36B6N5BYBX6MQ6KJA3RO3PWDANCNFSM4KZFIWKA&data=02|01|George.Popell%40microsoft.com|57732212a2c54c342b2108d7eb7defe0|72f988bf86f141af91ab2d7cd011db47|1|0|637236798434810503&sdata=ThfYcf97ebNTwRl4xj3vY9fwFUqf06spo2N4vXTf3bY%3D&reserved=0.

Thanks @cpopell,
Are you aware of any way for us to get AAD users and groups information into PowerBI that works and can refresh with PBI Service?  We want to do RLS by group instead of user.

@dynamicapps  I'm not aware of any off hand. @mattmasson might know.

Thanks for looking at this.  I have been struggling with it the last couple of days.   Any idea when you might get this tutorial updated?   Kind of a pressing need for us.   Also I've noticed that the full code sample available on the github site seems more complete.   I'm going to give that version a try to see if that gets me any further.   Thanks for your work on this.   It is much needed since MS broke the ability to use Oauth to access Graph API.   Thx.

@dynamicapps there is a cludgy workaround that I have put in place until I can get this connector working.   I've used Get-MsolUser to get Azure AD users and their properties to do an extract to csv file and then connected to that in Power BI.

@dynamicapps @willshea take a look at this: https://janbakker.tech/2020/05/09/use-graph-api-data-in-power-bi-using-logicapps/

Thanks, @BakkerJan .  I was hoping not to have to use a proxy, but it's definitely an option.

@mattmasson This issue's doc (content) no longer exists.

Closed because all mention of using Graph in Power Query has been removed from the documentation.


sendEvent Error

Hello, in NShakeEventModule.java is not checking if react-native has started in its entirety.
You should include this improvement so that the application does not stop

How to reproduce the error? start the application and immediately shake the phone, which will cause the fall when trying to use the bridge even if you start.
Regards!

Thank you, @JoseIgnacio92 I have bumped a new version, will be on npm soon.
Sometimes I'm really busy. Please submit a PR and I will gladly accept it after a quick test.


Cleanup

While working on #289 I stumbled across a number of nitpicks and things I would've done differently based on the supported Go version (1.15 in go.mod).
 This allows better debugging in case of errors because the faulty iteration will now tell us which input in particular failed while running through all of them at all times.

I'll fix the commit messages to be <=72 characters and see about the other changes later today.

Are there additional build flags we should be enabling for warnings? I'm surprised the unused parameter didn't generate one.

I was surprised by that as you are about that particular detail – especially given that go fmt is usually very strict already. Personally, I used IDE code inspections to find most of these but there are projects such as golangci-lint that would've probably found some of them as well. It gets tricky when considering the os.TempDir and subtest changes, though.

I believe I addressed all previous review findings. Additionally the #%d within subtests should also be gone (yay for regex-replace) – someone who hasn't seen these changes multiple times (like me) should verify that, though.

Commits look great to me, though I've only skimmed the last one. Will let @bgilbert look at those and stamp the PR.
Wanted to say thank you for taking the time to hack on Butane and doing these changes. It's greatly appreciated.

We do run golangci-lint in CI, but we may not be configuring it for maximum lintfulness.

Followup in #313.


[solved]Template Error

http://imgur.com/1i7IpPR
this happens when i'm creating a new project with the SplitView template.

Interesting. What edition of VS2015 are you using?

Hey, forgot to add it before.
I'm using, VS Community 2015 v14.0.23107.0 D14REL
with .net  v 4.6.00079

The TemplateWizards extension might not be available in the community edition. This needs to be investigated.

What version are you using?

Good, thanks for sharing


Support running under NSSM

If the binary isn't running under Service Control Manager (SCM), then StartServiceCtrlDispatcher() will fail with ERROR_FAILED_SERVICE_CONTROLLER_CONNECT. This is a more reliable way of detecting if a service is running under SCM than checking svc.IsAnInteractiveSession. Checking the IsAnInteractiveSession value first can be an optimization to avoid skipping the StartServiceCtrlDispatcher error check.
In Go, svc.Run should fail here calling windows.StartServiceCtrlDispatcher.
Troubleshooting tips, if needed: http://stackoverflow.com/a/30719534 (from 2015-05-26)

This may be resolved by 8134bf01874a0eb77bf2375bd317e0d2bfcb70d0, needs investigation


Crash issue caused by pthread_key_create failed: 11 when integrating Flutter into our project

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Issue only occurs in our project and cannot be reproduced with specific steps
Expected results
Request to replace with "thread_local" keyword to solve the issue
Actual results
We encountered a crash issue caused by "pthread_key_create failed: 11" when integrating Flutter into our project. The reason is that there are too many features in our project, which leads to the creation of pthread_key exceeding the upper limit (128). Flutter uses a lot of pthread_key, and we found that every use of FML_THREAD_LOCAL will increase the number of pthread_key. We would like to know if we can change it to use the C++ "thread_local" keyword, which can share a pthread_key.
Code sample
Issue only occurs in our project and cannot be reproduced with specific steps
Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
every flutter version

Thanks for the report @tummyhuang
Is it possible to share the complete error log ?

The stack traces are reported from Android devices in production, and they mainly occur in other parts of our project, which doesn't help much in solving the problem. The abort message looks like this:
Abort message: pthread_key_create failed: 11
#00 pc<PHONE_NUMBER>07da34 /apex/com.android.runtime/lib64/bionic/libc.so!libc.so (offset 0x46000) (abort+168)
#01 pc<PHONE_NUMBER>618730 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1204)
#02 pc<PHONE_NUMBER>017114 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+84)
#03 pc<PHONE_NUMBER>006fa4 /system/lib64/liblog.so (__android_log_assert+312)
We hooked pthread_key_create and printed the stack trace, finding that Flutter uses the most pthread_keys, mainly here: https://github.com/flutter/engine/blob/main/fml/thread_local.h#L37
After studying the code, I'm puzzled as to why the C++ standard library's thread_local keyword isn't used directly, like here: https://github.com/flutter/engine/blob/main/fml/thread_local.h#L62
PS: We tried changing it to use thread_local, but we encountered the error: undefined symbol: __cxa_thread_atexit.

Thanks for the update. Based on the report, keeping it open for team's attention as there's no concrete replicable code available.


[Question] Inconsistency in prompting the model to output bounding box

Motivation
Hi.
I have tried to follow the template to prompt the model
<image>\nPlease provide the bounding box coordinate of the region this sentence describes: <ref>...</ref>

My first attempt:
<image>\nPlease provide the bounding box coordinate of the region this sentence describes: <ref>traffic light</ref>

The model is able to output following the format
<ref>class name</ref><box>[[x1, y1, x2, y2], ...]</box>

However, for my second attempt:
<image>\nPlease provide the bounding box coordinate of the region this sentence describes: <ref>cup</ref>

The model started to elaborate a lot on the steps and give the wrong top left and bottom right coordinates.
Any idea why and where should I start debugging this problem?
Appreciate any help provided!
Related resources
No response
Additional context
No response

Thanks for your question.
Could you please provide the model and pictures you used?


Invalid content /en/testnets/cardano/tools/faucet/

Where does the issue occur?
Link to the file or location on the website where the issue occurs. Optionally add screenshots for context.
Describe the issue
A clear and concise description of what the issue is.
Expected changes
A clear and concise description of what you expected to change.
Additional context
Add any other context about the problem here.

👋 Hi, I’m @anite8866
👀 I’m interested in ...
🌱 I’m currently learning ...
💞 I’m looking to collaborate on ...
📫 How to reach me ...

The faucet has been fixed and is working well now. The receiving address is also working. In case the issue occurs in testnet Daedalus, please raise an issue with IOHK Support - https://iohk.zendesk.com/hc/en-us


bug fix!

line 11
line 13
line 16
line 19
line 22
line 25
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (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)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Add a PR description (A brief on what the change does).

Simply writing down the lines that were changed is meaningless. GitHub already provides us with the feature to see the lines altered as well as the code.

Try adding an output.

PR name is too generic. try to be specific.


Fixes issue #131

ReplyMarkup and InlineKeyboardMarkup implement the IReplyMarkup interface.
API methods that previously support ReplyMarkup, now require IReplyMarkup interface instead.

These, thus, allow InlineKeyboardMarkup be used with all API methods that previously accept ReplyMarkup.

i worked on silent messages since yesterday, so now there are conflicts.
but the code look's good, i'll do it quickly with s&r, faster then resolving the conflicts

That's OK.
Thanks for the great effort you're putting into getting this library up to date.
It is the best around, in the .Net space!
Well, done!


Support for caching query results

Orator should have a decoupled cache module to do things like:
users = db.table('users').remember(10).get()

This will be handled by an extension module rather than in the core module


hotfix/wait until photoshop is accessible

Issue

launch of Photoshop may take a time and Dispatch may crash if Photoshop can't be accessible as Photoshop.Application

Changes

added while loop checking if is possible to get Photoshop dispatch and launched Photoshop process is alive, only if dispatch will return the app will continue with photoshop host launching

Thought this line was doing that?
https://github.com/pypeclub/avalon-core/blob/master/avalon/photoshop/lib.py#L104

Thought this line was doing that?

I thought so too, but it looks like it crashes with pywintypes.com_error: (-2146959355, 'Server execution failed', None, None).


warning: URI.escape is obsolete

This issue is about a deprecation warning.
See https://github.com/ruby-amqp/rabbitmq_http_api_client/blob/master/lib/rabbitmq/http/client.rb#L421
Example error message:

/home/travis/build/ruby-amqp/march_hare/vendor/bundle/jruby/2.3.0/gems/rabbitmq_http_api_client-1.9.1/lib/rabbitmq/http/client.rb:421:in
`uri_encode': warning: URI.escape is obsolete

Before you look into replacing it, please beware of earlier attempts: https://github.com/ruby-amqp/rabbitmq_http_api_client/commit/b7e645dfe3358f6fae9c24444c98fccc25b4231e. I'm not following Ruby's stdlib evolution closely but a couple of years ago there were no drop-in replacements for URI.escape for this library's needs.

Addressed in master by introducing a new dependency.


{"id":"go.micro.client","code":500,"detail":"service student_service: not found","status":"Internal Server"}

go-micro v2, Use ETCD as the registry
Check that the service is registered with the ETCD。But the client cannot find the service

This should not an issue of go-micro, check your services for spelling errors or wrong config.


No tests for TBXFORMS_ALLOW_HTML_LABEL, TBXFORMS_ALLOW_HTML_HELP_TEXT and TBXFORMS_ALLOW_HTML_BUTTON

We should add unit tests for TBXFORMS_ALLOW_HTML_LABEL, TBXFORMS_ALLOW_HTML_HELP_TEXT and TBXFORMS_ALLOW_HTML_BUTTON to prevent future regression.

Tests aren't even using the correct base class btw: https://github.com/torchbox/tbxforms/blob/main/tests/forms.py#L12 After fixing that the markup becomes completely different for basically all tests.
I wonder if it's even useful to test that the rendered html matches something exactly. Instead it might be better to just test if the correct template is used. Or check if it contains certain strings or elements. It might be worth rewriting these instead of updating dozens of html files in tests.

Closing as these settings are no longer supported as of https://github.com/torchbox/tbxforms/releases/tag/v2.0.0


Non-functional value encountered for default slot

Hello,
vue is complaining about the usage of the default slot with a non-functional value over a function slot.
Im not completely aware of what that means - Is this something that could be fixed within the rederer?
[Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance.
  at <Callout type="warning" >
  at <Anonymous>
  at <Main onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref<Proxy { <target>: Proxy, <handler>: {…} }>>
  at <RouterView>
  at <App>

Do you have a repro? Thanks!

I just created a fresh one with your example code:
https://github.com/john-dev/vue-markdown-test

https://github.com/wobsoriano/vue-markdoc/commit/720ce16b4f626321d57df1accee312faa2183452

Thank you, i appreciate it!


Remove font sizing from the attribution control

replaces #10103
examples:
https://2335-4723248-gh.circle-artifacts.com/0/examples/attributions.html
https://2335-4723248-gh.circle-artifacts.com/0/examples/bing-maps.html

New versions:
https://2340-4723248-gh.circle-artifacts.com/0/examples/attributions.html
https://2340-4723248-gh.circle-artifacts.com/0/examples/bing-maps.html

Changes to ol.css looks good.
The max-width inlayout.css was to avoid extra lines like:

@tonio I've added back the max-width in layout.css

Thanks for the review


Correctly recover from errors when fetching an action

If the invoker fails to fetch an action from the database it needs to inform the ActivationFeed that it still has resources (it didn't consume a container after all).
Reporting of those errors needs some disambiguation, as an error on fetching the action could also be caused by the user (for example by concurrently deleting the action while invoking it). The InvokerHealth protocol would shutdown the invoker, iff the activation was reported as a WHISK_ERROR. All errors but DocumentNotFound are considered WHISK_ERRORs though.
Also in this commit:

Loglevel change from error to warn for a missing revision. The InvokerHealth protocol produces ERROR otherwise.
Some documentation and restructuring of the ContainerPool's setup.

PG1 1546 🔵


Upgrade to .NET 4.7

This involved upgrading all the other packages but not the JWT library as the method we use has been deprecated in later versions and will involve a code change.

@richardc0 what's happening with this

The AppVeyor build is failing as there is a dependency issue with NUnit 3.8.
Parked the pull request for now but but I'll keep the branch open incase we c=want to pit this up later as there is no immediate need for it.


chore(ui): migrate Message component to Typescript

Summary

Migrated the Message component to TypeScript, enhancing code quality, maintainability, and scalability.
Utilised static typing to minimize runtime errors and improve developer experience.
Refactored the component for cleaner, more maintainable code.

Changes Made

TypeScript Migration:

Converted Message component files to TypeScript.
Added comprehensive type annotations.
Created Message.types.js for custom types.
Generated a changeset file.

Component Refactoring:

Made necessary adjustments to address TypeScript-detected issues.
Further refactored for cleaner and more understandable code.
Extracted CSS, icon and timeout logic and constants into utility functions.
-> Organised based on usage, since the component is so small.
-> Open to feedback.

Testing and Cleanup:

Verified component behavior using Storybook.
Removed deprecated code. It wasn't needed for any .js components.
Updated tests to use vitest.

Notes:

Externalised extra logic and constants in util files based on usage, seemed appropriate for this small component.
Open to feedback on this.

Related Issues

https://github.com/cloudoperators/juno/issues/238

Screenshots
Screenshots: Migrated .ts code on the left and Deprecated .js code on the right

Testing Instructions

Run storybook
Run Message tests

Checklist

[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] I have made corresponding changes to the documentation (if applicable).
[x] My changes generate no new warnings or errors.

Bug found: A timeout of zero or a negative number initiates a message dismissal

Did you fix it?

Hey, @andypf and @edda. I made the changes and added comments for everything else. Thank You for the review. 🚀
Changes made:

Bug fixed: Auto dismiss is triggered for values less than one
Added tests for fix and grouped tests by type
Updated the changeset message to include bug fix
Moved all externalised css, icon and timeout logic back to the main component


Updating Readme to include my new Book Spring AI for Your Organization - GCP Vertex AI Edition

Adding "Spring AI for Your Organization - GCP Vertex AI Edition"
I've added details about my new book, Spring AI for Your Organization - GCP Vertex AI Edition, a step-by-step guide for integrating Spring AI with Google Vertex AI.
Overview:

Provides practical insights for backend developers and newcomers to generative AI.
Have more than 20+ hands on examples
Helps build and enhance skills in developing AI applications using Spring AI and Vertex AI.

Check out the book here: Spring AI for Your Organization - GCP Vertex AI Edition

We are collecting community resources here https://github.com/danvega/awesome-spring-ai and getting rid of the list on the main README.md of the home page.
Can you please submit the PR there?
Also, congrats on the book.  Any way I can get a copy?

We are collecting community resources here https://github.com/danvega/awesome-spring-ai and getting rid of the list on the main README.md of the home page.
Can you please submit the PR there?
Also, congrats on the book. Any way I can get a copy?

Thanks, Raised a PR there https://github.com/danvega/awesome-spring-ai/pull/1
Also sent you a copy to your linkedin, Looking for your thoughts


#857 Add a API quickstart page under the (to be added) API section

Fixes #857
Reminders

See the README for more details on how to work with the Rancher docs.

Verify if changes pertain to other versions of Rancher. If they do, finalize the edits on one version of the page, then apply the edits to the other versions.

If the pull request is dependent on an upcoming release, make sure to target the release branch instead of main.

Description
This is the initial draft from engineering for the API quickstart. We can move the folder, rename, etc.
Comments

I'm not sure what the folder structure for the API docs will look like, or whether this should be linked to from our other quickstart section (under getting-started).
We usually use 1's for ordinal list items, but in this case we have numerous notes and code blocks within each step, making it simpler to count out 1,2,3...etc.
To-do

[ ] Merge/rebase with any relevant API PRs
[ ] Add sidebars entry

@btat I just added the sidebar entry and tested locally (see screenshot below). Any objections to merging?

@btat I just added the sidebar entry and tested locally (see screenshot below). Any objections to merging?

The updates need to be moved from /docs to /versioned_docs/version-2.8

@btat moved to v2.8 directories


Add use_epsg parameter to WMTS endpoint

What I am changing
Adds a use_epsg parameter to the WMTS endpoint, which changes the format of the CRS for the tile matrix set. This is needed to support ArcMap, which doesn't like the opengis.net-style CRS in the SupportedCRS.
Also adds an escape to the URLs in the WMTS template, as multiple query parameters were breaking XML parsing b/c of the &.
How you can test it

I've added unit tests. To manually test, you can hit a titiler WMTS endpoint with the parameter, e.g. http://localhost:8000/cog/WMTSCapabilities.xml?url=your-url-here&use_epsg=true and check out the SupportedCRS field.
Related Issues

Should resolve https://github.com/developmentseed/titiler/discussions/732

Manual testing with ArcMap
This is an ArcMap WMTS configuration against titiler endpoint without any modifications:

The layer doesn't load:

Adding the use_epsg parameter:

It works!

thanks a lot @gadomski, really nice PR 🙏


User Interface Mockups and Storyboard Sequences

Project Tracking: #12
Diagram the layout of your main user interface and major dialogs, with comments describing the important elements. Also, diagram storyboard sequences of using your application, with transitions between different states of the user interface, caused by the user manipulating the controls or providing input. Within the diagrams, reference the relevant requirements. Convincingly show all the requirements are covered.
Here is an example.

The diagrams can be found here:

User Interface Mockups
Storyboard Sequences


fix: tap reporter doesn't throw

Fixes #1809

Oh, I didn't notice JUnit 👀

Weird that we didn't have any errors 🤔


tar: Failed to set default locale

[flutter-go-master] flutter packages get
Running "flutter packages get" in flutter-go-master...
tar: Failed to set default locale
tar: Failed to set default locale

It happened to me also. Mine was resolved after deleting the pubspec.lock file.

Try deleting the pod file and pod.lock file. It worked out for me.

https://stackoverflow.com/questions/3907719/how-to-fix-tar-failed-to-set-default-locale-error

I'm having the same issue and I dont have R installed, though it doesn't break my app, it's just annoying

successful , thank @kangwang1988 @zoechi

how

Try deleting the pod file and pod.lock file. It worked out for me.

where is the pod file ?
@vimanshu


“interpolate”

The problem
https://docs.perl6.org/language/variables.html#Twigils
Interpolation and symbol tables. What?
Suggestions
Explain at different levels, using useful, interesting examples for beginners (no calculators, no foo), time saving jargon for experts, and a short explanation of words like “interpolate” somewhere. All without creating so much documentation I could never get through it.

I wonder if the original thinking of the author of this line (Felix Hermann in August 2012!) was to contrast Perl 6, not with Perl 5, but with the shell, where the sigil is an interpolation operator (you can assign var=value but not $var=value and var=$value is different from var=value.
I’d vote for simply removing the mention of interpolation here entirely.


Math magicians: full website

In this milestone the full website was completed as a SPA with the following implementations;

[ ] Three pages were added; home, calculator, and quote pages.
[ ] A navigation menu that uses react route to navigate between pages was added.

Thanks very much for your time and effort put into reviewing my work.


example for sendCommand

Can you give me an example for the command "sendCommand", please?!
best regaeds
Daniel

@DerDoubleD sendCommand() it's a private method for the class.
It's not intended to be used inside sketch.
Regards,
Tolentino


Master

get public ip method refactor

response status diff 200 try another api
test status 500 fetch public ip

Great Idea to have a backup, thank you for your contribution!

No problem. I added it because the api  was down for some reason and could use some backup and clearer message when is down.


Re-export bson lib

Closes #281.
This converts usage of macro_use into explicit imports of use bson::{bson, doc}.
Also re-exports bson::* to remove downstream requirements of installing the correct version of bson.
Cut as version 0.3.11.
cc. @H2CO3

Awesome! 👏

This is vital to me, any ETA on merge?

Awesome, you guys are the best! 👍


Reloading resets alert state

When SIGHUPing Prometheus, alerts that have exceeded their FOR time go back to pending. They should stay red.

Closed by #863

Is it's possible that we have a regression here? With 2.0.0-beta.5 my firing alerts get reset on reload.


Concurrency issues around dispatch events and waiting for renders

The following error shows up in 154 test runs out of about 3000:

Htmlizer.cs:line 44, Assert.Debug (20 times)
Htmlizer.cs:line 166, Assert.Debug (14 times)
Htmlizer.cs:line 59, error InvalidOperationException : We didn't consume any input (33 times)
Htmlizer.cs:line 93 , error InvalidOperationException : Invalid element frame type 'None' (28 times)
The HashSet Observers in RenderEventObservable.cs is updated concurrently. Throws the following error message: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct. (3 times)
Additional regular assertion fails, probably just related to the above. Many timeouts.

Current thinking is that the issue is that subscribers to render events are in the processes of regenerating their DOM while the next render happens, since they are waiting on one thread and the rendere continues its work on another thread. Thus the OnRender trigger isn't actually synchronous and blocking until the DOMs are updated, it just blocks until the waiting threads are notified, and they go off and do their own work.
Next thing to attempt is to change the notification system such that subscribers can return a Task when notified, that they should complete when they are done doing whatever work they need to do. Looking at the Renderer.cs code, it seems like it will await an uncompleted task before continuing with the next render - https://source.dot.net/#Microsoft.AspNetCore.Components/RenderTree/Renderer.cs,514

Pushed a new branch with semi complete attempt at new render event notification system. Needs more testing.
Also, this cloud enable making tasks returned by e.g. ClickAsync first complete after the new DOM elements have been generated, making the use of the WaitFor* methods less needed... Further investigation required!

Second update with a complete new notification pipeline from the renderer to rendered fragments, which when notifies any listeners for render updates and markup updates.
The core of the problem seems to have been:

the order when the "wait for's" was notified of changes didnt necessarily occur after the markup and anglesharp nodes was regenerated, which caused the state predicate or asssertion to fail when it didnt have to
the two threads that ran the assertion/state predicate and the renderer, could be running on different CPUs/cores, and that would cause memory coherence problems, where the update to markup and nodes, even if they happened before the wait for checks, would not be seen by the checker, and still fail.
there was a race condition between nulling out the nodes property and generating new markup, that could lead to the wait for checkers to get an older version of the nodes even though the markup was correctly updated.

To solution seems to be to:

In the UpdateDisplayAsync in the renderer, return a task that doesnt complete before all the listening rendered fragments have regenerated their markup and nodes, and all their listeners have executed their logic. This looks like it causes the renderer to stop some of its work await the task.
use volatile.write/volatile.read when accessing nodes and markup in the rendered fragment, to ensure that memory is always checked for the latest version by the cores.
synchronize access to nodes and markup via the lock statement, both when updating and reading.
adding locking in the wait for helpers around the checking and timeout locking, to avoid race conditions in them.

I am not convinced that the problem is gone for other parts that can change during a render, e.g. a components properties.

This blog describes the memory coherence problem Ive observed: http://benbowen.blog/post/cmmics_iii/

@duracellko, you might find this issue interesting.
The relevant files to look into is:

https://github.com/egil/bunit/blob/dev/src/bunit.core/Rendering/TestRenderer.cs#L141
https://github.com/egil/bunit/blob/dev/src/bunit.web/Rendering/RenderedFragment.cs#L138
https://github.com/egil/bunit/blob/dev/src/bunit.core/Extensions/WaitForHelpers/RenderedFragmentWaitForHelperExtensions.cs
https://github.com/egil/bunit/blob/dev/src/bunit.core/Extensions/WaitForHelpers/WaitForHelper.cs
https://github.com/egil/bunit/blob/dev/src/bunit.core/Extensions/WaitForHelpers/WaitForAssertionHelper.cs
https://github.com/egil/bunit/blob/dev/src/bunit.core/Extensions/WaitForHelpers/WaitForStateHelper.cs

@duracellko, you might find this issue interesting.

Is there a branch with failing tests? Are those files already fixing the issue?
Btw. I noticed in RenderedFragment
lock (_lock)
{
    return Volatile.Read(ref _markup);
}

If locking is consistent (applied to all access), then Volatile.Read/Write is not necessary.

These are basically the offending tests: https://www.github.com/egil/bunit/tree/dev/src%2Fbunit.core.tests%2FExtensions%2FWaitForHelpers%2FRenderedFragmentWaitForHelperExtensionsTest.cs
And yes, the issue seems fixed (code on dev branch). I did an overnight run on my dual core laptop where these tests ran in a loop, and no errors occurred, compared to earlier where 1 of about 20 times one of the tests would fail.
I'll try to remove the volatile read/writes then and just use the locks and see how it goes. See anything else I can improve?

This is the powershell command I use to run it in a loop:
~\Source\bunit\src\bunit.core.tests>
❯ dotnet build
❯ for($i=1;$1 -le 1000;$i++) { dotnet test --no-restore --no-build --filter Bunit.Extensions.WaitForHelpers.RenderedFragmentWaitForHelperExtensionsTest -l "console" --nologo >> testlog.log }

Just did a test without volatile, and it works as well. Can't remember exactly the setup before I added them, but the did help initially. Maybe I added the lock statement after.


miss 991: Trial of a proposed new international service, shared code,

miss 991: Trial of a proposed new international service, shared code,
refer to https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.164C-2011-PDF-E.pdf

Closing this as working as intended. More details in PR #1627.

@jiafu1115 ,
We do not support all the country codes mentioned in ITU documents unless there are numbers assigned under that country code / do have numbering plan. Please take a look at our
FAQ page #why-are-bouvet-island-bv-pitcairn-island-pn-antarctica-aq-etc-not-supported. Please feel free to reopen this bug with supporting evidences.


number data type implements or not a Number type?

For its language segment I'm writing a detailed tutorial for TypeScript.
But there is one thing that I cannot understand. The data type t implements the data type T?
Or the data type of t compatible with the data type T?
(t === number, string, boolean, symbol, object)
(T === Number, String, Boolean, Symbol, Object)

The types number, string, boolean, and symbol are the types of values of literals of each of their respective types as well as operators on those types and various conversions.
For example:
"hello world" // literal -> type of expression is string
var s = "hello world"; // -> type of s is string

These types also arise from operations that perform conversions
For example:
+"12" //  literal (type string) converted via `+`-> expression has type number

Another way to write the above is to invoke the JavaScript built in function object Number
Numer("12") // literal (type string) converted by calling `Number`-> expression has type number

All of these uses are fine and all produce values of types corresponding to the lowercase variants.
However, where the uppercase variants come into play is when certain JavaScript built in function objects such as the above Number, are invoked with new.
For example:
new Number("12") // literal (type string) as ctor arg of `Number`-> expression has type Number

These create wrapper objects that have reference identity. They are different types than their literal counterparts.
For example:
1 === 1
new Number(1) !== 1
new Number(1) !== new Number(1)

In typescript, the name of the type of a value created by "newing" a function or class is the name of that function or class.
The uppercase Number type exists to represent the objects created by invoking Number as a constructor. These objects have different, and in general highly undesirable behavior such as the equality relation shown above.
In practice, the uppercase types should never be used because they represent the values produced by by invoking objects like Number as constructors and this should not be done.

To add to this, these are also called "wrapper objects", and are used to provide the methods and properties on each primitive.
So for instance, to evaluate "Hello!".toLowerCase(), ECMAScript will first try to convert "Hello!" to an object (String) before fetching a property named toLowerCase.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Disable xUnit2 'pre-discovery'

This fixes #392, by disabling 'pre-discovery'.
I'm not sure if there's a good way to support this feature with tests.

Addressed feedback in 95190c8

Thank you for your contribution! It's now live as AutoFixture.Xunit2 3.30.2.


Fix opinion scraper for Colorado Supreme Court

Fix opinion scraper for the Colorado Supreme Court
juriscraper.opinions.united_states.state.colo

While solving this case, the regular expression used to extrac each opinion citation, docket (or dockets) and case name (or names) was changed to include the multiple variants que the Colorado Supreme Court uses in the links for opinions. In some cases, the dot between the citation and docket was changed by a comma, a space or nothing, which lead to errors in the scrape of the docket and the case name.

The docket included part of the case name and the case name was incomplete in some scraped opinions:

g

Changes to this scraper, also afect scraper for the Colorado Appellate Court
juriscraper.opinions.united_states.state.coloctapp


feat!: replace autoware_auto_msgs with autoware_msgs for common modules

Description
This is subset of https://github.com/autowarefoundation/autoware.universe/pull/6893 to make it easier to review.
This includes all the modification for common directory in the original PR.
Related links
https://github.com/autowarefoundation/autoware.universe/pull/6893
https://github.com/orgs/autowarefoundation/discussions/3862
Tests performed

Notes for reviewers

Interface changes
Message types are modified according to the table in this comment.
Effects on system behavior

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Either directly or circularly depends on:

https://github.com/autowarefoundation/autoware.universe/pull/7248
now checking.

A forward dependency from the planning folder has failed:

https://github.com/autowarefoundation/autoware.universe/actions/runs/9368323319/job/25791802870?pr=7239#step:7:15554

But that will be handled in:

https://github.com/autowarefoundation/autoware.universe/pull/7246

colcon build --symlink-install  --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1  --packages-up-to  autoware_ad_api_specs autoware_auto_common autoware_mission_details_overlay_rviz_plugin autoware_overlay_rviz_plugin autoware_perception_rviz_plugin autoware_point_types autoware_testing bag_time_manager_rviz_plugin component_interface_specs component_interface_tools component_interface_utils cuda_utils fake_test_node geography_utils global_parameter_loader glog_component goal_distance_calculator grid_map_utils interpolation kalman_filter motion_utils object_recognition_utils osqp_interface path_distance_calculator perception_utils polar_grid qp_interface signal_processing tensorrt_common tier4_adapi_rviz_plugin tier4_api_utils tier4_autoware_utils tier4_camera_view_rviz_plugin tier4_datetime_rviz_plugin tier4_localization_rviz_plugin tier4_perception_rviz_plugin tier4_planning_rviz_plugin tier4_state_rviz_plugin tier4_system_rviz_plugin tier4_traffic_light_rviz_plugin tier4_vehicle_rviz_plugin time_utils traffic_light_recognition_marker_publisher traffic_light_utils tvm_utility was successful on my machine.


wanted: bazel_skylib_gazelle_plugin

Module location
https://github.com/bazelbuild/bazel-skylib/tree/main/gazelle
Link to bzlmod issue in the module's repository
https://github.com/bazelbuild/bazel-skylib/pull/424#issuecomment-1400779445
Any other context to provide?
Many rulesets depend on this to keep bzl_library targets up-to-date, including the rules-template https://github.com/bazel-contrib/rules-template/blob/0bcaef52fda3e7bcfd8d294fd1a82e5a23a9ad02/BUILD.bazel#L6
Fund our work

[ ] Sponsor our community's open source work by donating a feature bounty

I think that we can close this as a module for the plugin now seems to exist.


live reload not working after first reload

Using the sveltejs template and running with npm run dev livereload stops working after first reload.
Issue persists after re-running npm run dev no logs from browser or terminal to suggest anything has gone wrong

I have tried https://github.com/sveltejs/template and it keeps livereloading for me. Did you find out what caused the issue?

No I’ve tried another project with livereload and svelte and the issue persists. Still no logs or anything to suggest an issue has happened I will try with a dockerised build

You could try with v1.1.0 and post more information about your browser, OS, node, npm, yarn, rolllup, ... versions.

The CSS is probably being output before the JS. So the reload happens before the JS is ready to be served.

I am having the same issue, but only for the styles. I can update the element text content fine, but whenever I change styles it reloads on npm run dev but afterwards it won't reload styles until I restart the server.

I'm running into this issue as well. I'm specifically seeing the behavior in this repo.
Here's my system info: Firefox v77 (dev edition); Ubuntu 18.04.4 (via WSL); Node v12.16.3; NPM v6.14.5; Rollup v2.10.7.

We're also having this issue when we run this plugin alongside @rollup/plugin-typescript, it's like the plugin is always one save behind. Is there a way we can add a debounce to the reload to wait for changes to stop for … say 200ms?

You can find the options here: https://www.npmjs.com/package/livereload
{ delay: 200 } could work for you.

Even worst for me with svelte template: command exit (rollup -c -w) without any error.
Also tried different versions: 1.0.0, 1.1.0, 1.2.0. And different OS:

Windows. npm: 6.13.4, node: 12.16.1, rollup: 2.16.1
WSL Ubuntu. npm: 6.14.4, node: 13.13.0, rollup: 2.16.1

Removing livereload from the config solve the issue: command works fine.
I was wondering if it was only me but seems like I'm not alone: https://github.com/sveltejs/template/issues/133
Thanks for reading !

I'm having this same issue. I've tried a new project it worked the first time and then stopped reloading as previously stated.
I'm using Windows
node: 12.16.1
npm: 6.13.4
rollup: 1.32.1

Using yarn dev instead of yarn start worked for me.

@ismailmri what do you mean by that? dev and start is just a script inside our package.json right?

Hi @izaakf, I have the same issue using vim as my editor and have to use the following vim option set backupcopy=yes to disable the safe writes. By default the editor is writing to a temporary file then moving it into place to overwrite the original. I assume that because this changes the inode it means that this plugin loses track of the file change. I think another option may be to switch to polling but I haven't tried that.

Hi @izaakf, I have the same issue using vim as my editor and have to use the following vim option set backupcopy=yes to disable the safe writes. By default the editor is writing to a temporary file then moving it into place to overwrite the original. I assume that because this changes the inode it means that this plugin loses track of the file change. I think another option may be to switch to polling but I haven't tried that.

Looks like this issue has been fixed by #53 through https://github.com/sveltejs/template/issues/133#issuecomment-673765053.
Can it be closed?

Since this should have been fixed by #53, I will go ahead and close this issue. If the problem still persists feel free to let me know.


auto date dd.mm.yy

strange behaviour to detect date in this format dd.mm.yy

Sorry, I am not sure what your error is.

Hi @hkgnp , think I suspect that I run into the same problem. The issue is that datenlp plugin does not respect the "preferred date format" in the Editor setting menu.
My preferred date format of my two graphs are set to: do MMM yyyy and E, dd.MM.yyyy
Regardless datenlp-plugin always parsed an output in format for both of them: [[MMM do, yyyy]]

This should be fixed in the latest version. Do update and let me know if the issue still persists.
Do note that in Logseq, E and EEE seem to look the same in the journal pages. However, if you use the plugin with E, it would show E, and if you use EEE, it will show EEE. Hence, suggest to use EEE instead of E so that there will be no conflicts.

I tested and it parsed the dates as expected, and changed same as the EEE date format as suggested—also works great. Thank you so much for your work!


Update bot.php

Pull Request Process

Ensure any install or build dependencies are removed before the end of the layer when doing a
build.
Update the README.md with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
Increase the version numbers in any examples files and the README.md to the new version that this
Pull Request would represent.
You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.

Do not create Pull Request for such changes

Do not create Pull Request for such changes


Why Eureka Client used Synchronized Map for Instance Metadata

We are using eureka client 1.x, and recently we found some threads were locked by "java.util.Collections$SynchronizedMap" which was happened while getting  data from instanceInfo metadata under a high workload. It seems impact the performance. For the instance metadata, it's returned as a concurrentHashmap from server, but after deserialization, it turned to be a SynchronizedMap.
The below code is under EurekaJacksonCodec class, any reason why we are using synchronizedMap here?
builder.setMetadata(metadataMap == null ? Collections.emptyMap() : Collections.synchronizedMap(metadataMap));

We are using eureka client 1.x, and recently we found some threads were locked by "java.util.Collections$SynchronizedMap" which was happened while getting data from instanceInfo metadata under a high workload. It seems impact the performance.

While possible, I do wonder under which scenarios you'd get high contention accessing individual instance metadata in the client? A flame graph would help if you have one handy.

For the instance metadata, it's returned as a concurrentHashmap from server, but after deserialization, it turned to be a SynchronizedMap.

Well it's returned as a map, that's the only contract. I don't think there's an expectation of any sort of type information to be preserved (beyond primitive, array and object) via JSON/XML across different languages, or even within Java.

The below code is under EurekaJacksonCodec class, any reason why we are using synchronizedMap here?
builder.setMetadata(metadataMap == null ? Collections.emptyMap() : Collections.synchronizedMap(metadataMap));

It's hard to say now, but I'd guess for simplicity's sake, I see no harm swapping this for any other thread safe implementation, if we can show a clear benefit.

@troshko111 , thank you for your comment. Our scenario is a little tricky, we have a gateway and hundreds of instances for an upstream service, once a request came in, the gateway will try to filter the instances by iterate the instanceInfo list and get metatdata for each instanceInfo, and when the concurrent workload is high, we saw the locked instances of "java.util.Collections$SynchronizedMap" from JFR as many concurrent requests may try to get the metadata at the same time for a single instanceInfo.
For the (builder.setMetadata) here, why do we need a thread safe implementation here, under any condition the eureka client will try to build or modify the metadata concurrently?
Thank you!


Add logging about the configuration on server

is the property file used?
What properties are defined by the file

@kunsingh Have you done this? Otherwise it should be moved to version 0.9.

Yes I am done.

is this already merged or is for this issue a pull request issued?

https://github.com/canoo/dolphin-platform/pull/368

merged


[CASSANDRA-17126] Removing usages of java.io.File and others from tests

Replaced the usages of java.io.File, java.io.FileInputStream, java.io.FileOutputStream, java.io.FileWriter and java.io.RandomAccessFile from tests.
Could not find alternative to RandomAccessFile.setLength(), so added checkstyle exceptions.

I think we are only using setLength() to set the size, and not truncate to that size, so we should be able to implement that ourselves if necessary to avoid the checkstyle exceptions.

Made code changes (by using position + write a byte) to set length of a file and removed checkstyle exceptions for RandomAccessFile except one place: org.apache.cassandra.io.compress.CompressedRandomAccessReaderTest#updateChecksum which is using FileDescriptor.


feat(expansion-panel): allow expansion panel header to be associated …

…with a role other than button
Add headerRole, toggleAriaLabel and toggleAriaLabelledBy inputs for expansion panel header. This allows expansion panel header to be associated with a role other than "button" so that interactive elements such as buttons could be added inside the header. When the expansion panel header does not have a role of "button", the toggle element will get a role of button, as well as aria attributes.

Closing due to inactivity after Jeremy's last response on April 1 - if you'd still like to try and land this change, feel free to open a rebased version


Running dotnet on Alpine Linux yields errors loading libstdc++ and libgcc

I'm trying to run a .NET Core 2.1 console application on an Alpine Linux (3.8.1) VM that's hosted by W10 HyperV. Just reaching out to the community to see if you can provide some guidance for getting up and running. Unfortunately, I'm experiencing some issues when I run dotnet from the Alpine Linux console.
For the Alpine Linux install, I followed this install procedure by mounting the 3.8.1 Virtual ISO (https://alpinelinux.org/downloads/) to the VM and answering the command prompt questions per the procedure. I installed OpenSSH, was able to login as root and run add-user. Then from a W10 admin command prompt, I ran ssh to get into the Alpine
Linux VM using ssh -l   and then ran su root.
I downloaded the .NET Core 2.1.2 runtime using the download link on this page and used PowerShell with Hyper-V Guest Services to transfer the ISO to Alpine Linux. From the Linux console, I executed:
mkdir $HOME/dotnet
tar zxf dotnet-runtime-2.1.2-linux-musl-x64.tar.gv -C $HOME/dotnet
All seemed well up to this point. However, when I run dotnet from the Linux console as root, I get the following output:

I was disappointed to see that the dotnet output suggests that gcc is needed since I was hoping to get away from gcc by using Alpine. The output prompted me to run apt to search, find & install libstdc++ and libgcc packages, which fail with the following unsatisfiable constraint error:

At this point, I'm at an impasse and in need of some guidance...

Sorry, a correction... it typed that I ran apt.... which should read that I ran apk

@wfurt @leecow any suggestions? I don't see libstd or libgcc in list of prereqs for Alpine or other distro: https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore21#install-net-core-for-supported-alpine-linux-versions-64-bit
cc @bartonjs

@janvorli to help puzzle out the sys dependency issue.

try apk add libstdc++. That is normally part of OS so it is not listed as extra prerequisite.

Tried apk add liststdc++
I can find the package with a search but Alpine shell returns 'unsatisfiable constraint' when I try to install the package

fwiw, here's a list of the installed packages. It's pretty much the Alpine Linux default set since the only 2 package install's i tried failed per my earlier comments.

and i mistyped - I did add the hvtools package

mistyped what? You should not need version when adding package and it is libstdc++ not liststdc++
bash-4.4# apk info libstdc++
libstdc++-6.4.0-r9 description:
GNU C++ standard runtime library

Mistyped "the only 2 package install's i tried failed per my earlier comments." - i did install hvtools.
Running:
apk add liststdc++
apk add libgcc
without version numbers worked. Now, when I run dotnet, i get the expected usage output.

For .NET Core 2.1.2 to work on Alpine Linux 3.8.1, these 2 packages are needed in addition to running tar on the runtime distributable.  Feeling a little rusty with my Linux commands at the moment... Thanks for you help in resolving this issue.

note that apk add libgcc should not be needed. That should be pulled in as dependency for libstdc++
do we plan Alpine specific instructions @leecow ?

Yep, do need to add Alpine steps to the docs.


added /api/auth/accounts endpoint to return oauth tokens

A method to retrieve OAuth tokens from the database was needed in order to use them with third-party APIs as Bearer tokens.

I just noticed that token rotation is not handled so having access to the OAuth refresh and access tokens isn't terribly helpful yet.

@tomvoss Thanks for starting work on this!
This is great and we should leave it open for a bit, until we have time to come back to it, if you don't mind?
The plan regarding token rotation is has been to handle it like this but call the API for the providers a user has to get a new access token if they existing access token has expired (and if it has, save the new token to the database, with the new expiry time).
What isn't clear yet is how many providers return the token in a similar way - basically how many providers will require special handling (probably not many I think) and/or don't actually return tokens.
Because going out to a third party service is a blocking call (even if most of the time we can re-use the result from the database) is probably sensible to expose per-provider endpoints (e.g. /api/auth/tokens/twitter or some thing like that) though technically we could also provide one endpoint that returns all provided tokens if that is easier to consume.
I don't think we should merge this it in yet, given the above, but maybe in a branch where we can work on that?
I think we could build on this to do that!

I went ahead and added the /api/auth/token endpoint and added logic to return a specific token type. It defaults to returning the access token, but could be easily modified to return all tokens or no tokens by default. It's currently limited to database sessions only.
My priority is to work towards automatically renewing expired tokens. My database's accounts.access_token_expires value is null for my Cognito account, but I was expecting it to contain the value returned from the provider with the OAuth tokens. Without integrating other providers into my project I can't know if it's null for other providers. It would be helpful if someone else would check their provider's value. I think this value will be important to know when to proactively renew an access token by exchanging the refresh token. The same is likely true for the refresh token itself.

I see now I probably should have used the plural form and made the endpoint /api/auth/tokens instead. I will fix that. While I'm at it I'll remove the /api/auth/accounts endpoint as I'm not sure that's necessary at this point.

@tomvoss Thanks Tom! Yes this looks great!
Yeah the expires value is currently blank for all providers as it's not saved. I'm very happy to add that to support this!
It shouldn't be hard to add I just didn't want to add it without verifying it was going to be stored correctly (i.e. without the date/time getting mangled) and I don't think I had time to test that so left it as is with the expectation of coming back to it.

I didn't expect to get this feature in v3 but given all this work it seems like worth a shot! :-)
I'll take a look at fixing what is missing (and doing it for both adapters) over the weekend.
Thanks for looking at this! I know there are a lot of moving parts and it's not an easy project to get started contributing to!

The endpoint is now /api/auth/tokens. If a provider is not specified then the entire accounts object is returned. We may want to return something slightly different there, but I pressed the easy button for now.
@iaincollins I'm not sure what your thoughts are for renewing tokens, but my first thought was to do something like /api/auth/tokens/:provider/:type/:action where action would be something like refresh or renew. I believe a manual renew method will be necessary even if we proactively renew tokens because a provider can invalidate refresh tokens or a client may attempt to use a token after it has expired and request that we renew it before sending it to them again.

@iaincollins I'm not sure what your thoughts are for renewing tokens, but my first thought was to do something like /api/auth/tokens/:provider/:type/:action where action would be something like refresh or renew. I believe a manual renew method will be necessary even if we proactively renew tokens because a provider can invalidate refresh tokens or a client may attempt to use a token after it has expired and request that we renew it before sending it to them again.

Oooh, that is a great point.
Thoughts:
I think it's good point to provide a way to clients to forcibly renew but maybe some sort of configurable frequency (and/or be disabled by default with an option to enable) so that people can't spam it and create a Denial of Service vector by triggering too many API invocations - as services like Google and Twitter limit how many requests per hour and per day from an application and the defaults are quite low.
As far as default behaviour for the end points, auto-rotating tokens on an HTTP GET if stale (which is technically breaking the RFC expectations of not making changes on a GET request) seems fair use IMO, as returning an Access Token only needs a valid session token and doesn't need CSRF token protection. As with JWT rotation or CSRF tokens I feel like it's an edge case where sticking strictly to the RFC for HTTP isn't in the spirit of user expectation.

@tomvoss Hey, just as aheads up, I've been thinking with all the other stuff going on for v3 I'm thinking we make this the main new feature of 3.1 (not to delay it, just so we can test it in isolation and get it right). I'm hoping we can wrap up v3 and get it out the door this weekend, as it's mostly dependant on change log / release notes to explain breaking changes at this point.
I don't think adding this involves any breaking changes, so should be easy to drop it in after, and actually I think in practice we can get it out sooner (as a beta, then release) if we take that approach. Does that sound okay?
Thanks again for working on this!

That sounds good to me.

@tomvoss Um sorry I didn't intentionally close this issue!

@tomvoss Ah sorry, it looks like like this happened because the branch was merge to main and also the repo moved form my personal account to an org account for v3 release.
Would you mind re-opening this PR against main on http://github.com/nextauthjs/next-auth? Thank you! :-)

Would you mind re-opening this PR against main on http://github.com/nextauthjs/next-auth? Thank you! :-)

Done. See PR 513.


has anyone written a xml parser?

Has anyone written an Python xml parser for using labels and BBoxes?

Hi @Irtza ,
Try this
https://github.com/amueller/ImageNet-parsing-Python/blob/25ebdb6d0bb14dc29eec732d62068697f84649bd/imagenet_analysis.py#L112


make a new directory for dumping results, checking first that is does…

… not already exist

Is it a problem that the default for dumplist is None, and not an empty tuple, (,) ?

yes, I wasn't sure how to give a suitable default as I don't know  how long it should be: i.e dumplist=(T,T,T) for 3d compressible but (T,T) for shallow water.
You could have if dumplist is None then dumplist=list of Trues the same length as fieldlist.

ok, or just don't have a default argument for dumpiest

If this passes tests I think it's good to go.


Version to 2.7.1

Dependency updates and actually uptaking the thing that should have been in 2.7.0

Why not wait for acfus 1.1.2 before making this release?

Because I don't want to manually put it in when it's just dependency updates. I don't mind saving some dev time as a trade-off to being two more weeks behind.


Traces received from k6 but not real user traffic

I can see traces in Jaeger from the k6 traffic but no traces when I hit the demo app via a browser.

Flag value changes to the CR are respected and hte application responds accordingly - so the flags are working.
Impact: Observability not app functionality.
The OFO controller manager has these logs:
2023-08-17T00:18:39Z	INFO	controller-runtime.metrics	Metrics server is starting to listen	{"addr": "<IP_ADDRESS>:8080"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FeatureFlagConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	skip registering a validating webhook, object does not implement admission.Validator or WithValidator wasn't called	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FeatureFlagConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.webhook	Registering webhook	{"path": "/convert"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	Conversion webhook enabled	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FeatureFlagConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FlagSourceConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	skip registering a validating webhook, object does not implement admission.Validator or WithValidator wasn't called	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FlagSourceConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.builder	Conversion webhook enabled	{"GVK": "core.openfeature.dev/v1alpha1, Kind=FlagSourceConfiguration"}
2023-08-17T00:18:39Z	INFO	controller-runtime.webhook	Registering webhook	{"path": "/mutate-v1-pod"}
2023-08-17T00:18:39Z	INFO	controller-runtime.webhook	Registering webhook	{"path": "/validate-v1alpha1-featureflagconfiguration"}
2023-08-17T00:18:39Z	INFO	setup	starting manager
2023-08-17T00:18:39Z	INFO	setup	restoring flagd-kubernetes-sync cluster role binding subjects from current cluster state
2023-08-17T00:18:39Z	INFO	controller-runtime.webhook.webhooks	Starting webhook server
2023-08-17T00:18:39Z	INFO	Starting server	{"kind": "health probe", "addr": "[::]:8081"}
2023-08-17T00:18:39Z	INFO	Starting server	{"path": "/metrics", "kind": "metrics", "addr": "<IP_ADDRESS>:8080"}
2023-08-17T00:18:39Z	INFO	controller-runtime.certwatcher	Updated current TLS certificate
2023-08-17T00:18:39Z	INFO	controller-runtime.webhook	Serving webhook server	{"host": "", "port": 9443}
2023-08-17T00:18:39Z	INFO	controller-runtime.certwatcher	Starting certificate watcher
I0817 00:18:39.360130       1 leaderelection.go:248] attempting to acquire leader lease open-feature-operator-system/131bf64c.openfeature.dev...
 But a request from a browser (via the port-forwarded browser) doesn't.
Why?

Single request using port-forward means a single request to the backend - but no traces


casperjs is not sending --ssl-ignore-errors

// mycasperjs.js
var casper = require('casper').create({
    verbose: true,
    logLevel: 'warning'
});

casper.start('https://url');
casper.then(function() {
	this.debugHTML();
});

casper.run(function() {
    this.exit();
});

$ casperjs mycasperjs.js
[warning] [phantom] Loading resource failed with status=fail (HTTP 200): https://url
$ casperjs --ignore-ssl-errors=yes mycasperjs.js
[warning] [phantom] Loading resource failed with status=fail (HTTP 200): https://url
// myphantomjs.js
phantom.casperPath = '/path/to/casperjs';
phantom.injectJs(phantom.casperPath + '/bin/bootstrap.js');

var casper = require('casper').create({
    verbose: true,
    logLevel: 'warning'
});

casper.start('https://url');
casper.then(function() {
	this.debugHTML();
});

casper.run(function() {
    this.exit();
});

$ phantomjs myphantomjs.js
[warning] [phantom] Loading resource failed with status=fail (HTTP 200): https://url
$ phantomjs --ignore-ssl-errors=yes myphantomjs.js
HTML

There's definitely a problem with native phantomjs arguments not passed to phantom through the casperjs executable, I'm on it.

Can you please test latest commits to check it solves the issue?

Ok forget it, it breaks everything else, reverting right now.

Yet another attempt to fix the issue, could you test it please? Thanks.

casperjs my.js --ignore-ssl-errors=yes
OK
casperjs --ignore-ssl-errors=yes my.js
ERROR
but --ignore-ssl-errors=yes is casperjs param... no my.js param

Should be ok now, can you confirm?

:D now is fixed...
THANKS

Same issue.
[warning] [phantom] Loading resource failed with status=fail (HTTP 200)
The site is HTTP, not HTTPS though.

Same issue.
Add " --ignore-ssl-errors=yes"
eg:casperjs my.js --ignore-ssl-errors=yes
Fix it

Got the saem error, but thanks to the magic
casperjs --ssl-protocol=any yourcode.js
finally I could solve my problem. Thank you a lot guys!!

Is there possible to post the arguments in the code?
e.g:
var casper = require('casper').create({
        ignoreSslErrors: true
});

Using: "phantomjs-prebuilt": "^2.1.4","casperjs": "^1.1.2" and still this error comes up, all of the ssl=any,tlsv1 and etc. are not helpful.  Not sure how to debug anything useful in this pathetic situation :/