We might want to have functions polymorphic over sensitivities

The following example cannot be checked because the function f is not polymorphic over the constant value of the argument y.
julia> typecheck_hs_from_string("module mod
       function create_query(b,query)
              m -> query(m, b) - query(m, b+1)
             end
             function foo(bb)
                function f(x,y)
                  a = internal_expect_const(y)
                  3 + a
                end
                create_query(internal_expect_const(bb),f)
             end
             end
             ")
======================== Errors =====================
Error:
Could not unify 's_15' with '1 + s_15'.
  The constraint constr_49 : IsEqual (s_15,1 + s_15)
  could not be solved:
  ---------------------------------------------------------
  Inherited from the constraint:
     IsLessEqual (s_15 ©,1 + s_15 ©)
  Inherited from the constraint:
     IsLessEqual (τ_44[s_15 ©],τ_30[1 + s_15 ©])
  Inherited from the constraint:
     IsLessEqual (Num(τ_44[s_15 ©]),Num(τ_30[1 + s_15 ©]))
  Inherited from the constraint:
     IsSupremum (NoFun(Num(τ_44[s_15 ©])),NoFun(Num(τ_44[1 + s_15 ©]))) :=: NoFun(Num(τ_30[1 + s_15 ©]))
  Inherited from the constraint:
     IsChoice (fromList [([Any,Any],(([τ_21 @ ∑∅,NoFun(Num(τ_30[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))),[]))],[([τ_8 @ ∑∅,NoFun(Num(τ_44[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))),([τ_4 @ ∑∅,NoFun(Num(τ_44[s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©])))])
  Inherited from the constraint:
     IsFunctionArgument (Fun([([τ_21 @ ∑∅,NoFun(Num(τ_30[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Just [Any,Any]]),Fun([([τ_8 @ ∑∅,NoFun(Num(τ_44[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing,([τ_4 @ ∑∅,NoFun(Num(τ_44[s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing]))
  Inherited from the constraint:
     IsChoice (fromList [([Any,Any],(([NoFun(Num(τ_44[s_15 ©])) @ ∑∅,Fun([([τ_8 @ ∑∅,NoFun(Num(τ_44[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing,([τ_4 @ ∑∅,NoFun(Num(τ_44[s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing]) @ ∑∅] -> Fun([([(τ_8∧τ_4) @ ∑∅] -> NoFun(Num(τ_31[(4.0 + s_15 - 4.0 + s_15) ©]))) @ Just [Any]])),[]))],[([NoFun(Num(τ_44[s_15 ©])) @ ∑∅,Fun([([τ_21 @ ∑∅,NoFun(Num(τ_30[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Just [Any,Any]]) @ ∑∅] -> τ_22)])
  Inherited from the constraint:
     IsFunctionArgument (Fun([([NoFun(Num(τ_44[s_15 ©])) @ ∑∅,Fun([([τ_8 @ ∑∅,NoFun(Num(τ_44[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing,([τ_4 @ ∑∅,NoFun(Num(τ_44[s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Nothing]) @ ∑∅] -> Fun([([(τ_8∧τ_4) @ ∑∅] -> NoFun(Num(τ_31[(4.0 + s_15 - 4.0 + s_15) ©]))) @ Just [Any]])) @ Just [Any,Any]]),Fun([([NoFun(Num(τ_44[s_15 ©])) @ ∑∅,Fun([([τ_21 @ ∑∅,NoFun(Num(τ_30[1 + s_15 ©])) @ ∑∅] -> NoFun(Num(τ_30[4.0 + s_15 ©]))) @ Just [Any,Any]]) @ ∑∅] -> τ_22) @ Nothing]))
  In none: line 10
  The function  create_query is applied to [InternalExpectConst gen_bb_uls_3, f]
  ---------------------------------------------------------

me favourite example:

# compute a (epsilon,0)-DP version of the average of a vector
function auto_avg(xs::Vector{<:Real}, bs::NoData(Vector), epsilon::NoData(Real)) :: Priv()

   # the query we want to make
   clipped_sum(m,b) = fold((x,y) -> x+y, map(x -> clip(x,b,0.), m))

   # find suitable clipping parameter using svt
   function create_query(b)
      m -> clipped_sum(m, b) - clipped_sum(m, b+1)
   end

   queries = map(create_query, bs)

   epsilon_svt = epsilon / 3
   at = above_threshold(queries, epsilon_svt, xs, 0)
   final_b = bs[at]

   # compute noisy sum
   epsilon_sum = epsilon / 3
   noisy_sum = laplacian_mechanism(final_b, epsilon_sum, clipped_sum(xs, final_b))

   # compute noisy number of entries
   epsilon_count = epsilon / 3
   noisy_count = laplacian_mechanism(1, epsilon_count, length(xs))

   noisy_sum/noisy_count
end


[fxi][doc] Rewrite the steps of docker-deploy

Master https://github.com/apache/pulsar/issues/17774
Motivation
The old implementation is incomplete.
Modification
Rewrite it.
Documentation

[x] doc

@Demogorgon314
could you please review this PR from a technical perspective? Thank you!

I also have another idea about docker deployment, we can add a docker-compose to simplify the docker deployment.

@Demogorgon314 @momo-jun  The docker-compose.yaml has been completed at the google doc, you can review it when you have time.

After trying the docker-compose.yaml .  I find out the health check implement is wrong.
For more details, please refer to https://gist.github.com/Demogorgon314/c0d397a21c5a05b40235bb43272a4a88

After trying the docker-compose.yaml . I find out the health check implement is wrong.
For more details, please refer to https://gist.github.com/Demogorgon314/c0d397a21c5a05b40235bb43272a4a88

I write the health check according to this PR  https://github.com/apache/skywalking-rust/pull/9/files#diff-29d8d8c569345f7e4339e3bab5342fa39d73d2293303d372c0f00cd04ad242eb
And the cluster can be start up correctly, right?
There may be some flaws in the health check here, but it does not affect the correct deployment of the pulsar cluster.
And I think the correct way to solve the problem should be to comment on the original google doc instead of copying it elsewhere for modification.

@Demogorgon314 Thanks for your support of my work. After verifying the changes for the health check and other optimizations, I will accept them in the google doc. And then if you have other suggestions, feel free to leave comments in the google doc.

There are some exceptions when using the docker-compose.yaml to start up the cluster. The exception happens after 9 minutes, so I only adopt the health check for the zookeeper in the google doc.  And I'll add it when the problem is solved.

@liangyepianzhou Thanks for reporting the issue. Maybe you should pull the latest version of Pulsar image. See https://github.com/apache/pulsar/pull/12353 already removed the check.

@liangyepianzhou Thanks for reporting the issue. Maybe you should pull the latest version of Pulsar image. See #12353 already removed the check.
The image of the docker is configured in the docker-compose.yaml, It is the latest, right?

Actually, "latest" is just a label, just like other versions. When you pull the ”latest“ image to local, the image will never update.
You need to delete the ”latest“ image and re-pull it again.

@liangyepianzhou Thanks for your contribution!
In this PR, the correct local preview screenshots are not attached in the PR description.

Can you preview the changes locally and attach the screenshots? So that we can verify everything goes fine.

After that, we can merge the doc PR. Please do not merge a doc PR without preview screenshots in the PR description.

@Anonymitaet Thanks for the reminder again.
Here is a very interesting point.
When you told me last time that you needed to attach a screenshot of the preview, I understood the preview from the perspective of a technician, so I attached a screenshot of the successful deployment of the cluster.
But in fact, you meant to attach a preview screenshot of the document/website.
I think this question may also confuse other newcomers.
To solve this problem, I have a small suggestion about the description template.
### Documentation

<!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->

- [ ] `doc` <!-- Your PR contains doc changes -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->

Document in the google doc: <! -- ENTER URL HERE -->
<! If your PR contains a lot of doc changes -->

Website local preview <! ATTACH PREVIEW SCREENSHOTS>
<! If your PR contains doc changes, you need to run `sh start.sh` at `$pwd`/site2/website and attach the preview screenshots at here. -->

@liangyepianzhou I don't think it helps so much. Longer and longer templates attract little careness to read, except we add some clear failure.
Basically, the doc reviewers should be careful. And a clean solution is to sort out the site build process and add a CI task to pre-commit site changes.

@tisonkun When the PR contains more documents, we hope this document can be placed in Google Docs or other documents first so that it can be reviewed more quickly.
But where to put it is a problem. If you put it in the comment, it will not be easy to find when there are many comments.
So it would be helpful to have a suitable place to put documentation links in the description.
Both CI tasks and preview screenshots can solve this problem very well, but there must be one. And use the preview screenshot, then it should be part of the description, not a tacit agreement of people who often do this.

I don't think it helps so much. Longer and longer templates attract little careness to read, except we add some clear failure.

If this PR is about documentation, he only cares about the description in the document section. If it's not about the documentation, maybe he'll just choose doc-not-needed in the documentation section and don't care about anything else. So I think adding these four lines of description will help a lot for those who need him, who are just starting work for documentation, without burdening others who don't work for documentation.

@Anonymitaet Thanks for the reminder again. Here is a very interesting point. When you told me last time that I needed to attach a screenshot of the preview, I understood the preview from the perspective of a technician, so I attached a screenshot of the successful deployment of the cluster. But in fact, you meant to attach a preview screenshot of the document/website. I think this question may also confuse other newcomers. To solve this problem, I have a small suggestion about the description template.
### Documentation

<!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->

- [ ] `doc` <!-- Your PR contains doc changes -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->

Document in the google doc: <!-- ENTER URL HERE -->
<!-- If your PR contains a lot of doc changes -->

Website local preview <!-- ATTACH PREVIEW SCREENSHOTS -->
<!-- If your PR contains doc changes, you need to run `sh start.sh` at `$pwd`/site2/website and attach the preview screenshots here. -->

Hi @liangyepianzhou thanks for your feedback!

Local preview screenshots

When talking about "local preview screenshots", it refers to the "local preview screenshots" in https://github.com/apache/pulsar/pull/14314#issue-1139667381 rather than "preview screenshots" in https://github.com/apache/pulsar/pull/17853#issue-1387615390

Google docs

Google docs is not a must for every doc PR. But if you working on a large doc set, to accelerate the review process and collaborate efficiently, it is recommended to follow the steps below:
(1) Draft in a google doc
(2) Request technical reviews and incorporate comments
(3) Request technical writing reviews and incorporate comments
(4) Send a PR, attach the google doc link (to show your writings have been reviewed by others) and local preview screenshots (to show everything goes fine)
In this way, you can get PRs merged faster and more smoothly.
cc @DaveDuggins @momo-jun @D-2-Ed
🔹🔹🔹
Besides, I've added a simple reminder to the PR template, https://github.com/apache/pulsar/pull/17999, PTAL @liangyepianzhou @tisonkun

And a clean solution is to sort out the site build process and add a CI task to pre-commit site changes.
@tisonkun I Agree, adding a CI task to give a site changes preview is a better solution.

adding a CI task

We cannot now, although XD.
The build scripts and relative paths are quite brittle to modularize and automatize: https://github.com/apache/pulsar-site/pull/246#issuecomment-1274090596
It still needs some efforts to refactor the build process.


[FEATURE] connected segments

Is it possible to force each of the segments to be connected to one another (i.e., at each breakpoint, the regression lines intersect with one another)?

Unfortunately, I don't believe the current greedy merging algorithm would give good results with this added constraint. The solution would have probably have to be a completely new algorithm. I'd be happy to hear suggestions / accept pull requests!

I am finding that this algorithm does not work for connected segments as shown

I have tried reducing the min-stop_frac but it does not seem to have any effect.  Any thoughts?


fix: Remove extra space around profile verification in profile form

The type of this PR is: Bugfix

Description
Remove extra space around profile verification in profile form.

Before
After

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 9ac877246d9f8f9cb82532f036eba793eadb900a


Submission shouldn't accept pdf as an uploadable format anymore

@larseggert, @evyncke  - Please make sure the IESG is ok if we remove the ability for an author to provide their own pdf during I-D submission.

I cannot imagine a reason why this would cause an issue, but I will ask tomorrow during the IESG meeting

As written by email, nobody objected at the IESG meeting

Final steps complete with 10.3.0


Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

If you didn't know, the word "tracing" is an industry word nowadays, and Solr has it but this PR isn't using it :-)

If you didn't know, the word "tracing" is an industry word nowadays, and Solr has it but this PR isn't using it :-)

This just uses the same logic that was already there for facet debugging - https://github.com/apache/solr/blob/main/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java#L111


Setting dtls_verify=false makes client accept any certificate

Godot version:
3.3 stable official
OS/device including version:
Windows 7
Issue description:
I'm trying to setup dtls with NetworkedMultiplayerENet.
I'm using a self-signed certificate on the server side.
On the client side:

if I set dtls_verify=true, the self-signed certificate is refused as invalid (error code 42), even if the client has the same certificate
if I set dtls_verify=false, then the client doesn't even need to have a certificate on its side to accept the server. It accepts anything from the server.

Steps to reproduce:
Server-wise:
extends Node

var crypto = Crypto.new()
var server = NetworkedMultiplayerENet.new()
var cert = X509Certificate.new()
var key = CryptoKey.new()

func gen_crypto():
    key = crypto.generate_rsa(4096)
    cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=Test test,C=IT")

func create_server() :
    get_tree().connect("network_peer_connected", self, "on_clientConnected")
    server.use_dtls = true
    server.set_dtls_key(key)
    server.set_dtls_certificate(cert)
    server.create_server(8080)
    get_tree().set_network_peer(server)
    print("Server created")

func _ready() :
    gen_crypto()
    create_server()

func on_clientConnected(id) :
    print("Client with id %d connected" %id)

Client-wise:
extends Node2D

var client

func create_client() :
    get_tree().connect("connected_to_server", self, "on_ConnectedToServer")
    client = NetworkedMultiplayerENet.new()
    client.use_dtls = true
    client.dtls_verify = false   # when set to false it accepts any certificate, when set to true it refuses self-signed certificates
    client.create_client("<IP_ADDRESS>", 8080)
    get_tree().set_network_peer(client)
    print("Client created")

func _ready():
    create_client()

func on_ConnectedToServer() :
    print("Connected to server")

Minimal reproduction project:
Dummy Server.zip
Dummy client.zip

That is exactly what dtls_verify = false is supposed to do.
If the problem is hostname verification see godotengine/godot-proposals#1993


What about docs?

Hey there,  I wonder what we should do for documentation on this project. Any thoughts?
Let's work on the docs:

[ ] #7
[ ] #8
[ ] #9
[ ]  Decide if we want to go with sometime more complex

So what you're sayinh is that we should

[ ] Create a  docs folder
[ ] Create a new index.md document
[ ]  Turn on GitHub Pages
[ ]  Decide if we want to go with sometime more complex

Thanks. I created the issues for first time


Range and Single IP's don't work together.

Orginally posted on the caddy Github but was pointed to here,
if you are filing a bug report, please answer these questions. If your issue is not a bug report, you do not need to use this template. Either way, please consider donating if we've helped you. Thanks!

What version of Caddy are you running (caddy -version)?

0.82

What are you trying to do?

Add both single IP's and ranges to IP filter as per documentation.

What is your entire Caddyfile?

Do not wish to provide.
However to reproduce create an IP filter and list multiple IP's with some ranges e.g
ipfilter /mydirectory {
rule allow
ip <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>-254 <IP_ADDRESS>-255
}

How did you run Caddy (give the full command and describe the execution environment)?

N/A

What did you expect to see?

All traffic from listed IP's allowed

What did you see instead (give full error messages and/or log)?

Traffic sourced from an IP within the defined Ranges appears to be allowed, however traffic sourced from one of the individual IP's listed is NOT allowed, If you remove the Ranges from the config then the single IP's are then granted access.

will look into it when i get home, which will take ~5 days.

sorry about the late response, this issue actually doesn't exist with ipfilter, but caddyserver.com is providing an old version of ipfilter that has it, @mholt will probably fix it soon.

it is fixed now, you can download a new version from caddyserver.com with ipfilter, and it should work as expected.


VMware build Apollo 5.5 error

@weidezhang

Will you please run the following bazel command directly, and paste its output?
 bazel build //cyber/transport:transport_test

And, maybe you should look at https://github.com/ApolloAuto/apollo/issues/7719


Less spammier bot

Have only one major message for how to promote at the start of the channel (Pinned to find it more easy)
Instead of constantly sending new messages for one user, edit the original one you send first.
Maybe also move to a DM based system altogether?

Suggestions from Andre_601

Fixed with bot rework.


Deploy in Domain mode

Can you make a feature that deploy, assign and enable application on separate servers in server-group in "domain" mode?

I was able to deploy in domain mode with the following request:
{
   "operation":"composite",
   "address":[

   ],
   "steps":[
      {
         "operation":"add",
         "address":[
            {
               "deployment":"sample.war"
            }
         ],
         "content":[
            {
               "url":"file:/home/jjunior/sample.war"
            }
         ]
      },
      {
         "operation":"add",
         "address":[
            {
               "server-group":"main-server-group"
            },
            {
               "deployment":"sample.war"
            }
         ]
      },
      {
         "operation":"deploy",
         "address":[
            {
               "server-group":"main-server-group"
            },
            {
               "deployment":"sample.war"
            }
         ]
      }
   ]
}

As we talked before, we'll just need a new parameter in wildfly_deploy (server_group).
I'll seize the opportunity to also change wildfly_resource to support a target profile and refactor wildfly_cli.rb cause it's getting messy. =)

@SanSan-
Can you point to master and test my changes?
I performed some local tests with the following code:
wildfly_deploy { 'sample.war':
  username => 'wildfly',
  password => 'wildfly',
  source => 'file:/vagrant/sample.war',
  server_group => 'main-server-group',
}

I got some like this shi~
==> web1: Debug: /Stage[main]/Role::Deploy/Exec[Wasting of 25 seconds]: The container Class[Role::Deploy] will propagate my refresh event
==> web1: Debug: Wildfly_deployDeploy postgresql-9.3-1103-jdbc4.jar: Exists? Deploy postgresql-9.3-1103-jdbc4.jar
==> web1: Error: /Stage[main]/Role::Deploy/Wildfly_deploy[Deploy postgresql-9.3-1103-jdbc4.jar]: Could not evaluate: Connection refused - connect(2)
==> web1: Notice: /Stage[main]/Role::Deploy/Wildfly_deploy[Deploy ec.ear]: Dependency Wildfly_deploy[Deploy postgresql-9.3-1103-jdbc4.jar] has failures: true
For example, my call looks like this (and it was crush with all type of source (and path is correct (no doubt))):
wildfly_deploy { 'Deploy postgresql-9.3-1103-jdbc4.jar':
  username => 'admin',
  password => '1',
  #source => 'http://central.maven.org/maven2/org/postgresql/postgresql/9.3-1103-jdbc4/postgresql-9.3-1103-jdbc4.jar',
  #source => '/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar',
  source => 'file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar',
  server_group => 'main-server-group',
  require => Exec['Wasting of 25 seconds']
}

Also, in empty project i got this error:
==> web1: Debug: Wildfly_deploypostgresql-9.3-1103-jdbc4.jar: Exists? postgresql-9.3-1103-jdbc4.jar
==> web1: Debug: Wildfly_deploypostgresql-9.3-1103-jdbc4.jar: Deploying postgresql-9.3-1103-jdbc4.jar from source file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar
==> web1: Error: Could not set 'present' on ensure: Failed with: domain-failure-descriptionWFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:Operation step-1WFLYDC0038: Invalid url stream. for {"steps":[{"content":[{"url":"file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar"}],"address":{"deployment":"postgresql-9.3-1103-jdbc4.jar"},"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"deploy"}],"address":[],"operation":"composite"} at 12:/tmp/vagrant-puppet/modules-6bc1db179b8bd670aef67b4bb559f5c9/role/manifests/deploy.pp
==> web1: Error: Could not set 'present' on ensure: Failed with: domain-failure-descriptionWFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:Operation step-1WFLYDC0038: Invalid url stream. for {"steps":[{"content":[{"url":"file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar"}],"address":{"deployment":"postgresql-9.3-1103-jdbc4.jar"},"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"deploy"}],"address":[],"operation":"composite"} at 12:/tmp/vagrant-puppet/modules-6bc1db179b8bd670aef67b4bb559f5c9/role/manifests/deploy.pp
==> web1: Wrapped exception:
==> web1: Failed with: domain-failure-descriptionWFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:Operation step-1WFLYDC0038: Invalid url stream. for {"steps":[{"content":[{"url":"file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar"}],"address":{"deployment":"postgresql-9.3-1103-jdbc4.jar"},"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"deploy"}],"address":[],"operation":"composite"}
==> web1: Error: /Stage[main]/Role::Deploy/Wildfly_deploy[postgresql-9.3-1103-jdbc4.jar]/ensure: change from absent to present failed: Could not set 'present' on ensure: Failed with: domain-failure-descriptionWFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:Operation step-1WFLYDC0038: Invalid url stream. for {"steps":[{"content":[{"url":"file:/vagrant/files/target/postgresql-9.3-1103-jdbc4.jar"}],"address":{"deployment":"postgresql-9.3-1103-jdbc4.jar"},"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"add"},{"address":[{"server-group":"main-server-group"},{"deployment":"postgresql-9.3-1103-jdbc4.jar"}],"operation":"deploy"}],"address":[],"operation":"composite"} at 12:/tmp/vagrant-puppet/modules-6bc1db179b8bd670aef67b4bb559f5c9/role/manifests/deploy.pp

wildfly_deploy only supports file:/ source and wildfly: wildfly should have read access to the file. A chmod 644 should fix the "Invalid URL stream".
I'll change wildfly::standalone::deploy to become wildfly::deploy and support both domain and standalone modes, and you'll be able to deploy from http, ftp and nexus.

Hm. I realized my mistake.
And this is my solution:
wildfly_deploy { 'postgresql-9.3-1103-jdbc4.jar':
  host => $ipaddress_eth1,
  username => 'admin',
  password => '1',
  source => 'http://central.maven.org/maven2/org/postgresql/postgresql/9.3-1103-jdbc4/postgresql-9.3-1103-jdbc4.jar',
  server_group => 'main-server-group',
  require => Exec['Wasting of 25 seconds']
}

wildfly_deploy { 'ec.ear':
  host => $ipaddress_eth1,
  username => 'admin',
  password => '1',
  source => 'file://vagrant/files/target/ec.ear',
  server_group => 'main-server-group',
  require => Wildfly_deploy['postgresql-9.3-1103-jdbc4.jar']
}

BUT! It still got timeout error!
==> web1: Debug: Wildfly_deploypostgresql-9.3-1103-jdbc4.jar: Exists? postgresql-9.3-1103-jdbc4.jar
==> web1: Debug: Wildfly_deploypostgresql-9.3-1103-jdbc4.jar: Deploying postgresql-9.3-1103-jdbc4.jar from source http://central.maven.org/maven2/org/postgresql/postgresql/9.3-1103-jdbc4/postgresql-9.3-1103-jdbc4.jar
==> web1: Notice: /Stage[main]/Role::Deploy/Wildfly_deploy[postgresql-9.3-1103-jdbc4.jar]/ensure: created
==> web1: Debug: /Stage[main]/Role::Deploy/Wildfly_deploy[postgresql-9.3-1103-jdbc4.jar]: The container Class[Role::Deploy] will propagate my refresh event
==> web1: Debug: Wildfly_deployec.ear: Exists? ec.ear
==> web1: Debug: Wildfly_deployec.ear: Deploying ec.ear from source file://vagrant/files/target/ec.ear
==> web1: Error: /Stage[main]/Role::Deploy/Wildfly_deploy[ec.ear]/ensure: change from absent to present failed: execution expired
==> web1: Debug: Storing state
==> web1: Debug: Stored state in 0.02 seconds

@jairojunior Yeah, i see it. Thanks you!

Awesome!


Could not find com.android.tools.build:gradle:2.3.3 ???

"react-native-fast-image": "^5.1.1",

Use the latest version, but can't compile.

How to solve?

I have same issue. Today many bugs related to graddle version. Just fixed the issue https://github.com/react-native-community/react-native-image-picker/issues/1002 then happens to this lib

Hello, I understand it is possible to make local modification to work around this issue.
But the correct way would be to update the library with latest gradle version, right?
Can this be done? Can I somehow help the authors/contributors with this? Thanks

Google is working on fixing this as today:
https://issuetracker.google.com/issues/120759347#comment27

Solved 👍 : https://github.com/DylanVann/react-native-fast-image/issues/366#issuecomment-446227637

@krupalagravat Your link links not correctly:
https://github.com/DylanVann/react-native-fast-image/issues/366#issuecomment-446227637


Polish RefreshScopeBeanDefinitionEnhancer.setRefreshable()

If this.refreshables and refreshables are the same instance, invoking addAll() isn't necessary.

Why not just move the addAll call inside the if instead of changing the logic?

@ryanjbaxter Thanks for the feedback! I usually handles exceptional cases first. I guess it's just my habit or style although it sometimes reduces nested block depths. In this case your suggestion looks better, so I updated as you suggested.


Qt integration/demo

Hello, first congrats for great piece of software! :) I tried to integrated sokol_gfx with Qt (using QWindow and other Qt's OpenGL classes) and seems like it works  well - I shared the code in my fork at: https://github.com/ppiecuch/sokol if someone is interested.
Regards
Paweel

Cool stuff :)

PS: looking at the code I'm seeing that you have added a SOKOL_NO_FUNC_PROTO. What sort of warnings or errors did you get without this? Does it make sense to add this to the main version?

I simplified definitions in last commit: there is SOKOL_CLASS_IMPL when including sokol in class implementation and SOKOL_CLASS_PROTO when including sokol in class definition.

Ah, now I understand, you're including the entire sokol header inside a C++ class... phew, I haven't seen this approach yet, I'm a bit surprised this works at all to be honest :)
Would it make sense for C++ to provide a way to wrap the sokol declaration and implementation into a C++ namespace instead?
E.g. something like this:
#define SOKOL_GFX_NAMESPACE sgfx
#include "sokol_gfx.h"
...and in this case all structs and functions would be wrapped in a namespace called sgfx?
This define would need to be set everywhere where sokol_gfx.h is included though, so this is a bit unusual (usually such config defines only need to be set before including the implementation).

I was even more surprise and happy too :) because what I did is Qt-ish way for OpenGL function loading:
class Window : public QWindow, protected QOpenGLFunctions
QOpenGLFunctions allows me to import (and resolve using method initializeOpenGLFunctions()) all OpenGL functions as methods of my Window class - they are not visible outside of the class. So I need to import Sokol functions in a same way. That way this demo works nice on all platforms.

@ppiecuch Integrating sokol in Qt has just come up on one of my projects :) I tried your code base with Qt 5.9 (win64 VS2015) but kept getting a null reference error during sg_setup. I believe Sokol thinks that OpenGL is not intialized.
@floooh I have also tried including sokol without modifications (i.e. no added SOKOL_CLASS_IMPL defines or anything. Basically like the the GLFW examples. I get the same null access error.
Any thoughts on this would be most appreciated!

Sure - I will update later my repo with latest changes.
Pawel

@ppiecuch Hey thanks. Yeah, I can't get past that assert either. I have tried a couple different SOKOL GL defines, but no dice.

Yeah, the GL backend in sokol_gfx.h only supports OpenGL 3.3, GLES 2.0 or GLES 3.0.

@danhambleton I had some time to take a look again on this problem (that I have a feeling already struggle with): on OSX/OpenGL2 problem is with calling glClearDepthf (glClearDepth should be called instead):
           #if defined(SOKOL_GLES2) && !defined(_SG_TARGET_MACOS)
            glClearDepthf(action->depth.val);
            #else
            glClearDepth(action->depth.val);
            #endif

This require some refactoring to have _SG_TARGET_MACOS available in GL mode. I have already committed these changes.


[BP-1.14][FLINK-30679][connectors/hive] Fix IndexOutOfBoundsException for Hive lookup join when column pushdown to Hive lookup table source

What is the purpose of the change
Can not load the data of hive dim table when project-push-down is introduced.
IndexOutOfBoundsException for Hive lookup join when column pushdown to Hive lookup table source.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): ( no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: ( no)
The runtime per-record code paths (performance sensitive): (no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? ( no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi @wuchong ，pass


Upload go-sm release builds to R2

Motivation
Upgrade the release process with R2 uploads to reduce costs and safeguarding against network charges and abuse, while keeping the GCP bucket as a temporary backup.
Description
Introduces a release upload to R2 while maintaining GCP as a backup. This step is part of a larger migration plan that will eventually see the full transition to R2, including the smapp builds.
Test Plan
Test the upload to the GCS Bucket

bors merge


Do the current write-clock and global-clock updates have race conditions?

In the paper's pseudo code function RLU_COMMIT_WRITE_LOG, the first two lines are
    ctx.write-clock ← global-clock + 1
    FETCH_AND_ADD(global-clock, 1)

If the current process is preempted by the scheduler after its reading the global-clock, the
global-clock can be increased by other processes. Let the global-clock value read by the
process be t0. When the current process gets its CPU time again, the ctx.write-clock will be
updated to the value t0, but the global-clock can be some larger value, say, t0 + 100. A
reader transaction R begins at t0 + 50 can suddenly read part of this commit, because if
R first check the commit at t0 + 60 and then check the commit at t0 + 101, the first check
will let R skip the write set, but the second check lets R read the write set.
The C code rlu_sync_and_writeback seems to have the same issue. Please kindly correct me
if I missed anything. Thanks.

Hi,You are thinking about concurrent writers, however, all concurrent writers won’t finish till the RCU epoch has passed, so it will avoid the conflict you are mentioning. It is not the same as usual TM transactions that do not wait at the end (no RCU).I hope it helps.Best,AlexOn Oct 17, 2023, at 1:34 PM, MingyanGuo @.***> wrote:
In the paper's pseudo code function RLU_COMMIT_WRITE_LOG, the first two lines are
ctx.write-clock ← global-clock + 1
FETCH_AND_ADD(global-clock, 1)
If the current process is preempted by the scheduler after its reading the global-clock, the
global-clock can be increased by other processes. Let the global-clock value read by the
process be t0. When the current process gets its CPU time again, the ctx.write-clock will be
updated to the value t0, but the global-clock can be some larger value, say, t0 + 100. A
reader transaction R begins at t0 + 50 can suddenly read part of this commit, because if
R first check the commit at t0 + 60 and then check the commit at t0 + 101, the first check
will let R skip the write set, but the second check lets R read the write set.
The C code rlu_sync_and_writeback seems to have the same issue. Please kindly correct me
if I missed anything. Thanks.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I looked more into the paper as well to remember and actually the basic
assumption is that writers execute serially. That's what you see in
Algorithm 1. It is the responsibility of the programmer to ensure
concurrent writers are correct, as it is shown in Listing 2 (there is
explicit lock for "prev" and "cur" nodes). The programmer basically needs
to avoid a case where writer 1 reads setA and writes setB and writer 2
reads setB and writes setA (a cycle dependency that is not linear).
On Wed, Oct 18, 2023 at 1:50 PM Mingyan Guo @.***>
wrote:

Hi,You are thinking about concurrent writers, however, all concurrent
writers won’t finish till the RCU epoch has passed, so it will avoid the
conflict you are mentioning. It is not the same as usual TM transactions
that do not wait at the end (no RCU).I hope it helps.Best,Alex
Thanks a lot for the reply. Really appreciate it. If I understand the
RLU paper correctly, the lock is on the object level, so if two writers
don't conflict on the objects to update, they can run concurrently,
right? RCU does not allow concurrent writers, but RLU is to overcome
this limit, if I read the abstract correctly.
RLU overcomes the major limitations of RCU by allowing, for the first time, concurrency of reads with multiple writers, and providing automation...
I just reread the paper again, but I still can only find the object level
locks. Could you please let me know where the concurrent writers
are synchronized? Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/rlu-sync/rlu/issues/3#issuecomment-1769047356, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDGMKDNM6CZ5VUY54P2TR3YAAJGJAVCNFSM6AAAAAA6EG56VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRZGA2DOMZVGY
.
You are receiving this because you commented.Message ID:
@.***>

I looked more into the paper as well to remember and actually the basic assumption is that writers execute serially. That's what you see in Algorithm 1. It is the responsibility of the programmer to ensure concurrent writers are correct, as it is shown in Listing 2 (there is explicit lock for "prev" and "cur" nodes). The programmer basically needs to avoid a case where writer 1 reads setA and writes setB and writer 2 reads setB and writes setA (a cycle dependency that is not linear).
…

Thanks. I understand that the programmer should avoid the cycle dependency
mentioned here.

the basic assumption is that writers execute serially

Maybe serializable not serially? Otherwise a global write lock is sufficient, and
the object level lock in RLU_TRY_LOCK is not necessary.
So concurrent writers are expected, but they should not interfere each other logically.
The race condition in the issue can be caused by totally unrelated concurrent writers.
This line
    ctx.write-clock ← global-clock + 1

can be interpreted as
  var temp ← global-clock
  // load the global variable into a register
  // then the current process is interrupted, and the global-clock is
  // updated by other writers to the value temp + 100. These writers
  // can be unrelated to this writer logically.
  // meanwhile, some readers started, but they can not read this
  // write set, because its write-clock is still ∞
  ctx.write-clock ← temp + 1
  // the current process gets CPU again, and set its write-clock to
  // temp + 1. The readers just started can suddenly read this write
  // set. So the readers can only see part of the write set in one
  // transaction.

In my opinion, the fix is to add a brief lock to make the two lines
atomic.
    lock(global-writer-lock)
    ctx.write-clock ← global-clock + 1
    global-clock ← global-clock + 1
    unlock(global-writer-lock)

Hopefully my question is clear now. Thanks a lot for your time.

I see what you mean. This is a good catch. The ctx.write-clock and
global-clock should update atomically to avoid other writers moving readers
forward in time, while this one writer is stalled.
Alex
On Wed, Oct 18, 2023 at 4:16 PM Mingyan Guo @.***>
wrote:

I looked more into the paper as well to remember and actually the basic
assumption is that writers execute serially. That's what you see in
Algorithm 1. It is the responsibility of the programmer to ensure
concurrent writers are correct, as it is shown in Listing 2 (there is
explicit lock for "prev" and "cur" nodes). The programmer basically needs
to avoid a case where writer 1 reads setA and writes setB and writer 2
reads setB and writes setA (a cycle dependency that is not linear).
… <#m_-1065742480950296257_m_5955298840366869984_>
Thanks. I understand that the programmer should avoid the cycle dependency
mentioned here.
the basic assumption is that writers execute serially
Maybe serializable not serially? Otherwise a global write lock is
sufficient, and
the object level lock in RLU_TRY_LOCK is not necessary.
So concurrent writers are expected, but they should not interfere each
other logically.
The race condition in the issue can be caused by totally unrelated
concurrent writers.
This line
ctx.write-clock ← global-clock + 1

can be interpreted as
var temp ← global-clock
// load the global variable into a register
// then the current process is interrupted, and the global-clock is
// updated by other writers to the value temp + 100. These writers
// can be unrelated to this writer logically.
// meanwhile, some readers started, but they can not read this
// write set, because its write-clock is still ∞
ctx.write-clock ← temp + 1
// the current process gets CPU again, and set its write-clock to
// temp + 1. The readers just started can suddenly read this write
// set. So the readers can only see part of the write set in one
// transaction.
In my opinion, the fix is to add a brief lock to make the two lines
atomic.
lock(global-writer-lock)
ctx.write-clock ← global-clock + 1
global-clock ← global-clock + 1
unlock(global-writer-lock)

Hopefully my question is clear now. Thanks a lot for your time.
—
Reply to this email directly, view it on GitHub
https://github.com/rlu-sync/rlu/issues/3#issuecomment-1769253453, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDGMKBUB6R5777K3EXTGY3YAA2JJAVCNFSM6AAAAAA6EG56VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRZGI2TGNBVGM
.
You are receiving this because you commented.Message ID:
@.***>

I see what you mean. This is a good catch. The ctx.write-clock and global-clock should update atomically to avoid other writers moving readers forward in time, while this one writer is stalled. Alex
…

Thanks for the confirmation and appreciate all your replies.


service update_section view: use updated_service_name dict key for flash message which makes more sense and is more consistent with remove_service…

this has no real effect of course because the key is not consumed by the template - it's just a tiny sanity change
tiniest most insignificant change ever.

:+1:


Update text_ui.py

Reverts back to where it used to be.  This change throws an error (maybe an issue upstream) where various events players will error out.  This makes Text_UI have the issue from before where it won't update player variables unless score, ball, or player changes.  But better than breaking.  At some point I will dig into a real fix to make Text_UI match what is expected for all scenarios.

I guess a try catch inside the handler would work around all those issues with non trivial types.

I guess a try catch inside the handler would work around all those issues with non trivial types.

Good idea.  Put it in, and is working for my local tests.

Awesome. Thanks :-)


Undefined Method for Collection Proxy

This fixes #33 by modifying the method of instantiating forms and setting data for the form builder. This also adds an explicit set of test for Administrate 0.13.0, which appears to have a number of breaking changes.

Running into issues with this gem and administrate 0.13. Looks like this PR fixes the issues I'm seeing, would be great to get merged in!

Yes, please!

I've gone ahead and referenced @wkirby's pull request in my Gemfile
gem 'administrate-field-nested_has_many', github: 'apsislabs/administrate-field-nested_has_many', branch: '33-undefined-method-for-collection-proxy'

Hopefully this will be OK until this gets merged in.

@wkirby, do you think you'd be able to drop that commit (0585c69) so we could merge this?

@nickcharlton I've reverted 0585c69

Thanks!


Issue with Colorjs.io that seems to lead back to Vanilla Extract

Describe the bug
I have an issue where the Colorjs.io library toString() method outputs a wrong color format when used inside *.css.ts files.
I filed this issue originally here and there's some further information, but given the method seems to otherwise work well in pure node, it may be related to how VE builds the *.css.ts files. Any ideas what could be happening?
Reproduction
https://github.com/mystrdat/colorjs-vanilla-test
System Info
System:
    OS: Linux 6.0 Fedora Linux 37.20221101.n.0 (Silverblue)
    CPU: (12) x64 AMD Ryzen 5 5600X 6-Core Processor
    Memory: 24.92 GB / 31.28 GB
    Container: Yes
    Shell: 3.5.0 - /usr/bin/fish
  Binaries:
    Node: 16.17.1 - ~/.local/share/nvm/v16.17.1/bin/node
    npm: 8.15.0 - ~/.local/share/nvm/v16.17.1/bin/npm
  npmPackages:
    @vanilla-extract/css: ^1.9.1 => 1.9.1
    @vanilla-extract/vite-plugin: ^3.6.1 => 3.6.1
    vite: ^3.2.0 => 3.2.2

Used Package Manager
npm
Logs
No response
Validations

[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Just debugged a bit in both the browser and node (with no knowledge of how VE works internally). The difference between browser and node is in ColorSpace.getFormat when calling  processFormat() (ref):
getFormat (format) {
  // ...
  if (ret) {
    ret = this.#processFormat(ret); // We end up here
    return ret;
  }
}

In node with VE the compiled code looks like this:
ret = __privateMethod(this, _processFormat, __create).call(this, ret);

In the browser the processFormat() is called as expected. In node there is a strange behavior. The third argument __create is the function that gets called (returned by __privateMethod). Now the funny thing is that __create is declared and initialized twice in the same file, once for the processFormat function and once for the getPath function - and we end up in the latter one instead of processFormat (which then returns something different which than later breaks everything). The file looks like this:
var _processFormat, __create, _path, _getPath, __create;

// ...

__create = __create = function(format) {
  // Code of processFormat()
}

// ...

__create = function() {
 // Code of getPath()
}

Assuming that the file was transformed by esbuild (as Vite uses esbuild, but I don't know if there is any other magic going on): this was actually a bug in esbuild that was fixed over one year ago https://github.com/evanw/esbuild/issues/1424

That's all I've found out so far. It's time to call it a day 😴

Thank you very much for the insight! If that's the case the bug was fixed in<EMAIL_ADDRESS>yet Vite uses ^0.15.9 https://github.com/vitejs/vite/blob/main/packages/vite/package.json#L61 😵💫

Just debugged further: Vite does not transform the file with esbuild but calls the transform function of VE, and VE itself transforms it using esbuild. But VE uses its own esbuild version located in node_modules/@vanilla-extract/integration/node_modules/esbuild.
And the @vanilla-extract/integration package uses esbuild 0.11.x, so the bug still exists in this version. So I guess updating the esbuild version in the integration package should fix the bug.

That makes sense given the bug only manifests in *.css.ts files. @markdalgleish would it be possible to update esbuild in the integration package to squash this? Many thanks again for debugging this @rothsandro ❤

Could anyone from the VE team look into this? IMO this bug opens a potentially infinite volume of bizarre edge case issues and should probably be treated asap.

I've also tried to use Color.js with the vanilla-extract and faced a similar issue, but I came up with the conclusion that the problem with color.js - node integration. According to the documentation Color.parse method which is used by the color constructor as well doesn't work in non-dom environments.

Fixed in #973


Implement scrolling kuru kuru

Right now I just kind of "copied" the code from the duiqt website (which obviously doesn't work 💀 ), so we'll do a react version

Done with bdd00f95ea18b3e38de5c5b9d55d05ab2881f7a5bdd00f95ea18b3e38de5c5b9d55d05ab2881f7a5


[INLONG-1650][TubeMQ] Provide a more elegant way to define config address in Go SDK

Signed-off-by: Zijie Lu<EMAIL_ADDRESS>Title Name: [INLONG-XYZ][component] Title of the pull request
where XYZ should be replaced by the actual issue number.
Fixes #1650
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@gosonzhang PTAL


Couldn't get commentThread == editable to work

Testing https://github.com/microsoft/vscode/issues/74472
I changed the following command in the example to
				{
					"command": "mywiki.deleteNote",
					"group": "navigation",
					"when": "commentThread == editable"
				}

But this made the delete command disappear in all cases although I am pretty sure the commentThread is editable

User error.


Support multiple tokens (+enhancements)

This does these things:

Removes snafu as a dependency
Updates metrics dependencies
Adds release profile optimizations for smaller size and better performance
Allows the use of multiple tokens by using a map of tokens to clients internally, creating new ones as needed and removing unused clients (those not used in the last hour) once per 10mins (optionally customizable via CLIENT_DECAY_TIMEOUT, CLIENT_CACHE_MAX_SIZE, CLIENT_REAP_INTERVAL)

Let's also update to 0.6.1


[BUG] Misleading Errormessage for unauthorized errors

Describe the bug
When using DefaultAzureCredential and the provided principal (in our case in the context of a Azure Devops/azure cli task in a build pipeline) does not have access to the requested resource the error shown is misleding.
(This bug is similar to #13481 but in a different context)
Expected behavior
Display an error about "provided prinicipal 123 is unauthorized"
Actual behavior (include Exception or Stack Trace)
The following error message is shown:
2021-07-08T15:57:34.4093847Z Azure.Identity.CredentialUnavailableException: DefaultAzureCredential failed to retrieve a token from the included credentials.
2021-07-08T15:57:34.4094441Z - EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
2021-07-08T15:57:34.4094881Z - ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.
2021-07-08T15:57:34.4095413Z - Visual Studio Token provider can't be accessed at ***tokenprovider.json
2021-07-08T15:57:34.4095929Z - Stored credentials not found. Need to authenticate user in VSCode Azure Account.
2021-07-08T15:57:34.4096267Z - Please run 'az login' to set up account
2021-07-08T15:57:34.4097641Z - Please run 'Connect-AzAccount' to set up account. ---> System.AggregateException: Multiple exceptions were encountered while attempting to authenticate. (EnvironmentCredential authentication unavailable. Environment variables are not fully configured.) (ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.) (Visual Studio Token provider can't be accessed at ***tokenprovider.json) (Stored credentials not found. Need to authenticate user in VSCode Azure Account.) (Please run 'az login' to set up account) (Please run 'Connect-AzAccount' to set up account.) ---> Azure.Identity.CredentialUnavailableException: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.

To Reproduce
Use DefaultAzurecredential to get a JWT-Token to access some web api (in our case app service with authentication enabled).
Environment:

Azure.Identity 1.4.0

Thank you for your feedback.  Tagging and routing to the team members best able to assist.

Error messages have been improved with troubleshooter links


[Features request] Extend library capabilities

Hey @tien, how are you?
I see your library as the ultimate and most up-to-date Airplay library for react-native and I'm really willing to use it in my apps. I have a list of features I think will add a lot of value to this already awesome package. I'm not sure if they are possible to implement, maybe you can confirm that:

Add a connect method that you can call whenever you want. This will allow the devs to use any custom component (or user interaction) to show up the list of devices you can connect to (and not just the AirplayButton that comes with the library). I have a custom icon component on my app that I want to use to connect to Airplay (and not rely on the AirplayButton) because it has some custom size and styles that I want to apply.

Add a disconnect method that you can call whenever you want. I'm facing a really big issue on my app where I'm having some videos that should be "Airplayeable" and other videos that I don't want them to be "AirPlayeable". The thing is that even though I'm setting the videos to don't allow the external playback, they are still airplayed to the tvOS no matter what because the connection is already stablished. The best way of fixing this (I think) is to disconnect that connection when the video ends (you can read more about this issue on https://github.com/react-native-video/react-native-video/issues/2464)

Let me know if I can help you somehow please!

I've added a new method showRoutePicker to programmatically show the airplay menu. As for programmatically disconnecting air. For disconnecting a current airplay session that's not possible, unfortunately.


LLVM 3.9 support

LLVM 3.9 was released the other day, we should look into supporting it and not falling too much behind again.

Is there any specific advantage that Crystal can utilize?

@sdogruyol being able to build on systems which only have that LLVM version installed.

@RX14 anything else?

LLVM always includes improvements to the optimizer in new versions.

LLVM is also slower and slower each release. And we could manage to use LLVM 3.8 on omnibus, and I personally didn't notice any performance improvements over previous LLVM versions (I think they are mostly focusing on clang, maybe swift), so I wouldn't rush much about supporting newer LLVM versions for now.

From the release notes, it seems LLVM 3.9 notably improved and fixed the AARCH64, ARM and MIPS targets.
Supporting newer LLVM versions doesn't mean we have to rush and use it, but it greatly simplifies compiling Crystal on some platforms (eg. rolling linux releases) and avoids to have to compile LLVM manually, which is a painful experience...

There might be LLVM-optimization steps that has no real benefit to Crystal programs and thus can be omitted in the codegen-chain, to keep compile time down. "Pure wishful thinking".

What's the status here? We're looking to do the llvm 3.9 upgrade in homebrew/core and that will mean crystal-lang will cease to compile. At this point, crystal-lang is the only llvm dependent that does not have 3.9 compatibility in at least HEAD. I'd prefer not to have to boneyard it :(

Thanks for the heads up @ilovezfs!
The problem with LLVM is that they seem not to follow the usual semantic versioning, specially regarding breaking changes. I guess this has been probably discussed already with other projects in Homebrew, right? Can you point me to one of those conversations so I don't start from scratch?
Some Linux distros comes with two or three versions of some packages like llvm. I think that would simplify things for Homebrew too. Is there any reason that couldn't be an option?

We've discussed supporting multiple versions but currently core will only support the latest, which soon will be 3.9. It looks like you'll be grappling with LLVMAddTargetData and LLVMGetTargetMachineData being removed. Not sure if there any other problems.

LLVMAddTargetData

This call has been doing nothing for a while. The data layout is now set once on LLVMModule.
I think we should get rid of the custom data layout definitions by-the-way, and retrieve the defaults from LLVM instead. Rust did that when they moved to LLVM 3.7 for example https://github.com/rust-lang/rust/pull/27076/commits/958d5638254958ea42652de7444b63f2e67e7fe3

LLVMGetTargetMachineData

It's LLVMGetDataLayoutStr now (since LLVMGetDataLayout is deprecated).

LLVMAttribute API (optional, but will break eventually):

It's deprecated in favor of LLVMAttributeRef.

Note that thee LLVM 3.9 features are appealing to the ARM port (not even speaking of AArch64):

A large number of codegen fixes around ARMv8, DSP, correct sub-target support, relocations, EABI, EHABI, Windows on ARM, atomics.
Initial support for MUSL (libc) on ARM.
Support for Thumb1 targets in libunwind.


Improve writing style in Reconciliation Tradeoffs

I've improved my previous changes to what re-render means by following Dan Abramov's
suggestion on the writing style to remove the parenthesis from that paragraph.
Here's the comment for more context:
https://github.com/reactjs/reactjs.org/pull/108#issuecomment-335511421

Awesome. Thanks.


python env_setup.py --no_dev fails on azure-iot-provisioning-servicesdk

This repo contains source code for the deprecated azure-iot-provisioning-servicesdk.
The existence of this code produces a side-effect which causes the "install all SDKs" README instruction python env_setup.py --no_dev  to fail:
Obtaining file:///mnt/c/src/azure-iot-sdk-python-preview/azure-iot-hub-devicesdk
Collecting azure-iot-common (from azure-iot-hub-devicesdk==0.0.0a1)
  Could not find a version that satisfies the requirement azure-iot-common (from azure-iot-hub-devicesdk==0.0.0a1) (from versions: )
No matching distribution found for azure-iot-common (from azure-iot-hub-devicesdk==0.0.0a1)

Solved in #73 , the Provisioning Service SDK is no longer present.


Fix webfonts path to be relative

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks! I'm going to dig into this more today. I believe there are other issues with the web hosting that doesn't use relative paths.


sensor.api_streams errors with websocket components

Home Assistant release with the issue:
0.89.x
Last working Home Assistant release (if known):
0.88.x
Operating environment (Hass.io/Docker/Windows/etc.):
Native (PIP) install on Ubuntu 18.04, under ESXi 6.5.
Component/platform:
sensor.api_streams
Description of problem:
API streams sensor flags an error in the log with other components using the websocket API. The sensor itself no longer seems to be outputting information and stuck at 0, despite users being connected.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
sensor:
  - platform: api_streams
    entity_namespace: !include ../../includes/namespaces/platform.yaml

Traceback (if applicable):
Traceback (most recent call last):
  File "/home/administrator/.local/lib/python3.6/site-packages/homeassistant/components/websocket_api/decorators.py", line 17, in _handle_async_response
    await func(hass, connection, msg)
  File "/home/administrator/.local/lib/python3.6/site-packages/homeassistant/components/websocket_api/commands.py", line 158, in handle_call_service
    connection.logger.exception(err)
  File "/usr/lib/python3.6/logging/__init__.py", line 1343, in exception
    self.error(msg, *args, exc_info=exc_info, **kwargs)
  File "/usr/lib/python3.6/logging/__init__.py", line 1337, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/usr/lib/python3.6/logging/__init__.py", line 1444, in _log
    self.handle(record)
  File "/usr/lib/python3.6/logging/__init__.py", line 1454, in handle
    self.callHandlers(record)
  File "/usr/lib/python3.6/logging/__init__.py", line 1516, in callHandlers
    hdlr.handle(record)
  File "/home/administrator/.local/lib/python3.6/site-packages/homeassistant/components/sensor/api_streams.py", line 38, in handle
    if not record.msg.startswith('WS'):
AttributeError: 'TypeError' object has no attribute 'startswith'

Additional information:

Updating to reflect issue doesn't stem from media_player component; just appeared to stem from it.

Maybe we need retire this sensor, or move it under websocket_api component.
This sensor use the implement detail of webscoket log... too easy to break.

Yeah, let's remove it.

Fair enough; I'll look at removing it from my config. It's one of those components that I've thrown into the mix simply because it was there.
Shall I leave this open until it's removed, or close it as my question is satisfied?

Will submit a PR to close this shortly.

Closing issue as API stream sensor has been removed from current version; and replaced with websocket API sensor.


[ci skip] Update command.cr

Well, make the capitalization of Crystal consistent too then?

I think the Crystal there is redundant

Then it probably should go from init too.

Got it :+1:

Done

Thanks, a slightly more informative commit message would be great in the future ;)

Thanks @jhass i'll keep that in mind :+1:


Revert back to commit 5a81b9f0e313436082ba9f3ca1d93659d1f37ceb

This commit reverts multiple commits, one which has introduced test flakiness:

e0f318068afc4a0d9c8565f33640498169ccf53a
7ff7576f6a4133ebfd379936ca44d3a52fd373a1
d8bed370926acf897054540e4d5e0b74b9f554c0
d2f17f683f004d3522ed0f8b69dce19a3520a90b
99906b03ad0dc449aff050f1d11ee76910b441e9

Thank you for submitting a pull request to the diego-release repository. We appreciate the contribution. To help us with getting better context for the pull request please follow these guidelines:
Please make sure to complete the following steps

[ ] Before PR Submission, Submit an issue for either an Enhancement or Bug
[ ] Check the Contributing document on how to sign the CLA and run tests in diego-release.
[ ] Make sure a pull request is done against the develop branch.

Issue Link

Please link the issue you created above for a bug or enhancement.

Thank you!

We determined that the test flakiness was not caused by these changes, so going to close the PR


Handling POST requests

This isn't really an issue but more of a question (that might highlight an issue...but I'm not sure).
I've created a HAL based API.  So hyperagent seems well suited for that.  I don't 100% understand when I'm supposed to fetch and when I'm not, but that is a separate, manageable issue.
The main issue I'm having is with handling POST requests.  There are cases where I have to do a POST to create resources on the server.  I'm aware of the "dialects" to HAL for such things, but I'm not using those (at least in this case) because I'm uploading files and I don't think HAL makes any sense in that context (although correct me if I'm wrong).
Being a good REST api, the POST returns a 201 status and a Location header.  But in a hyperagent context, that is just another URL, not a proper Resource object.  What I do now is basically:
var loc = resp.headers("Location");
var new_url = Hyperagent.Resource.resolveUrl(base_url, loc);
return new Hyperagent.Resource(new_url).fetch();

So basically, I read the Location header of the POST response (which is just that path portion), combine that with the base_url for the API to get a fully qualified URL and then create a new Resource object from that.  This feels odd to me because I feel that when I stay in the realm of GET, I only have to create one "api" Resource and I can navigate entirely from there (which is how it should be, right).
But here, I have to start messing around with URLs again, which is exactly what I was hoping to avoid with a very hypermedia centric API.  The strange thing is...why should a POST complicate things.  The Location header is a standard way to return the URL of a new resource.  Why not take advantage of that somehow?  I didn't see any reference to the Location header anywhere in the hyperagent source so it doesn't seem like this is taken into account.
What I envision is something like this:
var res = api.link('files').post(data, { headers: ... })

The idea here would be a method, post, that (behind the scenes) makes a POST request to the files resource, parses the Location header (like I've done above?) and then returns the resource.  In this way, the client code looks clean and avoids all this URL handling?
Is this the "proper" way to go about this or am I missing something.  I'm happy to do the work and submit a PR.  I just want to make sure a) I'm not doing it wrong, b) there isn't already a way to do this cleanly and c) if it were to be done that this is the way to do it.
Comments?

Great question @xogeny - seems currently there is no way to do a POST request?
This line ignores specifying the method option.
Any plans to work on this?

@sdbondi It isn't clear if @weluse would accept a PR for this.  I'm definitely interested in adding this capability.
For the moment, I guess we have your comment about {ajax: {method: "POST"}} as a workaround.  How do you specify the payload for the POST request?!?  Is there an ajax option for that as well?
Interestingly, I have a whole bunch of PRs pending for the halgo library which is quite similar to hyperagent, but for Go.  They are similar.  It would be nice if there was a sort of consistent API across the libraries.  For example, I have one pull request there that handles the LOCATION header issue I mention above.

The ajax option extends any options passed to the specified ajax method (for e.g. $.ajax) so {ajax: { method: 'POST', data: {...} } would include a payload. See this line
It seems to be considered best practice/standard for resource creation to include a Location header. Some support for Location makes sense. I guess being able to call fetch on the new resource would look at the location header??
api.link['files'].post(data).then(function(newFile) {  return newFile.fetch() }).then(...)
I am working my way through building a HAL api with hyperagent on the client-side and may end up submitting various PRs for this repo once I get further.

On the topic of ajax, issue number #38 might also be of interest.

I just added my thoughts about POST requests in #36.

Hello folks!
When I use POST (like signing up my user) on (http://haltalk.herokuapp.com/), the method you described above works good but the .then(...) is ignored later. Am I doing something wrong?
var signup = root.links['ht:signup'];
signup.fetch(
              {
                ajax :
                  {
                    method : "POST",
                    data : {'username' : user,'password' : obj.password, 'real_name' : user + 'by IM'}
                  }
              }
            )
            .then(function(data){
              var dataPost = data; /// Pitfall: this is unreachable, but the post is made.
            });


ja Localization

Hi.
I was wondering if there was anything about the Japan localization being worked on, or if someone else was working on it. If not, is it possible that I may contribute to the project?
Thank you.

Nope, nobody is working on it! I'd take any pull requests you want to send me.
I think the first thing to do is to add a ja file to https://github.com/quisquous/cactbot/tree/master/resources/lang.  From there, probably starting to translate triggers and timelines in ui/raidboss/data/triggers is the next step.

No no, that's a more than reasonable question.  My apologies that this is not very obvious.  Right now, switching language to anything other than English is controlled by an option.
https://github.com/quisquous/cactbot/blob/master/AdvancedCactbot.md#customizing-behavior tries to explain how to set options.  The summary is that for each cactbot module (raidboss, jobs, eureka, etc) you add a user/raidboss.js file (or whatever the module is called), and inside there, make sure you have a line that says Options.Language = 'ja';
If you translate the test timeline in test.js, you can go to Summerford Farms and do a /countdown and it should start a test timeline etc.  If you've set the language correctly, this should behave properly and the triggers should work too.
I need to think about making setting a different language easier.  I'm thinking that I probably need to add a language selection box from the overlay page.  Ideally I could just detect it from the game itself, but I'd have to do some digging in memory.

Hi, I am getting this when testing raidboss ui with japanese.
22/06/2018 6:34:26 PM: Info: Boss: BrowserConsole: Uncaught TypeError: Cannot read property 'replace' of undefined (Source: file:///C:/Program%20Files%20(x86)/Advanced%20Combat%20Tracker/Plugins/overlay%20plugin%<IP_ADDRESS>/cactbot/resources/regexes.js, Line: 48).

Thank You, yes its working now. Heres the test.js and general.js file I modified for Japanese.
I noticed that the general.js from the master file does not have tts in the triggers it like in 0.7.2 release and I did not add them back in. Also I did not keep the Fr replace part, as I just modified that to Japanese.
general.zip
test.zip

@eestyle If you're planning on making more contributions in the future, would you mind uploading those as a pull request? https://github.com/CPAN-PRC/resources/wiki/My-first-Pull-Request
Re: tts.  In ae92fda263e I made it so that if not tts is specified, it willl just use alarm/alert/info text directly.  This reduced a bunch of redundancy in triggers.

Ok noted, sorry, this is the first time I use github so I dont really know what I should do.

So I've been running tests with the jobs overlay and having a bit of an issue trying to get the Ja localization to work properly. Every time I change the language to Ja it throws back an error:
Info: jobs: BrowserConsole: Uncaught TypeError: Cannot read property 'youGainEffectRegex' of null (Source: file:///C:/Program%20Files%20(x86)/Advanced%20Combat%20Tracker/OverlayPlugin/cactbot/ui/jobs/jobs.js, Line: 206)
This seemingly happens only when I switch the language to Ja. Works fine with any other language. Double checked the ja.js file in the resources folder also to be sure and nothing seemed out of the ordinary.

I'm going to close this for now.  Any followup translations can just be pull requests.


AMBARI-23416 Background Operations: icons have incorrect color

How was this patch tested?
Tested manually

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1527/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1535/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1550/
Test FAILed.
Test FAILured.

2619601 [INFO] Ambari Web ......................................... SUCCESS [03:42 min]


Fix has_helpers to use proper arguments for 2.7, 3.3 and 3.4

imp.find_module requires a list of actual directory paths to function properly.

Thanks! Can you include a test that demonstrates the issue? There should be one in #76.

Sure, will update the PR

@jsocol I updated the PR with a proper test and another adjustment for python 3

thanks! just the one small comment, and then would you mind squashing it all down to one commit?

Done :smiley:

Thanks @EnTeQuAk! I'm going to do a little clean up today and cut a release

Awesome, Thanks!

Changes Unknown when pulling d1fab2b99b847f7e603811dd442259f91ecae3b4 on EnTeQuAk:bugfix/fix-has-helpers into ** on jbalogh:master**.


remove capture group for managedPath

What kind of change does this PR introduce?
Related issue https://github.com/webpack/webpack.js.org/issues/6205.
The requirement of capture group in regexp seems not necessary in this case and it's confusing.

Did you add tests for your changes?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

there is capture group in immutablePaths + this would be a breaking change..

capture group required here https://github.com/webpack/webpack/blob/main/lib/config/defaults.js#L420

Would somebody please explain what that actually does!

Would somebody please explain what that actually does! What does webpack do with the partial path that is returned?

cc @sokra Maybe you can help explain it here since you're the author of those code.


implement qs value handling as a higher order encoding

Implements https://github.com/gratipay/gratipay.com/pull/3965#discussion_r58274069. Making this a PR to hopefully avoid stepping on toes. :-)

Ping @aandis. What do you think of this approach?

Not sure if this is a good solution for gratipay or not, but it wouldn't work for liberapay: our use of b64{en,de}code is not limited to querystrings, and dropping support for bytestrings could easily result in 500s that wouldn't be caught by the tests, which would be bad for a function whose purpose is to avoid 500s.

dropping support for bytestrings could easily result in 500s

Passing bytestrings where unicode strings are expected should be a 500. If/when we need to encode/decode binary data we should use different functions designed for that purpose.

Passing bytestrings where unicode strings are expected should be a 500.

You want to sacrifice user experience for the sake of code "purity"? If we had static typing then it could be a compile-time error, but we don't, and in this case the test suite can't replace static checking.

You want to sacrifice user experience for the sake of code "purity"?

That's not what I see going on here. If we end up passing a bytestring into encode_for_querystring then that's our bug (i.e., should result in an HTTP 500 so we find out about it and can fix it), not a result of user input (→ 400). We own/control the data type of the input we receive from users, and we shouldn't conflate byte strings and text (unicode) strings.

Dropping support for bytestrings means that instead of a 200 you'll get a 500. It's not a change from a 400 to a 500.

@Changaco Why would we ever pass a bytestring to decode_from_querystring?

Does it matter? The point is that it can happen. It's fairly easy to pass bytes instead of str by mistake, especially in python2.
I'm dropping out of this discussion now, I've said what I had to say. :-)

You good to merge this, then, @aandis? What's your take?

I think it's okay to keep this (with a few improvements) for now since our use case is only querystring encoding. If and when, we decide to use encoding at other places, we'll modify this. :)

with a few improvements

387a0c0f03f89dae47fe4503dec9040eed4e8dba

@aandis 387a0c0f03f89dae47fe4503dec9040eed4e8dba looks good to me.

If you're okay with dd508d8ea119ae8994871885af5f64af064a337f then I think we're good to merge, ya?

:+1:


Move db to persistant Docker volume

In order to enable easier ability to keep the db data persistent and allow us to use a SQLite web ui to access the db, we need to move the db to a Docker mounted volume.

Moving the SQLite db from /app/db to /db/db.sqlite3


Make snippets in component metadata rule section idiomatic

Always use 'abstract' rule classes
Suggest to use @CacheableRule

@bot-gradle test QFL

OK, I've already triggered QuickFeedbackLinux build for you.


PROTO: Add a build command

Closing as probably implemented by @baszalmstra  and @tdejager in another coming pr


Clarification: add new node filter to scheduler

Can we extend node filter to add a new constraint on node selection?

@sainath14
You can follow the doc https://github.com/docker/swarm/blob/master/docs/scheduler/filter.md.
Actually you can use constraint to specify the node_id of node to select one.

@allencloud similar to port management which is a limited resource in each node, we would like to enable swarm to manage a different resource on each node. Can we extend swarm scheduler to manage different resources in the same lines as ports?

What resources do you try to filter on?

@dongluochen For example, if i want to manage the available number of sr-iov network devices? Consider i am using those network interfaces inside containers. they are limited on a given host. how flexible is docker swarm to add new filters like this?

It's a resource allocation problem. Under current Swarm framework you may consider the following 2 approaches.
Containerslots filter was added recently for abstract resources. You can specify container slot count on a node from Docker daemon. Each container would occupy a slot.
$ docker daemon --label containerslots=3

Another way is to map your resource to memory or CPU. When all memory or CPU are reserved, new requests with resource reservation fail.
Both approaches doesn't handle arbitrary resource allocation, e.g., you have 3 different types of GPUs on each node. The concept of containerslots can be extended to deal with that. It could be a future task.

@dongluochen  "map your resource to memory or CPU."
In my case the resource is a device - sriov network device. What do you refer to when you say "map to memory or CPU?"

It's a hack to use CPU or memory to represent your dedicated resource. Let's say you have 4 sr-iov devices on a node and 16GB memory. You want  to run 4 containers each uses one device. You can put constraint memory = 4GB for each container. The 4 containers use up the memory on the node. Subsequent container requests to the node with memory limit will be rejected.


do you plan to continue development of this project?

I could always help out if you'd like, I'm interested in something like this to test out some Ruby backend type stuff.

@soops At some point I'd love to start it up again but it's been a while and finding a good SMS API is trouble. It'd be awesome if you wanted to start working on it, though.


TypeError: SGmail.setApikey is not a function

Ive been trying to add a registration successfull email feature to my node js user login project.Please help.
i used the following code:
var SGmail = require('@sendgrid/mail')
SGmail.setApikey("SG.XXXX");
const msg = {
to<EMAIL_ADDRESS>from<EMAIL_ADDRESS>subject: 'Sending with Twilio SendGrid is Fun',
text: 'and easy to do anywhere, even with Node.js',
html: 'and easy to do anywhere, even with Node.js',
};
sgMail.send(msg);

Hello @emilfrancis2027,
Can you please verify what version of this SDK you are using?
If you hare on the latest version, then this example should work for you.
Thanks!
With Best Regards,
Elmer

I actually made a pretty stupid mistake .the K in setApiKey should be in uppercase ,i mistyped that.

Thanks a lot for replying Elmer
I actually made a pretty stupid mistake .the K in setApiKey should be in
uppercase ,i mistyped that.
On Tue, May 28, 2019 at 11:27 PM Elmer Thomas<EMAIL_ADDRESS>wrote:

Hello @emilfrancis2027 https://github.com/emilfrancis2027,
Can you please verify what version of this SDK you are using?
If you hare on the latest version, then this example
https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/single-email-single-recipient.md#send-a-single-email-to-a-single-recipient
should work for you.
Thanks!
With Best Regards,
Elmer
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/936?email_source=notifications&email_token=AMFOC374RSHGYVA5227J2GLPXVXARA5CNFSM4HPWFWP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWM54GA#issuecomment-496623128,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMFOC3YFXK4BNOUVM4TDSATPXVXARANCNFSM4HPWFWPQ
.

Thanks for following up!


Set appropriate User-Agent header when requesting sites

The User-Agent should be configurable.
i.e. for version 1.0:

[ ]  html2rss/1.0

Aha I think I am running into this. So setting User-Agent as a header has no effect?


fix: issue #290 ensure that security is applied for all ws connections

Not sure how to handle "If the spark is ended you must remove the listener as well."?

For example:
let removeListener

const onChangeWrapper = function(msg) {
    ...
    spark.end('{message: "Connection disconnected by security constraint"}', { reconnect: true });
    removeListener()
    ...
}

removeListener = function() {
  app.signalk.removeListener('delta', onChangeWrapper)
}

spark.onDisconnect = removeListener

Then I started to wonder if primus fires disconnection if the server ends the connection with spark.end - then this would not be needed. Can you check?

It does fire disconnection when spark.end is called, so I think we're good here.


Remove yarn-or-npm as it breaks production builds

To be honest I don't know why this change did make it into the master branch in the first place.

Because we, too, are human! ;)
Anyway, I'm okay with changing it back, but I won't be merging it into the master branch yet. If you update the changelog to reflect the changes in 2.4.0, I'll merge the PR.
Thanks!

Thank you! 👍

Thanks for your contribution.


When flat file and mssql are both downloading, it flashes the output window a lot

when they are both writing messages to the output window during download, it flashes the output window between them.

Since we bundle SQL Tools Service with mssql in our release builds I think this should only impact the developer scenario for now.

Closing older issues with low customer impact.  We now download STS during build so I don't think this will typically impact common dev scenarios any more.


Next.js 14 CldImg produces url encoding %E2%80%8B%E2%80

Bug Report
Incorrect url set
Describe the bug
Very weird encoded srcset url that is way too long
<img alt="" fetchpriority="high" width="1920" height="1080" decoding="async" data-nimg="1" class="h-auto w-full" style="" sizes="100vw" srcset="https://res.cloudinary.com/ajonp/image/upload/c_limit,w_640/f_auto/q_auto/v1/main-codingcatdev-photo/4_firebase-security-rules%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8D%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8B%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8B%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8D%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8D%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8C%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8B%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8D%E2%80%8B%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8D%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8B%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8B%E2%80%8B%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8D%EF%BB%BF%EF%BB%BF%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8B%E2%80%8D%EF%BB%BF%E2%80%8D%E2%80%8C%EF%BB%BF%E2%80%8B%E2%80%8B%E2%80%8C%EF%BB%BF%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%E2%80%8D%EF%BB%BF%E2%80%8B%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8B%EF%BB%BF%E2%80%8C%E2%80%8C%EF%BB%BF%EF%BB%BF%E2%80%8C%E2%80%8D%E2%80%8D%E2%80%8C%E2%80%8C%E2%80%8D%E2%80%8C%E2%80%8B%E2%80%8B%E2%80%8D%E2%80%8B%E2%80%8D%E2%80%8C%EF%BB%BF%EF%BB%BF%E2%80%8C?_a=BAVAJeDW0 ...">

Is this a regression?
Not sure only tried the component in 14
Steps To Reproduce the error

Add CldImage
Add public ID
Changed to a "use client" as NextImage is serverside

Expected behaviour
Srcset should work
CodeSandbox or Live Example of Bug
https://github.com/codercatdev/cms-sanity/blob/add-cloudinary-components/app/(blog)/cover-image.tsx

Your environment

OS: Mac
Node version: 20
Npm version: using pnpm 9.0.5
Browser name and version: Version 1.66.110 Chromium: 125.0.6422.60 (Official Build) (arm64)

Additional context

That's a new one. Can you share the raw public ID?

https://media.codingcat.dev/image/upload/v1712078330/main-codingcatdev-photo/4_firebase-security-rules.png

i'm having a hard time reproducing this. i tried to create a few examples, from what i can tell exactly as you have it:
<CldImage
  className="h-auto w-full"
  width="1920"
  height="1080"
  src="https://media.codingcat.dev/image/upload/v1712078330/main-codingcatdev-photo/4_firebase-security-rules.png"
  alt="Mario"
  priority
  sizes="100vw"
/>
<CldImage
  className="h-auto w-full"
  width="1920"
  height="1080"
  src="main-codingcatdev-photo/4_firebase-security-rules.png"
  alt="Mario"
  priority
  sizes="100vw"
/>
<CldImage
  className="h-auto w-full"
  width="1920"
  height="1080"
  src="main-codingcatdev-photo/4_firebase-security-rules"
  alt="Mario"
  priority
  sizes="100vw"
/>

I ran decodeURIComponent on that string and it resolves an empty string, idk if that means anything

im wondering if a special character is somehow making its way into the end of src={source?.public_id} and getting encoded there?
the only thing im actualy able to reproduce is the full URL not being properly parsed, but i think thats a separate issue and would suspect that the URL you sent isn't what's actaully being passed through, rather just the public_id as the code implies
https://res.cloudinary.com/ajonp/image/upload/c_limit,w_1200/f_auto/q_auto/https://media.codingcat.dev/image/upload/v1712078330/main-codingcatdev-photo/4_firebase-security-rules.png?_a=BAVAJeAO0
i can at least get a fix for that. but so you're aware, if you're trying to use a cname, you need to configure it as such:
config={{
  url: {
    secureDistribution: 'media.codingcat.dev',
    privateCdn: true
  }
}}

as by default, the CldImage component uses the res.cloudinary.com hostname
to avoid having to specify that everywhere you can create a simple wrapper similar to this, which also allows you to add "use client" so you dont have to opt the parent page into a client component: https://next.cloudinary.dev/nextjs-14#app-router-app

okay now I finally have the steps to reproduce, trying to track it down further. It is happening when I am using draftMode not in production mode.

That was painful, it was actually sanity causing this using stega

Closing this one, here is my full example if anyone finds it.
import { stegaClean } from "@sanity/client/stega";
"use client";

import { CloudinaryAsset } from<EMAIL_ADDRESS>import { CldImage } from "next-cloudinary";
import { stegaClean } from "@sanity/client/stega";

interface CoverImageProps {
  image: CloudinaryAsset;
  priority?: boolean;
}

export default function CoverImage(props: CoverImageProps) {
  const { image: originalImage, priority } = props;

  const source = stegaClean(originalImage);

  const image = source?.public_id ? (
    // <Image
    //   className="h-auto w-full"
    //   width={2000}
    //   height={1000}
    //   alt={source?.alt || ""}
    //   src={source?.secure_url as string}
    //   sizes="100vw"
    //   priority={priority}
    // />
    <CldImage
      className="h-auto w-full"
      width={1920}
      height={1080}
      priority={priority}
      alt={source?.context?.custom?.alt || ""}
      src={source?.public_id}
      config={{
        url: {
          secureDistribution: "media.codingcat.dev",
          privateCdn: true,
        },
      }}
    />
  ) : (

  );

  return (

      {image}

  );
}

damn, glad you figured it out. is there anything we can do on our end to help avoid this sort of thing? im guessing no, but figured id ask if it's providing some sort of sanitization or similar


Relay.js interop

In addition to existing GraphQL rules, interop with Relay library itself requires some additional definitions, necessary for handling things like object caching, paging and cache invalidation on mutations.
Links:

Relay project site
Relay technical overview
Relay cursor connections specification
Relay input object mutation specification
Relay global object identification specification

Closing this now. Relay sample is working, but further works requires parser to be fixed first (see: #2). Without it, passing complex input objects - which are have-to in case or Relay mutations - won't be possible.


feat(FirewallProxy)!: add a constructor

Description
Add a constructor to FirewallProxy class.
Motivation and Context
This change is mainly to allow usage of this package inside the Palo Ansible Collection keeping convention used for  initialising a device object already present there.
This means that we can either provide credentials and an address of a device while creating a FirewallProxy object or we can pass an existing Firewall object.
This change is marked as braking, because we do brake the inheritance between the panos_upgrade_assurance.FirewallProxy and the panos.Firewall classes.
But what is important is that due to the overloaded __geattr__() method we still can access any Firewall attribute directly from a FirewallProxy object. Therefore this change has no impact on how one would use this package in Python code.
The package remains backward compatible.
How Has This Been Tested?
Tested on the example code and using pytest.
Screenshots (if appropriate)

Types of changes

Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes if appropriate.
[ ] All new and existing tests passed.

:tada: This PR is included in version 0.3.0 :tada:
The release is available on PyPI and GitHub release

Posted by semantic-release bot