ISSUE-472 implement buildUrlPattern function to add url matching regardless query params

ISSUE-472 implement buildUrlPattern function to add url matching regardless query params
PR Branch
https://github.com/MrXavier/zerocode/tree/ISSUE-472_wiremock_match_url_path_only
Motivation and Context
Scenario thi PR wants to cover:
Url used in mock step scenario = /google-guys/persons/p001
Request send to Wiremock server = /google-guys/persons/p001?param1=value1&param2=value2
Result = The request is mocked and return the mocked response as expected, regardless the query params.
Again, this suggested change is to allow mock non deterministic requests with random query parameters, like for example, when a request has ID or UUID as query parameter. In this case the values of query params can be any random value. To be able to mock that, Wiremock provides urlPathEqualTo(url) function to solve this exact scenario, which is used in this PR to improve mocking feature in Zerocode.
All described here https://github.com/authorjapps/zerocode/issues/472
Checklist:

[ ] Unit tests added

[ ] Integration tests added

[ ] Test names are meaningful

[ ] Feature manually tested

[ ] Branch build passed

[ ] No 'package.*' in the imports

[ ] Relevant Wiki page updated with clear instruction for the end user

[ ] Not applicable. This was only a refactor change, no functional or behaviour changes were introduced

[ ] Http test added to http-testing module(if applicable) ?

[ ] Not applicable. The changes did not affect HTTP automation flow

[ ] Kafka test added to kafka-testing module(if applicable) ?

[ ] Not applicable. The changes did not affect Kafka automation flow

@authorjapps does docker issue that we faced last time, still persits?

@authorjapps does docker issue that we faced last time, still persits?

@MrXavier  please add appropriate tests/scenarios to make sure that feature works as expected

@MrXavier  please add appropriate tests/scenarios to make sure that feature works as expected

Hello @sparrowV and @imprashant, I added the tests as suggested and they work as expected. You can see that when mocking a url path without parameters, it accepts HTTP requests without or with any query params.
Scenario:
Url used in mock step scenario = /google-guys/persons/p001
Request send to Wiremock server = /google-guys/persons/p001?param1=value1&param2=value2
Result = The request is mocked an return the mocked response as expected.
Again this suggested change is to allow mock non deterministic requests with random query parameters, like for example, when a request has ID or UUID as query parameter. In this case the values of query params can be nay random value. To be able to mock that Wiremock provides urlPathEqualTo(url) function, to solve this exact scenario, and this is used in this PR to improve mocking feature in Zerocode.

Hello @sparrowV and @imprashant, I added the tests as suggested and they work as expected. You can see that when mocking a url path without parameters, it accepts HTTP requests without or with any query params.
Scenario:
Url used in mock step scenario = /google-guys/persons/p001
Request send to Wiremock server = /google-guys/persons/p001?param1=value1&param2=value2
Result = The request is mocked an return the mocked response as expected.
Again this suggested change is to allow mock non deterministic requests with random query parameters, like for example, when a request has ID or UUID as query parameter. In this case the values of query params can be nay random value. To be able to mock that Wiremock provides urlPathEqualTo(url) function, to solve this exact scenario, and this is used in this PR to improve mocking feature in Zerocode.

@MrXavier  so now if we have some query params in url it always matches to the step,that declares the base url,right? As you wrote,if
we have /google-guys/persons/p001?param1=value1&param2=value2 it will match /google-guys/persons/p001 , but what if an user wants a seperate step where he can specify specific query params? For example:
 "mocks": [
                    {
                        "name": "mocking_a_GET_endpoint_with_headers",
                        "operation": "GET",
                        "url": "/api/v1/amazon/customers/cust-007",
                        "request": {
                            "headers": {
                                "api_key": "key-01-01",
                                "api_secret": "secret-01-01"
                            }
                        },
                        "response": {
                            "status": 200,
                            "body": {
                                "id": "cust-007",
                                "type": "Premium"
                            },
                            "headers": {
                                "Content-Type": "application/json"
                            }
                        }
                    },{
                        "name": "mocking_a_GET_endpoint_with_headers",
                        "operation": "GET",
                        "url": "/api/v1/amazon/customers/cust-007?param1=param1",
                        "request": {
                            "headers": {
                                "api_key": "key-01-01",
                                "api_secret": "secret-01-01"
                            }
                        },
                        "response": {
                            "status": 302,
                            "body": {
                                "id": "cust-007",
                                "type": "Premium"
                            },
                            "headers": {
                                "Content-Type": "application/json"
                            }
                        }
                    }
                ]
            },
            "assertions": {
                "status": 200
            }
        },
        //------------- Mocking done at this point via WireMock ---------------

        //------------- Let's verify the end points by writing the following small tests ------------
        {
            "name": "verify_get_customer_with_headers",
            "url": "/api/v1/amazon/customers/cust-007?param1=value1",
            "operation": "GET",
            "request": {
                "headers": {
                    "api_key": "key-01-01", //<--- Please try with a wrong key. The test should fail.
                    "api_secret": "secret-01-01"
                }
            },
            "assertions": {
                "status": 200,
                "body": {
                    "id": "cust-007",
                    "type": "Premium"
                },
                "headers": {
                    "Content-Type": ["application/json"]
                }
            }
        },

In step verify_get_customer_with_headers, Im trying to match the second mock with url "url": "/api/v1/amazon/customers/cust-007?param1=param1",, but It matches the first one.  I think it would be better if firstly we try to match exact url, but if exact fails match base url.

@MrXavier  so now if we have some query params in url it always matches to the step,that declares the base url,right? As you wrote,if
we have /google-guys/persons/p001?param1=value1&param2=value2 it will match /google-guys/persons/p001 , but what if an user wants a seperate step where he can specify specific query params? For example:
 "mocks": [
                    {
                        "name": "mocking_a_GET_endpoint_with_headers",
                        "operation": "GET",
                        "url": "/api/v1/amazon/customers/cust-007",
                        "request": {
                            "headers": {
                                "api_key": "key-01-01",
                                "api_secret": "secret-01-01"
                            }
                        },
                        "response": {
                            "status": 200,
                            "body": {
                                "id": "cust-007",
                                "type": "Premium"
                            },
                            "headers": {
                                "Content-Type": "application/json"
                            }
                        }
                    },{
                        "name": "mocking_a_GET_endpoint_with_headers",
                        "operation": "GET",
                        "url": "/api/v1/amazon/customers/cust-007?param1=param1",
                        "request": {
                            "headers": {
                                "api_key": "key-01-01",
                                "api_secret": "secret-01-01"
                            }
                        },
                        "response": {
                            "status": 302,
                            "body": {
                                "id": "cust-007",
                                "type": "Premium"
                            },
                            "headers": {
                                "Content-Type": "application/json"
                            }
                        }
                    }
                ]
            },
            "assertions": {
                "status": 200
            }
        },
        //------------- Mocking done at this point via WireMock ---------------

        //------------- Let's verify the end points by writing the following small tests ------------
        {
            "name": "verify_get_customer_with_headers",
            "url": "/api/v1/amazon/customers/cust-007?param1=value1",
            "operation": "GET",
            "request": {
                "headers": {
                    "api_key": "key-01-01", //<--- Please try with a wrong key. The test should fail.
                    "api_secret": "secret-01-01"
                }
            },
            "assertions": {
                "status": 200,
                "body": {
                    "id": "cust-007",
                    "type": "Premium"
                },
                "headers": {
                    "Content-Type": ["application/json"]
                }
            }
        },

In step verify_get_customer_with_headers, Im trying to match the second mock with url "url": "/api/v1/amazon/customers/cust-007?param1=param1",, but It matches the first one.  I think it would be better if firstly we try to match exact url, but if exact fails match base url.

Hello @sparrowV, yes exactly, when you set the url with only path, without query params, the mock will match any requests with that specific path, regardless wether there are query params or not.
In case the mock specify the url with query parameter, the behaviour will be the same as before, the mock will match only if the path and query parameters match exactly as it is defined in the mock.
The scenario you mentioned you are defining 2 mocks for the same url path, but one has query parameters. This is an edge case which might lead to conflicts inside Wiremock framework originally (note that what I am doing is basically using Wiremock functions to define the request url pattern. Any combinations of mock you use will follow the logic that Wiremock implemented internally).
In my opinion, I don't think someone should mock some url path and the same path with query parameters in the same test scenario. This have logical conflicts and undetermined behaviour by nature.
Hope this answer your question! In the end, I don't have a simple solution for the scenario you mentioned. It would be necessary to debug Wiremock internally to try to make your scenario to work.

Hello @sparrowV, yes exactly, when you set the url with only path, without query params, the mock will match any requests with that specific path, regardless wether there are query params or not.
In case the mock specify the url with query parameter, the behaviour will be the same as before, the mock will match only if the path and query parameters match exactly as it is defined in the mock.
The scenario you mentioned you are defining 2 mocks for the same url path, but one has query parameters. This is an edge case which might lead to conflicts inside Wiremock framework originally (note that what I am doing is basically using Wiremock functions to define the request url pattern. Any combinations of mock you use will follow the logic that Wiremock implemented internally).
In my opinion, I don't think someone should mock some url path and the same path with query parameters in the same test scenario. This have logical conflicts and undetermined behaviour by nature.
Hope this answer your question! In the end, I don't have a simple solution for the scenario you mentioned. It would be necessary to debug Wiremock internally to try to make your scenario to work.

