Update package name and version for publishing on NPM

Is there anything else that needs to be done to publish to NPM?

cc @simonr0204 thoughts on the org name?

We could also do something like fuel-solidity if we want to distinguish it from some future helper libraries for sway contracts. I'm thinking we have our own set of audited contracts for devs to use like how most people use openzeppelin contracts.

I think the library name carries all the necessary info (namely, a Merkle tree library written in Solidity). To me it makes sense for it to be in the same namespace as all the other Fuel stuff published to npm.  (so that's @FuelLabs ? )

fuellabs is actually an account, not an org: https://www.npmjs.com/~fuellabs!

So it looks like the options are:

fuellabs
fuel-contracts
fuel-solidity

?

So will there eventually be Sway libs published there too ? In which case, neither solidity nor contracts would be accurate.

We could potentially have Sway libs there as well, though using NPM for anything related to Sway should probably be discouraged from the get-go. So looks like fuellabs is the most generic?

The typescript team is already using @fuel-ts. That's what made me suggest @fuel-contracts. @fuel-contracts could be shared with sway code, if we make this package name @fuel-contracts/merkle-sol to denote that it's solidity


[Feature]: Add effects support for light card

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Is your feature request related to a problem?
Currently it is impossible to display effects list
Describe the solution you'd like
Drop down list with possible effects to be supported by light card
Describe alternatives you've considered
No response
Additional context
No response

Nice enhancement idea

I have a PR with a select card if you're interested. Unfortunately HA doesn't expose the effects list as an entity natively, but one can be built with input_select for each light.

Many thanks, @PaoloTK. Could you please provide an example how to combine it with the light card and to add list of effects there?

Many thanks, @PaoloTK. Could you please provide an example how to combine it with the light card and to add list of effects there?

First of all, create a template select entity with the light effects:
template:   select:     - name: "Bedroom Lamp Effects"       state: "{{ state_attr('light.bedroom_lamp', 'effect') }}"       options: "{{ state_attr('light.bedroom_lamp', 'effect_list') }}"       select_option:         service: light.turn_on         target:           entity_id: light.bedroom_lamp         data:           effect: "{{ option }}"
Then either use my fork mushroom.js or compile your own version after importing my code. Then you can use something like stack-in-card to combine a mushroom light card and my mushroom select card in one card.

im supporting this


H signature fixes

An upstream bugfix to the denominator portion of Al caused all
H-signatures to be so close to zero as to be considered identical.
Restoring a previous, bigger numerator calculation to fix it but makes
the calculation much slower than before. So, we ultimately revert to the
way it was to before the fix to the denominator which, while
not matching the theorem, worked OK in practice and performed about 4
times faster.
Also made a couple of minor performance improvements and made consistent
use of the cplx typedef.

2540f33 h_signature: Undo recent changes for speed
ccf0bf6 h_signature: Tiny performance improvement
3afaf87 h_signature: Simplify calculation of log_value
9bb9cf5 h_signature: Revert to power function for f0 (numerator)
a1ec2e2 h_signature: Use cplx typedef consistently

This change is

include/teb_local_planner/h_signature.h, line 162 at r6 (raw file):

                        Al /= diff;
                     else
                        continue;

I'm baffled why this logic change was necessary. Am I missing something?

include/teb_local_planner/h_signature.h, line 162 at r6 (raw file):
Previously, c-andy-martin (C. Andy Martin) wrote…
I'm baffled why this logic change was necessary. Am I missing something?

Oh, I see, this is to undo the original fix and go back to old behavior

include/teb_local_planner/h_signature.h, line 148 at r5 (raw file):

                cplx obst_l = obstacles->at(l)->getCentroidCplx();
                cplx f0 = (cplx::value_type) cfg_->hcp.h_signature_prescaler* std::pow(obst_l-map_bottom_left,a) * std::pow(obst_l-map_top_right,b);
                //cplx f0 = (cplx::value_type) cfg_->hcp.h_signature_prescaler * (cplx::value_type)a*(obst_l-map_bottom_left) * (cplx::value_type)b*(obst_l-map_top_right);

I suggest changing the commit message for this commit to indicate that you are essentially reverting to commits, and list the commits, so we don't have to re-learn in a few months when we revisit this

include/teb_local_planner/h_signature.h, line 148 at r5 (raw file):
Previously, c-andy-martin (C. Andy Martin) wrote…
I suggest changing the commit message for this commit to indicate that you are essentially reverting to commits, and list the commits, so we don't have to re-learn in a few months when we revisit this

...reverting two commits... I hate that I can't edit these things after being published


Should I use a reference for xsimd::simd_return_type in a functor

Noob question. Still getting the hang of C++ :)
Say I have a functor which performs vector addition:
using vector_type = std::vector<uint32_t, XSIMD_DEFAULT_ALLOCATOR(uint32_t)>;

struct add
{
    void operator() (xsimd::simd_return_type<uint32_t, uint32_t> lhs, xsimd::simd_return_type<uint32_t, uint32_t> rhs, uint32_t offset, std::vector<vector_type>& destination)
    {
        (lhs + rhs).store_aligned(&destination[0][offset]);
    }
} add;

// Used like so
auto lhs_vector = xs::load_aligned(...);
auto rhs_vector = xs::load_aligned(...);
std::vector<vector_type> result;

add(lhs_vector, rhs_vector, result);

Should the functor arguments lhs and rhs be (const) references, or is pass by value fine? I know the C++ compiler should inline the code, so perhaps it doesn't matter?
Thanks for the amazing library!

It does not really matter in your case. I usually pass everything that is larger than (or as the same size as) a size_t (which should be the case of simd_return_type<X, X>).


Feature request to adding social share buttons

I don't see the social share buttons in the theme.
Can you add them back? Thx a lot!

Definitely need them!


Google Download link is deactivated

Google has disallowed download for the link given by the google form.
How to get access to the dataset now ?

Ack! That's extremely annoying. I think Google has been sporadically restricting access for a little bit now.
As I mentioned, I've started the process of migrating the dataset to Zenodo. When compressed, the dataset is above their default file size limit, so I am waiting on them to manually override this and allow me to upload it.
I'm hoping to have it available by the end of the week if that fits within your time frame.

Alright, give this a shot: https://zenodo.org/record/4599666

Hey, just want to follow up on this. Are you able to access the dataset on zenodo?

Hi there, sorry for the late reply. I indeed successfully downloaded the dataset thanks to the zenodo link you provided. Thanks a lot for your work.

Closing due to Zenodo link. Feel free to reopen if you have more issues.


