Open SSL Issue with Python 3.9 container

My app works fine on Mac OS , but in python 3.9 image I get open SSL error:
6919ms SPX_TRACE_ERROR: AZ_LOG_ERROR:  tlsio_openssl.c:691 error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
[473490]: 6919ms SPX_TRACE_ERROR: AZ_LOG_ERROR:  tlsio_openssl.c:2464 FORCE-Closing tlsio instance.
[473490]: 6919ms SPX_TRACE_SCOPE_ENTER:  uws_web_socket.cpp:247 OnWebSocketOpened
[473490]: 6919ms SPX_TRACE_ERROR:  web_socket.cpp:907 WS open operation failed with result=1(WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED), code=2573[0x00000a0d], time=2024-03-01T13:27:48.9143037Z
[473490]: 6919ms SPX_TRACE_INFO:  usp_connection.cpp:933 TS:533, TransportError: connection:0x8c01b800, code=5, string=Connection failed (no connection to the remote host). Internal error: 1. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED
wss://westeurope.stt.speech.microsoft.com/speech/universal/v2
X-ConnectionId: ca429b9e33bd4f06b922f25d9b435d47
[473490]: 6919ms SPX_TRACE_ERROR:  usp_reco_engine_adapter.cpp:2008 Response: On Error: Code:5, Message: Connection failed (no connection to the remote host). Internal error: 1. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED
wss://westeurope.stt.speech.microsoft.com/speech/universal/v2
X-ConnectionId: ca429b9e33bd4f06b922f25d9b435d47.
[473490]: 6919ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:3022 TryChangeState; audioState/uspState: 1/0 => 1/-1 USP-ERRORERROR
[473490]: 6919ms SPX_TRACE_ERROR:  usp_reco_engine_adapter.cpp:2022 OnError: site->Error() ... error='Connection failed (no connection to the remote host). Internal error: 1. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED
wss://westeurope.stt.speech.microsoft.com/speech/universal/v2
X-ConnectionId: ca429b9e33bd4f06b922f25d9b435d47'
[473490]: 6919ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter_retry.cpp:153 ShouldReconnect: Should Reconnect: 1
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter_retry.cpp:127 CleanupAdapterAndAudio: Trying to reset the engine adapter
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  create_object_helpers.h:78 SpxTerm: ptr=0x0xffff8c01a748
[473490]: 7170ms SPX_DBG_TRACE_SCOPE_ENTER:  usp_reco_engine_adapter.cpp:97 Terminating CSpxUspRecoEngineAdapter...
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:98 Term: this=0x0xffff8c01a700
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:3022 TryChangeState; audioState/uspState: 1/-1 => 1/9998 USP-TERMINATING
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:102 Term: Terminating USP Connection (0x0xffff8c01b838)
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  create_object_helpers.h:78 SpxTerm: ptr=0x0xffff8c001eb8
[473490]: 7170ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:3022 TryChangeState; audioState/uspState: 1/9998 => 1/9999 USP-ZOMBIE
[473490]: 7170ms SPX_DBG_TRACE_SCOPE_EXIT:  usp_reco_engine_adapter.cpp:97 Terminating CSpxUspRecoEngineAdapter... Done!
DOCKER FILE:
FROM python:3.9
Set the working directory to /app
WORKDIR /app
Copy the current directory contents into the container at /app
COPY . .
ENV PYTHONFAULTHANDLER=1
PYTHONUNBUFFERED=1
PIP_NO_CACHE_DIR=off
#RUN apt update && apt install -y build-essential gcc ffmpeg libsm6 libxext6 wget nano unzip gdebi -y \
&& pip install --upgrade pip \
&& pip install -r requirements.txt
RUN pip install -r requirements.txt
RUN pip install openssl==1.1.1
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
set display port to avoid crash
ENV DISPLAY=:99
Create a uwsgi log directory and files
RUN mkdir /var/log/uwsgi
RUN touch /var/log/uwsgi/uwsgi_access.log
RUN touch /var/log/uwsgi/uwsgi_error.log
Expose the port your FastAPI application runs on
EXPOSE 80
Command to run the FastAPI application
CMD ["uvicorn", "main:app", "--host", "<IP_ADDRESS>", "--port", "80"]

@parikshitmukherjee11 What is the Linux version in use in the container?

@jhakulin Its Debian 12.5 Bookworm

@parikshitmukherjee11 With Debian 12 you will need to install libssl 1.x in the container either from an old package (see Ubuntu example) or (recommended) latest sources. Yes, you need to install native system libraries, not just pip.

Closed as answered. OpenSSL upgrade status is followed up in https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2048

python temporary solution : https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2204#issuecomment-2075395036


Discord bot which check your $KSM balance and NFTs

Right now we are a bit fighting with spam.
To have quality people in the room, we would like to check if they are holding n amount of KSM (native asset for other parachains) to prove they are believers.
Probably use some serverless implementation, by your choice, probably use basic discord bot example from stdlib - we've got great vibes with them https://autocode.com/app/discord/basic-discord-example/ there are probably more interesting cases https://autocode.com/app/
Tasks are
M1

