Web component check boxes, switches, and list boxes don't bind in sample app

Repro steps:

Run the FluentUIServerSample
Browse the the Web components bindings
Try out the check boxes, switches, and list boxes

Expected results:

New value is correct bound

Actual result:

Bound value stays unchanged

@nicholasrice Is this bug a result of Blazor trying to update through the attribute and not the property (and special casing for built-ins around this scenario)? This has come up in the community again and we need to pick back up that discussion thread and drive for a resolution. We may need @chrisdholt to help with that as it may involve changes in our components to help work around the missing Blazor feature (binding to properties).

This is also being discussed in https://github.com/dotnet/aspnetcore/pull/27030. There is a solution in the PR which might be able to be baked into .NET 6

Yea that's my understanding of the issue. I think making components work with attributes or properties is the most pragmatic approach at this point, though I do wish Blazor (and other lacking UI systems) provided explicit property and attribute bindings.
If we do end up doing the work to make components work with properties or attributes, we'll need to make sure that form-associated controls still behave correctly in some of the edge-case scenarios like form resets and form-state restoration

I do wish Blazor provided explicit property and attribute bindings.

@stevesandersonms @javiercn Is this something we should consider in Blazor?

@danroth27 Today Blazor only works with attributes.
We've discussed this in the past, however its not something to be done lightly since it has an impact on the language and the runtime. If we think this is important we can put it on the list for 7.0, since this needs design and time to bake as the consequences of getting it wrong are bad.

@danroth27 Today Blazor only works with attributes.
We've discussed this in the past, however its not something to be done lightly since it has an impact on the language and the runtime. If we think this is important we can put it on the list for 7.0, since this needs design and time to bake as the consequences of getting it wrong are bad.

While I understand that you want this to be done right, waiting till 7.0 means there won't be a compelling reason to release this library until then. Ability to bind checkboxes etc is crucial.
Can an interim solution like mentioned in dotnet/aspnetcore#27030 be used to make binding possible sooner (and maybe even backported to 5.x)?

@vnbaaij my comment is strictly with regards to binding properties, not about binding to checkboxes, etc. There are other ways to solve that.

Good to hear. Thanks! For solving this binding problem, what would be the best option, you think?

@javiercn @vnbaaij  regarding model binding with Blazor @bind syntax, you have mentioned, "There are other ways to solve that."  What are these other ways? How can we use the workaround in .NET 5 to model bind to FAST radio, checkbox, select, etc. …. Right now, we are stuck in our evaluation for FAST components with balzor/asp.net core model binding?

What are these other ways?

I expect this refers to solutions like https://github.com/dotnet/aspnetcore/pull/27030

The components can also be updated to also update the DOM attribute, or some additional JS interop can be used to setup a callback on the element and trigger the attribute update (which should in turn trigger the event?)

Is there some way we can plug into Blazor's JS bridge? In that code there's some conditional logic that handles built-in inputs and chooses to set their properties instead of their attributes. Could the FAST team write some JS code that hooks into that to add our elements to a "list" of special cases? That would let us teach Blazor how to handle all these scenarios without introducing special syntax in Blazor or needing to make changes in the web components themselves. Thoughts? Does Blazor provide a JS global we could monkey patch or could you provide an official JS API for this case? My team is happy to contribute that work directly to Blazor if that seems like a reasonable solution. /cc @SteveSandersonMS @javiercn

@javiercn , @EisenbergEffect , I am not a DOM expert but i tried few solutions on hooking up some JS code with Blazor components. And Model binding now seems to work. It is definitely a hack but is this something that can work reliably till you guys provide a long term solution. Do you see any issues with the approach below ?
BlazorFastCheckBox.razor
    <fast-checkbox @ref="_element" id="@Id" checked="@CurrentValue" @onchange="@OnChangeHandlerAsync" disabled="@Disabled">
        @ChildContent
    </fast-checkbox>

        /// <summary>
        /// The @onchange handler for the fast-checkbox. We are introducing a hack here to force model bind with the underlying field.
        //  We rely on the checked class being applied when user changes the checked state.
        //  Verify with ms team that this is reliable and an acceptable work around.
        /// <param name="args"></param>
        /// <returns></returns>
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        private async Task OnChangeHandlerAsync(ChangeEventArgs args)
        {
                if (Disabled)
                {
                    return;
                }

                if (Id == null)
                {
                    await JsInteropService.AlertAsync("Id not provided for check box. Model binding requires a unique id.");
                    return;
                }

                // TODO:
                // https://github.com/microsoft/fast/issues/4782
                // https://github.com/microsoft/fast/issues/4248
                // https://github.com/microsoft/fast-blazor/issues/39
                // There are known issues around checkbox not model binding. For now we use the onchange event to get the HTML element and check it class list.
                // Fast component adds checked to class list to indicate checked state.
                bool checkedState = await JsInteropService.HasClass(Id, "checked");

                // For prerendering onchange event is called before the DOM will updated with checked class !
                if (RenderMode == "ServerPrerendered" || RenderMode == "WebAssemblyPrerendered")
                {
                    // TODO: HACK
                    // Another issue is for prerendering, onchange event is called before the updated HTML is rendered. So HasClass returns the previous 'checked' state.
                    // Since this is a toggle and value is true or false just flip the checkedState to indicate the new value.
                    checkedState = !checkedState;
                }

                // Update the model bind value.
                await ValueChanged.InvokeAsync(checkedState);

                // Make sure the edit context is notified of field change.
                EditContext.NotifyFieldChanged(FieldIdentifier);
        }

Interesting. It could be a little brittle basing it on the presence of a class. I think that might go away eventually. I'd like to get @nicholasrice's opinion on that as well as @chrisdholt. Do the JsInteropService provide a way to get a property value? Maybe that could be added and we could use that API. We could make this backward compatible with some conditional compilation to fall back to the class check too.
For the checking by Id, could we generate one if one isn't provided so that we don't have to pass that cost along to the developer?
In general, I'm not opposed to adding this sort of code in the few places it's needed if that enables the key scenario.

The async nature of DOM updates in FAST concerns me with this approach, where the class might not have changed prior to event emission depending on implementation details. We also generally try to not hoist classes onto the host element because it's very easy for libraries to clobber those classes (obviously checkbox is an exception), though in those cases we use attribute selectors which could theoretically be leveraged.
At some point we hope to use custom states / pseudo classes instead of real classes for some cases like this, at which point classes and attributes will go away, but it is unclear how long we'll be waiting for browser-support.

Not sure if this is same issue or new, but the FluentSelect component does not work for setting the current value.
Looking at source it's binding to the fluent-select value attribute:

The fluent-select is thin wrapper around the fast-select component in fast-foundation.
fast-select shows no Attribute for value, only a Property for setting / viewing the value in the spec.
I see fast-select extends FormAssociated which may have an attribute for value but doesn't seem to do anything:

var select = document.querySelector('fast-select');
select.value = "value"; // works!
select.setAttribute("value", "value") // does nothing, not sure if this would work anyway after component created

Might be making some incorrect assumptions as I'm not familiar with how blazor binds data to native webcomponents, working with the base fast-component doesn't work either with value:
<fast-select value="xxx"> <!-- does not show xxx as value -->
    <fast-option value="yyy">yyy</fast-option>
    <fast-option value="xxx">xxx</fast-option>
</fast-select>

Is this a blazor implementation issue or is the fast-select supposed to work with a value attribute?

@plaisted A few different things to note here:

This library currently only has wrappers for the fluent- components, not the fast- components. They are both based on the same foundation components though, so fixes we make in foundation should correct both design systems, regardless of whether these wrappers are being used or not.
The above RFC is absolutely related to the bugs with the select in general. The fix proposed should correct all our form components.
There is likely an additional issue with the select. A couple of people from our team have been talking about making some improvements around selected values for the select. I think those would either happen shortly after implementing the rfc or at the same time, depending on resources.

@javiercn , @EisenbergEffect , I am not a DOM expert but i tried few solutions on hooking up some JS code with Blazor components. And Model binding now seems to work. It is definitely a hack but is this something that can work reliably till you guys provide a long term solution. Do you see any issues with the approach below ?
BlazorFastCheckBox.razor
    <fast-checkbox @ref="_element" id="@Id" checked="@CurrentValue" @onchange="@OnChangeHandlerAsync" disabled="@Disabled">
        @ChildContent
    </fast-checkbox>

        /// <summary>
        /// The @onchange handler for the fast-checkbox. We are introducing a hack here to force model bind with the underlying field.
        //  We rely on the checked class being applied when user changes the checked state.
        //  Verify with ms team that this is reliable and an acceptable work around.
        /// <param name="args"></param>
        /// <returns></returns>
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        private async Task OnChangeHandlerAsync(ChangeEventArgs args)
        {
                if (Disabled)
                {
                    return;
                }

                if (Id == null)
                {
                    await JsInteropService.AlertAsync("Id not provided for check box. Model binding requires a unique id.");
                    return;
                }

                // TODO:
                // https://github.com/microsoft/fast/issues/4782
                // https://github.com/microsoft/fast/issues/4248
                // https://github.com/microsoft/fast-blazor/issues/39
                // There are known issues around checkbox not model binding. For now we use the onchange event to get the HTML element and check it class list.
                // Fast component adds checked to class list to indicate checked state.
                bool checkedState = await JsInteropService.HasClass(Id, "checked");

                // For prerendering onchange event is called before the HTML is updated with checked class !
                if (RenderMode == "ServerPrerendered" || RenderMode == "WebAssemblyPrerendered")
                {
                    // TODO: HACK
                    // Another issue is for prerendering, onchange event is called before the updated HTML is rendered. So HasClass returns the previous 'checked' state.
                    // Since this is a toggle and value is true or false just flip the checkedState to indicate the new value.
                    checkedState = !checkedState;
                }

                // Update the model bind value.
                await ValueChanged.InvokeAsync(checkedState);

                // Make sure the edit context is notified of field change.
                EditContext.NotifyFieldChanged(FieldIdentifier);
        }

I would have done this at the JS layer directly by capturing a reference to the element with a @ref and attaching a handler to update the value attribute and trigger the event.

Both core FAST PRs are now merged. We're also about to merge an update to the Blazor wrappers. We'll have one more Blazor wrapper update after that and then we should be able to close this as done.


New component: SunEditor

