[Duplicate of #6847] - Wand library in python

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #4835

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Hey @ahmadmardeni1 ,
This PR is duplicate of #6837
You had asked the author to work on some other topic, since there were already over 3 duplicate PRs on this topic.
The author pinged me stating that this version of PR would be revision free and ready for publishing. And, requested for a last chance with this topic.
Should we give the author a last chance?
On a quick glance, I don't find any glaring errors. If some major revisions are required, I'll close the PR right away.
What do you suggest?
Cc. @mukono10

@srishilesh I have made the necessary changes in the article and it is ready for publishing. If granted the chance for it to be reviewed, it would be absolutely wonderful since it is a nice topic.

Perfect!! @srishilesh Thank you for letting me know.
Yes please proceed with the review and close the PR if it needs any major changes.

Plagiarism check complete. Please considered improving your hero image by adding the article title and using a more aesthetically pleasing image or one of our templates.

I'll complete my final review by tomorrow.

Gotten @srishilesh

@srishilesh  I am supposed to change the hero image

@srishilesh I am supposed to change the hero image

Hey @mukono10 ,
I just noticed the comment by the CM.
As the CM had requested, you would have to use some other hero image. You may use Unsplash for the images. Make sure the dimensions are 600x400.
You may use Pixlr to edit images if you need.
Let me know when you're done.
Thanks.

@srishilesh I have updated the image

jumping on this one


Enhancement: Support ArrayBuffer as input

This doesn't work (using sharp 0.31.3)
const res = await fetch(imageUrl);
const buf = await res.arrayBuffer();
await sharp(buf);

instead one has to
await sharp(Buffer.from(buf));

Bonjour, I think the general idea (best practice?) with an ArrayBuffer is that it must be "cast" to a typed array before us. In the example you've provided, casting to a Node.js Buffer is approximately equivalent to casting to a Uint8Array.
My understanding is that the cast creates a view that will use the same underlying memory location (potentially a slice of it), and does not involve a copy.
However as you suggest, for convenience, we could assume an implicit cast of an ArrayBuffer to a Buffer. Happy to accept a PR if you're able.

You're tempting me to add support for fetch's Response / Blob as well :)

You're tempting me to add support for fetch's Response / Blob as well :)

blob is somewhat useless, and Response would require an async call to get the buffer.
Or would require supporting input(readableStream). It's another issue then.

v0.32.0 now available, thank you for the PR.


Step to generate geopkg

Add step to generate geopackage using the OGC standard geopackage writer

Create Step meta definitions plugin
Create the step UI plugin definitions
Create the Step executor definitions

!story G10.2
!component workflow

Replaced by issues 144-147


Phone call for contact buttons

Users should be able to press the phone call buttons and have their phone service pop up with the correct phone number

6fb20d033d0e43f91a6daeb8e74f93d6d07ae901


UseEc2Hostnames=true and instance is not launched

Required Info:

AWS ParallelCluster version [e.g. 3.1.1]: 3.6.1
Full cluster configuration without any credentials or personal data.

Region: us-west-2
Image:
  Os: alinux2
HeadNode:
  InstanceType: m5a.xlarge
  Networking:
    SubnetId: subnet-064e848c1817fa0e3

Scheduling:
  Scheduler: slurm
  SlurmSettings:
    Dns:
      DisableManagedDns: true
      UseEc2Hostnames: true
  SlurmQueues:
  - Name: gpu
    ComputeResources:
    - Name: p32xlarge
      InstanceType: p3.2xlarge
      MinCount: 0
      MaxCount: 24
      DisableSimultaneousMultithreading: false
    Networking:
      SubnetIds:
      - subnet-064e848c1817fa0e3

  - Name: g5
    ComputeResources:
    - Name: g5xlarge
      InstanceType: g5.xlarge
      MinCount: 0
      MaxCount: 32
      DisableSimultaneousMultithreading: false
    Networking:
      SubnetIds:
      - subnet-064e848c1817fa0e3

  - Name: cpu
    ComputeResources:
    - Name: c52xlarge
      InstanceType: c5.2xlarge
      MinCount: 0
      MaxCount: 80
      DisableSimultaneousMultithreading: false
    Networking:
      SubnetIds:
      - subnet-064e848c1817fa0e3

  - Name: c5a
    ComputeResources:
    - Name: c5a2xlarge
      InstanceType: c5a.2xlarge
      MinCount: 0
      MaxCount: 960
      DisableSimultaneousMultithreading: false
    Networking:
      SubnetIds:
      - subnet-064e848c1817fa0e3

SharedStorage:
  - MountDir: /shared
    Name: shared
    StorageType: Ebs
    EbsSettings:
      VolumeType: st1
      Size: 4096

Cluster name: discovery-cluster
Output of pcluster describe-cluster command.

{
  "creationTime": "2023-08-24T01:36:23.843Z",
  "headNode": {
    "launchTime": "2023-08-24T01:40:06.000Z",
    "instanceId": "i-0f791454891c1ce0e",
    "publicIpAddress": "<IP_ADDRESS>",
    "instanceType": "m5a.xlarge",
    "state": "running",
    "privateIpAddress": "<IP_ADDRESS>"
  },
  "version": "3.6.1",
  "clusterConfiguration": {
    "url": "https://parallelcluster-7d0a1bb15735dfa1-v1-do-not-delete.s3.amazonaws.com/parallelcluster/3.6.1/clusters/discovery-cluster-sbqa9nwgilmjshij/configs/cluster-config.yaml?versionId=WowPeESrU2iJSHeeCq6KhOO._wC34b_m&AWSAccessKeyId=AKIA2QO5LM2AOFYTZZGF&Signature=%2FLIAGXNp741rUgZa5iz7IgLGdho%3D&Expires=1692848814"
  },
  "tags": [
    {
      "value": "3.6.1",
      "key": "parallelcluster:version"
    },
    {
      "value": "discovery-cluster",
      "key": "parallelcluster:cluster-name"
    }
  ],
  "cloudFormationStackStatus": "CREATE_COMPLETE",
  "clusterName": "discovery-cluster",
  "computeFleetStatus": "RUNNING",
  "cloudformationStackArn": "arn:aws:cloudformation:us-west-2:722555594368:stack/discovery-cluster/a26a4670-421e-11ee-b400-02593b59bbb1",
  "lastUpdatedTime": "2023-08-24T01:36:23.843Z",
  "region": "us-west-2",
  "clusterStatus": "CREATE_COMPLETE",
  "scheduler": {
    "type": "slurm"
  }
}

[Optional] Arn of the cluster CloudFormation main stack:

Bug description and how to reproduce:
A clear and concise description of what the bug is and the steps to reproduce the behavior.
When submit a job, it fails due to not able to launch instance
$ srun --partition c5a --pty /bin/bash
srun: error: Node failure on c5a-dy-c5a2xlarge-1
srun: error: Nodes c5a-dy-c5a2xlarge-1 are still not ready
srun: error: Something is wrong with the boot of the nodes.

If you are reporting issues about scaling or job failure:
We cannot work on issues without proper logs. We STRONGLY recommend following this guide and attach the complete cluster log archive with the ticket.
For issues with Slurm scheduler, please attach the following logs:

From Head node: /var/log/parallelcluster/clustermgtd, /var/log/parallelcluster/clusterstatusmgtd (if version >= 3.2.0), /var/log/parallelcluster/slurm_resume.log, /var/log/parallelcluster/slurm_suspend.log, /var/log/parallelcluster/slurm_fleet_status_manager.log (if version >= 3.2.0) and/var/log/slurmctld.log.
From Compute node:  /var/log/parallelcluster/computemgtd.log and /var/log/slurmd.log.

If you are reporting issues about cluster creation failure or node failure:
If the cluster fails creation, please re-execute create-cluster action using --rollback-on-failure false option.
We cannot work on issues without proper logs. We STRONGLY recommend following this guide and attach the complete cluster log archive with the ticket.
Please be sure to attach the following logs:

From Head node: /var/log/cloud-init.log, /var/log/cfn-init.log and /var/log/chef-client.log
From Compute node:  /var/log/cloud-init-output.log.

cfn-init.log
chef-client.log
cloud-init.log
Additional context:
Any other context about the problem. E.g.:

CLI logs: ~/.parallelcluster/pcluster-cli.log
Custom bootstrap scripts, if any
Screenshots, if useful.

I would like to follow-up on this comment. I am running into this error as well, as we try to spin up a cluster, i.e.,  the output below:
$ srun --partition c5a --pty /bin/bash
srun: error: Node failure on c5a-dy-c5a2xlarge-1
srun: error: Nodes c5a-dy-c5a2xlarge-1 are still not ready
srun: error: Something is wrong with the boot of the nodes.

Is the source of the error known beyond issues with comments in the yaml file?  Thanks!


[Candidate 1v1 [RANK] The Survivors ZH v1] Wind audio is very unpleasing when scrolling around map quickly

Issue Description
Wind audio is very unpleasing when scrolling around map quickly.
Expected behavior
Wind audio never cuts off or in drastically but has smooth sound.

Edited the wind sounds to match the ones in the staff room.
[RANK] The Survivors ZH v1.zip

Not sure if you've looked at this map and Sovereignty yet, since you've passed Scorching Heat on this issue and I fixed them all the same way.

I checked. Issue is not fixed.

Thanks, please drop a message so I know since I was waiting. I actually don't know what else to do since I did the exact same changes that I did in the staff room and also to Scorching Heat Draft 2.
Please tell me exactly where the problem is on this map, I scrolled around as I would but I don't hear anything different to what ZH provides.

I could create an audio recording.

Could you please make a 30s/1 min unlisted video for me? I'd also understand the scrolling then.

I have extended all wind sounds by about 20%, so they should travel further now. Also increased the sounds a bit closer to default (had lowered them since in staff room you said they sounded better).
[RANK] The Survivors ZH v1.zip

I noticed on other maps with wind, the wind audio typically kicks in a few moments after arriving with camera near audio emitter, whereas on your maps wind audio kicks in immediately. I think this is the main problem. There is no smooth transition and it just plays instantly, so user hears the sound at full volume and it cuts off when scrolling from emitter to emitter.

Not fixed.

Please tell me which one you like better,
A is the same wind on the map but moved from the start pos
B is new wind sound.
I'd prefer A if both are a pass.
[RANK] The Survivors ZH v1 A.zip
[RANK] The Survivors ZH v1 B.zip