[ ] check if they are holders of a particular address they claim (hint, use signer or toolbox tools from dotapps)
[ ] check if they are holding an upfront defined amount of KSM (people with existential deposit aren't that valuable)
[ ] if they sold KSM, kick them out of room

M2
Check if an address is

[ ] holding a particular NFT from KodaDot, i.e. collection
[ ] owning % amount of collection
[ ] holding NFTs in a defined amount in KSM from a particular collection (this could be wash traded)
[ ] holding NFT from specific artists

Hint you can use our KodaDot SubQuery for M2 - https://github.com/vikiival/magick

hey, is it still valid? I think, last time I've worked on this, M1 points already completed in that MVP

I think yes


Slight layout change with a future flow bugfix

Hi,
There's currently a bug in flow that stops it from taking a field's label into account when both a width and height are specified in the gui.Field element, shown by the screenshot of this mod in ContentDB:

I plan on fixing this bug in flow, however if I do the "+" button in this mod would be expanded to fill the newly available space in the HBox:

To prevent this, you should just need to add align_v = "bottom" to the button's definition on line 70. https://github.com/C-C-Minetest-Server/metadata_inspector/blob/d33da79b391a0d4b59c8380445c5e5adbf32375a/init.lua#L70

@Emojigit Is it okay if I update flow with the bugfix I mentioned in this issue?

Done. Thank you for you suggestion.


No images found with the specified description.

Hello, I am getting this error
I already saved the name with @ at the beginning and also without the @ at the beginning.
I've already limited it to just showing 1 photo
I've done everything I can and still have the same error

Hey mate.. so sorry :(
today imgsed became imginn and hardened protection from scraping..
just tried to work around with this with no luck.. really sorry but it needs time..
DM me if you find alternative solutions
ciao


cluster - remoteAddr.hostname is always <IP_ADDRESS>

How to get client IP? This only happens when using the cluster common port. Deno.serve

See the info at https://pup.56k.guru/usage/scaling/#built-in-vs-external-load-balancer - The built-in load balancer uses a very simple TCP proxy mechanism that doesn't allow forwarding the IP the way you want. If you use something like NGINX as an HTTP proxy to the individual cluster ports (startPort...), NGINX will supply you with the X-Forwarded-For header, which will contain the actual client IP.


GHC 9.2.3 via nix

You can launch a nix devShell with GHC 9.2.3 with Stackage LTS 19.09 via
nix develop .#ghc9

within the shell, you will have to run all stack commands via
stack --stack-yaml stack-nix-ghc9.yaml build/repl/etc

to rematerialize for ghc9, run
nix run .#rematerializeGhc9

Seeing as this does not affect the distribution of haskell-backend, since ghc9 will only be used for profiling for the moment and the flake still isn't being fully used, I will add some README info on the changes and merge this without further reviews, unless anyone has any objections?

TODO: add note about haskell nix in documentation, copy contents of link to cachix docs in readme


Failing to refresh token because of multiple requests to refresh authentication token using PKCE method

We have a custom connector that is using the PKCE OAuth2 flow based around the provided example here and we are having users report occasional issues where they need to sign in again on Power BI Desktop to refresh their data. In looking at API logs on our end, it appears we have some cases where we see repeat calls to use the same refresh token to fetch an updated authentication token in a short period. We speculate there is parallel loading of various tables in Power Query and multiple queries are trying to use the same refresh token to refresh the authentication token. The first attempt to use the refresh token is successful with a 200 response but all subsequent calls using the same refresh token receive a 400 status with an error message which breaks the refresh and the users have to login again.
Here is a snippet of the authentication from our connector:
StartLogin = (resourceUrl, state, display) =>
    let
        clientId = getClientIdByRegion(resourceUrl),
        // We'll generate our code verifier using Guids
        codeVerifier = Text.NewGuid() & Text.NewGuid(),
        AuthorizeUrl = authorize_uri & "?" & Uri.BuildQueryString([
            client_id = clientId,
            response_type = "code",
            code_challenge_method = "plain",
            scope="",
            code_challenge = codeVerifier,
            state = state,
            redirect_uri = redirect_uri])
    in
        [
            LoginUri = AuthorizeUrl,
            CallbackUri = redirect_uri,
            WindowHeight = 720,
            WindowWidth = 1024,
            // Need to roundtrip this value to FinishLogin
            Context = codeVerifier
        ];

// The code verifier will be passed in through the context parameter.
FinishLogin = (c, dataSourcePath, context, callbackUri, state) =>
    let
        Parts = Uri.Parts(callbackUri)[Query]
    in
        TokenMethod(dataSourcePath, Parts[code], "authorization_code", context);

TokenMethod = (dataSourcePath, code, grant_type, optional verifier) =>
    let
        // region = Record.Field(dataSourcePath, "region"),
        clientId = getClientIdByRegion(dataSourcePath),
        codeVerifier = if (verifier <> null) then [code_verifier = verifier] else [],
        codeParameter = if (grant_type = "authorization_code") then [ code = code ] else [ refresh_token = code ],
        query = codeVerifier & codeParameter & [
            client_id = clientId,
            grant_type = grant_type,
            redirect_uri = redirect_uri
        ],

        ManualHandlingStatusCodes= {},

        Response = Web.Contents(base_path & "/authentication" & "/token", [
            Content = Text.ToBinary(Uri.BuildQueryString(query)),
            Headers = [
                #"Content-type" = "application/x-www-form-urlencoded",
                #"Accept" = "application/json"
            ],
            ManualStatusHandling = ManualHandlingStatusCodes
        ]),
        Parts = Json.Document(Response)
    in
        // check for error in response
        if (Parts[error]? <> null) then
            error Error.Record(Parts[error], Parts[message]?)
        else
            Parts;

Refresh = (ca, resourceUrl, oldCredentials) => TokenMethod(resourceUrl, oldCredentials[refresh_token], "refresh_token");

How can we ensure there is only one call to refresh the authentication token when there are multiple queries that depend on the authentication token?

@CurtHagenlocher, yes when our Connector is refreshing data after the initial access token expires, we are seeing multiple refresh requests with the same old refresh token. First request is successful but all the other requests fail since the refresh token is only valid once. Here is a snip from our traffic capture on a local machine.

Hi, we are seeing similar behaviour, which also started on client machines about 3 weeks ago. We have verified this on clean virtual machines, both Windows 11 and Windows 10 (both fully updated).
Our connector uses OAuth/OpenID/Identity Server 4 (but predates PKCE) as per the sample templates to connect to REST services on our website. It has been working well for over a year now, and only started failing around 3-4 weeks ago.
The PowerBI reporting template we use makes several PowerQuery calls to the underlying REST queries. The following can be seen more obviously on Windows 10 (Windows 11 seems to hide things):

Open PowerBI and open our connector directly (empty template) and log in. You can run any query presented. You can also then open one of the complex reporting templates we use for clients (which interrogate the underlying REST calls multiple times) and it WORKs - without asking for re-authentication.

Open PowerBI and one of our Reporting Templates. Hit Refresh. If you aren't currently authenticated, it opens a separate login window PER PowerQuery call (all on top of each other). To the end-user, it looks like the login works, but then the powerBI refresh dialog resets to say they aren't authenticated, and they have to repeat the process. If you plough through all of the login windows presented, THEN it works. Moreover - you are now authenticated - so a Refresh call later works as expected (until the original login expires 8 hours later).

The issue is that 2) above only started happening 3 weeks back (give or take). Prior to that, hitting refresh on a template would ask you to authenticate ONCE and once only, and all of the PowerQuery calls would share the same authentication.
Also, if you open the Options/data Source Settings/Sources in current file and clear the permissions from this template, you can trigger the whole issue in 2) above all over again.
@CurtHagenlocher, I can confirm that if there was a lock preventing the same credential being refreshed multiple times - its not working anymore... We also have a virtual machine setup that our IT support can demonstrate in a Teams meeting if you want to see this happening.
Connector Core Code:
XeP3.Feed  = (url as text) =>
    let
        source = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
        json = Json.Document(source)
    in
        json;

// Production
BaseOAuth_uri = "https://auth.xep3.com/";
BaseUrl = "https://app.xep3.com/api/report";

DefaultRequestHeaders = [
    #"Accept" = "application/json;odata.metadata=minimal",  // column name and values only
    #"Content-Type"="text;charset=UTF-8",
    #"OData-MaxVersion" = "4.0"                             // we only support v4
];

XeP3Connector = [
    // Put a TestConnection expression here when I get it working - it will perform a test call to something simple
    Authentication = [
        OAuth = [
            StartLogin = StartLogin,
            FinishLogin = FinishLogin,
            Logout = Logout,
            Refresh = Refresh,
            Label = "XeP3 Login"
        ]
    ],
    // TestConnection is required to enable the connector through the Gateway
    TestConnection = (dataSourcePath) => { "Xep3.Contents" },
    Label = Extension.LoadString("DataSourceLabel")
];