Base64-decode pagination args

cc @chrisnojima

mike if you want to make any changes after you return, we can, but I think fixing bug important so merging now.


Notes: Remove older props no longer used for restricted note

Who is this PR for?
developers
What does this PR do?
These aren't used anymore; in working towards improving some UX improvements to reading and taking notes, this removes this old code to simplify the upcoming work.
Checklists
Which features or pages does this PR touch?

[x] Student Profile
[x] My Notes

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[x] Included specs for changes

selfie


Jamr rebase

Lots of changes to allow JAMR to integrate with and run in a server environment.

Oh, I'm sorry, I was only looking at the last commit "Added --input and --output options...". Lot's more changes here than I thought...

Thanks Sam!  Yeah I'll get to it soon, I just had some other stuff to take care of first.

Jeff, any idea when you may take a look at this? I have more work I'd like to do but I'm holding off


Could you provide hugging face version so that we can run in huggingface space.

Not quite sure whether huggingface's gpu match the requirements. If it works, could you provide a huggingface version? Thank you !

Info:
grok-1 on huggingface: https://huggingface.co/xai-org/grok-1
Discussion about conversion to huggingface safetensors: https://huggingface.co/xai-org/grok-1/discussions/13

Thank you


[usm] Change events.Consumer callback signature

What does this PR do?
Update events.Consumer callback signature from func([]byte) to func([]V) where V is the event type sent from kernel space.
(Note that the argument of the previous callback signature ([]byte) used to represent a single event, and now we're receiving multiple events at once)
Motivation

Better ergonomics: now that we're relying on generics there is no longer need for clients of this library to perform unsafe operations to "cast" blob of bytes into the event type. We were also able to simplify the code on the library side (iterator.go was completely removed, for example);

Better performance: this will actually be addressed in a subsequent PR, but now we're able to implement our callbacks for a batch of events, instead of a single one. This will be beneficial for HTTP, for example, given that a batch of HTTP events currently results in http.BATCH_SIZE calls to statKeeper.Process which means acquiring a mutex ~20 times in a row, instead of only once. So we're now able to reduce mutex contention in some of our hot paths.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Did you attempt to execute these modifications in the load test environment to check if there is a performance impact?

Did you attempt to execute these modifications in the load test environment to check if there is a performance impact?

@DanielLavie not yet, but will make sure to do that before merging


prototypeItem added to ReorderableList and ReorderableListView

Added prototypeItem argument to ReorderableList and ReorderableListView
Fixes #81603
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Also, should I add prototypeItem to these widgets? Like in ListView?

That would be another nice addition as well. If you feel comfortable adding that in this PR, then do so. Otherwise it could be in a follow on PR.

Originally posted by @darrenaustin in https://github.com/flutter/flutter/issues/81372#issuecomment-829894366


SyntaxError when attempting to import multiple things as a tuple

Perhaps a bit unusual, but why not:
$ python -m friendly_traceback

Friendly Console version 0.2.19. [Python version: 3.9.0]

>>> from math import (sin, cos) as funcs

Traceback (most recent call last):
  File "<friendly-console:1>", line 1
    from math import (sin, cos) as funcs
                                ^
SyntaxError: invalid syntax

Though I'm not sure what the intent / expectation would have been in that case:

Could be that funcs == (sin, cos) was expected, or
import (sin, cos as funcs), i.e. a misplaced parenthesis.

I'm not sure that I'll try to provide a fix for this one, but given that it yields valid syntax by moving the parenthesis, it meets the criterion of the contest.

I'm not sure that I'll try to provide a fix for this one, but given that it yields valid syntax by moving the parenthesis, it meets the criterion of the contest.


SonarQube WARNING: The following projects do not have a valid ProjectGuid

Added ProjectGuid to see if it makes SonarScanner happy:
WARNING: The following projects do not have a valid ProjectGuid and were not built using a valid solution (.sln) thus will be skipped from analysis...

C:\projects\nlog\src\NLog\NLog.csproj

SonarScanner.MSBuild.exe : No analysable projects were found. SonarQube analysis will not be performed. Check the build summary report for details.

https://ci.appveyor.com/project/nlog/nlog/build/4.5.0-7605

thanks again!

Yeah it works
Sent from my Samsung device
-------- Original message --------
From: Julian Verdurmen<EMAIL_ADDRESS>Date: 30/04/2018 11:30 (GMT+01:00)
To: NLog/NLog<EMAIL_ADDRESS>Cc: Rolf Kristensen<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [NLog/NLog] SonarQube WARNING: The following projects do not have   a valid ProjectGuid (#2683)
thanks again!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/pull/2683#issuecomment-385350590, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK-fnJgyURfAy82dtAfotPHCyRDz9TgMks5tttmogaJpZM4Tr-sm.

thanks!!


[contrib/terraform/openstack] Add support for router less deployments

Some OpenStack cloud providers do not allow Neutron routers. This PR adds a variable to enable/disable the creation of neutron routers (enabled by default for backwards compatibility).
Tested with OVH public cloud.

/lgtm
/approve


Feature/unimath

This branch is the start of the process of translating the
asts of ppx into unimath so that unimath can reason about itself.
I am thinking we should first start with a metacoq like sequence of bytes and strings for the identifier chars and compose the names that way

https://github.com/meta-introspector/ppx-introspector/blob/feature/unimath/src/gen7.ml
and   https://github.com/meta-introspector/ppx-introspector/blob/feature/unimath/src/gen7b.ml
and   is the 7th attempt to generate all the code, it has a bunch of manual edits.
lists and optional and optional loc structures are not handled.


Home Assistant Add-on: OpenZwave - can't add configuration

Using openzwave as add-on.
Current version: 0.2.1
Can't get the correct configuration in:
Configuration:
device: /dev/serial/by-id/usb-0658_0200-if00
network_key: null

Getting error:
Failed to save addon configuration, not a valid value for dictionary value @ data['options']. Got {'device': '/dev/serial/by-id/usb-0658_0200-if00', 'network_key': None}

chiming in to say I have the same issue

You need to set a network key. If you don't want to use a network key, make it an empty string e.g., network_key: ""

Thank you. Tip: put this in the documentation


Security section missing title bar at top

Rancher versions: 2.0 master 7/26
Steps to Reproduce:

Go to Global/Security - then anything under that drop-down

Results:  There is title bar at the top of any of those pages.  So if you go to Pod Security Policies, there is no way to know what page you are actually on
Roles

Pod Security Policies

Authentication

Example of correct title bar:

@vincent99
Added title bar for psp and Authentication
It doesn't look good if we add the title bar for Roles as there is already three tabs in the page.

Version - 2.0 master 7/30
Verified fixed


batvh   remove

sorry  to  botter    you.  I   want  to know how to   remove   batch   effect   in   your   scAce  . because   many   methods  like   harmony   need   pca   result. but  scAce   is   a    complete   workflow.  I  want   use   scAce   with   my   multiple   scrna   data.  can   you   offer   me   some    help?  thank you very much

Hello daiyi11.
It is important to note that scAce was not designed to remove batch effects.
For your specific purpose, our innovative method scDicso (https://github.com/Victory-LRJ/scDisco) may prove to be beneficial.
If you have any queries, please feel free to contact me.


[GUI] empty device name: the text has not been translated

The text has not been translated into Portuguese.
Steps to reproduce the problem:

Click "Novo dispositivo"
Select a template
Click "Voltar"
Click "Salvar"

Affected Version: 58.2-20190321

Test OK.
The text has been translated.

Tested on Version: 62.3-20190603


[FEAT] Dataprovider trpc for refine

Is your feature request related to a problem? Please describe.
No dataprovider for trpc
Describe alternatives you've considered
No response
Additional context
No response
Describe the thing to improve
hello, api based on trpc nextjs is starting to take up space now: adding a dataprovider for trpc in refine would be a good feature in addition to refine.

Hello @Oelyhasina thanks for the suggestion, we'll check it and get back to you!

Bump, it would be awesome at least to see types going trough :)

Nice to have an official data provider


NixOS: Add a better description to enable options.

Many of the enable option are a variation of the following statement Whether to enable /x/ (daemon|* service).  These messages do not help to discover services which might be interesting to enable.
The description of the enable option should contain a long description of what the program which is enabled is doing.  More likely, these information are likely provided as part of the long description of the packages.

I couldn't agree more. Thanks for creating the issue.

I have to say that using ${pkg.meta.longDescription or pkg.meta.description}
in a kind of mkEnableOption is a cool idea.

Some modules do not provide enable options, but instead check if an option is set to a non-default value, e.g. php-fpm.
Maybe relying on the meta.doc attribute of the module, or introducing a new meta.description field could be a more generic way to address this?

I think this should be closed as fixed. See #32424 and #33898.
@nbp, or did you also mean some other feature in the OP?

@oxij While I agree that #32424 and #33898 add the feature to solve this issue, as far as I can tell, this only applies to only 4 options, and there is a lot of remaining enable option to be documented properly.

Still important to me.

Still needed.


The vms method should not override the relation

vms method was brought back as a regression in
https://github.com/ManageIQ/manageiq/pull/6176
now it causes failure when clicking at instances relation
in the cloud volume detail
also fixes volume detach exception

@mansam seems like a regression caused by https://github.com/ManageIQ/manageiq/pull/6176

@mansam also the detach was throwing an exception :-)
also I noticed that the API call is not done in a queued job, could you guys @martinpovolny @dclarizio point @mansam how to do a queued job and wait for the result in the UI? AFAIK all calls to providers should be done as a queued job executed on a background by workers, or has that changed?

@Ladas you're certainly right, 6176 is likely where that came from since I needed it months before your nice neat relation got merged.


installing plugin

Hi, im workin on phonegap v5.3.6 and cordova v5.3.3. I did everything on README but plugin is not working.
Here is my code below;
onDeviceReady: function() {
        var push = PushNotification.init({
            "android": {
                "senderID": "MY_SENDER_ID"
            },
            "ios": {},
            "windows": {}
        });
        push.on('registration', function(data) {
            console.log("registration event");
            document.getElementById("regId").innerHTML = data.registrationId;
            console.log(JSON.stringify(data));
        });

        push.on('notification', function(data) {
        	console.log("notification event");
            console.log(JSON.stringify(data));
            var cards = document.getElementById("cards");
            var push = '
' +
		  		  '
' +
				  '
' +
				  '
' +
				  '      ' + data.title + '' +
				  '
' + data.message + '
' +
				  '
' +
				  '
' +
				  '
' +
				  '
';
            cards.innerHTML += push;
        });

        push.on('error', function(e) {
            console.log("push error");
        });
    }

It's not throwing any success or error message. What is wrong on this code phrase?
Thank you for your help

@tahaemin you code looks fine to me. are you sure your GCM setup is correct? whats the response from gcm server when you send the curl/http request for push.

Not sure if it is related, but when I tried to get the code working in an emulator it took me some time to figure out I had to set the target of my virtual device to 'Google API's (Google Inc.) - API Level 22' instead of just 'Android 5.1.1 - API Level 22'.
Subtle hint were the errors in logcat by the way, console didn't post any errors

@tahaemin what @bmwsedee mentioned is your problem. If you are just using an "Android" emulator then it doesn't include Play Services but if you create a new emulator that uses the "Google" API's then you'll successfully build. Although my recommendation is to always use a device when testing push.
Please close this issue if the above comments resolve your problem.

Hi again, thank you for your answers @macdonst & @bmwsedee . I'm using phonegap app for testing my apps. I'll try your suggestions then i'll give you information.
Thanks again.

@tahaemin the PhoneGap Developer App does not include the native code required for the push plugin to function. I'm hoping to be able to add push test to this app by the end of the year but no promises. You'll have to build you own app to test push.

@macdonst i built app via https://build.phonegap.com and i installed the app to my android device which is running on android 5.0.0, and it throws "[ERROR] Error initializing Cordova: Class not found.". i made double check for any error on my config.xml but there is no error in it. This is the last situation on my entegration. Waiting for your help.

@tahaemin did you resolve your problem?

No i did not. I think our problem is occured because of cordova-plugin-device. When i install and use it, it throws "Cordova class not found". My main objective is fixing this part, after that i will try push plugin. Thank you @macdonst


Figuring out Initial Frames and Fixed Pattern Noise Corrections

The imager sends a series of initial frames:

ID 4 - Looks like it at least contains recorded info about dead pixels (the zero-valued pixels) and the other pixels might be indicative of (pure speculation) integration rates

ID 9 - Two gradients.. mystery

ID 8 - Almost looks like a shutter frame

ID 7 - Something rather uniform... and light

ID 10 - Something rather uniform... and dark

ID 5 - Weird

whose meaning and use is not exactly clear (Frame.md), but they should be here for a reason.
Then there are the frequent sequence of ID 6 / ID 1 frames, and everybody agrees that ID 1 should be used as a reference for the pixel baseline values, and its frame should be substracted from regular (ID 3) frames.
Once we perform the reference frame substraction, and perform dead pixel interpolation, we can see that there is fixed pattern noise, with some pixels integrating faster than others.
There is that 207th column which provides information used to correct for horizontal bands, how it does that is a bit of magic at the moment.
We can see that images exhibit more than just these horizontal bands, but how would we correct for them (except from performing median/bilateral/fancier filtering, which are just lesser solutions if a clean one exists)...

Thanks for the images, I have incorporated them into the wiki


Tooltip can only have string contents

Not sure if there's an a11y reason for this, but mature libraries like Radix UI let you put whatever content you want into tooltip contents. Would make more sense if it were a slot or something that allows for that flexibility.

@osdiab I would say the tooltip is in a pre-alpha state even. You'd have more luck taking the tooltip example in the popover right now.

could you close this issue and make a new one as a feature request for a revamped tooltip? there might be one already

could you close this issue and make a new one as a feature request for a revamped tooltip? there might be one already


Long AsyncAPI document URL doesn't work

Describe the bug
When we have a long AsyncAPI doc and if we try to share it via the copied URL it gives HTTP 414 Error code which translates to URI being too long.
How to Reproduce

Open AsyncAPI studio and choose Kraken Websocket example.
After the example is generated click on the Share link which generates the URL of the document.
Paste this in the browser.
It gives an HTTP 414 error.
Screen recording

https://github.com/asyncapi/studio/assets/100564488/50ac585f-8176-4a9e-a46c-086f52ad3434
Expected behavior
The document should be rendered as it is.

If the maintainers think of this as an issue, I would like to work on it.

@helios2003 this was a known issue before implementing the share feature. The share feature doesn't work for long files. Is there a way to resolve this issue since it's a limitation by the "share" medium itself (i.e. URL)?

Hi @KhudaDad414, from my knowledge whenever a document is shared the URL is uniquely identified through domain + some-id (of some fixed length) like in Google Docs. Is there any specific reason why the share feature was implemented as such?

The reason is that we are not storing anything on the server (like the services that you mentioned) so there is no way for us to read the document without passing the entire document in the URL.

One way that I think can help us solve this issue is compressing the file before converting it to BASE64 and when parsing, doing this but in reverse (convert from BASE64 and decompress) worth looking into.

Even if we do that, a compression algorithm can only reduce the size by a certain percentage, and for huge documents, it might happen that the URL of the compressed document also exceeds the length limit specified. Also compressing and decompressing also will take some time (though they are rather quick). So won't this hurt user experience?

@helios2003 I don't think it's that resource-intensive. besides EVERYTHING on the web is compressed with gzip nowadays. and yeah, it just pushes it back a little. as I said. there is no way to solve this issue completely without having the file itself on the server.

Known issue as @KhudaDad414 mentioned. There was a proposal (just an idea of a project) I made time ago but for some reason is closed https://github.com/asyncapi/studio/issues/127
@KhudaDad414 would you mind reopening it?

@KhudaDad414 I guess migrating to NextJS will help us find a workaround on the server side.

@Amzani I guess so. Maybe we can use an ORM like Prisma connected to a local sqlite db. 🤔
@smoya what do you think?

@Amzani I guess so. Maybe we can use an ORM like Prisma connected to a local sqlite db.

@KhudaDad414 @Amzani That means you are gonna lose the state on each deploy.

In the original issue where @smoya had mentioned a URL Shortener service. Should that not work just fine for this case?

@Amzani I guess so. Maybe we can use an ORM like Prisma connected to a local sqlite db. 🤔

By local sqlite do you mean in the deployment (netlify)

Please move any comment regarding implementation to https://github.com/asyncapi/studio/issues/127#issuecomment-2074404179

Bounty Issue's service comment
Text labels: bounty/2024-Q4, bounty/advanced, bounty/coding
First assignment to regular contributors: 2024-09-20 00:00:00 UTC+12:00
End Of Life after: 2024-10-31 23:59:59 UTC-12:00
@asyncapi/bounty_team
The Bounty Program is not a Mentorship Program. The accepted level of Bounty Program Participants is Middle/Senior.
Regular contributors should explain in meaningful words how they are going to approach the resolution process when expressing a desire to work on this Bounty Issue.

Assigning to myself.

Bounty Issue's Timeline

Complexity Level
Assignment Date (by GitHub)
Start Date (by BP Rules)
End Date (by BP Rules)
Draft PR Submission
Final PR Merge Start
Final PR Merge End

Advanced
2024-09-16
2024-10-07
2024-12-01
2024-10-27
2024-11-17
2024-12-01

Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@Shurtu-gal is an AsyncAPI Maintainer specified in https://raw.githubusercontent.com/asyncapi/community/master/MAINTAINERS.yaml, so they fall under the first category in the prioritization list.

@aeworxet This bounty issue can be considered as completed. Details are as follows:
Video Demo
https://github.com/user-attachments/assets/46161ba4-e2bd-4c1d-a275-5d518ecf8e7c
Things done

As can be seen in the video currently sharing works through netlify blobs where each UUID is mapped to a document in the blob.
Instead of edge function we are using normal functions as npm-module support is still in beta and we don't want anything breaking 😉.
Still has the share as base64 in case people may not want to store it in our server due to privacy concern.
Added netlify config for easy deploy.

Bounty Issue Is Completed 🎉
@Shurtu-gal, please go to the AsyncAPI page on Open Collective and submit an invoice for USD 400.00 with the expense title Bounty studio#1030, tag bounty, and full URL of this Bounty Issue in the description.


Traefik/ACME with dnsChallenge doesn't want to work anymore (ovh)

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Hi everyone,
Traefik can no longer obtain/renew certificates with ACME, with the dnsChallenge method.
My DNS domain provider is OVH (ovh-eu).
When I test locally with lego, everything is fine.
When I test with the goacme/lego container, everything is fine.
I specify that I use the same variables file that I use with Traefik.
What did you see instead?
Traefik tells me there is a problem with the OVH API. I'm almost certain that this is false, because with the SAME INFORMATION elsewhere, I'm able to make everything work.
Example:
root@server:~# docker run --env-file /opt/docker/traefik/.env goacme/lego --email<EMAIL_ADDRESS>--dns ovh --domains cloud.mydomain.com -a run
2024/08/06 10:14:54 No key found for account<EMAIL_ADDRESS>Generating a P256 key.
2024/08/06 10:14:54 Saved key to /.lego/accounts/acme-v02.api.letsencrypt.org/my_email<EMAIL_ADDRESS>2024/08/06 10:14:55 [INFO] acme: Registering account for<EMAIL_ADDRESS>!!!! HEADS UP !!!!

Your account credentials have been saved in your Let's Encrypt
configuration directory at "/.lego/accounts".

You should make a secure backup of this folder now. This
configuration directory will also contain certificates and
private keys obtained from Let's Encrypt so making regular
backups of this folder is ideal.
2024/08/06 10:14:55 [INFO] [cloud.mydomain.com] acme: Obtaining bundled SAN certificate
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386767920326
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: Could not find solver for: tls-alpn-01
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: Could not find solver for: http-01
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: use dns-01 solver
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: Preparing to solve DNS-01
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: Trying to solve DNS-01
2024/08/06 10:14:56 [INFO] [cloud.mydomain.com] acme: Checking DNS record propagation. [nameservers=<IP_ADDRESS>:53]
2024/08/06 10:14:58 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2024/08/06 10:15:03 [INFO] [cloud.mydomain.com] The server validated our request
2024/08/06 10:15:03 [INFO] [cloud.mydomain.com] acme: Cleaning DNS-01 challenge
2024/08/06 10:15:04 [INFO] [cloud.mydomain.com] acme: Validations succeeded; requesting certificates
2024/08/06 10:15:04 [INFO] [cloud.mydomain.com] Server responded with a certificate.

What version of Traefik are you using?

The traefik part of my docker-compose.yml:
networks:
  net_manager-bridge:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: <IP_ADDRESS>/24
          gateway: <IP_ADDRESS>

services:
  traefik:
    container_name: traefik
    image: traefik:latest
    env_file:
      - "./traefik/.env"
    ports:
      - 80:80
      - 443:443
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik/conf/traefik.yml:/etc/traefik/traefik.yml:ro
      - ./traefik/conf/dynamic.yml:/etc/traefik/dynamic.yml:ro
      - ./traefik/logs/traefik.log:/etc/traefik/applog.log:rw
      - ./traefik/logs/access.log:/etc/traefik/access.log:rw
      - ./traefik/certs/:/letsencrypt/:rw
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    depends_on:
      - pihole
    labels:
      - "traefik.enable=true"
[...]
    networks:
      net_manager-bridge:
        ipv4_address: <IP_ADDRESS>
    restart: unless-stopped

The .env file:
OVH_ENDPOINT=ovh-eu
OVH_APPLICATION_KEY=xxx
OVH_APPLICATION_SECRET=xxx
OVH_CONSUMER_KEY=xxx

The traefik.yml:
global:
  sendAnonymousUsage: false
  checkNewVersion: false

api:
  #insecure: true
  dashboard: true
  debug: true

log:
  filePath: "/etc/traefik/applog.log"
  level: INFO

accessLog:
  filePath: "/etc/traefik/access.log"
  fields:
    names:
      StartUTC: drop

providers:
  docker:
    endpoint: unix:///var/run/docker.sock
    exposedByDefault: false
    watch: true
  file:
    filename: /etc/traefik/dynamic.yml

experimental:
  plugins:
    sablier:
      moduleName: "github.com/acouvreur/sablier"
      version: "v1.7.0"

certificatesResolvers:
  myresolver:
    acme:
      email<EMAIL_ADDRESS>      storage: "/letsencrypt/acme.json"
      dnschallenge:
        provider: ovh

entryPoints:
  http:
    address: ":80"
  https:
    address: ":443"

I can see the env vars on traefik:
root@server:/opt/docker# docker compose exec -it traefik sh
/ # env
OVH_APPLICATION_SECRET=xxx
HOSTNAME=757348e258a3
SHLVL=1
HOME=/root
OVH_CONSUMER_KEY=xxx
OVH_APPLICATION_KEY=xxx
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
OVH_ENDPOINT=ovh-eu
PWD=/
/ #

If applicable, please paste the log output in DEBUG level
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [nas.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=nas-tcp443@docker rule=HostSNI(`nas.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [mail.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mail-http@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["nas.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=nas-tcp443@docker rule=HostSNI(`nas.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [vault.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=vault-https-admin@docker rule="Host(`vault.mydomain.com`) && PathPrefix(`/admin`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["nas.mydomain.com"] providerName=myresolver.acme routerName=nas-tcp443@docker rule=HostSNI(`nas.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [vault.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=vault-https@docker rule=Host(`vault.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["mail.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mail-http@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [mail.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https-root@docker rule="Host(`mail.mydomain.com`) && Path(`/`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["vault.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=vault-https-admin@docker rule="Host(`vault.mydomain.com`) && PathPrefix(`/admin`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["mail.mydomain.com"] providerName=myresolver.acme routerName=mail-http@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["vault.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=vault-https@docker rule=Host(`vault.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["vault.mydomain.com"] providerName=myresolver.acme routerName=vault-https-admin@docker rule="Host(`vault.mydomain.com`) && PathPrefix(`/admin`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["mail.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https-root@docker rule="Host(`mail.mydomain.com`) && Path(`/`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [traefik.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=traefik-dashboard-https@docker rule=Host(`traefik.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["vault.mydomain.com"] providerName=myresolver.acme routerName=vault-https@docker rule=Host(`vault.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["mail.mydomain.com"] providerName=myresolver.acme routerName=mailcow-https-root@docker rule="Host(`mail.mydomain.com`) && Path(`/`)"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [qbittorrent.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=qbittorrent-https@docker rule=Host(`qbittorrent.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["traefik.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=traefik-dashboard-https@docker rule=Host(`traefik.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["traefik.mydomain.com"] providerName=myresolver.acme routerName=traefik-dashboard-https@docker rule=Host(`traefik.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["qbittorrent.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=qbittorrent-https@docker rule=Host(`qbittorrent.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [mail.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https-sub@docker rule="Host(`mail.mydomain.com`) && (PathPrefix(`/debug`) || PathPrefix(`/admin`) || PathPrefix(`/mailbox`) || PathPrefix(`/quarantine`) || PathPrefix(`/queue`) || PathPrefix(`/rspamd`))"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["qbittorrent.mydomain.com"] providerName=myresolver.acme routerName=qbittorrent-https@docker rule=Host(`qbittorrent.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [scans.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=komga-https@file rule=Host(`scans.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["mail.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https-sub@docker rule="Host(`mail.mydomain.com`) && (PathPrefix(`/debug`) || PathPrefix(`/admin`) || PathPrefix(`/mailbox`) || PathPrefix(`/quarantine`) || PathPrefix(`/queue`) || PathPrefix(`/rspamd`))"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [mail.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["scans.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=komga-https@file rule=Host(`scans.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["mail.mydomain.com"] providerName=myresolver.acme routerName=mailcow-https-sub@docker rule="Host(`mail.mydomain.com`) && (PathPrefix(`/debug`) || PathPrefix(`/admin`) || PathPrefix(`/mailbox`) || PathPrefix(`/quarantine`) || PathPrefix(`/queue`) || PathPrefix(`/rspamd`))"
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [tautulli.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=tautulli-https@docker rule=Host(`tautulli.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["scans.mydomain.com"] providerName=myresolver.acme routerName=komga-https@file rule=Host(`scans.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["mail.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailcow-https@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [wol.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=wol-https@file rule=Host(`wol.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["mail.mydomain.com"] providerName=myresolver.acme routerName=mailcow-https@docker rule=Host(`mail.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["tautulli.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=tautulli-https@docker rule=Host(`tautulli.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["wol.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=wol-https@file rule=Host(`wol.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [plex.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=plex-https@docker rule=Host(`plex.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["tautulli.mydomain.com"] providerName=myresolver.acme routerName=tautulli-https@docker rule=Host(`tautulli.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["wol.mydomain.com"] providerName=myresolver.acme routerName=wol-https@file rule=Host(`wol.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["plex.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=plex-https@docker rule=Host(`plex.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [unifi.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=unifi-https@docker rule=Host(`unifi.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["plex.mydomain.com"] providerName=myresolver.acme routerName=plex-https@docker rule=Host(`plex.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [radarr.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=radarr-https@docker rule=Host(`radarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["unifi.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=unifi-https@docker rule=Host(`unifi.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["unifi.mydomain.com"] providerName=myresolver.acme routerName=unifi-https@docker rule=Host(`unifi.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["radarr.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=radarr-https@docker rule=Host(`radarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [cloud.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=cloud-https@docker rule=Host(`cloud.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["radarr.mydomain.com"] providerName=myresolver.acme routerName=radarr-https@docker rule=Host(`radarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [dmarc.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=dmarc-https@file rule=Host(`dmarc.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["cloud.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=cloud-https@docker rule=Host(`cloud.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["cloud.mydomain.com"] providerName=myresolver.acme routerName=cloud-https@docker rule=Host(`cloud.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [sonarr.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=sonarr-https@docker rule=Host(`sonarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["dmarc.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=dmarc-https@file rule=Host(`dmarc.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["sonarr.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=sonarr-https@docker rule=Host(`sonarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["dmarc.mydomain.com"] providerName=myresolver.acme routerName=dmarc-https@file rule=Host(`dmarc.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [n8n.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=n8n-https@docker rule=Host(`n8n.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["sonarr.mydomain.com"] providerName=myresolver.acme routerName=sonarr-https@docker rule=Host(`sonarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["n8n.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=n8n-https@docker rule=Host(`n8n.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [gitea.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=gitea-https@file rule=Host(`gitea.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["n8n.mydomain.com"] providerName=myresolver.acme routerName=n8n-https@docker rule=Host(`n8n.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [podcast.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=podcast-https@docker rule=Host(`podcast.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["gitea.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=gitea-https@file rule=Host(`gitea.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["podcast.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=podcast-https@docker rule=Host(`podcast.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["gitea.mydomain.com"] providerName=myresolver.acme routerName=gitea-https@file rule=Host(`gitea.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [prowlarr.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=prowlarr-https@docker rule=Host(`prowlarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["podcast.mydomain.com"] providerName=myresolver.acme routerName=podcast-https@docker rule=Host(`podcast.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["prowlarr.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=prowlarr-https@docker rule=Host(`prowlarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [listes.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailman-nginx-https@docker rule=Host(`listes.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["prowlarr.mydomain.com"] providerName=myresolver.acme routerName=prowlarr-https@docker rule=Host(`prowlarr.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [over.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=overseerr-https@file rule=Host(`over.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["listes.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=mailman-nginx-https@docker rule=Host(`listes.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["over.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=overseerr-https@file rule=Host(`over.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["listes.mydomain.com"] providerName=myresolver.acme routerName=mailman-nginx-https@docker rule=Host(`listes.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [base.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=base-https@file rule=Host(`base.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["over.mydomain.com"] providerName=myresolver.acme routerName=overseerr-https@file rule=Host(`over.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [wg.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=wg-https@docker rule=Host(`wg.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["base.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=base-https@file rule=Host(`base.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["base.mydomain.com"] providerName=myresolver.acme routerName=base-https@file rule=Host(`base.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["wg.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=wg-https@docker rule=Host(`wg.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [pihole.mydomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=pihole-https@docker rule=Host(`pihole.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["wg.mydomain.com"] providerName=myresolver.acme routerName=wg-https@docker rule=Host(`wg.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["pihole.mydomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme routerName=pihole-https@docker rule=Host(`pihole.mydomain.com`)
2024-08-06T12:17:23+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:895 > No ACME certificate generation required for domains ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["pihole.mydomain.com"] providerName=myresolver.acme routerName=pihole-https@docker rule=Host(`pihole.mydomain.com`)
2024-08-06T12:17:24+02:00 DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:293 > Using DNS Challenge provider: ovh providerName=myresolver.acme
2024-08-06T12:17:24+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:cloud.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Trying renewal with 458 hours remaining lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768689546 lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/traefik/traefik/v3/pkg/tcp/proxy.go:113 > Error while setting TCP connection deadline error="set tcp <IP_ADDRESS>:46800: use of closed network connection"
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [cloud.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [cloud.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.cloud.mydomain.com.'  lib=lego
2024-08-06T12:17:24+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768689546 lib=lego
2024-08-06T12:17:25+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {cloud.mydomain.com []} error="error: one or more domains had a problem:\n[cloud.mydomain.com] [cloud.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-1.66b1f834.834100.e711b779907fdc505a68fbe5beb39c18)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:25+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:mail.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Trying renewal with 458 hours remaining lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768694476 lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [mail.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [mail.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.mail.mydomain.com.'  lib=lego
2024-08-06T12:17:25+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768694476 lib=lego
2024-08-06T12:17:26+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {mail.mydomain.com []} error="error: one or more domains had a problem:\n[mail.mydomain.com] [mail.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-3.66b1f835.731085.341ceaac168ef9b65373b7223424c48d)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:26+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:nas.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Trying renewal with 458 hours remaining lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768699996 lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [nas.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [nas.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.nas.mydomain.com.'  lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768699996 lib=lego
2024-08-06T12:17:26+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {nas.mydomain.com []} error="error: one or more domains had a problem:\n[nas.mydomain.com] [nas.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-4.66b1f836.868994.9a883327d17d2ecbd69aaa83a5ae04ba)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:26+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:vault.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Trying renewal with 458 hours remaining lib=lego
2024-08-06T12:17:26+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768705296 lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [vault.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [vault.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.vault.mydomain.com.'  lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768705296 lib=lego
2024-08-06T12:17:27+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {vault.mydomain.com []} error="error: one or more domains had a problem:\n[vault.mydomain.com] [vault.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-1.66b1f837.834100.85b488601c087464f88cc156489c5788)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:27+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:listes.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Trying renewal with 558 hours remaining lib=lego
2024-08-06T12:17:27+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768709466 lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [listes.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [listes.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.listes.mydomain.com.'  lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768709466 lib=lego
2024-08-06T12:17:28+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {listes.mydomain.com []} error="error: one or more domains had a problem:\n[listes.mydomain.com] [listes.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-5.66b1f838.878317.5b02d222561262cbed26d063a8dd0713)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:28+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:tautulli.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Trying renewal with 534 hours remaining lib=lego
2024-08-06T12:17:28+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768713936 lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [tautulli.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [tautulli.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.tautulli.mydomain.com.'  lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768713936 lib=lego
2024-08-06T12:17:29+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {tautulli.mydomain.com []} error="error: one or more domains had a problem:\n[tautulli.mydomain.com] [tautulli.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-4.66b1f839.868994.6d2651d7a321828b9e34558b9987970a)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:29+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:radarr.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Trying renewal with 537 hours remaining lib=lego
2024-08-06T12:17:29+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768717416 lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [radarr.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [radarr.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.radarr.mydomain.com.'  lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768717416 lib=lego
2024-08-06T12:17:30+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {radarr.mydomain.com []} error="error: one or more domains had a problem:\n[radarr.mydomain.com] [radarr.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-2.66b1f83a.877272.c6f96d3c1cbf4ff590cf361015c7652b)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:30+02:00 INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:817 > Renewing certificate from LE : {Main:sonarr.mydomain.com SANs:[]} acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Trying renewal with 537 hours remaining lib=lego
2024-08-06T12:17:30+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Obtaining bundled SAN certificate lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768721236 lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Could not find solver for: tls-alpn-01 lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Could not find solver for: http-01 lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: use dns-01 solver lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Preparing to solve DNS-01 lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] [sonarr.mydomain.com] acme: Cleaning DNS-01 challenge lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [WARN] [sonarr.mydomain.com] acme: cleaning up failed: ovh: unknown record ID for '_acme-challenge.sonarr.mydomain.com.'  lib=lego
2024-08-06T12:17:31+02:00 DBG github.com/go-acme/lego/v4@v4.17.4/log/logger.go:48 > [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/386768721236 lib=lego
2024-08-06T12:17:31+02:00 ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:832 > Error renewing certificate from LE: {sonarr.mydomain.com []} error="error: one or more domains had a problem:\n[sonarr.mydomain.com] [sonarr.mydomain.com] acme: error presenting token: ovh: error when call api to add record (/domain/zone/fr/record): OVHcloud API error (status code 403): \"This call has not been granted\" (X-OVH-Query-Id: EU.ext-3.66b1f83a.731085.db8fc8fbb0bd7975c6f59775d416497c)\n" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=myresolver.acme

OK, the problem was, I'm using my LAN DNS in my resolv.conf file on my docker host.
That's why cleaning up failed: ovh: unknown record ID for '_acme-challenge.whatever.mydomain.com.'
Resolved by adding:
certificatesResolvers:
  myresolver:
    acme:
      # ...
      dnsChallenge:
        # ...
        resolvers:
          - "<IP_ADDRESS>:53"
          - "<IP_ADDRESS>:53"


fix(core): improve accuracy of NetworkTime and smear changes on resync.

This PR improves NetworkTime handling in the following ways:

NetworkTime is derived from Time.unscaledTime rather than being incremented manually.  This improves accuracy when the game is moved to the background.
Time is synced based on Time.realtimeSinceStartup to best represent when the packet is actually sent and received, rather than the time at which the frame started.
Only half the RTT is used to offset the time received from the network, since the packet only had to travel one way.
Time resync packets skip the queue to avoid unnecessary delays.
When a time resync updates NetworkTime, the change is smeared over multiple frames to avoid having a very small or even negative (!) delta between consecutive values.  This can prevent some crazy bugs in user code, and smooth out the acceleration/deceleration of interpolated movement.
It's possible to explicitly configure the time resync interval.

Note that even with all those changes the initial time sync (on approval) is likely to be off by as much as a second, due to the overhead of the big approval packet and the fact that RTT may not have had a chance to be computed yet.  For code that cares about time sync I suggest setting the resync interval to something low, on the order of a few seconds.

:tada: This PR is included in version 9.2.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Any values from channels should fire a node/process update only after node/ready event was fired

but in any moment since then.

Done in bbdc8d14

The reference above is wrong, it should reference #96


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2828 ms

Resolved: Bofrost.at performance has improved in b31e674 after 15 minutes.


Ensure good mobile UX

Use mobile device to navigate through every page
For pages don't have a good UX, improve them

An bug for nav bar already identified: no hamburger menu icon is showing for small devices.

Investigation has been taken and issues https://github.com/ODataOrg/odataorg.github.io/issues/18 has been created for it.
Toggle collapse for navbar added.
So close the issue.


Zoom and Pan Suggestion #20

Apologies for a lot of random stuff. My linter added a bunch of things automatically.
There is no scrolling between pages via guestures like you had before. This had to be removed to make way for panning your zoomed in page. I need standardized color suggestions for the number backgrounds and navigation backgrounds. Leaving them transparent isn't a great user experience against white pages. I left my project's coloring in there, but change them to whatever you need them to be.

Awesome 🎉

Will try it tomorow !

@xcarpentier
@ColinKrist
Thank you for nice plugin and zooming.
I wonder when will this pull request be merged?

@thu-sama sorry have not yet tested it.
I will and try to merge and publish on npm soon.
BTW I think I will upgrade react-pdf too to benefits on last pdf.js and improve stuff in react.


23 send sms verification code to user

@camwolff02 @caden-upson
Aside from introducing mailserver integration, this PR also swaps to mysql instead of sqlite. You can manage the mail and SQL by making a backend/.env file, using backend/.example.env as a template.

Looks like you have a security vulnerability on line 53 of:
backend/src/main/java/com/mercury/demo/controllers/SMSVerificationController.java
"Make sure that using this pseudorandom number generator is safe here."


Consul nameresolution resolves conflicts

Consul does not automatically delete or overwrite service registrations. When services service-a and service-b exist and the following behavior occurs.
A parsing error occurs
service-a = <IP_ADDRESS>:3500
service-b = <IP_ADDRESS>:3500
At this point consul has the following parsing
service-a -> <IP_ADDRESS>:3500 (health check passing)

service-b -> <IP_ADDRESS>:3500(Health check passing)

Restart both services and reassign service ip
service-a -> <IP_ADDRESS>:3500
service-b -> <IP_ADDRESS>:3500
At this point consul has the following resolution
service-a -> <IP_ADDRESS>:3500 (health check passing)
service-a -> <IP_ADDRESS>:3500(Health check passing)

service-b -> <IP_ADDRESS>:3500(Health check passing)
service-b -> <IP_ADDRESS>:3500(Health check failed)

Now when we access service-a there is a chance that it will resolve to <IP_ADDRESS>:3500 resulting in the server actually accessing service-b
Expected Behavior

Actual Behavior

Steps to Reproduce the Problem

Release Note

RELEASE NOTE: Fix consul name-resolution resolves conflicts

One of the solutions I can think of is
Add the appId query to check.
		cfg.Checks = []*consul.AgentServiceCheck{
			{
				Name: "Dapr Health Status",
				CheckID: fmt.Sprintf("daprHealth:%s", id),
				Interval: "15s",
				HTTP: fmt.Sprintf("http://%s/v1.0/healthz?appId=appID", net.JoinHostPort(host, httpPort)),
			},
		}

Then in sidercar if the appId exists then match the appId consistently, otherwise return 403.
This allows consul to assume the check is invalid and not find the record
Translated with www.DeepL.com/Translator (free version)

Could we make the consul resolver delete the registration on shutdown?

What about pairing (deregsiter on shutdown) with a check at startup to see if the old IP is registered and replace that?

This sounds a lot like the mDNS cache problem https://github.com/dapr/components-contrib/issues/2413

What about pairing that (de-registering on shutdown) with a check at startup to see if the old IP is registered and replace that?

It seems difficult to do if a service has multiple instances

Should be fixed by: https://github.com/dapr/components-contrib/pull/2594


fix: fix GitHub Actions runs

fix: update Go version in GH action
fix: remove windows from supported arch

1.18 instead of 1.17 ?


ci: add sync-param-files

Signed-off-by: Takayuki Murooka<EMAIL_ADDRESS>Description
add sync setting file to sync awf/autoware_launch/autoware_launch/config/tier4_*_launch with  awf/autoware.universe/launch/tier4_*_launch/config

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[x] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kenji-miyake
Sorry to mention you again. :bow:
I've created sync PR from autoware.universe/launch/tier4_launch/config -> autoware_launch/config/tier4_launch
How can I verify this sync setting file will work well.

@kenji-miyake I haven't checked if this PR works, but is it ok to merge this...? (After merged, we can enable this sync PR?)

@takayuki5168 Yes, since this just adds a new workflow, I think it's okay to merge this.
We can test new workflows only after they're merged to the main branch.

But regarding the sync PR that will be generated by this workflow, we should review it.

@takayuki5168 Trigger this workflow to test it.
https://github.com/autowarefoundation/autoware_launch/actions/workflows/sync-param-files.yaml


Forge gas measurement adds a significant overhead when transferring native tokens (ETH) to an account

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (2cf84d9 2024-02-07T00:15:49.638525000Z)
What command(s) is the bug in?
forge test --gas-report
Operating System
macOS (Apple Silicon)
Describe the bug
Overview
When transferring native tokens to a recipient, there is a significant gas overhead, compared to real-world values. Here, we're using GasliteDrop airdropETH function to measure gas usage.
As a reference, we're measuring the same interactions with Tevm, which shows results extremely close to real-world values (see directly on Etherscan).
Test
The test is as follows:
    function test_airdropETH() public {
        payable(user).transfer(value);
        vm.startPrank(user);

        address[] memory recipients = new address[](quantity);
        uint256[] memory amounts = new uint256[](quantity);
        for (uint256 i = 0; i < quantity; i++) {
            recipients[i] = vm.addr(2); // this is what we will modify for comparison
            amounts[i] = 0.001 ether;
        }

        gasliteDrop.airdropETH{value: value}(recipients, amounts);
        vm.stopPrank();
    }

Comparison
There are 3 different cases:

airdropping each time to a new address (Foundry);
airdropping each time to the same address (Foundry);
airdropping each time to a new address (Tevm, our reference).

Here are the results for each (in the format n (recipients): gas (+ increase).
Foundry test with the same address each time

Run the original test.

1: 35,132
2: 42,015 (+6,883)
3: 48,898 (+6,883)
…
1000: 6,911,249
Foundry test with a new address for each recipient

Update line 61
- recipients[i] = vm.addr(2);
+ recipients[i] = vm.addr(i + 1);

1: 35,132
2: 69,515 (+34,383)
3: 103,898 (+34,383)
…
1000: 34,383,749
Tevm (simulate the transaction and return the gas used)
1: 10,132
2: 19,515 (+9,383)
3: 28,898 (+9,383)
…
1000: 9,383,749
These are similar to values found in Etherscan transactions.
So the difference here is:

Foundry (same recipient) -> Foundry (different recipients): +27,500 gas per recipient;
Tevm -> Foundry (different recipients): +25,000 gas per recipient;
Tevm -> Foundry (same recipient): +2,500 gas per recipient.

I can only make a few guesses:

Foundry considers the cost of "initializing" a new account on the EVM, which adds a 22,500 gas overhead? (25,000 - 2,500);
Tevm ignores this cost, which is why it is similar to values on actual mainnet transfers, usually to accounts that are already initialized.

But there is still that additional 2,500 gas for each recipient, even when the account has already received some native token previously.

Some measurements with --debug, just for additional context, at the transfer call, show that:

the first transfer costs 34,300 gas;
the second transfer costs the same if it's a new address, or 6,800 gas if it's the same (-27,500).

CALLs are subject to cold account access (2500 gas) and initialization surcharges (25000 gas); see evm.codes for more info. It's unfortunately strictly always more expensive to send an empty account native tokens via smart contract than via plain transaction.
I'm not sure why TEVM doesn't consider the cold+empty surcharges – but it should, if it's in the context of calling a smart contract like Gaslite Drop.

Thank you for your answer @emo-eth, that makes total sense—didn't know about the cold account access.