Hello @sparrowV, yes exactly, when you set the url with only path, without query params, the mock will match any requests with that specific path, regardless wether there are query params or not.
In case the mock specify the url with query parameter, the behaviour will be the same as before, the mock will match only if the path and query parameters match exactly as it is defined in the mock.
The scenario you mentioned you are defining 2 mocks for the same url path, but one has query parameters. This is an edge case which might lead to conflicts inside Wiremock framework originally (note that what I am doing is basically using Wiremock functions to define the request url pattern. Any combinations of mock you use will follow the logic that Wiremock implemented internally).
In my opinion, I don't think someone should mock some url path and the same path with query parameters in the same test scenario. This have logical conflicts and undetermined behaviour by nature.
Hope this answer your question! In the end, I don't have a simple solution for the scenario you mentioned. It would be necessary to debug Wiremock internally to try to make your scenario to work.

If you do it , that would be great, We should just check first if it URL matches strictly and then if it doesn't pick the one with base URL.  You can go for it and dig into, or maybe I will do it if I get some time :)

Hello @sparrowV, yes exactly, when you set the url with only path, without query params, the mock will match any requests with that specific path, regardless wether there are query params or not.
In case the mock specify the url with query parameter, the behaviour will be the same as before, the mock will match only if the path and query parameters match exactly as it is defined in the mock.
The scenario you mentioned you are defining 2 mocks for the same url path, but one has query parameters. This is an edge case which might lead to conflicts inside Wiremock framework originally (note that what I am doing is basically using Wiremock functions to define the request url pattern. Any combinations of mock you use will follow the logic that Wiremock implemented internally).
In my opinion, I don't think someone should mock some url path and the same path with query parameters in the same test scenario. This have logical conflicts and undetermined behaviour by nature.
Hope this answer your question! In the end, I don't have a simple solution for the scenario you mentioned. It would be necessary to debug Wiremock internally to try to make your scenario to work.

If you do it , that would be great, We should just check first if it URL matches strictly and then if it doesn't pick the one with base URL.  You can go for it and dig into, or maybe I will do it if I get some time :)

Hello @sparrowV, I added a feature flag and enable the build urlPathEqualTo pattern only if the url appears only once in the mocks.
This is a work around to tackle your scenario. Unfortunately, I don't have time to dig more into this solution. Feel free to try a better solution. If not I would say this PR is good to be merged to allow this important mock feature to be used in Zerocode.

Hello @sparrowV, I added a feature flag and enable the build urlPathEqualTo pattern only if the url appears only once in the mocks.
This is a work around to tackle your scenario. Unfortunately, I don't have time to dig more into this solution. Feel free to try a better solution. If not I would say this PR is good to be merged to allow this important mock feature to be used in Zerocode.

Hello mate,
The branch builds are getting though temporarily. Visit this page for the solution.

Hello mate,
The branch builds are getting though temporarily. Visit this page for the solution.

@authorjapps does docker issue that we faced last time, still persits?

Still persists mate. Until then the solution is here.

@authorjapps does docker issue that we faced last time, still persits?

Still persists mate. Until then the solution is here.

Hello @authorjapps thank you for your comment. I didn't have time to follow the instructions you sent. Will do it shortly, though.


[FEATURE] Add tests that will increase coverage of method guessEncoding

Add tests that will increase coverage of method guessEncoding

We did it, wohoo!


Adding a master node with kURL and kubernetes 1.17.3 fails

While trying to add a master node to an HA cluster using the command under the "Add a Node" section
curl -sSL https://kurl.sh/app-slug/join.sh | sudo bash -s \
  kubernetes-master-address=<IP_ADDRESS>:6443 \
  kubeadm-token=a.bunch.of.stuff \
  kubeadm-token-ca-hash=sha256:06dbff5bfc8892fe98d5576061a0c4b03492c71de1c4be300a40f50a0d4be8d1 \
  docker-registry-ip=<IP_ADDRESS> \
  kubernetes-version=v1.17.3 \
  cert-key=c53c9a0170101fc296f21ff9c4dd697fc2c8c216264324f03ee4fcd4d3083aab \
  control-plane

I got an error
⚙  Addon ekco 0.2.3
tar: This does not look like a tar archive

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

It also left behind a file
$ cat kubernetes-v1.17.3.tar.gz
<?xml version="1.0" encoding="UTF-8"?>
<Error>AccessDenied<Message>Access Denied</Message><RequestId>C7CD5FF091792206</RequestId><HostId>UY5jAZFZC+5p0+WK8/k/k+6j760lvhZcSOo2UMpzFioo/p76Cjjo68sj+TI9VkB+ELwGwNvL1kw=</HostId></Error>

It appears to be trying to download from https://kurl-sh.s3.amazonaws.com/dist/kubernetes-v1.17.3.tar.gz, which I've been told shouldn't have a v in the version. The join.sh initializes KUBERNETES_VERSION="1.17.3".
This string is from the Admin Console (the "Worker Node" and "Master Node" instructions both include v1.17.3) at https://github.com/replicatedhq/kots/blob/master/kotsadm/pkg/kurl/node_join.go#L55, which seems to pull in server version. When I check that with kubectl version I get
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

which I believe explains how it got v1.17.3.
I've worked around this by changing the command to use kubernetes-version=1.17.3.

@MikaelSmith thanks for the issue -- I believe a fix is on the way.

Fixed in https://github.com/replicatedhq/kURL/pull/445


review: 0205: intl.locale.requested

Not everyone uses English. In the list of items that came up for analysis/overrides, was 0207 which is NOT what I am proposing (but it was included as it was a troubleshooting item). But it made me think about users, such as on TB, who are not English speakers - obviously they download the various packages
/* 0207: set language to match ***/
user_pref("intl.accept_languages", "en-US, en");

https://ghacksuserjs.github.io/TorZillaPrint/TorZillaPrint.html#language
note: I don't return the http header (yet)

So I did some digging, and the pref that changes in e.g the German download of TB, is actually 0205, where it is de
/* 0205: set OS & APP locale [FF59+]
 * If set to empty, the OS locales are used. If not set at all, default locale is used ***/
user_pref("intl.locale.requested", "en-US"); // [HIDDEN PREF]

I am not sure if TB did any extra patches, but the tests still all return en-US etc, and I suspect the only change is in the http header.  Note; the language (in this case de is NOT added under options > general > language : it is still just the two items

English/Vereinigte Staate von Amerkia [en-US]
Englisch [en]

I will do some tests. And if they pan out, then THIS (0205) is the pref to add a setup tag to.
Tests:

English FF, change 0205 to de, see if sites give me german language versions, see what http header and TZP tests return
German FF, apply user.js, change 0205 to de, do same tests (hopefully, but IDK, the UI etc will still all be in German)

Some interesting results. I will do a test in TB to see if it differs.
What I have mainly found is that 0205 intl.locale.requested fucks up people's interface and seems to be tied to the option

Settings>General>Language>Choose the languages used to display menus, messages and notifications from Firefox
Note: this gets removed in 68, and instead the first language listed in choose is used, or something like that)

Equipment
FF French 66.0.3 Portable
Tests
[1] https://ghacksuserjs.github.io/TorZillaPrint/TorZillaPrint.html#language
[2] https://browserleaks.com/ip (for the http header)
[3] https://addons.mozilla.org/about (note: I am not specifying the language)
[4] Settings>General>Language>Choose the languages used to display menus
[5] Settings>General>Language>Choose
[6] Interface/UI
Test 1: nilla

[navigator] languages	fr,fr-FR,en-US,en
[navigator] language	fr
[navigator] languages[0]	fr
[Intl.PluralRules] locale	fr
[resolvedOptions] locale	fr
Accept-Language	fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
https : //addons.mozilla.org/fr/about
language to display = Francais
Chose: Francais [fr], Francais (France) [fr-fr], Anglais (Etas-Unis) [en-us], Anglais [en]
UI: French

Test 2: add user.js

[navigator] languages	en-US,en
[navigator] language	en-US
[navigator] languages[0]	en-US
[Intl.PluralRules] locale	en-US
[resolvedOptions] locale	en-US
Accept-Language	en-US,en;q=0.5
https : //addons.mozilla.org/en-US/about
language to display: blank

choose French from dropdown, apply & restart = gets reset to blank (by the user.js?)

Chose: English (United States) [en-us], English [en]
UI: French menus (hamburger, context menus on pages) etc. but about:preferences + about:about = English, but about:addons, about:debugging = French ... it's all a bit of a mixed bag. I stopped looking

Test 3: add 0205 override as fr

[navigator] languages	en-US,en
[navigator] language	en-US
[navigator] languages[0]	en-US
[Intl.PluralRules] locale	en-US
[resolvedOptions] locale	en-US
Accept-Language	en-US,en;q=0.5
https : //addons.mozilla.org/en-US/about
language to display: Francais
Chose: Anglais (Etas-Unis) [en-us], Anglais [en]
UI: Francais

PS: I can't be bothered typing in an diacritics, so cedilla lovers, sorry. If you want a tail, go see ::cat2:

So what I have "uncovered" (it's not like I use non-English packages), is that we should add something to 0205 to alert users that this is what they should change to fix up their chrome language. I also can't see where this leaks the anywhere. It was added in 59 and I guess it's covered by RFP. TB use this as well, set to whatever language the package is, e.g de for German, etc.
So good news, we can fix people's chrome language and it doesn't seem to leak anything: so either comment it out and add some info and/or add a setup-chrome tag to it. Not sure what to do.
But bad news, it does nothing to request pages in your preferred language (no leaks, so to be expected). And the setting is being removed in 68 (but the pref will stay for sure).
Wot do?
Maybe I'll test again without RFP

go to about:support and go to the very bottom. And this is what the pref says

If set to empty, the OS locales are used. If not set at all, default locale is used ***/

On the left is the French with user.js + 0205 override as fr so the chrome uses French
On the right is me (en-US package, but not an en-US OS) with the user.js
This is doing my head in a bit

If set as empty then both would fall back to en-US
If not set at all (inactive and reset in about:config), then I fall back to en-US and the French gets fr

I'll see what those two options do, not used and set to empty.

OK, definitely do not set a an empty string. That just brings us back to the dual languages and non-saving option.
I will make this inactive. I't doesn't affect anything (see TB, and my tests, even with RFP off). I guess we never picked up that this wasn't really needed when it was added in 59 as a replacement for an older pref, all while Tor Lift was piling on changes for ESR60.

sidenote: fyi: I still do not know what to do about 0207 from the overrides list. If a user changes this pref, the navigator and http header language change, but the locale is still all en-US = high entropy mix. So I'm a little loathe to add a setup tag to the one item, and need to address it elsewhere: probably in the relaxed sticky


Update repositories.txt

Closing as duplicate of https://github.com/arduino/library-registry/pull/2102


Fix Jenkins from spamming logs due to defect

Jenkins log on CI is filling up due to a defect. Turn off Multicast DNS to work around this issue.

This was fixed by adding "-Dhudson.DNSMultiCast.disabled=true" to the JAVA_ARGS setting in /etc/default/jenkins, per  https://issues.jenkins-ci.org/browse/JENKINS-29490 and https://issues.jenkins-ci.org/browse/JENKINS-25369. Note this change isn't stored in source control due to the way Jenkins is managed in this app - we don't have scripts which do full provisioning of the server.


Prevent crash when comparing page revisions that include MultipleChooserPanel

Fixes #10472
Please check the following:

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[x] For Python changes: Have you added tests to cover the new/fixed behaviour?

Cherry pick to 5.0.2 6ff050b434004673cfd4c31e16af66c648c944ff


Hybrid NPM Module for ESM and CommonJS

Update the library to allow the NPM module to be used in both ESM and CommonJS.
This javascript library previously targeted ES modules. This means modern ES projects could use the library but requiring the library in CommonJS would error. This change to the build allows the same library to be used in both ES modules and CommonJS.
ESM:
import { Ollama } from "ollama";

CJS:
const { Ollama } = require("ollama");

I am leaning against merging this one - this is a chunk of complexity added just to support a legacy module system. If someone still wants to write a package or add it to an existing one in cjs, they can use the import() function, essentially moving the burden of complexity to their end.
@jmorganca have you got a preference here?

I think we can hold off and leave this PR open for now until there's a few requests for it

I don't think CJS adds a ton of complexity if it's just a compiling step?
https://github.com/ollama/ollama-js/pull/3
Would love to see this PR merged. Over 70% of all popular packages are written in it, and it's not going away: https://bun.sh/blog/commonjs-is-not-going-away

@BruceMacD Just coming back to this and it seems like CJS is still more used than I anticipated (still not sure why there are so many new projects that are using CJS instead of ESM but that is another discussion), if you still think this should be implemented don't let me hold this up, there are a couple other PRs related to this as referenced.
References:

#44
#60
#61


Single line TYPES: statements do not always have the colon removed

Single line TYPES: statements do not always have the colon removed
For example
TYPES: BEGIN OF ty_test.
             INCLUDE TYPE mara.
    TYPES:   a_field TYPE abap_bool.
    TYPES: END OF ty_test.

The colons are not removed after keyword TYPES.

Hi Matthew,
this is intentional – ABAP cleaner would be fine without colons as well …
    TYPES BEGIN OF ty_test.
            INCLUDE TYPE mara.
    TYPES   a_field TYPE abap_bool.
    TYPES END OF ty_test.

… but if someone then uses PrettyPrinter on this, you get:
    TYPES BEGIN OF ty_test.
    INCLUDE TYPE mara.
    TYPES   a_field TYPE abap_bool.
    TYPES END OF ty_test.

This doesn't happen with colons, and that's why in this special case, ABAP cleaner keeps the colons.
Kind regards,
Jörg-Michael


Plugin does not work when running from inside docker

When running a vite project from inside docker, the certificate is invalid.
Attempting to import the certificate into chrome results in "Not an Authority".

No errors in vite output log, everything works fine. Problem is the cert is generated and installed on the docker container machine, not the host machine which is browsing to the docker container.
Not sure how you would automate fixing that.

Thanks for your feedbak, i will try to install docker on my own computer for testing.

Nodejs can not access host’s home directory in docker, maybe you should use "docker mkcert" instead.


Level select

Level select screen. Can just be a scrolling list of all the levels with the following info:

Pack?
Number
Title
Author
Difficulty

Would be nice to also have completion status (save it to the cart data), but also moves and shots if possible (will not fit in cart data unless I have really few levels). Could store the latter in the "ROM" itself with cstore() though, possibly.


Change args type to teams specific

What

Change CTE args type according to ACS Internal review comments
Change name of factory function according to ACS Internal review comments
Why

How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Liking all the new names! Makes it more clear than having to read AzureCommunicationTeams... to know that it's related to Teams


Linux support (offer)

I think I am able to modify compile.py to make it compile on Linux, in order to create a Windows exe.
Of course I can't make it work as a malware on Linux, but it could compile using a thing called Wine, (which is a compatibility layer, like the ones you see when going to the properties of an executable that let you pick to run it as WinXP/Vista/7/8.x, and so on while you are on Win10/11). Generally, it lets you run Windows applications under Linux.
I cannot guarantee it will be error-less, because while you can run a lot of Windows apps under Wine, some are just not possible, but I can try. Would you like to have the ability to compile under Linux or is it not worth it?
PS: I found this repo from a video on yt which does not mention the program's name btw (for understandable safety reasons and to not cause a discord holocaust), just informing you.

That would be awesome if you get it to work. I would try it myself ( I use wine to play osu :skull: ) but from my experience wine is a pain. If you get it to work, then please mention me in this issue, I will try it out and if it works I will add it to the compile / build instructions

Sure thing, thanks for the reply :)