Pure javscript based WYSIWYG web editor, with no dependencies.
MIT Licensed: https://github.com/JiHong88/suneditor
To replace the removed CKEditor for WYSIWYG editing.

[ ] Theme switching https://github.com/JiHong88/suneditor/issues/978
[x] Sanitizing like TextEditor
[x] Extender support
[x] Test inside dialog
[x] Right-To-Left Support
[x] Button assignment using JSON?
[ ] Showcase examples including Locale switching

We could do it similar to CKEditor where all the dependencies are in a submodule if its a large amount of JS code.  If nots not that large we can just make it a core component.

My two cents here. Within ejsf I directly isolated all external resources within separate JARs. This strategy brings several advantages:

obviously a smaller core taglib JAR, and hence your WARs/EARs remain as small as possible, safeguarding build and deployment time.
because all npm stuff lives outside the core taglib, the development-deployment cycle improves drastically for the component development itself.
cleaner core taglib pom.xml

Looking at primefaces-extensions, there are several candidates to put the core taglib JAR like on a diet. Most prominent here is documentviewer I guess.
One could argue that for primefaces itself, having a single JAR makes it easier for newbies to get started. However, if I look at all the craziness required for "modern" JS based frameworks to get started, I doubt that this still holds as strong selling point. As for primefaces-extensions, I guess it's safe to assume that the audience here is capable of including an extra JAR every now and then.

For me personally I don't care much about JAR size as disk space of deployments is cheap.  I more care about what JS gets sent to the browser and for PFE every single component only sends its JS to the browser where in PF it packs a bunch of components into components.js.  I know why PF does it but I use OmniFaces CombinedResourceHandler so for me it would be more efficient if PF did the same as PFE and only send the components you were using to the browser!
But I know enforcing that requirement is not possible.

Great alternative to CKeditor ;)

Thanks @MatthSHo for doing the heavy lifting.  Its much easier for us to clean up and modify a component than to start with nothing!


Enabling more flexibility on AccountData data-structure inside pallet balances

type AccountStore: StoredMap<Self::AccountId, AccountData<Self::Balance>>;
At the moment if you want to extend or use different data structure is kinda painful.
So what can we do to make it more flexible and not requiring for people to fork and maintain pallet-balances
@Ank4n @kianenigma

This seems reasonable to me, but the downside is that it will be a slightly anooying change to downstream projects as they all have to add the new type config.
End of the day though, it should be done, just need to make sure it is well documented.

I don't get it. Just store it in a different pallet? Like how system pallet does.

Thinking about this again, I am with @xlc that:

If you want to change anything other than frame_system::AccountInfo, you need to use a new fork of the system pallet anyhow (I thought this was the intention and got more confused initially).
If you want to change the inner AccountData of AccountInfo, as noted, you can overwrite this in frame_system::Config, or use a new pallet that implements StoredMap.


[Repo Rearchitecture] Update Quickstart Details and Summary repository to use new Catalog Service API instead of OILS API.

Update Quickstart Details and Summary repository to use new Catalog Service API instead of OILS API.
Acceptance Criteria

[ ] Confirm if DevEx is doing this work.
[ ] IF so mark it done...

We've been getting some PRs for these changes.. so it possible this is covered by the work DevEx is doing, so this may be won't do.

relates to: GHE PR: catalog-pack-details/pull/80/


Alphabetise lists

Partially implemented. Manually ordered JSON in constructor and wrote a function to order object by alpha.


[Feature Request] Option to disable the toast "whoosh" sound

I quite like the visual style of it, but the whoosh is a bit distracting from the song as it starts playing. It would be really nice to have a way to disable the sound of it appearing and disappearing?

I've programmed this and it works, I'll see about getting a release out soon. Good idea!

This is now released in v1.3.0 on Fabric.


Label of Points

Good Morning,
My name is Jose, I'm from Spain and I have a problem with data representation using Chart.Bundle.js
When I try to represent data into a Graph, several points are showed without the correct charset and I cannot see the words correctly.

As we can see in the picture, the title of this point is: "Avenida Cristóbal Colón", instead of, the correct format: "Avenida Cristóbal Colón"
I need write the letters with accent symbol ("tilde" in spanish) and correct this aspect.
Thanks in advance
Jose.

@j0s38 can you put your example into a JSFiddle?

Looks like an issue with HTML codes not converting into their ASCII characters.
The easiest way for a quick fix is to do the conversion from code to ASCII outside of Chart.js, but I will see if I can get a solution using [String.fromCharCode()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) (which might get ugly with regex).

Submitted PR #3420

Closing, see reasoning in #3420


Add lookup final boundary constraints.

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#664  👈
#662
#646
#644 : 1 other dependent PR (#654 )
#642
#639
#638
#637
#636
#651
dev

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @alonh5 and the rest of your teammates on  Graphite

Codecov Report
Attention: Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.

Project coverage is 92.67%. Comparing base (9213842) to head (2eb3f98).

Files
Patch %
Lines

crates/prover/src/core/air/air_ext.rs
0.00%
6 Missing :warning:

crates/prover/src/core/air/mod.rs
0.00%
3 Missing :warning:

Additional details and impacted files
@@                                     Coverage Diff                                     @@
##           06-13-separate_constraint_point_evaluation_to_functions     #664      +/-   ##
===========================================================================================
- Coverage                                                    92.76%   92.67%   -0.09%
===========================================================================================
  Files                                                           71       71
  Lines                                                         9357     9366       +9
  Branches                                                      9357     9366       +9
===========================================================================================
  Hits                                                          8680     8680
- Misses                                                         598      607       +9
  Partials                                                        79       79

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Merge activity

Jul 8, 4:33 AM EDT: @alonh5 started a stack merge that includes this pull request via Graphite.


Cannot install from AUR - "One or more files did not pass the validity check"

First of all, great project.
I encountered an issue when installing atac from AUR in arch linux.
Tried both yay and paru, I get an error:
==> Validating source files with sha512sums...
    atac-0.12.0.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
 -> error making: atac-exit status 1

Seems like checksum validation fails.

@orhun I am definitly lacking some knowledge here

The PKGBUILD maintained by @orhun is not referencing the correct SHA512 sum. This is not an issue with ATAC itself. I suggest the following :

Read the AUR documentation on the Arch Wiki to learn how to install an AUR package without an AUR helper.
Copy the PKGBUILD from Orhun locally, and fix the sha512sums field (see below)
For reference, the correct sum for the release 0.12.0 is 6fac4c84fa72ceadc4a0076cb761faaf080a53e2c3fb8620bd9ae6bd75da6142562cd7c14190e02acca0f22ac94a1174c03ac726951fb1f15ad85770ef38ff59. To get that value, get the source as a tar.gz archive from the releases, e.g. https://github.com/Julien-cpsn/ATAC/releases/tag/v0.12.0 and run e.g. sha512sum ATAC-0.12.0.tar.gz

Yeah, I also couldn't reproduce the issue.

Package is not even available in AUR anymore https://aur.archlinux.org/pkgbase/atac

Package is not even available in AUR anymore https://aur.archlinux.org/pkgbase/atac

It has been move to official Arch repos https://archlinux.org/packages/extra/x86_64/atac

Installing with pacman works correctly now, closing.


Add e2e GRPC tests for bindings

Description
Replicate the existing bindings e2e tests to utilize
GRPC in addition to HTTP.
Closes: #1167
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-test

/ok-to-test

@yaron2 or @artursouza  please review.

@yaron2 or @artursouza  please review.

@halspang The version component needs to be added to the newly created yml file.

@halspang The version component needs to be added to the newly created yml file.


add AppDirect case study

/approve
@zacharysarah @kbarnard10 please review and merge when you have a chance, thank you!

/approve

@zacharysarah when you have a chance, will you please merge (I have been asked to make sure it goes live tmrw so they can notify AppDirect) - sorry if you are not the one I should be tagging for this!

@alexcontini I'm happy to merge this once code thaws for k/website. (We're frozen for release day.)

/lgtm

@alexcontini Can you make sure going forward the new case studies are added on the homepage and top section on the case studies pages?

thank you very much!!! @kbarnard10 will fix that right away


HOP-465

remove @PluginDialog from plugin ActionDialog
fix method ActionBase.getDialogClassName
remove @Deprecated from method ActionBase.getDialogClassName
fix error typo class ActionDeleteResultFilenames

I'll leave this PR open for now, we can do the same change for the transforms and we also have to change the way the documentation URL is fetched

ActionICheckFilesLocked.java has to be changed to ActionCheckFilesLocked.java, the classloader can no longer find the dialog now


Better navigation, stop/pause button, updated transformers.js, threshold input.

No need to merge if unwanted. Maintained to style goal of sticking to one index.html file.

Here's the live site using github pages:
https://varunnsrivastava.github.io/SemanticFinder/

This is so awesome, great work! Love the sidebar with the clickable results and it's even mobile-friendly 🎉
The threshold feature is fantastic to play around with!
Will merge it soon - first, I want to set up GitHub pages for the repo too (facilitates the workflow and deployment) and remove the site from my personal homepage.
Some very minor (mostly CSS-related) things:

a small margin/padding needed between CodeMirror textarea and buttons:

progress number and bar should be on one line if possible

progress bar should be full textarea width (seems like some conflicting CSS classes or flexbox stuff)

semantically, bootstrap differentiates between primary and secondary buttons. Submit should be primary (the dark blue color nudging the user to click it) while the prev and next buttons should be secondary (just a blue outline). This guides the user better.
with two parameters, the user might be overwhelmed (chars & threshold), so I guess we can't avoid a simple explanation maybe below the app for curious users
definitely feel free to add your name to the site! Alternatively we could just remove them altogether, I'll leave it up to you :)

Thanks for looking at my code! I'll take a look at these bullet points. My broader goal, which I've spent a few hours trying already, is to do automatic semantic segmentation in browser. That is, the parsing is completely automatic, with highlights based on textually relevant phrases. For that, "# chars" should be able to be dropped as a controllable parameter.
I was finding a floating "Results" title ugly but feel free to add it. There should already be a bootstrap column where it can go.