A is not fixed.
B is better. Sound fades in later and thus hides the issue.
I forwarded the issue to I^Love^Mixery. He provided a version with fixed audio:
RANK_The_Survivors_ZH_v1_test.zip
He can provide information on how to fix the audio issues in your maps.

Thanks. I'll download and take a look when I can. Just had a chat with him and he did the same thing which I had done for you previously lol, but the difference was he changed the parameters even more than what I did.

I suppose it's more noticeable on my maps because I have wind nearly everywhere. Thanks and thanks to I Love Mixery. I suppose a natural fix could be to change the ini code for the win sounds so it naturally starts with good parameters.

Okay so I took the map Mixery had fixed and edited vA accordingly, since it had the original sounds, (I copied every value he entered), the map he had fixed was vB (new sounds).
[RANK] The Survivors ZH v1.zip

Very nice. I will check later. Could you apply the same fixes for all your other new maps?

Done.

Fixed with https://github.com/xezon/GeneralsRankedMaps/commit/9a1f14ad72835e6f61263099c97140421b99dd16


readme: RemovePodsViolatingNodeAffinity: reword description of the strategy

Compared to https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#node-affinity the strategy kinda implements requiredDuringSchedulingRequiredDuringExecution node affinity type for kubelets. Only addition to kubelet is the strategy checks whether there is at least another node capable of respecting the node affinity rules.
When requiredDuringSchedulingRequiredDuringExecution node affinity type is implemented in kubelet, it's likely the strategy either gets removed or re-implemented. Stressing the relation with requiredDuringSchedulingRequiredDuringExecution will helps consumers of descheduler to keep in mind the kubelet will eventually take over the strategy when implemented.

/kind documentation
/lgtm
/assign @ravisantoshgudimetla @aveshagarwal

/approve


Improve support for collection associations

A few days ago, I run into a problem without pretty solution. I wanted to populate a has many relation with some records, using the same building strategy that was used to build the parent object.
I came out that ugly solution:
factory :offering do
  association :partner, factory: :named_partner
  association :destination, factory: :geolocated_destination

  trait :stay do
    title "Hotel Gran Vía"
    description "Great hotel in a great zone with great views"
    offering_type 'stay'
    price 65
    rooms 70
    stars 4
    event_spaces 3
    photos do
      case @build_strategy
      when FactoryGirl::Strategy::Create then [FactoryGirl.create(:hotel_photo)]
      when FactoryGirl::Strategy::Build then [FactoryGirl.build(:hotel_photo)]
      when FactoryGirl::Strategy::Stub then [FactoryGirl.build_stubbed(:hotel_photo)]
      end
    end
  end
end