I like that idea. But how would you do that? The only thing (that I'm familiar with) that disqualifies Linux as platform for builder is a Python module called "win32com" that is required for passwords stealing. This module cannot be even installed with pip for malware compiling. Just letting you know and curious how would you use wine in this case.

This module cannot be even installed with pip for malware compiling. Just letting you know and curious how would you use wine in this case.

Thanks for letting me know. I don't know how I would install the module, but my first bet would be to download the whl file and locally install it with pip. If that leads to an error (most likely), I'll get the source code of win32com and inject it into the site-packages of the python installation in wine. Could work, could also not? No idea.
So far I have automated the wine installation process for Ubuntu, Fedora and Arch distros (apt/dnf/pacman) and downloading and installing Python in wine.

I am almost there with completing it. I will PR soon


FAQ page

there are still a lot of improvements to be made to our documentaiton, but an FAQ page could resolve some common questions/confusion quickly.
possible topics:

How is Tina different from a CMS?
Can I use Tina with X? (where X is some SSG feature like MDX etc)
can I create new posts using Tina?

duplicate of #128


Helpvideos ZITADEL

The idea is, to provide short videos with how-to's for specific features/workflows in zitadel (console).
for example:

[ ] User management
[ ] Setting up a project
[ ] Setting up an application
[ ] Handling 'Actions'
[ ] How to manage Authorizations
[ ] Setup ZITADEL with your corporate design/brand

etc.

Still on my radar

@juergrinaldi should we move this to backlog?
Or can we describe what the expectation is from this issue?
Does not look like ready to implement for me

Yeah, it makes sense to put in backlog for now.
Allthough I don't think that it isn't ready for implementation, as it might be already useful for (new) customers/users.
(and I updated the initial comment with some examples.)

I'll close this issue as it probably isn't ready yet. We can re-open them as needed (and probably split in different issues per video).


Return /props for inactive bucket types [JIRA: RIAK-2105]

Currently, you can only fetch the Bucket Type properties for inactive bucket types on the command line, via riak-admin bucket-type status <inactive bucket type name>.
Doing an HTTP GET to /types/<name>/props only works for active bucket types, and returns a 404 Not Found for inactive ones.
The HTTP endpoint needs to also handle inactive ones.

(This is useful for external admin tools like Riak Control / Riak Explorer)


Help with runners_concurrent

Hello! I am using the module and it is working great, just having some trouble understanding how it works..
I see that the default value for the runners_concurrent is 1, does this mean that only 1 pipeline can run at a time? On Kubernetes managed gitlab-runners the default value is 10. Any setback to setting it to a high number? If I have a pipeline that has multiple jobs in 1 stage, does that mean it will only go one at a time since the setting is default to 1?

I will close the issue, feel free to re-open if the answer was not helpful or clear


Current Behavior
It currently just ends with
FAILURE: Build failed with an exception.

* What went wrong:
Gradle build daemon has been stopped: stop command received

Context
We'd like to be able to flag builds that are taking too long...sometimes developers seem to have gradle daemons that have a memory leak in plugins or something that causes them to run out of memory and keep doing GC.  For these builds, we've impelmented a timeout mechanism by using a command line wrapper, but we'd like to be able to track these failures in gradle enterprise.
Not sure if Gradle is in a state that can send a build scan if it's OOM though...

Can you confirm that these do not generate build scans?
Do you see any failed builds in your failures dashboard with the failure message *Build cancelled while executing task*?
Note that when the Gradle process deadlocks, there is no way to generate a build scan but for other cases it should generate a scan.

Yep, nothing in gradle enterprise for my username.  When I do "./gradlew --stop", the running gradle run doesn't print out "your buildscan is at xxxx" either.  It just says this:
FAILURE: Build failed with an exception.

* What went wrong:
Gradle build daemon has been stopped: stop command received

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Can you search for *Gradle build daemon has been stopped* instead?

It is not a custom value (unless you are tagging builds with this custom value). Can you search in your failures dashboard for this failure message pattern?

there's no full text search in gradle enterprise :-(
Looked at failures for today and there's nothing at the bottom of that screen

:

You can type your search in here:

The screenshot you shared with me shows that some cancelled builds already have build scans uploaded to your Gradle Enterprise dashboard. Could not build 'org.jetbrains.kotlin.gradle.KotlinMPPGradleModel' model. Build Cancelled.

🤦 I missed that search field....eyes were on the other fields above that you could click the refresh button on.  😹
Anyways, same result...did
./gradlew assembleDebug
waited a bit until it got to trying to process some of the modules, then ran "./gradlew --stop" in another window.
Then hit the refresh button on that gradle enterprise screen. with "Build cancelled while executing task" in that other search field and no new build scans showed up...

This would be incredibly useful for us (I'm on the Gradle team of a build company that uses Gradle in 1000s of projects). We sometimes have builds randomly taking 1hr+ that then do not send a buildscan - it's very hard to diagnose what's causing it to be slow.


qa: fix flaky test of unconfirmed spend RBF

Since #617 the spend info for a coin may be wiped from the DB. Be robust to a temporarily None spend info in the functional test.
See for instance https://github.com/wizardsardine/liana/runs/18785511349.

ACK 6b5fc2d1faf94d8290a30bd7007113815c8936ea -- trivial and i've run this test a few dozen times concurrently locally to make sure it's unflaked.


theme_fluent: add MDL2-Icons and Selawik fonts

Context:
This PR enhances the theme_fluent to include handling of OpenSource replacements for the Segoe UI font family.
The Eula of the native implementation of Segoe UI restrict us to use and redistribute them with OrbTK. All included OpenSource replacements are relying under the MIT License.
Changes in v1:

README: update the source locations, verify suitable OpenSource license
MDL2-Icons: MIT licensed implementation of Segoe UI based asset icons
Selawik: MIT licensed Selawik is an open source replacement for Segoe UI fonts

Contribution checklist:

[x] Add documentation to all public structs, traits and functions.
[ ] Add unit tests if possible
[x] Describe the major change(s) in the CHANGELOG.MD
[x] Run cargo fmt to make the formatting consistent across the codebase
[x] Run cargo clippy to check with the linter

If I start the showcase and switch to on of the fluent themes I get thread 'main' panicked at 'called Result::unwrap()on anErr value: Error { code: UnexpectedByte('&'), position: Position { line: 16, col: 24 } }', crates/theming/src/config/theme_config.rs:41:9. Looks like an issue on one of the theme files.


Remove Reflections.cache after jar build

This should help prevent the situation when a a developer ends up with a reflections.cache that doesn't reflect their current compile state.

Seems to test out fine, got myself more confused than enlightened though, good ole Gradle magic :-)
Main puzzler: If I do a global jar task I see no reflection cache in build dirs (built and cleaned too fast for Explorer to show me I figure) yet see the cache inside .jar files (good). If I just do a global cacheReflections I also get no cache file (the clean still triggers - but why). If I do a specific module cacheReflections (like gradlew modules:Fences:cacheReflections) then I do see a cache file stick around for that module (clean doesn't trigger).
Haven't seen finalizedBy before so I'm probably just not catching exactly how it is meant to work :)
I figure the clean won't necessarily trigger if you're just pulling code from an IDE and letting it compile (can't see how the Gradle jar task or clean would run on its own - unless maybe you import via Gradle, which doesn't fully work yet for the engine project).

This change should not have had any effect on the global cacheReflections/cleanReflections behavior, not sure what is up there.
finalizedBy is essentially a reversed dependsOn- if X is finalizedBy Y, then Y will be run after X (as opposed to when X dependsOn Y, which causes Y to run before X).
At the moment, unless you explicitly trigger cacheReflections, it is only triggered by the jar step. This change causes cleanReflections to be triggered after the jar step, so that the cache doesn't persist and mess up development runs.

Thanks - that helps :-)


Waypoint: Create a JavaScript Slot Machine - Incorrect formulat

Math.floor(Math.random() * (3 - 1 + 1)) + 1 is the same as Math.floor(Math.random() * (3)) + 1
It is unnecessary to subtract 1 then add 1 inside the parenthesis. This may cause confusion for beginners not understanding why you must subtract 1 then add one. In both cases the number being multiplied against Math.random() will evaluate to 3.
3-1+1 will always evaluate to 3.

The reasoning behind the formula is explained in an earlier waypoint: http://www.freecodecamp.com/challenges/waypoint-generate-random-whole-numbers-within-a-range
The same waypoint also links to an explanation of the formula in the Wiki
(https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Waypoint-Generate-Random-Whole-Numbers-within-a-Range#explanation).
Removing the 1s from the formula will confuse campers. Anyone any thoughts?

I agree with @AlexFeng217 - it makes sense to use this formula when explaining how to generate random numbers, but I'm not sure that it continues to make sense in the context of this problem.  We have issues with campers who are manually typing the code (rather than copying/pasting) missing a sign or a space and it breaking for non-obvious reasons.
I had been considering making other changes to this set of waypoints anyway, I'll see if it makes sense to include this as well.

We will me removing the Slot Machine challenges.
Happy Coding!


bug: Unable to switch from one protocol to another without restarting the robot.

Overview
With OT2 and the current version of Opentrons software, after running any protocol and then attempting to run another one, the software does not show any robot available after clicking on "Run". It only suggests to refresh  However, the robot remains available in "Devices".  At the same time, the previously used protocol can be run again w/o problems. So, the only way to switch from one protocol to another is to turn OT2 off, turn it back again and wait until it reinitializes. The problem appeared after the previous update (not the most recent) update of the software.
Steps to reproduce
Run any protocol, then select any other in "Protocols" and try to run it. The software won't show any robot (either available  or unavailable) and won't allow to proceed to setup. See the attached screenshot:

Current behavior
No response
Expected behavior
No response
Operating system
Windows
System and robot setup or anything else?
Opentrons software version 7.5.0. Robot is connected via USB/LAN.

This is a known issue, and fortunately you don't have to restart your OT-2 to work around it:
https://github.com/Opentrons/opentrons/blob/343b8b651a6c022b9b952595d81307b056ad26e5/app-shell/build/release-notes.md?plain=1#L23-L25
Find your robot on the Devices page, click Go to Run, and clear the completion banner.


加入新手引导功能组件

[ ] I'm sure this does not appear in the issue list of the repository

Basic Info
What are the similar cases of this feature
antd：https://next.antdv.com/components/tour-cn
What problem does this feature solve?
漫游式引导

这个快半年了，不知道有没有列入计划中 @flsion


Cannot Install on Kali Linux

Error: short-name "karmaz95/crimson:v3" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"

Hello,
The issue is related to your specific docker configuration probably.
Based on your error message, it is something with the name resolving.
The image is publicly available here:

https://hub.docker.com/layers/karmaz95/crimson/v3/images/sha256-61f9716111f33ef5283cfb3d6164dfac7456ea2bb1a5d3d1cd06973aea69e7be?context=repo

I just installed it on the latest Kali Linux version using:
docker pull karmaz95/crimson:v3
docker run -it karmaz95/crimson:v3

I would suggest to purge and reinstall docker.
In case you are using podman, this might be helpful:

https://unix.stackexchange.com/questions/701784/podman-no-longer-searches-dockerhub-error-short-name-did-not-resolve-to-an
https://github.com/containers/podman/issues/16096
You should change your configuration according to the above links to:

cat .config/containers/registries.conf
unqualified-search-registries = ["docker.io"]

Let me know if this resolves the issue.
Best regards

Yeah you are right ..my conf were error


Support dot registry names

support dot notation in private module registry names
update GHA versions
add automatic PR creation in checkov

Codecov Report

Merging #81 (71c2b47) into master (45154fd) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #81   +/-   ##
=======================================
  Coverage   99.74%   99.74%
=======================================
  Files           4        4
  Lines        1196     1196
=======================================
  Hits         1193     1193
  Misses          3        3

Flag
Coverage Δ

unittests
99.74% <100.00%> (ø)

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

Impacted Files
Coverage Δ

pycep/transformer.py
100.00% <100.00%> (ø)

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


Verify that GenerateCreateScript works

relates to #591

@bheemvennapureddy FYI

Hi @ErikEJ,
I hope you don't mind, but I'm encountering some issues. I created a codespace with your branch and ran dotnet build on the test project, but I'm still seeing build errors. Could you help me figure out what I might be doing wrong?
Thanks!

Also in the ci are we not running all the tests? I only see one project

Hi @ErikEJ,
I hope you don't mind, but I'm encountering some issues. I created a codespace with your branch and ran dotnet build on the test project, but I'm still seeing build errors. Could you help me figure out what I might be doing wrong?
Thanks!

What branch are you on, I couldn't see that from the screenshot. Looks like an older version somehow. We've had support for .NET 8 for quite a while now.

@jmezach @jeffrosenberg
Thanks! The verifies that GenerateCreateScript works with an external dacpac reference.
It did require setting DatabaseVariableLiteralValue="master"
If this was NOT set, the following error happended:
1>Unhandled exception. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
1> ---> System.NullReferenceException: Object reference not set to an instance of an object.
1>   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlScriptDomGenerator.CreateStatementGenerator.GenerateCreateAggregateStatement(IModelElement modelElement)
1>   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlScriptDomGenerator.CreateStatementGenerator.GenerateStatement(IModelElement modelElement)
1>   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlScriptDomGenerator.TryGenerateScriptDom(IModelElement element, ScriptDomOperation operation, TSqlScript& script)
1>   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlScriptDomGenerator.GenerateScriptDom(IModelElement element, ScriptDomOperation operation)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentPlanGenerator.DeploymentScriptDomGenerator.GenerateFragment(Int32 operation, IModelElement element)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentPlanGenerator.DeploymentScriptDomGenerator.GenerateSteps(Int32 operation, IModelElement element)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.OrderedStepGenerator.Add(DeploymentScriptDomGenerator scriptDom, IModelElement element, Int32 operation)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.Analyzers.PlanMediator.BuildDependencyOrderedSteps(Int32 operation, List`1 classOrder, List`1 operationOrder, Dictionary`2 changes, Boolean preserveGraphs, Dictionary`2& relating, Dictionary`2& related)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.Analyzers.PlanMediator.BuildOperations()
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentPlanGenerator.OnGeneratePlan()
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentPlanGenerator.GeneratePlan(List`1 drops)
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.BuildPlan()
1>   at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.Controller.CreatePlan()
1>   at Microsoft.SqlServer.Dac.DacServices.<>c__DisplayClass55_0.<CreateDeploymentArtifactGenerationOperation>b__0(Object operation, CancellationToken token)
1>   at Microsoft.SqlServer.Dac.Operation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
1>   at Microsoft.SqlServer.Dac.ReportMessageOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
1>   at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken)
1>   at Microsoft.SqlServer.Dac.DacServices.GenerateCreateScript(Stream outputStream, DacPackage package, String targetDatabaseName, DacDeployOptions options)
1>   at MSBuild.Sdk.SqlProj.DacpacTool.PackageBuilder.GenerateCreateScript(FileInfo dacpacFile, String databaseName, DacDeployOptions deployOptions) in C:\Code\Github\MSBuild.Sdk.SqlProj\src\DacpacTool\PackageBuilder.cs:line 407
1>   at MSBuild.Sdk.SqlProj.DacpacTool.Program.BuildDacpac(BuildOptions options) in C:\Code\Github\MSBuild.Sdk.SqlProj\src\DacpacTool\Program.cs:line 199
1>   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
1>   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
1>   --- End of inner exception stack trace ---
1>   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
1>   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
1>   at System.Delegate.DynamicInvokeImpl(Object[] args)
1>   at System.CommandLine.NamingConventionBinder.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
1>   at System.CommandLine.Parsing.ParseResultExtensions.InvokeAsync(ParseResult parseResult, IConsole console)
1>   at MSBuild.Sdk.SqlProj.DacpacTool.Program.Main(String[] args) in C:\Code\Github\MSBuild.Sdk.SqlProj\src\DacpacTool\Program.cs:line 80
1>   at MSBuild.Sdk.SqlProj.DacpacTool.Program.<Main>(String[] args)

