Adding a new sentry wg-quick error

I have been adding new sentries to my Validator, this happend twice so far with provisioning new different nodes. Setting everything else goes right, but when it's time to start the wg0 service on the new node it gives the following error in the logs of ansible
FAILED! => {"changed": false, "msg": "Unable to start service wg-quick@wg0: Job for<EMAIL_ADDRESS>failed because the control process exited with error code.\nSee \"systemctl status<EMAIL_ADDRESS>and \"journalctl -xe\" for details.\n"}
The output of systemctl status<EMAIL_ADDRESS>Jun 17 12:58:21  systemd[1]: Starting WireGuard via wg-quick(8) for wg0...

What worked for me was installing wireguard-dkms and from there on I can manually boot it wg-quick up wg0 whereas before installing the dkms version it wouldn't

If I recall correctly there was a problem building the wireguard kernel module for a concrete version of the linux headers that should be fixed with changes landed yesterday, if you don't have an up to date version please try again with the latest version from the tip of master of polkadot-secure-validator

I was on the latest version/commit that adds the linux-headers-generic. I think the latest version is causing this, as I didn't get this until now. Not sure also what the cause is. The above errors are the only things I have, but it got resolved already by the manual steps, just wanted to highlight it as maybe you might have an idea.

It would be good to try to reproduce, integration tests are passing on GCP with ubuntu 20.04 base images, but we are using the complete workflow, including instances creation.
What kind of images and Linux kernel are you using?


CPL file

I am totally new to the world of PCB making and assembly.
Do you have a cpl file that you could include?

ill add it to the list, thats a good point!

I was gonna ask the same. The project look amasing, the CPL will hepl produce the circuit easier :)

I created a pick&place file from Kicad. First time in my life, so better double check : D
For getting a PCBA-manufacturer's quote, it should be good enough 👍
PCB top edited to match JLCPCB requirements to format.
racer-top-pos.csv
CPL_miniRacer_position_pickNplace_JLC_top.xlsx
racer-bottom-pos.csv

all revision V0.2

What do you mean by this? Is it not based on master branch?
It's the master branch. I just wanted to add this information about the revision, in case somebody will update the revision in the future.
where you explain the steps you have done 👀
I just re-named the columns according to this guide here:
https://jlcpcb.com/help/article/pick-place-file-for-pcb-assembly

I just re-named the columns according to this guide here

Oh wow, you typed in all the rows by hand? I would have thought there is some tooling to  achieve this.
Did you have a look at this guide?

Did you have a look at this guide?

yes, true, this page was my starting point.
I used also the MS excel to import the CSV-file to a regular excel sheet. This transferred the rows to proper columns, which had to be re-named ✌

Feel free to creat a pull request to merge the files. I have no idea how this is done. It's late here :D

Feel free to creat a pull request to merge the files.

Probably I will, but I want to try to generate this files by myself for this

I'm usually using Aisler to order PCBs (and optionally parts/assembly). They allow to upload the KiCad PCB file and get all the required data from it. For matching the components automatically it requires a "MPN" field to be set as the "Manufacturer Part Number". I don't know the requirements for JLCPCB, but it would be great if we could also add the MPN field.


Add weight option to Text library

It would be nice to have the following function in the Text library:
weight : Int -> Text -> Text

to set the weight of the text. Currently, one can only make things bold. But font weights vary a lot and matter especially when you mix different fonts on a page. Plus, bold can then be redefined in terms of weight like so:
bold : Text -> Text
bold = weight 700

Sorry this did not get attention til now! The Graphics.* modules now live in evancz/elm-graphics so I am trying to get stuff migrated over there.
That said, I would like to keep that API stable for now. I expect to be focusing on <canvas> for professional users and "friendly graphics" for learning as separate use cases. Progress will be made when those start happening.


Invalid package urls for cocoapods