It works, but is ugly as hell.
After asking in stack overflow (http://stackoverflow.com/questions/13308768/factorygirl-populate-a-has-many-relation-preserving-build-strategy), the best (and only) answer was using after(:stub), after(:build) and after(:create) callbacks.
factory :offering do
  association :partner, factory: :named_partner
  association :destination, factory: :geolocated_destination

  trait :stay do
    title "Hotel Gran Vía"
    description "Great hotel in a great zone with great views"
    offering_type 'stay'
    price 65
    rooms 70
    stars 4
    event_spaces 3
    after(:stub) do |offering|
      offering.photos = [build_stubbed(:hotel_photo)]
    end
    after(:build) do |offering|
      offering.photos = [build(:hotel_photo)]
    end
    after(:create) do |offering|
      offering.photos = [create(:hotel_photo)]
    end
  end
end

Is clearly better, but for me an ideal solution should look like this:
factory :offering do
  association :partner, factory: :named_partner
  association :destination, factory: :geolocated_destination

  trait :stay do
    title "Hotel Gran Vía"
    description "Great hotel in a great zone with great views"
    offering_type 'stay'
    price 65
    rooms 70
    stars 4
    event_spaces 3
    photos { [produce(:hotel_photo)] }
  end
end

#produce is just an alias to the builder method of the strategy used in the current object.
Anyone thinks that could be a good idea? I'm missing something and there is already a good way to archieve this?

@joshuaclayton I just stumbled into this. Do you still see this as a change that should be added? How can I help with it?
Thanks.

Any reason this doesn't work:
factory :offering do
  association :partner, factory: :named_partner
  association :destination, factory: :geolocated_destination

  trait :stay do
    title "Hotel Gran Vía"
    description "Great hotel in a great zone with great views"
    offering_type 'stay'
    price 65
    rooms 70
    stars 4
    event_spaces 3
    photos { [association(:hotel_photo)] }
  end
end

Interesting approach here: https://gist.github.com/ybart/8844969

The documentation has been updated with an example that I think covers this use case. Thanks all.


config-linux: Require at least one entry in linux.seccomp.sycalls[].names

I expect the (undocumented) intention here is to iterate through names and call seccomp_rule_add(3) or similar for each name.  In that case, an empty names makes the whole syscall entry a no-op, and with this commit we can warn users who are validating such configs.
If, on the other hand, we were comfortable with no-op syscall entries, we'd want to make names OPTIONAL.
Warning folks who accidentally empty (or don't set) names seems more useful to me, and doesn't restrict the useful config space, so that's what I've gone with in this commit.
minItems is documented here, and there is an example of its use here:
  "options": {
    "type": "array",
    "minItems": 1,
    "items": { "type": "string" },
    "uniqueItems": true
  },

Part of #762.

This is a breaking change (adding a new MUST-level restriction), so it would be good to get it into 1.0.  Otherwise we'd have to delay this until 2.0.

LGTM

LGTM

LGTM


I need help with injection and running it

please just give me a general rundown of what i need to do if anyone has done this successfully, my contact info is ig megacesreyes23, twitch and steam cesstuff, discord ces#5647, and scratch C_trout20

.


NULL instead of empty array

If i debug an associative array and one of the values is an empty array, the debugger will print it as NULL instead of an empty array.
Code:
d([
    'sdkadlfjhald' => [
        'key1' => 'value',
        'key2' => null,
        'key3' => false,
        'key4' => [
            'abc' => [
                'en' => 'abc',
                'de' => 'abc'
            ],
            'def' => [
                'en' => 'def',
                'de' => 'def'
            ],
            'ghi' => [
                'en' => [],
                'de' => [] // THESE VALUES ARE EMPTY ARRAYS
            ]
        ]
    ]
]);

Result:

This issue seems to appear if you have multiple keys having similar values and they get rendered in a table.
d([
    'abc' => [
        'en' => 'abc',
        'de' => 'abc'
    ],
    'def' => [
        'en' => 'def',
        'de' => 'def'
    ],
    'ghi' => [
        'en' => [],
        'de' => []
    ]
]);

Which version of kint are you using? Since there is only one rep this looks like version 1 which hasn't been touched in 4 years, and it shows array(0) in my test.


scatter-js - index.html configuration does not connect

Cannot connect:
Get error on console:
polling-xhr.js:265 GET http://<IP_ADDRESS>:50005/socket.io/?EIO=3&transport=polling&t=MLJl-ax 0 ()
If I replace:
var network = {blockchain:'eos', protocol:'http', host:'<IP_ADDRESS>', port:8888, chainId:'cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f'};
with: (public mainnet- entrypoint)
var network = {blockchain:'eos', protocol:'https', host:'eos.greymass.com', port:8888, chainId:'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906'};
and my eos-address:
scatter.linkAccount(publicKey, { name:'cryptobeings', authority:'active' },
also no connection
Is there an official developer Telegram-Group for Scatter?
Thank you very much!

Works fine for me now! (Thanks to nsjames for support)
Get sure to run with server-environment (f.e. XAMPP), as pure filesystem the websocket connection will not establish.
const scatterNetwork = {
blockchain:'eos',
host:'mainnet.eoscanada.com',
port:443,
protocol:'https',
chainId:'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906'
};
    // Request scatter identity
    scatter.getIdentity({accounts:[scatterNetwork]})
     .then(identity => {

        scatter_account = identity.accounts[0].name;
       console.log(scatter_account)

....


Errors are not being caught, comment says success and tries to link to branch

Not sure if the error handling is correct. Need more 👀 on it

Closed by #66


New repository list layout

The current repository list layout needs a facelift in order to support:

Nested repositories (see https://github.com/klaussilveira/gitlist/issues/311)
Large amount of repositories (e.g.: https://github.com/klaussilveira/gitlist/pull/317)
cloneurl (see https://github.com/klaussilveira/gitlist/issues/205)

Hi,
was this ever solved? We really need the feature about showing clone link.


problems about keeping backing vocals while removing vocals

Hello! This is my first time here and I'm not sure if my question is appropriate. I've found a common problem with many spleeter based services that remove the backing vocals while removing the vocals, I've only found one service provider online that can do this while removing the vocals and keeping the backing vocals. Can this be done?

Yes, UVR has Karaoke models available that remove main vocals only.

Thanks, that's just great to know! You guys are amazing.XD
| |
Xinyi
|
|
@.***
|
签名由网易邮箱大师定制
On 7/26/2022 @.***> wrote：
Yes, UVR has Karaoke models available that remove main vocals only.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hello! Sorry to follow up on this, but do you have a web version? My laptop is showing insufficient GPU memory.
| |
Xinyi
|
|
@.***
|
签名由网易邮箱大师定制
On 7/26/2022 @.***> wrote：
Thanks, that's just great to know! You guys are amazing.XD
| |
Xinyi
|
|
@.***
|
签名由网易邮箱大师定制
On 7/26/2022 @.***> wrote：
Yes, UVR has Karaoke models available that remove main vocals only.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Actually remove LLVM-C.{dll,lib} from llvmdev

The library artefacts for LLVM-C.{dll,lib} still got picked for llvmdev, although we wanted to remove them since #288.
However, naïvely not including LLVM-C.dll leads to errors of the kind
CMake Error at D:/bld/lld_1731996705559/_h_env/Library/lib/cmake/llvm/LLVMExports.cmake:1716 (message):
-- Configuring incomplete, errors occurred!
  The imported target "LLVM-C" references the file

     "D:/bld/lld_1731996705559/_h_env/Library/lib/LLVM-C.lib"

so we need to do this more cleverly. I'm hoping that a reconfigure + rebuild in CMake only builds the delta; otherwise we likely need to move libllvm-c to a separate feedstock (or live with the fact that it's part of llvmdev).

@isuruf, I noticed that we were still packaging LLVM-C.{dll,lib} in llvmdev despite the fact that we wanted to remove it in #288. Naïve removal leads to problems when doing simple find_package(LLVM CONFIG), so this needed some more effort.
I think the approach here is workable (make libllvm-c{maj} depend on llvmdev, reconfigure and rebuild the delta, overwrite CMake metadata), but would appreciate your opinion. The other alternatives are to keep libllvm-c{maj} as part of llvmdev, or to drop it completely (though we actually added it based on user feedback, c.f. #212).
Polishing opportunities would be to tune the set of clobbered CMake files (for now I took %LIBRARY_LIB%/lib/cmake/llvm/LLVM* to see if things work at all, though perhaps %LIBRARY_LIB%/cmake/llvm/LLVM{Config,Exports}* would suffice), and perhaps to add an unversioned convenience output libllvm-c.

Gentle ping @isuruf, if you'd like to have a look.

This approach makes it impossible to use libllvm-c with CMake as the metadata don't have those.

This PR contains tests that shows that this works. The reason it works is because we regenerate the cmake metadata once more, and overwrite it (using always_include_files). Please take a closer look.

This PR contains tests that shows that this works. The reason it works is because we regenerate the cmake metadata once more, and overwrite it (using always_include_files). Please take a closer look.

Sure, but then if llvmdev and libllvm-c are both installed to the same environment, which package wins depends on the installer (conda/mamba, micromamba) and is undefined.

Yes. Intentionally clobbering files is always a last resort. I don't remember running into issues though with the few cases I'm aware of / involved in (e.g. https://github.com/conda-forge/abseil-cpp-feedstock/issues/62).
That said, I don't feel strongly about having to remove libllvm-c. It's just a pity to haul around an extra 30MB that hardly anyone uses, so I would have been happy to find a way to do that.

I don't remember running into issues though with the few cases I'm aware of / involved in (e.g. https://github.com/conda-forge/abseil-cpp-feedstock/issues/62).

Sure. It's undefined behaviour, so I'm not comfortable with that.

Closing this as "we won't do this" (well, unless conditions change substantially, e.g. the behaviour of clobbering between dependencies ever becomes well-specified).


Serialization problem when data is not loaded

When an entity is not loaded fully (not all relations) it can cause an error when the entity is serialized. I know that we partially checked wether the relation is null but it is not everywhere. Should we do this everywhere or is there a better solution?

Actually you should make sure that everything you want to serialize is already loaded...

I think that we have use cases where we want to load different relations (and not always all relations) of an entity but we have only one api enity ...

Do you remember the serialization groups? ;-)

Do you remember the time needed to add these groups everywhere? ;-) It's a lot simpler to just add a condition in the api entity ...

You asked for a better solution, not a simpler one :-P Would definitely go this way.


How to implement custom markdown spec

Markwon version: 4.1.0

First off I'd like to say thank you for this for the hard work, I've been trying to think of the best way to implement some custom Markdown spec features e.g.

img###(https://media.giphy.com/media/IcJ6n6VJNjRNS/giphy.gif)

I would create a standard markdown/html image tag from this using a simple regex patter like:

(img)(.*?)(([^)]+))

The above would allow me to extract the size, and url
Current Implementation Behaviour
I've tried using the AbstractMarkwonPlugin.processMarkdown() function but I'm sure this is not the best way to go about this.
class CustomImagePlugin private constructor(): IMarkdownPlugin, AbstractMarkwonPlugin() {

    /**
     * Regular expression that should be used for the implementing class
     */
    @VisibleForTesting(otherwise = Modifier.PRIVATE)
    override val regex = Regex(
        pattern = PATTERN_IMAGE,
        option = RegexOption.IGNORE_CASE
    )

    override fun processMarkdown(markdown: String): String {
        var buffer: String = markdown
        val matchers = regex.findAll(markdown)
        for (match in matchers) {
            val groups = match.groups
            val target = groups[GROUP_ORIGINAL_MATCH]?.value
            // ... impl replacing all custom markdown spec with standarad html/mardown
        }
        return buffer
    }

    companion object {

        @VisibleForTesting(otherwise = Modifier.PRIVATE)
        const val PATTERN_IMAGE = "(img)(.*?)(\\([^)]+\\))"

        private const val GROUP_ORIGINAL_MATCH = 0
        private const val GROUP_IMAGE_SIZE = 2
        private const val GROUP_IMAGE_SRC = 3

        fun create() = ImagePlugin()
    }
}

Could you please advise on how to go about this?
Alternative Implementation Behaviour
What I also tried was making use of AbstractMarkwonPlugin.beforeRender but this is documented to be:

This method will be called before rendering will occur thus making possible to post-process parsed node (make changes for example).

Thus getting an image span to pick  it up at this point might not work?
class CustomImagePlugin private constructor(): IMarkdownPlugin, AbstractMarkwonPlugin() {

    /**
     * Regular expression that should be used for the implementing class
     */
    @VisibleForTesting(otherwise = Modifier.PRIVATE)
    override val regex = Regex(
        pattern = PATTERN_IMAGE,
        option = RegexOption.IGNORE_CASE
    )

    override fun beforeRender(node: Node) {
        node.accept(ImageVisitor())
    }

    inner class ImageVisitor : AbstractVisitor() {

       private fun replaceLiteral(node: String): String {
            var buffer: String = node
            val matchers = regex.findAll(node)
            for (match in matchers) {
                val groups = match.groups
                val target = groups[GROUP_ORIGINAL_MATCH]?.value
                // ... impl replacing all custom markdown spec with standarad html/mardown
            }
            return buffer
        }

        override fun visit(text: Text?) {
            val literal = text?.literal.orEmpty()
            if (literal.contains(regex))
                text?.literal = replaceLiteral(literal)
        }
    }

    companion object {

        @VisibleForTesting(otherwise = Modifier.PRIVATE)
        const val PATTERN_IMAGE = "(img)(.*?)(\\([^)]+\\))"

        private const val GROUP_ORIGINAL_MATCH = 0
        private const val GROUP_IMAGE_SIZE = 2
        private const val GROUP_IMAGE_SRC = 3

        fun create() = ImagePlugin()
    }
}

Hello @wax911 !
I think the the alternative approach is the best one at the moment. It is actually advised by commonmark creator and used by commonmark-ext-autolink artifact (although it uses commonmark post-processor, but it's a minor difference).
The absolute best solution would be to write a custom inline-parser, but unfortunately it's still not possible (#113).

Thank you so much for the advice and suggestions, I'll give this a go!! :clap:

You are welcome! Feel free to re-open if you will have more questions 🙌

@noties sorry for digging this up after such a long time. I've implemented a special tag for an expanded image using the solution outlined in https://github.com/noties/Markwon/issues/161#issuecomment-524819033
ImageProps.IMAGE_SIZE.set(visitor.renderProps(), ImageSize(
    ImageSize.Dimension(100f, "%"),
    null
))

It works perfectly fine, but the result is much more pixelated than when using HTML:

Any idea why that's the case? I would have expected it to be the other way around. 🤔

Hello @ubuntudroid ,
both images (native and HTML defined) should be displayed the same - because rendering logic is the same. I've created a sample and cannot tell the difference between images. Maybe you are using different URLs or there is some other configuration steps?

Your sample works perfectly fine and actually I like your approach (just use full-width as sensible default) much more. Thanks @noties ! ❤


Update windows-10-deployment-scenarios.md

Some tidying up.
Modified Important and Note markdown.
Replaced obsolete URLs.
Updated erroneous URL.

Please don't change URLs based on what you think they should be. And please don't change every instance of "Note:" to an alert.

@greg-lindsay : Correct me if I am wrong, but do you prefer to keep the broken links? Or am I misunderstanding the process, that you want these changes split up into 10 separate PRs?
About the Notes: Are you saying that the Note blobs are deprecated in favor of using only single line plain text?


npm warnings

Repro Steps

dotnet new [angular|react]
npm install

Expected
No warnings
Actual
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.

Dependency Versions
CLI: https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0-preview2-006494/dotnet-sdk-2.0.0-preview2-006494-win-x64.zip
NodeJS: 8.1.2

It's duplicate of #897

As @rosieks indicated, this was fixed when #1044 was merged, but it's too late for that commit to make it into 2.0.0-preview2 unless we decide it's really important. I think it's very unlikely that fixing this would be essential for preview2 at this stage (it's very unlikely to trouble anyone), but please let me know if you disagree!
Closing since it's already fixed in dev.

I agree it's fine to fix in dev but not preview2.


Crash on comment

Crash was caused by commit a86af808 fire jsdocCommentFound and symbolFound events in the correct order (#770)
org.mozilla.javascript.WrappedException: Wrapped java.lang.StringIndexOutOfBoundsException: String index out of range: -2
        at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.file__jsdoc_rhino_jsdoc_src_astbuilder_js_63._c_anonymous_2(Unknown Source)

When processing a file that contains only the following:
foo = function foo()
{
    //
    // some comment
};

Actually I've reduced the case even further to a file w/ the single line:
//

while the file with
//-

produces the slightly different crash:
org.mozilla.javascript.WrappedException: Wrapped java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen.file__jsdoc_rhino_jsdoc_src_astbuilder_js_63._c_anonymous_2(Unknown Source)

If you need my jsdoc conf file let me know.

Duplicate of #920.

(P.S. I verified that the fix for #920 also fixes the example you provided.)

Thanks, Sorry for posting a duplicate, I haven't found an easy way to search.
Anyway, the fix is good. I just tested against my codebase which had 11 files that crashed before, and both the master branch and the 3.3 release branch both complete successfully now (although it takes over 6 minutes).
(as a complete non-sequitur I've been wondering if there is an option to not create the source links and associated source html files?)
Anyway thanks for the super speedy response Jeff.

@mlippert Yikes, 6 minutes is a long time. Have you tried running JSDoc with Node.js, if you're able to do so? That should be a lot faster.
And yes, you can disable the source links/HTML files by setting templates.default.outputSourceFiles to false in your JSDoc config file. To my surprise, this doesn't seem to be documented at all, so I'm filing a bug to add that setting to the docs.

Thanks for the tip on outputSourceFiles, works great.
I'm going to try running JSDoc w/ node, but I've got to learn a little more about using node 1st (such as how to I get the dependencies listed in the package.json) since I like being able to just checkout a commit from the git repo and try that, and that's how I've got it hooked up currrently to my code (jsdoc is a submodule of my repo and my makefile runs it).

Sounds good. In case this helps you get Node.js up and running, you can npm install at a specific commit, like so:
npm install https://github.com/jsdoc3/jsdoc/tarball/e2b45451


getting issue while installing pod

Specs satisfying the SVPinView dependency were found, but they required a higher minimum deployment target. please help . thank you

Hi @premkumarsepuri,
The deployment target for SVPinView is 9.0 and the Swift version is 5.0.
You will need to uncomment platform :ios, '9.0' in your podfile.
If this doesn't fix the issue, could you give me some more details on how you've tried to install it. I will try and recreate it at my end.
Thanks.


Basic Handlebars syntax highlight

Rendering of HBS template.

I don't do early feedback on half-finished code, but if you have something that you feel is finished, I'll review it.

I think we reach a mature support for the Handlebars language.
Please feel free to review.

I've added a few notes. Are you combining this mode with a content (HTML or so) mode using addon/mode/overlay, or aren't you?

@marijnh thanks a lot for feedback!
I have applied all of them.
To answer your question, yes I believe that the best case scenario is to go in overlay with XML or so.
Shall we add it to the HTML demo? I felt like it was better to leave it isolated...

Wonderful. Merged as f7a00e0. I was just curious whether a simple mode would work with an overlay, but I guess there's no reason why it wouldn't.

Awesome thanks!
Overlay works and I am using it on a project, there is a small glitch with stuff like
<img src="{{ user.avatar.url size="small" }}">

That actually is valid Handlebars+HTML but the code linter report as error since the double quotes confuse it.
The issue is that the XML lexer swallow the entire content between " " and hence doesn't detect the opening of Handlebars mode's token "{".
@ilkkao and me ended up patching the xml.js in our project to handle this, I was wondering if we could think of more flexible way to handle overlay in case like these or I misunderstanding something.

Like Libo said, XML mode treats quoted string as a single token and eats it. Could there be a "escape sequence'" option in XML mode (in this case '{{' that would stop eating the input and return a token immediately. That way the top level mode would get a chance to switch to an another submode.

Using the multiplex addon instead of overlay should help here (the main difference being that the outer mode does not get to see the content inside of the inner mode, but before now, that would not feed the delimiters ({{ and }}) to the inner mode, which would prevent the handlebars mode from highlighting any handlebars code. In patch 9c524fd, I've added an option parseDelimiters that changes this, and I've updated the handlebars demo to use a multiplexing mode.
Also note: I've changed the mode name of the handlebars mode to handlebars', since all CodeMirror modes define a mode with the same name as the file/directory they live in, and it'd confuse people (as well as the loadmode` addon) if that no longer holds.

Thanks a ton @marijnh ! This is awesome!
Is this going to be released in 5.1? How often do you release CodeMirror btw?

Yes, and I release once a month, around the 20th (so that'll be early next week this month)


Add support for LDAP authentication

Adds support for LDAP authentication by setting LDAP_SERVER and LDAP_DOMAIN in the .env file. When LDAP authentication is enabled, the text for the email field on the login page with change from 'Email' to 'Username'

Just noticed I forgot to modify the localization files... I'll try to take care of that today if I can get back to it.


Deploy to s3. Add simple website.

Name the setup program rustup-setup.exe. Modify travis and appveyor
configs to deploy it from master to dev-static.rust-lang.org, and from
the stable branch to static.rust-lang.org.
The directory structure under s3 is
rustup/
  www/ - the (simple) website
  rustup-setup.sh - the curlable script
  dist/$target/
    rustup-setup$exe
    rustup-setup$exe.sha256

The shell script and website are deployed from x86_64-linux.
Self upgrades are directed to

https://static.rust-lang.org/rustup/dist/$target/

The rustup-setup.sh script is accessible via sh.rustup.rs,
one of the windows bins at win.rustup.rs, and the website
at www.rustup.rs.
The website is really simple. It does platform detection
and says how to use sh.rustup.rs or win.rustup.rs.
The website is not necessarily final, but I'm probably
not going to think much more about it before asking
for testing and feedback.
Once this is deployed I will do a one-time deployment of the
bins to the old upgrade location to provide continuity.
This probably shouldn't be merged yet because it's late and I should think harder about whether it's really ready.

All fixed.

I'm going to try to push this through today.


Switch to interface dependencies in project.json

DI/Config we can switch to the interface references

Done 7b3dbaa32b6a0952da93f1af8ff7bfe9398a5a11


Ubuntu Desktop?

Can this be adjusted to work with Ubuntu Desktop as well?  I have to do some automated deployments, and making the creation, and recreation of the iso so easy would be awesome!.
Thanks

I am not sure if we can do this for Ubuntu Desktop.  This would be something interesting.

On the Ubuntu forum this question was asked as well (https://askubuntu.com/questions/1210176/is-it-possible-to-create-unattended-installation-for-ubuntu-desktop-18-04) and a reference to [https://help.ubuntu.com/community/LiveCDCustomization] was made, maybe that could solve your issue?


Implement IAM get_policy and correct policy version behavior

This pull request addresses two issues with respect to IAM managed policies:

Resolves #1434, #1240 and #1238 by implementing the get_policy method, along with the appropriate test case.
Corrects a deviation in behavior with respect to the IAM API for policy versions. According to AWS and my own tests, when CreatePolicy is called, the PolicyDocument that is provided automatically becomes the first policy version. Therefore, list_policy_versions should always return at least one version, even before additional create_policy_versions are called. The test cases have been updated as well as the model behavior.

Coverage decreased (-0.04%) to 92.202% when pulling de4d5d9d6250669b0e0f84ccdbccb879556aad76 on kgutwin:iam_get_policy into ba9e795394ea0c6490e1a7aa4bfef69d8c1b42bc on spulec:master.

Looks great; thanks. Welcome to Moto!


visualize VM values

hi @apchenstu, how can we visualize the values of the tensors and vectors as shown in the  train_process.mp4?

Hello @cchen156 - where in the code does it create that train_process.mp4 file? I haven't spotted it yet.

Oh, I produced the video with tedious steps, 1) save checkpoints every k step and render the target view; 2) using an affine translation to map the rendering results to the perspective planes as shown in the video


[App Config] Update snapshot API and changelog for "1.3.0-beta.3" release

This PR incorporates the following changes:

Updated changelog to prepare the "1.3.0-beta.3" release.
Renamed SnapshotSettingFilter to ConfigurationSettingsFilter.

/cc: @kinelski as FYI

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Data.AppConfiguration


Special charachter in keywords make W0302 fail

This keyword makes the W0302 fail even though the keyword is capitalized:
Edit Group's Report Logo
The only solution we found to avoid this is the following:
Edit Group's Report Logo    # robocop: disable
Is it possible to treat "Group's" as one word or refactor is the only option?
Our use case is special, we are using the report.html for official reporting for the authorities and it is easier to use special characters like this.

I believe its bug - it should strip any non letter char before making check. I will verify it

I believe its bug - it should strip any non letter char before making check. I will verify it

I made straightforward fix in https://github.com/MarketSquare/robotframework-robocop/commit/7325c3af599b4690429cd0f5942066d39ed4223d and I'm going to release robocop == 1.3.2.
This rule will be reworked right after I finish major tasks in my other tool (robotidy) because I'm not happy how it growed over time & I would also want to be able to catch embedded value ('Keyword With ${var} == Keyword With 5). But it will mostly affect internal implementation and not what issues this rule catch.

I made straightforward fix in https://github.com/MarketSquare/robotframework-robocop/commit/7325c3af599b4690429cd0f5942066d39ed4223d and I'm going to release robocop == 1.3.2.
This rule will be reworked right after I finish major tasks in my other tool (robotidy) because I'm not happy how it growed over time & I would also want to be able to catch embedded value ('Keyword With ${var} == Keyword With 5). But it will mostly affect internal implementation and not what issues this rule catch.


Update syncStrategy from array to string

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #3004
Engineer Checklist

[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[ ] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

Based on the ongoing discussions in the context of this change, I'm going to mark this PR as draft cc @Raynafs

I think we can close this for now, we want to allow multiple strategies and way we have it seems fine. We could add a note to docs explaining that right now, it only takes the first (is this correct?) member of the list as the strategy and support for multiple is TBC

Closing this until a decision is made.
@pld @dubdabasoduba @ndegwamartin


add fps arguments in functions to handle other frame rate than 24

A rough way to handle custom frame rate for cmx parser

Hi, thanks for the feedbacks, I also opened Issue #182 (sorry for replicates by the way) because coding this started to taste only as a workaround as I wanted to be able to detect it instead of giving it as an argument. Thank you for the keyword arguments feature, it'll be simpler for me now to recode it.

If you can find a reliable way to auto-detect what rate an EDL is, that would be great, but I've always seen other tools require you to specify it when you import, because EDL doesn't seem to have a place to specify it in the file itself. You could guess based on the last :FF segment of the timecode to see if there are any > 23, but you might get unlucky based on the specific data in the file and guess wrong which would be a huge mess.

Indeed that was our conclusion as well. I haven't seen a tool able to resolve this either. Let's go for the specification then. Thanks for the answer.


Doubt about compare two DB with the same columns but without 'data specifications'

Greetings Mr. Carlson
I want to thank you again for the help that you gave me the last week.  But now I have another doubt (a more serious one).

I was trying to compare 2 DB's, column by column with command:

pgdiff COLUMN -U xxx-W xxx-H <IP_ADDRESS> -D loc002 -O "sslmode = disable" \ -u xxx -w xxx -h <IP_ADDRESS> -d loc004 -o "sslmode = disable"

I figured out that when I compare 2 tables, with the same type of columns (as I show in the picture attached)  with no data restriction, show the message:
ALTER TABLE dbname ALTER COLUMN x TYPE character varying(1024)
And well, in reality there is not a difference between these columns, the just do no have a data restriction.
Could you please give me an advice of what to do? Because what I need to do is to see if 2 databases are different in terms of columns, and if these are identical i do not need to plot a text.
Please let me know if I have been clear of what if my issue.  I am attaching some pictures about the issue.

Thank you again, kind regards,
Eduardo W.

Hi Eduardo.  I'm working on version 0.9.2 now.  I appreciate knowing that some people specify a character varying field without specifying the size.  I wasn't aware that was possible so I have tested it and found that you are correct.  This is a bug that I will work on.  I hope to have the next version available soon (like in the next 1-2 weeks).
Thanks for helping find issues.

Jon

Hi Eduardo, I had time to work on it tonight and so I made the fix, did some manual testing, and generated new binaries that are not on the main page, however they are in the branch listed below.  Let me know how this goes for you:
https://github.com/joncrlsn/pgdiff/tree/release/0.9.3

Greetings Mr. Carlson, how are things?
Thanks for your quick reply and sorry for my delay response.
I will try the update that you made and will give you my response as soon as I can.
Thank you again, for my part and my colleagues.
Eduardo.

Thank you for the suggestion for improvement!

@cabezon666 Your character varying fix is in the 1.0 beta 1 pre-release.  Let me know if you find other problems.  Thank you!


regarding the 6 mfeat datasets

The mfeat_pixel  dataset  has target values ranging from [0.9], while the other mfeat datasets have target values ranging from [1,10]
These datasets are all part of the same collection (https://archive.ics.uci.edu/ml/datasets/Multiple+Features), so they need to have the same feature values because people might compare feature values between the six datasets. I suggest changing the other 5 sets' values from [1,10] to [0,9] because that is consistent with the primary source's site, as well as your current target annotation in other datasets that I've looked at.

come to think of it, the target values should also be [0-9] because the features are statistics that describe images of the characters 0, 1, 2, ..., 9.

Thank you @greggj2016 for raising this issue. @weixuanfu could we discard this recoding of the target column and use the original one?

I think it is OK to record the target.

Closed by #133.


Added third party

Are the Brave and Pinecone ones copied from elsewhere? They're marked as new in this PR.

For Brave, the content looks good but the notebook is super-duper long because of the printed search results. We should tighten that up or people will be intimidated by the long scroll.

No notes on the Pinecone one, other than that it might be nice to have these recipes reference each other, but I think moving them into an "RAG" folder helps with that.


Progress bar of the app-tools-lib server shows 'Starting' status when sever has already started

Fixed.


Simplify styles on links

Especially on informative ones. Right now the styles are bold and red and underlined. We need at least less than one of those.
Note: these are not my ideas. I'm just capturing all the great work others are doing in other documents.

I believe this task was completed.


ECS: Fetch AMI ids from Scope docs

Needed after https://github.com/weaveworks/integrations/pull/126 is merged

I've included the URL and anchor to the ami docs. I think we can delete the integrations docs.
Didn't see this PR and already updated it.

@abuehrle Why isn't this needed? the setup.sh script in guides uses https://raw.githubusercontent.com/weaveworks/integrations/master/aws/ecs/README.md
See https://github.com/weaveworks/guides/blob/41f1f5a60d39d39b78f0e06e224a7c3bad30c4e8/aws-ecs/setup.sh#L4

I didn't realize the setup script uses that. Ok maybe we could just leave the table there?

Let me know what's best.

I am confused. this PR makes the setup scripture the table in the new location.

Aack sorry fons. Yes we need that.


Fix DefaultFuture turn off exception logging optimization for Channel…

What is the purpose of the change
fix #8695 on 3.0
Brief changelog
DefaultFuture turn off logging optimization for Channel.
Verifying this change

Codecov Report

Merging #8739 (1611a9e) into 3.0 (13c15fd) will decrease coverage by 0.15%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                3.0    #8739      +/-   ##
============================================
- Coverage     63.71%   63.55%   -0.16%
+ Complexity      313      312       -1
============================================
  Files          1145     1145
  Lines         48183    48137      -46
  Branches       7255     7220      -35
============================================
- Hits          30698    30593     -105
- Misses        14115    14167      +52
- Partials       3370     3377       +7

Impacted Files
Coverage Δ

...dubbo/remoting/exchange/support/DefaultFuture.java
89.09% <100.00%> (-0.39%)
:arrow_down:

...ng/transport/dispatcher/all/AllChannelHandler.java
68.96% <0.00%> (-20.69%)
:arrow_down:

...ng/transport/dispatcher/WrappedChannelHandler.java
43.47% <0.00%> (-15.22%)
:arrow_down:

...ache/dubbo/remoting/transport/AbstractChannel.java
75.00% <0.00%> (-12.50%)
:arrow_down:

...ubbo/registry/client/AbstractServiceDiscovery.java
87.50% <0.00%> (-12.50%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-11.54%)
:arrow_down:

...moting/transport/netty4/NettyEventLoopFactory.java
22.22% <0.00%> (-7.78%)
:arrow_down:

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
:arrow_down:

...ache/dubbo/remoting/api/NettyEventLoopFactory.java
30.00% <0.00%> (-6.37%)
:arrow_down:

.../threadpool/support/limited/LimitedThreadPool.java
83.33% <0.00%> (-5.56%)
:arrow_down:

... and 38 more

Continue to review full report at Codecov.

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

@horizonzy I recommitted and found that there were redundant commit records, so "reset head" caused it to close，I have now resubmitted a PR，link：https://github.com/apache/dubbo/pull/8775


fix: dont pollute console with errors due to incorrect abi from idle

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #5349

PR #5350

PR #5351   👈

This comment was auto-generated by Graphite.


[BUG] Custom title not shown anywhere

Deployment details:

App version [2.3.0]:
Platform [amd64, Manjaro Linux host, Docker Compose]:
Docker image tag [none, so latest is used?]:

Bug description:
I have set a custom title via Settings, but it is not shown anywhere.
I do see the greeting, I can disable the greeting but still the custom title is not shown. Tested mostly on mobile devices.

Steps to reproduce:

Go to Settings > Interface
Set a custom page title
Hit save, go back and try to find it anywhere.

The custom page title setting is the title that appears on the browser tab, not the page itself. If you're using Safari, you won't see this.


Two classic BT HID devices connecting at the same time fail with ERR_SDP (BT_SDP: process_service_attr_rsp occurs after ESP_HIDH_OPEN_EVENT). (IDFGH-9100)

Answers checklist.

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

IDF version.
v5.0
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
DOIT ESP32 DEVKIT V1
Power Supply used.
USB
What is the expected behavior?
I am attempting to connect two Wii remotes (which are classic Bluetooth HID devices) to an ESP32. The Wii remotes have previously been successfully paired individually (after searching for them and sending the appropriate PIN using the BT GAP API before using the HIDH API to open the device).
If the ESP32 is reset the Wii remotes will reconnect to it automatically, with no need to search for them again via GAP API or by using the HIDH API to open the device. If only one Wii remote is switched on at a time, then both connect successfully. Ideally this should also happen if both Wii remotes are switched on at the same time.
What is the actual behavior?
If both Wii remotes are switched on at the same time then they will both fail to connect with ERR_SDP. If a Wii remote is then switched off (resulting in bta_hh_co_close being called) then BT_HIDH generates a Device Not Found and CLOSE ERROR: NO_CONNECTION and the ESP32 crashes and reboots.
The only thing I can see that indicates what the issue might be is that when the Wii remotes connect successfully the log shows two events from BT_SDP: process_service_attr_rsp before the HIDH open callback is invoked. When the connections fail these BT_SDP: process_service_attr_rsp events come after the HIDH open callback.
Steps to reproduce.

Pair two Wii remotes to an ESP32.
Reset the ESP32 with both Wii remotes connected, OR reset the ESP32 and switch on both Wii remotes by pressing a button on them simultaneously.
If the two Wii remotes try to reconnect at the same time, neither will properly reconnect. (If they stagger the times that they try to reconnect then all is fine).

Debug Logs.
********** Successful connection: **********

W (7000) BT_HCI: hcif conn complete: hdl 0x80, st 0x0
E (8150) BT_BTM: tBTM_SEC_DEV:0x3ffd18d4 rs_disc_pending=0
W (8400) BT_SDP: process_service_attr_rsp
W (8710) BT_SDP: process_service_attr_rsp
W (8720) BT_APPL: new conn_srvc id:23, app_id:5
I (8740) BT: HIDH open 00:21:bd:07:b6:41:
BDA:00:21:bd:07:b6:41, Status: OK, Connected: YES, Handle: 0, Usage: GAMEPAD
Name: , Manufacturer: , Serial Number:
PID: 0x0306, VID: 0x057e, VERSION: 0x0600
Report Map Length: 217
    VENDOR   INPUT REPORT, ID:  63, Length:  21
    VENDOR   INPUT REPORT, ID:  62, Length:  21
    VENDOR   INPUT REPORT, ID:  61, Length:  21
    VENDOR   INPUT REPORT, ID:  55, Length:  21
    VENDOR   INPUT REPORT, ID:  54, Length:  21
    VENDOR   INPUT REPORT, ID:  53, Length:  21
    VENDOR   INPUT REPORT, ID:  52, Length:  21
    VENDOR   INPUT REPORT, ID:  51, Length:  17
    VENDOR   INPUT REPORT, ID:  50, Length:  10
    VENDOR   INPUT REPORT, ID:  49, Length:   5
    VENDOR   INPUT REPORT, ID:  48, Length:   2
    VENDOR   INPUT REPORT, ID:  34, Length:   4
    VENDOR   INPUT REPORT, ID:  33, Length:  21
    VENDOR   INPUT REPORT, ID:  32, Length:   6
    VENDOR  OUTPUT REPORT, ID:  26, Length:   1
    VENDOR  OUTPUT REPORT, ID:  25, Length:   1
    VENDOR  OUTPUT REPORT, ID:  24, Length:  21
    VENDOR  OUTPUT REPORT, ID:  23, Length:   6
    VENDOR  OUTPUT REPORT, ID:  22, Length:  21
    VENDOR  OUTPUT REPORT, ID:  21, Length:   1
    VENDOR  OUTPUT REPORT, ID:  20, Length:   1
    VENDOR  OUTPUT REPORT, ID:  19, Length:   1
    VENDOR  OUTPUT REPORT, ID:  18, Length:   2
    VENDOR  OUTPUT REPORT, ID:  17, Length:   1
   GAMEPAD  OUTPUT REPORT, ID:  16, Length:   1
I (8850) MAIN: Assigning slot 0

********** Failed connection: **********

W (5730) BT_HCI: hcif conn complete: hdl 0x80, st 0x0
W (6670) BT_HCI: hcif conn complete: hdl 0x81, st 0x0
E (6880) BT_BTM: tBTM_SEC_DEV:0x3ffd18d4 rs_disc_pending=0
E (7090) BT_HIDH: OPEN ERROR: ERR_SDP
E (7090) BT: HIDH open failed (-1)
W (7100) BT_HIDH: HID-Host Rcvd L2CAP disc cfm, unknown CID: 0x44
W (7160) BT_SDP: process_service_attr_rsp
W (7480) BT_SDP: process_service_attr_rsp

********** Crash after failed connection: **********

W (93351) BT_APPL: bta_hh_co_close: dev_handle = 1, app_id = 5
W (93351) BT_APPL: bta_dm_act no entry for connected service cbs
E (93361) BT_BTC: Error: cannot find device with handle 1
E (93361) BT_HIDH: Device Not Found
E (93371) BT_HIDH: CLOSE ERROR: NO_CONNECTION
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x400db050  PS      : 0x00060130  A0      : 0x8014991c  A1      : 0x3ffd3d30
0x400db050: hidh_callback at D:/Documents/Documents/GitHub/LightGunCommando/hosts/wii_remote/firmware/main/bt.c:217

A2      : 0x00000000  A3      : 0x3f405718  A4      : 0x00000004  A5      : 0x3ffd7894
A6      : 0x000000fd  A7      : 0x0000abab  A8      : 0x800db04e  A9      : 0x3ffd3d10
A10     : 0x00016cbb  A11     : 0x00000000  A12     : 0x00000000  A13     : 0xff000000
A14     : 0x00000004  A15     : 0x0000abab  SAR     : 0x00000018  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000000

Backtrace: 0x400db04d:0x3ffd3d30 0x40149919:0x3ffd3d90 0x401494b6:0x3ffd3dc0 0x4014958d:0x3ffd3e00 0x4009503d:0x3ffd3e20
0x400db04d: hidh_callback at D:/Documents/Documents/GitHub/LightGunCommando/hosts/wii_remote/firmware/main/bt.c:217

0x40149919: handler_execute at D:/Documents/Documents/Electronics/ESP/esp-idf/components/esp_event/esp_event.c:137

0x401494b6: esp_event_loop_run at D:/Documents/Documents/Electronics/ESP/esp-idf/components/esp_event/esp_event.c:582 (discriminator 3)

0x4014958d: esp_event_loop_run_task at D:/Documents/Documents/Electronics/ESP/esp-idf/components/esp_event/esp_event.c:107 (discriminator 15)

0x4009503d: vPortTaskWrapper at D:/Documents/Documents/Electronics/ESP/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:151

ELF file SHA256: e127f984b20ef496

Rebooting...

More Information.
No response

Hi @benryves,
Thanks for reporting!

Reset the ESP32 with both Wii remotes connected, OR reset the ESP32 and switch on both Wii remotes by pressing a button on them simultaneously.

Do the two procedures have the same result(ERR_SDP)? And can you always reproduce the issue?  I can't reproduce the issue as you described.  So please help enable the following config:
Component config > Bluetooth > Bluedroid Options > BT DEBUG LOG LEVEL > L2CAP layer  -> Event
Component config > Bluetooth > Bluedroid Options > BT DEBUG LOG LEVEL > APPL layer  -> Debug
Component config > Log output > Default log verbosity  -> Debug
The crash may be caused by referring to the NULL pointer in the hidh_callback function, please check the pointer before using it.

Hi @benryves,
I am glad you have tried to find out the reason by yourself. The root reason is that the Bluetooth stack on ESP32 only supports one SDP procedure each time. In your case, the second HID connection is occurred while the first SDP procedure has not been finished. You can work around the issue by either staggering the two reconnection or adding the additional reconnection procedures when the previous reconnection is failed. If you choose the second solution, please apply the following patch first.
fix_hidh_connection_bug.zip

Hi @boblane1,
Thank you very much for your advice and the patch. Unfortunately, this is all a bit beyond me - I find it extremely difficult to follow the Bluedroid code as a lot of it is indirect (e.g. via callback tables), not to mention the sheer volume of it, so I'm not really sure where I'd go to fix this. I've spent a few hours digging through the code but not really closer to a proper solution.
My workaround is to count the number of successfully connected and opened devices. If an incoming connection fails to open and there are no known successfully opened devices, I wait one second then deinit() and then re-init() all Bluetooth components. By doing this the devices that failed to open do get disconnected properly (and so you can try to reconnect them without having to pull their batteries out).
It's all a bit of a hack but I'm not really sure what the proper way to handle this is, but as far as user experience is concerned this at least masks the problem a bit better than before.

Hi @benryves,
Maybe the deinit and re-init procedure is unnecessary. I think it's better to initiate the reconnection procedure directly, since it will not break the established connection. I will handle like the following comments.
void hidh_callback(void *handler_args, esp_event_base_t base, int32_t id, void *event_data)
{
...
    case ESP_HIDH_OPEN_EVENT: {
        if (param->open.status == ESP_OK) {
            const uint8_t *bda = esp_hidh_dev_bda_get(param->open.dev);
            ESP_LOGI(TAG, ESP_BD_ADDR_STR " OPEN: %s", ESP_BD_ADDR_HEX(bda), esp_hidh_dev_name_get(param->open.dev));
            esp_hidh_dev_dump(param->open.dev, stdout);
        } else {
            ESP_LOGE(TAG, " OPEN failed!");
            // push the bda to your own task work queue
        }
        break;
    }
...
}

your_own_app_task()
{
    // 1. fetch from the work queue and check if it is reconnection event
    // 2. delay some time
    // 3. call `esp_hidh_dev_open` to trigger the reconnection
}

Hi @boblane1,
Thank you for the suggestion, that would certainly seem like the easiest answer.
How would you know the BDA of the device that failed to connect? param->open.dev is 0 when the connection fails, and attempting to use esp_hidh_dev_name_get to retrieve the BDA from 0 unsurprisingly results in a LoadProhibited Guru Meditation Error.
I'm not initiating the connection myself, the Wii remote is reconnecting automatically. I don't call esp_hidh_dev_open in this situation, I just handle hidh_callback with ESP_HIDH_OPEN_EVENT. Is there some callback I can subscribe to to see which devices have tried to connect, maybe?

Hi @boblane1,
I've made some changes to a couple of files to copy the BDA to the ESP_HIDH_OPEN_EVENT's esp_hidh_event_data_t so that it can be recovered to trigger the reconnection: propagate_hidh_open_bdaddr.patch
If the ESP_HIDH_OPEN_EVENT fails and I then try to esp_hidh_dev_open using the queued BDA after a short delay it does "successfully" open the device - I get a successful status report from ESP_HIDH_OPEN_EVENT, esp_hidh_dev_dump prints out information about the connected device, and the user application assigns the controller to a controller slot. However, when it tries to send data to the controller I get a series of HID_ERR_NO_CONNECTION errors:
I (4227) BT: HIDH open 00:22:d7:6a:4b:bc:
BDA:00:22:d7:6a:4b:bc, Status: OK, Connected: YES, Handle: 1, Usage: GAMEPAD
Name: , Manufacturer: , Serial Number:
PID: 0x0306, VID: 0x057e, VERSION: 0x0600
Report Map Length: 217
    VENDOR   INPUT REPORT, ID:  63, Length:  21
    VENDOR   INPUT REPORT, ID:  62, Length:  21
    VENDOR   INPUT REPORT, ID:  61, Length:  21
    VENDOR   INPUT REPORT, ID:  55, Length:  21
    VENDOR   INPUT REPORT, ID:  54, Length:  21
    VENDOR   INPUT REPORT, ID:  53, Length:  21
    VENDOR   INPUT REPORT, ID:  52, Length:  21
    VENDOR   INPUT REPORT, ID:  51, Length:  17
    VENDOR   INPUT REPORT, ID:  50, Length:  10
    VENDOR   INPUT REPORT, ID:  49, Length:   5
    VENDOR   INPUT REPORT, ID:  48, Length:   2
    VENDOR   INPUT REPORT, ID:  34, Length:   4
    VENDOR   INPUT REPORT, ID:  33, Length:  21
    VENDOR   INPUT REPORT, ID:  32, Length:   6
    VENDOR  OUTPUT REPORT, ID:  26, Length:   1
    VENDOR  OUTPUT REPORT, ID:  25, Length:   1
    VENDOR  OUTPUT REPORT, ID:  24, Length:  21
    VENDOR  OUTPUT REPORT, ID:  23, Length:   6
    VENDOR  OUTPUT REPORT, ID:  22, Length:  21
    VENDOR  OUTPUT REPORT, ID:  21, Length:   1
    VENDOR  OUTPUT REPORT, ID:  20, Length:   1
    VENDOR  OUTPUT REPORT, ID:  19, Length:   1
    VENDOR  OUTPUT REPORT, ID:  18, Length:   2
    VENDOR  OUTPUT REPORT, ID:  17, Length:   1
   GAMEPAD  OUTPUT REPORT, ID:  16, Length:   1
I (4277) MAIN: Running: 0:02, <NO VIDEO>
I (4347) MAIN: Assigning slot 0
I (4357) MAIN: Initialising player 0 Wii remote
E (4357) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4367) BT_APPL: HID_HostWriteDev status:4
E (4417) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4417) BT_APPL: HID_HostWriteDev status:4
E (4467) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4467) BT_APPL: HID_HostWriteDev status:4
E (4517) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4517) BT_APPL: HID_HostWriteDev status:4
E (4517) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4517) BT_APPL: HID_HostWriteDev status:4
E (4567) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4567) BT_APPL: HID_HostWriteDev status:4
E (4617) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4617) BT_APPL: HID_HostWriteDev status:4
E (4667) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4667) BT_APPL: HID_HostWriteDev status:4
E (4717) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4717) BT_APPL: HID_HostWriteDev status:4
E (4767) BT_HIDH: HID_ERR_NO_CONNECTION dev_handle 1
E (4767) BT_APPL: HID_HostWriteDev status:4
I (5347) MAIN: Running: 0:03, <NO VIDEO>
I (6347) MAIN: Running: 0:04, <NO VIDEO>
I (7347) MAIN: Running: 0:05, <NO VIDEO>
I (8347) MAIN: Running: 0:06, <NO VIDEO>
I (9347) MAIN: Running: 0:07, <NO VIDEO>
I (10347) MAIN: Running: 0:08, <NO VIDEO>
I (11347) MAIN: Running: 0:09, <NO VIDEO>

If I then press some buttons on the controller I get similar error messages about the device not being found:
E (355597) BT_HIDH: Device Not Found: handle 0
E (355737) BT_HIDH: Device Not Found: handle 0
E (356047) BT_HIDH: Device Not Found: handle 0
E (356137) BT_HIDH: Device Not Found: handle 0
I (356347) MAIN: Running: 5:54, <NO VIDEO>
E (357237) BT_HIDH: Device Not Found: handle 0
I (357347) MAIN: Running: 5:55, <NO VIDEO>
E (357357) BT_HIDH: Device Not Found: handle 0

Similar to before, it's as if the controller is connected successfully but something is not properly associated internally.
I then tried applying your earlier patch, and this does change things but not for the better - this time after the reconnection attempt with the previously-received BDA I just get an ERR_SDP error, and the application goes into and endless loop of trying to reconnect and failing. I undid the changes from the patch and it goes back to an initial ERR_SDP followed by a "successful" opening that doesn't work (the BT_HIDH: Device Not Found: handle 0 errors mentioned above).

I spent some time digging through bt/host/bluedroid/stack/hid/hidh_api.c and it looks like HID_HostAddDev is called for the connecting device, then HID_HostRemoveDev after it fails to connect, followed by HID_HostAddDev after the failure to open the device. When I then re-open the device, HID_HostAddDev is not called again with the updated data. I changed HID_HostRemoveDev so that it immediately returns (and doesn't remove the device), which I know is obviously not the right thing to do, however as an experiment does actually work and allows the reopened device to be properly accessible from the user application.
Unfortunately, only one of the Wii remotes gets reopened. When two devices attempt to connect simultaneously both are registered (e.g. with HID_HostAddDev) however ERR_SDP in the ESP_HIDH_OPEN_EVENT is only reported for one of them and I don't receive any other notifications about attempted connections. As I only get one failure notification, the user application doesn't know it need to try to reopen two different BDAs.
At this point, I'm not sure what the best solution is, short of exposing more of the inner guts of hidh_api.c to the user application (e.g. the hh_cb.devices array) so it has a better idea of what connections have failed and what it can do to recover.

There is also one other solution, which is to crash and trigger a reset. By doing this the Wii remotes don't know they were intentionally disconnected (as they do from an deinit()/init() cycle) and so will automatically try to reconnect when the device comes back up instead of switching themselves off. This is a pretty awful solution, but certainly the easiest...

Hi @benryves,
When the HID connection procedure fails for SDP error, the stack doesn't destroy the L2CAP layer connection. Try the following patch again and reconnect, please let me know if the issue is solved, thanks!
fix_hidh_connection_bug_20230130.zip

Hi @boblane1,
Thank you very much for putting that together, unfortunately after applying those patches I still get stuck in an endless ERR_SDP loop whenever I try to reopen the device that failed to connect previously. I do get an error message about an invalid device handle of 255 (possibly set to -1 somewhere?) though, which I've not seen before...
W (5765) BT_HCI: hcif conn complete: hdl 0x80, st 0x0
I (6255) MAIN: Running: 0:04, <NO VIDEO>
W (6775) BT_HCI: hcif conn complete: hdl 0x81, st 0x0
E (6925) BT_BTM: tBTM_SEC_DEV:0x3ffd1b10 rs_disc_pending=0

W (7115) BT_SDP: process_service_attr_rsp

E (7175) BT_HIDH: OPEN ERROR: ERR_SDP
E (7175) BT: HIDH open failed (-1)
I (7175) BT: trying to reconnect
I (7175) BT: reconnecting 00:22:d7:6a:4b:bc...
W (7235) BT_HCI: hci cmd send: disconnect: hdl 0x80, rsn:0x13
W (7235) BT_APPL: bta_hh_co_close: dev_handle = 255, app_id = 0
W (7235) BT_APPL: bta_hh_co_close: Oops, dev_handle (255) is invalid...
W (7245) BT_APPL: bta_dm_act no entry for connected service cbs
E (7245) BT_BTC: Error: cannot find device with handle 255
E (7255) BT_HIDH: CLOSE ERROR: NO_CONNECTION
W (7255) BT_HCI: hcif disc complete: hdl 0x80, rsn 0x16
I (7265) BT: HIDH close 00:22:d7:6a:4b:bc:
I (7265) MAIN: Running: 0:05, <NO VIDEO>
W (7435) BT_SDP: process_service_attr_rsp

I (8175) BT: re-opening 00:22:d7:6a:4b:bc
I (8275) MAIN: Running: 0:06, <NO VIDEO>
I (9275) MAIN: Running: 0:07, <NO VIDEO>
I (10275) MAIN: Running: 0:08, <NO VIDEO>
I (11275) MAIN: Running: 0:09, <NO VIDEO>
I (12275) MAIN: Running: 0:10, <NO VIDEO>
I (13275) MAIN: Running: 0:11, <NO VIDEO>
W (13285) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x43

W (13295) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (13295) BT_HIDH: OPEN ERROR: ERR_SDP
E (13295) BT: HIDH open failed (-1)
I (13305) BT: trying to reconnect
I (13305) BT: reconnecting 00:22:d7:6a:4b:bc...
I (14275) MAIN: Running: 0:12, <NO VIDEO>
I (14305) BT: re-opening 00:22:d7:6a:4b:bc
I (15275) MAIN: Running: 0:13, <NO VIDEO>
I (16275) MAIN: Running: 0:14, <NO VIDEO>
I (17275) MAIN: Running: 0:15, <NO VIDEO>
I (18275) MAIN: Running: 0:16, <NO VIDEO>
I (19275) MAIN: Running: 0:17, <NO VIDEO>
W (19415) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (19415) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (19415) BT_HIDH: OPEN ERROR: ERR_SDP
E (19415) BT: HIDH open failed (-1)
I (19425) BT: trying to reconnect
I (19425) BT: reconnecting 00:22:d7:6a:4b:bc...
I (20275) MAIN: Running: 0:18, <NO VIDEO>
I (20435) BT: re-opening 00:22:d7:6a:4b:bc
I (21275) MAIN: Running: 0:19, <NO VIDEO>
I (22275) MAIN: Running: 0:20, <NO VIDEO>
I (23275) MAIN: Running: 0:21, <NO VIDEO>
I (24275) MAIN: Running: 0:22, <NO VIDEO>
I (25275) MAIN: Running: 0:23, <NO VIDEO>
W (25555) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x43

W (25555) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (25555) BT_HIDH: OPEN ERROR: ERR_SDP
E (25565) BT: HIDH open failed (-1)
I (25565) BT: trying to reconnect
I (25565) BT: reconnecting 00:22:d7:6a:4b:bc...
I (26275) MAIN: Running: 0:24, <NO VIDEO>
I (26575) BT: re-opening 00:22:d7:6a:4b:bc
I (27275) MAIN: Running: 0:25, <NO VIDEO>
I (28275) MAIN: Running: 0:26, <NO VIDEO>
I (29275) MAIN: Running: 0:27, <NO VIDEO>
I (30275) MAIN: Running: 0:28, <NO VIDEO>
I (31275) MAIN: Running: 0:29, <NO VIDEO>
W (31685) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (31685) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (31685) BT_HIDH: OPEN ERROR: ERR_SDP
E (31695) BT: HIDH open failed (-1)
I (31695) BT: trying to reconnect
I (31695) BT: reconnecting 00:22:d7:6a:4b:bc...
I (32275) MAIN: Running: 0:30, <NO VIDEO>
I (32705) BT: re-opening 00:22:d7:6a:4b:bc
I (33275) MAIN: Running: 0:31, <NO VIDEO>
I (34275) MAIN: Running: 0:32, <NO VIDEO>
I (35275) MAIN: Running: 0:33, <NO VIDEO>
I (36275) MAIN: Running: 0:34, <NO VIDEO>
I (37275) MAIN: Running: 0:35, <NO VIDEO>
W (37825) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x43

W (37825) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (37825) BT_HIDH: OPEN ERROR: ERR_SDP
E (37835) BT: HIDH open failed (-1)
I (37835) BT: trying to reconnect
I (37835) BT: reconnecting 00:22:d7:6a:4b:bc...
I (38275) MAIN: Running: 0:36, <NO VIDEO>
I (38845) BT: re-opening 00:22:d7:6a:4b:bc
I (39275) MAIN: Running: 0:37, <NO VIDEO>
I (40275) MAIN: Running: 0:38, <NO VIDEO>
I (41275) MAIN: Running: 0:39, <NO VIDEO>
I (42275) MAIN: Running: 0:40, <NO VIDEO>
I (43275) MAIN: Running: 0:41, <NO VIDEO>
W (43955) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (43955) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (43955) BT_HIDH: OPEN ERROR: ERR_SDP
E (43965) BT: HIDH open failed (-1)
I (43965) BT: trying to reconnect
I (43965) BT: reconnecting 00:22:d7:6a:4b:bc...
I (44275) MAIN: Running: 0:42, <NO VIDEO>
I (44975) BT: re-opening 00:22:d7:6a:4b:bc

(In this case the "trying to reconnect" message appears when the connection fails, "reconnecting 00:22:d7:6a:4b:bc..." appears when the pending connection is successfully queued for later retrieval by a task, "re-opening 00:22:d7:6a:4b:bc" appears in the reconnection task when esp_hidh_dev_open returns successfully).

Hi @benryves,
In the previous patch, when the open operation failed, it comes with both ESP_HIDH_OPEN_EVENT and ESP_HIDH_CLOSE_EVENT events. Please initiate the reconnect operation in the ESP_HIDH_CLOSE_EVENT event which is cased by open failure or just delay some time to recover the stack. Please try again to see if the issue persists.

Hi @boblane1
Thanks for the feedback, previously I was only using the patch you supplied in fix_hidh_connection_bug_20230130.zip, I reset to a clean version of 5.0 and then applied fix_hidh_connection_bug.zip and then the later patch. After applying both patches I now see the HIDH_CLOSE event for the first (failed) connection attempt, but subsequent failures don't appear to trigger this event.
When the HIDH_OPEN event fails I store the BDA in a queue and start a task that waits for one second, then pulls items from the queue and tries to reopen them with a one second delay between them. I've made my logging a bit clearer to show that it's queueing up connection attempts (rather than immediately reopening the connection) as well as extended the initial delay to three seconds. (As I only get the HIDH_CLOSE event for the first failed attempt I suppose handling this event instead of a failed HIDH_OPEN would prevent my code from going into an infinite loop, it would only retry once).
W (1921) BT_HCI: hcif conn complete: hdl 0x80, st 0x0
W (2881) BT_HCI: hcif conn complete: hdl 0x81, st 0x0
E (3071) BT_BTM: tBTM_SEC_DEV:0x3ffd297c rs_disc_pending=0

W (3241) BT_SDP: process_service_attr_rsp

E (3271) BT_HIDH: OPEN ERROR: ERR_SDP
E (3281) BT: HIDH open failed (-1)
I (3281) BT: will try to reconnect
I (3281) BT: queued 00:21:bd:07:b6:41 for reconnection...
W (3301) BT_HCI: hci cmd send: disconnect: hdl 0x80, rsn:0x13
W (3301) BT_APPL: bta_hh_co_close: dev_handle = 255, app_id = 0
W (3301) BT_APPL: bta_hh_co_close: Oops, dev_handle (255) is invalid...
W (3311) BT_APPL: bta_dm_act no entry for connected service cbs
E (3311) BT_BTC: Error: cannot find device with handle 255
E (3321) BT_HIDH: CLOSE ERROR: NO_CONNECTION
I (3321) BT: HIDH close 00:21:bd:07:b6:41:
W (3331) BT_HCI: hcif disc complete: hdl 0x80, rsn 0x16
W (3621) BT_SDP: process_service_attr_rsp

I (3911) MAIN: Running: 0:00, <NO VIDEO>
I (4911) MAIN: Running: 0:01, <NO VIDEO>
I (5911) MAIN: Running: 0:02, <NO VIDEO>
I (6281) BT: re-opening 00:21:bd:07:b6:41
I (6911) MAIN: Running: 0:03, <NO VIDEO>
I (7911) MAIN: Running: 0:04, <NO VIDEO>
I (8911) MAIN: Running: 0:05, <NO VIDEO>
I (9911) MAIN: Running: 0:06, <NO VIDEO>
I (10911) MAIN: Running: 0:07, <NO VIDEO>
W (11391) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (11391) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (11391) BT_HIDH: OPEN ERROR: ERR_SDP
E (11391) BT: HIDH open failed (-1)
I (11401) BT: will try to reconnect
I (11401) BT: queued 00:21:bd:07:b6:41 for reconnection...
I (11911) MAIN: Running: 0:08, <NO VIDEO>
I (12911) MAIN: Running: 0:09, <NO VIDEO>
I (13911) MAIN: Running: 0:10, <NO VIDEO>
I (14411) BT: re-opening 00:21:bd:07:b6:41
I (14911) MAIN: Running: 0:11, <NO VIDEO>
I (15911) MAIN: Running: 0:12, <NO VIDEO>
I (16911) MAIN: Running: 0:13, <NO VIDEO>
I (17911) MAIN: Running: 0:14, <NO VIDEO>
I (18911) MAIN: Running: 0:15, <NO VIDEO>
W (19521) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x43

W (19521) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (19531) BT_HIDH: OPEN ERROR: ERR_SDP
E (19531) BT: HIDH open failed (-1)
I (19531) BT: will try to reconnect
I (19541) BT: queued 00:21:bd:07:b6:41 for reconnection...
I (19911) MAIN: Running: 0:16, <NO VIDEO>
I (20911) MAIN: Running: 0:17, <NO VIDEO>
I (21911) MAIN: Running: 0:18, <NO VIDEO>
I (22541) BT: re-opening 00:21:bd:07:b6:41
I (22911) MAIN: Running: 0:19, <NO VIDEO>
I (23911) MAIN: Running: 0:20, <NO VIDEO>
I (24911) MAIN: Running: 0:21, <NO VIDEO>
I (25911) MAIN: Running: 0:22, <NO VIDEO>
I (26911) MAIN: Running: 0:23, <NO VIDEO>
W (27651) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (27651) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4
E (27651) BT_HIDH: OPEN ERROR: ERR_SDP
E (27651) BT: HIDH open failed (-1)
I (27661) BT: will try to reconnect
I (27661) BT: queued 00:21:bd:07:b6:41 for reconnection...
I (27911) MAIN: Running: 0:24, <NO VIDEO>
I (28911) MAIN: Running: 0:25, <NO VIDEO>

Would it be useful if I was to try to put together the smallest program I can that demonstrates the issue? (You'd need at least two Wii remotes and a push button to perform the initial sync, then once they're paired you could reset the ESP32 until they both tried to reconnect at the same time and triggered the issue).

Hi @benryves,

W (11391) BT_SDP: SDP - Rcvd conn cnf with error: 0x4  CID 0x42

W (11391) BT_HCI: hcif conn complete: hdl 0xfff, st 0x4

st 0x4 means the SDP connection is timeout. It seems that the Wii can not response the reconnection of ESP32(HID Host) when the previous connection is failed.

Thank you for the confirmation, @boblane1!
My previous solution was to de-init and re-init the Bluetooth stack on error, this cleanly disconnects the Wii remotes and allows them to be reconnected by pressing a button on them to wake them up (when they encounter an error otherwise they get stuck in an unresponsive state unless you hold the power button down or pull a battery out). I think I may stick to that solution, as it's the least confusing for the user.


Create RedoButton component

Description:
The RedoButton displays on the Results page and takes the user back to the start of the check-up with their previous results cleared.
Acceptance Criteria:

On button click, user is navigated to the start of the check-up (/checkup)
Previously recorded results are cleared
Button displays as per design:

Mobile: https://zpl.io/2Gow8Bd
Desktop: https://zpl.io/VYkXxKE

Hey @carlacfw & @Yuzuki-S  - I just updated the links to the newer designs!


run CI tests on trusted PRs and include secrets

CI tests were failing on PRs from external contributors because the secrets were not available
this changes that so that the tests without secrets always run and the tests needing secrets are only triggered when you add the label safe to test

@dataders All tests requiring access to our Azure env should be approved by a maintainer to avoid a pull request becoming a pwn request. The other ones run isolated and don't need external resources so they are always triggered


Mongoid 6 Support

Mongoid-autoinc currently only supports Mongoid 5. Are there any plans for Mongoid 6 support (which is required for Rails 5+)?

I'd be happy to merge a pull-request which adds Mongoid 6.x support. This will get you what you want, and an honourable mention on the contributors list. :)
I probably have time in about two weeks, after I finish renovations on my house.
As a side-note: It could very well be that it already works, but once you optimistically publish a gem (>=), some people really assume magical foresight of this small codebase. :)

I had some time today after all, please check if [mongoid-autoinc v6.0.0.rc0] (https://rubygems.org/gems/mongoid-autoinc/versions/6.0.0.rc0) works for you, @groe
I hope it does, otherwise I could really use some help on that pull-request.

Thank you @suweller!
I've only been using mongoid-autoinc as a dependency for rpush-mongoid (see https://github.com/rpush/rpush-mongoid/issues/3), so unfortunately I don't have an isolated testcase for this until rpush-mongoid is compatible as well...

+1

@sahilchopra I'm not sure what +1 means. The status from my end is, there is a release candidate. Does it work? If so, we can release it as v6.0.0.
Check my previous comment. It points to a mongoid-autoinc version which (for me) worked with Mongoid 6.

@suweller I've verified this against mongoid 6.0 release version

I've released 6.0.0


Tailscale incompatibility due to packet mark conflict

In the issue https://github.com/cilium/cilium/issues/35338#issuecomment-2481111018, a user noticed that tailscale is using packet mark skb->mark values 0x40000 and 0x80000 which are also used by Cilium. If Tailscale is deployed directly on a host that is also running Cilium, this could cause unexpected forwarding or policy enforcement behavior due to the conflict.

Perhaps if tailscale uses the bits at offset 0x0000f000 instead, and not all Cilium features are used, then it may be possible resolve this incompatibility.

Does it make sense to make the bit range configurable? Or are the mark bits too widely hard-coded?

@squeed in practice I think we're using almost every bit (excluding ones that directly conflict with k8s) and even overloading some bits. Depending on configuration there may be some unused bits. I'm not sure whether the complexity of making a configurable bit range is worth the cost/complexity.


Docs - update documentation for explicit git clone of main

The default branch has been changed to dev.  Documentation/ guides need to be updated to explicitly git clone the main branch

Done


21 - US: As an author, I want to feel safe about sharing images and posts with my friends – images should not publicly accessible without authentication.

Image will need to be passed through view

#63


added Unreadnotifications

Coverage decreased (-0.006%) to 5.867% when pulling e44e3642bea159159154ff6bb7e617387aaf7e1d on Tr0nYx:master into dd57b475df803c6e703ae800a004677f275a01b7 on Alpha-Trader:master.

Coverage decreased (-0.006%) to 5.867% when pulling e44e3642bea159159154ff6bb7e617387aaf7e1d on Tr0nYx:master into dd57b475df803c6e703ae800a004677f275a01b7 on Alpha-Trader:master.

Coverage decreased (-0.006%) to 5.867% when pulling e44e3642bea159159154ff6bb7e617387aaf7e1d on Tr0nYx:master into dd57b475df803c6e703ae800a004677f275a01b7 on Alpha-Trader:master.


Update configure-event-collection.md

Need to boot DC after adding network service to the group

Hi @api0cradle, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Fix changelog links

Description
Use correct tag names in CHANGELOG compare links
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #166 (7d98174) into main (4d9e364) will decrease coverage by 0.56%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
- Coverage   65.98%   65.42%   -0.56%
==========================================
  Files         318      309       -9
  Lines       53072    52205     -867
==========================================
- Hits        35018    34154     -864
+ Misses      18054    18051       -3

Flag
Coverage Δ

integration
65.42% <ø> (-0.56%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 41 files with indirect coverage changes

@Xtansia I think you could go ahead and merge that, I will fix the test cases (for unreleased builds) here https://github.com/opensearch-project/opensearch-rs/pull/167


unified access to EvictionGroupVersion

Ⅰ. Describe what this PR does

unified access to EvictionGroupVersion
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

This PR fix #1374