Wonder if I should update the section about system databases with this?
<ItemGroup>
        <PackageReference Include="Microsoft.SqlServer.Dacpacs.Master" Version="160.2.1" DacpacName="master" DatabaseVariableLiteralValue="master" />
</ItemGroup>

Yeah, I think that is a good idea. Kind of a weird exception though.

@jmezach I updated the readme

I guess this PR needs the same changes as #598 for the pipeline to work again. Might want to merge that one first and then rebase this on top.

Might want to merge that one first and then rebase this on top.

Yes, that was my plan...

@jmezach Build unbroken 🎉

Nice. I think we can merge this. Doesn't really affect the product itself.

Still waiting for the second approver...


[MM-24463] Run message retention cleanup off of pre-existing state

Note: Similar functionality went into 1.30 release via #4211
Summary
Only posts in channels, searched posts and flag posts are recalculated (as per data retention policy, if applicable). The rest of state is cloned from existing state.
On a version upgrade, data cleanup gets run anyway.
Ticket Link

MM-24463

Device Information
This PR was tested on: OnePlus 5 (Android 10 device)

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/5497
https://circleci.com/gh/mattermost/mattermost-mobile/5496

@chuttam
Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Fetching origin
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-#4222-upstream-release-1.31-1588004845
Branch 'automated-cherry-pick-of-#4222-upstream-release-1.31-1588004845' set up to track remote branch 'release-1.31' from 'upstream'.
+++ Downloading patch to /tmp/4222.patch (in case you need to do this again)

+++ About to attempt cherry pick of PR. To reattempt:
  $ git am -3 /tmp/4222.patch

Applying: MM-24463 Run message retention cleanup off of pre-existing state
Using index info to reconstruct a base tree...
M	app/store/middlewares/helpers.js
Falling back to patching base and 3-way merge...
Auto-merging app/store/middlewares/helpers.js
CONFLICT (content): Merge conflict in app/store/middlewares/helpers.js
Patch failed at 0001 MM-24463 Run message retention cleanup off of pre-existing state
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

+++ Conflicts detected:

UU app/store/middlewares/helpers.js

+++ Aborting in-progress git am.

+++ Returning you to the master branch and cleaning up.

Manually cherry-picked to release-1.31 as b3d274b6c7eba28dff4b1b65ff10a264e5774a36 .


[App]:  The link to "On-Prem/Bare Metal" version is directed to a page which is not present

Current Behavior
In the README, on clicking on the   "On-Prem/Bare Metal" version under the W&B Hosting Options, the url redirects to https://docs.wandb.ai/guides/hosting/setup/on-premise-baremetal which is not present on the website
Expected Behavior
I think it should be directed to https://docs.wandb.ai/guides/hosting/how-to-guides/basic-setup#persistence-and-scalability
Steps To Reproduce

Change the link in the README

Screenshots

Environment
OS: All
Browsers: All
Version: Latest
Additional Context
No response

Hi @mhardik003 thanks so much for reporting this issue. May I please ask if you were looking for this link?
https://docs.wandb.ai/guides/hosting/how-to-guides/bare-metal
I also created a PR to fix the links under the W&B Hosting Options, as the other two were also pointing to our previous Docs page links.

Thank you sir, for looking into this issue and updating it so fast!

Thank you @mhardik003 for reporting it! Have a great day!


Emmet XHTML broken

VSCode Version: 1.8.1
OS Version: Ubuntu 14.04

Steps to Reproduce:

Set xhtml syntax:	"emmet.syntaxProfiles": {
		"html": "xhtml"
	},

Write br and press Tab.

Result is:

Should be:

Same for other tags.
Also didn't work shorthands like input:radio, result is:
<input:radio></input:radio>

@Avol-V For the time being, please use the below
"emmet.syntaxProfiles": {
        "html": {
              "self_closing_tag": "xhtml"
         }
}

@mrmlnc @egamma As of now the "emmet.syntaxProfiles" configuration in VS Code is being used for 2 purposes

To define how generated HTML content should look like as described in the docs for sytax-profiles in emmet
To map any file extension to one of the supported modes in emmet (#9500)

"xhtml" is one of the predefined profiles, as in you can use it to say "I want everything just like html, but also want self closing tags".
When "xhtml" is passed as a syntax to emmet, you see the behavior that is described by @Avol-V.
None of the html abbreviations get expanded correctly.
Emmet users know "xhtml" as just a profile that gives everything that html gives + self closing tags.
Therefore, I propose  the changes in #18625

This is now fixed and the fix is in the insiders build


Allow multiple formats for date input.

First, thanks for creating react-datepicker!
I would like to suggest allowing multiple formats for date entry. Our users often use the input box for manually typing or pasting dates. If the date provided does not exactly match the specified dateFormat, this will fail. For example, if dateFormat is 'MM.DD.YYYY' and the user inputs '1.1.2016', the date will be rejected as invalid.
As Moment.js already offers this functionality by simply providing an array for formats. This requires only minimal changes (I hope I didn't miss anything).
If an array of formats is provided, the first format will be used to format the output but all other formats would be used to parse the input.
Would you please consider merging this PR? Thank you very much!

Current coverage is 90.29% (diff: 100%)

Merging #534 into master will decrease coverage by 0.56%

@@             master       #534   diff @@
==========================================
  Files            10         10
  Lines           339        340     +1
  Methods          14         14
  Messages          0          0
  Branches         52         52
==========================================
- Hits            308        307     -1
  Misses           14         14
- Partials         17         19     +2

Powered by Codecov. Last update 691b047...0d65cb9

Thanks for submitting your PR! Seems like a nice addition to the dateFormat options. Would you mind adding some tests for the new functionality? This way we can make sure this will keep working in the future ;)

I've added a simple test. Somehow my first commit was missing some lines that my GitHub client appears to have swallowed...

Has this PR been published to npm?

Not yet, I'll get to it today.


chore(deps): update common-dev-assets digest to 36f1bcd

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
2aa7e3c -> 36f1bcd

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 5.1.0 :tada:
The release is available on:

GitHub release
v5.1.0

Your semantic-release bot :package::rocket:


Fix unknown $rc error

When trying to implement this package I ran into an situation where $rc isn't set and raises an error. This PR fixes that and includes a test case covering that bug.

Hi, I'm facing same error trying to minify an empty json string: {}.

@WyriHaximus thanks for this fix, and sorry for the delay I took to merge it... Best

@t1st3 Thanks 👍 ! Any change for a release, it's been almost four years?

Yep, a new release is definitely on my mind, but yet, the merged PR doesn't pass the Travis-Ci suite, for compatibility issues regarding recent PHP versions...
More here: https://travis-ci.org/t1st3/php-json-minify/builds/646553652?utm_source=github_status&utm_medium=notification
I hope this can be fixed quickly; then we'll be able to cut a new release safely.

Looking at that error it's not related but I'll have a look for you ;)

Looks like there is a conflict with PhpUnit version:

This version of PHPUnit is supported on PHP 7.1 and PHP 7.2.
You are using PHP 7.0.33 (/home/travis/.phpenv/versions/7.0.33/bin/php).

