The patch of custom_certificates does not detect id change

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.2.5
on linux_amd64

provider registry.terraform.io/cloudflare/cloudflare v3.20.0

Affected resource(s)
cloudflare_custom_ssl
Terraform configuration files
resource "cloudflare_custom_ssl" "customssl" {
  zone_id = data.cloudflare_zone.zone.id
  custom_ssl_options {
    certificate      = var.certificate
    private_key      = var.private_key
    bundle_method    = "ubiquitous"
    geo_restrictions = "eu"
    type             = "sni_custom"

  }

  lifecycle {
    create_before_destroy = true
  }

}

Debug output
I have already a certificate in my state, when the certificate change  the plan proposes to update it ( not create and destroy ), and the apply produces this log:
2022-07-29T08:10:32.231Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Cloudflare API Request Details:
---[ REQUEST ]---------------------------------------
PATCH /client/v4/zones/xxxxxxxxxxxxxxxxxxx/custom_certificates/1d1e9da4-0048-4804-bf76-f2b2104b19a7 HTTP/1.1^M
Host: api.cloudflare.com^M
User-Agent: terraform/1.2.5 terraform-plugin-sdk/2.10.1 terraform-provider-cloudflare/dev^M
Content-Length: 10604^M
Authorization: Bearer xxxxxxxxxxxxxxxxxx^M
Content-Type: application/json^M
Accept-Encoding: gzip^M
^M
{
 "certificate": "-----BEGIN CERTIFICATE-----\nMIIHeTCCBWGgAwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\n-----END PRIVATE KEY-----\n",
 "bundle_method": "ubiquitous",
 "geo_restrictions": {
  "label": "eu"
 },
 "type": "sni_custom"
}

and the response is:
2022-07-29T08:10:33.343Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Cloudflare API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 200 OK^M
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0^M
Cf-Cache-Status: DYNAMIC^M
Cf-Ray: 732460ef982a99a2-CDG^M
Content-Type: application/json^M
Date: Fri, 29 Jul 2022 08:10:33 GMT^M
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"^M
Expires: Sun, 25 Jan 1981 05:00:00 GMT^M
Pragma: no-cache^M
Server: cloudflare^M
Set-Cookie: __cflb=xxxxxxx; SameSite=Lax; path=/; expires=Fri, 29-Jul-22 10:40:34 GMT; HttpOnly^M
Set-Cookie: __cfruid=xxxxxxxxxxxx-xxxxx; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None^M
Strict-Transport-Security: max-age=31536000^M
Vary: Accept-Encoding^M
X-Content-Type-Options: nosniff^M
X-Frame-Options: SAMEORIGIN^M
^M
{
 "result": {
  "id": "3e3d4ae4-7a85-45f9-89df-723facc122ef",   <== a new certificate is created
  "type": "legacy_custom",
  "hosts": [
   "m.xxx.xxx.r.xxxx"
  ],
  "issuer": "ZeroSSL",
  "signature": "SHA384WithRSA",
  "bundle_method": "ubiquitous",
  "zone_id": "xxxxxxxxxxxxxxxx",
  "uploaded_on": "2022-07-29T08:10:33.157394Z",
  "modified_on": "2022-07-29T08:10:33.157394Z",
  "expires_on": "2022-10-27T23:59:59.000000Z",
  "priority": 0,
  "status": "pending",
  "geo_restrictions": {
   "label": "eu"
  }
 },
 "success": true,
 "errors": [],
 "messages": []
}
-----------------------------------------------------: timestamp=2022-07-29T08:10:33.343Z

It seems the provider understand the change of id:
2022-07-29T08:10:33.344Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Custom SSL set to: 3e3d4ae4-7a85-45f9-89df-723facc122ef: tf_provider_addr=registry.terraform.io/cloudflare/cloudflare @caller=github.com/cloudflare/terraform-provider-cloudflare/internal/provider/resource_cloudflare_custom_ssl.go:105 @module=cloudflare tf_req_id=fba1a587-b0ce-52a1-0731-c557c90ea5fd tf_resource_type=cloudflare_custom_ssl tf_rpc=ApplyResourceChange timestamp=2022-07-29T08:10:33.344Z
Then the provider tries to get the status of the patched certificate with the old id:
2022-07-29T08:10:33.345Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Cloudflare API Request Details:
---[ REQUEST ]---------------------------------------
GET /client/v4/zones/xxxxxxxxxxxxxxxxxxx/custom_certificates/1d1e9da4-0048-4804-bf76-f2b2104b19a7 HTTP/1.1^M
Host: api.cloudflare.com^M
User-Agent: terraform/1.2.5 terraform-plugin-sdk/2.10.1 terraform-provider-cloudflare/dev^M
Authorization: Bearer xxxxxxxxxxxxxxx^M
Content-Type: application/json^M
Accept-Encoding: gzip^M
^M

