Feature request: show RFC9234 "Only To Customer" (OTC) attribute

It'd be great if the LG could show the presence of the OTC attribute from https://datatracker.ietf.org/doc/rfc9234/
Some routes having that attribute have been documented in https://rfc.hashnode.dev/rfc9234-observed-in-the-wild recently.

Sounds like a nice idea, thanks for the suggestion. The LG backend has this information, I'll have to read a bit more on how this attributes are used but I think we can add them to our LG quite easily.

Fixed, OTC is now shown in the output, as can be seen for example here: https://lg.ring.nlnog.net/prefix?saved=StbTR1dOvA


Fix edge case when merging a missing structured config

As discussed in https://github.com/omry/omegaconf/pull/463#discussion_r545868699

And by the way, thanks for pitching in on this delicate change!

Taking another look at the code, I found a couple more edge cases that weren't properly handled (I think).
See the fix and associated tests in 708ff2b (those two new tests would have failed before this commit)

No, but I made it work with .structured() in e3c544e

So, actually, I could make it significantly simpler, re-using existing classes => I removed that commit and replaced it with 895f065 instead

overall looks good.
Anything else you want to do here or shall I merge?

I just pushed fb7fd30 which fixes a bug that existed before all the recent changes (do you prefer to have it in a different PR?)
There's other stuff I want to check but I can make another PR if needed, let's get this one merged at least.


InvalidState error

Getting WARNING from ARGUS saying that

20 client objects still exist during shutdown

Update status @yashrajsapra @varmakvl7

Fixed in #66[https://github.com/Apra-Labs/ApraPipes/pull/63]


How to deploy nextjs-with-flask-server to Vercel

I deployed locally. What changes do I need to make to successfully deploy on Vercel?
I tried simply running vercel in the root directory but the deployed URL shows a 404 error. I imagine there are a few config changes needed but I don't know which.

Alternatively, what's the best / simplest way to deploy nextjs-with-flask-server online?

Hey, I suggest getting in touch with the Vercel team to talk to them about this!


onset-date search for the condition is not working

The onset-date search said that there is no data to run the test, but this data definitely exists in the demo resources. The problem is related to the automatically generated search definition in the Condition's manifest.
It should be fixed.

Thanks @projkov .

[ ] For Condition test: 1.14.05 Optional (MAY) Server returns valid results for Condition search by onset-date, there seems to be a duplicate test for the gt date comparator as shown below.

Perhaps the first search is suppose to be a onset-date search precise to the second + time offset without a date comparator.

[ ] For Condition test: 1.14.10 Optional (SHOULD) Server returns valid results for Condition search by patient + onset-date,

first two tests seem to be duplicates as shown below.

Can we include a patient search [base]/Condition?patient=Patient/[id] when combined with with onset-date search parameter
Can we include patient.identifier search when combined with onset-date search parameter
Can we include the multipleAND search on onset-date when combined with patient search parameter, both without and with date comparators

[ ] I will follow up about test 14.11 Optional (SHOULD) Server returns valid results for Condition multipleAnd search by onset-date error: "HAPI-1922: Can not have multiple date range parameters for the same param without a qualifier".
It seems the Sparked FHIR server currently does not meet the search by patient+onset-date SHOULD conformance expectation defined in AU Core. If you have any insights, please let me know :)

thanks Pavel.

[ ] Search for Condition by onset-date test 1.14.05 - first two tests seem to be duplicates (same 'gt' date comparator)' please replace one with a test precise to the second + time offset without comparators.

[ ] Search for Condition by patient+onset-date test 1.14.10

[ ] first two tests are duplicates (same patient, date and 'gt' comparator)'
[ ] missing chained patient.identifier search test
[ ] missing multipleAnd search on onset-date both with and without date comparators for the combined search with the patient param

[ ] Search for Condition by multipleAND search on onset-date test 1.14.11 - consider adding a test using date comparators too.

[ ] I'll follow up re: HAPI error ""diagnostics": "HAPI-1922: Can not have multiple date range parameters for the same param without a qualifier"". If this can't be fixed, it seems like the server would not meet this SHOULD conformance expectation.

@StephThaoOng
I conducted research related to the problem of the double "gt" test. This functionality exists for some reason in the US Core Test Kit. To fix this problem, we need more time.
I suggest creating a separate task for it and making this enhancement after the 25th. I think it's not a "showstopper."

@StephThaoOng Hello Steph!
multipleOr and multipleAnd tests with date are fixed (comparators are added)


Enhanchement request : Support multiple outgoing urls

Hello,
It would be great if we could specify multiple urls in order to be able to deliver the published messages to multipe endpoints :)
Example :
mp.messaging.outgoing.<channelName>.url=<url1>,<url2>,<url3>

For this, I suggest using a Broker or a Camel Route that implements the publish subscriber pattern.


Allow std::string_view in decode and encode. Allow use of std::string for output as alternative to std::vector.

https://github.com/babenek/base91x/commit/3766a4fd388e257bbe50b8d5edf2ebada1011bd6 - please review
std::string  as decoded output might lead to unpleased cases when \0 is inserted in middle of output. Then e.g. std::cout will print only part of text.


Added DIVX contract ABI

www.diviproject.org

@daytonmills Please include a support email address

Sorry, just found it  🤦


docs(dsp): fixed readme links

Just fixes a couple incorrect links in the README.

Hi @Mike-Dax - thank you - alas any changes to readme's in this repo should be done to the tpl.readme.md files, since all the README.md docs are generated. See:
https://github.com/thi-ng/umbrella/blob/74518d1017852c1a4d2f0e749f8f0f2cb9123995/packages/dsp/README.md?plain=1#L1
..and here:
https://github.com/thi-ng/umbrella/blob/develop/CONTRIBUTING.md#changes-to-readme-files
Pls let me know if you're ok to change this, else can also do it myself... 🙏

Wow! That was quick! :) thanks again!

Ah sorry, I thought I did that correctly but it seems the build script didn't generate the actual README.md correctly, erroring with the below:
shasum: ../../assets/banners/thing-dsp.svg: No such file or directory
Command failed: shasum ../../assets/banners/thing-dsp.svg
shasum: ../../assets/banners/thing-dsp.svg: No such file or directory

Shows me for trying to make a quick change and not reading properly. I'm struggling to find documentation for generating those banner assets so the README build doesn't error?

It's ok, don't worry - I just realized that banner issue too - only works if you've got the thi.ng/fontgen built and generated the banners. Will do it myself, since also using this opportunity to do a few other edits in that DSP readme... thanks again!


Add MKVToolNix.app v9.9.0

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

How is this different from that found in Homebrew?

No deps, no build. Only binary app from authors web site.
It is easier and more convenient for the simple user.
Like me :)

@caskroom/maintainers:
audit for mkvtoolnix: warning
 - possible duplicate, cask token conflicts with Homebrew core formula: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mkvtoolnix.rb

I don’t have a strong opinion on this one, but perhaps we should refuse it.
We have to draw the line somewhere, and the deduplication effort happened for a reason. We were aware some apps might be a bit more of an inconvenience to use, but that deduplication was more important. I don’t see much request for this one (we used to have it). I’m betting it’ll become abandoned pretty quickly.

Accepting the cask would make brew search mkvtoolnix yield:
mkvtoolnix
Caskroom/cask/mkvtoolnix

At that point, the user will have to make a choice; however, either choice would lead to the same result.
In RPGs, this is considered an annoyance. In all other places, I consider it poor UX.

Good thing it’s already pretty late and I’m going to bed now. Otherwise I’d lose the rest of my day on tvtropes!
But I know I’ll check it tomorrow. I wonder if I’ll be able to restrain myself to just that page.

@ponyspy in the spirit of deduplication, we are rejecting this Cask.
Thank you for your contribution, though.

@miccal What about this cask or this? Remove too? I use this programs and i install it from cask, not brew.
I don't understand where you see a duplicate... I want to program without dependencies, and as fast as possible, I thought the philosophy of cask in it.
Very strange...

@ponyspy I see your point, and how decisions like the one at hand are prone to come across as irritating, or seemingly arbitrary. Please be aware that no matter what, contributions like yours are appreciated a lot. Even if a cask may ultimately end up being rejected, we are thankful for people like you who bring such edge cases to our attention.
Regarding mpv:
The duplication was already investigated several times ([1] [2]); it has been found that they are not the same thing so it’s completely justified to keep both around.
Regarding djview:
I’m with you here; the Homebrew formula is redundant and should be deleted (it is broken anyway, at least on my machine). @vitorgalvao has in fact brought this to Homebrew’s attention some time ago; the thing is that the housework that is necessary before we delete those duplicates is not trivial at all and is therefore still in progress.
I admit that in theory, we could make such decisions transparent to users at all times. In practice, however, I believe this is incredibly hard; the available resources and energy are certainly better spent on pushing the project forward.
No matter what, I’m looking forward to your future contributions. 👍


Align popover with the selected menu item

This is done by finding the preceding visible view and computing from it the bounds of the selected menu item in window coordinates.

This works nicely for small copies, but looks like the popup is misplaced when the preview is long, see this example:

It's actually not a problem with too large items, but with filtered items not being ignored properly. Should be fixed now.

With the latest commit I have also added a small gap between the menu and the preview popover. I think it looks a bit nicer this way. If you don't think this is appropriate as a default I think this could be an user controllable setting.

Yes that wasn't meant to be part of the PR :D I have some troubles with the settings icons not being properly sized on my external monitor and was testing some stuff to find out what is causing it (haven't found anything yet).

It looks really solid, there is just one small thing I am not sure about. If you disable the search field completely, and open Maccy via menu icon, the first preview points lower than it should. I suppose that's because the menu bar is above so it compensates for its offset, but I wonder if it can be fixed:

I noticed the same thing. However I wasn’t able to find a good solution for this. The bounds are computed correctly in this case but the as you mentioned the menubar pushes the popover down as the request for the correct position can’t be fulfilled. An option would be to hide the arrow in this case, as I am not sure how one would force it to be located higher up.

In any event, it works like that in master too, so this PR definitely makes things much better, if not perfect. Thank you for the contribution!


Candidates data integration

Integrate candidate data collected from #6.

the best way to map the scrapped data to the data in db seems to be using first and last name. The latest db has that info and has proper upper, lower cases. There are some names that might not work well (for candidates that fill their name with prefix or suffix, ex: Dr., Jr.), but I think we should be able to map the majority of data together.

hey HW, I wrote a script to dump the json data into sqlite3. I will send a pull request now. We still need to add the new column 'img_src' in the current 'candidates' table schema for the script to work.

Once database have all candidates data, some files utilized db probably needs to update, too. for example: app/routes/candidates.js.

Match between Sunlight & web-scrape of Ballotpedia: Last name, first letter of given name, state, office_district.
Note that for office_district, "00" means Senate. So for Ballotpedia data, simply mark candidates for Senate as "00" for office_district when storing to the db.

@balamark this one is not quite done yet, right?

there is two issue left here:

after we looked at the page on Sunday, these 5 states' primary election is not occur yet. Hence, their page layout is different. We can either manually lookup xpath for all candidates for these states (which is not so hard, probably take an man-hour) or we wait after primary election happen for those states and use spider2.
just found that there are only 33 states data for senate on ballotpedia (https://ballotpedia.org/United_States_Senate_election_in_Alabama,_2016).

On the states left for the primary, let's just leave it, and it will start working correctly after Aug 30 right? I'll look up those states and put a note about it on the page.
For the senate missing some states, those states may not have any open races for senate seats. Remember it's staggered and 6 year office, so this means 1 out of every 3 elections that are every two years for each state will not have an open senate race.


Publishing of wrong PDF file

In my project PyDSE I am using the .. plot:: environment which itself creates PDF files of each plot. When RTD builds the PDF of PyDSE everything seems fine as can be seen in the build log https://readthedocs.org/builds/pydse/1416946/. But the RTD site of PyDSE publishes just a single plot as PDF, not the generated documentation, check out http://pydse.readthedocs.org/. For me it seems as if the code who is responsible for publishing the generated documentation gets confused and takes one of the earlier generated PDFs of one of the plots instead of the PDF of the documentation.

Believe this got fixed with a recent commit.


Spike: Run split test suite in parallel on multiple workers

(Converted from icebox entry)
Can the testsuite runtime be improved by running tests in parallel on multiple workers ?

Relevant flows:

main.yml
outside-pr.yml

These two are mostly the same. Differences are trigger conditions, ginkgo setup, and docker hub access
Provided by @manno : https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobs

Basic plan:

[ ] Extended Makefile with separate targets for the individual big test suites. Keep the target for the combined run, for local dev.
[ ] New job doing only linting. Reduced setup. Dependency of the jobs running the testsuites.
[ ] Modified old job running only unit tests and one of the testsuites. Depend on the new linting job.
[ ] New job running the other testsuite. Depend on the new linting job


Go Test WAF bypasses

Description
https://github.com/wallarm/gotestwaf#testing-on-owasp-modsecurity-core-rule-set
Confirmation
[X] I have removed any personal data (email addresses, IP addresses,
passwords, domain names) from any logs posted.

I will take care of this one.

Thank you

Ok, so I found some time to run some tests with gotestwaf.
Tests were made using the same docker-compose we use for testing using ftw/go-ftw, with just one modification:
❯ diff tests/gotestwaf.yml tests/docker-compose.yml
14c14
<       MODSEC_RULE_ENGINE: "On"
---
>       MODSEC_RULE_ENGINE: DetectionOnly

Here are the results (they differ depending on the url used):

Test with CRS in paranoia level 4:

❯ docker run -v ${PWD}/reports:/go/src/gotestwaf/reports --network="host" gotestwaf --url=http://<IP_ADDRESS>:80 --verbose
GOTESTWAF : 2021/07/13 19:46:21.360383 main.go:62: Test cases loading started
GOTESTWAF : 2021/07/13 19:46:21.365254 main.go:69: Test cases loading finished
GOTESTWAF : 2021/07/13 19:46:21.365312 main.go:79: Scanned URL: http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 19:46:21.389021 main.go:102: WAF pre-check: OK. Blocking status code: 403
GOTESTWAF : 2021/07/13 19:46:21.389219 main.go:114: WebSocket pre-check. URL to check: ws://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 19:46:21.400405 main.go:118: WebSocket pre-check: connection is not available, reason: websocket: bad handshake
GOTESTWAF : 2021/07/13 19:46:21.400871 main.go:146: Scanning http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 19:46:21.401003 scanner.go:138: Scanning started
GOTESTWAF : 2021/07/13 19:46:32.876719 scanner.go:143: Scanning Time:  11.4756551s
GOTESTWAF : 2021/07/13 19:46:32.876838 scanner.go:174: Scanning finished

Negative Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| community             | community-lfi         |                100.00 |                     6 |                     0 |                     0 |
| community             | community-rce         |                100.00 |                    42 |                     0 |                     0 |
| community             | community-sqli        |                100.00 |                    48 |                     0 |                     0 |
| community             | community-xss         |                100.00 |                   304 |                     0 |                     0 |
| community             | community-xxe         |                100.00 |                     4 |                     0 |                     0 |
| owasp                 | ldap-injection        |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | mail-injection        |                 66.67 |                     6 |                     3 |                     3 |
| owasp                 | nosql-injection       |                 66.67 |                     6 |                     3 |                     9 |
| owasp                 | path-traversal        |                 71.43 |                    10 |                     4 |                    10 |
| owasp                 | shell-injection       |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | sql-injection         |                 60.00 |                    12 |                     8 |                    12 |
| owasp                 | ss-include            |                 54.55 |                     6 |                     5 |                     9 |
| owasp                 | sst-injection         |                 54.55 |                     6 |                     5 |                     9 |
| owasp                 | xml-injection         |                100.00 |                    12 |                     0 |                     0 |
| owasp                 | xss-scripting         |                 62.50 |                    10 |                     6 |                    12 |
| owasp-api             | graphql               |                100.00 |                     1 |                     0 |                     0 |
| owasp-api             | rest                  |                100.00 |                     2 |                     0 |                     0 |
| owasp-api             | soap                  |                100.00 |                     2 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF AVERAGE SCORE:   |  BLOCKED (RESOLVED):  | BYPASSED (RESOLVED):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |        81.65%         |   485/523 (92.73%)    |    38/523 (7.27%)     |    68/591 (11.51%)    |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

Positive Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| false-pos             | texts                 |                  0.00 |                     8 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF POSITIVE SCORE:  | FALSE POSITIVE (RES): | TRUE POSITIVE (RES):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |         0.00%         |     8/8 (100.00%)     |      0/8 (0.00%)      |      0/8 (0.00%)      |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

PDF report is ready: reports/waf-evaluation-report-generic-2021-July-13-19-46-32.pdf

Test using /get (we are using httpbin, so "GET" methods would return 200)

❯ docker run -v ${PWD}/reports:/go/src/gotestwaf/reports --network="host" gotestwaf --url=http://<IP_ADDRESS>:80/get --verbose
GOTESTWAF : 2021/07/13 19:45:54.855380 main.go:62: Test cases loading started
GOTESTWAF : 2021/07/13 19:45:54.857172 main.go:69: Test cases loading finished
GOTESTWAF : 2021/07/13 19:45:54.857237 main.go:79: Scanned URL: http://<IP_ADDRESS>:80/get
GOTESTWAF : 2021/07/13 19:45:54.881865 main.go:102: WAF pre-check: OK. Blocking status code: 403
GOTESTWAF : 2021/07/13 19:45:54.881901 main.go:114: WebSocket pre-check. URL to check: ws://<IP_ADDRESS>:80/get
GOTESTWAF : 2021/07/13 19:45:54.888902 main.go:118: WebSocket pre-check: connection is not available, reason: websocket: bad handshake
GOTESTWAF : 2021/07/13 19:45:54.889415 main.go:146: Scanning http://<IP_ADDRESS>:80/get
GOTESTWAF : 2021/07/13 19:45:54.889526 scanner.go:138: Scanning started
GOTESTWAF : 2021/07/13 19:46:05.828922 scanner.go:143: Scanning Time:  10.9393588s
GOTESTWAF : 2021/07/13 19:46:05.829073 scanner.go:174: Scanning finished

Negative Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| community             | community-lfi         |                100.00 |                     6 |                     0 |                     0 |
| community             | community-rce         |                100.00 |                    42 |                     0 |                     0 |
| community             | community-sqli        |                100.00 |                    48 |                     0 |                     0 |
| community             | community-xss         |                100.00 |                   304 |                     0 |                     0 |
| community             | community-xxe         |                100.00 |                     4 |                     0 |                     0 |
| owasp                 | ldap-injection        |                100.00 |                     4 |                     0 |                     4 |
| owasp                 | mail-injection        |                100.00 |                     6 |                     0 |                     6 |
| owasp                 | nosql-injection       |                100.00 |                     6 |                     0 |                    12 |
| owasp                 | path-traversal        |                100.00 |                    10 |                     0 |                    14 |
| owasp                 | shell-injection       |                100.00 |                     4 |                     0 |                     4 |
| owasp                 | sql-injection         |                 75.00 |                    12 |                     4 |                    16 |
| owasp                 | ss-include            |                100.00 |                     6 |                     0 |                    14 |
| owasp                 | sst-injection         |                100.00 |                     6 |                     0 |                    14 |
| owasp                 | xml-injection         |                100.00 |                    12 |                     0 |                     0 |
| owasp                 | xss-scripting         |                100.00 |                    10 |                     0 |                    18 |
| owasp-api             | graphql               |                100.00 |                     1 |                     0 |                     0 |
| owasp-api             | rest                  |                100.00 |                     2 |                     0 |                     0 |
| owasp-api             | soap                  |                100.00 |                     2 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF AVERAGE SCORE:   |  BLOCKED (RESOLVED):  | BYPASSED (RESOLVED):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |        98.61%         |   485/489 (99.18%)    |     4/489 (0.82%)     |   102/591 (17.26%)    |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

Positive Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| false-pos             | texts                 |                  0.00 |                     8 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF POSITIVE SCORE:  | FALSE POSITIVE (RES): | TRUE POSITIVE (RES):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |         0.00%         |     8/8 (100.00%)     |      0/8 (0.00%)      |      0/8 (0.00%)      |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

PDF report is ready: reports/waf-evaluation-report-generic-2021-July-13-19-46-05.pdf

Test using /post (we are using httpbin, so "POST" methods would return 200)

❯ docker run -v ${PWD}/reports:/go/src/gotestwaf/reports --network="host" gotestwaf --url=http://<IP_ADDRESS>:80/post --verbose
GOTESTWAF : 2021/07/13 19:46:46.834235 main.go:62: Test cases loading started
GOTESTWAF : 2021/07/13 19:46:46.837989 main.go:69: Test cases loading finished
GOTESTWAF : 2021/07/13 19:46:46.838045 main.go:79: Scanned URL: http://<IP_ADDRESS>:80/post
GOTESTWAF : 2021/07/13 19:46:46.890657 main.go:102: WAF pre-check: OK. Blocking status code: 403
GOTESTWAF : 2021/07/13 19:46:46.890697 main.go:114: WebSocket pre-check. URL to check: ws://<IP_ADDRESS>:80/post
GOTESTWAF : 2021/07/13 19:46:46.900418 main.go:118: WebSocket pre-check: connection is not available, reason: websocket: bad handshake
GOTESTWAF : 2021/07/13 19:46:46.901251 main.go:146: Scanning http://<IP_ADDRESS>:80/post
GOTESTWAF : 2021/07/13 19:46:46.901354 scanner.go:138: Scanning started
GOTESTWAF : 2021/07/13 19:46:58.460956 scanner.go:143: Scanning Time:  11.559542s
GOTESTWAF : 2021/07/13 19:46:58.461000 scanner.go:174: Scanning finished

Negative Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| community             | community-lfi         |                100.00 |                     6 |                     0 |                     0 |
| community             | community-rce         |                100.00 |                    42 |                     0 |                     0 |
| community             | community-sqli        |                100.00 |                    48 |                     0 |                     0 |
| community             | community-xss         |                100.00 |                   304 |                     0 |                     0 |
| community             | community-xxe         |                100.00 |                     4 |                     0 |                     0 |
| owasp                 | ldap-injection        |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | mail-injection        |                100.00 |                     6 |                     0 |                     6 |
| owasp                 | nosql-injection       |                 66.67 |                     6 |                     3 |                     9 |
| owasp                 | path-traversal        |                 71.43 |                    10 |                     4 |                    10 |
| owasp                 | shell-injection       |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | sql-injection         |                 75.00 |                    12 |                     4 |                    16 |
| owasp                 | ss-include            |                100.00 |                     6 |                     0 |                    14 |
| owasp                 | sst-injection         |                100.00 |                     6 |                     0 |                    14 |
| owasp                 | xml-injection         |                100.00 |                    12 |                     0 |                     0 |
| owasp                 | xss-scripting         |                100.00 |                    10 |                     0 |                    18 |
| owasp-api             | graphql               |                100.00 |                     1 |                     0 |                     0 |
| owasp-api             | rest                  |                100.00 |                     2 |                     0 |                     0 |
| owasp-api             | soap                  |                100.00 |                     2 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF AVERAGE SCORE:   |  BLOCKED (RESOLVED):  | BYPASSED (RESOLVED):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |        91.47%         |   485/500 (97.00%)    |    15/500 (3.00%)     |    91/591 (15.40%)    |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

Positive Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| false-pos             | texts                 |                  0.00 |                     8 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF POSITIVE SCORE:  | FALSE POSITIVE (RES): | TRUE POSITIVE (RES):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |         0.00%         |     8/8 (100.00%)     |      0/8 (0.00%)      |      0/8 (0.00%)      |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

PDF report is ready: reports/waf-evaluation-report-generic-2021-July-13-19-46-58.pdf

I'm attaching all PDFs is someone wants to review.

waf-evaluation-report-generic-2021-July-13-19-46-05.pdf
waf-evaluation-report-generic-2021-July-13-19-46-32.pdf
waf-evaluation-report-generic-2021-July-13-19-46-58.pdf

This is with PARANOIA_LEVEL=2:
❯ docker run -v ${PWD}/reports:/go/src/gotestwaf/reports --network="host" gotestwaf --url=http://<IP_ADDRESS>:80 --verbose
GOTESTWAF : 2021/07/13 20:01:44.828664 main.go:62: Test cases loading started
GOTESTWAF : 2021/07/13 20:01:44.830095 main.go:69: Test cases loading finished
GOTESTWAF : 2021/07/13 20:01:44.830160 main.go:79: Scanned URL: http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:01:44.864749 main.go:102: WAF pre-check: OK. Blocking status code: 403
GOTESTWAF : 2021/07/13 20:01:44.864854 main.go:114: WebSocket pre-check. URL to check: ws://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:01:44.873899 main.go:118: WebSocket pre-check: connection is not available, reason: websocket: bad handshake
GOTESTWAF : 2021/07/13 20:01:44.874756 main.go:146: Scanning http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:01:44.874823 scanner.go:138: Scanning started
GOTESTWAF : 2021/07/13 20:01:55.336768 scanner.go:143: Scanning Time:  10.4618945s
GOTESTWAF : 2021/07/13 20:01:55.336795 scanner.go:174: Scanning finished

Negative Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| community             | community-lfi         |                100.00 |                     6 |                     0 |                     0 |
| community             | community-rce         |                100.00 |                    42 |                     0 |                     0 |
| community             | community-sqli        |                100.00 |                    48 |                     0 |                     0 |
| community             | community-xss         |                100.00 |                   304 |                     0 |                     0 |
| community             | community-xxe         |                100.00 |                     4 |                     0 |                     0 |
| owasp                 | ldap-injection        |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | mail-injection        |                 66.67 |                     6 |                     3 |                     3 |
| owasp                 | nosql-injection       |                 66.67 |                     6 |                     3 |                     9 |
| owasp                 | path-traversal        |                 71.43 |                    10 |                     4 |                    10 |
| owasp                 | shell-injection       |                 66.67 |                     4 |                     2 |                     2 |
| owasp                 | sql-injection         |                 60.00 |                    12 |                     8 |                    12 |
| owasp                 | ss-include            |                 54.55 |                     6 |                     5 |                     9 |
| owasp                 | sst-injection         |                 54.55 |                     6 |                     5 |                     9 |
| owasp                 | xml-injection         |                100.00 |                    12 |                     0 |                     0 |
| owasp                 | xss-scripting         |                 62.50 |                    10 |                     6 |                    12 |
| owasp-api             | graphql               |                100.00 |                     1 |                     0 |                     0 |
| owasp-api             | rest                  |                100.00 |                     2 |                     0 |                     0 |
| owasp-api             | soap                  |                100.00 |                     2 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF AVERAGE SCORE:   |  BLOCKED (RESOLVED):  | BYPASSED (RESOLVED):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |        81.65%         |   485/523 (92.73%)    |    38/523 (7.27%)     |    68/591 (11.51%)    |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

Positive Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| false-pos             | texts                 |                  0.00 |                     8 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF POSITIVE SCORE:  | FALSE POSITIVE (RES): | TRUE POSITIVE (RES):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |         0.00%         |     8/8 (100.00%)     |      0/8 (0.00%)      |      0/8 (0.00%)      |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

PDF report is ready: reports/waf-evaluation-report-generic-2021-July-13-20-01-55.pdf

And the one that I really like, is the one that comes from adding --nonBlockedAsPassed:
❯ docker run -v ${PWD}/reports:/go/src/gotestwaf/reports --network="host" gotestwaf --url=http://<IP_ADDRESS>:80 --verbose --nonBlockedAsPassed
GOTESTWAF : 2021/07/13 20:09:04.688795 main.go:62: Test cases loading started
GOTESTWAF : 2021/07/13 20:09:04.690489 main.go:69: Test cases loading finished
GOTESTWAF : 2021/07/13 20:09:04.690541 main.go:79: Scanned URL: http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:09:04.712868 main.go:102: WAF pre-check: OK. Blocking status code: 403
GOTESTWAF : 2021/07/13 20:09:04.712913 main.go:114: WebSocket pre-check. URL to check: ws://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:09:04.720378 main.go:118: WebSocket pre-check: connection is not available, reason: websocket: bad handshake
GOTESTWAF : 2021/07/13 20:09:04.720943 main.go:146: Scanning http://<IP_ADDRESS>:80
GOTESTWAF : 2021/07/13 20:09:04.720990 scanner.go:138: Scanning started
GOTESTWAF : 2021/07/13 20:09:15.790390 scanner.go:143: Scanning Time:  11.1036227s
GOTESTWAF : 2021/07/13 20:09:15.790484 scanner.go:174: Scanning finished

Negative Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| community             | community-lfi         |                100.00 |                     6 |                     0 |                     0 |
| community             | community-rce         |                100.00 |                    42 |                     0 |                     0 |
| community             | community-sqli        |                100.00 |                    48 |                     0 |                     0 |
| community             | community-xss         |                100.00 |                   304 |                     0 |                     0 |
| community             | community-xxe         |                100.00 |                     4 |                     0 |                     0 |
| owasp                 | ldap-injection        |                100.00 |                     6 |                     0 |                     2 |
| owasp                 | mail-injection        |                100.00 |                     9 |                     0 |                     3 |
| owasp                 | nosql-injection       |                166.67 |                    15 |                    -6 |                     9 |
| owasp                 | path-traversal        |                142.86 |                    20 |                    -6 |                    10 |
| owasp                 | shell-injection       |                100.00 |                     6 |                     0 |                     2 |
| owasp                 | sql-injection         |                120.00 |                    24 |                    -4 |                    12 |
| owasp                 | ss-include            |                136.36 |                    15 |                    -4 |                     9 |
| owasp                 | sst-injection         |                136.36 |                    15 |                    -4 |                     9 |
| owasp                 | xml-injection         |                100.00 |                    12 |                     0 |                     0 |
| owasp                 | xss-scripting         |                137.50 |                    22 |                    -6 |                    12 |
| owasp-api             | graphql               |                100.00 |                     1 |                     0 |                     0 |
| owasp-api             | rest                  |                100.00 |                     2 |                     0 |                     0 |
| owasp-api             | soap                  |                100.00 |                     2 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF AVERAGE SCORE:   |  BLOCKED (RESOLVED):  | BYPASSED (RESOLVED):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |        113.32%        |   553/523 (105.74%)   |   -30/523 (-5.74%)    |    68/591 (11.51%)    |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

Positive Tests:
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|       TEST SET        |       TEST CASE       |     PERCENTAGE, %     |        BLOCKED        |       BYPASSED        |      UNRESOLVED       |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
| false-pos             | texts                 |                  0.00 |                     8 |                     0 |                     0 |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
|         DATE:         |       WAF NAME:       |  WAF POSITIVE SCORE:  | FALSE POSITIVE (RES): | TRUE POSITIVE (RES):  |      UNRESOLVED:      |
|      2021-07-13       |        GENERIC        |         0.00%         |     8/8 (100.00%)     |      0/8 (0.00%)      |      0/8 (0.00%)      |
+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+

In summary: there might be some bypasses in PL4 that we might want to look, but probably I would say the bypass is wrong.

Thank you very much @fzipi. I do not really get all of your statistical tables above, but I was able to extract useful information from the PDF reports and validated by hand. I looked at the false positives and the bypasses (but not the unresolved cases).
False Positives at PL1
932150
	curl localhost -d 'foo=time he came'

	[2021-07-16 08:18:09.376018] [-:error] <IP_ADDRESS>:55142 YPEkoRy0s3c8Xzd5uRp5MQAAABU [client <IP_ADDRESS>] ModSecurity: Warning. Pattern match "(?:^|=)\\\\s*(?:{|\\\\s*\\\\(\\\\s*|\\\\w+=(?:[^\\\\s]*|\\\\$.*|\\\\$.*|<.*|>.*|\\\\'.*\\\\'|\\".*\\")\\\\s+|!\\\\s*|\\\\$)*\\\\s*(?:'|\\")*(?:[\\\\?\\\\*\\\\[\\\\]\\\\(\\\\)\\\\-\\\\|+\\\\w'\\"\\\\./\\\\\\\\]+/)?[\\\\\\\\'\\"]*(?:l[\\\\\\\\'\\"]*(?:s(?:[\\\\\\\\'\\"]*(?:b[\\\\\\\\'\\"]*_[\\\\\\\\'\\"]*r[\\\\\\\\'\\"]*e[\\\\\\\\'\\"]*l[\\\\\\\\' ..." at ARGS:foo. [file "/home/dune73/data/git/crs-official/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "467"] [id "932150"] [msg "Remote Command Execution: Direct Unix Command Execution"] [data "Matched Data: time  found within ARGS:foo: time he came"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [tag "application-multi"] [tag "language-shell"] [tag "platform-unix"] [tag "attack-rce"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/248/88"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "YPEkoRy0s3c8Xzd5uRp5MQAAABU"]

942190
	curl localhost -d 'foo=union was a great select'

	[2021-07-16 08:19:27.279243] [-:error] <IP_ADDRESS>:55158 YPEk7xy0s3c8Xzd5uRp5MQAAABc [client <IP_ADDRESS>] ModSecurity: Warning. Pattern match "(?i:(?:[\\"'`](?:;?\\\\s*?(?:union\\\\b\\\\s*?(?:(?:distin|sele)ct|all)|having|select)\\\\b\\\\s*?[^\\\\s]|\\\\s*?!\\\\s*?[\\"'`\\\\w])|(?:c(?:onnection_id|urrent_user)|database)\\\\s*?\\\\([^\\\\)]*?|u(?:nion(?:[\\\\w(\\\\s]*?select| select @)|ser\\\\s*?\\\\([^\\\\)]*?)|s(?:chema\\\\s*?\\\\ ..." at ARGS:foo. [file "/home/dune73/data/git/crs-official/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [line "201"] [id "942190"] [msg "Detects MSSQL code execution and information gathering attempts"] [data "Matched Data: union was a great select found within ARGS:foo: union was a great select"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-sqli"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/248/66"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "YPEk7xy0s3c8Xzd5uRp5MQAAABc"]

932110
	curl localhost -d "foo=--I think it would; copy should"

	[2021-07-16 08:27:28.301498] [-:error] <IP_ADDRESS>:55372 YPEm0By0s3c8Xzd5uRp5MQAAABY [client <IP_ADDRESS>] ModSecurity: Warning. Pattern match "(?i)(?:;|\\\\{|\\\\||\\\\|\\\\||&|&&|\\\\n|\\\\r|`)\\\\s*[\\\\(,@\\\\'\\"\\\\s]*(?:[\\\\w'\\"\\\\./]+/|[\\\\\\\\'\\"\\\\^]*\\\\w[\\\\\\\\'\\"\\\\^]*:.*\\\\\\\\|[\\\\^\\\\.\\\\w '\\"/\\\\\\\\]*\\\\\\\\)?[\\"\\\\^]*(?:m[\\"\\\\^]*(?:y[\\"\\\\^]*s[\\"\\\\^]*q[\\"\\\\^]*l(?:[\\"\\\\^]*(?:d[\\"\\\\^]*u[\\"\\\\^]*m[\\"\\\\^]*p(?:[\\"\\\\^]*s[\\"\\\\^ ..." at ARGS:foo. [file "/home/dune73/data/git/crs-official/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "259"] [id "932110"] [msg "Remote Command Execution: Windows Command Injection"] [data "Matched Data: ; copy found within ARGS:foo: --I think it would; copy should"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [tag "application-multi"] [tag "language-shell"] [tag "platform-windows"] [tag "attack-rce"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/248/88"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "YPEm0By0s3c8Xzd5uRp5MQAAABY"]

	curl localhost -d "foo=a hero; more than"

	[2021-07-16 08:29:29.784646] [-:error] <IP_ADDRESS>:55400 YPEnSRy0s3c8Xzd5uRp5MgAAABc [client <IP_ADDRESS>] ModSecurity: Warning. Pattern match "(?i)(?:;|\\\\{|\\\\||\\\\|\\\\||&|&&|\\\\n|\\\\r|`)\\\\s*[\\\\(,@\\\\'\\"\\\\s]*(?:[\\\\w'\\"\\\\./]+/|[\\\\\\\\'\\"\\\\^]*\\\\w[\\\\\\\\'\\"\\\\^]*:.*\\\\\\\\|[\\\\^\\\\.\\\\w '\\"/\\\\\\\\]*\\\\\\\\)?[\\"\\\\^]*(?:m[\\"\\\\^]*(?:y[\\"\\\\^]*s[\\"\\\\^]*q[\\"\\\\^]*l(?:[\\"\\\\^]*(?:d[\\"\\\\^]*u[\\"\\\\^]*m[\\"\\\\^]*p(?:[\\"\\\\^]*s[\\"\\\\^ ..." at ARGS:foo. [file "/home/dune73/data/git/crs-official/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "259"] [id "932110"] [msg "Remote Command Execution: Windows Command Injection"] [data "Matched Data: ; more than found within ARGS:foo: a hero; more than"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [tag "application-multi"] [tag "language-shell"] [tag "platform-windows"] [tag "attack-rce"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/248/88"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "YPEnSRy0s3c8Xzd5uRp5MgAAABc"]

932100
	curl localhost -d "foo=a hero; more than"

	[2021-07-16 08:29:29.784520] [-:error] <IP_ADDRESS>:55400 YPEnSRy0s3c8Xzd5uRp5MgAAABc [client <IP_ADDRESS>] ModSecurity: Warning. Pattern match "(?:;|\\\\{|\\\\||\\\\|\\\\||&|&&|\\\\n|\\\\r|\\\\$\\\\(|\\\\$\\\\(\\\\(|`|\\\\${|<\\\\(|>\\\\(|\\\\(\\\\s*\\\\))\\\\s*(?:{|\\\\s*\\\\(\\\\s*|\\\\w+=(?:[^\\\\s]*|\\\\$.*|\\\\$.*|<.*|>.*|\\\\'.*\\\\'|\\".*\\")\\\\s+|!\\\\s*|\\\\$)*\\\\s*(?:'|\\")*(?:[\\\\?\\\\*\\\\[\\\\]\\\\(\\\\)\\\\-\\\\|+\\\\w'\\"\\\\./\\\\\\\\]+/)?[\\\\\\\\'\\"]*(?:l[\\\\\\\\'\\"]* ..." at ARGS:foo. [file "/home/dune73/data/git/crs-official/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "124"] [id "932100"] [msg "Remote Command Execution: Unix Command Injection"] [data "Matched Data: ; more than found within ARGS:foo: a hero; more than"] [severity "CRITICAL"] [ver "OWASP_CRS/3.4.0-dev"] [tag "application-multi"] [tag "language-shell"] [tag "platform-unix"] [tag "attack-rce"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/248/88"] [tag "PCI/6.5.2"] [hostname "localhost"] [uri "/"] [unique_id "YPEnSRy0s3c8Xzd5uRp5MgAAABc"]

False Negatives at PL1
Caught at PL4

        curl localhost -d 'foo=\r\nV100 CAPABILITY\r\nV101 FETCH 4791'

        curl localhost -d 'foo=\r\nQUIT\r\n'

        curl localhost -d 'foo=\nRCPT TO<EMAIL_ADDRESS>
Caught at PL3

        curl localhost -d "foo=.../.../WINDOWS/win.ini"

Caught at PL2

        curl localhost -d "foo=true, $where: '99 == 88'"

        curl localhost -d "foo=db.injection.insert({success:1});"

        curl localhost -d "foo=', $or: [ {}, { 'order':'order"

        curl localhost -d "foo=', $or: [ {}, { 'order':'order"

        curl localhost -d 'foo={{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}'

        curl localhost -d 'foo={{+''.__class__.__mro__[2].__subclasses__()[40]('/test/aaaa').read()+}}'

For the false negatives, I am unsure what to do. The mail injection stuff that we only catch at PL4 (and only by accident) is asking for a new rule I guess.
The Windows RCE that we only catch at PL3 is substantial. If this tripple dot work in Windows, we should catch it at PL1 I guess.
The stuff that we catch at PL2 is not overly noteworthy, I guess.

Excellent!
I've been playing with the idea of adding fuzzing to go-ftw. I guess from this one that it might make some sense after all...

So you would take the payload in an existing test and start to fuzz it?

Yes, that's the idea. Provided that can be done.

Any status update, @fzipi?
Also: I guess we need a volunteer for the

Add Windows triple dot to a PL1 rule
New PL2/3 rule that catches the mail injections quoted above

The fuzzing is a separate idea. But I have opened two new issues that replace this issues. I'm thus closing this.

#2205
#2206


Csharp - DateTime and Date should be marshalled to C# types

If TimeZone proves tricky just do the simplest thing that will mostly work and add to README any warnings.

The simplest thing to do is to marshal DateTime/SysTime as an ISO 8601 string. In C# a struct can be either blittable and non-blittable, only blittable types can be used with P/Invoke. DateTime/DateTimeOffset are non-blittable types so marshalling them directly is impossible. Marshalling by string will allow us to work with any date/time type whether or not they have timezones. We are lucky that both .NET and D have two different date/time types. C# DateTime is most similar to D's DateTime and DateTimeOffset is most similar to SysTime. We will also probably need to make TimeSpan/Duration work as well, but that can be done with a struct instead of string.
For more on blittable/non-blittable types:
https://docs.microsoft.com/en-us/dotnet/framework/interop/blittable-and-non-blittable-types
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/constraints-on-type-parameters#unmanaged-constraint

Why not just marshal as a long? DateTime.Ticks()
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks?view=netframework-4.7.2

Because it's an identical amount of code either way and solves the TimeZone problem.

Because strings are immutable in both languages it was easier not to treat them as pointers from a marshalling standpoint, instead they are marshalled as byte-arrays and copied into memory allocated by the receiving side, similar to struct blitting. It was the safest way to marshal strings due to the GC.

So let's not use strings for date conversion unless no alternative?

Here are the reasons to use strings:

ISO 8601 strings the standard for date interchange, it is guaranteed to work correctly and precisely across languages that implement it. Both C# and D implement it, why not use it?
Can include any level of precision supported by ISO 8601 and optionally include TimeZones.
Simplified implementation in the code generation over using Ticks.

Here are reasons to not use Ticks:

Ticks are artificially defined in .NET and have no relationship to their system clock counterpart. D Ticks are defined by the system clock.
Using Ticks requires implementing a custom mathematical conversion that will greatly complicate the code generation.
Supporting TimeZones will require implementing ISO 8601 string interfaces. There is absolutely no other reliable method. This would create multiple code paths that achieve the same result which is a code stink, in addition to adding significant complication.

I agree that arrays of strings will be slower than arrays of longs, however, I was told that interface speed was not a priority. Is there some specific reason that I should go to the significant extra effort to implement something that will be less flexible while significantly complicating the code generation process and increase the potential for bugs that are guaranteed to be difficult to track down?
I already know @atilaneves's position on multiple code paths for the same thing, so if you really want me to use Ticks, I certainly can, but I want both you and Atila to acknowledge and understand why I am implementing it that way so there is no confusion in the code review.

The GC shouldn't be a problem if the strings are only used for serialisation. Neither D or C# would still have a reference to it after the call finished.

The immutable nature of strings make them a special case as far ownership goes because copies are by definition owned by whichever GC created them. I've attached a PR that explicitly copies the strings in .NET and releases them in D.


OAuthManager is undefined

I can't seem to get the constructor for OAuthManager to work.  I started with a vanilla react-native project initiated by "$ react-native init MyProject."  Then in installed react-native-oauth, and I tried both rnpm and the manual process for adding react-native-oauth to my Xcode project.  But in each case "const authManager = new OAuthManager()" results in an undefined error.  The app builds fine in Xcode, and I don't see any issues with the libraries.
I am familiar with React but not React-Native or iOS/Xcode.  I assume that the OAuthManager refers to a native library and therefore doesn't need to have an import or require statement at the top of my js file?
Any help would be appreciated.

it seems to be accessible with:
import { NativeModules } from 'react-native';
var mgr = NativeModules.OAuthManager;
is this now the proper way to access it?

Oh no, that's the native module (apologies for the delay, I didn't see your issue until now). I'll be pushing an update here shortly.

@auser what is the proper way to access it? I've installed react-native-oauth and run rnpm link but I still can't figure out how to access it. The documentation says you should call OAuthManager but totally lacks the information where to get it from. Could you please help?

Yep, I have a big update coming on the feature/dctauth branch that I'll merge when I finish Google auth.

I have updated this completely and released a new version. Please pull the latest.
The README has been updated as well.

@auser - Hello Auser:
Unfortunately it is not working for me either. I am only interested in the Android version and following the Readme I get OAuthManager is not defined.
Note:

I skipped all the IOS setup as I assume that those are not necessary to get the Android up and running
I do not use any import OAuthManager as your readme does not include such information
This is using a fresh react-native init ...

Let me know what I am missing please thank you :)
Thank you.

@auser - Using import OAuthManager from "react-native-oauth"; seems to work.
Therefore please update readme if that is the right use case please :)
Thank you.


doesn't run :/

Hi, tried this out, but doesn't seem to want to run in my Windows10 machine, Node 12.10, etc.
Want the log?

sorry for late answer, I think Gatsby was not compatible with windows when i did the package. Only tested under macOS


add support using query not session

use query.txt not from session

query in notpixel have short lifetime (around 15-30 minutes), so it's useless here


CancellationToken in templates

Hi!
It would be nice to have some sort of CancellationToken inside a template, that you can pass by calling Render() or RenderAsync().
The motivation is such that a template may invoke async methods that support cancellation, so it could be nice to propagate a token during rendering.
In MiniRazor, I just exposed a CancellationToken property:
https://github.com/Tyrrrz/MiniRazor/blob/c83bf8b9d4ed1d07dc4a377b30b308f6cecc44e2/MiniRazor.Runtime/TemplateBase.cs#L27-L28
Which is set when calling RenderAsync():
https://github.com/Tyrrrz/MiniRazor/blob/c83bf8b9d4ed1d07dc4a377b30b308f6cecc44e2/MiniRazor.CodeGen/TemplateClassGenerator.cs#L95-L103

Hi!
That's a good idea. Adding a CancellationToken property and a RenderAsync overload makes sense. I suppose I should also add a Render overload for parity's sake.
In the meantime, you can work around the lack of this feature by adding the property to the template, or by creating an intermediate base class. It's cumbersome though.
@functions
{
	public CancellationToken CancellationToken { get; init; }
}

That's a good workaround, thanks!

This is released in https://github.com/ltrzesniewski/RazorBlade/releases/tag/v0.3.0


[PE-D][Tester C] Add feature bug - inaccurate error message

The generated error message when adding duplicate clients is inaccurate as it should be “clients” instead of “persons”, and "Clientell" instead of "Address App", as specified in the UG and DG.

Labels: type.FunctionalityBug severity.VeryLow
original: jolynleow2301/ped#11

Clientell is a kind of address book. We'll make this clearer


fix(server): crashed when api server prepare failed

Summary

copilot:summary
Details

copilot:walkthrough
Related Issue

Checklist

[x] I have added changeset via pnpm run change.
[x] I have updated the documentation.
[x] I have added tests to cover my changes.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.wangshuo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


training time?

Hi,
How long will it take to train a model as good as your pretrained ones or achieve the result reported in readme?
           thank you~

Around 2 days

Hello, when I call your search_and_save function, what is the cause of the following error? After the error occurs, the process becomes a zombie process, and the program cannot continue.

Traceback (most recent call last):
File "/home/ubuntu/miniconda3/envs/VT_Depth/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/home/ubuntu/miniconda3/envs/VT_Depth/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "gen_ground_truth.py", line 39, in search_and_save
c.start()
File "/home/ubuntu/miniconda3/envs/VT_Depth/lib/python3.6/site-packages/ai2thor/controller.py", line 804, in start
self.download_binary()
File "/home/ubuntu/miniconda3/envs/VT_Depth/lib/python3.6/site-packages/ai2thor/controller.py", line 742, in download_binary
os.rename(extract_dir, os.path.join(self.releases_dir(), self.build_name()))
OSError: [Errno 39] Directory not empty: '/home/ubuntu/.ai2thor/tmp/thor-201903131714-Linux64' -> '/home/ubuntu/.ai2thor/releases/thor-201903131714-Linux64'


[Container Cert] Develop a Preflight Distribution Pipeline

Partners will need to be able to download Preflight for on premise use during container certification.

We need to build binaries as GitHub releases. There should be binary for each supported architecture. (amd64, ppc64le. s390x etc)
We need to create containers containing the binary and prepare for delivering them through HACBS (Aug/Sep timeframe) or CPaaS

/assign

Sub-tasks:

[ create a s390x build]
[ ]

@jomkz we currently have image builds for amd64 and ppc (contributed by @mayurwaghmode ).
We also have a multi-arch target in the Makefile (done by @acornett21 I think).
I'm working on consolidating the image build code into the "release" action + adding the binaries by invoking "make multi-arch" and packaging them + a way to publish the artifacts in the release page.

We had a discussion around how we want to handle tagging the multi-arch images in quay. We decided on the following format:
sha7+platform-arch

sha7: The short GitHub commit SHA
platform: The OS platorm (linux is currently the only supported platform)
arch: The architecture (amd64,ppc64le,arm64,s390x)

PR #383 updated


Flutter Mobile App not showing TabBar in release apk

I am facing a strange situation. My flutter app was working fine & no major changes were made in Tab bar. Somehow the Tab bar shows perfectly in Emulator and connected physical device. But the moment I build an APK and run on same physical device, Tab bar disappears.
I have create a Minimal Code from my main project mimicking the same behaviour
import 'dart:ui';

import 'package:flutter/material.dart';

void main() {
  runApp(Unige_App());
}

class Unige_App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return MyApp();
  }
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
  late TabController tabController = TabController(length: 3, vsync: this);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: DefaultTabController(
        length: 3,
        initialIndex: 0,
        child: Scaffold(
          backgroundColor: Colors.white,
          appBar: PreferredSize(
            preferredSize: Size.fromHeight(getScreenHeight() * .2),
            child: AppBar(
              backgroundColor: Colors.white,
              title: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                  children: [
                    Hero(
                      tag: 'logo',
                      child: Container(
                          height: kToolbarHeight,
                          margin: EdgeInsets.only(
                              top: 20.0, left: getScreenWidth() * .1),
                          child: Icon(
                            Icons.hail,
                            color: Colors.red,
                          )),
                    ),
                    InkWell(
                      onTap: () {},
                      child: Container(
                          margin: EdgeInsets.only(left: getScreenWidth() * .2),
                          child: const Icon(
                            Icons.logout,
                            color: Colors.red,
                          )),
                    ),
                  ]),
              bottom: TabBar(
                controller: tabController,
                indicatorSize: TabBarIndicatorSize.label,
                indicatorColor: Colors.red,
                tabs: [
                  Tab(
                    child: Container(
                      child: const Text(
                        "My Products",
                        style: TextStyle(color: Colors.blue, fontSize: 16),
                        textAlign: TextAlign.center,
                      ),
                    ),
                  ),
                  Tab(
                    child: Container(
                      child: const Text(
                        "My Feedback",
                        style: TextStyle(color: Colors.blue, fontSize: 16),
                        textAlign: TextAlign.center,
                      ),
                    ),
                  ),
                  Tab(
                    child: Container(
                      child: const Text(
                        "My Profile",
                        style: TextStyle(
                          color: Colors.blue,
                          fontSize: 16,
                        ),
                        textAlign: TextAlign.center,
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ),
          body: TabBarView(
            controller: tabController,
            children: [MyProductsPage(), MyFeedback(), MyProfile()],
          ),
        ),
      ),
    );
  }

  MyProductsPage() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Text(
          "My Products",
          style: TextStyle(fontSize: 22, color: Colors.red),
        )
      ],
    );
  }

  MyFeedback() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Text(
          "My Feedback",
          style: TextStyle(fontSize: 22, color: Colors.orange),
        )
      ],
    );
  }

  MyProfile() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Text(
          "My Profile",
          style: TextStyle(fontSize: 22, color: Colors.green),
        )
      ],
    );
  }

  double getScreenHeight() {
    var pixelRatio = window.devicePixelRatio;

    //Size in physical pixels
    var physicalScreenSize = window.physicalSize;
    var physicalHeight = physicalScreenSize.height;
    var logicalScreenSize = window.physicalSize / pixelRatio;

    var padding = window.padding;

//Size in logical pixels

    var logicalHeight = logicalScreenSize.height;

//Safe area paddings in logical pixels

    var paddingTop = window.padding.top / window.devicePixelRatio;
    var paddingBottom = window.padding.bottom / window.devicePixelRatio;
    return logicalHeight - paddingTop - paddingBottom;
  }

  double getScreenWidth() {
    var pixelRatio = window.devicePixelRatio;

    //Size in physical pixels
    var physicalScreenSize = window.physicalSize;
    var physicalWidth = physicalScreenSize.width;
    var logicalScreenSize = window.physicalSize / pixelRatio;
    var logicalWidth = logicalScreenSize.width;
    var padding = window.padding;

//Safe area paddings in logical pixels
    var paddingLeft = window.padding.left / window.devicePixelRatio;
    var paddingRight = window.padding.right / window.devicePixelRatio;
    var paddingTop = window.padding.top / window.devicePixelRatio;
    var paddingBottom = window.padding.bottom / window.devicePixelRatio;
    return logicalWidth - paddingLeft - paddingRight;
  }
}