Looks like there is a conflict with PhpUnit version:

This version of PHPUnit is supported on PHP 7.1 and PHP 7.2.
You are using PHP 7.0.33 (/home/travis/.phpenv/versions/7.0.33/bin/php).

@t1st3 #25 is now full on green :tada:


[Tour of Beam] [Task] Learning content for "Cross-language Transforms" module

What needs to happen?
Create learning content and challenge for Tour of Beam::Cross-language Transforms module consisting of following unit:

SQL for Java
Kafka for Python
New motivating example/challenge

Issue Priority
Priority: 3

abc


Crash on Notification Service Extension (RESOURCE_TYPE_MEMORY)

How frequently does the bug occur?
Always
Description
My Test Information
iPhone 11, iOS 17.5.1
In our application, we save push information at notification service extension(NSE).
I made project using Tuist. After apply Tuist, RealmSwift occured error when I called tryRealm() from NSE.
the error is
Thread 2: EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=24 MB)

stacktrace

I don't understand what happened. please help me.
Stacktrace & log output
Thread 2 Queue : com.apple.NSXPCConnection.user.endpoint (serial)
#5	0x0000000107a8b07c in +[RLMSchema sharedSchema] at /Library/Developer/Xcode/DerivedData/efygztealpifkhargabzepbdapti/SourcePackages/checkouts/realm-cocoa/Realm/RLMSchema.mm:262
#6	0x0000000107a64b28 in +[RLMRealm realmWithConfiguration:queue:error:] at /Library/Developer/Xcode/DerivedData/efygztealpifkhargabzepbdapti/SourcePackages/checkouts/realm-cocoa/Realm/RLMRealm.mm:465
#8	0x0000000107b2a3c4 in Realm.init(configuration:queue:) at /Library/Developer/Xcode/DerivedData/efygztealpifkhargabzepbdapti/SourcePackages/checkouts/realm-cocoa/RealmSwift/Realm.swift:92
#9	0x0000000107b2a600 in Realm.init(fileURL:) at /Library/Developer/Xcode/DerivedData/efygztealpifkhargabzepbdapti/SourcePackages/checkouts/realm-cocoa/RealmSwift/Realm.swift:106

---
Thread 2: EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=24 MB)

Can you reproduce the bug?
Always
Reproduction Steps
No response
Version
10.7.4
What Atlas Services are you using?
Local Database only
Are you using encryption?
Yes
Platform OS and version(s)
iOS 17.5.1
Build environment
Xcode version: 15.2
Dependency manager and version: SPM

Can you try to explicitly specify the objectTypes in your realm config? That way you can avoid the costly reflection that's needed to build the default schema.

I already defined. This error does not occur in projects where Tuist is not applied. Could settings in the build settings possibly affect this?
public class History: Object {
    @objc public dynamic var _id = ObjectId.generate()
    @objc public dynamic var id: String?
    @objc public dynamic var date: Date = Date()
    @objc public dynamic var read: Bool = false
    @objc public dynamic var dataString: String?
}

oops I'm sorry. I fix this issue. thank you.


Add a set of standard clippy lints

What problem does this solve or what need does it fill?
There's currently no project-level clippy lints defined.
What solution would you like?
Once #10011 is merged, we could expand the Cargo.toml lint table with a set of clippy lints we want to uphold through the codebase. Something we could use as inspiration is the set of clippy used in Embark projects. While some lints in it are probably too restrictive/opinionated, we could filter it and possibly check for additional lints that might fit the codebase in the full lint list.
We could then remove the few clippy warnings currently checked in CI, since they would be picked up from the lint table. This could be done over the course of several PRs since the resulting diff might be large.
What alternative(s) have you considered?

Keep the current setup as-is.
Just move the lints checked in CI to Cargo.toml.

For an initial PR, I'd like to do only those CI warnings we currently use.
Then, add one lint at a time in their own PRs. That will ensure each can be evaluated on its own, and reduce time-to-merge.

It could maybe be worth it to also add a .git-blame-ignore-revs to ignore clippy-related changes in the git blame (Github picks it up), since those might generated large diffs over time? Thought that would require merging the relevant PRs without squashing (or additional PRs just for that).

I think that's probably more complexity in the workflow than it's worth. Because this is a FOSS project with a huge range of contributors, we try to keep our project config and workflows simple where we can :)

What are the remaining items that aren't addressed on this issue?

Going to close as completed: new lints should have their own issues and PRs :)


WSL rendered useless

Hi, I was having troubles with dpkg, anf following this link to try to fix them:
https://askubuntu.com/questions/1160366/apt-not-working-installed-libc-bin-package-post-installation-script-subprocess
After doing
sudo mv /var/lib/dpkg/info/libc-bin.* /tmp/
An error such as
*** stack smashing detected ***:  terminated
appeared in the prompt and the WSL has been rendered useless. It does not start any more. That is the same output typing wsl -e ls in a powershell. The \wsl$\ubuntu drive is not accessible either.
I have tried restarting both Windows and the WSL with the Restart-Service LxssManager command in a powershell. In addition, right click in App Settings brings up a menu that never stops trying to load something.
Windows version: 10.0.19042.0
WSL version 1
Ubuntu version in WSL 18.04.1
If I need to reinstall the WSL, will the files in \wsl$\ubuntu be deleted? I would rather avoid that.
Thanks in advance.

It appears that you have a WSL start up error.
What I would recommend is that you install a new WSL distribution (like Ubuntu or Debian) and then use the wsl --mount feature to mount the VHD from your past distro to access your files. Instructions are here.
However to do that you'll need to upgrade to the latest Insiders build.
If you can't upgrade, you could look at mounting the VHD manually into WSL using Linux commands.
I'll close this issue out as it isn't actionable for our team (and the template isn't filled out) but let me know if you have more questions.


feat: reduce compress time with smarter use and calculation of stats

In VarBinArray (the most expensive kind of array on which to compute states due to copies for min/max), implement a short-circuiting is_constant algorithm.

In DictCompressor, let the sampling compressor learn that an array is all unique values by observing poor compression ratios.

Perhaps best to look at the benchmarks before we merge to ensure there aren't unintended consequences.

At least against develop, this slows things down a bit, so let's not merge for now.


Fix fix partition_prune or expression evaluate wrongly

introduced by #38025
Or expression evaluate wrongly in #38025. For example, partition column is a, b, predicate is  a=a or b>1 , partition  column range is  min<a<5,  b is infinite. The evaluate result of or expression should be b is infinite(because when a is not null, a=a is true, there is no restrict for b, e.g. a=1, b=0 satisfy a=a or b>1).  #38025 pr has wrongly evaluate result b >1

run buildall

run cloud_p0

run buildall

run cloud_p1


Signed integer overflow when printing INT_MIN

On most machines, printf("%d", INT_MIN) will cause a signed integer overflow, resulting in undefined behavior.
At line 782 the absolute value is computed with (unsigned int)(value > 0 ? value : 0 - value).  However when VALUE == INT_MIN on a typical twos-complement machine, then 0 - value is -INT_MIN which cannot be represented as int and so overflow occurs.  -value would have the same issue.  (For instance, on a typical 32-bit machine int can represent -2147483648 as 0x80000000, but cannot represent<PHONE_NUMBER>.)
Compile printf.c with gcc -ftrapv or gcc -fsanitize=undefined and you'll get a runtime error for this example.
There is the same problem for printf("%ld", LONG_MIN) and printf("%lld", LLONG_MIN).
I think it should instead be value > 0 ? (unsigned int)value : -(unsigned int)value.  Converting a negative int to unsigned effectively adds UINT_MAX (typically 2**32) and negating subtracts from UINT_MAX, yielding the correct result.  Unsigned integer overflow in C is well defined.  There will still be a problem on a machine where -INT_MIN doesn't fit in unsigned int but they should be rare.  (You could cast up to unsigned long long which is a little better, but you will still have the same problem with -LLONG_MIN.)
By the way, these cases are not exercised in the test suite, which might be a good idea.  It's a little tricky to add because we don't know the value of INT_MIN ahead of time, so we don't know what string to expect, but we also can't safely do printf("%d", -2147483648) because we could be on a machine with 16-bit int.

I can confirm your suggestion fixes the problem, and builds without warning.

Hi @neldredge  :-)
So, for some reason, I missed the notification about your filing this bug. I've actually done what you suggest, but generalizing to accommodate for the case of either having or not having long long support; see commit dc6736983572ff94e20a46de59e6de84f966830a. That commit also adds testcases for printing the extremal high and low integer and unsigned integer values. It's less tricky when you can use C++ - at least for testing - and don't have to resort to a bunch of macro trickery. (Although catch2 has some macro trickery itself).


all: gradle 7.0

https://docs.gradle.org/7.0/release-notes.html

A couple of the plugins dont see to be working with this version

Obsolete.


Cover write model with unit tests

Epic: https://github.com/pheature-flags/pheature-flags/issues/1 Toggle Core
Package: https://github.com/pheature-flags/toggle-core
Description:
Since we added the write model inside the core package we need to cover it by tests.

I'm not sure if this issue was completed in this commit https://github.com/pheature-flags/pheature-flags/commit/bf066a0b2720c3aaf478ff438af7ad95094fc450. There're also other classes but are value objects indeed, so I'm not sure if it's something we should test or not.

There are already five mutants not detectected in our tests XD, we will check and correct it.


Unicorn is requiring an outdated version of cachetools