I get an error running the action on a repo with CocoaPods manifests
[dependency-submission](https://github.com/cnagadya-testing/component-detection/actions/runs/4619540658/jobs/8168423803#step:3:4121)
invalid package url: in manifest "/test/Microsoft.ComponentDetection.VerificationTests/resources/cocoapods/simple/Podfile.lock" decoding "pkg:cocoapods/alamofire@5.4.4?%5Bobject%20Object%5D=": invalid qualifier key: '[object object]'

I did notice though the Qualifiers  generated by the CocoaPods detector are an object
    "component": {
        "name": "Alamofire",
        "version": "5.4.4",
        "specRepo": "TRUNK",
        "type": "Pod",
        "id": "Alamofire 5.4.4 - Pod",
        "packageUrl": {
          "Scheme": "pkg",
          "Type": "cocoapods",
          "Namespace": null,
          "Name": "alamofire",
          "Version": "5.4.4",
          "Qualifiers": {
            "repository_url": "TRUNK"
          },
          "Subpath": null
        }
      }

compared to other detectors like Yarn or Go were null was returned
     ....
      "component": {
        "name": "readable-stream",
        "version": "3.6.0",
        "hash": null,
        "author": null,
        "type": "Npm",
        "id": "readable-stream 3.6.0 - Npm",
        "packageUrl": {
          "Scheme": "pkg",
          "Type": "npm",
          "Namespace": null,
          "Name": "readable-stream",
          "Version": "3.6.0",
          "Qualifiers": null,
          "Subpath": null
        }
      }
      ....
      "component": {
        "name": "github.com/sirupsen/logrus",
        "version": "v1.8.1",
        "hash": "h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=",
        "packageUrl": {
          "Scheme": "pkg",
          "Type": "golang",
          "Namespace": null,
          "Name": "github.com/sirupsen/logrus",
          "Version": "h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=",
          "Qualifiers": null,
          "Subpath": null
        },
        .....

Hey @cnagadya, we should take this conversation to the microsoft/component-detection repo since they own the upstream implementation. All my action does is provide a thin wrapper around their tool. Are you good to move it there?


time: RFC3339 time.Parse can not parse string that come from time.Format

Please answer these questions before submitting your issue. Thanks!
What did you do?
ttps://play.golang.org/p/BItq172M-_
The bad time string "0007-05-31T3:50:00+99:80"
What did you expect to see?
0001-01-01 00:00:00 +0000 UTC xxx some error

What did you see instead?
0007-05-31 03:50:00 +10020 +10020 <nil>
0007-05-31T03:50:00+100:20
0001-01-01 00:00:00 +0000 UTC parsing time "0007-05-31T03:50:00+100:20" as "2006-01-02T15:04:05Z07:00": cannot parse "+100:20" as "Z07:00"

Because the RFC3339 parse/format is using in json.
This may curse some crashes with special user input and developer assumes that json.Unmarshal is not return an error equals to json.Unmarshal/json.Marshal/json.Unmarshal will not return an error
This string is found by using https://github.com/dvyukov/go-fuzz

This is not a bug in the time package.  It's true that you can format a time using time.RFC3339 that you can not parse with time.RFC3339.  That is perhaps unfortunate but it follows from the documentation.
Can you express this as an issue about encoding/json?

"Can you express this as an issue about encoding/json?"
https://play.golang.org/p/r6XY9LyWqu

The RFC defines time-numoffset in terms of time-hour and time-minute which are limited to 0-24 and 0-60. From a quick look I can't see any checking on zone offsets (other fields are checked) in the source for the parse() function, could this be added? Otherwise should it just be noted in docs that zone offsets are not range checked?
This does seem rather theoretical as the offset is invalid (I think, unless I'm reading the RFC wrong), but it might be worth documenting or returning an out of range error.
https://tools.ietf.org/html/rfc3339#section-5.6
Time:

   time-hour         = 2DIGIT ; 00-24
   time-minute       = 2DIGIT ; 00-59
   time-second       = 2DIGIT ; 00-58, 00-59, 00-60 based on
                              ; leap-second rules
   time-fraction     = ("," / ".") 1*DIGIT
   time-numoffset    = ("+" / "-") time-hour [[":"] time-minute]
   time-zone         = "Z" / time-numoffset

I've just been hit by this issue.
I would expect "2018-01-16T05:15:37Z" to be valid input and handled by time.RFC3339, but "2018-01-16T5:15:37Z" is not valid due to missing leading zero on the Hour.
It seems rather inconsistent....

Month with 01 - Expects leading zeros
Hour with 3 formatter value - 12H with optional leading zeros
Hour with 03 formatter value - 12H with mandatory leading zeros
Hour with 15 formatter value - 24H with optional leading zeros
24H with mandatory leading zeros use case is missing ?

It seems that Parse and Format should be symmetric in their behavior. Marking for consideration in Go2 at least.

Making them fully symmetric seems reasonable, but it also seems quite hard to do it in a backward compatible manner.  And even if we want to automatically fix existing uses, it seems quite hard to do so with complete reliability.

I would like to add my experience to this.  Would really love to see a fix for this.  Many systems (including fmt.Println(someTime) output the time as YYYY-MM-DDTHH:MM:SS.sss+HHMM  (note no colon on offset).
The RFC 3339 spec notes that the colon is optional for the offset (see https://tools.ietf.org/html/rfc3339#appendix-A).  Because the json.Unmarshal() automatically uses the RFC3339 as the format, this prevents Go from parsing many versions of the standard timestamp format in its acceptance of json.
All of these should be valid:
"2006-01-02T15:04:05+0000"
"2006-01-02T15:04:05-0000"
I'm wonder if supporting the colon in the offset being optional really requires waiting for Go 2?

Just ran into issues parsing dates out of the Sonatype Nexus 3 API. This has been open for 697 days now, can we get this issue on a road map?

I don't think we even know what should be done.
You can not use time.RFC3339 with time.Parse to parse all valid RFC 3339 time data strings.  This is explicitly documented.  I can't see any way to change it.

Just ran into this as well trying to unmarshal a Bitbucket Webhook payload.

I'm going to put out perhaps a somewhat unpopular opinion, but perhaps the designers of Golang and the core libs to re-assess whether the "by example" format string that Go uses is actually fit for purpose.
I know we can have arguments about what is more 'understandable', and I don't contest that perhaps some people find this easier, and others find the approaches used in other languages (like C, Swift, Ruby etc).
BUT, it seems that the Go approach just is not able to parse using the Time functionality. It forces you to perform direct string parsing instead.
I know this isn't going to happen for Go2, but maybe future releases could consider deprecating and replacing the "by example" way of doing things???

As I said just a few posts up, I don't think we even know what should be done.
I agree that while the format string works reasonably well for time.Time.Format, it can be harder to use with time.Parse.  But that acknowledgement does not show us a way forward.  Are there other libraries, perhaps in other languages, that do a better job?

https://play.golang.org/p/hM_DWyv0JMK shows another issue, it appears that time.Parse can only handle 4 digit years for RFC3339.

@brian-brazil I think that is behaviour as expected. RFC3339 assumes that:

All dates and times are assumed to be in the "current era",
somewhere between 0000AD and 9999AD.

https://play.golang.org/p/Dflk-FGvm40

https://play.golang.org/p/2xDQsXxYcxe
Even the layout itself is not a valid value,
time.Parse(time.RFC3339, time.RFC3339)
// parsing time "2006-01-02T15:04:05Z07:00": extra text: 07:00

should it be that difficult ????it is so hard golang time package .
how u think i should use wasted my 5 hours still no outcome
seems like layout does exact string comparision do u really think production data will be this much accurate
if layout is 2012-01-02  and time as input is 2020-07-27 18:14:58.1527977 +0530 IST then time.Parse shamelessly fails
Program==>
t:="2020-07-27 18:14:58.1527977 +0530 IST"
t1,_:=time.Parse("2006-01-02",t)
output ==> 0001-01-01 00:00:00 +0000 UTC
playground link https://play.golang.org/p/G7qXFIJJabg
what i expect my time should be converted to yyyy-mm-dd instead it gives this
except time package golang is excellant. Why you do exact string matching ????

The bigger problem isn't just that the Format and Parse are not symmetric, instead, that none of the provided time methods can get back to the original time struct.
Even if the data that is lost between conversions is not relevant to being used in a time struct, it is still not acceptable that data is lost with the event the Marshal, Unmarshal methods.
https://play.golang.org/p/VdqFYrhNOGX
So even if we are not to expect Parse and Format to be used, there is still no other methods available to encode time for storage in some other way, and get back the original time struct.

@thaney071 that is something else and documented:

Because the monotonic clock reading has no meaning outside the current process, the serialized forms generated by t.GobEncode, t.MarshalBinary, t.MarshalJSON, and t.MarshalText omit the monotonic clock reading, and t.Format provides no format for it

@seankhliao That is unfortunate because it makes testing time structure difficult since any deep equals check of the time struct before and after the marshaling will not be equal.

https://play.golang.org/p/2xDQsXxYcxe
Even the layout itself is not a valid value,
time.Parse(time.RFC3339, time.RFC3339)
// parsing time "2006-01-02T15:04:05Z07:00": extra text: 07:00

This is expected and documented:
"	// Some valid layouts are invalid time values, due to format specifiers
// such as _ for space padding and Z for zone information.
// For example the RFC3339 layout 2006-01-02T15:04:05Z07:00
// contains both Z and a time zone offset in order to handle both valid options:
// 2006-01-02T15:04:05Z
// 2006-01-02T15:04:05+07:00
"
Ref https://pkg.go.dev/time#Parse

This is utterly broken, and it wastes a lot of developers time.
Go1 never should have shipped broken code that cant read its own output.


Adjust Websocket DTO

⭐ Suggestion
we may want to tweak the DTO that gets emitted through websockets
Details to be defined...
💻 Use Cases
No response
❌ Related Problems
No response

@eddiejaoude can you please fill more details to this issue and assign it to me? I've got some time to dedicate to this project


Ignore files when using --watch

I'm using devtools to start up my server file with
devtools bin/www --watch
Which is great and works perfectly along side gulp for me.
But whenever I change a jade/pug file devtools will reload the server which is a little too extreme.
Can I get it to ignore files?

Any ideas on this chaps :D?

I have added a #113 pull request, so you can use the .devtoolrc file to add create an array of excluded paths.
{ ... "watcher": { "ignored": "public"}, ... }
So keep an eye open on that, for the time being if you wish to do this yourself,
add this line just under line AppData\Roaming\npm\node_modules\devtool\lib\file-watch.js:12 (windows global installation)
if(opt.config.watcher.ignored)  ignores = ignores.concat(opt.config.watcher.ignored);

@mattdesl  Could you please merge the change I made? or if you guys are going to be inactive on project, could you add some new people to contribute and manage it in the future?

Would be great to have this :)

Merge it!!! lol


TNT-40795 - openapi generated models using version 4.3.0 with jersey2 library config

Used openapi generator to generate updated models (but not the actual client).  These models aren't completely automated, as I had to make some manual changes in order to make them compatible with existing code.

Please also update the changelog in project root

@dcottingham I think we might need to use custom mustache templates on top of Jersey code generator that you have used. Our models should not rely on Swagger and openapi tools annotations. As far as I remember we had something similar in the past for Target Edge Batch Mbox API. Also it is not clear if it is auto-generated or not, but we don't really need constants in @JsonProperty.

@artur-ciocanu - what is your concern with relying on swagger annotations?  Those imports are actually added explicitly from inside the generator code, and not something I can easily remove via a custom template.  Also, I generated the client that was used for the Batch Mbox API previously and that generated code also uses the same swagger annotations.  I don't have any visibility into how the previous Delivery API client was generated for the Java SDK, so I've tried several versions and configurations of the generator and so far they all include those annotations.  I'm thinking maybe they were manually removed from the previous version of the Delivery API client before they were checked into Github, but can't say for sure.


Failed to load the JS script of the agent

Hello. We're constantly getting this error
Error: Failed to load the JS script of the agent

On Microsoft Edge.
We're on versions
"@fingerprintjs/fingerprintjs-pro": "3.7.1",
"@fingerprintjs/fingerprintjs-pro-react": "1.3.1",

Can you reproduce it? If yes, please check the browser console for related error messages.

I am also getting this error often but not always. I cannot reproduce it myself but it does not seem browser specific as I see this error occurring for many of my site's visitors across various browsers. I would estimate this error occurs 5% of the time in my case.

@joeschneider32 Ad blockers are most likely to be the reason in your case. Custom subdomain can't protect from «Failed to load the JS script of the agent» yet, so please consider proxying integrations.

Thanks @Finesse . I appreciate the help!

@christo8989 sure!
"uBlock Origin" for Chrome with default settings.

I have the same issue in Android Build.
Note*  No VPN no add Block.

I can confirm that the issue arises consistently on current Chrome version with Adblock Plus and "@fingerprintjs/fingerprintjs-pro": "3.8.1"

Yes, it seems possible to me that Adblock Plus wasn't blocking the old CDN URL but is blocking the new one. As mentioned before, a proxy integration is the best way to protect the JavaScript agent not only from Adblock Plus now, but all ad-blockers in the future. You can have a look at our Protecting the JS Agent guide for a detailed explanation.

Hello, I get this error:
Error: Failed to load the JS script of the agent
We're on version
"@fingerprintjs/fingerprintjs-pro-angular": "1.1.0"
There is a problem with AdBlock, can you help me with solution, maybe there is couple of way to fix it (proxy integration it`s best but not in my case)

Hi, we implemented now a proxy solution using our web-server (Nginx) which was in our case much easier to set up than the cloud solutions suggested in the documentation.
Nginx proxy config (Similar solution can be done with Apache):
location ^~ /fpjs-cdn/ {
    proxy_ssl_server_name on;
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass https://fpnpmcdn.net/;
}

Agent initialization:
FingerprintJS.load({
    ...
    endpoint: 'https://fp.our-website.com', // Custom subdomain setup (See https://dev.fingerprint.com/docs/custom-subdomain-setup)
    scriptUrlPattern: '/fpjs-cdn/v<version>/<apiKey>/loader_v<loaderVersion>.js' // This uses our Nginx proxy
}

Hello @MiladSadinam ,
My name is Martin, I'm responsible for the proxy integrations at Fingerprint. Thank you for this interesting question.
In fact, the proxying of the identification, agent, and other types of requests that are performed by the Fingerprint Pro client-side libraries is much more complex than just "repeating" the requests. The proxy service needs to handle different aspects based on the internal data contract (I'll explain why the internal below) such as different cookie scopes, different data centers, how IP addresses in headers are serialized (and possibly spoofed by the malicious parties), up to date public suffix list, stripping /appending cookies/headers, caching, internal payload changes... As you can see many things can affect the accuracy of results significantly. Moreover, since browsers are evolving really fast must do the same as well.
Sadly, this implies that we must, more or less, regularly adjust or even abandon certain behaviors and introduce new ones in the proxy logic to ensure Fingerprint Pro is working and provides all the available features. Therefore we can't guarantee that any one-time setup will work in a month or in a year (the main reason is that we need to react quickly to the browser ecosystem changes and a strict, well-defined data contract would be too limiting for us - that's the reason why we really can't provide any well-defined data contract because we'd probably need to break it in a couple of weeks.
Instead of that, we decided to create out-of-the-box proxy integrations that will follow all of these internal best practices and data contract details. Moreover, all of our integrations can update themselves so even if we introduce an internal breaking change, the proxy logic is updated and our customers can benefit from the best accuracy and additional features and most importantly, without explicit actions from their side.
Could you please share with me any feedback regarding the existing proxy integration offering and why it doesn't work for you? What aspects of which integrations are complicated? I'll be also more than happy to discuss your feedback directly and perhaps address it in one of our next releases - please contact me at<EMAIL_ADDRESS>I appreciate any constructive feedback.
Thank you.
Cheers!
martin

Hello @MiladSadinam,
I reviewed your code snippet (and your email) one more time and I realized my original message might have been misleading. All the mentioned adjustments needed on the proxy's side are true and affect the accuracy significantly (but apply to identification requests only). Nevertheless, I didn't realize that you do use the subdomain setup for the identification request and this custom Nginx rule for agent download requests only.
Therefore your implementation is not bad, per se. However, I can see some problems with this approach.

I'm not familiar with your infra nevertheless, if this Nginx config affects just one machine and is not distributed on the CDN, the delivery time of the script would be slower.
You do use the fpjs-cdn path for the downloading script. There's a high chance adblockers already detect such paths, I'd recommend using some random string instead.
The hardcoded https://fpnpmcdn.net/ endpoint is not part of the public data contract. It might be changed in the future without further notice.
Our out-of-the-box proxy integrations provide better accuracy than the subdomain setup for some browsers because of the specific behavior of the browsers when it comes to the subdomains and different subnets.

Hi Martin,
Regarding your comments:

I think you are correct with reduced performance, but I believe it is acceptable in our case.
I will gladly change the name fpjs-cdn
Concerning that, https://fpnpmcdn.net/ might change in the future, I see that in your documentations (https://dev.fingerprint.com/docs/js-agent) you are everywhere mentioning https://fpjscdn.net. Should I replace https://fpnpmcdn.net/ by https://fpjscdn.net? Both seem to me to deliver the agent script file. Alternatively, I could also add FingerprintJS.defaultScriptUrlPattern as a second option for scriptUrlPattern to further mitigate the problem.

Our usage of FingerprintJs is not very critical for our system. I think I will observe for now the effectiveness of the current setup and come back to the other proxy setups in case I observe problematic behavior.
Thank you again for your feedback and instructions.

Hey @MiladSadinam,
I checked the implementation details with the team and both aliases fpnpmcdn.net and fpjscdn.net are the same. We may add new aliases, but the existing won’t be removed as long as somebody's using them.


[e2e]: go release main config-ldflags-noassets slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v17.0.367
Run: https://github.com/slsa-framework/example-package/actions/runs/5227578587
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-noassets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-noassets.slsa3.yml
Trigger: release
Branch: v17.0.367
Date: Sat Jun 10 02:20:20 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v17.0.368
Run: https://github.com/slsa-framework/example-package/actions/runs/5233131638
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-noassets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-noassets.slsa3.yml
Trigger: release
Branch: v17.0.368
Date: Sun Jun 11 02:46:43 UTC 2023
Tests are passing now. Closing this issue.


Fix - TSS-1127 - TRS Security Updates

bumping django and werkzeug

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

Comparison is base (be01e8e) 45.19% compared to head (df1c8d4) 43.54%.
Report is 4 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #377      +/-   ##
===========================================
- Coverage    45.19%   43.54%   -1.65%
===========================================
  Files           98       98
  Lines         5390     4965     -425
  Branches       644      644
===========================================
- Hits          2436     2162     -274
+ Misses        2954     2803     -151

Files
Coverage Δ

trade_remedies_public/password/tests.py
100.00% <ø> (ø)

... and 2 files with indirect coverage changes

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


Added inverse trigonometric sin tan and cos

I have added some inverse trigonometric functions (inverse of sin,cos,tan)
issue no : #80

It is for hacktoberfest so kindly label it once it merged. (hacktoberfest-accepted label)
Please add (hacktoberfest accepted) label once it merger

Thanks Roshan, for your contribution. Sure, we will add the label after we have reviewed and merged your pull request.


Refactor limit orders

Coverage increased (+2.0%) to 54.237% when pulling ca5536ca26617d98743099c3de0e55e184bc272b on refactor-limit-orders into 06e86e7819aa2a602eb2ffb3535f7414a2099f0e on develop.


Implements AddRecordCommand

Implements basic execution path for adding records to a person's record list.
Adds AddRecordCommand and AddRecordCommandParser classes,
Adds prefixes for date and record inputs in CLISyntax class.
Adds parseRecord function in ParserUtil class.
Adds personWithRecords field in ModelManager to encapsulate the current person whose records are being displayed/processed.

TODO:

Implement default state for personWithRecords field in ModelManager (currently set to NULL), when non-record dependent commands are executed. Consider creating class to represent a default person or placeholder person.
Implement functionality to change / set the current personWithRecords in ModelManager (limited by final modifier).

fixes #40

Codecov Report

Merging #47 (0137e7e) into master (6554894) will decrease coverage by 2.12%.
The diff coverage is 11.32%.

@@             Coverage Diff              @@
##             master      #47      +/-   ##
============================================
- Coverage     69.16%   67.04%   -2.13%
  Complexity      416      416
============================================
  Files            78       80       +2
  Lines          1375     1423      +48
  Branches        138      143       +5
============================================
+ Hits            951      954       +3
- Misses          390      435      +45
  Partials         34       34

Impacted Files
Coverage Δ

...seedu/address/logic/commands/AddRecordCommand.java
0.00% <0.00%> (ø)

...u/address/logic/parser/AddRecordCommandParser.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
84.21% <0.00%> (-4.68%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
83.33% <0.00%> (-13.89%)
:arrow_down:

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...in/java/seedu/address/model/person/RecordList.java
57.14% <0.00%> (-17.86%)
:arrow_down:

...rc/main/java/seedu/address/ui/RecordListPanel.java
0.00% <0.00%> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
88.13% <25.00%> (-4.60%)
:arrow_down:

...c/main/java/seedu/address/model/person/Person.java
86.53% <33.33%> (-11.29%)
:arrow_down:

...ain/java/seedu/address/logic/parser/CliSyntax.java
87.50% <100.00%> (+4.16%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


1-add-mist-effec-on-background

Need to add mist effect on background
Need to think about zoom of background, so that mist was perfectly placed ( Maybe consider change background )

Went with other option...for know


KAFKA-9713: Remove dead BufferExhaustedException, which was deprecate…

…d in <IP_ADDRESS>.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the PR. Please see https://github.com/apache/kafka/pull/1417/files for a previous PR that tried to tackle the same issue.


G17 accumulo validator filter

Need to add integration tests to check age off works in accumulo

This needs fully testing on an accumulo instance before being merged in.

Pull request approved.  Will be fully tested before push to master.


Really fix number of replicas when Typha is wanted

https://github.com/projectcalico/calico/pull/2340 didn't work because
include variables (like include.typha) are not automatically propagated
from one include to its sub-includes.
In any case, in master, calico-typha.yaml is only included now when
include.typha is true, so we can change it unconditionally to "replicas:
1", and we don't need the include variable here.

Deploy preview for calico ready!
Built with commit 5d22fa6395ad6778d10b5210dfddb992cb457629
https://deploy-preview-2347--calico.netlify.com


Stable Tag

I need a stable version to use on my project. Till now I was using master but it eventually breaks and my Jenkins go crazy.

What's breaking on master?  I'd like to get this fixed promptly, since that is intended to be a stable, tested base.
Versions released to pip should always be stable (if I find issues, I immediately release a new one).
Once any issues on master are fixed, I'll cut a 'stable' branch for base use.

I've run through existing tests, and am not seeing any issues... what's having problems?

@jeanCarloMachado ^ If you would please answer the above, I canl fix the issue or issues and hand over a stable branch for build use (reflected integration/deploy tested release states only). Thanks!

Sorry by the delay. There was some problems on the json.path.mini on that patch but it seems to be right on the current version.

Created "stable" branch and have started tagging release versions.


Act Properly When a Known Adapter is Missing From The Build

What is the ideal scenario for using this feature?
I want to run a workload the uses an adapter that was not included in the jar. The action or messaging for this case should explain (or point to an explanation) of how to either build for this adapter or even better how to get a build and load it.
Is your feature request related to a problem? Please describe.
When a user upgrades from a prior version and tries to use an excluded adapter like Kafka they don't get a quick and helpful error message with clear instructions.

Suggestions:

When an adapter is asked for which is not present in the runtime, we should inform the user about how some optional adapters are not always included.
We should also have a link to a docs page that explains how modular adapters work within the build and runtime.

It seems that #1933 was reverted and moved to StandardActivity.java

#2083 provides instructions


Stack compatibility

Hello thanks for creating this small but wonderful library.
Could you make you library compatible with stack?
I can not build it because of library version issues:
$ stack install dictionaries

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for dictionaries-<IP_ADDRESS>:
    binary-<IP_ADDRESS> must match >=0.7.5 && <0.8 (latest applicable is <IP_ADDRESS>)
    directory-<IP_ADDRESS> must match >=1.2.2 && <1.3 (latest applicable is <IP_ADDRESS>)
    time-<IP_ADDRESS> must match >=1.5.0 && <1.6 (latest applicable is <IP_ADDRESS>)

Plan construction failed.

Hello,
Sure, I'll fix it in a day or two.

I've updated bounds and created pull request on stackage[1]. Sorry for the delay, I guess, it will take time to approve it, but you can try to use the new version of the package (<IP_ADDRESS>) from hackage.
[1] https://github.com/fpco/stackage/pull/2374

Great! Thanks a lot!


New release needed.

There needs to be a new release that includes https://github.com/customd/jquery-visible/commit/4668a5e2ace563ce3944b2f6993017865e576f02
This is causing trouble for people: https://discourse.roots.io/t/installing-jquery-visible-plugin-with-bower

Fixed by 1.2.0 tag.

Can we make a new release?

PS
bower invalid-meta  The "description" is too long, the limit is 140 characters


Decide on whether we should keep the docker scripts

We have Docker scripts in dtcc-builder. Are they still used? Should they be removed or migrated to dtcc repo?

@anderslogg perhaps move to dtcc-infrastructure? I got a few handy utils there!

Remove the Docker scripts, probably broken anyway.


⚠ Bofrost.at has degraded performance

In c536e9e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 884 ms

Resolved: Bofrost.at performance has improved in e432d16 after 6 minutes.


LovyanGFX library and uvc_stream library both library sync   error   (IDFGH-10787)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
esp-idfv5.0.0
Operating System used.
Windows
How did you build your project?
Command line with CMake
If you are using Windows, please specify command line type.
None
Development Kit.
esp32s3 devkitC-1
Power Supply used.
USB
What is the expected behavior?
I am working a project , in this project i am include two library in this project ,but both library not sync together ,
but when i compile the single library in same project code compile susseccfully  , but not two library compile at same time why?
Error msg "main.cpp: error: designator order for field" in main.cpp file
What is the actual behavior?
On Wed, Aug 2, 2023 at 12:56 PM Nadeem Kumar`<EMAIL_ADDRESS>wrote:
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:278:5: error: designator order for field 'uvc_config::frame_index' does not match declaration order in 'uvc_config_t' {aka 'uvc_config'}
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:261:18: warning: unused variable 'uvc_config' [-Wunused-variable]
261 |     uvc_config_t uvc_config = {
|                  ^~~~~~~~~~
Steps to reproduce.

Step
Step
Step
...
On Wed, Aug 2, 2023 at 12:56 PM Nadeem Kumar`<EMAIL_ADDRESS>wrote:
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:278:5: error: designator order for field 'uvc_config::frame_index' does not match declaration order in 'uvc_config_t' {aka 'uvc_config'}
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:261:18: warning: unused variable 'uvc_config' [-Wunused-variable]
261 |     uvc_config_t uvc_config = {
|                  ^~~~~~~~~~
What is the designator order for failed type error?

Debug Logs.
On Wed, Aug 2, 2023 at 12:56 PM Nadeem Kumar`<EMAIL_ADDRESS>wrote:
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:278:5: error: designator order for field 'uvc_config::frame_index' does not match declaration order in 'uvc_config_t' {aka 'uvc_config'}
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:261:18: warning: unused variable 'uvc_config' [-Wunused-variable]
  261 |     uvc_config_t uvc_config = {
      |                  ^~~~~~~~~~
What is the designator order for failed type error?

More Information.
On Wed, Aug 2, 2023 at 12:56 PM Nadeem Kumar`<EMAIL_ADDRESS>wrote:
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:278:5: error: designator order for field 'uvc_config::frame_index' does not match declaration order in 'uvc_config_t' {aka 'uvc_config'}
/home/nadeem/Documents/esp-iot-solution-usb-add_usb_solutions1/examples/usb/host/usb_camera_lcd_display/main/main.cpp:261:18: warning: unused variable 'uvc_config' [-Wunused-variable]
261 |     uvc_config_t uvc_config = {
|                  ^~~~~~~~~~
What is the designator order for failed type error?

Pls give  replay

@Nadeemranm you have a mistake in your main.cpp file which leads to compilation error.

main.cpp:278:5: error: designator order for field 'uvc_config::frame_index' does not match declaration order in 'uvc_config_t' {aka 'uvc_config'}

In C++ initialization of struct members must be in the same order as in declaration

Thanks for the response
You mean will have to be declared member variable same order . which order
i am using the member variable of the structure
On Tue, Nov 21, 2023 at 9:04 AM Tomas Rezucha @.***>
wrote:

@Nadeemranm https://github.com/Nadeemranm you have a mistake in your
main.cpp file which leads to compilation error.
main.cpp:278:5: error: designator order for field
'uvc_config::frame_index' does not match declaration order in
'uvc_config_t' {aka 'uvc_config'}
In C++ initialization of struct members must be in the same order as in
declaration
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/11998#issuecomment-1820159731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7ABW7VYHURLJOWYJZOLPV3YFQOLHAVCNFSM6AAAAAA3BAVBQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRQGE2TSNZTGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


ArxivRetriever from langchain_community returning wrong number of documents

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
1 and 2 differ in get_ful_documents argument

from langchain_community.retrievers import ArxivRetriever
retriever = ArxivRetriever(
    load_max_docs=10,
    get_full_documents=True,
)
query = 'Artificial intelligence'
docs = retriever.invoke(query)
len(docs)
# 3

from langchain_community.retrievers import ArxivRetriever
retriever = ArxivRetriever(
    load_max_docs=10,
    get_ful_documents=True,
)
query = 'Artificial intelligence'
docs = retriever.invoke(query)
# 3

Error Message and Stack Trace (if applicable)
No response
Description
I was trying to use ArxivRetriever from langchain-community lib.
I've run these code cells first in colab. Initially I copypasted the code from langchain documentation you can find here. The retriever is called with get_ful_documents and not get_full_documents argument. Which I believe is not a typo in documentation, because no exceptions were raised.
Still, there was an issue. Whatever number I put in the load_max_docs argument, 1, 5 or 100, it gave only 3 documents when called.
Correcting get_ful_documents to get_full_documents did not help when working in colab, I still got len(docs) = 3.
However, when run locally, with different versions of libs than those from colab, the retriever yielded a correct number of docs with argument get_full_documents. But with get_ful_documents it still gave 3 docs.
System Info
colab:
langchain==0.3.10
langchain-community==0.3.10
langchain-core==0.3.22
langchain-text-splitters==0.3.2
arxiv==2.1.3
local machine:
langchain==0.2.1
langchain-community==0.2.4
langchain-core==0.2.41
langchain-text-splitters==0.2.4
arxiv==2.1.3

          DeepNude AI offers advanced tools for generating high-quality AI-powered imagery. With features like precision, ease of use, and seamless integration, it caters to beginners and professionals alike.  With features like precision, ease of use, and seamless integration, it caters to beginners and professionals alike.
Advanced results: Crisp and accurate outputs.
Why Choose DeepNude AI? https://installchecker.com/sl/7dr1n
Trusted worldwide for its efficiency, DeepNude AI combines simplicity with reliability, making it an ideal choice for users seeking fast, effective AI solutions
Originally posted by @comtthe in https://github.com/tidys/CocosCreatorPlugins/issues/33#issuecomment-2525654463

@katyachemistry, you need to use top_k_results which basically is how many documents do you need to fetch which you want (minimum number of documents). On the other hand, load_max_docs  is bascially if you are fetching more than x docs, this will act as a upper limit meaning query will never fetch more than this amount (maximum number of docs)

@katyachemistry check this: https://python.langchain.com/api_reference/community/utilities/langchain_community.utilities.arxiv.ArxivAPIWrapper.html

Their is a slight issue where load_max_docs is not being used but you want top_k_results regardless

I see. top_k_results works, thank you.


How to create a message thread w/ mail api

Issue Summary
I have a webhook setup for parsing inbound emails, which works fine, but I'm using the mail api to reply to the sender of that email. I can send the email just fine, but I want to reply to the senders email and build an email thread.  I couldn't find anything on this topic in Sendgrid's docs other than the ability to add custom headers.
After looking into how emails work in general, I learned about the In-Reply-To field and the References field. I successfully pulled the Message-ID from the sender's email and I set the In-Reply-To field to it in my messages header. On top of this, I append the Message-ID to the References string and send that along as well.
When I look at the raw email in Gmail, I can see that both fields are set, but it still sends as a new email rather than a reply to the original.
This is basically my code, I can't show everything, but if anything needs clarifying, I'll be more than willing to do so.
  const msg = {
    to: from,
    headers: {
      References: `${references} ${messageId}`,
      'In-Reply-To': messageId
    },
    from<EMAIL_ADDRESS>    subject: 'subject',
    text: 'reply',
  };

  sgMail.send(msg)

As far as the References field goes, I'm just taking the previous references from the sender's email and then appending the Message-ID to it. I have a feeling I might not be doing this right but I'm not totally sure.
Thanks for the help!
Best Regards,
Chris

It turns out in order to make a reply, you need to have to sender's email subject in your email's subject.
  const msg = {
    to: from,
    headers: {
      References: `${references} ${messageId}`,
      'In-Reply-To': messageId
    },
    from<EMAIL_ADDRESS>    subject: `Re: ${subject}`, // where subject is the sender's subject.
    text: 'reply'
  };

Thanks for providing the solution @Chrischuck!

what is this variable supposed to be?

${references}

This SO post says that it's supposed to be the msg ID..is that what you use?

@Chrischuck How are you obtaining ${references} and ${messageId} from the inbound parse?


apt update error for goaccess Ubuntu arm64

I recently installed goaccess arm64 on Ubuntu 20.04.1 using the distro specific instructions here (so it installs a newer version than what is in the official repo). This worked fine, and subsequent apt update commands completed execution without errors, but today I noticed this when running apt update:
Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'https://deb.goaccess.io focal InRelease' doesn't support architecture 'arm64'
/etc/apt/sources.list.d/goaccess.list:
deb https://deb.goaccess.io/ focal main
For the time being, I've just commented out that line, but I thought I would mention it as I didn't see an issue here for it.

Good point. I recently deprovisioned an arm server that was building these releases as I moved to automated vagrant builds. I don't recall finding an arm based image, I may need to look again or fire up again the arm server. I'll keep it open for the time being so I can look further into it. Thanks.

Can be use Docker or LXC container emulate ARM64 for that.
Or full virtualization with QEmu.
It is similar a vagrand. This is no so hard setup.

@0bi-w6n-K3nobi I agree, I'll be more incline to go the Docker or LXC container. Do you have a reference where I can look for such setup? Thanks!

@allinurl What is your daily use distro?

It's great!
I'm use Fedora/Centos a long long time...
Unfortunately there isn't version for AARCH64 [ARM64]...

Ok, I got it. You want an Unbuntu Docker/LXC that runs on Arch Linux ...

Wondering if it can be done with github actions...

GitHub Actions now supports self-hosted runners on the ARM and ARM64 architectures.
https://github.blog/changelog/2019-12-03-github-actions-self-hosted-runners-on-arm-architectures/

Quick Guide: Running non-native arch LXC container under Arch Linux
All rigth. Let's start from beginning.
As I said earlier, I prefer LXC over Docker.
It is more like a VM with the exception that there is no kernel running.
Documentation:
Arch Linux as always has impeccable documentation. But it is good to take a look one at Debian too.
Network:
I always use the network on the guest via bridge with the host.
In Docker it is like a bridge as everything happens through NAT.
In this case, you have two options: lxc-net or libvirtd.
lxc-net
It's simple. It works well, however it conflicts with dnsmasq service.
Then it will be necessary to disable dnsmaq. [ libvird running? ]
[ This is the only solution proposed by the LXC maintainers and various forums ]
Its default netmask is <IP_ADDRESS>/24. The bridge interface is lxcbr0.
It's so easy for lxc container nested. [ Yes, nested ]
libvirtd
Works like lxc-net. However, your DNS/DHCP coexists peacefully with dnsmasq.
It is the standard virtualization library that works with qemu/kvm and virt-manager.
Its netmask is <IP_ADDRESS>/24 and interface virbr0. I prefer this. And I use kvm too.
Installation:
There are three packages: lxc, lxc-templates and lxcfs. The latter is optional.
lxc-templates is unfortunately not found in the standard Arch Linux repository.
There is only the git version. But I managed to compile it and is available here.
Also install the packages: debootstrap, dnsmasq and which.
Sorry about that, but the installation dependencies are defective.
Setup:
After installation if you are going to use lxc-net there is a small touch.
It is necessary to create the file /etc/default/lxc-net
[ /etc/sysconfig/lxc-net in some distro like Fedora ]
with the following line:
USE LXC_BRIDGE = "true"
before starting the service.
Create the container:
The hard way, or standard form would be:
lxc-create -n name-of-container -t template-definition -- -option1 -option2 ...
and for Ubuntu in native architecture it would be:
lxc-create -n ubuntu-focal -t ubuntu -- -r focal --packages net-tools
[ and long long long time after ... ] and work like a charm!
However for non-native architecture such as arm64 it would be enough to add some like -a arm64.
And then you can see the error message: can't create arm64 container on amd64 .
But not everything is lost.
Simply edit the template /usr/share/lxc/templates/lxc-ubuntu file and comment out lines 808-811.
Again so more long time because arm64 is emulated...
The soft way, or there is an image repository for LXC. You can see the list of images here.
Then use:
lxc-create -t download -n ubuntu-focal-arm64 -- -d ubuntu -r focal -a arm64
This will be quick and clean. Now, we're almost there.
It doesn't matter which of the methods used to create the container. The result is very similar.
Don't forget to change the bridge interface if you use libvirtd in /var/lib/lxc/name-of-container/config.
Problem:
After installation, and this happens for the native version of architecture, just start.
But for non-native archs the systemd-resolved, systemd-networkd or NetworkManager services just don't work !!!
My bet is that the network interface is not exactly the same on all archs.
Remembering here the implementation of the signal. [ see old man 7 signal here ]
The workaround is to use ifconfig and route to manually adjust the network.
However the installation of the repository image does not come with the net-tools package.
The Solutions:
first - Download the arm64 package from net-tools here and install manually.
second - the biggest.
If we look here we already have a complete system tree ready for chroot jail. Only the network is missing.
The trick is to use the host's network:
mount --bind /proc /var/lib/lxc/name-of-container/rootfs/proc
remove or move /var/lib/lxc/name-of-container/rootfs/etc/resolv.conf [ is a link to systemd-resolved's file ]
cp /etc/resolv.conf /var/lib/lxc/name-of-container/rootfs/etc/resolv.conf
and finally:
chroot  /var/lib/lxc/name-of-container/rootfs
passwd root  [ don't forget change password ]
It is even possible to add a user and use sudo for a new one.
If enough, you can use the compiler and generate packages here.
and apt-get will work perfectly. So:
apt-get install net-tools
for finish:
exit
Start the Container:
But if we want an isolated sandbox system:  [ We finally arrived here ... ]
lxc-start -n name-of-container -F [ foreground like a vm ]
after login, for libvirtd:
ifconfig eth0 <IP_ADDRESS>  [ of your choice ]
route add default gw <IP_ADDRESS>
echo nameserver <IP_ADDRESS> >/etc/resolv.conf
or 10.0.3.X for lxc-net.
Restart sshd if you use that.
And everything should work as expected.
Aditionals and tips:
As already seen above,
lxc will create the container under /var/lib/lxc and a cache for each distro/version/arch under /var/cache/lxc.
If you have a large separate /home partition, I strong suggest use soft-link for the above mentioned directories for this partition.
i.e. use /home for large, volatile and non-system data.
For Fedora/CentOS/RH packages I use mock.
It is very functional, allowing 32 and 64 bits, for OS versions above and below the host.
Build a minimal directory tree for compilation, automatically installing additional packages needed.
Always runs on ordinary user.
It is possible to run the LXC container as an ordinary user without privileges ... but that is another story ...
It is also possible to limit the use of CPU, memory and SWAP.
And we come to the end of our journey.
I hope this guide is satisfactory for you.
Good job!

PS: I forgot this -- CGroup.
LXC between version 3 and 4 changed from CGroup V1 to V2.
I believe that Docker still requires the V1 version.
In this case, if you have problems use at boot line:
systemd.unified_cgroup_hierarchy = 0
Some documentation on this is found here.

Hmm, this does not seem to work.
I followed the installation instructions from https://goaccess.io/download#official-repo
At least not on an Apple M1-Machine while trying to install on Docker/Debian 11 I get this result:
sudo apt-get update
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Hit:2 http://deb.debian.org/debian bullseye InRelease
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
Get:4 https://deb.goaccess.io bullseye InRelease [1631 B]
Fetched 85.1 kB in 5s (18.7 kB/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'https://deb.goaccess.io bullseye InRelease' doesn't support architecture 'arm64'

Some info from that machine:
uname -a
Linux goaccesstesthost 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 aarch64 GNU/Linux

I do not know, what causes this error since your list above clearly lists this architecture.

Oops, answering my own question: obviously there is the combination bullseye + arm64 missing. Doh.

@alqu I'll need to revisit this as bullseye arm64 was segfaulting under qemu when running apt-get update. Let me check again and will post back.

@allinurl any news on the image? :-)

@alqu Please give it a shot and let me know how it goes - just added arm64 bullseye. Here's the latest list:

goaccess |      1.6.1-jammy |    jammy | arm64
goaccess |    2:1.6.1-jammy |    jammy | amd64
goaccess |   1:1.6.1-impish |   impish | amd64
goaccess |   1:1.6.1-bionic |   bionic | arm64, amd64
goaccess |     1.6.1-bionic |   bionic | i386
goaccess |    1:1.6.1-focal |    focal | arm64, amd64
goaccess |     1.6.1-xenial |   xenial | arm64, amd64, i386
goaccess |    1.6.1-stretch |  stretch | arm64
goaccess |  1:1.6.1-stretch |  stretch | amd64, i386
goaccess |   2:1.6.1-buster |   buster | arm64, amd64
goaccess |   1.6.1-bullseye | bullseye | arm64, i386
goaccess | 1:1.6.1-bullseye | bullseye | amd64

@allinurl Awesome. It works perfectly. Thanks a lot!

armhf is now supported as well.
goaccess |    2:1.6.2-jammy |    jammy | armhf, arm64, amd64
goaccess |   1:1.6.2-impish |   impish | amd64
goaccess |   1:1.6.2-bionic |   bionic | armhf, arm64, amd64, i386
goaccess |    1:1.6.2-focal |    focal | arm64, amd64
goaccess |   1:1.6.2-xenial |   xenial | armhf, arm64, amd64, i386
goaccess |  1:1.6.2-stretch |  stretch | armhf, arm64, amd64, i386
goaccess |   2:1.6.2-buster |   buster | arm64, amd64
goaccess | 1:1.6.2-bullseye | bullseye | armhf, arm64, amd64, i386


Extend strategy lookup to class ancestors chain

Currently when specifying a throttling strategy on a parent worker class
the strategy won't be inherited by the child worker class.
This PR extends the registry, so it also looks for the strategy by class ancestors.

Thanks!

Thank you!


fix l2_normalization shape bug

Found a bug when using L2Normalizatino layer. Shape inconsistent.
Dig into the code and found the original code tried to "FlatTo2D" which collapse the higher dimensions first.
If I didn't get it wrong, we should keep the first dimension which is the batch number, and fold the lower dimensions all together.

@winstywang

@piiswrong I remember that we have already fixed the behavior of FlatTo2D. It should maintain the first dim unchanged, right?
For 4-dim data, it depends on the application. We may need normalize across channel in some cases, while normalize within channel but across feature map in other cases. So it is better to have a choice on that. @ZhreShold

flatto2d's behavior hasn't been changed. A lot of existing code depends on it

So what do you guys recommend to do right now? I've double checked the behaviour of FlatTo2D hasn't been changed as @piiswrong has mentioned.
If the intended operation is ambiguous, how about using two parameters, "across_channel" and "across_spatial", and perform normalization accordingly?

The behavior of FlatTo2D has not changed for backward compatibility, we used get_with_shape and ProdShape instead, for example.

@ZhreShold Yes a switch would be good. Lets use channel/instance to be consistent with softmaxActivation


Make internal virtual column for lucene filter scores

Not sure on this, but let's try

Currently, only works with lucene.query filter
   { "type": "lucene.query", "field": "L_COMMENT.comment", "scoreField": "score", "expression": "\"after special\" ~10"}


Support of EAN Scanner

EAN Codes are much simpler to create and are almost everywhere (CD, Tape, aso.)

Created a Project in Fork.
Pull Request when done

Would this require an optical reader / camera?
Would this allow to use the existing codes on products?

Yes this is the Idea behind that.
Use the existing EAN-Codes and yes a camera/ean-scanner is needed.

Worked out of the box.
Register EAN Scanner with the RegisterDevice.py
There are 2 Prerequisites:

The Scanner has to send Carriage Return after reading
The Scanner has to work as USB-Keyboard as STDIN
most of the Barcodescanner can be configured. Please see the device Handbook.

@MiczFlor
finished this one.
All my RFID-Cards now get additional EAN Codes on the back. So I can run 2 Jukeboxes with different input devices with only one definition. (cloning the Raspberry SD)


Op params changelog

Auto generate changelog from changes in op params, params.
Apart of #79.
Redoing PR because the merge action didn't run correctly.

/merge


Create .gitignore

Try to adjust it to each language. Also add misc items.

Now, we have to remove the duplicated items.


Missing tests for the MAC command

New command was added (https://github.com/Dasharo/dcu/pull/10), but no new tests have been added. This should not happen @BeataZdunczyk @mkopec

The following test cases for the mac command were added in https://github.com/Dasharo/dcu/pull/13:

Set valid MAC
Set invalid MAC
Get MAC
Get MAC Bad checksums
Set MAC Bad checksums
MAC Unsupported binary


'Example profile device selector' failed to load

Hi all,
After a lot of problems with my network I managed to run the setup and rebuild scripts of CARLA in Ubuntu 16.04. When the last mentioned script finished its execution the CARLA project opened in Unreal as expected.
The thing is I closed Unreal and tried to open the project again to confirm it is all working right. To do so, I navigated into the Binaries/Linux folder of the engine (UnrealEngine_4.18/Engine/Binaries/Linux I believe) and executed ./UE4Editor to open the editor in order to load CARLA project once inside. For my surprise I get the following:
"Plugin 'ExampleProfileDeviceSelector' failed to load because module 'ExampleProfileDeviceSelector' could not be found. Please, ensure that the plugin is properly installed"

(Sorry for the poor quality, I know a .txt or copy-paste of the log would have been much better)
Have not tried yet to open the project directly from the terminal, but this is worrying me. I write the issue here because before building CARLA Unreal worked fine. I have googled the problem and have not found a satisfactory answer. Tried to delete Intermediate, Build and Saved files but nothing.
Has this happened to someone else? Any solution? Should I rebuild Unreal from scratch?
Thanks,

Uhm, that's something I hadn't tried before, but I can confirm it happens to me as well. I don't see how Carla could break this :thinking:

I have opened the project from terminal with command "./UE4Editor.sh PATH-TO-PROJECT/CarlaUE4.uproject" and it works fine. However, it would be nice if other people could confirm that it is not possible to open UE4Editor directly in Linux after building Carla from source.

exact same situation happened to me. Solved in the same way by calling the file when running ./UE4Editor "PATH-TO-PROJECT/CarlaUE4.uproject"
Only problem is that I can not pass any other input argument similar to :
./CarlaUE4.sh -windowed -ResX=320 -ResY=240 -benchmark -fps=10

exact same situation happened to me. Solved in the same way by calling the file when running ./UE4Editor "PATH-TO-PROJECT/CarlaUE4.uproject"
Only problem is that I can not pass any other input argument similar to :
./CarlaUE4.sh -windowed -ResX=320 -ResY=240 -benchmark -fps=10

I better left-clicked the uproject file and opened with UE editor

You need to give it a path to carla  otherwise change the defaults:
This link might help:
https://www.epicgames.com/unrealtournament/forums/unreal-tournament-development/ut-development-programming/mac/13460-ut-exampledeviceprofileselector-please-help

I still cannot open the unreal engine. The error message still keeps popping up

For those who still has the problem:

Open the UE4.sln file inside the source folder with Visual Studio 2019.
In the build bar ensure that you have selected 'Development Editor', 'Win64' and 'UnrealBuildTool' options. Make sure your current selection is 'Development Editor', as the combo box is too small to see all the text. Better if you choose again.
In the solution explorer, right-click UE4 and select Build.

Well I have the same issu, i cant open unreal engine from ubuntu 20.04, after i build carla. when i run make launch, it goes down, then can't open unreal edtior.
i got this error:
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: === Handled ensure: ===
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error:
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: Ensure condition failed: VendorId != EGpuVendorId::Unknown [File:/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/VulkanRHI/Private/VulkanDevice.cpp] [Line: 182]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error:
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: Stack:
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f1fac6b1ea3 libUE4Editor-VulkanRHI.so!FVulkanDevice::FVulkanDevice(FVulkanDynamicRHI*, VkPhysicalDevice_T*) [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/VulkanRHI/Private/VulkanDevice.cpp:182]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f1fac74b8c6 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::SelectAndInitDevice() [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:551]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f1fac747bf3 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:694]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f1fac747808 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:241]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f208b28818d libUE4Editor-RHI.so!RHIInit(bool) [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/RHI/Private/DynamicRHI.cpp:228]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x0000000000283ba3 UE4Editor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:2555]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x000000000027aacc UE4Editor!GuardedMain(char16_t const*) [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/Launch/Private/Launch.cpp:127]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f2087d3d286 libUE4Editor-UnixCommonStartup.so!CommonUnixMain(int, char**, int ()(char16_t const), void (*)()) [/home/bk2w0w/UnrealEngine_4.26/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:264]
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x00007f2087b61083 libc.so.6!__libc_start_main(+0xf2)
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error: [Callstack] 0x0000000000263d39 UE4Editor!_start()
[2023.11.12-22.05.02:146][  0]LogOutputDevice: Error:
at the end when it kill the make i got these:
[2023.11.12-22.10.10:958][  0]LogStaticMesh: Building static mesh SM_SkyscraperNY_02_v03...
/home/bk2w0w/carla/Util/BuildTools/BuildCarlaUE4.sh: line 185: 70525 Killed                  ${GDB} ${UE4_ROOT}/Engine/Binaries/Linux/UE4Editor "${PWD}/CarlaUE4.uproject" ${RHI} ${EDITOR_FLAGS}
make: *** [Util/BuildTools/Linux.mk:7: launch] Error 137
when i run this : ./UE4Editor "PATH-TO-PROJECT/CarlaUE4.uproject"
its  do the same, but in the end i just got "killed"

Any solution?


Drop invalid Azure E2E tests

What this PR does / why we need it:
Azure doesn't support in-tree cloud provider since 1.27, so all non-external 1.27 and 1.28 tests for Azure are invalid.
What type of PR is this?
/kind cleanup
Does this PR introduce a user-facing change? Then add your Release Note here:
NONE

Documentation:
NONE

/assign @kron4eg

/hold
/test pull-kubeone-e2e-gce-default-csi-ccm-migration-v1.27.11

/lgtm
/approve

/test pull-kubeone-e2e-gce-default-csi-ccm-migration-v1.28.7

Replaced by #3160
/close


Add support keyword-only attributes on Plugins (#5801)

Pull request opened by the merge tool on behalf of #5801

Merged in e9df85ff06d92eaf4c4c1f5c014ac6bfbdfaa1af


Missing info in the doc's

Hi,
I am trying to update workbox from 3.4.0 to the latest version 3.6.2
I am reading the https://github.com/GoogleChrome/workbox/releases
The workbox.navigationPreload.disable() is not mentioned in the doc's, see webpage: https://developers.google.com/web/tools/workbox/modules/workbox-navigation-preload#basic_usage

I dont like to complain and give no solution so here is a possible solution to an improvement:

Please note: When I was injecting this code there is NO documentation about the release update:

Added the disable() method to workbox.navigationPreload

The doc's only talk about enable() and don't say anything about disable(), this highlights one of my points that releases are being created and no updates to the doc's to explain these updates are always being done.
See here: https://developers.google.com/web/tools/workbox/modules/workbox-navigation-preload#basic_usage
Above link only talks about enable() and not disbale()
Lastly, I would be grateful any help with the updates questions I said above.

It's documented at https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.navigationPreload#.disable
We don't specifically call out each method that's exposed in the API in that "modules" section of the docs.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/*-test.mjs' as in template
chore(package): set $.ava.extensions='mjs' as in template

Coverage remained the same at 99.231% when pulling ff4ef8357bdcc4ee393807e1accc3b2e43865ae2 on npm-template-sync-1 into 68340a2c42bf29407599424888429292f46d81b8 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


gridView setSelectionColumn bug fix

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
no tests available

Fixed issues
-

Yii version
2.0.9

Bug discussion: yii.gridView.js

Merged. Thanks!


feat: port RingTheory.FreeCommRing

[ ] depends on: #3414

original: #3087

This PR/issue depends on:

leanprover-community/mathlib4#3414
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#3414
By Dependent Issues (🤖). Happy coding!


Line break

I don't think line break formats properly

Can you provide some sample example

The one that renders well is the chatgpt app, but the other one is the package

It doesn't properly render >text and line breaks

Also I have another question
For this md, from the "starting point" text there, it's always white when other text is black and it's not nice in light theme

Atsjydhahhxjdjsjjagafqhhadhjdsjejje

Dummy description text.
starting point data: Dummy pattern.

gpt_markdown doesn't support > syntax currently. But this will be added very soon.
For the second question I think you are asking about if we can change the color of the text or not. We can change the color of the text and also it by default uses app theme. So the text will be black for light theme and white for dark theme.

Thanks for the quick reply.
I noticed symbols like ʃ don't show properly.
They show as a box with x.
Is there any workaround for this?

You can use latex syntax to show them like \(\int\).

gpt_markdown doesn't support > syntax currently. But this will be added very soon.
For the second question I think you are asking about if we can change the color of the text or not. We can change the color of the text and also it by default uses app theme. So the text will be black for light theme and white for dark theme.

Yo man, sorry to stress u but do u know how I can find what property of my textTheme determines that color?
It's the text directly  under the  -  list
,,,

Atsjydhahhxjdjsjjagafqhhadhjdsjejje

Dummy description text.
starting point data: Dummy pattern./// this line is always white
,,,

I hope doesn't render it this time

Is it headline, title,  or ?

Oo.. This is a bug. I will fix that.

It is already fixed in the latest version of gpt_markdown

Gracias.
Concerning  this workaround
"You can use latex syntax to show them like (\int)."
I have a lot of symbols not rendering properly properly  so this solution  is kind of unrealistic in my case.
I need like a parser function now🥲
Im in trouble

Some examples and they are much more
læmb liːf
lʌv  pɔːl
None of the symbols render well.
Also, for the future adding a fallback widget parameter for failed latex will be very nice

I am not entirely sure about the issue you are facing, but it might be that the font you are using doesn’t support those symbols.

Wow that's true
I think you're right actually
Hmm

You can already check if the latex will fail or not by uising latexBuilder and flutter_math_fork package.

latex builder is in TexMarkdown class. You can check the example file.

Hi, love your plugin. I have the same issue. Line breaks are not taken in account. It leads to lists being shown as one whole lap of text.

Can you please provide the input text also. So that I can test.

Excuse me, it was my method of processing the GPT response that removed linebreaks. It works correctly now!


Apparent race condition after fetching token via redirect

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Framework
Vue v2
Description
I have an SPA client registed in Azure AD. I also have a custom API that it calls registered in Azure AD. Before every call to my API, I call a function that calls acquireTokenSilent({ scopes: apiScopes }) and falls back to acquireTokenRedirect().
I'm also hitting this endpoint on page load, so I'm acquiring tokens on page load.
I would expect the flow to work like this.

Load page. User is unauthenticated. Log them in.
Acquire token. Since the API is a custom registered API, the login process didn't return tokens for it. acquireTokenSilent() fails, and acquireTokenRedirect() triggers
On redirect back to my app, access token for my API has been set, and the next call to acquireTokenSilent() succeeds.

Instead, sometimes, the final call to acquireTokenSilent() will sometimes still throw a "no_tokens" error. I look in application storage, and I don't see tokens stored for my API. This error looks no different from the error I would expect to see when I need to do the redirect, so my flow doesn't know what to do besides trying acquireTokenRedirect() again. This causes a redirect loop that continues 2 - 6 times before it finally works.
Putting a ~2 second delay before the acquireTokenSilent() call avoids this issue, so it feels like there's something I should waiting for before calling, but I don't know what that would be.
Security
Regression
Not to my knowledge
Configuration
{
    auth: {
      clientId: `${clientId}`,
      authority:
        `https://login.microsoftonline.com/${tenantId}`,
      redirectUri: `${window.location.origin}/login`,
    },
    cache: {
      cacheLocation: "localStorage".
    },
    system: {
      loggerOptions: {
        loggerCallback: (level, message, containsPii) => {
          if (containsPii) {
            return;
          }
          switch (level) {
            case 0:
              window.console.error(message);
              return;
            case 1:
              window.console.info(message);
              return;
            case 2:
              window.console.debug(message);
              return;
            case 3:
              window.console.warn(message);
              return;
          }
        },
        piiLoggingEnabled: false,
      },
      windowHashTimeout: 60000,
    },
  };

Reproduction steps

Expected behavior
That after acquireTokenRedirect() has been completed, that the tokens would be stored in browser storage and immediately accessible for a acquireTokenSilent() call
Browsers
Not sure if browser specific, but seeing in Edge 81

@Basaingeal Are you waiting for handleRedirectPromise to resolve before calling acquireTokenSilent? Given that setting a delay seems to fix your problem I suspect the response from the redirect request is not finished processing before you call acquireTokenSilent. You should also be able to retrieve the token from the redirect response, an immediate silent call should not be needed in order to retrieve the token.
This sample may be of interest to you.

Interesting. That works. I hadn't thought to use that as a promise to await outside of initial configuration. That sample that you linked is what I was going off of, although I had to tweak some things to fit into an authenticated router setup.
So basically doing the call how the sample said but with that extra initial await works:
async function getTokenRedirect(request) {
    await myMSALObj.handleRedirectPromise();
    return await myMSALObj.acquireTokenSilent(request).catch(async (error) => {
        console.log("silent token acquisition fails.");
        if (error instanceof AuthenticationRequiredError) {
            if (AuthenticationRequiredError.isInteractionRequiredError(error.errorCode, error.errorDesc)) {
                // fallback to interaction when silent call fails
                console.log("acquiring token using redirect");
                myMSALObj.acquireTokenRedirect(request);
            }
        } else {
            console.error(error);
        }
    });
}

I'm not sure if this could be clearer somehow. Most of the examples are still based on the old handleRedirectCallback flow, and the examples given of the new flow basically just recreate handleRedirectCallback with myMSALObj.handleRedirectPromise().then((tokenResponse) => { ... })
I think in the sample, the getToken methods are all only called after we're past the resolution of the handleRedirectPromise promise. But because it's not obvious just based off of the sample, it seems easy to fall into the trap that I did. When you're using a framework and a lot of things are wired to happen on load, putting everything on hold to only complete when a promise is resolved can be tricky.
Having that promise always exposed via the handleRedirectPromise solves this, but it's not clear through any samples I would say.

@Basaingeal I agree. Our redirect flows are not as well documented as they could be and we definitely have plans to improve that. The redirect promise is a new concept we introduced in the newest beta of msal-browser in an effort to align redirect flows with popup flows and reduce confusion. Your feedback is much appreciated and we'll make sure to call this out more clearly in the docs and samples!


fix: remove guava

This PR removes guava from the list of dependencies.

Closing this PR in favor of https://github.com/Constellation-Labs/tessellation/pull/965


Added observational learning to train neural net

and played against the dumb bot several times

I removed the trained model from this PR because it's already on main in the tic-tac-toe src/main/resources folder.


Allow overriding the host for secure token requests

Feature proposal

Firebase Component: Auth

Please allow overriding the host for secure token requests to enable developers using their own reverse proxy in places where securetoken.googleapis.com is blocked.
There is currently a private API on FIRSecureTokenRequest to set the host. It should be sufficient to expose this method in the header.
Overriding the host is already possible for other Firebase services (e.g. Firestore as explained here).

@renkelvin Any thoughts about this one?

Along the same lines I’d like to request the -[FIRIdentityToolkitRequest setHost:] private API to be exposed as well.
Both FIRIdentityToolkitRequest and FIRSecureTokenRequest seem to be needed in order to authenticate a user and get a secure token (the latter only if it expired).


Unable to obtain the corresponding TXT record through _acme-challenge.example.tld

Architecture

Traefik: <IP_ADDRESS>
Smallstep: <IP_ADDRESS>
ACME DNS: <IP_ADDRESS>

These services all run in containers and can communicate with each other.
acme-dns.cfg is configured as follows:
[general]
# DNS interface. Note that systemd-resolved may reserve port 53 on <IP_ADDRESS>
# In this case acme-dns will error out and you will need to define the listening interface
# for example: listen = "<IP_ADDRESS>:53"
listen = "<IP_ADDRESS>:53"
# protocol, "both", "both4", "both6", "udp", "udp4", "udp6" or "tcp", "tcp4", "tcp6"
protocol = "both"
# domain name to serve the requests off of
domain = "auth.acme.org"
# zone name server
nsname = "ns1.auth.acme.org"
# admin email address, where @ is substituted with .
nsadmin = "admin.acme.org"
# predefined records served in addition to the TXT
records = [
    "ingress.test. A <IP_ADDRESS>",
    "_acme-challenge.ingress.test. CNAME 1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org.",
    "ingress.test. NS ns1.auth.acme.org.",
    # domain pointing to the public IP of your acme-dns server
    "ns1.auth.acme.org. A <IP_ADDRESS>",
    # specify that auth.example.org will resolve any *.auth.example.org records
    "auth.acme.org. NS ns1.auth.acme.org."
]
# debug messages from CORS etc
debug = true

[database]
# Database engine to use, sqlite3 or postgres
engine = "postgres"
# Connection string, filename for sqlite3 and postgres://$username:$password@$host/$db_name for postgres
# Please note that the default Docker image uses path /var/lib/acme-dns/acme-dns.db for sqlite3
# connection = "/var/lib/acme-dns/acme-dns.db"
connection = "postgres://xxxxxx:xxxxxxx@xxxxxxx:5432/acme-dns?sslmode=disable"

[api]
# listen ip eg. <IP_ADDRESS>
ip = "<IP_ADDRESS>"
# possible values: "letsencrypt", "letsencryptstaging", "cert", "none"
tls = "none"
# listen port, eg. 443 for default HTTPS
port = "8080"
# disable registration endpoint
disable_registration = false
# only used if tls = "cert"
tls_cert_privkey = "/etc/tls/example.org/privkey.pem"
tls_cert_fullchain = "/etc/tls/example.org/fullchain.pem"
# only used if tls = "letsencrypt"
acme_cache_dir = "api-certs"
# optional e-mail address to which Let's Encrypt will send expiration notices for the API's cert
notification_email = ""
# CORS AllowOrigins, wildcards can be used
corsorigins = [
    "*"
]
# use HTTP header to get the client ip
use_header = false
# header name to pull the ip address / list of ip addresses from
header_name = "X-Forwarded-For"

[logconfig]
# logging level: "error", "warning", "info" or "debug"
loglevel = "debug"
# possible values: stdout, TODO file & integrations
logtype = "stdout"
# file path for logfile TODO
# logfile = "./acme-dns.log"
# format, either "json" or "text"
logformat = "text"

Get acme-dns account fulldomain TXT records:
dig @<IP_ADDRESS> 1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org. txt

; <<>> DiG 9.10.6 <<>> @<IP_ADDRESS> 1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org. txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59470
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org. IN TXT

;; ANSWER SECTION:
1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org. 1 IN TXT "___validation_token_received_from_the_ca___"
1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org. 1 IN TXT "___validation_token_received_from_the_ca___"

;; Query time: 4 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Jul 15 23:18:04 CST 2024
;; MSG SIZE  rcvd: 291

This seems to be all working fine!
				IN	TXT

;; ANSWER SECTION:
_acme-challenge.ingress.test. 3600 IN	CNAME	1821f647-e876-455c-9cd1-d7c54b5aacd0.auth.acme.org.

;; Query time: 3 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Jul 15 23:22:26 CST 2024
;; MSG SIZE  rcvd: 149

There seems to be a problem here. In theory, both the CNAME and TXT records should be queried at the same time, but no TXT record appears. As a result, the Smallstep CA I use cannot verify the DNS challenge and cannot issue a certificate!
This problem has troubled me for a long time and I have not found a solution. I look forward to your answer, which will be of great help to me. Thank you!

I think the problem might be here:
func (d *DNSServer) answer(q dns.Question) ([]dns.RR, int, bool, error) {
	var rcode int
	var err error
	var txtRRs []dns.RR
	var authoritative = d.isAuthoritative(q)
	if !d.isOwnChallenge(q.Name) && !d.answeringForDomain(q.Name) {
		rcode = dns.RcodeNameError
	}
	r, _ := d.getRecord(q)

+	for _, rr := range r {
+		if rr.Header().Rrtype == dns.TypeCNAME && len(r) == 1 {
+			q = dns.Question{
+				Name:   rr.(*dns.CNAME).Target,
+				Qtype:  q.Qtype,
+				Qclass: q.Qclass,
+			}
+		}
+	}

	if q.Qtype == dns.TypeTXT {
		if d.isOwnChallenge(q.Name) {
			txtRRs, err = d.answerOwnChallenge(q)
		} else {
			txtRRs, err = d.answerTXT(q)
		}
		if err == nil {
			r = append(r, txtRRs...)
		}
	}
	if len(r) > 0 {
		// Make sure that we return NOERROR if there were dynamic records for the domain
		rcode = dns.RcodeSuccess
	}
	log.WithFields(log.Fields{"qtype": dns.TypeToString[q.Qtype], "domain": q.Name, "rcode": dns.RcodeToString[rcode]}).Debug("Answering question for domain")
	return r, rcode, authoritative, nil
}

When there is only one CNAME record obtained from DNS, use the value of the CNAME record as the parameter of d.answerTXT() to obtain the TXT record in the database!
I don't know if this is a common practice, But I can traverse and query the TXT records on the CNAME in the cloud service provider's DNS like this:
dig TXT _acme-challenge.betterde.com @<IP_ADDRESS>

; <<>> DiG 9.10.6 <<>> TXT _acme-challenge.betterde.com @<IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59316
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;_acme-challenge.betterde.com.	IN	TXT

;; ANSWER SECTION:
_acme-challenge.betterde.com. 600 IN	CNAME	1ef56a0d-5f76-4aae-93ca-d3209823a217.betterde.com.
1ef56a0d-5f76-4aae-93ca-d3209823a217.betterde.com. 600 IN TXT "L6gnTrq24MA66xjFQ0jvAFhtia83cxu2zJBtPdMB6UH"

;; Query time: 200 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Tue Jul 16 03:13:24 CST 2024
;; MSG SIZE  rcvd: 164

@jinrenjie are you able to provide some more specific instructions on that fix?
I have the exact same issue and assumed it was something I'd configured incorrectly. Is there a workaround in the DNS config?
Are you saying we can't have any other CNAMEs at all on the DNS for it to work?

@TRPB I think the problem is that when we query the DNS for the TXT record, it doesn't process the CNAME record that exists on the DNS and then query the corresponding TXT record according to the CNAME record!
Later, I did not use this project as the DNS Challenge service provider, but wrote my own project betterde/cdns, but my project is limited to intranet development or test environment, not for production environment!

Alll your dig tests run directly via the acme-dns instance and not via a public dns, so this is just a local test and not an internet wide test.
You only tested that acme-dns delivers the update challenge tokns, but you didn't tested if they can be found on the public internet with your DNS setup. Check via an big DNS provider like Cloudflare, Google, Quad9, etc.
Your NS is inside the acme-dns domain, I never saw this setup before, etither the NS is the domain itself with glue records for the IPs, or the NS is outside its domain.


Include all ingest-to-phylogenetic%.yaml workflows

Prompted by changes in https://github.com/nextstrain/avian-flu/pull/71
Related to https://github.com/nextstrain/status/issues/12
Checklist

[x] Checks pass

Verified that the page generated from the CI workflow includes the avian-flu GH Action workflows:

Verified the previous inclusions of dengue, measles, and zika's ingest-to-phylogenetic.yaml workflows still work as expected.
Merging for my own daily use of the status page.


HTML

#HTML
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide Website
WHEN I visit the website in my browser
THEN I see four boxes title HTML, CSS, and Javascript with associated notes listed

Complete!


Icon Request: Layers

This is a great library and we'd love to use it in the map project we are maintaining but there are still missing icons.
Map can be found here:
http://israelhiking.osm.org.il/#/14/31.8678/34.9046
If all the icons on the buttons were available here it would be great!
Also the icons in the map itself, but this will probably require a lot of work, we currently use SJJB png images for the map icons but you can get ideas from there.

Is this repository still maintained?

seems nop


Update Ireland holidays

Proposed change

Update Ireland holidays:

update/add some holidays' years of appearance
remove observed holidays (since the exact day of observed holidays is not established by law)

Closes #1652.
Type of change

[ ] New country/market holidays support (thank you!)
[x] Supported country/market holidays update (calendar discrepancy fix, localization)
[ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency update (version deprecation/upgrade)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] I've run make pre-commit, it didn't generate any changes
[x] I've run make test, all tests passed locally

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 17 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
10506

Relevant Lines:
10506

💛  - Coveralls


Querying the iceberg table may cause fe oom

Enhancement
When I have a very huge iceberg table, even if I only query a small part of its partitions, it may still cause fe oom. There are two ways to reproduce it. The first is to kill all be nodes during the query process, and the second is use explain verbose to view the plan of this query. The root cause of fe oom caused by these two recurrence methods is that all partitions are obtained by using listPartitionNames in IcebergScanNode.getNodeExplainString. Is there any plan to optimize it?

Can you post the "analyze" of the plan.   Also post the FE and BE.   Also what version are you using?


Add issues template

I would like to add a issues template for this repository. I believe that having a standardized template will help streamline the contribution process, ensuring that all necessary information is included and making it easier for maintainers to review issues.
Could you please assign this issue to me under GSSOC'24.

Whenever a person opens up a new issue, there should be already written templates for different kinds of issues. This will help in easy categorisation of issues like bug fix or feature enhancement or documentation issue. This will help the project admin to understand the issue easily if the template is followed.


Allow overriding new-style method animations

Motivation

As discussed with @friedkeenan on Discord a while ago, it would be neat if the new .animate syntax could be overwritten. (I also ran into problems when trying to implement add_edge, remove_edge etc. for the new Graph class without providing such custom animations.)
Overview / Explanation for Changes

This introduces a @animation_override decorator which can be used to specify a function returning an Animation which is called instead of the _MethodAnimation built when calling .animate normally.
Oneline Summary of Changes

- Allow overriding new-style method animations (:pr:`917`)

Testing Status

Added one example for the new syntax, builds locally (and works as intended).
Acknowledgements

[x] I have read the Contributing Guidelines

Reviewer Checklist

[ ] Newly added functions/classes are either private or have a docstring
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings
[ ] The oneline summary has been included in the wiki

Not sure if this is alright or not, but this wouldn't work with chaining .animate, so you wouldn't be able to do obj.animate.overidden_method(arg1).normal_method(arg2). I suppose until multiple animations of the same mobject are spiffed up/made clearer, this is probably the best option. I just wish there were some evident way for the user to know they won't be able to chain the method, but perhaps that's asking too much. I guess you could return an _AnimationBuilder and store the animation to be returned on build, and then give a nice, readable error if __getattr__ is called again, but that would complicate the logic and I'm not sure it's worth it.

Not sure if this is alright or not, but this wouldn't work with chaining .animate, so you wouldn't be able to do obj.animate.overidden_method(arg1).normal_method(arg2). I suppose until multiple animations of the same mobject are spiffed up/made clearer, this is probably the best option. I just wish there were some evident way for the user to know they won't be able to chain the method, but perhaps that's asking too much. I guess you could return an _AnimationBuilder and store the animation to be returned on build, and then give a nice, readable error if __getattr__ is called again, but that would complicate the logic and I'm not sure it's worth it.

You are right, and I don't like the fact that this prohibits method chaining.
There might be another approach: whenever an animation is overridden, we let the _AnimationBuilder run the corresponding method to actually build the animation, add it to an internal list -- and then we let build return an AnimationGroup consisting of all the collected animations. Non-overridden methods are handled the same way they are now.
What do you think?

You are right, and I don't like the fact that this prohibits method chaining.
There might be another approach: whenever an animation is overridden, we let the _AnimationBuilder run the corresponding method to actually build the animation, add it to an internal list -- and then we let build return an AnimationGroup consisting of all the collected animations. Non-overridden methods are handled the same way they are now.
What do you think?

I thought of that but then I figured that that would pose problems with regards to multiple animations of the same mobject, even if they're contained in one AnimationGroup. But if that's not an issue, then that seems like a good solution.

I thought of that but then I figured that that would pose problems with regards to multiple animations of the same mobject, even if they're contained in one AnimationGroup. But if that's not an issue, then that seems like a good solution.

Given the last couple of comments, this sounds like is in draft stage - correct? (just checking, no pressure :sweat_smile: )

Given the last couple of comments, this sounds like is in draft stage - correct? (just checking, no pressure :sweat_smile: )

Also, my two cents on the name of the decorator: I'd go with override_animate since it can be read in English ("this method overrides the behavior of .animate).

Also, my two cents on the name of the decorator: I'd go with override_animate since it can be read in English ("this method overrides the behavior of .animate).

Yes, let's make this a draft for now. I hope to have some time to incorporate my discussion with @friedkeenan later today.

Yes, let's make this a draft for now. I hope to have some time to incorporate my discussion with @friedkeenan later today.

Allowing method chaining for overridden animation methods is a bit too complicated and does not really yield good results, and I'd like to move this forwards -- so I've changed the implementation such that method chaining is prohibited in this case.
If, at some point, we have better tools to combine animations, we could revisit this -- but for now I think this is the best we can do.
Ready for review again.

Allowing method chaining for overridden animation methods is a bit too complicated and does not really yield good results, and I'd like to move this forwards -- so I've changed the implementation such that method chaining is prohibited in this case.
If, at some point, we have better tools to combine animations, we could revisit this -- but for now I think this is the best we can do.
Ready for review again.

The failing tests are unrelated to the changes made by this PR (and the reason should already be fixed with #937).

The failing tests are unrelated to the changes made by this PR (and the reason should already be fixed with #937).

SGTM.
Could you please add a test?

I am not aware of a way to actually test rendering animations currently. There already is an example included in the documentation, testing that the syntax works per se.
We can make the example into a graphical unit test, but I don't think this would test much more than whether the example compiles (which is already checked when rendering the documentation).

SGTM.
Could you please add a test?

I am not aware of a way to actually test rendering animations currently. There already is an example included in the documentation, testing that the syntax works per se.
We can make the example into a graphical unit test, but I don't think this would test much more than whether the example compiles (which is already checked when rendering the documentation).

I've added some unit tests in the latest commit. Please let me know if you had something else in mind, @huguesdevimeux. :-)

I've added some unit tests in the latest commit. Please let me know if you had something else in mind, @huguesdevimeux. :-)

This change silently animates animations like obj.animate.normal_method().overridden_method() incorrectly.
class Chaining(Scene):
    def construct(self):
        class DotsWithLine(VGroup):
            def __init__(self):
                super().__init__()
                self.left_dot = Dot().shift((-1, 0, 0))
                self.right_dot = Dot().shift((1, 0, 0))
                self.line = Line(self.left_dot, self.right_dot)
                self.add(self.left_dot, self.right_dot, self.line)

            def remove_line(self):
                self.remove(self.line)

            @override_animate(remove_line)
            def _remove_line_animation(self):
                self.remove_line()
                return Uncreate(self.line)

        x = DotsWithLine()
        self.play(x.animate.shift(RIGHT).remove_line())

https://user-images.githubusercontent.com/43117506/105646897-57045700-5e57-11eb-8ccc-8cfdd42255f7.mp4

This change silently animates animations like obj.animate.normal_method().overridden_method() incorrectly.
class Chaining(Scene):
    def construct(self):
        class DotsWithLine(VGroup):
            def __init__(self):
                super().__init__()
                self.left_dot = Dot().shift((-1, 0, 0))
                self.right_dot = Dot().shift((1, 0, 0))
                self.line = Line(self.left_dot, self.right_dot)
                self.add(self.left_dot, self.right_dot, self.line)

            def remove_line(self):
                self.remove(self.line)

            @override_animate(remove_line)
            def _remove_line_animation(self):
                self.remove_line()
                return Uncreate(self.line)

        x = DotsWithLine()
        self.play(x.animate.shift(RIGHT).remove_line())

https://user-images.githubusercontent.com/43117506/105646897-57045700-5e57-11eb-8ccc-8cfdd42255f7.mp4

Yeah, I realized this but wasn't sure on whether it was worth the extra code to allow checking for this situation, but I guess all it would take is another attribute that's set on a normal method animation

Yeah, I realized this but wasn't sure on whether it was worth the extra code to allow checking for this situation, but I guess all it would take is another attribute that's set on a normal method animation

Indeed, checking for this shouldn't be too difficult. And as this is a case where there can't be correct output at all, we shoud raise an error. I've opened #955 to keep track of it, and can prepare a fix tomorrow or so. Thanks for catching it, @eulertour!

Indeed, checking for this shouldn't be too difficult. And as this is a case where there can't be correct output at all, we shoud raise an error. I've opened #955 to keep track of it, and can prepare a fix tomorrow or so. Thanks for catching it, @eulertour!


define 2-arg Base.hash

If you only define the 1-argument hash(o::Py), then the 2-argument form hash(o, h::UInt) falls back to the generic Base method using objectid(o), which is not what you want.
(Subtracting - 3h is what Base.hash typically does to mix hashes; I'm not sure if you want to do something fancier here?)

Looks great, thanks.