Screenshots of above code: Physical device (Samsung phone) running from Android studio

Same Physical Device(Samsung phone) running APK (Tabbar disappeared)

The same behaviour is for my project as well as the minimal code above, Can someone help me ?

Hey!
During startup, especially in release mode on Android, window.physicalSize might return (0,0) (you can add print statements in getScreenHeight to check if this is the problem).
The generic solution is to rely on MediaQuery instead of accessing window properties directly: the MediaQuery widget listens to window changes and will rebuild its child when there is a change.

Thank you so much [bleroux] for providing the solution. Yes, MediaQuery is the right answer instead of using window.physicalSize. Appreciate it !


Decouple Wieldables from player scene

As a general enhancement, I'd suggest making it not required for the wieldable scenes to be pre-instantiated in the player scene:

Making a few changes this should be pretty simple to do and would ease the process of creating new wieldables.
I'll submit a proof of concept PR showing how I would personally go about this.

All in all, you've got a pretty impressive project going here and while there is a lot of coupling going on between different pieces, it seems like it should be mostly solvable, and this seems like a real fun project to dump some free time in if you're open to contributions :)

Thank you! And absolutely open to contributions!
I've tried to make Cogito flexible but also intuitive to use/modify once the user understands its structure.
I'm sure there are quite a few spots where nodes could be decoupled more / instanced dynamically.