// Constants for OAuth Connection
client_id = "xxx";
client_secret = "yyy";
redirect_uri = "https://oauth.powerbi.com/views/oauthredirect.html";

// These build on the common url set above for the envionment
token_uri = BaseOAuth_uri & "connect/token";
authorize_uri = BaseOAuth_uri & "connect/authorize";
logout_uri = BaseOAuth_uri &  "endsession?id_token_hint=";

windowWidth = 1400;
windowHeight = 1000;

//------------------------------------------------------------------------------------------------
// StartLogin builds a record containing the information needed for the client
// to initiate an OAuth flow.
StartLogin = (resourceUrl, state, display) =>
    let
        authorizeUrl = authorize_uri & "?" & Uri.BuildQueryString([
            client_id = client_id,
            redirect_uri = redirect_uri,
            state = state,
            scope = "api xep3 openid profile",
            response_type = "code",
            response_mode = "query",
            login = "login"
        ])
    in
        [
            LoginUri = authorizeUrl,
            CallbackUri = redirect_uri,
            WindowHeight = windowHeight,
            WindowWidth = windowWidth,
            Context = null
        ];

//------------------------------------------------------------------------------------------------
// FinishLogin is called when the OAuth flow reaches the specified redirect_uri.
// It retrieves the security token which is then implicitly passed in the headers for all subsequent calls
FinishLogin = (context, callbackUri, state) =>
    let
        // parse the full callbackUri, and extract the Query string
        parts = Uri.Parts(callbackUri)[Query],
        // if the query string contains an "error" field, raise an error
        // otherwise call TokenMethod to exchange our code for an access_token
        result = if (Record.HasFields(parts, {"error", "error_description"})) then
                    error Error.Record(parts[error], parts[error_description], parts)
                 else
                    TokenMethod("authorization_code", "code", parts[code])
    in
        result;

//------------------------------------------------------------------------------------------------
// Called when the access_token has expired, and a refresh_token is available.
Refresh = (resourceUrl, refresh_token) => TokenMethod("refresh_token", "refresh_token", refresh_token);

Logout = (token) => logout_uri & token;

//------------------------------------------------------------------------------------------------
// This is the call to the OAuth url that gets the token for the current login.
TokenMethod = (grantType, tokenField, code) =>
    let
        queryString = [
            client_id = client_id,
            client_secret = client_secret,
            scope = "api xep3 openid profile",
            grant_type = grantType,
            response_type = "id_token token",
            redirect_uri = redirect_uri
        ],
        queryWithCode = Record.AddField(queryString, tokenField, code),

        tokenResponse = Web.Contents(token_uri, [
            Content = Text.ToBinary(Uri.BuildQueryString(queryWithCode)),
            Headers = [
                #"Content-type" = "application/x-www-form-urlencoded",
                #"Accept" = "application/json"
            ],
            ManualStatusHandling = {400}
        ]),
        body = Json.Document(tokenResponse),
        result = if (Record.HasFields(body, {"error", "error_description"})) then
                    error Error.Record(body[error], body[error_description], body)
                 else
                    body
    in
        result;

//-------------------------------
// Helper Functions
//-------------------------------
Value.IfNull = (a, b) => if a <> null then a else b;

ShowError = (Title, message) =>
    error Error.Record(Title, message);