The latest version has renamed some of the imports.  The form that Unicorn is using is no longer supported:
 File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/urls.py", line 3, in <module>     from . import views   File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/views/__init__.py", line 17, in <module>     from django_unicorn.components import UnicornView   File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/components/__init__.py", line 1, in <module>     from .mixins import ModelValueMixin   File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/components/mixins.py", line 1, in <module>     from django_unicorn.serializer import model_value   File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/serializer.py", line 24, in <module>     from .utils import is_non_string_sequence   File "/home/gwhite/.virtualenvs/weco/lib/python3.10/site-packages/django_unicorn/utils.py", line 14, in <module>     from cachetools.lru import LRUCache ModuleNotFoundError: No module named 'cachetools.lru'

Thanks for letting me know. https://github.com/adamghill/django-unicorn/pull/406 should prepare unicorn for bumping the major version of cachetools. I'll do the actual bump to 5.0.0 in another PR.


[gui error report] SyntaxError: Unexpected end of JSON input: Error: open /path/to/ipfsrepo

Desktop: 0.37.0
OS: linux 6.1.0-22-amd64 x64
Electron: 31.0.1
Chrome: 126.0.6478.36

SyntaxError: Unexpected end of JSON input: Error: open /path/to/ipfsrepo/config: no such file or directory
    at JSON.parse (<anonymous>)
    at Daemon._getConfig (/opt/IPFS Desktop/resources/app.asar/node_modules/ipfsd-ctl/src/ipfsd-daemon.js:368:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Daemon.init (/opt/IPFS Desktop/resources/app.asar/node_modules/ipfsd-ctl/src/ipfsd-daemon.js:158:9)
    at async getIpfsd (/opt/IPFS Desktop/resources/app.asar/src/daemon/daemon.js:63:7)
    at async startDaemon (/opt/IPFS Desktop/resources/app.asar/src/daemon/daemon.js:210:17)
    at async startIpfs (/opt/IPFS Desktop/resources/app.asar/src/daemon/index.js:49:17)
    at async setupDaemon (/opt/IPFS Desktop/resources/app.asar/src/daemon/index.js:116:3)
    at async Promise.all (index 1)
    at async run (/opt/IPFS Desktop/resources/app.asar/src/index.js:68:5)

Closed my issue, as the only difference is the OS.  Following this one.

This error occurs in 0.36.0 as well.  See above issue (2839).

@rtxs34 did you install ipfs desktop via macports?  I ask because some of your files are in /opt which is where macports installs(and mine are not installed there).

@rtxs34  @jc-frosty any idea how reproduce this problem?

Not sure.  I have just opened IPFS on what computer I probably had the error on and there is no error.  I don't know if it took a specific action.  I am running macOS Sonoma 14.6.1, and I don't know what Darwin version that translates to(that is how I would identify which computer I filed the report from/for).


TEST: Add IE testing

Some of the tests pass before we get delays (just like last time). I think there must be something happening in some of our tests that just aren't working with IE10/11.
https://github.com/defunctzombie/zuul/issues/121#issuecomment-119670847
I don't think IE10/11 saucelabs is broken themselves, as others seem to have it work for them: https://travis-ci.org/visionmedia/superagent/jobs/75516113\
I think we need to start with whatever tests comes after:
<internet explorer 11 on Windows 10> console
# adds object to db

I'm going to open a new PR and add some other browsers to test in.

FYI, when I run the PouchDB test suite in Microsoft's VMs, IE10-IE11 all work swimmingly in all versions of Windows. However on Sauce it's another story; only Windows 8 and IE 10 actually work consistently. (Yes, even 8.1 has issues.)
If you want to be 100% certain, I recommend checking our Travis config which shows exactly which versions of Sauce's browsers we are using.
Another browser that mysteriously does not work at all in Sauce is Android <=4.4. Only 5.0 works. (When I test 4.0-4.4 locally in emulators/real phones, everything works fine.)

Thanks Nolan!


agdaPackages.standard-library: 1.7.3 -> 2.0

https://github.com/agda/agda-stdlib/blob/v2.0/CHANGELOG.md
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build agdaPackages.standard-library.passthru.tests

It seems that this would break agda-categories. Can we give them some time & warning to update their library before merging?

Upstream issue is https://github.com/agda/agda-categories/issues/405, if there is no progress in, say, a week or so, I'm happy to merge. But if there is some promising progress, I think we should bump both libraries jointly.

It's worth noting that this version is a large non backwards compatible change

Sure, I wasn't planning to merge this right away. agdarsec and functional-linear-algebra are also failing; opened https://github.com/gallais/agdarsec/issues/33 and https://github.com/ryanorendorff/functional-linear-algebra/issues/50.

Updated the functional-linear-algebra package to work with the 2.0 version of the library. Thanks for the heads up.

Can confirm HEAD builds. Are you planning to make a new release or should we bump to HEAD?

Just pushed tag v0.5.0 works (which is HEAD), so if that could be used that would be great. Thanks!

agda-categories has a new release, so we can probably go ahead with this update now

Bumped agda-categories. No response from agdarsec, so we might as well mark it broken.

I had to increase the maximum heap for building agda-categories after the update. Weirdly enough, this is the third Agda project that has recently started exceeding the maximum heap size, but this doesn't seem to be correlated to the Agda <IP_ADDRESS> bump... Does anyone have an explanation, or is this just a funny coincidence?

Does anyone have an explanation, or is this just a funny coincidence?

It might be worth checking whether this is due to the recent agda version bump, the agda-stdlib version bump, or the agda-categories version bump. I have no explanation, though.

Could it also be a ghc change? I always remember agda being happy to consume way more than 4gb ram


Allow 'upsert' in updateOne options

AFAIK, the mongodb client supports updateOne upsert.
However, at the moment upsert is explicitly excluded from updateOne options.  I am not sure why this is.
It would be useful if it were allowed, since it is the only upsert method returns whether or not the record was updated or inserted.

Papr has a separate upsert method.

Unfortunately the separate upsert method doesn't have the return type I am looking for (upserted / updated count).  It just returns a before or after doc


Packages version compatiability

Discussed in https://github.com/climateinteractive/SDEverywhere/discussions/323

Originally posted by ChettakattuA June  5, 2023
I tried installing SDEverywhere in windows and i wanna test it out but i keep running to this one error with pnpm test command and am unsure is it the packages with SDEverywhere or with pnpm... The error am getting is
ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL<EMAIL_ADDRESS>test: vitest run
Exit status 1
 ELIFECYCLE  Command failed with exit code 1.
ERROR: "test:pkgs" exited with 1.
 ELIFECYCLE  Test failed. See above for more details.
Can you help me out with this?
Thank you

I followed up in the linked thread (#323) on the Discussions board, which is where we normally handle support questions like this, so I'm closing this issue.  (We can open up an issue if there are specific issues on Windows that arise from that thread.)


Looking for new maintainers for quarkus-hibernate-types extension.

Hi,
currently, I do not have much time and I do have more open topics (also in quarkiverse) in open source communities. I do have a feeling I am not supporting the quarkus-hibernate-types extension how I should.
I'm looking for new maintainers to support this extension, implement new features and join the quarkiverse community.
BR
Andrej
PS: the implementation must go on

Hi Andrej,
if you want, I can take over this position very gladly.
My vision of this project was to include the original hybernate-types and make it available for the Quarkus universe, without any big custom implementations around it.
For this it will also be necessary to migrate to hybernate-types 6.0 in the future, when Quarkus uses Hibernate 6.
I still have to look at the support for "reactive" and what that would mean for the hibernate-types. So, I don't have any direct plans or ideas for this yet.

Hi @wglanzer, great.
@gastaldi @gsmet @maxandersen
Hello guys, how can we do this?


netcoreapp3.0 PublishSingleFile:true appsettings.json not found

netcoreapp 3.0
PublishSingleFile:true
2019-10-29 15:12:27.525 +08:00 [INF] Starting web host
2019-10-29 15:12:28.505 +08:00 [DBG] Hosting starting
2019-10-29 15:12:28.645 +08:00 [INF] User profile is available. Using 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
2019-10-29 15:12:28.861 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-2a7a2e5f-9708-4be1-84e4-330bbc7f272a.xml'.
2019-10-29 15:12:28.923 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-3ed9e868-0739-425e-ae5e-a85d606d3be6.xml'.
2019-10-29 15:12:28.924 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-7a388851-82e0-4edb-b9a9-34a17e1b3e33.xml'.
2019-10-29 15:12:28.926 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-7c095bd0-5f28-47be-ae20-9850e3c0c51a.xml'.
2019-10-29 15:12:28.926 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-d0c0dcd7-0410-4ebb-bad9-c3ca3a6ec00b.xml'.
2019-10-29 15:12:28.926 +08:00 [DBG] Reading data from file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-d4ce2f19-76d7-48e6-a767-5b5832edce47.xml'.
2019-10-29 15:12:28.989 +08:00 [DBG] Found key "2a7a2e5f-9708-4be1-84e4-330bbc7f272a".
2019-10-29 15:12:29.031 +08:00 [DBG] Found key "3ed9e868-0739-425e-ae5e-a85d606d3be6".
2019-10-29 15:12:29.032 +08:00 [DBG] Found key "7a388851-82e0-4edb-b9a9-34a17e1b3e33".
2019-10-29 15:12:29.033 +08:00 [DBG] Found key "7c095bd0-5f28-47be-ae20-9850e3c0c51a".
2019-10-29 15:12:29.033 +08:00 [DBG] Found key "d0c0dcd7-0410-4ebb-bad9-c3ca3a6ec00b".
2019-10-29 15:12:29.036 +08:00 [DBG] Found key "d4ce2f19-76d7-48e6-a767-5b5832edce47".
2019-10-29 15:12:29.058 +08:00 [DBG] Considering key "7a388851-82e0-4edb-b9a9-34a17e1b3e33" with expiration date "2019-12-05T01:23:10.1197730+00:00" as default key.
2019-10-29 15:12:29.095 +08:00 [DBG] Forwarded activator type request from Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor, Microsoft.AspNetCore.DataProtection, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60 to Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor, Microsoft.AspNetCore.DataProtection, Culture=neutral, PublicKeyToken=adb9793829ddae60
2019-10-29 15:12:29.102 +08:00 [DBG] Decrypting secret element using Windows DPAPI.
2019-10-29 15:12:29.107 +08:00 [DBG] Forwarded activator type request from Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60 to Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Culture=neutral, PublicKeyToken=adb9793829ddae60
2019-10-29 15:12:29.115 +08:00 [DBG] Opening CNG algorithm 'AES' from provider 'null' with chaining mode CBC.
2019-10-29 15:12:29.148 +08:00 [DBG] Opening CNG algorithm 'SHA256' from provider 'null' with HMAC.
2019-10-29 15:12:29.207 +08:00 [DBG] Using key "7a388851-82e0-4edb-b9a9-34a17e1b3e33" as the default key.
2019-10-29 15:12:29.208 +08:00 [DBG] Key ring with default key "7a388851-82e0-4edb-b9a9-34a17e1b3e33" was loaded during application startup.
2019-10-29 15:12:29.555 +08:00 [DBG] Failed to locate the development https certificate at 'null'.
2019-10-29 15:12:29.659 +08:00 [INF] Now listening on: http://[::]:5000
2019-10-29 15:12:29.664 +08:00 [DBG] Loaded hosting startup assembly Wtc.Web
2019-10-29 15:12:29.664 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2019-10-29 15:12:29.667 +08:00 [INF] Hosting environment: Development
2019-10-29 15:12:29.674 +08:00 [INF] Content root path: E:\1.WrokSpace\1.Works\33浙江\湖州市\安吉\安吉生态红线\AJ_APP_Server\后台视频事件对接\Wtc.Web\bin\Release\netcoreapp3.0\publish
2019-10-29 15:12:29.678 +08:00 [DBG] Hosting started
2019-10-29 15:12:30.984 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" received FIN.
2019-10-29 15:12:31.008 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" accepted.
2019-10-29 15:12:31.015 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" accepted.
2019-10-29 15:12:31.015 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" started.
2019-10-29 15:12:31.055 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" sending FIN because: "The client closed the connection."
2019-10-29 15:12:31.063 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" disconnecting.
2019-10-29 15:12:31.073 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" started.
2019-10-29 15:12:31.107 +08:00 [DBG] Connection id "0HLQS7TEGJNFO" stopped.
2019-10-29 15:12:31.380 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:5000/api/recvfrom application/json 1784
2019-10-29 15:12:31.458 +08:00 [DBG] Wildcard detected, all requests with hosts will be allowed.
2019-10-29 15:12:31.466 +08:00 [DBG] POST requests are not supported
2019-10-29 15:12:31.490 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/Error.cshtml'.
2019-10-29 15:12:31.491 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/Index.cshtml'.
2019-10-29 15:12:31.491 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/Shared/_Layout.cshtml'.
2019-10-29 15:12:31.492 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/Shared/_ValidationScriptsPartial.cshtml'.
2019-10-29 15:12:31.492 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/_ViewImports.cshtml'.
2019-10-29 15:12:31.492 +08:00 [DBG] Initializing Razor view compiler with compiled view: '/Pages/_ViewStart.cshtml'.
2019-10-29 15:12:31.624 +08:00 [DBG] 1 candidate(s) found for the request path '/api/recvfrom'
2019-10-29 15:12:31.636 +08:00 [DBG] Endpoint 'Wtc.Web.Controllers.RecvfromController.Post (Wtc.Web)' with route pattern 'api/Recvfrom' is valid for the request path '/api/recvfrom'
2019-10-29 15:12:31.637 +08:00 [DBG] Request matched endpoint 'Wtc.Web.Controllers.RecvfromController.Post (Wtc.Web)'
2019-10-29 15:12:31.642 +08:00 [INF] Executing endpoint 'Wtc.Web.Controllers.RecvfromController.Post (Wtc.Web)'
2019-10-29 15:12:31.695 +08:00 [DBG] Registered model binder providers, in the following order: ["Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BinderTypeModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ServicesModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BodyModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.HeaderModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FloatingPointTypeModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.EnumTypeModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CancellationTokenModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ByteArrayModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FormFileModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FormCollectionModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.KeyValuePairModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.DictionaryModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ArrayModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinderProvider","Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinderProvider"]
2019-10-29 15:12:31.832 +08:00 [INF] Route matched with {action = "Post", controller = "Recvfrom", page = ""}. Executing controller action with signature Void Post() on controller Wtc.Web.Controllers.RecvfromController (Wtc.Web).
2019-10-29 15:12:31.844 +08:00 [DBG] Execution plan of authorization filters (in the following order): ["None"]
2019-10-29 15:12:31.844 +08:00 [DBG] Execution plan of resource filters (in the following order): ["Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter"]
2019-10-29 15:12:31.845 +08:00 [DBG] Execution plan of action filters (in the following order): ["Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter (Order: -2147483648)","Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter (Order: -3000)"]
2019-10-29 15:12:31.845 +08:00 [DBG] Execution plan of exception filters (in the following order): ["None"]
2019-10-29 15:12:31.845 +08:00 [DBG] Execution plan of result filters (in the following order): ["Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter"]
2019-10-29 15:12:31.847 +08:00 [DBG] Executing controller factory for controller Wtc.Web.Controllers.RecvfromController (Wtc.Web)
2019-10-29 15:12:31.848 +08:00 [DBG] Executed controller factory for controller Wtc.Web.Controllers.RecvfromController (Wtc.Web)
2019-10-29 15:12:32.045 +08:00 [DBG] Connection id "0HLQS7TEGJNFP", Request id "0HLQS7TEGJNFP:00000001": started reading request body.
2019-10-29 15:12:32.046 +08:00 [DBG] Connection id "0HLQS7TEGJNFP", Request id "0HLQS7TEGJNFP:00000001": done reading request body.
`2019-10-29 15:12:32.049 +08:00 [ERR] AppContext.BaseDirectory=C:\Users\ADMINI~1\AppData\Local\Temp\.net\Wtc.Web\lmy2ywvm.jhm\`

System.IO.FileNotFoundException: The configuration file 'appsettings.json' was not found and is not optional. The physical path is 'C:\Users\Administrator\AppData\Local\Temp\.net\Wtc.Web\lmy2ywvm.jhm\appsettings.json'.
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.HandleException(ExceptionDispatchInfo info)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load()
   at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
   at Boanda.Core.ConfigManager..ctor(String jsonFile)
   at Boanda.Core.ConfigManager.get_Instance()
   at Boanda.Data.DbConnectionFactory..ctor(String connectionStringName)
   at Boanda.Data.DbContext..ctor(String connectionStringName, UnitOfWork uow)
   at Wtc.Web.Controllers.RecvfromController.get_DbContext()
   at Wtc.Web.Controllers.RecvfromController.Post()
2019-10-29 15:12:33.549 +08:00 [INF] Executed action Wtc.Web.Controllers.RecvfromController.Post (Wtc.Web) in 1684.0857ms
2019-10-29 15:12:33.577 +08:00 [INF] Executed endpoint 'Wtc.Web.Controllers.RecvfromController.Post (Wtc.Web)'
2019-10-29 15:12:33.586 +08:00 [ERR] An unhandled exception has occurred while executing the request.
System.IO.FileNotFoundException: The configuration file 'appsettings.json' was not found and is not optional. The physical path is 'C:\Users\Administrator\AppData\Local\Temp\.net\Wtc.Web\lmy2ywvm.jhm\appsettings.json'.
   at Wtc.Web.Controllers.RecvfromController.Post()
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.<>c__DisplayClass33_0.<WrapVoidMethod>b__0(Object target, Object[] parameters)
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.VoidResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
2019-10-29 15:12:33.739 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" completed keep alive response.
2019-10-29 15:12:33.741 +08:00 [INF] Request finished in 2455.3627ms 500 text/plain
2019-10-29 15:13:10.380 +08:00 [DBG] Hosting stopping
2019-10-29 15:13:10.379 +08:00 [INF] Application is shutting down...
2019-10-29 15:13:10.395 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" disconnecting.
2019-10-29 15:13:10.396 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" stopped.
2019-10-29 15:13:10.397 +08:00 [DBG] Connection id "0HLQS7TEGJNFP" sending FIN because: "The Socket transport's send loop completed gracefully."
2019-10-29 15:13:10.404 +08:00 [DBG] Hosting stopped

@livarcocc @Pilchie

@rynowak ?

Does the public output contain the .json files?
We had a bug for this during 3.0 and it was fixed here by special-casing these files for single-file publish so that they are still published. https://github.com/aspnet/AspNetCore-Tooling/pull/820/files

contain the .json files

contain the .json files

AppContext.BaseDirectory=C:\Users\ADMINI~1\AppData\Local\Temp.net\Wtc.Web\lmy2ywvm.jhm`

@MetSystem - that's the VS properties window - are the JSON files present next to the executable?

There is no json file.
System.IO.FileNotFoundException: The configuration file 'appsettings.json' was not found

The execution file exists josn, but does the resulting temporary directory not have a json file?

The behavior of the bundler is to pack all files in the publish directory -- except PDBs and files explicitly annotated to be left out -- into the bundle. Please see: https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md#build-system-interface
So, for appsettings.json to be left beside the published app, is should be marked as true in the ASP.net project file that copies the content to the publish directory.
This is a dup of https://github.com/dotnet/core-setup/issues/7738