With all of this done, i have one recursion error left which has to do with reloading a weapon through combining it with the ammo in the inventory, but i think i know how i'll solve this.

Oh that's odd, since AFAIK this wouldn't touch any parts of CogitoWieldable / Wieldable nodes at all. But I know items referencing each others can definitely create recursions.

I hoped for this change to require less work honestly, but i think it came out pretty neat and it definitely helped me figure out how some parts of the project interact with eachother. I did notice some inconsistencies in the way you're dealing with scene references in exports though, since in some spots you are exporting PackedScenes and in other spots they are paths to the scene file, which are then loaded at runtime.


Update MD file on new branch 2017-25-25_03-11-11

:warning: Validation status: warnings

File
Status
Preview URL
Details

split/conceptual/TOC.yml
:warning:Warning

Details

split/updateTestCon.md
:white_check_mark:Succeeded

split/conceptual/TOC.yml

[Warning] Timeout (1000ms) exceeded. Killing process git.
[Warning] Skipping GetFileDetail. Exception found: Microsoft.DocAsCode.Common.Git.GitException, Message: The result can't be null or empty string

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


add package to npm

Add a version badge when you do: https://badge.fury.io/

Closed by https://github.com/digitallinguistics/dlx-spec/commit/dd531b5eba50c0bd4298cb6c69eae52935621697