@pfalcon64, that is interesting as it seems to be similar for our connector that this started around 3-4 weeks ago. We have the exact same scenario as mentioned above where loading data through the connector on a clean file (#1) works fine initially since the user is asked to login once but if the users tries to open our templates (#2) they are asked to login multiple times (once per query) and then they are good until the authentication tokens expire and they need to refresh which brings up the multiple login windows again. It seemed very strange since we hadn't seen this behavior until more recently.
From what we can tell, this seems to be only impacting Power BI Desktop. Our tests with refreshing multiple queries through the Power BI web service have so far been successful.

@mattmasson, thanks - I know they are using a recent version (IT keeps them up-to-date), awaiting confirmation if this from IT.
I also know that my own developer box is working - but it has - Version: 2.98.882.0 64-bit (October 2021) installed - a tad old for you to cross check, so I will roll this box forward gradually and retest until it breaks and let you know. Thanks.

@mattmasson, I can confirm that the May 2022 64bit release is the culprit.
I started with October 2021 on a Windows 10 box, and installed each of the subsequent releases (64bit only) one at a time, rebooted and then tried to load our template. I attempted a plain refresh, then cleared the permissions cache and tried again (to force it to insist on a login). In each case this was fine from Dec 2021 to April 2022.
The May 2022 release failed the test - and the issue as described above happened.
Note: I was asked to sign in 3 times (the template seems to have 6 distinct power queries running, according to the refresh dialog). I can demonstrate this happening if someone wants to see it on Teams.
I checked with our IT dept, and they rolled out the June 2022 release around the time we discovered the issue - but they also confirm that they had an incorrect url in their update scripts, and PowerBI probably wasn't updated for a few months prior to that, which is why it only just started happening for us.
We are aware of the workarounds (basically once you are properly authenticated, everything works until the token expires overnight), but this is still causing issues with our less-technical staff and management. Please let me know what else you need to follow this up urgently.

@mattmasson, I can confirm as well after a fresh install of Power BI Desktop and clearing off newer versions that the April 2022 release (2.104.702.0 64-bit) works as expected with only one request to sign in but when moving to May 2022 (2.105.1143.0 64-bit) the issue starts happening and users are asked to sign in multiple times.

@Mattmasson, It won't let you enter a value less than 2 for Maximum number of simultaneous evaluations. You can enter 1, but when you look at it later, its 2.
(I'm working with the May 2022 release)
It reduces the number of logins I have to do to 2 - but the problem is still there.

@mattmasson, It won't let you enter a value less than 2 for Maximum number of simultaneous evaluations. You can enter 1, but when you look at it later, its 2.
(I'm working with the May 2022 release)
It reduces the number of logins I have to do to 2 - but the problem is still there.

Same here, just tried this on May 2022 and was asked to login twice and the number reset back to 2 when I looked at it. It's better than before but still will trip up some users. This also causes the data to load much slower which could get lengthy for customers with large data sets.

Sorry, they changed the options around.

Under Current File | Data Load, set Parallel loading of tables to One.

@pfalcon64, I can confirm unchecking the Parallel Loading of tables in Current File->Data Load works for me as well with only ONE sign in prompt. This will work temporarily as a suggested workaround. I believe you can save the Template files (pbit) with this setting disabled so users don't have to be bothered by changing it themselves or getting frustrated with the extra prompts. We might consider updating our templates as a short term fix.


Modified to lower camel case

What is the purpose of the change
Modified to lower camel case
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #3003 into master will decrease coverage by 0.03%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##           master    #3003      +/-   ##
==========================================
- Coverage   64.29%   64.26%   -0.04%
==========================================
  Files         584      584
  Lines       26055    26055
  Branches     4561     4561
==========================================
- Hits        16753    16743      -10
- Misses       7124     7129       +5
- Partials     2178     2183       +5

Impacted Files
Coverage Δ

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
65.83% <100%> (-0.84%)
:arrow_down:

...ain/java/org/apache/dubbo/qos/command/impl/Ls.java
85% <100%> (ø)
:arrow_up:

...mmon/threadpool/support/AbortPolicyWithReport.java
80% <50%> (ø)
:arrow_up:

...ache/dubbo/common/compiler/support/ClassUtils.java
49.19% <66.66%> (ø)
:arrow_up:

...bo/rpc/protocol/dubbo/telnet/LogTelnetHandler.java
71.42% <75%> (ø)
:arrow_up:

...e/dubbo/qos/server/handler/HttpProcessHandler.java
75% <75%> (ø)
:arrow_up:

...ache/dubbo/remoting/p2p/support/AbstractGroup.java
45.45% <0%> (-11.37%)
:arrow_down:

...onfig/spring/extension/SpringExtensionFactory.java
76.92% <0%> (-7.7%)
:arrow_down:

...ng/exchange/support/header/HeartbeatTimerTask.java
73.68% <0%> (-5.27%)
:arrow_down:

...c/main/java/org/apache/dubbo/rpc/RpcException.java
85.71% <0%> (-3.58%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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

Hi, sorry but please resolve the conflict first.


Where to place SecurityGroups?

In OpenStack, SecurityGroups appear under networking.
In AWS,  SecurityGroups appear under "Security and Networking" in EC2 and also under "Security" in VPCs (along with Network ACLs).
In Azure, only network security groups are available. I'm not sure that the current implementation of SecurityGroups in CB-Azure is correct - I don't think the NSG is being restricted to a VM.
In GCE, there's only a firewall, with a tag applying it to a VM.

So we have a half-half situation here. The first two providers have a SecurityGroup concept that applies only to individual VMs (or rather, individual network interfaces). The last two providers have network security groups, which in general apply to subnets, and are analogous to Network ACLs and Firewalls in AWS and OpenStack respectively.
So I guess that raises two questions:

Should we move SecurityGroups under networking? Or when we eventually introduce Firewalls, should that be placed under Security instead?
Should SecurityGroups be deprecated in the long-run in favour of Firewalls/NSGs instead? Alternatively, we could transparently support both, depending on the target that the firewall rule is applied to. If the target is an instance, we can create a SecurityGroup in AWS/OpenStack. If target is a subnet, we create a Network ACL/Firewall. On Azure and GCE, this will work in a very straightforward way because only the tag changes.

Conclusions documented here: https://github.com/gvlproject/cloudbridge/issues/69


Certification page - radio buttons

Changes certification check boxes to radio buttons.
CertificationType model added and boolean attributes on Certification model removed.
Migration to move existing certifications to new certification type paradigm.

Still getting rspec/cuke failures.
It seems to be the fact that certication types arent being populated and the error messages being returned.

:+1: just a suggestion that perhaps  a seed file should be created for the certification types and then loaded in the migration and the cuke step that relies on them, unless i am missing something


Improve HTML rendering a bit

MXKEventFormatter: Add the defaultCSS property to enrich the default CSS used by DTCoreText.
It fixes the rendering of <code> tags: line breaks are kept and a monospace font (Courier) is now used.
There are still 2 issues with DTCoreText:

background-color does not work. <code> has still no background
no left border with <blockquote>

This PR is also the beginning of tests in MatrixKit ;)

lgtm


Move member infrastructure code from mp repo to environments

User Story
We have some member infrastructure code in the mp repo, things such as SES users.  We should move this code back across to the environment repo, and check that there is a test in place to make sure that this infrastructure requires a review from the MP team - https://github.com/ministryofjustice/modernisation-platform-environments/blob/main/scripts/terraform-plan-evaluator.sh#L5
Value / Purpose
Keep all member code in one place.
Useful Contacts
No response
Additional Information
No response
Proposal / Unknowns
No response
Definition of Done

[ ] Member code moved
[ ] Resources moved in terraform state (import + remove)
[ ] Team affected have been informed
[ ] Another team member has reviewed
[ ] Tests are green

Happy to do this or help with this, as it might be a similar process used with the data platform migration!

Environments Repo

Mod Plat Repo

Git pull on both.

Create branch on both

On both, terraform state pull > prod.tfstate

From the mod platform repository run this command.
terraform state mv -state=prod.tfstate -state-out=/Users/edward.proctor/moj-devops/modernisation-platform-environments/terraform/environments/observability-platform/prod.tfstate module.amazon_managed_grafana_remote_cloudwatch_iam_policy module.amazon_managed_grafana_remote_cloudwatch_iam_policy

If the output is right, run again without -dry-run

(module.managed_grafana is an example, yours will be different, to find what you want to move, “terraform state list | grep -v ram” list will show you)

terraform state push prod.tfstate - both sides.

Move the code from mod platform to environments.

Locally run a terraform plan and hopefully see no changes (maybe tags)

Need to move the member infrastructure from MP repo to the following environments

Ccms-ebs
Corporate-staff-rostering
Delius-jitbit
Planetfm
PPUD
Equip

Copy the necessary code from the specific environment in the 'mp-repo' to the 'mp-environments' repository.

Execute the terraform import command for the transferred resources.
Eg: terraform import aws_iam_user.<resource name> <username>


Discussion Forum Integration: Create solutions leaderboard

Current Behavior
meshery.io does not integrate with its discussion forum (discuss.layer5.io).
Desired Behavior
Ideally, one or more of the pages will display the a solutions leaderboard.
See an example of this integration in-action on this Meshery Docs page. And see this discussion for more context.
See the discuss.layer5.io design spec and the moderating the community discussion forum docs for a list of other possibilities.
Screenshots / Mockups

Contributor Guides and Resources

🎨 Wireframes and designs for Meshery Site in Figma
🖥 Contributing to Meshery Website
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

hi @leecalcote, if the designs are ready I am ready to work on this.

@kayceeDev and @asubedy are two individuals to engage with @chethan27

@kayceeDev  @asubedy , any update ?

They are waiting for you to make a move and implement, @chethan27.  I mentioned these two as helpful and knowledgeable community members to connect with should you get stuck. What’s your plan of approach on implement of this issue?

@leecalcote I would like to work on this task.
But I have doubt regarding this task. Is this issue is to develop something similar to screenshot/mockup or else is it like this Recent Discussions with "mesheryctl" Tag

Can I be assigned this task?

@leecalcote
I would like to work on this issue , with experience in front-end development, I am confident in resolving these issues effectively. I would appreciate being assigned this task to contribute to the improvement of the Meshery experience for new users.
Thank you for considering my request.
Best regards, Aabid Sofi

Hello @aabidsofi19,
You can take a go at this. You need to reiterate to me your progress as you proceed.
You need to be certain you have read and understood what is needed to work on this.
Take a look at this article to get a deeper understanding of what is expected under the hood the aside from UI you are seeing here.

Thanks @kayceeDev  for considering it , Just checked the article . and i can assure you that this is something i would really enjoy working on .  i would like to discuss about different ways to get this done efficiently .

Thanks @kayceeDev  for considering it , Just checked the article . and i can assure you that this is something i would really enjoy working on .  i would like to discuss about different ways to get this done efficiently .

Well, I'm glad you did look at the article. Please feel free to discuss an efficient solution on this thread.. let's discuss..

Based on my understanding of the proposal, there are three key parts to the problem that need to be addressed:

Implementing the UI: Design and develop a user-friendly and visually appealing interface for the embeddable component.

Implementing Business Logic for ranking: Create the necessary algorithms and logic to handle the ranking functionality within the component.

Implementing IO for feeding data to Business Logic: Set up a mechanism to fetch and feed data to the business logic, ensuring seamless communication and integration.

Additionally, considering that this component will be utilized on multiple sites, it is crucial to make it embeddable. To achieve this, I propose bundling the component as a standalone JavaScript script that can be hosted on our CDN (Content Delivery Network). This approach will enable the component to be easily loaded and utilized on any site as needed.
Benefits:
- Enhanced User Experience: By implementing a well-designed UI, users will have a seamless and visually pleasing experience when interacting with the component.

- Improved Ranking Functionality: The implementation of robust business logic will ensure accurate and reliable ranking results for the intended purpose also it would be easy to unittest

Versatility and Ease of Integration: Making the component embeddable as a standalone JavaScript script allows for effortless integration into various websites, providing flexibility and convenience.

Proposed Plan:
Design and develop a visually appealing and intuitive UI for the embeddable component, ensuring a smooth user experience.

Implement the necessary business logic and algorithms for the ranking functionality, considering the specific requirements and objectives.

Set up IO mechanisms, such as APIs or data feeds, to seamlessly provide the required data to the business logic for accurate ranking calculations.

Package the component as a standalone JavaScript script, optimizing it for performance and compatibility, and host it on our CDN for easy integration and deployment on any website.

By following this proposed plan, we can create a powerful and versatile embeddable UI component with robust business logic and efficient data handling. This will significantly enhance the overall user experience and offer a reliable ranking solution for multiple use cases.

@aabidsofi19 I have looked at your outline plans and it's welcomed, I have one question to consider

The solution, can you easily embed it to our websites with the tech stack we are using for our client sides?

The data, do you think it makes sense to fetch it through some socket or fetching on page visit?

Are we considering paginations

@aabidsofi19 that great you have been working here, implementing the ui and fetching the data should not be a very difficult task because it has been already done in catalog page in this site. Next comes about implementing logic so in api used for discuss provide much responses where you can build the logic.
1. api gives for every posts likes count .
2. api gives posts count
3. accepted answer- a solution of that post as boolean value
.....on that that such responses we can count points using normal alzebraic formula and result in points and just make in descending order and display in ui.

@kayceeDev  if all the sites we are going to use discussion ui on are using Gatsby then we can just create it as a Gatsby component else we can create it using vanilla js and plain html (as suggested ).  Coming to pagination I think it would be easy if the APIs also implement it else I think we may need to create wrapper APIs .

Thanks for the feedback @kayceeDev @sudhanshutech
@aabidsofi19 would you be on today's websites call to discuss this? if yes, please add this as an agenda item in the meeting minutes // @kayceeDev @sudhanshutech .
The meeting happens every Monday at 5:30 PM IST i.e, 2 hours from now.

@vishalvivekm @leecalcote @kayceeDev we might need to separate repo for this as it is not going to be a part of any site in particular and we can then also easily manage its devops.

There is a separate repo in the layer5io org for this.

@aabidsofi19
Let's cover this item in tomorrow's websites call :)

Sure

Thanks @leecalcote , forgot to look in layer5 org . I will start working on this issue from today according to above action plan :) . Just to confirm is it this repo https://github.com/layer5io/discuss-board

yes.


Calling proactive conversation with WebChat

I'm able to start a dialog proactively by calling
bot.beginDialog(address, dialog, params, function(){
});
It works in Skype.
In WebChat I get this error:
Request to ‘https://webchat.botframework.com/v3/conversations‘ failed: [405] Method Not Allowed
Thanks

Hi @arieschwartzman, the API error is occurring because the bot is trying to create a new conversation, which Web Chat does not support (because there is no way to open a web browser for a user).
The correct behavior is for the SDK to send the message on an existing conversation.
Does your address object contain a conversation property?

Yes, I remove the conversation property just before calling the API. If I would leave the conversation for this channel and have the webchat window opened, will it work?

Probably, although I don't know enough about that part of the SDK to say for sure.

I tried and it works.

I have another question Dan. Let me use the same thread please.
I want to start a specific dialog once the webchat starts without typing anything.  Can I do that?

Not at the moment, but you could request it over at the Web Chat repo: https://github.com/Microsoft/BotFramework-WebChat

Closing this issue since it is resolved. Feel free to open a new issue for further issues that you might have.


Less frames in Vid4 testing sets?

It seems that there is less frames in your Vid4 than the original Vid4 testing set (each sequence is 4 frame shorter than the original one).

Thanks, we will fix it.


Android - User icons overlapping in the group header and outline is not showing perfectly.

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

Action Performed:

Open App and Go offline
Press FAB > New Group
Select 8 participants > Press Create Group
Observe the page Header where one avatar of the user and +7 are written & also observe the 8 Avatars in the Chat Header

Expected Result:
Chat header icons should be like the ios where we can not see the avatar of another user from semi-transparent background.
Actual Result:
Chat header icons should be like the ios where icons do not overlap another icon.
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.41-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/93399543/6cbdabcb-db26-4edf-86a3-4ba044ff6e3f
Expensify/Expensify Issue URL:
Issue reported by: @jayeshmangwani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689364266408539
View all open jobs on GitHub

Proposal
from: @jayeshmangwani
Please re-state the problem that we are trying to solve in this issue.
User icons overlapping in the group header and outline is not showing perfectly.
What is the root cause of that problem?
On Android, when we apply opacity to a parent, all of its children will inherit the opacity; context is here in the issue
What changes do you think we should make in order to solve the problem?
We need to pass needsOffscreenAlphaCompositing prop to the OfflineWithFeedback parent Of the Group page Header and Chat header Components here so that Android can align with other platforms and child does not inherit the opacity
At these two places, we need to add the needsOffscreenAlphaCompositing prop to OfflineWithFeedback
1. For Report screen header
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/pages/home/ReportScreen.js#L330-L333
2. For Chat Header where 8 users Avatar is visible
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/pages/home/report/ReportActionItemCreated.js#L58-L62
This Same Issue happens at a few places on the Android
1. Workspace Thread header

2. LHN OptionsList

We also need to add the needsOffscreenAlphaCompositing prop to parent OfflineWithFeedback.
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/components/OptionRow.js#L148-L151
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/components/LHNOptionsList/OptionRowLHN.js#L134-L137
Note: We will test all the overlapping icons offline on Android in part of this issue so that those can be fixed in this single issue

Proposal
Please re-state the problem that we are trying to solve in this issue.
User icons overlapping in the group header and outline is not showing perfectly.
What is the root cause of that problem?
On Android, when we apply opacity to a parent, all of its children will inherit the opacity; context is here in the issue
What changes do you think we should make in order to solve the problem?
We need to pass needsOffscreenAlphaCompositing prop to the OfflineWithFeedback parent Of the Group page Header and Chat header Components here so that Android can align with other platforms and child does not inherit the opacity
At these two places, we need to add the needsOffscreenAlphaCompositing prop to OfflineWithFeedback
1. For Report screen header
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/pages/home/ReportScreen.js#L330-L333
2. For Chat Header where 8 users Avatar is visible
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/pages/home/report/ReportActionItemCreated.js#L58-L62
This Same Issue happens at a few places on the Android
1. Workspace Thread header

2. LHN OptionsList

We also need to add the needsOffscreenAlphaCompositing prop to parent OfflineWithFeedback.
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/components/OptionRow.js#L148-L151
https://github.com/Expensify/App/blob/0b00e1cc82a4f6023aff6b89796a91fba6be91a2/src/components/LHNOptionsList/OptionRowLHN.js#L134-L137
Note: We will test all the overlapping icons offline on Android in part of this issue so that those can be fixed in this single issue

reproduced!

Started a Slack thread: https://expensify.slack.com/archives/C01GTK53T8Q/p1689793295080599

Not overdue. Based on the latest discussion on the slack thread, the use of needsOffscreenAlphaCompositing may cause some "incompatibilities". In this case the global fix seems less favorable but I think it's still worth it as those incompatibilities can be fixed. I have bumped the thread for more :eyes:.

Not overdue, Melvin. No activity on that Slack thread yet but we will probably go with a solution this week

@s77rt PR is ready for Review

The PR that introduced the bug has been identified: None. This is an Android thing
The offending PR has been commented on: n/a
A discussion in #expensify-bugs has been started: We have this (#expensify-open-source) https://expensify.slack.com/archives/C01GTK53T8Q/p1689793295080599
Determine if we should create a regression test for this bug: No

Note: I'm preparing to go OOO for ~2 weeks and need a BZ buddy to watch over this in the meantime. 🙏
Next steps:
Wait for 8/8 to arrive. After that's done, we'll process payments as follows (assuming no regressions 🤞):

[ ] Bug reporter & Contributor that fixed it $1750 ($1500 + $250) for @jayeshmangwani
[ ] C+ $1500 for @s77rt

I'll take this over when I return if it's not complete. Thanks in advance @kadiealexander

https://www.upwork.com/ab/applicants/1681461212925595648/hired

Everyone is paid! 🎉


Ensure piped sends command's output data to control-plane

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

👍
/lgtm

🚀
/approve


Add files via upload

@MunrajSanger file/lib/domains/me/q3academy.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@MunrajSanger file/lib/domains/me/q3academy.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.


Lurk Evaluation Model

This is the first batch of LEM development, with just enough infra to support the evaluation of numbers and the automatic generation of constraints for the resulting witnesses.
Even though it's not complete, we believe it's correct. We also believe that it's come to a point where tasks can be done with PRs from parallel branches.
Tasks:

[x] Kick off a design for LEM and its operations
[x] Implement a store to support the interpretation of LEMs
[x] LEM Interpreter
[x] LEM constrainer
[x] Initial LEM for the evaluation of numbers
[x] Tests of evaluation correctness and satisfiability
[x] Document everything
[x] Test new gadgets

See also https://github.com/lurk-lab/lurk-rs/pull/408

rustfmt test failed due to a cargo command not found. Can someone rerun this test please?


WildVision raises exception

During the evaluation of WildVision, the following exception was raised.

Hi,
Could you please show more details in the inference results of Wildvision?

Hi, the problem has been fixed in #687


Release GHC 9.6 compatible version?

Problem Description
Hi,
the current hackage release of xmonad-contrib (0.17.1) does not build with GHC 9.6 and in particular mtl 2.3. This issue has been fixed on master since 4929da0eac4e1f477b0f77ef6fd60ce615ccb650.
I'm working on updating the Arch packages to GHC 9.6 and xmonad-contrib is one of the affected packages which in its current form does not compile. While backporting might be possible in this case, having a compatible release from your side is always preferable. There isn't much of time pressure anyway - but perhaps it might make sense to start thinking about the next release and plan what should definitely go in there. Sometimes it turns out that a release can be made rather soon.
What do you think? Does a release at this stage make sense?
Checklist

[x] I've read CONTRIBUTING.md

~I tested my configuration~

[ ] ~With xmonad version XXX (commit XXX if using git)~
[ ] ~With xmonad-contrib version XXX (commit XXX if using git)~

We're actually starting to plan out a release with both 9.6 and 9.8 compatibility. This may accelerate it.

Glad to hear that.

While it's good that we have some pressure to release a new version, I wonder whether this here could be achieved by just uploading a new revision to Hackage that allows mtl 2.3. At least https://github.com/xmonad/xmonad-contrib/commit/4929da0eac4e1f477b0f77ef6fd60ce615ccb650 just shuffles around some dependencies

As a general note, the Arch packages are independent of Hackage revisions, and we have our own way of getting around restrictive bounds. So if it was that, I'd make a PR for updating the bounds if that wasn't already done :)

