Critical error out of the box.

Hi there,
I've followed the details in this blog post to the letter and I get a critical error:
Log in using Azure B2C works fine - am authenticated as expected.
Call off to the Server API fails on the Weather Forecast page.
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: An exception occurred executing JS interop: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.. See InnerException for more details.
Microsoft.JSInterop.JSException: An exception occurred executing JS interop: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.. See InnerException for more details.
 ---> System.Text.Json.JsonException: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.
 ---> System.InvalidOperationException: Cannot get the value of a token type 'Null' as a string.
   at System.Text.Json.Utf8JsonReader.TryGetDateTimeOffset(DateTimeOffset& value)
   at System.Text.Json.Utf8JsonReader.GetDateTimeOffset()
   at System.Text.Json.Serialization.Converters.DateTimeOffsetConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at System.Text.Json.JsonPropertyInfo`1[[System.DateTimeOffset, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, AccessToken& value)
   at System.Text.Json.Serialization.JsonConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, AccessToken& value)
   at System.Text.Json.JsonPropertyInfo`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, InternalAccessTokenResult& value)
   at System.Text.Json.Serialization.JsonConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, InternalAccessTokenResult& value)
   at System.Text.Json.Serialization.JsonConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
   at System.Text.Json.Serialization.JsonConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.Serialization.JsonConverter`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[Object](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadValueCore[Object](JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& state)
   at System.Text.Json.JsonSerializer.Deserialize(Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
   at Microsoft.JSInterop.JSRuntime.EndInvokeJS(Int64 taskId, Boolean succeeded, Utf8JsonReader& jsonReader)
   --- End of inner exception stack trace ---
   at Microsoft.JSInterop.JSRuntime.<InvokeAsync>d__15`1[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.InternalAccessTokenResult, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService`3.<RequestAccessToken>d__22[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.Authentication.WebAssembly.Msal.Models.MsalProviderOptions, Microsoft.Authentication.WebAssembly.Msal, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at System.Net.Http.Json.HttpClientJsonExtensions.<GetFromJsonAsyncCore>d__9`1[[BlazorHostedWebAsmB.Shared.WeatherForecast[], BlazorHostedWebAsmB.Shared, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at BlazorHostedWebAsmB.Client.Pages.FetchData.OnInitializedAsync() in C:\Demos\BlazorHostedWebAsmB\Client\Pages\FetchData.razor:line 48
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

Am I doing something wrong?? Would really like to use Blazor for my project, but am struggling big time to overcome simple hurdles like this.
Thanks,
Brett

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

ID: 520b9821-ecef-20af-a601-ea36c4297d88
Version Independent ID: da9c8ac9-4d7a-4b40-56a2-a4bfe7083567
Content: Secure an ASP.NET Core Blazor WebAssembly hosted app with Azure Active Directory B2C
Content Source: aspnetcore/blazor/security/webassembly/hosted-with-azure-active-directory-b2c.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @riggadon ... WRT "in this blog post" ... if you mean this topic, ok. If you're referring to something else, we don't support external topics/blog posts here.
WRT to this topic and this error that you're seeing, I don't have further information on this at this time outside of the product unit issue that was opened at ...
https://github.com/dotnet/aspnetcore/issues/28487
There's a remark at the end that might be helpful (and you can ask that community member further on that issue about it) at ...

I dropped the API permission from the app and re-added it.

https://github.com/dotnet/aspnetcore/issues/28487#issuecomment-762578360
... which I think refers to dropping and re-adding the API permission in the Azure portal registration.
In general, this documentation has been working, but there are times when a slight app or Azure misconfiguration, alternative use case, or edge case has caused problems. If you follow that last remark there :point_up: (drop and re-add the API permission in Azure), I recommend mentioning that you tried it when you comment there. I'm  watching 👀 that issue to see if a doc update can help. At this time tho, there's nothing actionable to document. We need more information on what's causing the problem. Eventually if it works out that this issue is solved by dropping and re-adding the API permission in the portal, then I'll add a remark on it to the Troubleshoot section of this topic.

... also @riggadon ... make sure that you're following the guidance to use a fresh browser session for every single test run no matter how small the change to the app or to the Azure config. Lingering cookies can cause all sorts of foul behaviors.

@guardrex Thanks for the replies.
Yes, apologies, I did mean this topic - but despite dropping and re-adding the API permission in the Azure portal (as mentioned in #28487), it remains the same error that appears in the browser console (F12).  I've stopped the web host and re-run it, forcing the browser to reload the content. Same error.

Ok ... it was worth a shot.
Comment on the engineering issue that you're having the same problem. I'm not sure why the discussion was dropped. It sort of looks like those who were hitting this error stopped hitting or stopped using B2C+Blazor (i.e., they stopped asking, so Pranav didn't discuss it further with them).

Not to be beaten by this, I have made a little progress and think I might have found my cause of my issue.
The command line to produce the project is as follows:
dotnet new blazorwasm -au IndividualB2C --aad-b2c-instance "{AAD B2C INSTANCE}" --api-client-id "{SERVER API APP CLIENT ID}" --app-id-uri "{SERVER API APP ID URI}" --client-id "{CLIENT APP CLIENT ID}" --default-scope "{DEFAULT SCOPE}" --domain "{TENANT DOMAIN}" -ho -o {APP NAME} -ssp "{SIGN UP OR SIGN IN POLICY}"
...specifically, the {SERVER API APP ID URI} section.
In the Azure portal, within the AAD B2C section, when I added the Server application, it produced/generated a App ID URI in the format of:
https://myname.onmicrosoft.com/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
...so, feeding this URI into the above CLI command above produced the project as expect, which compiles and runs but fails to return data BUT with a slight repetition problem in the Client\Program.cs file, as follows:
builder.Services.AddMsalAuthentication(options =>
            {
                builder.Configuration.Bind("AzureAdB2C", options.ProviderOptions.Authentication);
                options.ProviderOptions.DefaultAccessTokenScopes.Add("https://myname.onmicrosoft.com/https://myname.onmicrosoft.com/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/API.Access");
            });

I've messed around a few times and found that either solution works:

Remember to delete the duplicated address in the Program.cs files within the client project.
Change the {SERVER API APP ID URI} element of the original CLI command to refer to the GUID instead of the entire address.

Haven't seen any unexpected effects of either as yet.
I can see the wording in the example description of the SERVER API APP ID URI you have specified that the value is of guid format, but I genuinely missed this until writing this reply, particularly as the instructions suggest to take note of the value from earlier.
ALSO - I needed to remember that if using Visual Studio, I had to change away from using the default IIS EXPRESS setting, as the default startup port isn't 5001. (Side issue, I guess)

Yes, that's a known problem. I'll see if I can find the open issue on it. I think the plan was to address it for .NET 6. I'll report back.

Actually ... no ... the issue that I opened was for a double scheme, and that's described in the topic and cross-linked.
https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-azure-active-directory-b2c?view=aspnetcore-5.0#create-the-app

feeding this URI into the above CLI command above produced the project as expect

If only the GUID is used with the command (as that section shows in an example :point_up:), the resultant URI shouldn't have an extra "https://myname.onmicrosoft.com/" in there.
I'm not sure if the duplicate scheme problem was limited to CLI, CLI for AAD only (i.e., Single Org only), or included VS. Part of the problem is that there are AAD vs. B2C and CLI vs. VS combinations of approaches. They don't all behave exactly the same way (or even work OOB in some cases, most notably in the VS case for Single Org). These deltas are being improved by the product unit, and I think ASP.NET Core 6.0 at the latest will include fixes.
WRT VS, we don't have the NOTE here that appears at the top of the ADD topic because (IIRC 🤔) it wasn't a problem for B2C apps. If you found a VS x B2C x Blazor created project problem, it would be a separate issue. Given that the topic doesn't rely on VS at this time, we'd only place a NOTE at the top calling out a problem with the way that VS is setting up the app. Again tho, I think if VS is given just the GUID that the URI config will come out correctly.

I'll reach this topic for an overhaul pass on my tracking issue https://github.com/dotnet/AspNetCore.Docs/issues/19286. I'll walk it all again and check the behaviors. I've marked this issue on the tracking issue so that I don't lose track of this.

Ah ok, great - Now I'm all working, I'll continue as I am for the moment, but will wait to see what .Net 6.0 brings with it. But it almost put me off of using Blazor entirely, as I was spend far too much time doing something that I know I can get sorted in a regular MVC site very quickly.
But in terms of the VS comment, I was meaning purely from a running/debugging perspective.  I used the CLI to generate the initial project, but opened the .sln file up in VS2019 to run. If the default of IIS EXPRESS is used, then a 5-digit port number is used. But if the project is changed to use the Kestral server, then 5001 is used.  But yes, this isn't anything to do with this, so please ignore this entirely.

Actually, that doesn't address your use case, which is an untrusted publisher domain. I'm not sure how you ended up with the resultant URI like that. IIRC with an untrusted publisher domain, one puts in the full URI ... then they ONLY get the (wrong) double scheme. One doesn't get a full double domain like that.

Untrusted publisher domain? Yeah, I don't know why that was generated like that. I've just rechecked the value in the Azure portal, and it's what was produced as part of the portal UI when exposing an API.

Thanks for the discussion @riggadon ... it does help me understand how the topic is used and the sorts of things that we'll need to address. Eventually, I think the topic will move away from the use of the CLI and to VS, or we might end up with tabs for each tooling (VS, VS4Mac, VSC, CLI) and provide guidance for each.
WRT the untrusted publisher domain, that's normal ... if it's untrusted, of course. The other type of URI (e.g., api://{GUID}) is what that Azure portal provides for a trusted publisher domain. They have a doc in the Azure docs that explain more about the publisher domain, trusted and untrusted. I don't have the link tho ... you'd have search their docs for it.
When I said I didn't understand your value ... I didn't mean the URI. I meant the configuration in your app given that AFAIK the CLI command doesn't duplicate the domain (only the scheme) when passing the untrusted publisher domain. AFAIK when passing the domain, you end up with something like ...
api://https://myname.onmicrosoft.com/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/API.Access

... not ...
https://myname.onmicrosoft.com/https://myname.onmicrosoft.com/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/API.Access

I don't know if that's a new regression or just something unusual about the way that you had your CLI command set up.

spend far too much time doing something that I know I can get sorted in a regular MVC site very quickly.

Yes, it's rough because it's all so new. I think 6.0 will have a number of fixes, and I think VS project generation problems today will all be sorted out.
One of the things that I've noticed is that when any sort of error occurs, devs aren't very keen on looking at the app config. The reason is that devs assume the tooling, be it CLI, VS, or whatever, has done the right thing and not put a bad config into their app and/or they were 100% faithful to the guidance. Unfortunately, those two things often aren't the case. Most problems reported here have worked out to (a) foul config got into the app (sometimes Azure) and (b) the dev didn't look/notice it.
I'll continue to reason on how the docs can get devs to troubleshoot better. I have a feeling that I need to lead into specific troubleshooting guidance with a little section that speaks to this aspect and perhaps even shows (briefly) a valid config for a typical app. I'll work on it when I reach the topic for its UE (i.e., "user experience") pass shortly.

It's actually there ... a little buried ... see the purple NOTE here ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-azure-active-directory-b2c?view=aspnetcore-5.0#access-token-scopes
... that would help if it's seen. There's a lot here ... it's easy to miss any fine point.

Hi all,
I still got the same issue on Blazor .Net Core 6. I think it is fixed by this commit #21643 but I am not sure how to use that fix on my project. Could anyone give me a guide?
Many thanks,
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: An exception occurred executing JS interop: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.. See InnerException for more details.
Microsoft.JSInterop.JSException: An exception occurred executing JS interop: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.. See InnerException for more details.
 ---> System.Text.Json.JsonException: The JSON value could not be converted to System.DateTimeOffset. Path: $.token.expires | LineNumber: 0 | BytePositionInLine: 73.
 ---> System.InvalidOperationException: Cannot get the value of a token type 'Null' as a string.

@duyvt88 ... Take a look at https://github.com/dotnet/aspnetcore/issues/39311 to see if that helps.

@guardrex I think it is not fixed. We may need to wait for the new .Net Core 7 version.


Location Sensor initialization and scale

The location sensor doesn't initialize to zero (which seems like it would be ideal) and the data seems to be given in centimeters while the altitude command is given in meters. Is this intentional?

Looks like the changes were included with the latest build.
Also, I added a pre-build check to ensure that the primary agent starts at location 0, 0, 0.


FilterResetButton - add it to filters when outer rendering is on

When we have more filters and use them with outer rendering, the original position of reset filters is down the grid and not optimal. It would be great to have an option to add FilterReset button directly to the list of filters. And maybe make a possibility to hide/show/toggle outer filters by clicking a special button.

You can send a PR. :)

I'll try, the problem I see right now, is that the outerFilters snippet is not updated on AJAX request...

On which ajax rq? It should not be redrawn when filtering.

I am trying to add the reset button to the toolbar, but...when the filters are reset, the button still hangs at the toolbar till the next manual refresh, because the toolbar is not updated after initiation of AJAX filters.

Right. Well, maybe the best solution would be creating your own template in your app.


feat: visualisation of prompts from fpm-writer API

storybook quick version
run:
pnpm storybook

in examples/fe-fpm-ui

Points:

[x] remove prop dependantPromptNames  from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L9

https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L10

[ ] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L58 + https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L34
proposal:

export interface ListPromptQuestionCreationProps {
    placeholder?: string;
}

/**
 * Represents a question prompt for list question with dropdown visualization.
 * Combines properties of ListQuestion and BasePromptQuestion.
 */
export interface ListPromptQuestion<T extends Answers = Answers> extends ListQuestion<T>, ListBasePromptQuestion {
    /**
     * Dependant prompt names which should be updated after value change of current prompt.
     */
    dependantPromptNames?: string[];

    /**
     * Properties of input field for creation mode.
     */
    creation?: boolean | ListPromptQuestionCreationProps;
}

[ ] delete? -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L70
[ ] missing tests onChangeCreateSelect  for -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L42-L46
[ ] remove sort from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L75
and apply sort in api where it is necessary
[ ] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/utilities/hooks.ts#L41 -> resole data: choice type. Andis
[ ] refactor. onChange https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L48-L55 Andis
[ ] refactor onChange -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L87-L93
[ ] consume annotation api instead of tgz
[ ] recheck missing translations
[ ] do not pass absolute path in viewOrFragmentPath choices
[ ] restructure generic prompts code out of building blocks folder Andis
[ ] check if we can avoid post processing convertion Andis
[ ] do not create fe-fpm-cli folder when storybook is launched in examples\prompting-ui

Unit tests:

[ ] packages/ui-prompting/scripts/prepare-storybook.ts - Andis
[x] packages/project-access/src/project/cap.ts - Alina
[ ] packages/fe-fpm-writer/src/building-block/prompts/api.ts validateAnswers  - Alina
[x] enable skipped tests and fix -> getCAPServiceChoices  -> [join('app/incidents')]: {

Points:

[x] remove prop dependantPromptNames  from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L9
https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L10
[x] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L58 + https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L34
proposal: - Alina

export interface ListPromptQuestionCreationProps {
    placeholder?: string;
}

/**
 * Represents a question prompt for list question with dropdown visualization.
 * Combines properties of ListQuestion and BasePromptQuestion.
 */
export interface ListPromptQuestion<T extends Answers = Answers> extends ListQuestion<T>, ListBasePromptQuestion {
    /**
     * Dependant prompt names which should be updated after value change of current prompt.
     */
    dependantPromptNames?: string[];

    /**
     * Properties of input field for creation mode.
     */
    creation?: boolean | ListPromptQuestionCreationProps;
}

[x] delete 'onClick'? -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L70 Alina
[ ] missing tests onChangeCreateSelect  for -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L42-L46
[x] remove sort from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L75
and apply sort in api where it is necessary - Alina
[ ] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/utilities/hooks.ts#L41 -> resole data: choice type. Andis
[ ] refactor. onChange https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L48-L55 Andis
[ ] refactor onChange -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L87-L93 Alina
[x] consume annotation api instead of tgz Alina
[x] recheck missing translations Alina
[x] do not pass absolute path in viewOrFragmentPath choices e1b5844270da0c2b2a14e7a8d880c278b8827e87
[ ] restructure generic prompts code out of building blocks folder Andis
[ ] check if we can avoid post processing convertion Andis
[ ] do not create fe-fpm-cli folder when storybook is launched in examples\prompting-ui
[x] init i18n -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/fe-fpm-writer/src/building-block/prompts/questions/chart.ts#L31 Alina

Unit tests:

[x] packages/ui-prompting/scripts/prepare-storybook.ts - Andis
[x] packages/project-access/src/project/cap.ts - Alina
[x] packages/fe-fpm-writer/src/building-block/prompts/api.ts validateAnswers  - Alina
[x] enable skipped tests and fix -> getCAPServiceChoices  -> [join('app/incidents')]: {

Bugs:

[x] filterBarId resolution issue:

Points:

[x] remove prop dependantPromptNames  from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L9
https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L10
[x] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L58 + https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L34
proposal: - Alina

export interface ListPromptQuestionCreationProps {
    placeholder?: string;
}

/**
 * Represents a question prompt for list question with dropdown visualization.
 * Combines properties of ListQuestion and BasePromptQuestion.
 */
export interface ListPromptQuestion<T extends Answers = Answers> extends ListQuestion<T>, ListBasePromptQuestion {
    /**
     * Dependant prompt names which should be updated after value change of current prompt.
     */
    dependantPromptNames?: string[];

    /**
     * Properties of input field for creation mode.
     */
    creation?: boolean | ListPromptQuestionCreationProps;
}

[x] delete 'onClick'? -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L70 Alina
[ ] missing tests onChangeCreateSelect  for -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L42-L46
[x] remove sort from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L75
and apply sort in api where it is necessary - Alina
[ ] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/utilities/hooks.ts#L41 -> resole data: choice type. Andis
[ ] refactor. onChange https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L48-L55 Andis
[x] refactor onChange -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L87-L93 Alina
[x] consume annotation api instead of tgz Alina
[x] recheck missing translations Alina
[x] do not pass absolute path in viewOrFragmentPath choices e1b5844270da0c2b2a14e7a8d880c278b8827e87
[ ] restructure generic prompts code out of building blocks folder Andis
[ ] check if we can avoid post processing convertion Andis
[x] do not create fe-fpm-cli folder when storybook is launched in examples\prompting-ui
[x] init i18n -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/fe-fpm-writer/src/building-block/prompts/questions/chart.ts#L31 Alina
[x] Make name property in question interface required and adjust code where name ?? '' is used Alina
[ ] Support export type PromptListChoices = ReadonlyArray<DistinctChoice> instead export type PromptListChoices = ReadonlyArray<ChoiceOptions>?  Alina
[ ] Refactor handling of default values in UI. Currently handled in examples/prompting-ui, but should be handled in ui-prompting Andis

Unit tests:

[x] packages/ui-prompting/scripts/prepare-storybook.ts - Andis
[x] packages/project-access/src/project/cap.ts - Alina
[x] packages/fe-fpm-writer/src/building-block/prompts/api.ts validateAnswers  - Alina
[x] enable skipped tests and fix -> getCAPServiceChoices  -> [join('app/incidents')]: {

Bugs:

[x] filterBarId resolution issue:

[x] Selection/combobox input.

select any value;
Enter manually random value, which does not exist in dropdown list.
Problem - input reset value to empty

https://github.com/SAP/open-ux-tools/assets/90789422/22eb6f2b-416a-430c-8237-21cfc30cb3c7

Points:

[x] remove prop dependantPromptNames  from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L9
https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L10
[x] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L58 + https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L34
proposal: - Alina

export interface ListPromptQuestionCreationProps {
    placeholder?: string;
}

/**
 * Represents a question prompt for list question with dropdown visualization.
 * Combines properties of ListQuestion and BasePromptQuestion.
 */
export interface ListPromptQuestion<T extends Answers = Answers> extends ListQuestion<T>, ListBasePromptQuestion {
    /**
     * Dependant prompt names which should be updated after value change of current prompt.
     */
    dependantPromptNames?: string[];

    /**
     * Properties of input field for creation mode.
     */
    creation?: boolean | ListPromptQuestionCreationProps;
}

[x] delete 'onClick'? -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L70 Alina
[ ] missing tests onChangeCreateSelect  for -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L42-L46
[x] remove sort from -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L75
and apply sort in api where it is necessary - Alina
[ ] https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/utilities/hooks.ts#L41 -> resole data: choice type. Andis
[ ] refactor. onChange https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/MultiSelect/MultiSelect.tsx#L48-L55 Andis
[x] refactor onChange -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/ui-prompting/src/components/Inputs/Select/Select.tsx#L87-L93 Alina
[x] consume annotation api instead of tgz Alina
[x] recheck missing translations Alina
[x] do not pass absolute path in viewOrFragmentPath choices e1b5844270da0c2b2a14e7a8d880c278b8827e87
[ ] restructure generic prompts code out of building blocks folder Andis
[ ] check if we can avoid post processing convertion Andis
[x] do not create fe-fpm-cli folder when storybook is launched in examples\prompting-ui
[x] init i18n -> https://github.com/SAP/open-ux-tools/blob/feat/fe-fpm-writer/add-building-block-ui/packages/fe-fpm-writer/src/building-block/prompts/questions/chart.ts#L31 Alina
[x] Make name property in question interface required and adjust code where name ?? '' is used Alina
[x] Support export type PromptListChoices = ReadonlyArray<DistinctChoice> instead export type PromptListChoices = ReadonlyArray<ChoiceOptions>?  Alina
[ ] Refactor handling of default values in UI. Currently handled in examples/prompting-ui, but should be handled in ui-prompting Andis

Unit tests:

[x] packages/ui-prompting/scripts/prepare-storybook.ts - Andis
[x] packages/project-access/src/project/cap.ts - Alina
[x] packages/fe-fpm-writer/src/building-block/prompts/api.ts validateAnswers  - Alina
[x] enable skipped tests and fix -> getCAPServiceChoices  -> [join('app/incidents')]: {

Bugs:

[x] filterBarId resolution issue:

[x] Selection/combobox input.

select any value;
Enter manually random value, which does not exist in dropdown list.
Problem - input reset value to empty

https://github.com/SAP/open-ux-tools/assets/90789422/22eb6f2b-416a-430c-8237-21cfc30cb3c7


Open issues in other CK repositories

CK itself is now stable. Most of other functionality is implemented in other CK repositories. Here are links to open issues in other major CK repositories:

universal multi-objective autotuning (program optimization): https://github.com/ctuning/ck-autotuning/issues
Experiments, graphs, statistical analysis and predictive analytics: https://github.com/ctuning/ck-analytics/issues/
Packages and environment: https://github.com/ctuning/ck-env/issues
Interactive/reproducible articles and graphs: https://github.com/ctuning/ck-dissemination-modules/issues/
Crowdsourcing program optimization and benchmarking: https://github.com/ctuning/ck-crowdtuning/issues

I close this ticket.


Code sample how can we takeScreenshot on failed tests

https://github.com/wswebcreation/wdio-image-comparison-service/issues/50#issuecomment-762427915

Hi @sytolk
Thanks for filing an issue, can you please explain what you need from this module. Looking at your title I would say there is no link with this module but something related to how you implement this in WebdriverIO itself and thus a WDIO question.

Hi @sytolk
Thanks for filing an issue, can you please explain what you need from this module. Looking at your title I would say there is no link with this module but something related to how you implement this in WebdriverIO itself and thus a WDIO question.

Hi @wswebcreation
To take screenshot I have use browser.saveFullPageScreen from image-comparison-service like this:
https://github.com/tagspaces/tagspaces/blob/develop/tests/e2e/hook.js#L180
but the right place to take screenshot is in WDIO afterTest hook. The problem is that I cannot set here in WDIO options this hook (it is ignored... maybe it work only from wdio.conf.js):
https://github.com/tagspaces/tagspaces/blob/develop/tests/e2e/hook.js#L112
image-comparison-service have great example to running programmatically this miss me for WDIO (specially hooks). And I think that this hook: afterTest(() => browser.saveFullPageScreen()) can be handled internally from image-comparison-service in programming-configuration?
The question in can we set a WDIO hook option from this service ?

Hi @wswebcreation
To take screenshot I have use browser.saveFullPageScreen from image-comparison-service like this:
https://github.com/tagspaces/tagspaces/blob/develop/tests/e2e/hook.js#L180
but the right place to take screenshot is in WDIO afterTest hook. The problem is that I cannot set here in WDIO options this hook (it is ignored... maybe it work only from wdio.conf.js):
https://github.com/tagspaces/tagspaces/blob/develop/tests/e2e/hook.js#L112
image-comparison-service have great example to running programmatically this miss me for WDIO (specially hooks). And I think that this hook: afterTest(() => browser.saveFullPageScreen()) can be handled internally from image-comparison-service in programming-configuration?
The question in can we set a WDIO hook option from this service ?

Hi @sytolk
Ok, I now understand. The afterTest hook in this service should behave the same as the afterTest hook in WDIO-config. If it's not working from the config then something else in your code might be wrong. For now I'm not planning in adding an extra hook to create screenshots on error that's why I'm closing this issue. It's still open for further discussion

Hi @sytolk
Ok, I now understand. The afterTest hook in this service should behave the same as the afterTest hook in WDIO-config. If it's not working from the config then something else in your code might be wrong. For now I'm not planning in adding an extra hook to create screenshots on error that's why I'm closing this issue. It's still open for further discussion

Thanks for the answer @wswebcreation but I'm not expecting that image-comparison-service will support screenshots on error (source code changes). I want to extend running-programmatically example usage i README.md only.
"The afterTest hook in this service should behave the same as the afterTest hook in WDIO-config."
Ok this means that we can add WDIO hooks in programing-configuration example? The main goal is to skip WDIO-config usage and run WDIO progammatically.

Thanks for the answer @wswebcreation but I'm not expecting that image-comparison-service will support screenshots on error (source code changes). I want to extend running-programmatically example usage i README.md only.
"The afterTest hook in this service should behave the same as the afterTest hook in WDIO-config."
Ok this means that we can add WDIO hooks in programing-configuration example? The main goal is to skip WDIO-config usage and run WDIO progammatically.

If you want to run this service programmatically then call these commands directly: https://github.com/wswebcreation/webdriver-image-comparison/blob/main/lib/commands/saveElement.ts


Support for Azure CDN delivery_rule and global_delivery_rule

Are Azure CDN delivery_rule and global_delivery_rule supported? I don't see them in the Pulumi docs or in the object definitions.
If not, is there a workaround in order to be able to use them?
https://www.terraform.io/docs/providers/azurerm/r/cdn_endpoint.html#global_delivery_rule
https://www.terraform.io/docs/providers/azurerm/r/cdn_endpoint.html#delivery_rule

These options got introduced in the 2.6.0 version of the AzureRM Terraform provider just a couple of days ago. You should get them when we upgrade to this version soon.
cc @stack72

I am doing this right now :D

Closed via #529 and release will be very shortly


Fix PersonaBar loading when within an iframe

Fixes #4491.
Summary
This change has been working for me for months and I haven't noticed any other regressions, but I'm not sure what other things this might affect.

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


README.md iframe is not working

README.md iframe is not working.  It just looks bad.

Thanks. Looks like iframes are no longer supported with GitHub flavored Markdown. I've fixed it.


How to use native currency on custom network

Using ETH.MAINNET().contractAddress works fine for eth, and I am trying to reproduce that for Polygon and BSC. I see it prints out WETHs address with a suffix _ETH. I tried to make my input token the same way for Polygon 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270_MATIC and it didn't work. My config is below, I have the nativeCurrency setup for the customNetwork. I have swaped tokens and everything so I know it works, I just don't know how to make the Native Coin of each chain as an input.
A few off topic questions. What does the baseTokens parameter do? How do I access them? Does the baseTokens have anything to do with the NativeCurrency?
Is there anyway I can swap using my wallet, but have the swap send the output to a different wallet?
Thanks
`const config = {
name: 'Polygon Mainnet',
nativeCurrency: {
name: 'Polygon',
symbol: 'MATIC',
decimals: 18,
logoUrl: [tokenImageUrlForContract({ tokenContractChainId: maticMainChainId })]
},
nativeWrappedTokenInfo: {
chainId: maticMainChainId,
contractAddress: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
decimals: 18,
symbol: 'WMATIC',
name: 'Wrapped MATIC'
},
multicallContractAddress: '0x275617327c958bD06b5D6b871E7f491D76113dd8',
defaultPairs: {
inputAddress: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
outputAddress: '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063'
},
uniswapVersions: [UniswapVersion.v3],
cloneUniswapContractDetails: {
v3Override: {
routerAddress: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',
factoryAddress: '0x1f98431c8ad98523631ae4a59f267346ea31f984',
quoterAddress: '0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6'
}
}
}
async function quote({
chainId,
library,
account,
fromTokenContractAddress,
toTokenContractAddress,
slippage,
deadlineMinutes,
tradeAmount,
tradeDirection
}) {
try {
const {
name,
nativeCurrency,
nativeWrappedTokenInfo,
multicallContractAddress,
uniswapVersions,
cloneUniswapContractDetails
} = config
    let settings = new UniswapPairSettings({
        slippage,
        deadlineMinutes,
        disableMultihops: false,
        uniswapVersions,
        gasSettings: {
            getGasPrice: async () => {
                // TODO update
                const gasPrice = await library.getGasPrice()
                return formatUnits(gasPrice, 'gwei')
            }
        }
    })

    if (!ethChains.includes(chainId)) {
        settings = {
            ...settings,
            cloneUniswapContractDetails,
            customNetwork: {
                nameNetwork: name,
                multicallContractAddress,
                nativeCurrency,
                nativeWrappedTokenInfo
            }
        }
    }

    const uniswapPair = new UniswapPair({
        fromTokenContractAddress,
        toTokenContractAddress,
        ethereumAddress: account,
        ethereumProvider: library,
        settings
    })

    const uniswapPairFactory = await uniswapPair.createFactory()

    const trade = await uniswapPairFactory.trade(tradeAmount, tradeDirection)

    //.......
} catch (error) {
    throw error
}

}
`

Some one must know how to get this to work

Sorry been super busy.. il look into this tomorrow for you and come back with an answer 👍

Hello, any update on this, can we do same for local network on ganache.

I was over thinking it. The library is expecting the  _ETH suffix no matter what chain you are on. You can use the appendEthToContractAddress(wrappedNativeCoinAddress) function to wrap the address or just append _ETH yourself. This issue can be closed.


[User Experience] Persist sidebar width to preserve application restarts

For me default sidebar width is small and after starting Bruno I have to always resize it which is annoying.
So, It would be fine to have it persisted in application settings on sidebar resize event and applied on application start.

While not explicitly asked for, this is a copy of #565. I have the very same issue with the sidebar.


State and future of maplibre-rs

Hi everyone! Sadly I won't make it to the next  native meeting. However, I wanted to raise a discussion about maplibre-rs and what the board & project coordination thinks about the project.
I'm currently in the process of translating about 10k lines of C++ to Rust and reached a POC state where I can use SDF font rendering (as designed in maplibre-native) in maplibre-rs.
However, I fear that without investing actual money/resources into the project beyong my capabilities the project won't be sustainable and it might be more realistic to return to the projects origins where it is just a project that brings joy to me without following the vision of becoming a useful part of the MapLibre ecosystem. That would mean essentially removing the "MapLibre" branding of maplibre-rs.
I think its the right time to discuss the fait of the project now with the new project coordination in place.
Note that the above is not really meant as a public discussion but more as a request to the board & tech. coordination to draft a vision for maplibre-rs.
You might call this a request for a board opinion.

The board received your asssesment that maplibre-rs only would be sustainable if the board could funnel resources into it:

12th Nov - Max Ammann: I fear that without investing actual money/resources into the project beyong my capabilities the project won't be sustainable
15th Nov - Max Ammann: it seems like it might make more sense to abandon the project if the board is not backing the project.

We started compiling material to better understand this inquiry, educating ourselves on the topic, scheduling discussion meetings etc., so that we can evaluate your request and find ways to provide the project the necessary backing you ask.
You then provided us a more specific suggestion for how this work could take shape. To modularize the renderer and create Rust libraries under the MapLibre umbrella that can be funded:

15th Nov - Max Ammann: Idea related to the above discussion: Maybe it could make sense to create Rust libraries under the MapLibre umbrella that e.g. implement SDF font rendering (90% done right now). Those could then be used by maplibre-native in the future.

The board offered to put your suggestion on the agenda of our quarterly board meeting, 19th Nov, to expedite a funding decision. For your suggestion to be feasible, we would naturally also have to ensure this is desirable for the MapLibre Native renderer:

15th Nov - Birk Skyum: I believe maplibre could support financially within the existing sponsorship program.
[..] We have a board meeting Tuesday, and they’re typically quite packed, but if possible this would be good to have on the agenda too ( cc ramyaragupathy )

This effort was declined, when you clarified that you're not looking for funding:

15th Nov - Max Ammann: I'm not really looking for funding as that is not really what would motivate me to keep going.

The language of backing/resources/investing/money seemed central to this issue, so if there's no concern of funds, let's leave that out. I think's better to open a "Discussion" instead, since there's no clear action point.
The vision for maplibre-rs - The project vision is driven by the people working on it, the maintainers and community, rather than the board. The exception to this rule is when funds are spent, because then it's the boards responsibility to make sure the money are put to good use. Being a bottom-up organization, rather than top-down, means that plans for, and development,  of martin, maplibre-react-native, maputnik isn't controlled by maplibre, we merely Host the projects, as an umbrella for FOSS mapping libraries.
We'd be happy to share our opinion on your vision for the project. Due to the org being driven bottom-up, and largely by voluntary contributions, it's best that it's that way around, and not the other, since it could be demotivating if the board put forward a vision for a project, that's not aligned to the motivations of the contributors of it.
For further inquiries to the board, please note that we're all governing MapLibre on a voluntary basis, and that we're all having significant responsibilities next to that, and thus have limited availability, so specific are good.
Thanks.

For further inquiries to the board, please note that we're all governing MapLibre on a voluntary basis, and that we're all having significant responsibilities next to that, and thus have limited availability - so the more specific the better.

I'm sorry if my request caused any friction or stress. I was unsure which process to follow to ask about the board's opinion as the #maplibre channels is mostly used for MapLibre support or project presentations. After some thought I came to the conclusion that this GH project is likely the best way of communication.

The vision for maplibre-rs
The project vision is generally driven by the people working on it, the maintainers and community, being a bottom-up organization - with the board mainly touching projects when it comes to onboarding, funding etc..

This makes a lot of sense. I feel what's lacking for maplibre-rs is a community and multiple maintainers. As I failed to achive that thorough the years I feel like it would make sense to offboard maplibre-rs from MapLibre. Even thorugh the project has been idling a lot in the past 2 years I always intended to invest as much time as I can into the project and I would love to continue doing that. However, sharing the name "MapLibre" seems inappropriate to me by now. It seems like vision for maplibre-rs "one code to rule them all" is not/no longer ubiquously shared between MapLibre project maintainers.
Therefore, such that I pesonally still have fun driving the "Rust map renderer project" forward the best option is to change the name of the project from maplibre-rs so something else (let's use maps-rs in the meantime) and transfer the project back to my personal GitHub account.
Let me know what you think and if that path forward is acceptable to you! Thanks for all the resources and support I received in the past years! Definitely looking forward to meet the community again at the next State of the Map or similar.

@maxammann The suggestion you have to off-board the project, and then strip if of references to maplibre - it sounds like a quite destructive action, that would break the association/links to the published academic work, scopes and docs, that did aim to be a "unifying renderer" written in rust, and these other places:

https://web.archive.org/web/20220807144111id_/https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLVIII-4-W1-2022/35/2022/isprs-archives-XLVIII-4-W1-2022-35-2022.pdf
https://www.youtube.com/watch?v=Qq4cj0kfOUE
https://crates.io/crates/maplibre
https://maplibre.org/maplibre-rs/docs/book/
https://webgl.demo.maplibre-rs.maplibre.org/

Have you considered simply forking it? Keeping "maplibre-rs" in place, with all the associations to it, could make it easier to  dissociate a new technical direction from that name. That is likely less confusing than having maplibre-rs redirect to a project that completely abandons its original promise.
You'd basically, in a non-destructive way, be free to do all the things you mention:

Rename, away from maplibre
Have project under personal scope
Refactor at will
Present new technical direction and goals

did aim to be a "unifying renderer" written in rust

Unfortunately, I don't see that vision becoming reality. That did not happen the past 3 years. The project barely received any outside contributions - none that actually drove the project forward.
I'd like to keep the whole repository history in one place, under my personal account. Having all the issues, including potential watching collaborators is essential for me.
I'm going to makre sure that the impact will be limited. I think the only links that might break is the maplibre.org link: https://maplibre.org/maplibre-rs/docs/book/
However it would be trival to continue publishing to that URL. I could leave there a note saying that the project is no longer. When transferring a GH repository all links to code or issues should remain intact at https://github.com/maplibre/maplibre-rs
GitHub should forward all requests to the transferred repository. If that does not turn out to be the case then I can recreate the maplibre-rs repository after the transfer with documentation about the state and reuslts of the maplibre-rs experiement.

I'd like to keep the whole repository history in one place, under my personal account.

When the project was onboarded, you were the sole author and copyright holder. Now there are 18 community members that have contributed, and the copyright is owned by the MapLibre Contributors. Therefore it's a challenge for the board to simply transfer back all the rights to the repo to your personal account at this point, several years down the road. My recommendation would be to either make a fork of the project if you want to take it a completely different way OR to lean into the amazing MapLibre Community who's excited for you and for maplibre-rs.


Fix uploading bazel RBE results to bigquery

Uploading has been broken for the last few days for all bazel RBE jobs on master:
https://source.cloud.google.com/results/invocations/7c701750-65a3-4b4b-a097-b2e9b9bf8197/targets
+ python ./tools/run_tests/python_utils/upload_rbe_results.py
Traceback (most recent call last):
  File "./tools/run_tests/python_utils/upload_rbe_results.py", line 191, in <module>
    test_cases = action['testAction']['testSuite']['tests'][0][
KeyError: 'tests'

Example action that triggered the failure (from local testing)
{"timing": {"duration": "5.502s", "startTime": "2019-04-29T14:35:28.773Z"}, "testAction": {"testTiming": {"testCaching": "CACHE_MISS", "local": {}}, "testSuite": {"suiteName": "Empty suite"}}, "id": {"configurationId": "8be6773e1c5b12a715e6fedc64030603", "targetId": "//test/core/client_channel:uri_fuzzer_test@poller=epoll1", "invocationId": "f8780c9b-9878-4c98-b3be-fb28d8b48c65", "actionId": "test_shard0_run0_attempt0"}, "statusAttributes": {"status": "PASSED"}}

Merging early to fix the breakage.


Settings UI looks bad in a few themes

Tomorrown Night Blue:

We should remove the background colors from the input box container and section headers
We should inline the result summary inside the search text box, aligned to the right

@bgashler1 With latest changes of moving Search bar to complete editor and after suggestions from @joaomoreno Settings editor looks as below in different themes

What do you think?

@sandy081 I love that the results are in the search bar.  Also, I like that it looks better now in different themes.

There is still some ugly grey e.g. when hovering over a section:

I think the original issue though was that we would always show section background color.

Agreed that section background color does not look good for some themes. But I think, it is difficult to get a color that goes well with all themes . Or we can completely remove the background color for section headers. But that might not be consistent with our tree UI.

Have you tried simple grey with various degrees of opacity? It goes a long way. 👍

No. Will try

Same is true for our text input fields in Problems view and Preferences.

Created #19519 & #19520 to mark as verified.


[TechDocs CLI] Known limitation: No mkdocs.yml or missing nav will fail the serve command

mkdocs serve command's live reload does not work if mkdocs.yml does not have a Nav. Hence, techdocs-cli will also fail.
Document this somewhere here and maybe even lint mkdocs.yml as part of the serve command in the CLI and throw warning/error if Nav is missing.

Re-associating with the up-to-date PR: https://github.com/backstage/mkdocs-monorepo-plugin/pull/69


Remove unnecessary initial value of LLRB "NewTree" function

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind api-change
/kind bug

/kind cleanup

/kind deprecation
/kind design
/kind documentation
/kind failing-test
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation:

@loganstone Thanks for the contribution.


generator redesign

Right now, Fable is reliant on a lot of fractally concepts (Chaos game, Fractal Flame method, etc). This does not need to be the case, and it is better to move all the fractally things out so we can create the FableObjects with other generation functions, so...

[x] Remove the Global array of points from FableLayer
[ ] Create an AbstractGenerator, where one of them is RandomGenerator (1)
[ ] FractalObjects now define generators

[x] Also define -> create

[ ] Remove num_particles and num_iterations (2)
[ ] Remove random iteration option and instead find a way to properly iterate (possibly with a stack for recursion?)

[ ] No moure double-loop structure
[ ] Still loop over number of generators for multiple objects per kernel run
[ ] No longer call it fractal_flame (this method is still possible as a generator)

[ ] H_post -> transformations
[ ] Performance test to main

Something like:

abstract type AbstractGenerator end;

struct ChaosGenerator{F, A, I}
    f::F
    args::A
    iterations::I
end

# All generators should create a run function to be called from the kernel
pt = run(gen::AbstractGenerator)  = gen.f(tid, gen.args...)

function ChaosGame(tid, bounds, random_function, f_set, dims, n)
    pt = randon_function(seed(tid), bounds, dims...)

    # now do Chaos Game for n iterations
end

gen = ChaosGenerator(ChaosGame, (bounds, random_function, f_set...), 1000)

These parameters are not necessary. num_particles is really just limiting the scope of our kernel and causing unnecessary trips to global memory. num_iterations should now be set by the generator and iterated on as an ndrange

Thinking on this more, I think...

All primitivs are still FableOperators
the generator should create a specific @generated template to follow, so we can still do chaos game for as many steps as we want
multiple Fable objects still compose into an executable by following the generator templates

Ok, jotting down some more notes here. The generators should be <: FableOperator. Because we want to minimize the number of @generated functions, we should @generate based on each operator and then loop over them in the main kernel (note that this might need another @generated function at the fee level).
Also, we might as well add in the first part of https://github.com/leios/Fable.jl/pull/99 here (remember to color 1st and then move!).


TestStore incorrectly scopes .receive steps

Describe the bug
When using a scoped TestStore, .send steps are correctly scoped to LocalAction but .receive steps are scoped to Action.
This seems like an easy thing to fix but I wasn't entirely sure if this was a bug or the expected behaviour.
To Reproduce
        struct ExampleState: Equatable {
            var nested: NestedState = .init()
        }
        struct NestedState: Equatable {}

        enum ExampleAction: Equatable {
            case nested(NestedAction)
        }
        enum NestedAction: Equatable {
            case example
        }

        let store = TestStore(
            initialState: ExampleState(),
            reducer: Reducer<ExampleState, ExampleAction, Void>.empty,
            environment: ()
        )
        .scope(state: \.nested, action: ExampleAction.nested)

        store.assert(
            .send(.example),
            .receive(.example) // <<< Type 'ExampleAction' has no member 'example'
        )

Changing the .receive to .receive(.nested(.example)) works.
Expected behavior
Send and Receive should both be scoped to the locally scoped action.
Environment

Xcode 12.3
Swift 5.3.2

@lukeredpath This is by design, though it may be a little surprising and could definitely be better documented. Scoped test stores are generally intended to test view state and view actions (and I think view actions are only ever sent by the user, never received by an effect). These user actions could also lead to side effects, though, where more general actions are received by the reducer, and in order to assert against these actions, the test store needs to be able to call receive with those actions and not the same action type it sends.
Does that make sense? Any concerns with this approach?

@lukeredpath This is by design, though it may be a little surprising and could definitely be better documented. Scoped test stores are generally intended to test view state and view actions (and I think view actions are only ever sent by the user, never received by an effect). These user actions could also lead to side effects, though, where more general actions are received by the reducer, and in order to assert against these actions, the test store needs to be able to call receive with those actions and not the same action type it sends.
Does that make sense? Any concerns with this approach?

@stephencelis thanks for the explanation. I did have a suspicion it might be deliberate, but I wasn't sure why. Your explanation makes complete sense, I do think it would be helpful if this was a bit better documented - perhaps even renaming it to something like viewScope might make it more obvious?

@stephencelis thanks for the explanation. I did have a suspicion it might be deliberate, but I wasn't sure why. Your explanation makes complete sense, I do think it would be helpful if this was a bit better documented - perhaps even renaming it to something like viewScope might make it more obvious?

I think this can be closed, thanks for the updated docs.


Secfab Recipe Expansion

About the PR

More recipes for the secfab. Emo promised me cat pics if I reopened this I expect him to deliver
Changelog

:cl:

add: Several new recipes for the security fabricator have been added, that can be unlocked with research from science.

why add like 20 techs when they only need like 4 or 5

why add like 20 techs when they only need like 4 or 5

emo requested change from the original

closing since the linter refuses to cooperate/Emo's started working on the rnd rework


Murisi/strip type info

Further sped up the compiler by stripping out type information after type checking. blake2s.pir now compiles (no synthesis, or public parameter reading) in under 2.4s (used to be 10s). More specifically, the following changes were made:

Use the results of symbolic evaluation to determine the internal structure of patterns
Strip out the now unrequired type information so that less data has to be cloned during evaluation
Now determine the shape of global variables whilst the type information is still there, and before evaluation
Moved the reading of public parameters to after compilation so that user can be notified of bugs earlier

I'm unable to fully review the code, I need to audit the codebase myself at some point, however is cloning the type information and going past it that expensive? Seems the times are more on point, however I do have a few questions regarding the speedup. Are you doing functional updates on the AST? If so then the clone should be shallow, and the worst you'd either have to step past the box or take up more memory when doing compilation? Or is rust deep cloning data, so it's continuously swapping around data forcing a lot of explicit cloning?
Either way good job, the times are getting closer to where they should be.

I'm unable to fully review the code, I need to audit the codebase myself at some point, however is cloning the type information and going past it that expensive? Seems the times are more on point, however I do have a few questions regarding the speedup. Are you doing functional updates on the AST? If so then the clone should be shallow, and the worst you'd either have to step past the box or take up more memory when doing compilation? Or is rust deep cloning data, so it's continuously swapping around data forcing a lot of explicit cloning?
Either way good job, the times are getting closer to where they should be.

Thanks! Memory allocations now dominate the compile time, and I believe these are due to cloning TExprs (which contain Types). So I removed the redundant type information in the hopes of reducing memory allocations due to type annotations. This seemed harmless, at least until we can reduce the amount of cloning done.
Shallow cloning could certainly be investigated as a way of improving speed - I had some ideas in that direction... The current deep cloning implementation was just the simplest to do at the moment.


add more cache and lsa graphs

Added graphs:

cache insertions
cache evictions
cache partitions
cache total bytes
lsa memory:

lsa total memory
unused memory in lsa segments
non-lsa used memory
free memory

@pdziepak thanks for the PR
The data chart looks good and useful
The new chart is positioned under Disk, which is not correct.

I suggest dedicating a new row for it, with a new Memory header in a new row (see below)

I suspect the new chart have too many data lines and will be unreadable with many nodes, but it can be fixed in a later patch. Maybe we will have a dashboard just for memory.

Ah, I didn't realise that in more than a multiple node scenarios we would have data from all nodes on these graphs. LSA memory graph is stacked so it would make absolutely no sense at all in such cases.
For tracking LSA memory the best would be a separate stacked graph for each node, I am not sure whether it can be done with grafana. Now, I think it is better to drop it and leave just the new cache graphs.

For tracking LSA memory the best would be a separate stacked graph for each node, I am not sure whether it can be done with grafana.

I think we should use http://docs.grafana.org/reference/templating/  but I haven't tried it yet

@penberg In per-server view we could separate charts with just LSA (per-node), non-LSA (per-node), etc.  IT would be still useful, I think.

I've split the LSA memory graph to "LSA total memory" and "non-LSA memory" and moved it to a separate section.

Looks good


Move service schema to config directory

This PR moves the service schema files to the config directory and also uses the new title attribute. Finally the Container Settings do also get their own file.
Depends on the fix in #331 to work.

Reviewer: @pierlo-upitup

@mesosphere-ci retest this please

In my opinion the config-directory is reserved for application-wise configurations like the config.dev.js.
Putting a scheme into the config-dir I think we mix the things up.
Calling it schemes would be much moar obvious to me. :)

The title-attr is great btw! :)

I agree with @aldipower – config/ does not strike me as being the right place for this.

I addressed the concerns about the config directory and moved the files to a new directory called schemas. My idea is to have a sub directory for each schema and a main file in the schemas directory itself
schemas
  |__ ServiceSchema.js
  |__ service-schema/
      |__ general.js

retest this please

:+1:


Ensure that directory permissions are properly set on MySQL and MariaDB

Fixes #914 #4952
Forces Directory/File to have the Others permission set (755 for Dir, 644 for Files), to avoid umask issues

@driverpt are you able to finish this (soon)? If not I'll try and come up with a superseding PR.

Hi. Please proceed. I can only pick this up next week

Hi @driverpt! I haven't been able to work on this so far. Please leave a message when you have picked it up again so that we don't work on it in parallel. Thanks!

Hey @famod , please feel free to pick this up. I'm a bit swamped with work atm.

FYI, I have started working on this. The tests need some work though.

That was where I had a hard time. To reproduce you need a Linux Operating system with 020 of default umask. I've tried doing that using docker-in-docker, but it's tricky

Actually, I don't think it's that complicated (unless I'm missing something):
startFailsWithWrongPermissions (which sets the file to owner-readable only) fails before the change and must not fail after it, that's all!
The second test method is obsolete/broken IMO.

Superseded by #6625, finally 😅

Close it favor of #6625


Audit & manicure CSS for overview page

In the course of #1096, we restructured the HTML a bit and we were (read: I was) a bit careless about removing unnecessary styles and so on. This is a tracking bug to:

[ ] Do a styling pass and clear out the unused cruft
[ ] Consider adding colors in a theme-responsive way
[ ] Consider CSS modules
[ ] Make it prettier

@queerviolet I filed a couple of issues with styling things as I noticed them:
https://github.com/microsoft/vscode-pull-request-github/issues/1156
https://github.com/microsoft/vscode-pull-request-github/issues/1199
Feel free to close those in favor of tracking them here

Closing since I think there is not currently an work to do here


Disambiguate namespace/class name

Using the name SerilogTraceListener as both the namespace and class names makes it awkward to resolve in C# code.
I think we need to rename one or the other; I'm not sure if any particular option stands out. Here is one proposal, any alternatives/suggestions would be great.
// assembly: Serilog.Diagnostics
namespace Serilog.Diagnostics
{
    public class SerilogTraceListener: TraceListener
    {

Thus new SerilogTraceListener() with the namespace generally inferred by VS/ReSharper, and "Serilog.Diagnostics.TraceListener, Serilog.Diagnostics" in XML.
(Avoiding NuGet package renames if possible for now.)
It's not necessarily conventional to package Serilog.Diagnostics.dll in SerilogTraceListener, but since a) most XML configuration is copy/paste and b) in VS, typing SerilogTraceListener will resolve to the correct class name, I think it'd be fine in practice.
Thoughts?

Apparently this was once known as Serilog.Extras.TraceListener
Perhaps 5209d49 should be reverted?  (And would it make sense for this project move under the official Serilog umbrella?)

@CrazyPyro thanks for giving this one a nudge 👍
I think we pretty much universally obsoleted the Serilog.Extras.* naming, so moving forward to Serilog.Diagnostics.TraceListener seems a bit nicer and lines up with how things are done at present. A PR would be appreciated if you're interested in having a shot at it.
I'm not against bringing it under /serilog, but there's not a huge motivation to do it either so I'd rather keep things as-is for now. Thanks for the input though!


Asb deadletter poisonous messages

Addresses issue #90
Poisonous message is deadlettered instead of just being completed.
No tests provided as it would require to spoof a poisonous BrokeredMessage rather than following what the tests are doing now (using real messages delivered by the broker).

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

Closed in favor of #92


Cloning repository issue.

Dev Home version
0.401.226.0
Windows build number
10.0.22631.2199
Other software
OS Build Version: 10.0.22631.2199.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.20
Steps to reproduce the bug
Just follow the instructions to clone an repository.
Expected result
To clone my repository.

Actual result
Couldn't clone the repository.
Included System Information
Physical Memory: 7.65GB (1.02GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHome_0.401.226.0_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHomeGitHubExtension_0.400.226.0_x64__8wekyb3d8bbwe

Hello @edvanioFC.  Super simple question.  I see that your system has 1.02GB free.  Are you sure the repo is smaller than a gigabyte?

This is my RAM memory.
My DEVHome is totally free.
I have 58Gb available/ of 60Gb.

Ah.  I am sorry.  I read that too fast.  My mistake.  A few more questions.  This time I want to figure out how you cloned the repo.

Is this repo public or private?
What flow did you use to clone the repo?  Account or URL?

Ah.  I am sorry.  I read that too fast.  My mistake.  A few more questions.  This time I want to figure out how you cloned the repo.

Is this repo public or private?
yes, it is a public repo.

What flow did you use to clone the repo?  Account or URL?
account.

@edvanioFC sorry for the long pause.  This is a result of older versions of DevHome and the extension not communicating the error correctly.  Can you please upgrade both the extension and DevHome to the most recent version and reproduce the error.  The message should be more clear.


[Title with short description] (Version: [rippled version])

Issue Description

Steps to Reproduce

Expected Result

Actual Result

Environment

Supporting Files

placed bids for NFT on onxrp.com. when bid was rejected it requires cancelling to get back 2 XRP. i have over 35 cancelled rejected bids that havent returned the XRP back?

I have replicated and sometimes it gives back 2 XRP and sometimes it doesnt.

You seem to be confusing this with some third party website support. Please get in tough with the operator of "onxrp.com" (which honestly looks VERY sketchy to me as a side note).

@TwoBigPaws133 does your account balance show the correct amount of total XRP?  reserve always stays in your account, it doesn't go anywhere, but reduces your spendable amount

@TwoBigPaws133 - please reply to shawnxie999's questions above.
If you do not reply soon, this issue will be closed due to inactivity.

@intelliot I do believe OP asked the same question in another thread and was able to resolve the issue. It was a while ago so I couldn't find it.


Cannot read configuration environment variables if they have different casing (OSX)

From scenario: https://github.com/aspnet/Release/issues/66
Use this program:
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.AddEnvironmentVariables();
var config = builder.Build();

Console.WriteLine(config.GetValue<string>("L1:NotACSharpIdentifier"));
Console.WriteLine(config.GetValue<string>("L1:NotACSharpIdentifieR"));

Then run:
export L1__NotACSharpIdentifier=30
export L1__NotACSharpIdentifieR=31
dotnet run

30
30

Now swap the WriteLines in the program (read L1:NotACSharpIdentifieR first) and run:
export L1__NotACSharpIdentifier=30
export L1__NotACSharpIdentifieR=31
dotnet run

31
31

So, it seems that the first read is the one can be read. It's impossible to get the value for the second one.

By design - config is a case insensitive dictionary (see #222).


Changes in the Jenkins after adding kubernetes and docker in this milestone

Made changes in the Jenkins script on the Jenkins Master instance due to the addition of Kubernetes and docker.
The image is being deployed from the docker hub through the Kubernetes yaml rather than manual steps provided in the previous milestone.


Update Storage, SB SDK to T2.

SDK Update List

Storage Account
Service Bus

@heaths - Please review.


CXI2 firmware not working

i brought this unit so i could install linux and run headless server so i did the steps when i got it and because i had some problems with usb i did not backup firmware, also because it said chances of it not working are very low. Anyway when it finished and restarted i was greeted by no display i left it for 10-15 min and still nothing, restarted did the same nothing after that i opened it up downloaded firmware from script sources and flashed it directly to winbond 25q64fv and now it just boot loops (fan is turning on and off constantly like it is shorted somewhere). Anyway i saw the same problem posted on reddit like 2 months ago so i posted issue here

there's no issue with the firmware, it's been tested on multiple units. What file did you download / what exact command params did you use to flash?


Enhancement: Add interface for RFC5842

This PR

[x] adds an interface for RFC5842

💁♂ For reference, see https://tools.ietf.org/html/rfc5842.

@localheinz Isn't WebDAV the thing of the past? https://www.google.com/search?q=webdav+deprecated

@szepeviktor
I have no idea, but I'm sure it won't be in enterprise scenarios, haha!


[QUESTION] why static files path is changing ?

Description
How can I render a page without changing the mounting path of the static files being served ?
More specifically,
Additional context
Below are the parts of the pipelines.html, that is being served (correctly) by
@app.get("/pipelines")
async def alpha_pipelines(
    request: starlette.requests.Request,
    current_user: User = fastapi.Security(get_current_active_user),
):
    params = {"approles": current_user.approles}
    data, errors = [], []
    return templates.TemplateResponse(
        "pipelines.html",
        {"request": request, "params": params, "data": data, "errors": errors},
    )

the static files are mounted by FastAPI like this
app.mount("/static/css", StaticFiles(directory="static/css"), name="css")
app.mount("/static/img", StaticFiles(directory="static/img"), name="img")
app.mount("/static/webfonts", StaticFiles(directory="static/webfonts"), name="webfonts")
app.mount("/static/js", StaticFiles(directory="static/js"), name="js")
app.mount("/mdb", StaticFiles(directory="mdb"), name="mdb")
templates = Jinja2Templates(directory="templates")

and the static files described in HTML:
        <link href="../static/css/fontawesome.css" rel="stylesheet">
        <!-- Bootstrap core CSS -->
        <link href="../mdb/css/bootstrap.min.css" rel="stylesheet">
        <!-- Material Design Bootstrap -->
        <link href="../mdb/css/mdb.min.css" rel="stylesheet">
        <!-- Stepper CSS -->
        <link href="../mdb/css/addons-pro/steppers.min.css" rel="stylesheet">

...
        <!--  SCRIPTS  -->
        <!-- JQuery -->
        <script type="text/javascript" src="../mdb/js/jquery.min.js"></script>
        <!-- Bootstrap tooltips -->
        <script type="text/javascript" src="../mdb/js/popper.min.js"></script>
        <!-- Bootstrap core JavaScript -->
        <script type="text/javascript" src="../mdb/js/bootstrap.min.js"></script>
        <!-- MDB core JavaScript -->
        <script type="text/javascript" src="../mdb/js/mdb.min.js"></script>
        <!-- Stepper JavaScript -->
        <script type="text/javascript" src="../mdb/js/addons-pro/steppers.min.js"></script>

        <!-- api-manifest -->
        <script type="text/javascript" src="../static/js/manifest.js"></script>

        <script>
         $(document).ready(() => {
             new WOW().init();
             $('.stepper').mdbStepper();
         });
        </script>

this is fine so far, I don't see anything wrong being displayed.
The problem is when the very same pipelines.html (that was served by the alpha_pipelines function correctly) gets re-endered and served by the input_alpha_interconnect_pipeline  function (or GET /manifest/interconnect/{pipeline_name}) shown below
@app.get("/manifest/interconnect/{pipeline_name}")
async def input_alpha_interconnect_pipeline(
    pipeline_name: str,
    request: starlette.requests.Request,
    current_user: User = fastapi.Security(
        get_current_active_user, scopes=["interconnect"]
    ),
):
    params = {"approles": current_user.approles}
    params.update({"pipeline": {"group": "interconnect", "name": pipeline_name}})
    data, errors = [], []
    return templates.TemplateResponse(
        "pipelines.html",
        {"request": request, "params": params, "data": data, "errors": errors},
    )

the problem starts when clicking on a href, /manifest/interconnect/peerings:
INFO:     <IP_ADDRESS>:11402 - "POST /auth HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11402 - "GET /static/js/manifest.js HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11402 - "GET /manifest/interconnect/peerings HTTP/1.1" 200 OK

now, you can notice that all the paths are now prepended with /manifest which is wrong, but I am not able to understand why this is happening..
INFO:     <IP_ADDRESS>:11404 - "GET /manifest/static/css/fontawesome.css HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11405 - "GET /manifest/mdb/css/bootstrap.min.css HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11406 - "GET /manifest/mdb/css/mdb.min.css HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11402 - "GET /manifest/mdb/js/jquery.min.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11404 - "GET /manifest/mdb/js/popper.min.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11406 - "GET /manifest/mdb/js/bootstrap.min.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11405 - "GET /manifest/mdb/js/mdb.min.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11412 - "GET /manifest/static/img/libertyglobal-logo.png HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11402 - "GET /manifest/mdb/js/addons-pro/steppers.min.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11411 - "GET /manifest/mdb/css/addons-pro/steppers.min.css HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11404 - "GET /manifest/static/js/manifest.js HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:11406 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11405 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11412 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11405 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11404 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11402 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11406 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11411 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11412 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11405 - "GET /pipelines HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:11404 - "GET /pipelines HTTP/1.1" 200 OK

can you please advise ?

what I found out is that the above occurs when there are multiple / in the path,
for example, /xxx/interconnect/peerings would cause an error,
but, /xxx behaves properly..
can you please advise on how to troubleshoot this and what can be wrong ?

any ideas ?

I see you closed the issue, so I imagine you solved your problem, right?
Anyway, seems like you're using relative paths like ../mdb/js/popper.min.js that would probably work correctly when used relative to some specific path but not for others at another level (as the paths are relative).

correct :)


Re-think the DependencyTrafo

The DependencyTransformation stems from early Loki days and it has accumulated some technical debt. Let's collect some of the pain points in this issue to address them in a future rewrite of the transformation.

Remove the baked-in assumption of .intfb in the name of interface block C-Includes (introduced in #251)
The C-include to module import flip could be informed with analysis data by the ModuleWrapTransformation
...

Just to provide the link here: #453 provides a step in a direction that will allow making this more flexible


Tracing without Performance

Closes #713

@stayallive the last TODO here would be to check where we would need to create a new propagation context, especially in a queue context. Today, we control this via queue_job_transactions, so maybe we can move this flag into queue_job_traces or something.

The propagation context does not concern us that much in the case of transactions. It's more about which traceId is used for error events.
I opted to attach a new PropagationContext to the span once pushScope() is called, hence linking all errors that happen in this specific queue job together.
In case the payload contains a traceparent and baggage payload, and the SDK is configured for queue_job_transactions, the PropagationContext on the scope will be overwritten by continueTrace(), hence continuing the trace with the correct traceId.

Good call, that should be fine!


Delete stale renditions when file or focal area changes are detected

This is typically handled by wagtail.images.forms.BaseImageForm when updating images via the UI, but there's currently nothing in place to handle this when updating model instances directly.

pre-commit.ci autofix


Added notauserx to readme example usage

Summary
Added notauserx to the readme example usage section.
Type of change

[ ] Updated documentation (updated the readme)

Looks great!


Wrong Charset after proxy zipped html

unproxied content with the http header
Content-Type:text/html;charset=UTF-8
is shown correct. After the page is delivered through a reverse proxy, who zipped text content and add the
Content-Encoding:gzip
http header, the response.text() have an wrong charset. It looks like unzip converts each byte to a char to the text without note off the encoding.

sorry, can be closed, it was not the gzip from the proxy, it was not wrong interpretation from fetch, it was crazy behavior of an xml parser in different environments


Updated links and Fixed links

Updated the links and fixed the links in the exact location

Summary

Ticket Link

Hello @Sayanta66,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@Sayanta66, it looks like this fork has been deleted. Just wanted to confirm before I close this PR. Thank you!

This PR can't be merged? But the changes are approved I think

@Sayanta66, we're unable to merge this PR into the codebase because the original fork has been deleted. Closing this ticket.

@cwarnermm does the changes are applied?

@Sayanta66 Unfortunately, no. When a PR is closed, any changes associated with that PR are not merged into the source code. To avoid this, please avoid deleting forks and branches in your local environment until PRs are fully merged.

@cwarnermm then merge the PR #4859 and I will do the changes again to the document.

thanks, @Sayanta66! I have commented on #4859 with some additional feedback. :)


How to use your App

Hi
I am trying to use your app but do not find an exe file to launch it. I installed powershell to try to launch the different scripts but without success. Could you point me to a tutorial to launch the scripts or to get to the launch the app properly.
Many thanks in advance

Oh, you just need to download the following .exe from the assets, please
https://github.com/builtbybel/Bloatynosy/releases/download/0.87.1/Bloatynosy.Nue.exe


Easier placing of many good/ bad things: Simliar as walls or rocks (by just one or two clicks for building many of them)

Hi,
when building gardens and that kind of stuff, the player often builds up more then one at a time but many of them next to each other, similar to walls, where you also don't build up tile at a time. To make placing many of them much easier, it would be nice if these things could be build up like walls. For example: When placing small garden, you click once on the starting point and once on the end point, and between that the area is filled with gardens.
Or it could work like building rocks/ trees in map editor: By clicking once and moving the mouse, gardens are getting build whereever the mouse is moving.
The second one would be better in my opinion, but it also depends on what would be easier to put in practice.

The same thing could be really nice for killing pits as well, but I think this is a really good idea.

That's a point, making both of these same as how pitch ditches are placed would be good, and the logic might be there so may be easier to implement


Codegen fix convert float to int on small types with riscv64.

This will fix #5992 and #5993
We should normalize float type when convert float to int on {i8,i16}.
Because riscv64 has no direct instruction to support it.

@afonso360  Looks like  The test failure indicates x64 not implement for small types.

@afonso360  I have rewritten to ISLE .
fmax_ I can't find a suitable name for this.
Maybe you can review code first.

@afonso360 any idea about this failure.
test interpret
test run
target riscv64gc

function %a(f64) -> i16 sext system_v {
block0(v6: f64):
    v16 = fcvt_to_sint_sat.i16 v6
    return v16
}

; run: %a(-NaN:0x7ffffff666666) == 0

Well, looks like we are not returning 0 for all NaN's. When testing this locally I got run: %b(-NaN:0x7ffffff666666) == 0, actual: -32768 so it seems like something is going wrong in the NaN checking.

Disassembly of the test case
```
Disassembly of 112 bytes:
   0:   97 06 00 00             auipc   a3, 0
   4:   83 b6 c6 00             ld      a3, 0xc(a3)
   8:   6f 00 c0 00             j       0xc
   c:   00 00 00 00             .byte   0x00, 0x00, 0x00, 0x00
  10:   00 00 e0 c0             .byte   0x00, 0x00, 0xe0, 0xc0
  14:   53 83 06 f2             fmv.d.x ft6, a3
  18:   d3 15 a3 2a             fmax.d  fa1, ft6, fa0
  1c:   97 0e 00 00             auipc   t4, 0
  20:   83 be ce 00             ld      t4, 0xc(t4)
  24:   6f 00 c0 00             j       0xc
  28:   00 00 00 00             .byte   0x00, 0x00, 0x00, 0x00
  2c:   c0 ff df 40             .byte   0xc0, 0xff, 0xdf, 0x40
  30:   53 87 0e f2             fmv.d.x fa4, t4
  34:   d3 88 e5 2a             fmin.d  fa7, fa1, fa4
  38:   53 a8 18 a3             feq.d   a6, fa7, fa7
  3c:   63 02 08 02             beqz    a6, 0x24
  40:   53 98 08 c2             fcvt.w.d        a6, fa7, rtz
  44:   37 8f 00 00             lui     t5, 8
  48:   93 0f ff ff             addi    t6, t5, -1
  4c:   b3 7f f8 01             and     t6, a6, t6
  50:   13 58 f8 01             srli    a6, a6, 0x1f
  54:   13 18 f8 00             slli    a6, a6, 0xf
  58:   33 68 f8 01             or      a6, a6, t6
  5c:   6f 00 80 00             j       8
  60:   13 08 00 00             mv      a6, zero
  64:   13 15 08 03             slli    a0, a6, 0x30
  68:   13 55 05 43             srai    a0, a0, 0x30
  6c:   67 80 00 00             ret
```

I haven't looked too close at this, but it looks like we only do the NaN check after the value is clamped, so could that be the reason for the issues?
I also tested building an equivalent test case using LLVM It looks like they do the NaN check on the original input.

@afonso360 thanks.


How pass isLoading

How pass isLoading for fetch data into loadable for showing Loading componet?

Data Loading is not handled by Loadable Components.

@neoziro No, i have create structure aweit fetch data and pass isLoading props into loadable function for showing fallback


Better handle connection interruption

So starting to do some testing to see how the framework handles connection interruptions and am noticing some issues. So sometimes (although rarely) when the wifi connection goes away I get a proper NetConnection.Connect.Closed notification. In these cases I can handle the notification and reconnect when the connection returns or reconnect using the cellular connection. Reconnect attempts work as expected and it starts streaming again. What normally happens though is that I get no notification and it continues trying to encode for a little while. At this point the ram usage starts climbing and eventually we hit this loop: https://github.com/shogo4405/lf.swift/blob/master/Sources/Net/NetSocket.swift#L65-L69
At this point length is repeatedly returning -1 which means we can never get out of the loop and the app uses all the available cpu cycles. It doesn't matter if you hit the stop button before it gets in this loop it will eventually use all the cpu. At this point trying to start streaming again will never work and the only way to get it back working is to force quit the iOS application and reopen it. Let me know if I can provide any further details to help clarify things. Thanks again for all your work on this framework.

fixed. and released 0.3.3


Us31 keep category

Coverage decreased (-0.3%) to 99.233% when pulling 4316b0547a5548536f56775d627e4f7e7b8db695 on us31_keep_category into e67e82ba5c3b0a2b382c57cd004b03231859b7da on development.

Coverage decreased (-0.3%) to 99.275% when pulling 8f39f3d7e1b7449321325927072f2891c67dec78 on us31_keep_category into 34609bae85c29cdc3ab530f8618938f29b558b0e on development.


feat(testnet): XCM ExecuteFilter=Everything, zombienet config improve

Sets the XCM config to allow arbitrary XCM execution.
This was merged for both Polkadot and Kusama chains, and is considered secure:

https://github.com/polkadot-fellows/runtimes/pull/345
https://github.com/polkadot-fellows/runtimes/pull/261

Also adds a new pop-up config including asset hub.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 11.21%. Comparing base (bae5887) to head (59b11aa).
Report is 3 commits behind head on main.

@@           Coverage Diff           @@
##             main     #253   +/-   ##
=======================================
  Coverage   11.21%   11.21%
=======================================
  Files          34       34
  Lines        2577     2577
  Branches     2577     2577
=======================================
  Hits          289      289
  Misses       2285     2285
  Partials        3        3

Files with missing lines
Coverage Δ

runtime/devnet/src/config/xcm.rs
0.00% <ø> (ø)

runtime/testnet/src/config/xcm.rs
0.00% <ø> (ø)


Howto: Block updates until user confirmation

Dear Device Update Team and Experts,
we are developing a critical IoT Application in the healthcare field, and want to use IoT-Hub Device Update for OTA Updates.
Since this is a critical application, we have to prevent system interruptions caused by updates (i.e., re-boot after an image based A/B update) while the device is in active use.
The optimal solution would be to show a notification to the user like "A new update is available. Please press APPLY whenever you are ready to apply the update."
How would I extend the agent (using an SWUpdate handler) to realize such a functionality?
Thank you in advance!

Hi @Christian-e-S, we have heard this request from other users and are tracking this for our long-term roadmap.
However, if you need this consent feature sooner, you can refer to our agent documentation to create a custom handler or use a script to enable this feature. Please email our discussion alias at<EMAIL_ADDRESS>to request guidance on modifying your agent or contributing to the DU repo.

@Christian-e-S Closing this issue as there are no update. Please feel free to open a new issue if needed or a new PR if you would like to contribute to the Device update project.


Compose with stars flutter widgets

What limitations do you see with using velocityx to compose an app made up of many non velocity plugins ?

Can you provide some examples? I couldn't understand it properly

take for example your docs code https://velocityx.dev/docs/release-notes
it seems to be build from https://github.com/iampawan/VelocityXApp
but cant find release-notes in the code.

No it’s a different private repo for now
On Mon, 23 Nov 2020 at 9:05 PM, ged<EMAIL_ADDRESS>wrote:

take for example your docs code https://velocityx.dev/docs/release-notes
it seems to be build from https://github.com/iampawan/VelocityXApp
but cant find release-notes in the code.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/iampawan/VelocityX/issues/42#issuecomment-732236794,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADAI5HGL6IQ4WHULYWYVM33SRJ6KZANCNFSM4T6P44JA
.