skip maven install on windows machines

On my Windows machine I had problems with the install plugin in the changed project poms. This solves that.

Hi @WoSchmo thanks for the report and PR!
Could you elaborate which errors you saw on Windows? The install phase is pretty late in the Maven Lifecycle, so I wonder if mvn verify would be enough as a workaround, and we should instead try and make the install plugin work on Windows, so developers are able to install their dev version into the local repository?

I think we should know about the root cause. Disabling install does not sound as a solution. We had cases where specific modules needed to be skipped, but this should be done now. Recently the "run" distro had been added which caused such a problem, but this got fixed with https://github.com/operaton/operaton/pull/343.
Please report a bug with the error that you are experiencing. And try on latest main, please.

OK, I tried it again with the current main and it works. Thank you @kthoms for the update. I will close the MR! Sorry for the confusion!

Good to hear that it is working!


Use finalizers to block CR deletion until all resources are deleted

Issue to be fixed
Fixes #171
Proposed Changes

Use a finalizer to block deletion of the CR until all resources are deleted, including the cluster scoped ones
Copied from Serving Operator

Release Note

NONE

cc @houshengbo @jcrossley3 @Cynocracy

/retest

/lgtm


BC211/MB211 Data Discrepancy Issue

From RS and AVB: Phil from MB211 sent us an email with the following issues. Our task now is to figure out what is going on. Our hypothesis is that BC/MB211 are putting different info in different columns, which is why site records would show up in the MB side when they aren't supposed to.
QA notes below are in italics
Phil's e-mail:
"In the live app:
Under Housing | Emergency Housing and Shelters two records appear, one is the SITE record, the other is the programme record: City Church of Winnipeg – Naomi House at 700 Ellice and City Church of Winnipeg – Transitional House at Naomi House no address given.
The former is the SITE address. The service description reads ‘is the site for transitional housing for refugees’. The latter is the programme record. The service description is suitably detailed, BUT there is NO address.
QA: There is now one record for the City Church of Winnipeg - Transitional House and Naomi House, with 700 Ellis Ave address.
Similarly, Main Street Project Inc – Bell Hotel is listed, but only described as ‘site location for Transitional housing.’ Again, this is only a SITE record. Where’s the programme record that goes with this?
The record now appears with the description, address at 662 Main Street, website, email, etc
Further down on my list is Immigrant Centre Manitoba – settlement Services, detailed service description but no way to contact them, no address, no phone, all of this would be in the SITE and / or Program – at – Site record. And so it goes.
This record is not in the list of related services to the given topic. Searching for the service by name, I get Seven Oaks School division's immigrant services, not sure if that's the same one? Digging more, I find that this service has been filtered out of the algolia dataset, it's hard to tell why. Would be great to have some logging around why services are filtered out.
In the test version, the link ‘find related services near me’ doesn’t work. Claims it can’t connect to the server."
RS: We cannot reproduce - it is working in both test and production.
RS: Phil's suggestion below seems closely related:
"When comparing what bc211 and mb211 records are doing, I’d suggest reviewing what is in the Program-at-Site records. Is it possible that BC is populating those? We typically do not. While it hasn’t always worked out for our website, the latter is supposed to fill in the gaps. This isn’t happening in the app. Hence no address info, and why SITE records (with incomplete programming information are getting through your filters, and PROGRAMME records are not…..
That’s my best guess anyway."