Arch package maintainer here, we'd actually love a soonish release to bring in all the great development efforts of the past 2 years :cat: thank you all for the work.

@Vekhir @anthraxx apologies for taking our sweet time, but 0.18.0 is available on Hackage now!


BUG - Items responsive design

Issue description
In the /integrations/add the name and the Add integration button not have space to stay together, see the image of the WhatsApp integration.

Be creative. ☺
Steps to reproduce the issue

Go to /integrations/add
Use the responsive design

What's the expected result?
Be creative
What's the actual result?

Additional details / screenshot (OPTIONAL)

I would love to take up this project, but the problem is I don't understand what the problem here is. Could you please explain it better for me?

Hello @gyauelvis , sure, if you see the image here

The label of the integration is so close to the button and this does not look good, we need to find a new way to show this information, some examples can add a break in the lines between the label and the button, creating a new button, or any other cool way to resolve this.


set removed items to nil

This fixes an issue where the Go garbage collector does not release some
items which have been removed from the BTree because a reference to the
item still exists in the items and children slices.

I signed it!

Thanks for the help!


Text extraction: Change language on system shortcut

Description of the new feature / enhancement
Right now AFAIK the only way to change language in OCR is to use the menu on top. I suggest that
a) Language of OCR follows the currently active input language
b) Language can be changed inside OCR mode by using system's keyboard shortcut instead of opening the menu with a mouse.
Scenario when this would be used?
When user has multiple languages installed and wants to use OCR on some text, it is easier to change the language with keyboard shortcut rather than dragging mouse up and making two more clicks, followed by dragging it back to the text.
Supporting information
No response