-----------------------------------------------------: timestamp=2022-07-29T08:10:33.344Z
2022-07-29T08:10:34.117Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Cloudflare API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 200 OK^M
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0^M
Cf-Cache-Status: DYNAMIC^M
Cf-Ray: xxxxxxxxxxx-CDG^M
Content-Type: application/json^M
Date: Fri, 29 Jul 2022 08:10:34 GMT^M
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"^M
Expires: Sun, 25 Jan 1981 05:00:00 GMT^M
Pragma: no-cache^M
Server: cloudflare^M
Set-Cookie: __cflb=xxxxxxxxxxxxx; SameSite=Lax; path=/; expires=Fri, 29-Jul-22 10:40:35 GMT; HttpOnly^M
Set-Cookie: __cfruid=xxxxxxx-xxxxx; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None^M
Strict-Transport-Security: max-age=31536000^M
Vary: Accept-Encoding^M
X-Content-Type-Options: nosniff^M
X-Frame-Options: SAMEORIGIN^M
^M
{
 "result": {
  "id": "1d1e9da4-0048-4804-bf76-f2b2104b19a7",
  "type": "legacy_custom",
  "hosts": [
   "m.txxxxxxxxxxxxx"
  ],
  "issuer": "ZeroSSL",
  "signature": "SHA384WithRSA",
  "bundle_method": "ubiquitous",
  "zone_id": "xxxxxxxxxxxxxxxxxx",
  "uploaded_on": "2022-07-29T07:59:44.418386Z",
  "modified_on": "2022-07-29T08:10:33.157394Z",
  "expires_on": "2022-10-26T23:59:59.000000Z",
  "priority": 0,
  "status": "pending_cleanup",                  <======= the old certificate is being erased
  "geo_restrictions": {
   "label": "eu"
  }
 },
 "success": true,
 "errors": [],
 "messages": []

And we have this log:
2022-07-29T08:10:34.118Z [DEBUG] provider.terraform-provider-cloudflare_v3.20.0: Custom SSL options found in config: []interface {}{map[string]interface {}{"bundle_method":"ubiquitous", "certificate":"-----BEGIN CERTIFICATE-----\nMIxxxx
-----END PRIVATE KEY-----\n", BundleMethod:"ubiquitous", GeoRestrictions:(*cloudflare.ZoneCustomSSLGeoRestrictions)(0xc0001ff2d0), Type:"sni_custom"}: @caller=github.com/cloudflare/terraform-provider-cloudflare/internal/provider/resource_cloudflare_custom_ssl.go:263 tf_resource_type=cloudflare_custom_ssl @module=cloudflare tf_provider_addr=registry.terraform.io/cloudflare/cloudflare tf_req_id=fba1a587-b0ce-52a1-0731-c557c90ea5fd tf_rpc=ApplyResourceChange timestamp=2022-07-29T08:10:34.119Z
2022-07-29T08:10:34.120Z [TRACE] provider.terraform-provider-cloudflare_v3.20.0: Received downstream response: diagnostic_warning_count=0 tf_proto_version=5.3 tf_req_id=fba1a587-b0ce-52a1-0731-c557c90ea5fd tf_resource_type=cloudflare_custom_ssl tf_rpc=ApplyResourceChange @module=sdk.proto tf_provider_addr=registry.terraform.io/cloudflare/cloudflare tf_req_duration_ms=1894 @caller=github.com/hashicorp/terraform-plugin-go@v0.12.0/tfprotov5/internal/tf5serverlogging/downstream_request.go:38 diagnostic_error_count=0 timestamp=2022-07-29T08:10:34.120Z
2022-07-29T08:10:34.120Z [TRACE] provider.terraform-provider-cloudflare_v3.20.0: Served request: tf_proto_version=5.3 tf_provider_addr=registry.terraform.io/cloudflare/cloudflare tf_resource_type=cloudflare_custom_ssl tf_rpc=ApplyResourceChange @module=sdk.proto tf_req_id=fba1a587-b0ce-52a1-0731-c557c90ea5fd @caller=github.com/hashicorp/terraform-plugin-go@v0.12.0/tfprotov5/tf5server/server.go:825 timestamp=2022-07-29T08:10:34.120Z
2022-07-29T08:10:34.121Z [WARN]  Provider "provider[\"registry.terraform.io/cloudflare/cloudflare\"]" produced an unexpected new value for module.custom_ssl.cloudflare_custom_ssl.customssl, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .status: was cty.StringVal("active"), but now cty.StringVal("pending_cleanup")
      - .modified_on: was cty.StringVal("2022-07-29T07:59:46.179199Z"), but now cty.StringVal("2022-07-29T08:10:33.157394Z")

And the state is posted to S3 with the old id ( the one pending delete ), not the new one:
2022-07-29T08:10:34.128Z [DEBUG] Uploading remote state to S3: {
  Body: buffer(0xc000ab8c60),
  Bucket: "xxxxxxxxx",
  ContentLength: 12881,
  ContentType: "application/json",
  Key: "terraform-xxxxxxxxxxxxxxx.tfstate",
  ServerSideEncryption: "AES256"
}
2022-07-29T08:10:34.128Z [DEBUG] [aws-sdk-go] DEBUG: Request s3/PutObject Details:
---[ REQUEST POST-SIGN ]-----------------------------
PUT /terraform-xxxxxxxxxxxxxxxxx.tfstate HTTP/1.1^M
Host: xxxxxxxxxxxxxxx.s3.eu-west-1.amazonaws.com^M
User-Agent: APN/1.0 HashiCorp/1.0 Terraform/1.2.5 aws-sdk-go/1.42.35 (go1.18.1; linux; amd64)^M
Content-Length: 12881^M
Authorization: AWS4-HMAC-SHA256 Credential=xxxxxxx/20220729/eu-west-1/s3/aws4_request, SignedHeaders=content-length;content-md5;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token;x-amz-server-side-encryption, Signature=xxxxxxxxxxx^M
Content-Md5: xxxxxxxxx==^M
Content-Type: application/json^M
X-Amz-Content-Sha256: xxxxxxxxx^M
X-Amz-Date: 20220729T081034Z^M
X-Amz-Security-Token: xxxxxxxxxxxxxxxxxxxxx=^M
X-Amz-Server-Side-Encryption: AES256^M
Accept-Encoding: gzip^M
^M
{
  "version": 4,
  "terraform_version": "1.2.5",
  "serial": 8,
  "lineage": "xxxxxxxxxxxxxx",
  "outputs": {},
  "resources": [
    {
      "module": "module.custom_ssl",
      "mode": "data",
      "type": "cloudflare_zone",
      "name": "zone",
      "provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
      "instances": [
        {
          "schema_version": 0,
          "attributes": {
            "account_id": "xxxxxxxxxxxxxxxxxx",
            "id": "xxxxxxxx",
            "name": "xxxxxxxxx",
            "name_servers": [
              "xxxx.ns.cloudflare.com",
              "xxxx.ns.cloudflare.com"paused": false,
            "plan": "Enterprise Website",
            "status": "active",
            "vanity_name_servers": [],
            "zone_id": "xxxxxxxxxxxx"
          },
          "sensitive_attributes": []
        }
      ]
    },
    {
      "module": "module.custom_ssl",
      "mode": "managed",
      "type": "cloudflare_custom_ssl",
      "name": "customssl",
      "provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "custom_ssl_options": [
              {
                "bundle_method": "ubiquitous",
                "certificate": "-----BEGIN CERTIFICATE-----\nxxxx==\n-----END PRIVATE KEY-----\n",
                "type": "sni_custom"
              }
            ],
            "custom_ssl_priority": [],
            "expires_on": "2022-10-26T23:59:59Z",
            "hosts": [
              "xxxxxxxxxxxt"
            ],
            "id": "1d1e9da4-0048-4804-bf76-f2b2104b19a7",   <== WRONG
            "issuer": "ZeroSSL",
            "modified_on": "2022-07-29T08:10:33.157394Z",
            "priority": 0,
            "signature": "SHA384WithRSA",
            "status": "pending_cleanup",
            "uploaded_on": "2022-07-29T07:59:44.418386Z",
            "zone_id": "xxxxxxxxxxxxxxxxx"
          },
          "sensitive_attributes": [],
          "private": "xxxxxxxxxxxxxxxxx==",
          "dependencies": [
            "module.custom_ssl.data.cloudflare_zone.zone"
          ],
          "create_before_destroy": true
        }
      ]

...

Panic output
No response
Expected output
I expect the state to be updated with the new certificated id.
The problem now is when I plan again the deleted certificate is no more seen so terraform wants to add the certificate again..
Actual output
The state is a botched with a wrong certificate id.
Steps to reproduce

create a custom certificate as in the example
terraform show will show the managed certificate id
change anything so that terraform will patch it
terraform show will show that the certificate id did not change
terraform plan -refresh=true with propose to re-create the certificate

Additional factoids
No response
References
No response

I think I've produced actionnable log, it takes time to removes sensitive information, if something is missing please ask me.

I think this would be solved by #1025? Can you test that PR locally and let me know if it addresses it?

Yes the patch is working.

great news, thanks. I'm quite flabbergasted it's an "enhancement" and not a bugfix. cloudflare_custom_ssl was just unusable without the fix.


Basic Github issue templates

Description
@Da-Colon pointed me to Shapeshift's beautiful issue templates, so I investigated those and found instructions for creating our own:
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository
These are a paired down version of Shapeshift's, from which we can improve upon based on what works for the team.
Notes
Please add suggestions about fields I might be missing.
Testing
There doesn't seem to be a way to test these until they're merged into master 🤷♂.  If there are issues once this gets merged I will create a PR to fix...

Ah shoot, I built this PR off of dev, I need to do so off of master.

Closing this, as it needs to be based off master, will open another PR


Adding input sanitation for distributed backend and related trainer flags

🚀 Feature
Error should be thrown or a warning raised if the passed distributed_backend flag doesn't match one of the expected types (e.g ddp, ddp-spawn, etc). This maybe applicable to other trainer flags too.
Motivation
This is really minor, but I just spent an embarrassing amount of time trying to figure out why my ddp models were not using GPUs. After stepping through the the pytorch-lightning accelerator selection logic, I eventually realized I had a typo in my distributed_backend flag. This mistake could have easily been caught by input sanitation.
For more detail, when you enter an invalid backend, like dpp instead of ddp, and select gpus = 4, the logs at the top of the program show the 4 available GPUs and lead the user to believe that nothing is wrong. However, the logic of the accelerator selection silently chooses cpu in this case, result in surprising behavior.
Pitch
For various flags, like "distributed_backend" unrecognized values, e.g "dpp" instead of "ddp", pl should raise an error or warn the
user that this isn't recognized / valid value for the flag.

@yala yo what’s up Adam! Remember me from good old days at ASAPP? haha We can def add some checks around inputs. I’m actually surprised  we don’t have one right now. Maybe you can send out a PR if you have some time!

Wow, hey Peter!
Are you working at lightning now? Anyways, this is a great project!
I'll put together a short PR at some point next week if i get the time.

@yala i just help out as much as I can as a core contributor. let me know how it goes!


Add TATA icon

The icon I want is:

Name: Tata Groups

URL: https://www.tata.com/

Link to icon: https://commons.wikimedia.org/wiki/File:Tata_logo.svg

Vector version of the logo: https://github.com/ohmschrodinger/Hacktober-Fest-2024/blob/main/Tata.svg

@edent  i've read the CONTRIBUTING.MD file and made the changes to my local repo, please acknowledge.
heres the link to my forked repo
https://github.com/ohmschrodinger/SuperTinyIcons/tree/TATA

You don't need a reference svg and png. Just one will do.
Your reference image needs to come from the official website, don't just re-use your SVG.
Your reference URl is empty.
The links in the above comments don't work. I'm not sure what you're doing to them.

okay ill make the necessary changes
ps- please copy paste the link in your browser


New feature: MCP plot

The new feature, MCP plot, has been added
Control panel on the left has been updated to have 3 tab panels: Data, MCP and MKDE
Code reorganization, grouping similar functions into single file

Hi Mona - this all looks great. I'll open two minor issues shortly


Fix iOS termination crash

When iOS is terminating a process, it may release some static memory, which could cause the event_dispatcher_ variable to point to invalid memory, leading to a crash.
A crash that occurs when an app is already in the process of being terminated isn't too bad, considering it's already shutting down, but this matters to some extent, considering that crash reporters will report this as an app crash, and the OS may choose to penalize your app by not proactively suggesting it.
This should fix a crash with a backtrace such as this one:
EXC_BAD_ACCESS: Attempted to dereference garbage pointer 0x8000000000000010.

0 Envoy::Event::ProvisionalDispatcher::post(std::__1::function<void ()>)
1 Envoy::EngineHandle::runOnEngineDispatcher(long, std::__1::function<void (Envoy::Engine&)>)
2 start_stream
3 -[EnvoyHTTPStreamImpl initWithHandle:callbacks:explicitFlowControl:]
4 -[EnvoyEngineImpl startStreamWithCallbacks:explicitFlowControl:]
5 StreamPrototype.start(queue:)

Signed-off-by: JP Simard<EMAIL_ADDRESS>

Caveat: I haven't been able to reproduce this crash, nor validate that this would actually fix it. I'm just making an educated guess based on the backtrace at the time of the crash.


graphql output binding query variable support

What content needs to be created or modified?
the graphql output binding documenation needs to be modified
Describe the solution you'd like
i've proposed the feature to add query variables to the graphql binding in: https://github.com/dapr/components-contrib/issues/2517
and i'm required to update the documentation to detail its changes as part of the pr i've made for it:
Where should the new material be placed?
in the existing file
The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos
https://github.com/dapr/components-contrib/pull/2522

Can you re-open this please?

fyi: we had to add one more commit because the rebase against 1.11 had a bug with the binding init


rc pin

Hello. On which pin to plug the rc receiver ? Does the library use irq ? Thank you

No the library doesn't use irq. You need to call the receiver to get the updated values.


Order of tensorflow.Dataset.concatenate operations

Click to expand!
Issue Type
Documentation Feature Request
Have you reproduced the bug with TF nightly?
No
Source
binary
Tensorflow Version
2.11.0
Custom Code
No
OS Platform and Distribution
Linux Ubuntu 20.04
Mobile device
No response
Python version
3.9.7
Bazel version
No response
GCC/Compiler version
9.4.9
CUDA/cuDNN version
No response
GPU model and memory
NVIDIA RTX A4000 15.74GiB
Current Behaviour?
If I have a long list of datasets that I wish to concatenate, it matters whether I concatenate them pairwise with heavy left-hand sides or heavy right-hand sides.  I would like to see this in the documentation so that others don't have to learn this on their own.  (Additionally, a static tf.Dataset.concatenate_from_list function that does the right thing for the user would be nice.)  Specifically, for my large list of datasets that contain large amounts of image data that are read from disk via py_functions, batched, and prefetched, the following code snippets give different performances.  `concatenate_by_appending` causes the process to be killed, likely due to an out-of-memory condition.  In contrast, `concatenate_by_prepending` and `concatenate_by_splitting` work well.  I suspect that if I used an aggressive form of `shuffle` then only `concatenate_by_splitting` would work well.

Standalone code to reproduce the issue
def concatenate_by_prepending(dataset_list):
    response = None
    # Note: list traversal is reversed
    for dataset in reversed(dataset_list):
        if response is None:
            response = dataset
        else:
            # Note: Right-heavy concatenation
            response = dataset.concatenate(response)
    return response

def concatenate_by_appending(dataset_list):
    response = None
    # Note: list traversal is forward
    for dataset in dataset_list:
        if response is None:
            response = dataset
        else:
            # Note: Left-heavy concatenation
            response = response.concatenate(dataset)
    return response

def concatenate_by_splitting(dataset_list):
    # Note: recursive, rather than list traversing
    length = len(dataset_list)
    if length == 1:
        return dataset_list[0]
    if length > 1:
        # Note: Left and right are of roughly equal size
        return concatenate_by_splitting(dataset_list[0 : length // 2]).concatenate(
            concatenate_by_splitting(dataset_list[length // 2 : length])
        )
    return None

Relevant log output
No response

I should clarify that that the it is not the creation of the concatenate_by_appending dataset that causes the process to be killed.  The process is killed only once I attempt to predict using the combined dataset.
The pre-pending approach is right-heavy for each concatenation operation, and the left-most dataset can be found immediately, as the left branch of the top-most concatenation.  In contrast, the appending approach is left-heavy for each concatenation operation, requires descending through all concatenations to find the left-most dataset, and causes the process to be killed, likely due to resource exhaustion, specifically likely an out-of-memory condition.  At least I think that is what is happening.

I would like the documentation page for tensorflow.Dataset.concatenate to mention that if multiple datasets are to be concatenated by repeated use of this two-dataset concatenate method then it is safest to accomplish this with a divide-and-conquer approach or, at the very least, the documentation should indicate that the straightforward approach of appending datasets one-by-one can be problematic.
Alternatively, we can expand the tensorflow.Dataset interface so that the argument to the concatenate method can be a list (or tuple, etc.) of datasets, and the implementation would then use the divide-and-conquer approach (above) (or it would use a new tensorflow data structure) to concatenate them.
In my case, I have a function that reads a chunk of a very large whole-slide (medical) image.  Because these chunks require different parameters for reading, masking, color normalization, transforming, etc., it is convenient for me to make a single tensorflow.Dataset from each.  I then need to concatenate all these tensorflow.Dataset objects together.

I think the better place to mention the best practices to use the data is https://www.tensorflow.org/guide/data.
In the API document, we mainly mention the usage and it's behavior.

I didn't know that one could give a List[tf.data.Dataset] to tf.data.Dataset.from_tensor_slices!  Please document this approach somewhere where people who are tempted to use the pairwise concatenate will see it.

Hi @Leengit, I tried to execute the code with the alternative approach and observed that code is executed without issue/fail. please find the gist. Thank You.

Hi @Leengit, I tried to execute the code with the alternative approach and observed that code is executed without issue/fail. please find the gist. Thank You.

Thank you for attention.  Yes, your code works for me too.  However, the problem arises only when the list is of large datasets and is long.


ERROR: import via Webpack

i have error: Cannot use 'in' operator to search for 'insertRule' in undefined

npm i -S tiny-slider
i use vue.js 2 (es6):

import { tns } from "tiny-slider/src/tiny-slider.module"

    export default {
        updated(){
            tns({
                container: '.my-slider',
                items: 3,
                slideBy: 'page',
                autoplay: true
            });
        }
    }

"tiny-slider": "^2.1.8",
Google Chrom 60.0.3112.113
Windows 10

@nikitamarcius Sorry for the late reply.
I'm busy these days, but probably will check this within this week.

@ganlanyuan np

I'm using webpack and importing it like shown works fine for me, so maybe its something else ??

Thanks @mike3run
Hey @nikitamarcius , seems the error is related to https://github.com/ganlanyuan/tiny-slider/blob/315dd6464a766604fdf355a22821aa6a84c7ba53/src/helpers/addCSSRule.js#L4
Did you include the script in <head> ?

@ganlanyuan no. i my top message i showed how i use plugin (in single component).

Same issue here, looks like it occurs when the WebPack files aren't at the bottom of the body. I get this error when my WebPack files are in either head or top of body. One fix could be to wrap the 'if in stylesheet' with:
if (typeof document.styleSheets !== 'undefined') {     ... }
Looks like it could be being executed before document.styleSheets is ready?

@nikitamarcius The issue should be fixed in v2.2.1, could you check?

I'll check first thing tomorrow and get back to you

Sure

v2.2.1 has resolved the issue for me. Thanks guys, much appreciated!

@ganlanyuan tnx, its works!


[codegen] Add wrappers on enums for shared methods

This is for tables that have multiple formats, where all the formats have an identically named method; we will now generate a wrapper method on the enum itself that forwards to the inner methods.
In this patch this is only implemented for raw fields, and we do not generate the typed offset getters. This is quite a bit more complicated, and we can look into that as followup.

This ended up producing less code than I had expected, and most of that code is just exposing the format field. The two main 'real' cases are the bbox on glyphs and the coords on anchor tables, both of which we had previously hand-written implementations for.
The main thing that we are missing here (pending support for offset getters) is resolving coverage tables on multi-format layout subtables.
progress on #687

Interesting point. This does match the existing implementation, which was just using a macro_rules macro to generate these match statements, but if this ends up being a bottleneck we can always hand-write the more efficient version.

Sounds good to me. 🚢


Some TODOs after merge PR #15

Thanks for @ilyee add gang scheduling support in #15 which means gang scheduler can be selected when we add multi GPUs.
And still sth. need to fix:

Add the relevant docs

Add the relevant RESTful API

allocator/allocator.go:159 log format error

need to input all GPU uuids when unmount after gang mount

I'll do this

Done in #17 and<PHONE_NUMBER>eabe2e32e03b33392df17dd8945dd1🎉🎉


The name of the unzipped folder is different for some repos

I used release-downloader in our local with this tag: https://github.com/robinraju/release-downloader/commits/v1.8
Let's assume there has two repos

organization1/repo1
organization2/repo2

After downloaded, the name of the unzipped folder is different, e.g.

organization1/repo1

the unzipped folder: organization1-repo1-493ff260f81aeea194227538569ca9935de260fd

organization2/repo2

the unzipped folder: organization2-repo2-efa4cd0

The repo2's folder name just has 7 digits of the whole sha, someone knows the reason?
I hope organization2/repo2's unzipped folder is organization2-repo2-efa4cd07bd0195e6cc65e9e30c251b49ce4d3e51 rather than organization2-repo2-efa4cd0

Is there any reason for using version 1.8? Have you tried the latest version of this action?

@robinraju , our commany has forked this repo using v1.8 version, because for different scenes with same version(v1.8), there has different result, some repos use organization1-repo1-efa4cd0  this style, some repos use organization1-repo1-493ff260f81aeea194227538569ca9935de260fd style.
So i think it is not version issue.
Maybe somewhere to get the commitId, but i did not find wher  to get the commitId.


updating price

👷 Deploy Preview for sparkly-mousse-72daf9 processing.

Name
Link

🔨 Latest commit
6237a94fc64d4774cab751ed77751eb7d3737565

🔍 Latest deploy log
https://app.netlify.com/sites/sparkly-mousse-72daf9/deploys/630bd15da72cff0008c9e025


Unable to access properties on exception object

Description
I have the following in my expression template:
"{ElementAt(@x, 'Message')}"

I have also tried a few other combinations, like @x.Message, @x['Message'], and so on. The Message property of the exception object is not printed when logging with Log.Error(ex, "This is an exception").
Reproduction
Configuration:
public class LoggerFactory
{
    private readonly IAppPaths _paths;
    private readonly LoggingLevelSwitch _levelSwitch;

    public LoggerFactory(IAppPaths paths, LoggingLevelSwitch levelSwitch)
    {
        _paths = paths;
        _levelSwitch = levelSwitch;
    }

    private static string GetBaseTemplateString()
    {
        var scope = LogProperty.Scope;

        return
            $"{{#if {scope} is not null}}{{{scope}}}: {{#end}}" +
            "{@m}";
    }

    private static ExpressionTemplate GetConsoleTemplate()
    {
        var template = "[{@l:u3}] " + GetBaseTemplateString() + ": {ElementAt(@x, 'Message')}";

        return new ExpressionTemplate(template, theme: TemplateTheme.Code);
    }

    private static ExpressionTemplate GetFileTemplate()
    {
        var template = "[{@t:HH:mm:ss} {@l:u3}] " + GetBaseTemplateString() + "\n{@x}";

        return new ExpressionTemplate(template);
    }

    public ILogger Create()
    {
        var logPath = _paths.LogDirectory.File($"trash_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log");

        return new LoggerConfiguration()
            .MinimumLevel.Is(LogEventLevel.Debug)
            .WriteTo.Console(GetConsoleTemplate(), _levelSwitch.MinimumLevel)
            .WriteTo.File(GetFileTemplate(), logPath.FullName)
            .Enrich.FromLogContext()
            .CreateLogger();
    }
}

Expected behavior
I've set up my expressions such that I only want the exception message in my console sink, while I want the full exception details to go to my file sink. Unfortunately, I've been unsuccessful in leveraging Serilog.Expressions to access just the Message property.
Relevant package, tooling and runtime versions
Serilog 2.12.0, Serilog.Expressions 3.4.1, Windows using .NET 7.

Hi @rcdailey 👋
@x is the Exception.ToString() representation. To get at the properties of the original exception object, an enricher (custom or using Serilog.Exceptions) is required. Let me know if you need more info on that.
HTH

I couldn't figure out how to make it work with Serilog.Exceptions, so if you have some advice there that would be appreciated. The best I could do is a custom enricher:
public class ExceptionMessageEnricher : ILogEventEnricher
{
    public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
    {
        var msg = logEvent.Exception?.Message;
        if (string.IsNullOrEmpty(msg))
        {
            return;
        }

        logEvent.AddPropertyIfAbsent(propertyFactory.CreateProperty("ExceptionMessage", msg));
    }
}

Which I add with:
.Enrich.With<ExceptionMessageEnricher>()

And use in my template like so:
private static string GetBaseTemplateString()
{
    var scope = LogProperty.Scope;

    return
        $"{{#if {scope} is not null}}{{{scope}}}: {{#end}}" +
        "{@m}";
}

private static ExpressionTemplate GetConsoleTemplate()
{
    var template = "[{@l:u3}] " + GetBaseTemplateString() +
        "{#if ExceptionMessage is not null}: {ExceptionMessage}{#end}" +
        "\n";

    return new ExpressionTemplate(template, theme: TemplateTheme.Code);
}

If you have advice on a better approach or ways to clean up what I have, please let me know. Thank you for taking the time to help.


Added Soap Request

Now the commit is refering to my user, thanks @xomiamoore for the help

@PedroKravetz Happy to help!

Hi @PedroKravetz - it looks like you reformatted a lot of code with your commit - which makes it super hard to spot the actual differences. Would it be possible for you to provide a new commit/PR with just the relevant changes leaving everything else untouched?

Okay @berndruecker, i will alter this and when i finish it i will do another pull request (I'm sorry if I am doing too many pull requests, I am still getting used to GitHub

I changed it now to only see the changes needed for the SOAP request

Merged since @berndruecker is out!


Request for Security in the diagram

the text mentions Azure AD and Defender for IoT, but these don't show on the diagrams, please add security and monitoring services to the architecture diagram so that we can easily determine how the fit into the big picture
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cf328b1f-6bc5-dff2-619f-82b95030c3cf
Version Independent ID: 4c7bd8b7-5ebb-5b1e-010b-2acd7fdcec0f
Content: Azure IoT reference architecture - Azure Reference Architectures
Content Source: docs/reference-architectures/iot.yml
Service: architecture-center
Sub-service: reference-architecture
GitHub Login: @mcosner
Microsoft Alias: mcosner

@DeanGross Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

@DeanGross thanks for filing the issue.  In this case, we have been trying to make these very complicated diagrams more readable, which means (deliberately) omitting some services used in all IoT solutions, such as Azure Active Directory, Keyvault, Defender for IoT, to focus on they key services required for the solution.

Given that a picture can be worth a thousand words, it would be helpful to have some additional graphics to indicate supporting services or arrow(s) pointing to additional diagrams

The authors made an intentional decision to omit certain details in order to simplify the diagrams.


created a form in the application homepage that will let the client p…

…ersonalize their workout.

this is dope


Firefox bug: Figures break grid

Description
When using Figures in a grid, it doesn't fit the width of the container.
Here's a Pen to reproduce the bug
Environment

Browser version: All firefox version (.zip of screenshots)
Bootstrap version: 4.0.0-alpha.6

Cause
The problem is caused by the following code:
.figure {
  // Ensures the caption's text aligns with the image.
  display: inline-block;
}

Additional Info

...

...

...

...

I'll make a PR asap.

This renders fine for me in latest Firefox on Mac (v52).

@mdo You are right, the problem is in Firefox 45 and older.
The latest one are ok

45 is previous LTS ("ESR") for FF that Mozilla timetable says will be supported until June 13 this year. Thats something to keep on mind if you have users on it to support (eg. corporate) but then, you shouldn't be using BS4 in the first place if thats the case.

Closing as a won't fix.


Signup form validation

button is disable until the fields are filled out, styling is not taking effect. Also need to add password confirmation.


failing to join lorawan and other issues!

Hi Matthias,
I have been trying to connect my esp32 using this repository as i saw that BresserWeatherSensorTTN was being deprecated.
I can complie the code, but it fails to join the lorawan network. Your code calls for a nwk key, but on TTN i cvan only see nwkskey.
I also have other questions...
this is the serial monitor output at the moment:-
17:47:00.667 -> ets Jun  8 2016 00:22:57
17:47:00.667 ->
17:47:00.667 -> rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
17:47:00.667 -> configsip: 188777542, SPIWP:0xee
17:47:00.667 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
17:47:00.667 -> mode:DIO, clock div:1
17:47:00.667 -> load:0x3fff0030,len:4604
17:47:00.667 -> ho 0 tail 12 room 4
17:47:00.699 -> load:0x40078000,len:15488
17:47:00.699 -> load:0x40080400,len:4
17:47:00.699 -> load:0x40080404,len:3180
17:47:00.699 -> entry 0x400805b8
17:47:00.730 -> [     1][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RX (2) successfully set to 0x40101c40
17:47:00.730 -> [    13][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_TX (3) successfully set to 0x40101c0c
17:47:00.763 -> [    26][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_CTS (4) successfully set to 0x40101bd8
17:47:00.763 -> [    40][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RTS (5) successfully set to 0x40101ba4
17:47:00.763 -> [    53][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RX (2) successfully set to 0x40101c40
17:47:00.796 -> [    66][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_TX (3) successfully set to 0x40101c0c
17:47:00.796 -> [    80][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_CTS (4) successfully set to 0x40101bd8
17:47:00.828 -> [    93][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RTS (5) successfully set to 0x40101ba4
17:47:00.828 -> [   107][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RX (2) successfully set to 0x40101c40
17:47:00.859 -> [   120][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_TX (3) successfully set to 0x40101c0c
17:47:00.859 -> [   134][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_CTS (4) successfully set to 0x40101bd8
17:47:00.859 -> [   147][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type UART_RTS (5) successfully set to 0x40101ba4
17:47:00.892 -> E (237) esp_core_dump�xlash: Core dump data check failed:
17:47:00.892 -> Calculated checksum='a1ca788b'
17:47:00.892 -> Image checksum='ffffffff'
17:47:00.892 -> [   184][D][esp32-hal-cpu.c:264] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
17:47:00.956 -> [   217][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 3 successfully set to type UART_RX (2) with bus 0x3ffbe008
17:47:00.956 -> [   228][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 1 successfully set to type UART_TX (3) with bus 0x3ffbe008
17:47:00.956 -> =========== Before Setup Start ===========
17:47:00.956 -> Chip Info:
17:47:00.956 -> ------------------------------------------
17:47:00.988 ->   Model             : ESP32
17:47:00.988 ->   Package           : PICO-D4
17:47:00.988 ->   Revision          : 100
17:47:00.988 ->   Cores             : 2
17:47:00.988 ->   CPU Frequency     : 240 MHz
17:47:01.021 ->   XTAL Frequency    : 40 MHz
17:47:01.021 ->   Features Bitfield : 0x00000033
17:47:01.021 ->   Embedded Flash    : Yes
17:47:01.021 ->   Embedded PSRAM    : No
17:47:01.021 ->   2.4GHz WiFi       : Yes
17:47:01.021 ->   Classic BT        : Yes
17:47:01.021 ->   BT Low Energy     : Yes
17:47:01.053 ->   IEEE 802.15.4     : No
17:47:01.053 -> ------------------------------------------
17:47:01.053 -> INTERNAL Memory Info:
17:47:01.053 -> ------------------------------------------
17:47:01.053 ->   Total Size        :   261336 B ( 255.2 KB)
17:47:01.053 ->   Free Bytes        :   230092 B ( 224.7 KB)
17:47:01.085 ->   Allocated Bytes   :    25956 B (  25.3 KB)
17:47:01.085 ->   Minimum Free Bytes:   224908 B ( 219.6 KB)
17:47:01.085 ->   Largest Free Block:   110580 B ( 108.0 KB)
17:47:01.085 -> ------------------------------------------
17:47:01.085 -> Flash Info:
17:47:01.117 -> ------------------------------------------
17:47:01.117 ->   Chip Size         :  4194304 B (4 MB)
17:47:01.117 ->   Block Size        :    65536 B (  64.0 KB)
17:47:01.117 ->   Sector Size       :     4096 B (   4.0 KB)
17:47:01.117 ->   Page Size         :      256 B (   0.2 KB)
17:47:01.117 ->   Bus Speed         : 80 MHz
17:47:01.149 ->   Bus Mode          : DIO
17:47:01.149 -> ------------------------------------------
17:47:01.149 -> Partitions Info:
17:47:01.149 -> ------------------------------------------
17:47:01.149 ->                 nvs : addr: 0x00009000, size:    20.0 KB, type: DATA, subtype: NVS
17:47:01.181 ->             otadata : addr: 0x0000E000, size:     8.0 KB, type: DATA, subtype: OTA
17:47:01.181 ->                app0 : addr: 0x00010000, size:  1280.0 KB, type:  APP, subtype: OTA_0
17:47:01.215 ->                app1 : addr: 0x00150000, size:  1280.0 KB, type:  APP, subtype: OTA_1
17:47:01.215 ->              spiffs : addr: 0x00290000, size:  1408.0 KB, type: DATA, subtype: SPIFFS
17:47:01.249 ->            coredump : addr: 0x003F0000, size:    64.0 KB, type: DATA, subtype: COREDUMP
17:47:01.279 -> ------------------------------------------
17:47:01.279 -> Software Info:
17:47:01.279 -> ------------------------------------------
17:47:01.279 ->   Compile Date/Time : Aug  9 2024 17:20:12
17:47:01.279 ->   Compile Host OS   : linux
17:47:01.279 ->   ESP-IDF Version   : v5.1.4-586-gb6b4727c58-dirty
17:47:01.311 ->   Arduino Version   : 3.0.4
17:47:01.311 -> ------------------------------------------
17:47:01.311 -> Board Info:
17:47:01.311 -> ------------------------------------------
17:47:01.311 ->   Arduino Board     : TTGO_LoRa32_v21new
17:47:01.311 ->   Arduino Variant   : ttgo-lora32-v21new
17:47:01.344 ->   Arduino FQBN      : esp32:esp32:ttgo-lora32:UploadSpeed=115200,FlashFreq=80,DebugLevel=verbose,EraseFlash=none,Revision=TTGO_LoRa32_v21new
17:47:01.344 -> ============ Before Setup End ============
17:47:01.439 -> [   733][V][esp32-hal-uart.c:408] uartBegin(): UART0 baud(115200) Mode(800001c) rxPin(3) txPin(1)
17:47:01.472 -> [   742][V][esp32-hal-uart.c:497] uartBegin(): UART0 not installed. Starting installation
17:47:01.472 -> [   752][V][esp32-hal-uart.c:560] uartBegin(): UART0 initialization done.
17:47:03.501 -> [  2767][I][BresserWeatherSensorLW_Aug_24.ino:490] setup(): Setup
17:47:03.501 -> [  2775][E][vfs_api.cpp:99] open(): /littlefs/node_config.json does not exist, no permits for creation
17:47:03.501 -> [  2784][I][LoadNodeCfg.cpp:74] loadNodeCfg(): File 'node_config.json' not found.
17:47:03.501 -> [  2791][D][LoadNodeCfg.cpp:122] loadNodeCfg(): Timezone: GMT+0BST-1,M3.5.0/01:00:00,M10.5.0/02:00:00
17:47:03.534 -> [  2800][D][LoadNodeCfg.cpp:123] loadNodeCfg(): Battery weak:            3500 mV
17:47:03.534 -> [  2807][D][LoadNodeCfg.cpp:124] loadNodeCfg(): Battery low:             3200 mV
17:47:03.534 -> [  2814][D][LoadNodeCfg.cpp:125] loadNodeCfg(): Battery discharge limit: 3200 mV
17:47:03.534 -> [  2822][D][LoadNodeCfg.cpp:126] loadNodeCfg(): Battery charge limit:    4200 mV
17:47:03.534 -> [  2829][D][LoadNodeCfg.cpp:127] loadNodeCfg(): PowerFeather
17:47:03.567 -> [  2834][D][LoadNodeCfg.cpp:128] loadNodeCfg():   Battery capacity:           0 mAh
17:47:03.567 -> [  2841][D][LoadNodeCfg.cpp:129] loadNodeCfg():   Supply maintain voltage:    0 mV
17:47:03.567 -> [  2849][D][LoadNodeCfg.cpp:130] loadNodeCfg():   Max. charge current:        0 mA
17:47:03.567 -> [  2856][D][LoadNodeCfg.cpp:131] loadNodeCfg():   Temperature measurement: false
17:47:03.567 -> [  2863][D][LoadNodeCfg.cpp:132] loadNodeCfg():   Battery fuel gauge:      false
17:47:03.598 -> [  2870][I][BresserWeatherSensorLW_Aug_24.ino:256] print_wakeup_reason(): Wake from sleep
17:47:03.598 -> [  2878][I][BresserWeatherSensorLW_Aug_24.ino:547] setup(): Boot count: 8
17:47:03.598 -> [  2886][I][BresserWeatherSensorLW_Aug_24.ino:378] printDateTime(): 1970-01-01 00:25:46
17:47:03.598 -> [  2893][W][LittleFS.cpp:67] begin(): LittleFS Already Mounted!
17:47:03.631 -> [  2900][E][vfs_api.cpp:99] open(): /littlefs/secrets.json does not exist, no permits for creation
17:47:03.631 -> [  2909][I][LoadSecrets.cpp:62] loadSecrets(): File 'secrets.json' not found.
17:47:03.631 -> [  2916][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: maxsensors NOT_FOUND
17:47:03.631 -> [  2924][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: rxflags NOT_FOUND
17:47:03.663 -> [  2931][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: endec NOT_FOUND
17:47:03.663 -> [  2938][D][WeatherSensor.cpp:143] begin(): max_sensors: 5
17:47:03.663 -> [  2943][D][WeatherSensor.cpp:144] begin(): rx_flags: 1
17:47:03.663 -> [  2948][D][WeatherSensor.cpp:145] begin(): en_decoders: 255
17:47:03.663 -> [  2953][D][WeatherSensorConfig.cpp:58] initList(): Key exc in preferences? 0
17:47:03.663 -> [  2961][D][WeatherSensorConfig.cpp:84] initList(): Using sensor_ids_exc list from WeatherSensorCfg.h
17:47:03.697 -> [  2970][D][WeatherSensorConfig.cpp:91] initList(): 792882A2
17:47:03.697 -> [  2975][D][WeatherSensorConfig.cpp:58] initList(): Key inc in preferences? 0
17:47:03.697 -> [  2982][D][WeatherSensorConfig.cpp:84] initList(): Using sensor_ids_inc list from WeatherSensorCfg.h
17:47:03.727 -> [  2991][D][WeatherSensor.cpp:161] begin(): [SX1276] Initializing ...
17:47:03.727 -> [  2998][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type SPI_MASTER_SCK (37) successfully set to 0x40100da0
17:47:03.727 -> [  3010][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type SPI_MASTER_MISO (38) successfully set to 0x40100cc0
17:47:03.759 -> [  3022][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type SPI_MASTER_MOSI (39) successfully set to 0x40100bdc
17:47:03.759 -> [  3034][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type SPI_MASTER_SS (40) successfully set to 0x40100aa8
17:47:03.759 -> [  3046][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.791 -> [  3057][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 5 successfully set to type GPIO (1) with bus 0x6
17:47:03.791 -> [  3067][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 5 successfully set to type SPI_MASTER_SCK (37) with bus 0x4
17:47:03.791 -> [  3077][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.791 -> [  3088][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 19 successfully set to type GPIO (1) with bus 0x14
17:47:03.823 -> [  3098][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 19 successfully set to type SPI_MASTER_MISO (38) with bus 0x4
17:47:03.823 -> [  3109][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.823 -> [  3120][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 27 successfully set to type GPIO (1) with bus 0x1c
17:47:03.855 -> [  3130][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 27 successfully set to type SPI_MASTER_MOSI (39) with bus 0x4
17:47:03.855 -> [  3141][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.855 -> [  3152][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 18 successfully set to type GPIO (1) with bus 0x13
17:47:03.887 -> [  3161][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.887 -> [  3172][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 26 successfully set to type GPIO (1) with bus 0x1b
17:47:03.887 -> [  3182][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.919 -> [  3193][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 33 successfully set to type GPIO (1) with bus 0x22
17:47:03.919 -> [  3203][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type GPIO (1) successfully set to 0x40156a18
17:47:03.955 -> [  3214][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 23 successfully set to type GPIO (1) with bus 0x18
17:47:03.955 -> [  3239][D][WeatherSensor.cpp:177] begin(): success!
17:47:03.955 -> [  3245][D][WeatherSensor.cpp:222] begin(): [SX1276] Setup complete - awaiting incoming messages...
17:47:03.991 -> [  3261][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: ws_timeout NOT_FOUND
17:47:03.991 -> [  3269][D][PayloadBresser.cpp:84] begin(): Preferences: weathersensor_timeout: 180 s
17:47:03.991 -> [  3276][I][PayloadBresser.cpp:87] begin(): Waiting for Weather Sensor Data; timeout 180 s
17:47:12.780 -> [ 12068][V][WeatherSensor.cpp:349] getMessage(): [SX1276] Data: D4 17 65 38 05 35 05 18 FF 99 FF 30 08 FE CF D7 FF 01 FD AA 00 00 00 00 00 00 00
17:47:12.813 -> [ 12081][D][WeatherSensor.cpp:351] getMessage(): [SX1276] R [D4] RSSI: -74.0
17:47:12.813 -> [ 12088][D][WeatherSensorDecoders.cpp:708] decodeBresser7In1Payload(): Data sanity check failed
17:47:12.813 -> [ 12096][D][WeatherSensorDecoders.cpp:723] decodeBresser7In1Payload(): Digest check failed - [BDCF] vs [FDC5] (400A)
17:47:12.813 -> [ 12107][V][WeatherSensorDecoders.cpp:67] findSlot(): find_slot(): ID=38053505
17:47:12.813 -> [ 12114][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[0]: v=0 id=0x00000000 t=0 c=0
17:47:12.845 -> [ 12122][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[1]: v=0 id=0x00000000 t=0 c=0
17:47:12.845 -> [ 12130][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[2]: v=0 id=0x00000000 t=0 c=0
17:47:12.877 -> [ 12138][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[3]: v=0 id=0x00000000 t=0 c=0
17:47:12.877 -> [ 12146][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[4]: v=0 id=0x00000000 t=0 c=0
17:47:12.877 -> [ 12154][V][WeatherSensorDecoders.cpp:130] findSlot(): find_slot(): Storing into slot #0
17:47:12.877 -> [ 12162][D][WeatherSensorDecoders.cpp:582] decodeBresser6In1Payload(): Flags: Temp=0  Hum=0  Wind=1  Rain=1  UV=0
17:47:24.800 -> [ 24075][V][WeatherSensor.cpp:349] getMessage(): [SX1276] Data: D4 13 96 38 05 35 05 18 FE FF FE 29 68 20 96 61 FF F0 DE AA 00 00 00 00 00 00 00
17:47:24.800 -> [ 24087][D][WeatherSensor.cpp:351] getMessage(): [SX1276] R [D4] RSSI: -72.5
17:47:24.800 -> [ 24094][D][WeatherSensorDecoders.cpp:708] decodeBresser7In1Payload(): Data sanity check failed
17:47:24.832 -> [ 24103][D][WeatherSensorDecoders.cpp:723] decodeBresser7In1Payload(): Digest check failed - [B93C] vs [D52B] (6C17)
17:47:24.832 -> [ 24113][V][WeatherSensorDecoders.cpp:67] findSlot(): find_slot(): ID=38053505
17:47:24.832 -> [ 24120][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[0]: v=1 id=0x38053505 t=1 c=0
17:47:24.832 -> [ 24128][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[1]: v=0 id=0x00000000 t=0 c=0
17:47:24.865 -> [ 24136][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[2]: v=0 id=0x00000000 t=0 c=0
17:47:24.865 -> [ 24144][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[3]: v=0 id=0x00000000 t=0 c=0
17:47:24.865 -> [ 24152][D][WeatherSensorDecoders.cpp:105] findSlot(): sensor[4]: v=0 id=0x00000000 t=0 c=0
17:47:24.865 -> [ 24161][V][WeatherSensorDecoders.cpp:123] findSlot(): find_slot(): Updating slot #0
17:47:24.897 -> [ 24168][D][WeatherSensorDecoders.cpp:582] decodeBresser6In1Payload(): Flags: Temp=1  Hum=1  Wind=1  Rain=0  UV=1
17:47:24.897 -> [ 24178][I][PayloadBresser.cpp:90] begin(): Receiving Weather Sensor Data o.k.
17:47:24.897 -> [ 24186][E][Preferences.cpp:526] getBytesLength(): nvs_get_blob len fail: ble NOT_FOUND
17:47:24.897 -> [ 24193][E][Preferences.cpp:526] getBytesLength(): nvs_get_blob len fail: ble NOT_FOUND
17:47:24.929 -> [ 24201][D][PayloadBLE.cpp:118] bleAddrInit(): Using BLE addresses from BresserWeatherSensorLWCfg.h:
17:47:24.929 -> [ 24210][D][PayloadBLE.cpp:129] bleAddrInit(): a4:c1:38:b8:1f:7f
17:47:24.929 -> [ 24216][V][Preferences.cpp:399] getUShort(): nvs_get_u16 fail: sleep_int NOT_FOUND
17:47:24.929 -> [ 24224][D][BresserWeatherSensorLW_Aug_24.ino:568] setup(): Preferences: sleep_interval:        360 s
17:47:24.960 -> [ 24233][V][Preferences.cpp:399] getUShort(): nvs_get_u16 fail: sleep_int_long NOT_FOUND
17:47:24.960 -> [ 24241][D][BresserWeatherSensorLW_Aug_24.ino:570] setup(): Preferences: sleep_interval_long:   900 s
17:47:24.960 -> [ 24250][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: lw_stat_int NOT_FOUND
17:47:24.960 -> [ 24257][D][BresserWeatherSensorLW_Aug_24.ino:572] setup(): Preferences: lw_stat_interval:      60 cycles
17:47:24.994 -> [ 24267][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type ADC_ONESHOT (7) successfully set to 0x400ff310
17:47:24.994 -> [ 24278][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 35 successfully set to type ADC_ONESHOT (7) with bus 0x24
17:47:24.994 -> [ 24289][D][esp32-hal-adc.c:305] __analogReadMilliVolts(): Creating cali handle for ADC_0
17:47:25.025 -> [ 24297][D][adc.cpp:76] getVoltage(): Voltage = 4135mV
17:47:25.025 -> [ 24302][V][AppLayer.cpp:97] getPayloadStage1(): Port: 1
17:47:25.025 -> [ 24307][I][AppLayer.cpp:99] getPayloadStage1(): --- Uplink Data ---
17:47:25.025 -> [ 24314][I][PayloadBresser.cpp:335] encodeWeatherSensor(): Air Temperature:    20.9 °C
17:47:25.025 -> [ 24322][I][PayloadBresser.cpp:347] encodeWeatherSensor(): Humidity:            61   %
17:47:25.057 -> [ 24329][I][PayloadBresser.cpp:360] encodeWeatherSensor(): Rain Gauge:        1302.8 mm
17:47:25.057 -> [ 24337][I][PayloadBresser.cpp:373] encodeWeatherSensor(): Wind Speed (avg.):    1.0 m/s
17:47:25.057 -> [ 24345][I][PayloadBresser.cpp:374] encodeWeatherSensor(): Wind Speed (max.):    1.0 m/s
17:47:25.057 -> [ 24353][I][PayloadBresser.cpp:375] encodeWeatherSensor(): Wind Direction:     296.0 °
17:47:25.089 -> [ 24361][I][PayloadBresser.cpp:394] encodeWeatherSensor(): UV Index:            0.0
17:47:25.089 -> [ 24368][I][PayloadBresser.cpp:462] encodeWeatherSensor(): Current rain gauge statistics not valid.
17:47:25.089 -> [ 24377][I][PayloadBresser.cpp:249] encodeBresser(): Thermo/Hygro Sensor Ch 1
17:47:25.121 -> [ 24389][I][PayloadBresser.cpp:249] encodeBresser(): Soil Sensor Ch 1
17:47:25.121 -> [ 24396][I][PayloadBresser.cpp:253] encodeBresser(): -- Failure
17:47:25.121 -> [ 24401][I][PayloadBresser.cpp:249] encodeBresser(): Lightning Sensor Ch 5
17:47:25.121 -> [ 24408][I][PayloadBresser.cpp:253] encodeBresser(): -- Failure
17:47:25.155 -> [ 24414][D][adc.cpp:76] getVoltage(): Voltage = 4224mV
17:47:25.155 -> [ 24419][I][PayloadAnalog.cpp:63] encodeAnalog(): ch 00: U_batt: 4224 mv
17:47:25.155 -> [ 24426][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: ble_active NOT_FOUND
17:47:25.155 -> [ 24433][V][Preferences.cpp:375] getUChar(): nvs_get_u8 fail: ble_scantime NOT_FOUND
17:47:25.155 -> [ 24440][D][PayloadBLE.cpp:150] encodeBLE(): Preferences: ble_active: 1
17:47:25.155 -> [ 24447][D][PayloadBLE.cpp:151] encodeBLE(): Preferences: ble_scantime: 31 s
17:47:25.347 -> I NimBLEDevice: BLE Host Task Started
17:47:25.381 -> I NimBLEDevice: NimBle host synced.
17:47:25.381 -> D NimBLEScan: >> start: duration=31
17:47:25.381 -> D NimBLEScan: << start()
17:47:26.055 -> I NimBLEScan: New advertiser: 49:91:b0:79:6e:5b
17:47:26.055 -> I NimBLEScan: Updated advertiser: 49:91:b0:79:6e:5b
17:47:26.055 -> [ 25343][V][BleSensors.cpp:76] onResult(): Advertised Device: Name: LE-Midnight, Address: 49:91:b0:79:6e:5b, manufacturer data: 0106010eb585985f69, serviceUUID: 0xfebe, txPower: 10
17:47:26.252 -> D NimBLEScan: erase device: 49:91:b0:79:6e:5b
17:47:26.252 -> I NimBLEScan: New advertiser: 38:c9:7f:66:e1:00
17:47:26.252 -> [ 25510][V][BleSensors.cpp:76] onResult(): Advertised Device: Name: , Address: 38:c9:7f:66:e1:00, manufacturer data:<PHONE_NUMBER>0a03f1e18c4124574e4232303030303731
17:47:26.343 -> D NimBLEScan: erase device: 38:c9:7f:66:e1:00
17:47:26.375 -> I NimBLEScan: New advertiser: 6e:73:74:f3:12:6b
17:47:26.375 -> I NimBLEScan: Updated advertiser: 6e:73:74:f3:12:6b
17:47:26.375 -> [ 25660][V][BleSensors.cpp:76] onResult(): Advertised Device: Name: LE-Moon Boots, Address: 6e:73:74:f3:12:6b, manufacturer data: 010c02064c22361d0d, serviceUUID: 0xfebe, txPower: 10
17:47:26.540 -> D NimBLEScan: erase device: 6e:73:74:f3:12:6b
17:47:26.859 -> I NimBLEScan: New advertiser: 67:9e:69:d6:74:53
17:47:26.859 -> I NimBLEScan: Updated advertiser: 67:9e:69:d6:74:53
17:47:26.859 -> [ 26124][V][BleSensors.cpp:76] onResult(): Advertised Device: Name: LE-OpenRun Pro
17:47:26.987 -> D NimBLEScan: erase device: 67:9e:69:d6:74:53
17:47:56.391 -> D NimBLEScan: discovery complete; reason=0
17:47:56.391 -> [ 55653][I][PayloadBLE.cpp:180] encodeBLE(): Indoor Air Temp.:    --.- °C
17:47:56.391 -> [ 55663][I][PayloadBLE.cpp:181] encodeBLE(): Indoor Humidity:     --   %
17:47:56.391 -> [ 55669][V][BresserWeatherSensorLW_Aug_24.ino:593] setup(): Initalise the radio
17:47:56.450 -> [ 55698][D][BresserWeatherSensorLW_Aug_24.ino:393] lwActivate(): Recalling LoRaWAN nonces & session
17:47:56.450 -> [ 55709][W][config.h:402] debug(): Restoring nonces buffer failed - RADIOLIB_LORAWAN_NONCES_DISCARDED (-1119)
17:47:56.456 -> [ 55719][W][config.h:402] debug(): Restoring session buffer failed - RADIOLIB_ERR_NETWORK_NOT_JOINED (-1101)
17:47:56.456 -> [ 55729][D][BresserWeatherSensorLW_Aug_24.ino:433] lwActivate(): Join ('login') to the LoRaWAN Network
17:48:03.567 -> [ 62845][D][BresserWeatherSensorLW_Aug_24.ino:437] lwActivate(): Saving nonces to flash
17:48:03.567 -> [ 62854][D][BresserWeatherSensorLW_Aug_24.ino:447] lwActivate(): Join failed: -1116
17:48:03.567 -> [ 62861][I][BresserWeatherSensorLW_Aug_24.ino:454] lwActivate(): Boots since unsuccessful join: 8
17:48:03.600 -> [ 62870][I][BresserWeatherSensorLW_Aug_24.ino:455] lwActivate(): Retrying join in 180 seconds
17:48:03.600 -> [ 62878][I][BresserWeatherSensorLW_Aug_24.ino:319] gotoSleep(): Sleeping for 180 s

OK, i've resolved one issue, the device had to be re registered as a lorawan version 1.1, this now shows me a nwk key, but still wont join
11:56:43.488 -> [183476][V][BresserWeatherSensorLW_Aug_24.ino:593] setup(): Initalise the radio 11:56:43.522 -> [183502][D][BresserWeatherSensorLW_Aug_24.ino:393] lwActivate(): Recalling LoRaWAN nonces & session 11:56:43.522 -> [183513][W][config.h:402] debug(): Restoring nonces buffer failed - RADIOLIB_LORAWAN_NONCES_DISCARDED (-1119) 11:56:43.522 -> [183524][W][config.h:402] debug(): Restoring session buffer failed - RADIOLIB_ERR_NETWORK_NOT_JOINED (-1101) 11:56:43.522 -> [183533][D][BresserWeatherSensorLW_Aug_24.ino:433] lwActivate(): Join ('login') to the LoRaWAN Network 11:56:50.642 -> [190646][D][BresserWeatherSensorLW_Aug_24.ino:437] lwActivate(): Saving nonces to flash 11:56:50.754 -> [190655][D][BresserWeatherSensorLW_Aug_24.ino:447] lwActivate(): Join failed: -1116
is there a setting i'm missing?

Did you look up the error code in RadioLib?

the only error code listed is -1116 'no downlink after uplink', heres the serial monitor lines:
09:36:42.375 -> [183471][V][BresserWeatherSensorLW_Aug_24.ino:593] setup(): Initalise the radio 09:36:42.407 -> [183497][D][BresserWeatherSensorLW_Aug_24.ino:393] lwActivate(): Recalling LoRaWAN nonces & session 09:36:42.407 -> [183508][W][config.h:402] debug(): Restoring nonces buffer failed - RADIOLIB_LORAWAN_NONCES_DISCARDED (-1119) 09:36:42.439 -> [183519][W][config.h:402] debug(): Restoring session buffer failed - RADIOLIB_ERR_NETWORK_NOT_JOINED (-1101) 09:36:42.439 -> [183528][D][BresserWeatherSensorLW_Aug_24.ino:433] lwActivate(): Join ('login') to the LoRaWAN Network 09:36:49.563 -> [190641][D][BresserWeatherSensorLW_Aug_24.ino:437] lwActivate(): Saving nonces to flash 09:36:49.563 -> [190650][D][BresserWeatherSensorLW_Aug_24.ino:447] lwActivate(): Join failed: -1116 09:36:49.563 -> [190657][I][BresserWeatherSensorLW_Aug_24.ino:454] lwActivate(): Boots since unsuccessful join: 354 09:36:49.563 -> [190666][I][BresserWeatherSensorLW_Aug_24.ino:455] lwActivate(): Retrying join in 180 seconds
more fundamentally the code now won't compile, give the error :
/home/matt/Arduino/Sketches/BresserWeatherSensorLW_Ll1/BresserWeatherSensorLW_Aug_24/BresserWeatherSensorLW_Aug_24.ino: In function 'int16_t lwActivate()': /home/matt/Arduino/Sketches/BresserWeatherSensorLW_Ll1/BresserWeatherSensorLW_Aug_24/BresserWeatherSensorLW_Aug_24.ino:391:3: error: 'node' was not declared in this scope   391 |   node.beginOTAA(joinEUI, devEUI, nwkKey, appKey);       |   ^~~~
i tried compiling the bare code with no modifications and it doesn't like that either, won't find 'logging.h', even though it's in the correct place!

OK, so i discovered that i was missing a config.h file and the 'node not declared' error is now gone.
Now i get the error:
    9 | #define RADIOLIB_LORAWAN_DEV_EUI   0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x06, 0x9B, 0x1C```
chatgpt suggests that his is because the array is declared incorrectly, and that i should define the values in an array in the 'secrets.h' file, buty tyrying to do this just causes loads more problems

Next update:-
had to amend the config.h file
// Copy over the EUI's & keys in to the something that will not compile if incorrectly formatted
uint64_t joinEUI[8] =   {RADIOLIB_LORAWAN_JOIN_EUI};
uint64_t devEUI[8]  =   {RADIOLIB_LORAWAN_DEV_EUI};
uint8_t appKey[16] = { RADIOLIB_LORAWAN_APP_KEY };
uint8_t nwkKey[16] = { RADIOLIB_LORAWAN_NWK_KEY };

and the call to node.beginOTAA:
 // setup the OTAA session information
  node.beginOTAA((uint64_t)joinEUI, (uint64_t)devEUI, nwkKey, appKey);

but it now compiles correctly, but still wont connect to ttn.
I've tried entering the nwk and app keys in reverse too, still no luck!

Did you read this? README.md#required-configuration
The preferred way is to add your credentials in secrets.h (just follow the example for formatting) or - if you have multiple nodes - see README.md#loading-lorawan-node-configuration-from-file (again with a template which shows the formatting).
If you are still not able to join, you might have a look at the RadioLib documentation / wiki / discussion pages. I think this is a common problem. BresserWeatherSensorLW is identical to the RadioLib examples, so you might also try those first.
Do you get any hints on the TTN console?

i've tried a completeley fresh install of BresserWeatherSensorLW-0.9.1 and i get the error
    3 | #define RADIOLIB_LORAWAN_JOIN_EUI  0xB7, 0xC8, 0x56, 0x80, 0x23, 0x74, 0xA1, 0x69

line 391 0f BresserWeatherSensorLW.ino shows that the variable 'joinEUI' is a single value, not the join eui listed in 'secrets.h' (screenshot shows this)

and will not compile at all.
adding the changes to config.h and BresserWeatherSensorLW that i mentioned in my comment yesterday does make it compile ok, if you also comment out line 561 in BresserWeatherSensorLW (I'm not using LittleFS antway), just trying to determine what is being sent to TTN to join the network

Also, its now throwing the error
home/matt/Arduino/libraries/BresserWeatherSensorLW-0.9.1/BresserWeatherSensorLW/src/PayloadBresser.cpp: In member function 'void PayloadBresser::encodeWeatherSensor(int, uint8_t, LoraEncoder&)':
/home/matt/Arduino/libraries/BresserWeatherSensorLW-0.9.1/BresserWeatherSensorLW/src/PayloadBresser.cpp:376:65: error: 'struct WeatherSensor::Weather' has no member named 'wind_avg_meter_sec_fp1'; did you mean 'wind_avg_meter_sec'?
  376 |                 encoder.writeUint16(weatherSensor.sensor[idx].w.wind_avg_meter_sec_fp1);
      |                                                                 ^~~~~~~~~~~~~~~~~~~~~~

which is a totally new on!!

The JoinEUI and the DevEUI must be specified as uint64_t values, just as in https://github.com/matthias-bs/BresserWeatherSensorLW/blob/main/secrets.h. Just a single hex value with 16 digits. Not a comma separated array of bytes.
See https://github.com/matthias-bs/BresserWeatherSensorLW/blob/4facfd28ac5cfa705bd8d7287bd82943e6bc8fd2/src/LoadSecrets.cpp#L94 for printing the JoinEUI. It's already in the code!
It seems you have commented out the define WIND_DATA_FIXEDPOINT in WeatherSensorCfg.h

Next update:- had to amend the config.h file
// Copy over the EUI's & keys in to the something that will not compile if incorrectly formatted
uint64_t joinEUI[8] =   {RADIOLIB_LORAWAN_JOIN_EUI};
uint64_t devEUI[8]  =   {RADIOLIB_LORAWAN_DEV_EUI};
uint8_t appKey[16] = { RADIOLIB_LORAWAN_APP_KEY };
uint8_t nwkKey[16] = { RADIOLIB_LORAWAN_NWK_KEY };

Well, you mixed things up in the first two lines. Please revert your changes and check the original code.

don't know how that happened, but i now have connection to ttn :)
trying to sort out the uplink formatter now, i get values sent to ttn, but they're not being translated by the formatter correctly

Problems solved or given up?

Connection solved, 😁
Opened another issue for message accessibility!


Unstable client connection causing server freezes

Describe the bug
When a client completely shuts off their internet, other users experience a complete drop in server response. The server produces no error logs and in the case that the client reconnects in a timely manner, everything resumes back to normal. This shutting off of the internet is not equivalent to force closing the game, where that still acts like a clean break from the server.
Desktop (please complete the following information):

OS: windows and osx
Build target: standalone and editor
Unity version: 2018.2

https://drive.google.com/file/d/1pmtlrNAFOIAriL2_2fIwmtv80fja2Jss/view?usp=sharing

https://drive.google.com/open?id=1_Z3MLnIrgS9QlToqT3TKlyes2VAdE6xA
How to reproduce:

build attached project
Run server on machine A
Connect client B from machine B
Connect client C from machine C
Observe the counter goes up fast in both B and C
Unplug network (or turn off wifi)  in client B  (don't kill the client)
Observe the counter freezes on C,   the server is no longer responsive

This is fixed in 2018 branch by using async/await with send.
https://github.com/paulpach/Mirror/commit/00298b214f527d6f2d7d3bc714a2ade3b0e23c9d

@334499p can you try the latest Mirror version and see what happens? You only need to replace the Telepathy.dll in your project.
I added a SendTimeout that should stop the Send after 5 seconds in your case. This should be okay for now if the client disconnects afterwards.

Edit: forgot to push the commit. Mirror now has the latest Telepathy version. Please try @334499p

Moved issue to Telepathy repository https://github.com/vis2k/Telepathy/issues/43


Refactor/update deps

:tada: This PR is included in version 1.10.3-rc.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


When camera password is changed, integration spams repeated unsuccesful attempts to authenticate

Description

This error originated from a custom integration.

Logger: custom_components.tapo_control
Source: custom_components/tapo_control/utils.py:610
Integration: Tapo: Cameras Control (documentation, issues)
First occurred: 21:44:36 (77 occurrences)
Last logged: 21:58:33

Authority failure

This error originated from a custom integration.

Logger: custom_components.tapo_control
Source: custom_components/tapo_control/utils.py:609
Integration: Tapo: Cameras Control (documentation, issues)
First occurred: 21:44:36 (77 occurrences)
Last logged: 21:58:33

[initOnvifEvents] Initiating onvif connection failed.

Reproduction Steps
Change password on camera.
Expected behavior
Config entry auth failure is raised.
If applicable, add error logs.
No response
Device Firmware
Any
Integration Version
5.4.14
Using stream component
Yes
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
Yes
HASS Environment
HAOS
Search for similar issues
Yes
Additional information
No response

Hi, is the reauth request at all after some time or not at all?

Closing due to inactivity.

Hello @JurajNyiri and @codyc1515
I have exactly the same issue. I don't know since the moment and how I did it...
But every 20s / 30s I have these issues on the C220 camera. I recently added it.
How can I fix it please ?
Thank you
2024-12-28 22:27:19.763 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2024-12-28 22:27:19.763 ERROR (MainThread) [custom_components.tapo_control] Authority failure
2024-12-28 22:27:49.760 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2024-12-28 22:27:49.760 ERROR (MainThread) [custom_components.tapo_control] Authority failure
2024-12-28 22:27:59.820 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2024-12-28 22:27:59.820 ERROR (MainThread) [custom_components.tapo_control] Authority failure


[feat] ability to change theme at runtime?

Summary
Is that possible to change theme at runtime? For example we need to sync our website's theme with our other websites which could be changed by users manually, so we need to fetch the theme first and then generate the theme at runtime.
Examples
No response
Motivation
No response
Search keywords: runtime theme

@JounQin In following demo, i've changed button's variant in theme at runtime. is this what you are looking for?
https://stackblitz.com/edit/react-jhvgqn?file=Demo.tsx

Hey @JounQin! Thanks for the report.
Are you using Emotion of Pigment CSS as a styling engine? If it's Emotion, then @sai6855's example should work for you.

Sorry, we're not using Emotion of Pigment CSS, in backstage, its theme needs to be provided earlier before we fetching remote theme.

@JounQin I can see Backstage's theme is using Emotion: https://github.com/backstage/backstage/blob/master/packages/theme/package.json#L39
You can generate the theme at any time, as far as it's provided to the ThemeProvider, it will work. The example provided above may be a good guide: https://github.com/backstage/backstage/blob/master/packages/theme/package.json#L39


RexExp in class-name-format convention

I have created a RegExp that detects camelCase BEM
.someName__elementName--modifierName
My settings/regExp looks like this;
class-name-format:
- 0
- convention: '^([a-z0-9][A-Za-z0-9])?(__[a-z0-9][A-Za-z0-9])?(--[a-z0-9]+[A-Za-z0-9])?(:[a-z])*$'
However I am not getting any errors, I have even injected a class that will break the rule I've set and it still passes. Could someone tell me what I have done wrong, or is my RegEx just too complicated :/

Sorted, had to set the 0 to 1


Database cleanup as we list builds

Fixes #50

@TomasTomecek Shall we even add a new command rm to remove specific entries by build id.

Nicely done!
I'm a little concerned about performance here since podman inspect takes some time if you do it for every image it may take some time.
How about we added a new command to clean the database?
$ ansible-bender clean
Cleaning images from database which are no longer present on the disk...
...
Done!

@TomasTomecek that would be a awesome fix in terms of performance, would make those changes

awesome! also please rebase your PR against master, since I finally added CI to bender and it's passing for master now

@TomasTomecek I have added clean subcommand, perhaps shall we add another subcommand rm to remove specific build entries from ab database along with their container images. Please let me know if it is good to add rm

/packit copr-build

I wouldn't worry about rm command, that seems too specific - clean is just enough to be usable by anyone. I'd say that an average user would be confused of such rm command.

/packit copr-build

I will push changes in moment to fix some testing errors just got it through CI pipeline.

@TomasTomecek I went through the packit logs and found that there was an assertion error because of this
assert "Build entry with ID" in out
so finally fixed it. I believe it is ready to merge now 😄

/packit copr-build

Awesome!


Colors

This ports the colors from https://github.com/kyndryl-digital/kyndryl-storybook

On he MDX page, it seems like some of the color previews are missing, duplicated, or out of order. Could stand to clean that up a bit. Otherwise, just a couple small comments.
The design delivery seems to have a bunch of stuff related to themes now too, so we'll probably need to figure out some mixins and utility classes to support that. @dennisdolliver does your codebase have anything existing for theming currently? My thought is we basically have a class like .kd-theme--name and change the tokens within.

Yeah that's how it works in ours. We have a theme scss per theme available that sets the variables to the element named variables that's scoped to a class named for that theme.
.#{$prefix-class-theme}-spruce-60 {
--kd-color-token-base: var(--k-color-spruce-60);
--kd-color-token-inverse: var(--kd-color-brand-cloud);
--kd-color-token-interactive: var(--kd-color-brand-cloud);
--kd-color-token-accent: var(--kd-color-brand-cloud);
--kd-color-eyebrow: var(--k-color-springgreen-20);
@include css-vars-color-usage;
}

Looking pretty good now overall, a couple things I think we should address still:

Let's change the token prefix from --k- to --kd- so everything we have is consistent.
We'll need to create some utility classes for applying the themes, like Dennis shared above. Idea would be to add the mixin to a utility class, add the class to the root tag (<html>, or would work anywhere really), and the theme variables would override the default ones. With that in mind, I think we need to name the tokens within the theme mixins the same as the base tokens.
Add some Usage examples to the MDX page for Mixins/Utilities like we did for Grid & Typography.
Will changing from --k- to --kd- affect your team's code, @dennisdolliver?

I think we need to name the tokens within the theme mixins the same as the base tokens.
What do you mean by this?

Ex:

We have --kd-color-background-primary for the main background color.
We apply a theme by adding utility class .kd-theme--darkstone-80 to the html tag.
In that theme mixin, it should set the same variable to a new value, because havign a different token wouldn't actually change anything.

Current:  --kd-theme-color-darkstone-background: var(--kd-color-darkstone-80);
Should be: --kd-color-background-primary: var(--kd-color-darkstone-80);

Does that make sense? IMO, the theme stuff hasn't been fully thought out.

2. html tag.

From what I understand is that we have a same set of tokens within the them mixins so that when they switch theme, they can point this set to the new set of color values as they desire?

Current: --kd-theme-color-darkstone-background: var(--kd-color-darkstone-80);
Should be: --kd-color-background-primary: var(--kd-color-darkstone-80);
These mixins have background and foreground and they don't seem to have the background-secondary. So, why does it have to be --kd-color-background-primary instead of just --kd-color-background?

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Change group sorting

This tweaks the sorting of groups and files in 2 ways

Groups like Frameworks and Products are added to the end of the top level groups
Groups are sorted after other files

Resolves some of what was in #292

@brentleyjones I'm in agreement with you, but after looking at other projects, and seeing what Xcode does by default (also after 'sort by types), it seems this is more common. If it's an issue we can add an option`

I've added options.groupSortPosition of either top, bottom or none


Add more typing

Codecov Report

Merging #198 (562e9ea) into develop (1904018) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##           develop      #198   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           41        41
  Lines         1203      1228   +25
=========================================
+ Hits          1203      1228   +25

Impacted Files
Coverage Δ

pfhedge/features/_getter.py
100.00% <100.00%> (ø)

pfhedge/features/features.py
100.00% <100.00%> (ø)

pfhedge/features/functional.py
100.00% <100.00%> (ø)

pfhedge/instruments/base.py
100.00% <100.00%> (ø)

pfhedge/instruments/derivative/american_binary.py
100.00% <100.00%> (ø)

pfhedge/instruments/derivative/base.py
100.00% <100.00%> (ø)

pfhedge/instruments/derivative/european.py
100.00% <100.00%> (ø)

pfhedge/instruments/derivative/european_binary.py
100.00% <100.00%> (ø)

pfhedge/instruments/derivative/lookback.py
100.00% <100.00%> (ø)

pfhedge/instruments/primary/base.py
100.00% <100.00%> (ø)

... and 13 more

Continue to review full report at Codecov.

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


refactor(esl-utils): make ScrollUtils functional, update API

Closes: #1039

@Natalie-Smirnova thanks for reworking this API
Just a two-note that needs to be discussed in the nearest weekly:

it looks like we also need a test for such functionality as well. Going to create a ticket
it also needs to be discussed if we need to synchronize these updates with the update regarding scroll lock (mentioned as a JS one, but basically it is mostly about an ability to lock container scrolls)

Included into: #1051 with the core team discussion update


List browser support in README

:\ not sure how I forgot to make this issue as resolved by ece9bf6a39edacbc3eaa0968dfee9f011be8bb50


[Question] video Orientation problem

Hi!
I have some problem with orientation. I'm using your library in a SmartGlasses that supports only landscape resolution.
I can see the video local correctly, but when i send it to the rtmp server, it is always in portrait and stretched. Here my code:
` override fun surfaceChanged(surfaceHolder: SurfaceHolder, i: Int, i1: Int, i2: Int) {
rtmpCamera2.startPreview(1280   ,720 )
Handler().postDelayed({startStream()}, 200)
}`

fun startStream() {         if (!rtmpCamera2.isStreaming) {             if (rtmpCamera2.isRecording || rtmpCamera2.prepareAudio() && rtmpCamera2.prepareVideo(1280  ,720 , 27,5000 * 1024,90 )) {                 rtmpCamera2.startStream(etUrl)             } else {                 Toast.makeText(                     this, "Error preparing stream, This device cant do it",                     Toast.LENGTH_SHORT                 ).show()             }         }     }
<com.pedro.rtplibrary.view.OpenGlView       android:layout_width="match_parent"       android:layout_height="match_parent"       android:id="@+id/surfaceView"       app:keepAspectRatio="false"       app:aspectRatioMode="fill"       app:AAEnabled="false"       app:numFilters="1"       app:isFlipHorizontal="false"       app:isFlipVertical="false"       />
Thanks a lot for the support, you are doing a nice work with this library

Hello,
The best way seem to be lock activity in landscape for smartglasses and set rotation to 0. To lock screen you can do something similar to this in onCreate:
if (smartglasses()) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


Reader email: Padding on "load comments" button

Request from a reader:

I was viewing your site on my iPhone 4s, Safari, and I think your "load comments" button needs more vertical padding.

The thing is, part of the time it's not a button, but rather a loading indicator. I'm sure we could re-style it to look like a button though, in the scenarios in which it's meant to be clicked/tapped.

So, after a little research: there are essentially two button styles (see attached images) one is used for forms and the other one is used for actions like load comments button or back to article. Do you think we should revert to having one style button, the form button? Personally I like the way things are now, meaning the distinction between the two buttons.

/cc @mikepick @murtaugh

Now that I'm seeing the original comment again, I'm inclined to tell the reader to go piss up a rope.
But anyway, if we think this is an issue, let's think it through and decide how we want to proceed. Looking at the screenshot, it seems like maybe we have three states?
i.e.

Load Comments
Loading Comments
Back to the Post

To me, the logic would be to use the standard button style / class for 1, make 2 a buttonless / notification style, and 3 seems more like a link than a button. But maybe that's too complex. My vote would be to standardize buttons for now so we can cut down on the number of different styles across the site. I'd like to revisit the form and button design at some near future point anyway.
Thoughts?

Loading comments actually is a different style:

I don't think what Mike is suggesting is too complex, I think it makes sense. What do you think Tim? Shall I go ahead and implement it?

Sounds good to me.

On Feb 27, 2015, at 9:46 AM, Michelle Kondou<EMAIL_ADDRESS>wrote:
Loading comments actually is a different style:
https://cloud.githubusercontent.com/assets/1759784/6414320/144318ce-be9f-11e4-8a5c-a84d2d40a862.png
I don't think what Mike is suggesting is too complex, I think it makes sense. What do you think Tim? Shall I go ahead and implement it?
—
Reply to this email directly or view it on GitHub https://github.com/alistapart/AListApart/issues/106#issuecomment-76405080.

Mike, how should the style for the back to post link be? below is how it looks by default (serif and sans).

/cc @mikepick @murtaugh @aparkening

Why don't we use that rounded grey button style we use for various things around the site (embed, close, etc.). Which I guess is like that Loading Comments notification? Or is that not distinct enough?

It doesn't look bad now.  It's styled like the embed, close, etc., as Mike suggests. http://alistapart.com/comments/container-queries-once-more-unto-the-breach#339346
It looks like we're using a different hover (color change vs. underline) and font style (caps and weight) in a similar button: http://alistapart.com/blog.
@mikepick was suggesting using the dotted outline for focused states in #190, so it may make sense to make the "Back to the Article" button the same as the grey ones in that issue.
@mikepick would you prefer to standardize on the all caps and bold button of http://alistapart.com/blog, or the title caps and normal font weight of http://alistapart.com/comments/container-queries-once-more-unto-the-breach#339346?

I think I would prefer normal weight, mixed case, as a standard.
Also, we'll need to probably darken the background on all these buttons as per https://github.com/alistapart/AListApart/issues/218

Great, thanks Mike.
On Tue, Jul 21, 2015 at 2:12 PM, Mike Pick<EMAIL_ADDRESS>wrote:

I think I would prefer normal weight, mixed case, as a standard.
Also, we'll need to probably darken the background on all these buttons as
per #218 https://github.com/alistapart/AListApart/issues/218
—
Reply to this email directly or view it on GitHub
https://github.com/alistapart/AListApart/issues/106#issuecomment-123420742
.

Unless I'm misunderstanding, this button is now standardized with the others to be darker, and mixed case.

@murtaugh: If we're standardizing on mixed case and normal weight, that means that the button at the bottom of http://alistapart.com/blog also needs to be updated to match like http://alistapart.com/comments/container-queries-once-more-unto-the-breach#339346.

Got it. (It's not showing up on dev because it's in a different branch.)


The contents TOC has unusual space between the lines

Problem
This is an aesthetic bug. When I use a "contents" TOC I get some extra space in between. BTW the "toctree" TOC looks perfect.
Looks like there are some unneeded "p" html tags.
Reproducible Project
Sphinx sample
*************

.. contents::
    :local:

Section 1
=========

The TOC looks weird.

Subsection 1
------------

:(

Subsection 2
------------

Yep.

Subsubsection 1
^^^^^^^^^^^^^^^

Oh no.

Section 2
=========

It's true!

Subsection 3
------------

omg

Error Logs/Results

Expected Results
TOC with the same space as between subsection 1 and 2.
Environment Info

Python Version: 3.7.3
Sphinx Version: 3.0.3
RTD Theme Version: 0.4.3

Or course same wrong behaviour when I use nested lists (bulleted or numbered).

Have you tried 0.5.0rc1 release of the theme? A number of the issues from the html5 writer are resolved in the 0.5.0rc1 release.

Just tried. The issue is resolved in the 0.5.0rc1 release . Thanks!


Remove empty sections before joining them together

Previously, a comma was being printed on the last line of every section, even if that section did not contribute any rows to the formatted output (e.g., no rows within that section had the tags needed to be output during this run). When such a zero-row section happens, the formatter prints a line with only a comma on it, which is not valid JSON. This can make incremental adjustment of the query files rather tedious, even when using gui tools to quickly reject changes.
As an example, the following twine_strings.txt
 [[Section1]]
	[s1r1]
		en = Section 1, Row 1
		tags = iOS

[[Section2]]
	[s2r1]
		en = Section 2, Row 1
		tags = iOS,web

resulted in the following JSON output when I call twine generate-string-file twine_strings.txt twine.json --format jquery --tags web --lang en:
{
,

"s2r1":"Section 2, Row 1"
}

I'll be writing a test case for this shortly.

Thank you for this! I look forward to the unit test. :)


Add language: Cosmo

Language name
Cosmo
URL of example repository
https://github.com/cosmo-lang/cosmo/tree/master/examples
URL of syntax highlighting grammar
https://github.com/cosmo-lang/vscode-cosmo/blob/main/syntaxes/cosmo.tmLanguage.json
Most popular extensions
.cos, .⭐
Detected language
None

Dot-star file extension is a bit of a weird one and doesn't seem to be used outside of the cosmo-lang examples folder (search link). .cos seems to have a lot of junk (search link).

yeah i noticed that shortly after posting this. so the only keywords i could imagine would be unique to cosmo in a .cos file might be fn, from, until, unless, is, in, or mut. you could also use the function name puts. i'm aware all of those keywords are present in other languages, so the only keywords universally unique to cosmo are every and $.

I bet true .cos files are getting close to 2000.  Here is a search for path:*.cos fn with ~1.4k.  And when you use other keywords like stream, you can tell there are .cos files floating around without the fn keyword.  As for .⭐ there are only 15 files at the moment.  And according to #5756, each extension needs at least 2000.


Catalog v2:  Chart repo download fails because of symlink

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Add a Git hosted repository that contains a symlink file in the root to catalog v2:
Git URL:  https://github.com/janeczku/keepalived-ingress-vip.git
Git branch: archive
Result:
Download fails with the following error:
symlink found at path management-state/git-repo/keep/31c4857eacb3c3395bd30e956dad9c7cc4ff6eae797329488559cfb3573aa6de/README.md

Other details that may be helpful:
This repository works fine in catalog v1.
Environment information
Rancher 2.5.6

can we delete the symlinks manually?

Damn - this is only a symlink in your repo.. damn

Hi, I'm facing a similar issue when trying to create a catalogV2, any help on this? I cannot remove the symlink to workaround because I'm trying to import a public chart repo.

crazy this is happening with bitnami

Just rename the repo to create a new folder.

same problem 😢

Hi @janeczku. This behavior is by design and not a bug.
We do not currently support helm repositories with symlinks in them because it can introduce vulnerabilities into the cluster. For more information, you can take a look at this helm blog post and at this github issue

Hi @janeczku. This behavior is by design and not a bug. We do not currently support helm repositories with symlinks in them because it can introduce vulnerabilities into the cluster. For more information, you can take a look at this helm blog post and at this github issue

Hello,
Symlinks are not equal. The blog post explicitly singles out 2 types of summons that cause vulnerabilities: "symlinks to irregular files (e.g., device or unix socket)" and "symlinks to specific files" (outside the chart reasonably), but all the other legitimate symlinks are not the issue. Helm continues to support symlink, and raises a warning or an error only for the two cases of vulnerabilities. Do you agree with this interpretation?

Hi @janeczku. This behavior is by design and not a bug. We do not currently support helm repositories with symlinks in them because it can introduce vulnerabilities into the cluster. For more information, you can take a look at this helm blog post and at this github issue

Hello,
Symlinks are not equal. The blog post explicitly singles out 2 types of summons that cause vulnerabilities: "symlinks to irregular files (e.g., device or unix socket)" and "symlinks to specific files" (outside the chart reasonably), but all the other legitimate symlinks are not the issue. Helm continues to support symlink, and raises a warning or an error only for the two cases of vulnerabilities. Do you agree with this interpretation?

Yes, I think so. I'll dig into this further

What's the current outlook on this? I'm also encountering this and cannot remove the links


Code actions float window open even if empty and cannot close it

I'm having this problem where the code actions float window opens even if there aren't code actions available. If I move the cursor, or move tabs etc. the window does not go away.

maybe a bug .the quick way is <C-w><C-w> move to the code action window and press q

maybe a bug .the quick way is <C-w><C-w> move to the code action window and press q

should be fixed. please test.

should be fixed. please test.

@glepnir now when I try to open the codeactions popup I get an error:
E5108: Error executing lua vim/shared.lua:199: Expected table, got nil

@glepnir now when I try to open the codeactions popup I get an error:
E5108: Error executing lua vim/shared.lua:199: Expected table, got nil

Correction to my previous comment - it appears to be working now. Not sure if I did anything, will report if it happens again.

Correction to my previous comment - it appears to be working now. Not sure if I did anything, will report if it happens again.

seems like start server need time ..so if you press the keymap but server is not start It will appear

seems like start server need time ..so if you press the keymap but server is not start It will appear

I can confirm that it happened to me too with tsserver. But it solved the issue of not being able to close the floating window.

I can confirm that it happened to me too with tsserver. But it solved the issue of not being able to close the floating window.

I can add a patch to render float window when we confirm get code action result.

I can add a patch to render float window when we confirm get code action result.

Now should be works fine.

Now should be works fine.


[spdlog] Target "spdlog" links to target "fmt::fmt" but the target was not found.

Host Environment

OS: Ubuntu 20.04 (WSL)
Compiler: gcc-11

To Reproduce
Install spdlog in the manifest mode using CMake
{
    "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
    "builtin-baseline": "af2287382b1991dbdcb7e5112d236f3323b9dd7a",
    "dependencies": [
        {
            "name": "fmt",
            "version>=": "8.1.1"
        },
        {
            "name": "spdlog",
            "version>=": "1.9.2"
        }
    ]
}

Failure logs
CMake Error at /home/aminya/vcpkg/scripts/buildsystems/vcpkg.cmake:590 (_add_library):
  Target "spdlog" links to target "fmt::fmt" but the target was not found.
  Perhaps a find_package() call is missing for an IMPORTED target, or an
  ALIAS target is missing?
Call Stack (most recent call first):
  CMakeLists.txt:159 (add_library)

CMake Warning:
  Manually-specified variables were not used by the project:

    VCPKG_PLATFORM_TOOLSET
    VCPKG_SET_CHARSET_FLAG
    _VCPKG_ROOT_DIR

CMake Generate step failed.  Build files cannot be regenerated correctly.

Additional context
The following packages will be built and installed:
    spdlog[core]:x64-linux -> 1.9.2 -- /home/aminya/vcpkg/buildtrees/versioning_/versions/spdlog/1f4916f57dae6db50491857c063970d811beb33a
Restored 0 packages from /home/aminya/.cache/vcpkg/archives in 5 us. Use --debug to see more details.
Starting package 1/1: spdlog:x64-linux
Building package spdlog[core]:x64-linux...
-- Installing port from location: /home/aminya/vcpkg/buildtrees/versioning_/versions/spdlog/1f4916f57dae6db50491857c063970d811beb33a
-- Using cached gabime-spdlog-v1.9.2.tar.gz.
-- Cleaning sources at /home/aminya/vcpkg/buildtrees/spdlog/src/v1.9.2-04eef41c1a.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/aminya/vcpkg/downloads/gabime-spdlog-v1.9.2.tar.gz
-- Applying patch fix-mingw-build.patch
-- Using source at /home/aminya/vcpkg/buildtrees/spdlog/src/v1.9.2-04eef41c1a.clean
-- Found external ninja('1.10.2').
-- Configuring x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
    Command failed: /home/aminya/vcpkg/downloads/tools/cmake-3.22.2-linux/cmake-3.22.2-linux-x86_64/bin/cmake /home/aminya/vcpkg/buildtrees/spdlog/src/v1.9.2-04eef41c1a.clean -DSPDLOG_BUILD_BENCH=OFF -DSPDLOG_WCHAR_SUPPORT=OFF -DSPDLOG_FMT_EXTERNAL=ON -DSPDLOG_INSTALL=ON -DSPDLOG_BUILD_SHARED=0 -DSPDLOG_WCHAR_FILENAMES=OFF -DSPDLOG_BUILD_EXAMPLE=OFF -DCMAKE_MAKE_PROGRAM=/home/aminya/ninja/ninja -DCMAKE_SYSTEM_NAME=Linux -DBUILD_SHARED_LIBS=OFF -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/aminya/vcpkg/scripts/toolchains/linux.cmake -DVCPKG_TARGET_TRIPLET=x64-linux -DVCPKG_SET_CHARSET_FLAG=ON -DVCPKG_PLATFORM_TOOLSET=external -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE -DCMAKE_VERBOSE_MAKEFILE=ON -DVCPKG_APPLOCAL_DEPS=OFF -DCMAKE_TOOLCHAIN_FILE=/home/aminya/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON -DVCPKG_CXX_FLAGS= -DVCPKG_CXX_FLAGS_RELEASE= -DVCPKG_CXX_FLAGS_DEBUG= -DVCPKG_C_FLAGS= -DVCPKG_C_FLAGS_RELEASE= -DVCPKG_C_FLAGS_DEBUG= -DVCPKG_CRT_LINKAGE=dynamic -DVCPKG_LINKER_FLAGS= -DVCPKG_LINKER_FLAGS_RELEASE= -DVCPKG_LINKER_FLAGS_DEBUG= -DVCPKG_TARGET_ARCHITECTURE=x64 -DCMAKE_INSTALL_LIBDIR:STRING=lib -DCMAKE_INSTALL_BINDIR:STRING=bin -D_VCPKG_ROOT_DIR=/home/aminya/vcpkg -D_VCPKG_INSTALLED_DIR=/home/aminya/test/build/vcpkg_installed -DVCPKG_MANIFEST_INSTALL=OFF -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/home/aminya/vcpkg/packages/spdlog_x64-linux/debug
    Working Directory: /home/aminya/vcpkg/buildtrees/spdlog/x64-linux-dbg
    Error code: 1
    See logs for more information:
      /home/aminya/vcpkg/buildtrees/spdlog/config-x64-linux-dbg-out.log
      /home/aminya/vcpkg/buildtrees/spdlog/config-x64-linux-dbg-err.log

Call Stack (most recent call first):
  /home/aminya/test/build/vcpkg_installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:426 (vcpkg_execute_required_process)
  buildtrees/versioning_/versions/spdlog/1f4916f57dae6db50491857c063970d811beb33a/portfile.cmake:30 (vcpkg_cmake_configure)
  scripts/ports.cmake:145 (include)

Error: Building package spdlog:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `git pull` and `./vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+spdlog
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[spdlog]+Build+error
including:
  package: spdlog[core]:x64-linux -> 1.9.2
    vcpkg-tool version: 2021-12-09-724cea8b33cbf06c645f5095fa29773697da9761
    vcpkg-scripts version: af2287382 2022-03-11 (2 hours ago)

Additionally, attach any relevant sections from the log files above.
-- Running vcpkg install - failed
CMake Error at /home/aminya/vcpkg/scripts/buildsystems/vcpkg.cmake:834 (message):
  vcpkg install failed.  See logs for more information:
  /home/aminya/test/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
  build/CMakeFiles/3.22.0/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:24 (project)

-- Configuring incomplete, errors occurred!
See also "/home/aminya/test/build/CMakeFiles/CMakeOutput.log".
See also "/home/aminya/test/build/CMakeFiles/CMakeError.log".

@aminya Please provide the following failure logs:
      /home/aminya/vcpkg/buildtrees/spdlog/config-x64-linux-dbg-out.log
      /home/aminya/vcpkg/buildtrees/spdlog/config-x64-linux-dbg-err.log

Some other program was modifying the vcpkg directory. It was a conflict or something. Removing the build directory fixes the issue.


Remote restore support for Medusa

What this PR does:
Allow restoring a backup from another cluster (including backups created with Medusa outside of K8ssandra).
Requires these medusa PR to be merged first, and a Medusa release so that we can update the tag for the medusa image: 448 and 449.
The design is fully documented in docs/medusa/remote-restore-design.md.
Which issue(s) this PR fixes:
Fixes #450
Fixes #451
Fixes #452
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[x] Documentation added/updated
[ ] CHANGELOG.md updated (not required for documentation PRs)
[x] CLA Signed:  DataStax CLA

I assume we want to support the scenario of restoring from one bucket and then storing subsequent backups in a different bucket. Do the API changes support that? It doesn't look like it.

Not yet, it's part of another upcoming ticket: https://github.com/k8ssandra/k8ssandra-operator/issues/453

@jsanda, I made the adjustments in Medusa so that we can support both the case where IPs aren't resolved to hostnames and the case when they are.
E2E tests are all passing and the PR is ready for another review.

@jsanda, I've made the requested changes. Let me know what you think.
Whatever happens, I'll need to merge the associated PRs in the Medusa project and changes the tag accordingly here.
Also, I'd like to point out I've removed the backup name in the spec of MedusaBackupJob as I feel it's redundant with the meta.name for that same object. Hence, the MedusaBackupJob name will be the same as the MedusaBackup name (which only has a meta.name as well and no more spec.backupName) and also as the backup name in the object storage backend.


Update ChangeFeedModeSwitchingCheck to have a default case for legacy lease document

Description
Fixes issue https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4423
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Closing issues
To automatically close an issue: closes #4423

@ernesto1596 we actually want the exception thrown for some cases, so please let me investigate. Thanks.

@ernesto1596 we actually want the exception thrown for some cases, so please let me investigate. Thanks.

@philipthomas-MSFT I do understand that. I sent this PR as a potentially suggestion. Happy to close it out if you think it is the wrong fix.