@alysha-PG have a look


Please provide gx rewrite --upgrade

When merging a branch with new files the import dependencies can easily point to an older version of an import.  Upgrading the imports has has been a minor PITA for me.  I tried:
  gx-go rewrite --undo
  gx-go rewrite

But that doesn't rewrite imports of older versions of the dependencies.

Hrm... this is difficult. The best current way of doing this is to make a commit on the branch youre merging in that does a gx-go rewrite --undo, then do the same on the merge base so that youre merging two things with the normal imports, then do the merge and run gx-go rewrite.
This process needs to be easier. I'll think about it some, but if you have thoughts on how to best do this, i'm all ears

The easiest way would be to do a regex search and replace inside the import directive.  For example to fix this import:
"gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"

use (in perl/sed syntax)
s~"gx/ipfs/[:valid characters of multihash:]+/go-ipfs-util"~"gx/ipfs/QmNEWHASH/go-ipfs-util"~

Or you can fetch package.json of $OLDHASH check which package name it is and upgrade it to $NEWHASH from current project package.json

@Kubuxu, just swapping package.json sure is easier than why's idea of extra commits.  I wish I thought of that.
The idea of a regex search is an idea of how to implement a generic upgrade to fix any old versions being used.

Could #102 solve this issue?

Partly.  What I would really link is for gx-go to find all outdated references and report and optimally fix them.