Great ask but Win11's snipping tool can handle different languages by default and seamlessly.  While it would be a good feature, this isn't a feature we'd be adding into PowerToys.


Rector v1

Hello and many thanks for your efforts
Is there any chance to support rector v1?

Hi @geo-sot , I've just tagged 0.3.0 which should include supports for Rector v1.

thanks a lot


5xx error pages

Hey Janko,
Do you have any advice on how to re-use the existing styled 5xx pages on the Rails' side for exceptions which happen in Rodauth land? Is this something rodauth-rails could/should cover in its integration?
I wonder if the around_rodauth we discussed in https://github.com/janko/rodauth-rails/issues/2#issuecomment-700495426 might be necessary or even if that would simply work if process_actions is also responsible for Rails' rescue_from behaviour (I haven't checked).

Yes, I agree it would make sense for rodauth-rails to call rescue_from handlers defined in the associated Rodauth controller. It doesn't seem these handlers are run as part of action callbacks, but it I believe it can be achieved easily by calling #rescue_with_handler on the controller instance. I'll work on this tomorrow.

Excellent! Thank you!

We'll need the around_rodauth hook here as well 😃

Alright, I'll revise my PR for Rodauth as per Jeremy's feedback in the next day or so.

https://github.com/jeremyevans/rodauth/pull/129