Fantastic!
For the "automatic segmentation" part I have a few links - but unfortunately no definitive answer. It's somewhat dependent on what you're looking for, how long your input text is, how much time you have and what you're aim is (find keywords or paragraphs?).
There is e.g. [langchain JS with RecursiveCharacterTextSplitter](https://js.langchain.com/docs/modules/indexes/text_splitters/examples/recursive_character) that could come in handy.
Else, just to compare how other communities deal with it, there is [haystack in Python](https://haystack.deepset.ai/tutorials/08_preprocessing#splitting).
It pretty much boils down to finding some kind of boundary (paragraph, sentence, word, character) or if the text split by the previous boundary still exceeds the input length for the model, the next finer boundary is chosen to reduce the segment length. Is that what you had in mind?

I might end up using an approach similar to RecursiveCharacterTextSplitter but the broader point of Semantic Segmentation is to specifically highlight/identify semantically relevant phrases. As an example, the current implementation selects.

So Hansel and Grethel sat by the fire, and at noon they each ate their pieces of bread. They thought their father was in the wood all the time,

Splitting the text by sentences might give us

So Hansel and Grethel sat by the fire, and at noon they each ate their pieces of bread. They thought their father was in the wood all the time,

which is an improvement. Splitting by commas, e.g. recursively, could get us the desired

So Hansel and Grethel sat by the fire, and at noon they each ate their pieces of bread. They thought their father was in the wood all the time,

The basic algorithm I'm considering is:

coarsely segment the text at a sentence/paragraph level
recursively segment individual pargraphs/sentences as clauses (along commas, semicolons, other punctuation)
combine contiguous groups of segments into a single "highlight"


fix object handling in replace operation

fixes #30
same fix as in AddOperation but changed to the way ReplaceOperation works

Merged with 08b196f9aee12cb952ae9d0312ad2ba18db82ead and release with v2.1.3.

:+1: for the PR(s).


Stoping when the eggroll.table is used

Hi,
When I am running the "run_logistics_homo_cluster.sh" as a host role.
The program stuck at the eggroll.init() when the RuntimeInstance.EGGROLL.table("federation", job_id, partition=10) which is exectly when the eggroll.table() is runing the self._create_table() which invoke the grpc client funcition self.kv_stub.createIfAbsent(create_table_info)
I check the "self.kv_stub" object creation that the self.channel has the correct port and host.
It seems like the request is sent and keep waiting for the response. And I didn't find the file which set up the KVServiceServicer.
Could you please tell me that what can lead to this problem and is the grpc server start up by some other files?
And if you can provide the module Readme file link for the module including the eggroll, federation and so on. It will really helpful.
Thank you very much!!

I have check the instalment of grpc by running the helloworld.proto to create a simple server and client.

i have the same problem, need help!!!!

It seems like the server file cannot be found.

Could you share your server_conf.json?
Normally you can find it under arch/conf/server_conf.json.

The server_conf.json is something like that
{
"party_id": "1",
"servers": {
"manager": {
"host": "<IP_ADDRESS>",
"grpc.port": 9360,
"http.port": 9380
},
"servings": [
"<IP_ADDRESS>:8001",
":8001"
],
"proxy": {
"host": "<IP_ADDRESS>",
"port": 9370
},
"roll": {
"host": "<IP_ADDRESS>",
"port": 8011
},
"federation": {
"host": "<IP_ADDRESS>",
"port": 9394
}
}
}
And I find this conf json in the other server have all the same ip values, while in this server, there is a different value in the "servings". Does it affect?
Thank you!

The server_conf.json is something like that
{
"party_id": "1",
"servers": {
"manager": {
"host": "<IP_ADDRESS>",
"grpc.port": 9360,
"http.port": 9380
},
"servings": [
"<IP_ADDRESS>:8001",
":8001"
],
"proxy": {
"host": "<IP_ADDRESS>",
"port": 9370
},
"roll": {
"host": "<IP_ADDRESS>",
"port": 8011
},
"federation": {
"host": "<IP_ADDRESS>",
"port": 9394
}
}
}
And I find this conf json in the other server have all the same ip values, while in this server, there is a different value in the "servings". Does it affect?
Thank you!

This looks like a configuration issue so we have to check on logs to see what goes wrong.
Please check fate-roll.log at <IP_ADDRESS>. You can tail -f it in one terminal, and run eggroll.init(job_id, 1) in another terminal to see if there is any error message in fate-roll.log, or what are the last messages before getting stuck. Thank.
Oh, almost forgot. Serving module does not affect eggroll.


feat: add a checkbox for a complete Todo

Description:
Add a checkbox for a complete Todo, besides of edit button.
Related Screenshots:

@Anshgrover23 can you assign me this issue ?
I am interested in solving the one.

Please assign this issue to me @Anshgrover23 ,
It will take me no time to complete, also am i beginner here in the hacktoberfest. If you assigned i will be surely completing it in no time. Please let solve this. And please assign the issue with the hacktoberfest tag.

/assign

@Anshgrover23 could  you please assign me this issue.

utc time: UTC+5:30

@Anshgrover23
UTC time : 6:01pm

utc time : UTC+6:04 PM

@Anshgrover23 I am a beginner so just wanted to know aren't the tasks assigned on the first come first serve basis?


Fix 'switch' unreached 'default' path

Removing default directly will cause compilation errors. Replace switch with if
Fix: #1124
Signed-off-by: yaohuixguo<EMAIL_ADDRESS>

@yaohuixguo How did you detect this issue? Does this cause a warning with -Wextra?

@yaohuixguo How did you detect this issue? Does this cause a warning with -Wextra?

Removing default directly will cause -Werror=switch
enumeration value ‘LIBSPDM_RSA_KEY_N’ not handled in switch [-Werror=switch]

This seems not a fix, but a work-around.


All project settings and editor settings are marked as reversible, despite not being modified from their default values

Godot version
4.0.dev (393a44b27). This does not occur in 4.0.dev (8f6cba3a4)
System information
Fedora 34, GeForce GTX 1080 (NVIDIA 495.46)
Issue description
All project settings and editor settings can be reverted to their default value, despite not being modified from their default values:

Clicking the revert button seems to pick the lowest possible value (e.g. first value of an enum), even if it is not actually the default value. For instance, reverting the Depth of Field Bokeh Shape setting will revert to Box, despite the default being Hexagon.
This does not affect the inspector.
Steps to reproduce

Open the Project Settings or Editor Settings in any project.

Minimal reproduction project
N/A

Probably a regression from #56176, CC @RandomShaper.


Clustering

WIP, not to merge but start review.
It implements main scalability design discussed on F2F.
It is not finished but main design is mostly implemented.
Main goal is to partition triggers on AlertsEngine in a explicit way having fine granularity but without adding complexity.
This design minimize the data that is shared and the calls between nodes trying to offer a lightweight state transfer.
I hope to finish the work soon, but comments are welcome @jshaughn .
Thanks

In general this looks good to me so far!

Thx for your review.
I'm going to update in the branch the feedback from the EAP64 branch and your last suggestions.
I will be working on this branch for it.

Hi @jshaughn, I've updated the PR and now with tests for standalone scenario.
I will do more tests but locally I confirmed no regressions and expected behaviour.
Please, take a look into the changes to see if you spot something missing.
Thanks,

I have left the compatible code for EAP64 on the branch and it is mixed with the Clustering one.
Changes are trivial and can be reverted later once we have confirmation that platform will not be needed.
I fixed a small issue for a use case where partition logic was wrong and now cluster works fine.
But this branch is still in WIP, I have noticed a cornercase that is not yet covered.
For "chained" triggers, the generated events should be propagated as well across nodes.
In the future we can work with "affinity" concepts (i.e. put all chained triggers together), but for a first version, propagating data should be enough.
I will fix it as last task for this PR.

I have fixed a last issues with +3 nodes cluster where partition state was not properly synchronized.
I have updated Cluster tests to coverage more harder scenarios and take some preliminar figures about performance as well.
@jshaughn, from my side, the branch is ready for a final review.


TestURLSession - remove some forced unwraps

We want to start enabling URLSession tests iteratively and monitor the CI for failures. I'm creating this PR for enabling URLSession tests that use a completion handler only, with two changes that will help us understand any CI failures better:

Some extra XCTAssert* calls, printing out errors if they occur
Elimination of all forced unwraps

@swift-ci please test

I am merging this now and will continue to monitor the CI.

@swift-ci test and merge


[BUG] Can't drag chart view on firefox.

On tradingview charts you can drag left to right to move the X axis. You can't do this on the kline charts.
Is there a way to allow dragging the view on the x axis?

I see this is a bug related to firefox. I am able to drag the chart using chrome, but not firefox.

I see this is a bug related to firefox. I am able to drag the chart using chrome, but not firefox.

This bug wasn't there before, it's probably something new emerged since the sample has been ported to version 9. But this problem doesn't exists in the library when you use it, because I use version 9 and I can drag it.

I am facing the same issue, on Firefox I can't drag the chart on the X axis, on Chrome it does work but as soon as I drag either to left or right, the chart gets back to its initial position.

I am facing the same issue, on Firefox I can't drag the chart on the X axis, on Chrome it does work but as soon as I drag either to left or right, the chart gets back to its initial position.

Have you actually used the klinechart in your own code or do you also mean the klinecharts sample ?

My own code, it's been a bit hard to upgrade from v8 to v9.

I am facing the same issue, on Firefox I can't drag the chart on the X axis, on Chrome it does work but as soon as I drag either to left or right, the chart gets back to its initial position.

Have you actually used the klinechart in your own code or do you also mean the klinecharts sample ?

My own code, it's been a bit hard to upgrade from v8 to v9.

Must be something to do with the latest version. I use 9.0.0-alpha5 and with firefox I have no problem. Try one of previous relases.

This is a very serious bug. I already know why. Fix it immediately.

This is a huge issue, didn't notice until now as I use Chrome. Can someone please patch this ASAP?

This is a huge issue, didn't notice until now as I use Chrome. Can someone please patch this ASAP?

It looks like fixed already.

It seems that drawing lines also does not function properly on firefox. (im testing this on the sample on the website)
I can click on a line but the chart freezes. If i scroll, the line moves to the position of my cursor but i can't move it otherwise and can't place it down.

It seems that drawing lines also does not function properly on firefox. (im testing this on the sample on the website)
I can click on a line but the chart freezes. If i scroll, the line moves to the position of my cursor but i can't move it otherwise and can't place it down.

He propably hasn't updated the sample yet with the latest release. Check back later.

Is still not working on safari, i just updated lib at main branch.

Maybe you need to rebuild or directly reference.

It still not working on safari, i just updated lib at main branch.

Maybe you need to rebuild or directly reference.

v9.0.0 fixes this and the sample on the website now works properly


fix: add ignore radius flag

Checklist

[X] I have read the coding guide

Description
In chain-less mode the topology depth is not updated, staying at 0.

This change is

Just tested and it solves the problem for me:
"population":2526,
"connected":108,
"timestamp":"2022-05-04T14:20:06.923154+02:00",
"nnLowWatermark":3,
"depth":8,
...

Here is the config just for a reference
api-addr: <IP_ADDRESS>:1633
debug-api-addr: <IP_ADDRESS>:1635
debug-api-enable: true
password: <censored>
swap-enable: false
swap-initial-deposit: 0
mainnet: true
full-node: false
chain-enable: false
cors-allowed-origins: '*'
use-postage-snapshot: true
data-dir: <censored>
transaction: 0x01208d6ba7ab04515219befb64e286d13efbd7fa6483892a6f26e9c1de5157cb
block-hash: ae5e61f258e8420a1d3c5e75dd82c0f1c86b51a2986e6c49ba457ed592c34d0b%

Checked the latest version cf9a4b7 and it also works


ci: Update stale bot config

Stale bot does not seem to be working.  Use a standard config. Perhaps
it will fix the problem.

Trivial change. Merged without review.


use kebab-case for inputs

For consistency with other github actions.
Rename  e.g. working_directory to working-directory

@mattwynne is this still relevant? the with param on github actions is from their API, so I think it needs to be snake cased?

Yeah, it's still relevant. It's minor though. The work would be in going over all the places where we use it (e.g. here) to change the way we're using it.


Logic does not work if columns are autogenerated (Not defined in Xaml)

Hi,
Your logic is based on

Which encapsulates :

If we do not define column whith this type in Xaml  :
There is no way to show filter with  method ShowFilterCommand :

Best regards

I retry it works


Using screen in git-bash is not normal

When I use git-bash to create the screen, the bottom status bar is abnormal, and there is no problem if I use powershell

~/.screenrc
# Set default encoding using utf8
defutf8 on

defencoding utf8
encoding utf8 utf8

shell -$SHELL

#set the startup message
startup_message off
term screen

#termcapinfo xterm|xterms|xs ti@:te=\E[2J
# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# # (This fixes the "Aborted because of window size change" konsole symptoms found
# #  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

altscreen on

defscrollback 10000

#hardstatus alwayslastline  "%{= kw}%-w%{= kG}%{+b}[%n %t]%{-b}%{= kw}%+w %=%d %M %0c %{g}%H%{-}"
caption always "%{= kw}%-w%{= kG}%{+b}[%n %t]%{-b}%{= kw}%+w %=%d %M %0c %{g}%H%{-}"

vbell off

#Keboard binding
# bind Alt+z to move to previous window
bindkey ^[z prev
# bind Alt+x to move to next window
bindkey ^[x next

# bind Alt`~= to screen0~12
bindkey "^[`" select 0
bindkey "^[1" select 1
bindkey "^[2" select 2
bindkey "^[3" select 3
bindkey "^[4" select 4
bindkey "^[5" select 5
bindkey "^[6" select 6
bindkey "^[7" select 7
bindkey "^[8" select 8
bindkey "^[9" select 9
bindkey "^[0" select 10
bindkey "^[-" select 11
bindkey "^[=" select 12
# bind F5 to create a new screen
bindkey -k k5 screen
# bind F6 to detach screen session (to background)
bindkey -k k6 detach
# bind F7 to kill current screen window
bindkey -k k7 kill
# bind F8 to rename current screen window
bindkey -k k8 title

You have deleted the bug template. Please don't do that -- it makes it very hard for us to triage bugs.

What version of Terminal are you using?
What version of Windows?
What version of Git for Windows?

You have deleted the bug template. Please don't do that -- it makes it very hard for us to triage bugs.

What version of Terminal are you using?
Windows Terminal 0.11.1251.0

What version of Windows?
Windows 10 enterprise 1909 18363.959

What version of Git for Windows?
Git for Windows <IP_ADDRESS>

You are using a very old prerelease version of terminal. Please check if your bug still reproduces on 1.1, the latest version. The version you are using is from March. :)

You are using a very old prerelease version of terminal. Please check if your bug still reproduces on 1.1, the latest version. The version you are using is from March. :)

I entered the wrong version number, and there are still problems after upgrading the version,
I think it's a git-bash problem, but I couldn't find a place to ask, so I asked for help here

Thanks for the info! That is an older verison of git for windows. Does it still happen with Git for Windows 2.28?

Thanks for the info! That is an older verison of git for windows. Does it still happen with Git for Windows 2.28?

Thanks, when I upgraded to the latest version of git, it was normal

Thank you for confirming!


do not allow more than one compute machine pool on GCP

Need to figure out how we handle extra compute machine pools. Either reuse existing subnets, or handle creating of new subnets as needed.
For now simply only allow the single original machine pool.

/test e2e-gcp

@staebler ok, we're now enforcing the name 'worker' and checking for reuse of names

/test e2e-gcp

/test e2e-gcp

/test e2e-gcp


Unable to find image '5672:5672' locally

when running this command
docker run -it --rm --name rabbitmq -P 5672:5672 -P 15672:15672 rabbitmq:management
I have this error
Unable to find image '5672:5672' locally
docker: Error response from daemon: pull access denied for 5672, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

@MohammedAlwadey please use lowercase for the -p flags:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

@MohammedAlwadey please use lowercase for the -p flags:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

If I use lowercase anther error happens

@MohammedAlwadey can you share the error log message?

@MohammedAlwadey can you share the error log message?

I come to try it again and the error didn't appear 🙃
But I have another error 😅

@MohammedAlwadey can you share the error log message?

Why the state not change Succeeded

Can you verify that the file myshop/myshop/__init__.py contains the following?
# import celery
from .celery import app as celery_app

__all__ = ['celery_app']

As in https://github.com/PacktPublishing/Django-4-by-example/blob/main/Chapter11/myshop/myshop/init.py


Fix for PWAs and command prompt not showing up as the first result

Summary of the Pull Request

Applications which take in no arguments should show up before others.

PR Checklist

[x] Applies to #3461, #3459
[ ] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Applications which take in no arguments are scored higher than the others.
The IShellLink interface is used to extract the arguments that the object takes and if an application does not take any arguments, it's score is increased by 5.

Validation Steps Performed

Solves the ranking of PWAs issue -

Solves the command prompt issue -

[clarification] Why do we need to put applications which take no arguments to be scored higher than the others? It might be possible that application which takes no argument be more relevant because of a direct name/executable name match.

@jjw24 and @bao-qian, this might be useful to prioritize results.

[clarification] Why do we need to put applications which take no arguments to be scored higher than the others? It might be possible that application which takes no argument be more relevant because of a direct name/executable name match.

Discussions are in the issues - https://github.com/microsoft/PowerToys/issues/3461. However, the main reason to do this is because most of the main applications don't take in arguments whereas PWAs and related applications do (based on user experience).
Also, the increase in score is not very high so as to overshadow other applications which have a higher match. Most of the score increments are in the order of tens. Normally strong matches have scores of above 80/90 so this increment would majorly help in prioritizing those cases where multiple applications have the same exe and hence the same score.

@alekhyareddy28 Here is one scenario I came across that might be interesting.

Clear cache in appdata folder.
Run powertoys and query "Edge". You get the following output.

Click on outlook and launch outlook. Requery "Edge" and you will get the following output.

I think this is happening because querying "Edge" second time takes the history of opened apps into consideration and it is overshadowing the increment that is added for having no arguments. So basically once you open PWA apps they will be scored higher on subsequent queries and the increment will not be enough to overshadow it.

@alekhyareddy28 Here is one scenario I came across that might be interesting.

Clear cache in appdata folder.
Run powertoys and query "Edge". You get the following output.

Click on outlook and launch outlook. Requery "Edge" and you will get the following output.

I think this is happening because querying "Edge" second time takes the history of opened apps into consideration and it is overshadowing the increment that is added for having no arguments. So basically once you open PWA apps they will be scored higher on subsequent queries and the increment will not be enough to overshadow it.

This is the expected behavior with what we have as of now.
Everytime a result corresponding to a query string is selected, the score for that result corresponding to that query increases by 5. Therefore, if we open the outlook PWA when the query is edge, the score for outlook increases because it seems like the user wanted that result for that search query.
As discussed with @somil55, this seems to be more of a design decision where we keep the app without any arguments always as the first result. Looping in the PMs for their thoughts on the same, @crutkas , @jyuwono.

sync'ed.  We feel we need to do additional work to properly detect PWAs but this solution does handle one of hte scenarios.
We also need to add in an additional bit of code to verify an upgrade path from .18 to clear the app data for search results


Fixing the backend to update hadeeths at EST time not UTC time + send the email at a specified time

Update the db collections as needed and make sure it's testable


[Chore] Remove usage of internal gradle & deprecated method calls in gradle 8.9

🐛 Describe the bug

Some methods in the build.gradle.kts are deprecated and in gradle 8.9 also internal. This should be fixed.
⚠ Current behavior

The build fails with gradle 8.9 and uses deprecated methods
✅ Expected behavior

Gradle 8.9 works and the files do not use deprecated methods
💣 Steps to reproduce

📷 Screenshots

📱 Tech info

Device:
OS:
Library/App version:

Some methods in the build.gradle.kts are deprecated and in gradle 8.9 also internal. This should be fixed.

If you're referring to:
https://github.com/cortinico/ktfmt-gradle/blob/75c91b689895da29731d667e27859be21d72c62c/plugin-build/plugin/build.gradle.kts#L67-L72
Yup that can probably go now to unblock 8.9 migration

Yes, I would also remove the other deprecated calls.
I think it is also possible now with testKit to simplify the dependency setup. I will see what is possible and create a PR

Sure let's do it 👍


What is the recommendation WRT restore and push?

So, the latest version of this documentation recommends use of NuGetAuthenticate and states that restore and push will only receive critical updates.
Is the recommendation to move away from using the dotnet cli task to do restore and push and move to using the "new" NuGetCommand task?
Is that recommendation going to apply to using dotnet cli on our desktops too, requiring direct use of nuget.exe again?
Also, when the decision to only take critical updates for restore and push was made, was the LARGE cost to users leveraging ADO pipelines taken into account?  We have literally hundreds of pipelines that will require editing, validation, etc.

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

ID: 5825539f-634b-03d6-35f0-b532177a5e3b
Version Independent ID: 5825539f-634b-03d6-35f0-b532177a5e3b
Content: DotNetCoreCLI@2 - .NET Core v2 task
Content Source: task-reference/dotnet-core-cli-v2.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-tasks
GitHub Login: @steved0x
Microsoft Alias: sdanie

@c0rn3liusha11 -- thank you for your feedback and questions.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@steved0x -- please look into this issue.

@WilliamAntonRohm  @steved0x  Any updates on this? Is the recommendation to move to the NuGetCommand task?

Thank you for your feedback. We are migrating this issue to our new documentation feedback system, and closing this issue.
As we phase out GitHub issues for this repository, we encourage you to propose changes using public PRs or submit feedback through our updated control at the top of the page. For more information on our feedback systems, see https://aka.ms/contentuserfeedback.


Error: No matching login attempt found

I get the following error using meteor-accounts-linkedin only on mobile, using a Android/ Google Chrome 54.
When Linkedin redirects me to my app, the app cannot login.
message: No matching login attempt found [145546287]
stack:
Error: No matching login attempt found [145546287]
at [object Object]. (packages/accounts-oauth.js:113:21)
at packages/accounts-base/accounts_server.js:471:32
at tryLoginMethod (packages/accounts-base/accounts_server.js:248:14)
at AccountsServer.Ap.runLoginHandlers (packages/accounts-base/accounts_server.js:468:18)
at [object Object].methods.login (packages/accounts-base/accounts_server.js:531:27)
at [object Object].methodMap.(anonymous function) (packages/meteorhacks_kadira.js:2731:30)
at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1712:12)
at packages/ddp-server/livedata_server.js:711:19
at [object Object]..extend.withValue (packages/meteor.js:1122:17)
at packages/ddp-server/livedata_server.js:709:40
https://ui.kadira.io/et/5cba73dd-bbd4-44c0-bff5-504eb116e2c4/qxeEaGEwHYCHvEMfP

Did you find a solution?


Initialize with provider

I want to use the rateMyApp instance everywhere in my App:
import 'package:flutter/material.dart';
import 'package:rate_my_app/rate_my_app.dart';

class RatingService extends ChangeNotifier {
  RatingState ratingState = RatingState.loading;
  RateMyApp rateMyApp = RateMyApp(
    preferencesPrefix: 'rateMyApp_',
    minDays: 0, // Show rate popup on first day of install.
    minLaunches:
        2, // Show rate popup after 5 launches of app after minDays is passed.
    googlePlayIdentifier: 'com.intervall_fasten.app',
    appStoreIdentifier: '1442203676',
  );

  RatingService() {
    initRating();
  }

  Future<void> initRating() async {

    await rateMyApp.init();

    ratingState = RatingState.available;
    notifyListeners();
  }
}

enum RatingState {
  loading,
  available,
  notAvailable,
}

and
 return MultiProvider(
        providers: [
          ChangeNotifierProvider<RatingService>(
            create: (context) => RatingService(),
          ),
...

But I get the following error:
LateInitializationError: Field 'minimumDate' has not been initialized.
Is there a way to achieve this?

solved it with
if (rating != null && rating.ratingState == RatingState.available) {
      print("ratingState: " + rating.ratingState.toString());
      print("rating: " + rating.rateMyApp.shouldOpenDialog.toString());
}


API request limiter and queue

I've just discovered some limitation in the Riot API, which is that you can be banned temporarily/permanently if you hit the number of requests limit on your API key (I thought they would just say "Forbidden, try later").
I will then have to implement some sort of queue, in which all the API requests will be put before even contacting your library (some kind of proxy).
I was wondering in which measure your library could already implement a queue, with some initial methods to parametrize the user's key limits (X requests per 10s, Y requests per 10m, ...) ? (or even auto-discovery with X-Rate-Limit headers returned by the API).

You can be banned if you exceed your rate limits constantly, but if you back off for the amount of time specified in the retry after header. You could go fancier using the Rate Limit Count Header too, but unless you're running something intense that requires the utmost optimization on your end, it is very likely overkill.

Actually, I'm using quite intensively the API in batch mode, querying many game data etc.
Some wrapper I made around your API to overcome this :
package me.biru.labs.service;

import me.biru.labs.util.Utils;
import net.rithms.riot.api.RiotApi;
import net.rithms.riot.api.RiotApiException;
import net.rithms.riot.dto.Game.RecentGames;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.concurrent.TimeUnit;

/**
 * Wrapper for the Riot API counting requests and limiting it withing the rate limit.
 * This will prevent an overuse of the API and receiving "forbidden" status from the API.
 *
 * @author Brice Ambrosiak
 */
@Service
public class RiotApiWrapper {
    private final Logger log = LoggerFactory.getLogger(this.getClass());

    /** Riot API service */
    private RiotApi riotApi;

    /** Rate limits to the Riot API */
    private List<RateLimitDto> rateLimits;

    @PostConstruct
    public void init() {
        rateLimits = new ArrayList<>();
        rateLimits.add(new RateLimitDto(10, TimeUnit.SECONDS, 10));
        rateLimits.add(new RateLimitDto(500, TimeUnit.MINUTES, 10));
    }

    //TODO Implement all API requests
    public RecentGames getRecentGames(long summonerId) throws RiotApiException {
        registerRequest();
        return riotApi.getRecentGames(summonerId);
    }

    public long fakeRequest() {
        log.info("Fake request.");
        registerRequest();
        return System.currentTimeMillis();
    }

    /**
     * Registers the request made to the API
     * Waits until the request can be sent (within rate limits) and will sleep 1 second between each wait
     * Also update and clean the queues
     */
    private void registerRequest() {
        log.debug("Registering request...");

        // Wait until request can be made
        while (!canSendRequest()) {
            Utils.sleep(1);
            log.debug("Waiting 1 second...");
        }

        // Add the new request as timestamp
        long t = System.currentTimeMillis();
        for (RateLimitDto rateLimit : rateLimits) {
            rateLimit.getLastRequests().add(t);
        }

        log.debug("Request registered.");
    }

    /**
     * Checks if the request can be sent to the API, and cleans old requests
     * Will check each rate limit declared
     *
     * @return True if the request can be sent
     */
    private boolean canSendRequest() {
        log.debug("Checking if the request can be sent...");
        long tNow = System.currentTimeMillis();

        for (RateLimitDto rateLimit : rateLimits) {
            cleanOldRequests(tNow, rateLimit);
        }

        return checkRateLimits();
    }

    /**
     * Cleans old requests of the given rate limit, given the current timestamp considered
     *
     * @param tNow Current timestamp
     * @param rateLimit Rate limit for which to clean old out-dated requests
     */
    private void cleanOldRequests(long tNow, RateLimitDto rateLimit) {
        // Clean old requests
        log.debug("{} hits in the last {}. Cleaning old requests...", rateLimit.getLastRequests().size(), rateLimit);
        boolean endLoop = false;
        while (!rateLimit.getLastRequests().isEmpty() && !endLoop) {
            long tLastRequest = rateLimit.getLastRequests().peek();
            long tDiff = rateLimit.getTimeUnit().convert(tNow - tLastRequest, TimeUnit.MILLISECONDS);
            // It has been more than 10 seconds since last request was done, clean it
            if (tDiff > rateLimit.getIntervalInGivenTimeUnit()) {
                long tClean = rateLimit.getLastRequests().poll();
                log.debug("Cleaned request {} ({} {} ago).", tClean, tDiff, rateLimit.getTimeUnit());
            } else {
                // We are trying to do a request withing the 10s interval, it's still forbidden, nothing to clean
                endLoop = true;
            }
        }
    }

    /**
     * Check all rate limits defined, and tell if they are over or not
     *
     * @return False at the first rate limit exceeded, True otherwise
     */
    private boolean checkRateLimits() {
        for (RateLimitDto rateLimit : rateLimits) {
            log.debug("Checking {} limit...", rateLimit);
            if (rateLimit.getLastRequests().size() >= rateLimit.getMaxRequests()) {
                log.debug("{} limit exceeded.", rateLimit);
                return false;
            }
        }
        log.debug("Rate limits are OK.");
        return true;
    }
}

/**
 * Data object holding a rate limit information
 */
class RateLimitDto {
    /** Queue storing all previous requests made to the API */
    private Queue<Long> lastRequests;
    /** Maximum number of requests that can be made in the given interval */
    private int maxRequests;
    /** Time unit of the interval */
    private TimeUnit timeUnit;
    /** Interval for which the maximum number of requests are counted, in time unit */
    private int intervalInGivenTimeUnit;

    public RateLimitDto(int maxRequests, TimeUnit timeUnit, int intervalInGivenTimeUnit) {
        this.lastRequests = new LinkedList<>();
        this.maxRequests = maxRequests;
        this.timeUnit = timeUnit;
        this.intervalInGivenTimeUnit = intervalInGivenTimeUnit;
    }

    public Queue<Long> getLastRequests() {
        return lastRequests;
    }
    public void setLastRequests(Queue<Long> lastRequests) {
        this.lastRequests = lastRequests;
    }
    public int getMaxRequests() {
        return maxRequests;
    }
    public void setMaxRequests(int maxRequests) {
        this.maxRequests = maxRequests;
    }
    public TimeUnit getTimeUnit() {
        return timeUnit;
    }
    public void setTimeUnit(TimeUnit timeUnit) {
        this.timeUnit = timeUnit;
    }
    public int getIntervalInGivenTimeUnit() {
        return intervalInGivenTimeUnit;
    }
    public void setIntervalInGivenTimeUnit(int intervalInGivenTimeUnit) {
        this.intervalInGivenTimeUnit = intervalInGivenTimeUnit;
    }

    @Override
    public String toString() {
        return getIntervalInGivenTimeUnit() + " " + getTimeUnit();
    }
}


Enhancing the FSM sub-language

 Issue by whitequark
Saturday Sep 14, 2019 at 21:22 GMT
Originally opened as https://github.com/m-labs/nmigen/issues/206

It looks like the existing FSM sub-language is not expressive enough (e.g. #195, #205). Right now it is implemented in a very minimal way: only the absolute necessary parts. Predictably, this does not cover some interesting cases.

Apart from act, oMigen had delayed_enter. I've never seen it actually used (looks like it is only used in misoc/cores/minicon and misoc/cores/lasmicon) and the implementation seems very wasteful, as it expands the entire delay into FSM states, which has a serious potential to bloat the FSM state register and prevent further optimizations.
Apart from ongoing, oMigen had before_entering, before_leaving, after_entering and after_leaving. The after_* methods worked fine, but before_* were prone to combinatorial loops, and IMO are more of an attractive nuisance than a good way to structure your code.
Right now, nMigen requires that a state would be defined in exactly one with m.State() block. (@RobertBaruch hit this in #195) This does not match oMigen, where any amount of fsm.act statements would work, and they would be appended in execution order. However, @emilazy correctly notes that this does not work the same way as switches (which are priority encoders, with earlier cases overriding later cases), and this could be confusing.
Right now, m.next can only be written, not accessed. (@RobertBaruch hit this in #205) This does match oMigen, but could be useful in some cases. @emilazy notes that having a write-only property is confusing, however, we don't currently have anything like first-class enumerated signals, so it's not clear what m.next would even return; certainly it could not be a string.

Not directly related, but it would be nice if FSMs could be somehow outputted as dot files and rendered with graphviz :)

Moreover, it came up, that nested FSMs should be supported.
Maybe also with support for flattening?

Moreover, it came up, that nested FSMs should be supported.
Maybe also with support for flattening?


nixos/nix-daemon: workaround NixOS/nix#6285

nix-daemon.socket is used to socket-activate nix-daemon.service when
/nix/var/nix/daemon-socket/socket is accessed.
Having a ConditionPathIsReadWrite on the /nix/var/nix/daemon-socket
directory will cause systemd to just skip if it's not present yet.
[ 237.187747] systemd[1]: Nix Daemon Socket was skipped because of a failed condition check (ConditionPathIsReadWrite=/nix/var/nix/daemon-socket).

As it's the nix-daemon itself that creates this directory, we're in a
chicken-and-egg problem - as long as the folder isn't created,
nix-daemon won't start (as it's only socket-activated), and the socket
unit will get skipped, as the directory doesn't exist yet.
I think we don't actually want to skip starting the socket unit when the
directory doesn't exist yet.
This has surfaced in the systemd 250 bump (which probably did apply some
more rigid checks), where tests with containers that bind-mount
/nix/var/nix/daemon-socket started to fail.
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Based on the feedback in https://github.com/NixOS/nix/pull/6282#issuecomment-1072247099, this has been updated.

I updated this PR. It now targets staging-next, and contains a simple tmpfiles rule addition, instead of patching the Nix package:
commit 8b24f7b5914d6b56b76566d340de89de78d42549
Author: Florian Klink<EMAIL_ADDRESS>Date:   Fri Mar 18 16:22:38 2022 +0100

    nixos/nix-daemon: workaround NixOS/nix#6285

    The Nix-provided `nix-daemon.socket` file has a

    > ConditionPathIsReadWrite=/nix/var/nix/daemon-socket/socket

    line, to skip that unit if /nix/var/nix/daemon-socket/socket is
    read-only (which is the case in some nixos-containers with that folder
    bind-ro-mounted from the host).

    In these cases, the unit was skipped.

    Systemd 250 (rightfully) started to also skip in these cases:

    > [ 237.187747] systemd[1]: Nix Daemon Socket was skipped because of a failed condition check (ConditionPathIsReadWrite=/nix/var/nix/daemon-socket).

    However, systemd < 250 didn't skip if /nix/var/nix/daemon-socket/socket
    didn't /exist at all/, and we were relying on this bug in the case for
    fresh NixOS systems, to have /nix/var/nix/daemon-socket/socket created
    initially.

    Move the creation of that folder to systemd-tmpfiles, by shipping an
    appropriate file in `${nixPackage}/lib/tmpfiles.d/nix-daemon.conf`
    (NixOS/nix#6285).

    In the meantime, set a systemd tmpfiles rule manually in NixOS.

    This has been tested to still work with read-only bind-mounted
    /nix/var/nix/daemon-socket/socket in containers, it'll keep them
    read-only ;-)

This is ready for another review.

It does build for me:
❯ nix-build -A nixosTests.containers-ip
/nix/store/391vynhri11j8p6fr4736zid3kp6vml4-vm-test-run-containers-ipv4-ipv6

Ah, I'm sorry, probably mistake of that non-NixOS machine.  It does work for me on another one with NixOS.

@vcunat I checked out staging with this fix (6facca010bdbceada530ed1050db574c9bd6ef12) and successfully built nixosTests.containers-ip overnight:
❯ nix-build -A nixosTests.containers-ip
/nix/store/r7y65rkmdaz0p1j1lgbi4bq2m5phd8y5-vm-test-run-containers-ipv4-ipv6

And thanks for fixing this regression promptly.

Thanks! It'd still be nice if this can be properly fixed upstream: https://github.com/NixOS/nix/pull/6285


Properly fix index class and dtype mismatch in empty DataFrame or Series with pandas 2.0

In Pandas 2.0, whenever an empty DataFrame or Series is created, the empty index would be a RangeIndex with dtype int64. See https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html#empty-dataframes-series-will-now-default-to-have-a-rangeindex.
Dask creates an Index instead, and in some cases, we also fail to enforce dtype to be int64. This PR:

https://github.com/dask/dask/pull/9930

fixes the failing tests, but doesn't solve the problem.
We need to align the behavior between pandas and dask, whenever an empty index is created.

From @phofl over in https://github.com/dask/dask/issues/10141:

Do we want to keep this or follow the pandas behaviour starting from 2.0?

Ideally we would match what pandas is doing

The merge case has a slight downside:
pdf = DataFrame({"a": [1, 2]}, index=["a", "b"])
pdf2 = DataFrame({"b": [1, 2]}, index=["x", "y"])

ddf = dask.dataframe.from_pandas(pdf, npartitions=1)
ddf2 = dask.dataframe.from_pandas(pdf2, npartitions=1)

ddf.join(ddf2, how="inner").index
ddf.join(ddf2, how="inner").compute().index

The index before and after compute will have different dtypes (Just want to mention it).


use 403 instead of 401 for ErrUserProhibitLogin

As per @sapk

Codecov Report

Merging #7591 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #7591      +/-   ##
==========================================
+ Coverage   41.24%   41.24%   +<.01%
==========================================
  Files         469      469
  Lines       63627    63627
==========================================
+ Hits        26241    26243       +2
+ Misses      33963    33960       -3
- Partials     3423     3424       +1

Impacted Files
Coverage Δ

routers/repo/http.go
35.06% <0%> (ø)
:arrow_up:

models/unit.go
67.56% <0%> (+5.4%)
:arrow_up:

Continue to review full report at Codecov.

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


ClassCastException in MvpNullObjectBasePresenter

I ran into this problem when using MvpNullObjectBasePresenter. When a fragment is destroyed, the following error crashes the application:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
    at com.hannesdorfmann.mosby.mvp.MvpNullObjectBasePresenter.detachView(MvpNullObjectBasePresenter.java:38)

Took a quick glance at the source, but didn't see a solution right away. I thought it was because my views used two generic types for the presenter (P extends MvpPresenter<V> & Refreshable), but after taking the other type out, the problem persists.
The problem happens when this fragment gets destroyed:
public class InboxFragment extends MessageBaseFragment<InboxPresenter> {
    @NonNull
    @Override
    public InboxPresenter createPresenter() {
        return new InboxPresenter(...);
    }
}

MessageBaseFragment looks like this (unrelevant code omitted):
public abstract class MessageBaseFragment<P extends BaseMessagePresenter> extends BaseMvpFragment<MessageView, P> implements MessageView {
    ...
}

And the BaseMvpFragment is just a small container for injected dependencies:
public abstract class BaseMvpFragment<V extends MvpView, P extends MvpPresenter<V>> extends MvpFragment<V, P> {
    ...
}

Okay, moving on, the InboxPresenter:
public class InboxPresenter extends BaseMessagePresenter {
    ...
}

And BaseMessagePresenter:
public abstract class BaseMessagePresenter extends MvpNullObjectBasePresenter<MessageView> {
    ...
}

Finally, MessageView:
public interface MessageView extends MvpView {
    ...
}

Which version of Mosby are you using?
manabreak<EMAIL_ADDRESS>schrieb am Sa., 21. Jan. 2017, 12:09:

I ran into this problem when using MvpNullObjectBasePresenter. When a
fragment is destroyed, the following error crashes the application:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at com.hannesdorfmann.mosby.mvp.MvpNullObjectBasePresenter.detachView(MvpNullObjectBasePresenter.java:38)
Took a quick glance at the source, but didn't see a solution right away. I
thought it was because my views used two generic types for the presenter (P
extends MvpPresenter & Refreshable), but after taking the other type
out, the problem persists.
The problem happens when this fragment gets destroyed:
public class InboxFragment extends MessageBaseFragment {
@NonNull
@Override
public InboxPresenter createPresenter() {
return new InboxPresenter(...);
}
}
MessageBaseFragment looks like this (unrelevant code omitted):
public abstract class MessageBaseFragment extends BaseMvpFragment<MessageView, P> implements MessageView {
...
}
And the BaseMvpFragment is just a small container for injected
dependencies:
public abstract class BaseMvpFragment<V extends MvpView, P extends MvpPresenter> extends MvpFragment<V, P> {
...
}
Okay, moving on, the InboxPresenter:
public class InboxPresenter extends BaseMessagePresenter {
...
}
And BaseMessagePresenter:
public abstract class BaseMessagePresenter extends MvpNullObjectBasePresenter {
...
}
Finally, MessageView:
public interface MessageView extends MvpView {
...
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sockeqwe/mosby/issues/194, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjnrpN6FsubxJkQ-4d6O0sMyPwIV6BFks5rUedjgaJpZM4LqCdq
.

I'm using 2.0.1.

This should be fixed with 3.0.0 snapshot. Can you try if this is fixed
with  3.0 snapshot?
manabreak<EMAIL_ADDRESS>schrieb am Sa., 21. Jan. 2017, 12:45:

I'm using 2.0.1.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sockeqwe/mosby/issues/194#issuecomment-274256810, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAjnrqoEeQsXMUDPG2M6pDDzPp09zZcSks5rUe_rgaJpZM4LqCdq
.

Hmm, Gradle seems to be having problems resolving compile 'com.hannesdorfmann.mosby3:mvp:3.0.0-SNAPSHOT'. Is there something that should be changed in addition?

You also have to add the url to the snapshot repository:
allprojects {
  repositories {
    ...

    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

And the package  name of all classes has been changed from com.hannesdorfmann.mosby to com.hannesdorfmann.mosby3
Simply do a search and replace in Android Studio to change the package name in your classes import statements.

The issue seems to be solved when using 3.0.0 snapshot. Thanks!

Comparing com.hannesdorfmann.mosby.mvp.MvpNullObjectBasePresenter & com.hannesdorfmann.mosby3.mvp.MvpNullObjectBasePresenter, it seems that constructor in the newer version did some magics to recursively check if subclasses is some kind of class in isSubTypeOfMvpView() method.
It's awesome! Thanks!


RFC: Allow symbol re-export in cdylib crate from linked staticlib

cc #2771, #3435, https://github.com/rust-lang/rust/issues/110624
Not sure if compiler team or lang team owns this.
Rendered

Does this RFC propose to use pub fn foo to re-export the foo symbol even if it is actually not a function?

I've updated the RFC based on the comments above, including:

clarifying that the RFC proposes to re-export both fn and static items if they have no_mangle applied on them in an extern block (in practice, on Linux if you re-export using the wrong type of item it'll work anyway...but such behavior is unspecified)
adding some detail about when the warning was added in https://github.com/rust-lang/rust/pull/86376. cc @asquared31415, I want to make sure I've fairly represented the reasoning you had at the time and that you're convinced about its removal
elaborating that there are multiple ways to explicitly specify a library is to be linked as static, both via the rustc command line as well as inline as an annotation on the extern block

The linked repository at https://github.com/aidanhs/rust-re-export-lib is now a much more extensive demonstration of the assorted combinations of pub, no_mangle and fn vs static. Take a look at https://github.com/aidanhs/rust-re-export-lib/blob/master/src/lib.rs, which describes what should happen in each case - on Linux, all the cases produce the correct output, but the warnings proposed by this RFC are missing.

@rustbot label +I-lang-nominated
Nominating this for the Lang Team to request that warning: `[no_mangle]` has no effect on a foreign function not be moved to a hard error before this RFC is reviewed.
(I'm not in a hurry for a review or discussion of the RFC itself - the feature works fine for me right now, I just don't want to regress!)

I want to make sure I've fairly represented the reasoning you had at the time and that you're convinced about the removal of the warning

I am fairly certain my reasoning at the time was along the lines of "no_mangle does too many things, and none of them are documented. It doesn't make sense to import and export the same symbol, because whatever you were exporting to could just import it from wherever you got the symbol."  I think that this comment represents the best of my understanding at the time.  I think there was too much focus on the fact that foreign items are not mangled (because they have to import by name) and a misunderstanding about exactly how no_mangle works, I think that everyone was operating under the assumptions stated in this comment by @Mark-Simulacrum:

Hm,I believe that no_mangle does not reexport extern static/fns (which are in some sense imports, as you say), and so no_mangle has no effect whatsoever on them, right?

It turns out that this isn't entirely true, specifically because something might import from a static lib and export as a dynamic lib, and the attribute does indeed make the symbol global.  I think that it is reasonable to allow this use case and remove the warning stating that it is useless.
I still maintain the position of "no_mangle does too many things, its name doesn't describe half of its function, and docs don't exist". I would love to see work on that, but that is independent of this RFC.


Can not Rewind / Seek back beyond 100 min

Have you read the FAQ and checked for duplicate open issues?
Yes. I don't see any duplicate issue
What version of Shaka Player are you using?
v4.3.4
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
Custom app
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Chrome, Mac. But we are able to reproduce this on other OS and browsers too.
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
As this is happening with Live recording, Can not provide actual URI as this is dymamic manifest
What did you do?
There is issue with Shaka player playing Live recording (Dynamic manifest) which is more than 100 min. Tested this with Dash players issue is not there.
If the Live recording duration is more than 1 hr 40 min (100 min) and if we try to play that recording before recording end time and after 1 hr 40 min then playback does not start from the beginning, it start from last 100th min (Current Time - 100 min).
For example,
Live Recording during is 2 hrs (120 min) which is started at 1 AM and ends at 3AM
If we try to play recording at 2.30 AM (90 min after recording started) then playback start from beginning of the recording (which is expected)
If we try to play recording at 2.40 AM (100 min after recording started) then playback start from beginning of the recording (which is expected)
But If we try to play recording at 2.50 AM (110 min after recording started) then it begins to play from 10th min instead of 0 min.
If we try to play recording at 1.50 AM (115 min after recording started) then it begins play from 15 mins instead of 0 min.
Also if we try to rewind or seek bar beyond 100 min from the current time, it can go back only till (current time - 100 min)
What did you expect to happen?
We should be able to Rewind and seek back beyond 100min

Can you change the manifest.dash.initialSegmentLimit config to a higher value and see if that works? Thanks!


Using with Phoenix 1.3 RC (blue_bird version 0.3.2 requires ~> 1.2)

I'm using Phoenix 1.3.0-rc.2, and when I mix deps.get after adding BlueBird ~> 0.3.2 to mix.exs I get:

Failed to use "phoenix" (versions 1.3.0-rc.0 to 1.3.0-rc.2) because
blue_bird (version 0.3.2) requires ~> 1.2 *
mix.exs specifies ~> 1.3.0-rc
* This requirement does not match pre-releases. To match pre-releases include a pre-release in the requirement, such as: "~> 2.0-beta".
** (Mix) Hex dependency resolution failed, relax the version requirements of your dependencies or unlock them (by using mix deps.update or mix deps.unlock). If you are unable to resolve the conflicts you can try overriding with {:dependency, "~> 1.0", override: true}

Perhaps I misunderstand how dependencies work but I find this strange as 0.3.2's mix.exs has its Phoenix dependency as ~> 1.3.0-rc whereas at hex it shows as ~> 1.2.

That's odd indeed. Have you tried using {:phoenix, "~> 1.3.0-rc.2", override: true} in your project?

That does seem to allow BlueBird to install. Thanks! I previously misunderstood the instruction and added the override declaration to the BlueBird dep.
Do you know why hex shows ~> 1.2?

Unfortunately, no. @rhazdon?

Hi @DavidOliver,
the problem is, that hex does not allow to publish packages with rc releases in the mix dependencies. This is the reason why I changed the Phoenix dependency to {:phoenix, "~> 1.2"} instead of {:phoenix, "~> 1.3.0-rc"} until Phoenix 1.3 will be released.
Sorry for the inconvenience. :)

Ah - good to know. Many thanks, both.


Detail & Search Panels not cleared

The detail panel and any existing search values are not cleared when I use the clear graph 'bin' icon which is what I was expecting to happen. i.e. to start with a clean slate.

Good point about the detail panel. However I would argue that keeping the previous search results in the search values can actually be very helpful, because you can start with similar search (same genes, but different papers, authors, etc.). At least I used that extensively during testing, but that was just -well- testing and not really using it.

Also a good point - if I remember from yesterday's discussion one of the ideas was to be able to save and load queries?
Or possibly a second 'clear Searches' icon somewhere?

The integrated "omni-search" doesn't have the stale search data problem anymore, I'd say. The detail panel bug is still there, though.


add workflow configuration object

closes #1454

@marten can you please have a look at this? @itsravenous has a use case for building on staging.

Thanks guys! Works great locally. Does stage need dbmigrating? Still get 422 when PUTing workflow with config set. Sorry if I'm being impatient :)

the deploy process is happening..should be ready in 30 mins or so.

Great!


Mark moved components as deprecated

Description
Mark components that have been moved to DIgdir's design system as deprecated.
Related Issue(s)

#235

Verification

[x] Your code builds clean without any errors or warnings
[x] Manual testing done (required)
[x] All tests run green

Codecov Report
Patch and project coverage have no change.

Comparison is base (80f44bc) 89.24% compared to head (7a1807b) 89.24%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #295   +/-   ##
=======================================
  Coverage   89.24%   89.24%
=======================================
  Files          83       83
  Lines        1199     1199
  Branches      376      376
=======================================
  Hits         1070     1070
  Misses        120      120
  Partials        9        9

Impacted Files
Coverage Δ

src/components/List/List.tsx
100.00% <ø> (ø)

src/components/Page/PageHeader.tsx
100.00% <ø> (ø)

src/components/Table/Table.tsx
90.90% <ø> (ø)

...components/ToggleButtonGroup/ToggleButtonGroup.tsx
100.00% <ø> (ø)

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

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


Correct documentation about NinePatchRect stretch modes

Tested on Godot 3.2.4beta1 with batching enabled.
PS: We should also add node configuration warnings to NinePatchRect, but I'll do this against the 3.2 branch since this isn't relevant to the Vulkan renderer.
This closes https://github.com/godotengine/godot-docs/issues/4333.

Thanks!

Cherry-picked for 3.2.4.


Unable to serialize standalone polymorphic type or collection

I'm using the Redis MsgPack wrapper, but I've tried this separately using the raw MsgPack SDK as well.
I have a simple polymorphic type hierarchy e.g.
type Animal = Cat | Dog

etc. etc., and I want to serialize a list of animals. The problem is that it appears that you need to enclose the list in a type e.g.
type Data = { Animals = ResizeArray<Animal> }

and then place an set of attributes on that property with all of the possible subclasses (or try one of the Runtime attributes).
There are several we face with this approach: -

Every property on every type that has a List of Animal has to have the same attribute / attributes (or perhaps we need to create a custom List that subclasses List etc.). This means attributes all over our types etc.
The bigger issue that is we need to create an enclosing type with a single property just to place the serialization polymorphism information. We should be able to store this information on the types themselves, and / or have a mechanism to do this lookup (similar to how JSON .Net works).

Have we missed something out here?

It is a good question. Your understanding is absolutely right.
I did not enable polymorphism related attribute for types themselves because of following reason:

Simply I could not imagine the use-case not like you. In this point, your argument is reasonable.
Just after I released the polymorphism, CVE-2015-4852 was found. I think we should be cautious to open subtype deserialization because we can misuse it easily. Although I think explicitly attribute based approach is enough secure, but I need more discussion for it.

Do you have any opinion for above? It is hard to implement in 0.7.0 soon, but it can be implemented in 0.8 release.

Hi :-) My opinion is that we would still need this in order to use MsgPack so if this could be added it would be great.
Attributes at the type level would be acceptable for those types in the hierarchy, but not for every property that used one of those types.

Thank you for your opinion. Do you say that attribute qualification is messy?
BTW, As plus one of type level attribute qualification, I've exposed polymorphic APIs to public. You can use it to control polymorphism on the fly:
var myPolymorphicSerializer = serializationContext.GetSerializer<IFoo>( PolymorphicSchema.ForPolymorphicObject( typeof(IFoo), new Dictionary<string, Type> { { "Red", typeof( RedFoo ) }, { "Green", typeof( GreenFoo ) } };

It is still complex and advanced feature, but I think it can solve your problem (2).

Close because it was answered over half year ago.


Fix: golangci-lint-action failing in the CI

Issue
Currently, golangci-lint-action  fails in the CI when creating a new PR(but passes in local), even without significant changes
Expected
CI should be passed
Steps to reproduce
Just create a PR with any changes

I created a PR to fix it here:
https://github.com/nimblehq/gin-templates/pull/79


Status system

This will let the server notify of problems that in the future might be autofixable, but for now just will pass to the GUI and show them as a problem requiring fixing.
Requires #647 and SlimeVR/SolarXR-Protocol#110

Fixes #653 and partially #655

Ready for merge ^-^


Add ipv6 and 404 response code options

Thanks for the PR @dchesterton
I've created a new release of the module (5.0.1) including your changes.


Updating to Backstage v1.29.0 reports deduplicated issue

Describe the bug
Updated to backstage v1.29.1 and got the warning below:
yarn backstage-cli versions:check
The following packages must be deduplicated by updating dependencies in package.json
@backstage/backend-app-api @ ^0.7.3 should be changed to ^0.8.0
The following packages can be deduplicated by updating dependencies in package.json
@backstage/backend-common @ ^0.22.0 should be changed to ^0.23.3
@backstage/backend-defaults @ ^0.2.18 should be changed to ^0.4.1
@backstage/backend-plugin-api @ ^0.6.18 should be changed to ^0.7.0
@backstage/backend-plugin-api @ ^0.6.21 should be changed to ^0.7.0
@backstage/plugin-permission-common @ ^0.7.14 should be changed to ^0.8.0
@backstage/plugin-permission-node @ ^0.7.32 should be changed to ^0.8.0
To Reproduce
Steps to reproduce the behavior:

Update v1.28.3 to v1.29.1

Expected behavior
The update process to not throw any errors.
Additional context
Add any other context about the problem here.

This is now fixed on release 0.8.1. Closing the issue.


Release 1.0.3

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #12   +/-   ##
=======================================
  Coverage   86.29%   86.29%
=======================================
  Files           3        3
  Lines         124      124
=======================================
  Hits          107      107
  Misses          9        9
  Partials        8        8

Continue to review full report at Codecov.

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

https://github.com/mattermost/mattermost-plugin-jira/releases/tag/v1.0.3


Response headers

Hi there,
Thanks for putting this together, very helpful. Any easy ways to get the response headers that I am just missing in the doc somehow?
Thanks!
AA

The response stream is passed as the 3rd argument to the callback function for any of the methods. You can use that to find the headers.

thanks!


Should cache the "length" and "mime" in HttpUrlSource

Should cache the "length" and "mime" in HttpUrlSource so it wont open/close connection frequently ,which will cost less time and resource.

Same issue


Silent Hill 2: Enhanced Edition - Interacting with objects and entering certain dialogues and cutscenes causes materials to render full white

Describe the bug

When interacting with certain objects or dialogue windows, the game appears to lose its ability to display textures and instead turns into a still path traced, but fully white material rendered scene.

I originally thought this had something to do with some UI texture not being marked correctly, but after having gone over the textures several times that doesn't seem to be the case, could potentially be some shader thing happening here?

Issue is present in all versions of remix

Logs, I'm submitting the log files here.
SH2_WhiteMaterialLogs.zip

To Reproduce
Steps to reproduce the behavior:

Set the game and Enhanced Edition up by following my guide - https://docs.google.com/document/d/1hayGXNlAJZWOp2ivV8otdSMP23pbXk7DL-pfLq5ZJjU
Start the game and skip the opening cinematics
Walk out of the bathroom and skip yet another cinematic. ( Observe that this issue happens for a second at the start of this cutscene )
Walk to the car parked near the bathroom and pick up the map, observe how game turns fully white rendered for a few seconds as you interact with the map.
Once you've picked up the map, run as far to the right of the level as possible out onto the road, when reaching the invisible wall on the road, observe that a text interaction shows up and once again the screen turns white, this time it doesn't go away after a short period, but stays until you close out of the dialogue interaction.

Expected behavior

The game rendering normally during these interactions

Thank you for posting. Could you please post a screenshot and your logs. Thanks!

Thank you for posting. Could you please post a screenshot and your logs. Thanks!

Updated OP with a screenshot, which specific logs would you be looking for and where could I locate them?

There are three log files generated. d3d9.log and gamename_d3d9.log should be in the same directory as the executable. NvRemixBridge.log will be located in the .trex folder.

There are three log files generated. d3d9.log and gamename_d3d9.log should be in the same directory as the executable. NvRemixBridge.log will be located in the .trex folder.

I've updated the OP to contain the logs.

Hello! Will you please test this on the latest release and let us know if the issue persists? Thank you!

Thank you for reaching out. We're going to close this ticket due to an extended period with no response. If the issue persists for you on the latest build, please open a new ticket.

Tested on latest, issue still persists.
@NV-LL

Done some re-testing on latest as of today, issue still persists.

Hey @traggey - thanks for the update, and sorry to hear about your arm! We have REMIX-3733 open to track this internally.


Handle idle timeouts more gracefully

Summary
When you're using an ingress controller that has an idle timeout configured, it's possible that there are no events that occur within that period of time which results in the UI throwing an error since the workflow-events stream is closed.  In the case of my cluster, I use ingress-nginx which has a default idle timeout of 60s.

Since it's expected that these streams are very long lived connections, we should consider one of the following:

Send a piece of data periodically if none has been sent.  This is not optimal imo since we'd need to filter this out on the client, and it still may not solve the problem if the user configures an idle timeout shorter than the interval that we sent data.

Retry the connection on the front-end at least once.  If the connection is successfully re-established, then it's a candidate to retry again if/when the error occurs.  If the connection fails to be re-established, throw our existing error since that might indicate a loss of network connectivity or problems with the argo-server pod.

In both cases, we should also provide a nicer way to retry when this occurs rather than reloading the page.
Diagnostics
What Kubernetes provider are you using?
EKS 1.17 with Ingress NGINX
What version of Argo Workflows are you running?
v2.11.1

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

I think we have addressed some of this in v2.11.7 and v2.12. Could you try latest?

Yep, looks like you're right - v2.12.0-rc2 retries automatically after 10s and provides a way to explicitly reload.

Wonder if we can improve the UX on that though since for low traffic instances, this might be a relatively common error to run into.  Maybe we can retry seamlessly without interrupting the UI, or make the error not completely replace the workflow listing?

Do you want to suggest something?

Sure - I think a pretty straightforward change to make would be when a disconnect occurs:

Don't remove the existing workflow listing since the existing data is all still valid and in the case of users that don't necessarily understand the error, causes them to reach out thinking that Argo is broken when it's just a normally occurring situation due to the idle timeout on the ingress controller if there's low traffic
Re-word the error message from Unknown error to something like Disconnected from workflow streaming.  Reconnecting in 10s which gives a better idea about what is currently non-functional and what action will be taken when the timer completes

This makes sense. Each page is different and needs different disconnect logic.

I'm fixing in the v3 UI

@alexec can you please provide a link of the PR/issue to track the fix?


Support resources with the same module name but within different namespace

In my app I have Bank.Account & Auth.Account schemas. I'm registering them in ExAdmin but both end up with the the same url: /accounts/:id and so in effect just the one defined later can be managed. I tried setting :controller_route but it didn't help.
I created a workaround in my fork (https://github.com/wojtekmach/ex_admin/commit/5912810cfd048df6cf483ffeccf4c05355a2cb5e) and this works like this:
register_resource Auth.Account do
  menu label: "Auth Accounts"
  options resource_name: "auth_account", controller_route: "auth_accounts"

  # ...
end

register_resource Bank.Ledger.Account do
  menu label: "Bank Accounts"
  options resource_name: "bank_account", controller_route: "bank_accounts"

  # ...
end

but I'm not sure it's the best solution (and implementation of that solution). Could something like this be supported in ExAdmin?

Any updates on this ?

+1


Table A-1 Entry for SP 168 N.7 is incorrect

PGN 65271 with Supported SPNs
10:33:01.6419 18FEF755 [8] FF FF FF FF F8 00 FF FF
Found: Vehicle Electrical Power 1 from DPF Controller (85):
SPN   114, SLI Battery 1 Net Current: Not Available
SPN   115, Alternator Current: Not Available
SPN   167, Charging System Potential (Voltage): Not Available
SPN   168, Battery Potential / Power Input 1: 12.400000 V
SPN   158, Key Switch Battery Potential: Not Available
WARN: <IP_ADDRESS>.a - N.7 Provided SPN 168 is not indicated as supported by DPF Controller (85)
// The entry for SP 168 says none.  Check the rest of this row too.

@mmschaefer, there should be no warning message for this SP.


Include arm64 protoc with our IceRpc.Protobuf.Tools

For macOS you can use Rosseta, but as @ReeceHumphreys found out if you are using a dev container on macOS, the provided Linux image is arm64 and the protoc compiler is not available.
The IceRpc.Protobuf.Tools NuGet package repackages the protoc binaries from the Google.Protobuf.Tools NuGet package; however, it lacks arm64 binaries.
We can upgrade the IceRpc.Protobuf.Tools NuGet package to download the binaries from the Google.Protobuf.Tools release page: https://github.com/protocolbuffers/protobuf/releases

Once this done, please remember to remove "2" in the Prerequesites:
https://github.com/icerpc/icerpc-csharp/blob/main/BUILDING.md#prerequisites

Also update the bottom of https://github.com/icerpc/icerpc-csharp/blob/main/tools/IceRpc.Protobuf.Tools/README.md

Closed by #3969