bug: netrw directories do not have colours

Neovim version (nvim -v)
0.9.2
Terminal / multiplexer
iTerm2
Describe the bug
rose-pine commit 2a4aad89a803c84d7d1555d136639cd48ade1d64 does not colour directories in netrw:

while commit e29002cbee4854a9c8c4b148d8a52fae3176070f (the last one I had before I updated rose-pine) did:

Could we colour directories in netrw like it was before? It's easier to distinguish directories from files if they are coloured differently.
Thanks!
Repro
vim.o.packpath = "/tmp/nvim/site"

local plugins = {
  rose_pine = "https://github.com/rose-pine/neovim",
}

for name, url in pairs(plugins) do
  local install_path = "/tmp/nvim/site/pack/test/start/" .. name
  if vim.fn.isdirectory(install_path) == 0 then
    vim.fn.system({ "git", "clone", "--depth=1", url, install_path })
  end
end

require("rose-pine").setup({})

vim.cmd("colorscheme rose-pine")

That's fair, the bold varies quite heavily depending on font/weights. It is coloured, however, if you set styles.bold = false but we probably should always colour them.
You could add this to your config until a change is pushed:
{
  highlight_groups = {
    Directory = {fg = "foam"}
  }
}


fix tut compilation of markdown files

Borderpatrol.md had incorrect imports.  Also, re-arranged
docSettings to appear after tutSettings so that tut modifiers
could be called in the docSettings.

Refs: #2, #54

Current coverage is 80.00%

Merging #67 into master will not affect coverage as of 7fc9be9

@@            master    #67   diff @@
=====================================
  Files           37     37
  Stmts          460    460
  Branches        14     14
  Methods          0      0
=====================================
  Hit            368    368
  Partial          0      0
  Missed          92     92

Review entire Coverage Diff as of 7fc9be9

Powered by Codecov. Updated on successful CI builds.


Include all tasks state such as NEEDS_REVIEW , IN_REVIEW etc. for Marking Users Idle/ Active

Closes

#1310

We currently update user status only for tasks when they are marked as completed. However, we also need to update user status for other statuses like NEEDS_REVIEW,  IN_REVIEW etc. to mark users as idle/active.
This feature is hidden behind a feature flag.
Testing Stats:
Controllers

test case stats missing

I have just updated a line in the controller file. We don't have unit tests for controllers file. We check them in integration file. The stats for controller file coverage has been attached. Let me know if I need to add any other details. Shall I attach models file coverage as well ?


Can't build V2G-RISE and run it without error due to deprecation in Java 8+

Hi there, this is an assignment for my internship and i'm new to java. Does anybody know how and what I have to add in order for a proper build en working of the application?
What creative solution am I missing?
I've been working on it for a while to make it work.
I hope somebody can help me with this
In order to compile and build V2G-RISE with mvn clean install, the proper java JDK need to be included in the project of Eclipse.
This would be JDK 8. This is because V2G-RISE is build  on JDK8.
When you have JDK 8 in the Eclipse V2G RISE project, but you have a higher version of JAVA installed on your computer, it will not compile and build. The reason for this is that it is not able to find the package javax.xml.bind annotation. I encountered this because I had java 17 on my laptop.

Result
This is because after java 8 some packages are removes or deprecated as one calls it
After searching on the web, I found that you are able to overcome this by adding some properties and dependencies.
This is what I found and added to the POM.xl file in the Parent section.
this needed to be added at properties
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
and

javax.xml.bind
jaxb-api
2.3.0

com.sun.xml.bind
jaxb-impl
2.3.0

org.glassfish.jaxb
jaxb-runtime
2.3.0

javax.activation
activation
1.1.1

 >

After I added this, I get the results shown below. Successful build with six warnings, Three for the EVCC en Three for the SECC

&

And when i try to run the EVCC.Jar I get the following mistake!

--->
When I have JDK8 in de eclipse project and java 8 installed on the laptop, it builds nearly perfect with 6 warnings. Three for EVCC en three for SECC. When starting the jar file. I see that there is still something missing so that the application can be build properly and work properly.
My compiler level settings are also in accordance with the chosen java version which is 1.8

--->
"Some input files use or override a deprecated API."  & "Some input files use or override a deprecated API that is marked for removal."
How can I solve these problems?
In both methods I get similar but different results
Does anybody know how and what I have to add in order for a proper build en working of the application?
What creative solution am I missing?
I hope my explanation of my problem and my question are clear to provide assistance!
I hope somebody can help me

I had the same issues with building RiseV2G with java version  > 8. So I made a pull request for building RiseV2G on java 11 and higher see #76.
For the error on the java 8 compiled jar, the issue is that you are missing the .properties file. The first line after java  -jar  notes that with FileNotFoundException. An example .properties file is in the repository.

Regarding your comments on the .properties file he cannot find, how can I solve it that he can find it?
If I understand you correctly, it should in my project list, which it is.=!
The photo's below show that the file is in the project.

/

/

/

/

It should be available during runtime, in the same folder as the jar. In your example you copied the jar to your desktop, so the .properties file should also be on your desktop.

Thank you for that.
I was in the assumption that after a build everything is included in the jar file and are able to start the jar file.
Is my conclusion correct, that I have to copy the project map to my raspberry and start it the same way?
Sorry for my question, new to this java

It should be available during runtime, in the same folder as the jar. In your example you copied the jar to your desktop, so the .properties file should also be on your desktop.

Okay, thanks for the clarification. I'm new to this and java. I thought after the build, everything would be included in the jar.
After a few modification i was able to build it properly and make it work between laptop and raspberry


Working on Data Visualization using Matplotlib

Hello,
I'm working on an intermediate course on the above topic.
I have two questions.

The minimum number of slides per module is 30. What is the maximum number of slides?

Can I create a module in parts or series, such as DATA-VISUALIZATION-With-Matplotlib-Part1-intermediate.md, for example?

Hi Lawrence,
Regarding your questions:

Two thinks to keep in mind. We are aiming for chunks of 50 minute lectures, so too many slides will need many lectures
to cover and it my be unrealistic to expect a faculty member to devote so much time to a particular topic if this is taught as part of a Data Science course. Also the PowerPoint files get very large quickly and this may create issues with storage and being able to successfully and quickly download files. So to avoid any technical issues we do not want the PowerPoint files to be too big. 60 slides is about the maximum we have for any lesson at the moment and that seems like a "soft" upper limit.
The OpenDS4All modules can be "mixed and matched" at the discretion of the instructor, according to preferences, time constraints, and the target audience. To allow this to happened we are trying to limit the dependencies of modules on other modules. So we would rather suggest to try and make the modules/lessons independent so that it is easier to mix and match. Perhaps more introductory visualizations in one lesson and more complex visualizations requiring some extra code or the artist layer instead of the scripting layer in a second lesson.

Regards,
Andre

Okay thanks @Andre.
I get it better now.


Failing to commit changes using WSL

Description
When attempting to commit changes, instead of showing the commit message popup neogit instead shows a bunch of errors (things like fatal: No names found, cannot describe anything and NVIM server address not set)
Neovim version
NVIM v0.9.5
Build type: RelWithDebInfo
LuaJIT 2.1.1693350652
Compilation: /usr/bin/cc  -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -fno-common -Wno-unused-result -Wimplicit-fallthrough -fdiagnostics-color=auto -fstack-protector-strong -DUNIT_TESTING -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/usr/include/luajit-5_1-2.1 -I/usr/include -I/usr/include/lua5.1 -I/home/abuild/rpmbuild/BUILD/neovim-0.9.5/build/src/nvim/auto -I/home/abuild/rpmbuild/BUILD/neovim-0.9.5/build/include -I/home/abuild/rpmbuild/BUILD/neovim-0.9.5/build/cmake.config -I/home/abuild/rpmbuild/BUILD/neovim-0.9.5/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
Run :checkhealth for more info
Operating system and version
openSUSE Tumbleweed WSL (this also happens with Ubuntu on WSL)
Steps to reproduce

load the minimal config provided
open :Neogit
stage your changes
attempt to commit your changes with c + c

Expected behavior
staged changes are successfully committed
Actual behavior
Instead I get this error message

note that this happens with every git repo I clone, no matter the directory or operating system
Minimal config
-- NOTE: See the end of this file if you are reporting an issue, etc. Ignore all the "scary" functions up top, those are
-- used for setup and other operations.
local M = {}

local base_root_path = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .. "/.min"
function M.root(path)
  return base_root_path .. "/" .. (path or "")
end

function M.load_plugin(plugin_name, plugin_url)
  local package_root = M.root("plugins/")
  local install_destination = package_root .. plugin_name
  vim.opt.runtimepath:append(install_destination)

  if not vim.loop.fs_stat(package_root) then
    vim.fn.mkdir(package_root, "p")
  end

  if not vim.loop.fs_stat(install_destination) then
    print(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
    vim.fn.system({
      "git",
      "clone",
      "--depth=1",
      plugin_url,
      install_destination,
    })
    if vim.v.shell_error > 0 then
      error(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
        vim.log.levels.ERROR)
    end
  end
end

---@alias PluginName string The plugin name, will be used as part of the git clone destination
---@alias PluginUrl string The git url at which a plugin is located, can be a path. See https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols for details
---@alias MinPlugins table<PluginName, PluginUrl>

---Do the initial setup. Downloads plugins, ensures the minimal init does not pollute the filesystem by keeping
---everything self contained to the CWD of the minimal init file. Run prior to running tests, reproducing issues, etc.
---@param plugins? table<PluginName, PluginUrl>
function M.setup(plugins)
  vim.opt.packpath = {}                      -- Empty the package path so we use only the plugins specified
  vim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir

  -- Install required plugins
  if plugins ~= nil then
    for plugin_name, plugin_url in pairs(plugins) do
      M.load_plugin(plugin_name, plugin_url)
    end
  end

  vim.env.XDG_CONFIG_HOME = M.root("xdg/config")
  vim.env.XDG_DATA_HOME = M.root("xdg/data")
  vim.env.XDG_STATE_HOME = M.root("xdg/state")
  vim.env.XDG_CACHE_HOME = M.root("xdg/cache")

  -- NOTE: Cleanup the xdg cache on exit so new runs of the minimal init doesn't share any previous state, e.g. shada
  vim.api.nvim_create_autocmd("VimLeave", {
    callback = function()
      vim.fn.system({
        "rm",
        "-r",
        "-f",
        M.root("xdg")
      })
    end
  })
end

-- NOTE: If you have additional plugins you need to install to reproduce your issue, include them in the plugins
-- table within the setup call below.
M.setup({
  plenary = "https://github.com/nvim-lua/plenary.nvim.git",
  telescope = "https://github.com/nvim-telescope/telescope.nvim",
  diffview = "https://github.com/sindrets/diffview.nvim",
  neogit = "https://github.com/NeogitOrg/neogit"
})
-- WARN: Do all plugin setup, test runs, reproductions, etc. AFTER calling setup with a list of plugins!
-- Basically, do all that stuff AFTER this line.
require("neogit").setup({}) -- For instance, setup Neogit

I am seeing this same error when trying to make commits. Any leads on a fix?

I don't have windows, much less WSL, so I can't do much about this. If you want, you could use git bisect to try to find the changeset that broke things.

Like I said, I don't have windows/WSL, so without a bisection to point somewhere there's not much I can do. I cannot replicate the issue, as I do not have windows or WSL.

I'm seeing this with macos, too.
git version 2.43.0 from homebrew
nvim at HEAD
currently working my way back through commit history/quazi bisecting to find the breaking commit.

Yeah, no shade at Mr. Pope - he's the GOAT for a reason.
Very confused that you're having issues on macos... because I do not have issues on macos. If you can help reproduce this, or point to a commit that broke things, I'd really appreciate it :)

Hey,
I encountered the same issue on WSL and decided to look into this a little.
I used htop to figure out the PID of the spawned git subprocess when commiting changes.
I used cat /proc/<PID>/environ to take a look at the subprocesses environment and - as you already said - the NVIM env var does not appear to be set.
Can someone confirm that on native linux or macos this env var is set and readable with environ? If that's the case, I feel like an issue should be raised in neovim base repo.

Thanks for looking into this. I agree, if that ENV var isn't set, it's a neovim issue, as it's the expected behaviour of a shell opened via nvim. I can confirm on macos that NVIM=/var/folders/rx/m34cttj953q76nbyrfcw04j00000gn/T/nvim.cameron/Adn7En/nvim.67288.0 is set for the child git process as expected.
I haven't had much time to look into it, but I fully plan to migrate our process/job code to use that new vim.system API sooner than later :)

@CKolkey FYI I opened an issue with nvim and will keep you updated.
 I'm getting them consistently when I'm being prompted to sign things with GPG. Most of the time it still works though.

Same here. Tons of these messages on MacOS, but it doesn't stop anything from working for me. Just a bunch of messages.

I think we might be looking at two seperate issues here. As @CKolkey described if your repo has no tags you will see the fatal: No names found warning.
The issue OP described on wsl, which leads to neogit freezing/crashing always happens on git commands that try to open $EDITOR to get user input, like git commit or git rebase --interactive.
Maybe we could open a seperate issue for the warning @sQVe and @theherk described. I don't think we should print an error to the user if the repo does not contain tags.

Couldn't have put it any better - the fatal: No names found is just checking for tags. It looks scary (says fatal) but doesn't actually do anything. The reason it looks like you get them when you have to sign something is that the console opens up if a command is taking a while, and that check (for tags) is part of refreshing repo state, so it's run a lot. Totally harmless. The actual issue there is that it keeps asking for your password.
Anyways, feel free to open a new issue and/or investigate it :)
Now, WSL....

Just a heads up, @Ramilito figured out a workaround for WSL. It seems that using systemd on WSL leads to this behavior.
Setting this in .wslconfig
[boot]
systemd=false

will make the error disappear.
Now we have to figure out if this is actually is a nvim issue or if it should be raised with MS/WSL. Either way, I think this issue could be closed.

Thanks @BKDevelop - seems pretty clear this is either upstream, or up-upstream. I appreciate your help troubleshooting this :)

I ran into this issue under WSL but disabling systemd didn't help in my case. The workaround that worked for me was the second one listed in this comment, fixing permissions of the /run/user/1000 directory: https://github.com/neovim/neovim/issues/27962#issuecomment-2024018548. Still unrelated to Neogit, just sharing to save some time for anyone that runs into this in the future.

Hello, I recently started using Neogit and also encountered a similar problem.
My work environment:

macOS 14.4.1 (23E224)
neovim v0.9.5
git 2.39.3 (Apple Git-146)

I ran into this issue under WSL but disabling systemd didn't help in my case. The workaround that worked for me was the second one listed in this comment, fixing permissions of the /run/user/1000 directory: https://github.com/neovim/neovim/issues/27962#issuecomment-2024018548. Still unrelated to Neogit, just sharing to save some time for anyone that runs into this in the future.

This helped me—I investigated and found that there was no /run/user/1000/ directory on my system. I created one and then did the chmod command at that link and that cleared up my issue.


Disable for now due some issues when downloading the knative module

Summary

Disable for now due some issues when downloading the knative module maybe due to the replace in the go.mod
and sign packages as well

Ticket Link
n/a
Release Note

NONE

Codecov Report

Merging #1546 (2820d6b) into main (2abb3a9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1546   +/-   ##
=======================================
  Coverage   26.49%   26.49%
=======================================
  Files         126      126
  Lines        7214     7214
=======================================
  Hits         1911     1911
  Misses       5093     5093
  Partials      210      210

Continue to review full report at Codecov.

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