@bjeanes I've just pushed changes to the callbacks-and-rescues branch that utilize #around_rodauth to run rescue handlers and controller callbacks around Rodauth actions. Could you test whether it works for you?

I'll give it a go soon! :pray:

Hey Janko, I gave it a little spin this afternoon. Great work as always!

:heavy_check_mark: before_action runs!

:heavy_check_mark: rodauth action does NOT run if before_action creates a response

:heavy_check_mark: rescue_from works as expected :pray:

:x: after_action does NOT appear to run. I wonder if this is due to how Roda relies on halt/throw. Perhaps Rails' own run_callbacks works. Potentially, you could do a catch(:halt) { yield } (or whatever it is), but I'm not sure how this should work. In any case, I don't have any before_action

:x: Similarly around_action runs code before the action execution, but skips after.
i.e.:
around_action do |controller, action|
  # reached
  action.call
  # not reached
ensure
  # reached
end

I wonder if check_csrf should stay defined in feature, but return false. That would essentially skip Rodauth internal CSRF and rely on the before_action provided by the Rails controller.

:heavy_check_mark: Caching controller makes sense. @ivars may be set by before_action etc. I actually already had to work around this in my integration of rodauth-rails to an existing app

I don't use after_action often so I am actually not very sure how this should behave. But I suspect they should run in circumstances where they currently do not. That may also be considered "nice-to-have".

Thank you very much for testing 👍
Ok, I checked the run_callbacks implementation in Active Support, and indeed it doesn't use any ensure for executing after_action callbacks. I agree we'll probably need to catch(:halt) manually, and then re-throw it later.
Regarding check_csrf?, it will be false, because we're skipping loading Roda's CSRF plugin, and Rodauth's default #check_csrf? is false when the CSRF Roda plugin is not loaded.

Ack. I thought that might be the case for CSRF but wasn't sure. Glad to see you've already thought of it :D.
One thing I thought of last night: it may be worth seeing if you can force rails_controller_instance.performed? to be true after Rodauth has created a response. I don't personally do anything like this, but in principle an around_action may modify a response or vary its behaviour by what that response is. In practice, this may be too difficult and niche to get right, so take it or leave it!

I pushed new changes to callbacks-and-rescues branch, which should address the after_action callback as well. I forced-pushed, hopefully Bundler handles that.
Regarding allowing the controller to modify the response, I've allowed modifying the response headers at any point of the callback chain. This change also adds Action Dispatch default headers to Rodauth responses, which may be convenient as many of them are security-related.
At this moment changing response body or status isn't possible in callbacks, unless you want to take over from the controller and render your own response. I felt like that would be a too big change around how is in charge, I don't know if that would have other unintended consequences.

Regarding allowing the controller to modify the response, I've allowed modifying the response headers at any point of the callback chain. This change also adds Action Dispatch default headers to Rodauth responses, which may be convenient as many of them are security-related.

:+1:

At this moment changing response body or status isn't possible in callbacks, unless you want to take over from the controller and render your own response. I felt like that would be a too big change around how is in charge, I don't know if that would have other unintended consequences.

TBH, I'm not even sure if/how Rails handles that. But I thing it really is such a niche use-case that I fully support not inheriting a lot of complexity here, at least until somebody actually communicates a desperate need for it!

Could you give the branch another go?

You bet -- I'll give it a spin on Monday!

Works a charm. I am going to push up this and make sure all the tests still run and then maybe we can see if Jeremy is ready to cut a new version which includes around_rodauth (and another fix of mine sitting in Rodauth master!).

Everything is green on my end.
How do you want to approach a release, given it depends on unreleased work in Rodauth?
@jeremyevans do you have a timeline or milestone in mind for cutting a new Rodauth release?

Next Rodauth release will probably be on the 20th (5 days) or 23th (8 days).  Happy to do the former if that is preferred.

I am in no urgent rush, so either suits me. I'm not presently seeing any 5xx errors in production on these pages anyway :)
Thanks for the update!

I've just released rodauth-rails 0.6.0 with these changes 🚀
The release also includes a new Rodauth::Rails.rodauth method, which initializes a Rodauth instance outside of a request context, with Rack env set based on ActionMailer::Base.default_url_options (which is typically configured via config.action_mailer.default_url_options in Rails) – https://github.com/janko/rodauth-rails/commit/806fb220abc2dbef41665d904c3e98742922ec6a. That's a first step towards making it easier to programmatically call Rodauth operations.

Hah is this in response to my Reddit comment? Looks great! I will be afk for a week and then spotty for a few more weeks, but I will try to integrate with app ASAP :D


Setting skip_patching_ansibleee_csv to true

Setting skip_patching_ansibleee_csv to true as edpm-ansible is stable and does not need to be patched frequently anymore.
This will stop patching the ansibleeImage and we will get the desired downstream version of openstack-ansibleee-runner image
Related to https://issues.redhat.com/browse/OSPRH-10704

This seems will break(patches will not get tested) adoption jobs running with edpm-ansible patches, can set skip_patching_ansibleee_csv=true only where needed in job itself.

Ack, makes sense. Closing this one. New patch: https://gitlab.cee.redhat.com/ci-framework/ci-framework-jobs/-/merge_requests/1296


Deflaking doesn't work on certain service tests

Consider the following build:
https://ci.chromium.org/p/dart/builders/ci.sandbox/vm-kernel-linux-release-x64/12913
It turned red because of the failure of service_2/next_through_simple_async_test_0 test:
The following tests began failing:

service_2/next_through_simple_async_test_0 broke (Pass -> Timeout, expected Pass)

The test is flaky and passes most of the time. However, it looks like bot has not attempted to run it multiple times.
Note that there is actually service_2/next_through_simple_async_test test which contains multiple variants of VMOptions, but there is no service_2/next_through_simple_async_test_0 test. Re-run command printed by the failing test doesn't work.
list tests to deflake step has this test:
service_2/next_through_simple_async_test_0

However, deflaking shard didn't run any tests:

/b/s/swarming_bot.1.zip/third_party/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
Test configuration:
    dartk-linux-release-x64(architecture: x64, compiler: dartk, mode: release, runtime: vm, system: linux)
Suites tested: service_2

--- Total time: 00:00 ---

=== All 0 tests passed ===
INFO: Core dump archiving is activated
INFO: No unexpected crashes recorded

update flakiness information step doesn't mention this test.
This might be the reason for flaky bot redness.
@athomas @whesse @bkonyi

Looks like a problem in test.py:
$ tools/test.py --progress=status --report --time -ndartk-linux-release-x64 --tests service_2/next_through_simple_async_test_0
Test configuration:
    dartk-linux-release-x64(architecture: x64, compiler: dartk, mode: release, runtime: vm, system: linux)
Suites tested: service_2

--- Total time: 00:00 ---

=== All 0 tests passed ===

This is a test that has multiple VMOptions lines:
// VMOptions=--no-causal-async-stacks --lazy-async-stacks
// VMOptions=--causal-async-stacks --no-lazy-async-stacks

That causes the test name generated to be different from the file name, which is probably why the selector doesn't work (that needs to be handled in test.py).

Most likely this was broken by https://dart-review.googlesource.com/c/sdk/+/143961:
        var variantTestName =
            testFile.name + '/${emitDdsTest ? 'dds' : 'service'}';
        if (vmOptionsList.length > 1) {
          variantTestName = "${testFile.name}_$vmOptionsVariant";
        }

variantTestName doesn't include the dds/service part if there are multiple vmOptions.

variantTestName doesn't include the dds/service part if there are multiple vmOptions.

Good catch! Thanks for noticing @alexmarkov and thanks for the fix @athomas!


Docker native

this PR is only for dns, there is no docker.

Yep see: https://github.com/apparatus/fuge-runner/pull/37 just added to fuge runner...


Message: "ESLint can not format 'JavaScript' files"

I did exactly what is written in README:

eslint.format.enable (@ since 2.0.0) - uses ESlint as a formatter for files that are validated by ESLint. If enabled please ensure to disable other formatters if you want to make this the default. A good way to do so is to add the following setting "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" } for JavaScript. For TypeScript you need to add "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }.

But I keep getting the message below:

What am I doing wrong?

Hard to say :-). Can you please provide me with a GitHub repository wit a minimal setup that demos this. Then I can investigate.

Hard to say :-). Can you please provide me with a GitHub repository wit a minimal setup that demos this. Then I can investigate.

Sure.
Actually I just made a fresh install of VS Code portable version with no other setting but that, and no other extension but ESLint, and got the same result....
Any way, I also made a Github repository with this setup to demo. Fell free to investigate.
https://github.com/Diogo-Rossi/testESlint


provide trace origin for fiber interruptions

Fixes #448
Kyo currently doesn't show any information regarding the origin of fiber interrupts. For example, when a timeout happens we can only see that the fiber got interrupted. This PR addresses this limitation by storing the origin Trace in Fibers.Interrupted and adding it to the error message.

There's an issue with the interruption integration with sttp. It can't inspect if the completion is an interruption anymore with this change: https://github.com/getkyo/kyo/blob/e8c68604dfcdc03fe0c82ad6f4b1f2e3b12f5a53/kyo-sttp/shared/src/main/scala/kyo/internal/KyoSttpMonad.scala#L58
I can't see a good solution for it so I'll close this for now and work on a change to avoid T < IOs as the completion value of fibers. It was a quick hack to avoid allocations for fiber completions but we can use a proper union type instead.


Ensure systemd-resolved binary is available at runtime

Debian Unstable (and Fedora) has split systemd-resovled into a separate package which enables systemd-resolved as the default name resolver at install-time. Because of this, we cannot simply depend on systemd-resolved in the distro packaging as this may cause the default name resolver to change to systemd-resolved for some users.
If the user does not have system-resolved installed, fakemachine will currently fails with any action which requires hostname resolution:
2022/09/19 10:49:09 ==== debootstrap ====
2022/09/19 10:49:09 Debootstrap | W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
2022/09/19 10:49:09 Debootstrap | W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
2022/09/19 10:49:09 Debootstrap | I: Target architecture can be executed
2022/09/19 10:49:09 Debootstrap | I: Retrieving InRelease
2022/09/19 10:49:09 Debootstrap | I: Retrieving Release
2022/09/19 10:49:09 Debootstrap | E: Failed getting release file http://deb.debian.org/debian/dists/stable/Release
2022/09/19 10:49:09 debootstrap.log | amd64: ok
2022/09/19 10:49:09 debootstrap.log | wget: unable to resolve host address 'deb.debian.org'
2022/09/19 10:49:09 debootstrap.log | wget: unable to resolve host address 'deb.debian.org'

Instead of forcing the user to install systemd-resolved, detect whether the user has the binary installed and bubble up an error earlier if the binary has not been found.
See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020288
See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020690
--
Requires https://github.com/go-debos/test-containers/pull/14 to be merged first.

bors r+

Fwiw the debian bugs; the right solution ther eis to update the Debian package with the dependency, these changes are more relevant for installations from source


rail: fix window freeze when moving window after minimizing and restoring

When restoring from minimized state, sometimes MapNotify is received before PropertyNotify, and the rail_state is still WINDOW_SHOW_MINIMIZED.

@freerdp-bot test please


Removed all the unused imports

Fixes #51
Describe the changes you have made in this PR -
Removed all the unused imports .

upload the proof that it get compiled and works, because removing import is risky and i cannot merge without any proof

https://user-images.githubusercontent.com/47685150/150640107-f7242fb4-ae8d-4cd4-bc29-26e332cb0cb6.mp4
It's compiling.

put the snapshot or screen rec of terminal log, the vscode extension does not shows logs

put the snapshot or screen rec of terminal log, the vscode extension does not shows logs

Before there were many lint errors and unused imports so I have added flutter_lints: ^1.0.4
and analysis_options.yaml to remove lint errors. Now 50  errors are there related to deprecated widgets.