Close producer without state check while the topic does not exists.

Fixes #6838 related to #6879
Motivation
Close producer without state check while the topic does not exists. The problem is the State of the producer failed to pass the check condition so that the producer can't be closed. If TopicDoesNotExsitsException happens on a producer, we can directly close this producer without state checking for the producer.
Verifying this change
Improve the test
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@codelipenghui @sijie  : When is 2.5.3. release is planned ? Can you please share with us.


How to avoid jumping to other places in Find All References?

VSCode Version: 1.5.2
OS Version: OS X 10.11.6

When I'm doing Find All References I hope I can just stay in the window. Jumping to random places loses me all context I've been working with.
I think Single click -> Show reference in the inline window, Double Click -> Go to the reference in file would be a better approach.
It also wouldn't hurt to add some decoration to the symbol that you are jumping to, and let it fade out after jumping there.

I think Single click -> Show reference in the inline window, Double Click -> Go to the reference in file would be a better approach.

That's how it works for me. A single click (or selection with arrow keys) preview the references in the peek window and a double click (or enter) jump to the reference. @octref Is there more that would allow me to reproduce? Any special single/double click configurations you are running with?

@jrieken
When the references are in the same file as the place where you open "Find All References".
For example, try it on FileStat in this line https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/files/common/explorerViewModel.ts#L21. Click the references under explorerViewModel (not the first few, the ones in the latter part).

Nope

The culprit is VSCodeVim. This behavior is gone when I disable it.
/cc @johnfn @rebornix

@octref I thought I was the only one who ran into this issue. Yes it's VSCodeVim indeed, we had a hard time tracking cursors.

@rebornix Do we have an issue on VSCodeVim tracking it?

not yet, feel free to move this issue there or I can do it later.

Tracking in https://github.com/VSCodeVim/Vim/issues/790


Add Polish language

Hi! If you'd like to join the current polish language implementation, please ask the current maintainers, @jakubdrozdek, @bartlomiejzuber, and @TeoTN to add you as a maintainer!

You can see the current translation effort here: https://github.com/reactjs/pl.reactjs.org/issues/1

@tesseralis I'm unable to add @cvqprs as a Maintainer, because he/she is not a member of the Polish reactjs.org team. I can only add people as regular members, e.g. with 'Write' access only. Is that what you meant?

@jakubdrozdek I added them! In the future, you need to go to the Polish team -> Members -> Add a team member, and it will invite the to join the reactjs.org organization.

Maybe I'm doing something totally wrong, but... I can't invite people to the team unless they are members of the organization:

Huh... I'll look into it

Oh I see, it seems only owners of reactjs.org can invite people. I'll figure out some way to make this process easier. :)

Great! I wouldn't want to bother you every time a new member appears :-) I think other translation teams think the same.

Haha, I'll probably automate it just like I automated creating all the repos :)


Ro in use expanded

improved and extended the descriptions of RO-Crate in use, mentioned it is also being used for Data, and linked to from the front page

Thanks Stuart. I've updated the LifeMonitor spelling to the single-word version we're using now.

Will merge for now - @ptsefton can edit afterwards.


Struct alignment rule not applying

Describe the bug
As title says, the below is not being flagged for alignment issue.
Erroneous code
typedef struct s_list
{
	t_node			*head;
	t_node			*tail;
	t_node			*cur;
}t_list;

To add to this, tabs between struct and the s_name are not allowed which can/will cause a cascading alignment issue with the overall t_name
python3 --version : 3.9.2
macOS Catalina: 10.15.7

Hello,
Thank you for your issue.
There are a few things here:

tabs between struct and the s_name are not allowed: This is intended, since the type is struct s_list and adding tabs would create inconsistency.
The indent seems fine here. Besides the }t_list; which could be better, there is no error. Each variable is aligned in its scope (so variable declared within the struct are not expected to be aligned with the struct itself).
Which line is creating the error according to you?
I will check the pdf to make sure everything is properly explained as it changes a bit from what was expected in the previous norminette.


python310Packages.pyramid_jinja2: disable failing tests

Description of changes
Fix build (https://hydra.nixos.org/build/178211193)
ZHF: #172160

switch to pytestCheckHook
disable on older Python releases

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 175525 run on x86_64-linux 1

4 packages built:

python310Packages.cypherpunkpay
python310Packages.pyramid_jinja2
python39Packages.cypherpunkpay
python39Packages.pyramid_jinja2


When will the next version be released?

Hi there! I'm wondering when the next planned version release is? The last release version was in October, and the latest transformers version (currently 4.16.2) has fixes for some models that would be useful to have in adapter-transformers as well.

Gentle bump cc @calpt :)

Hey @cody-moveworks,
thanks for the request! We are heavily in the works of releasing a new version within the next 2-3 weeks!
We have some sweet new treats in the pipeline which we want to include as well and are currently testing their performance!

Awesome! Thank you for the update @JoPfeiff! Looking forward to the next release :)

Closing, as v3 with upgrade to latest Transformers version is now released :)


how to delete this?need help

1FtZwEZKknoquUb6DyQHFZ6g6oomXJYEcb,257219114.44438908,740429
1AQthEXNcQWSfGkUiNAUi6Jj4NYuYLcqdw,5477.777777777777,572839
14frN8WdboAvn29bgED9K5zsCTYThRtzDK,7170.222222222223,586780

Highlight the text you want to delete and then press the DEL key.

and I ran 'python convert2ripemd160.py /home/USER/addresses_with_balance.csv ' and no file was generated, is this normal?

I'm sorry, I've never studied programming at all.


Rule 34 paheal shows no result, but I can still see the tags on the side. It's not an IP ban- I already tried multiple VPN locations.

I can't search anything on R34 Paheal, there aren't any results shown. I can open the site on chrome fine, grabber just can't fetch the pics.
Log Here:
[22:45:52.114][Warning] Javascript model not found for Sankaku
[22:45:52.161][Info] Temp directory purged of 0/0 files (0 failed)
[22:45:52.482][Info] New session started.
[22:45:52.483][Info] Software version: 7.3.2.
[22:45:52.483][Info] Software CPU architecture: x64.
[22:45:52.483][Info] Computer CPU architecture: x86_64.
[22:45:52.483][Info] Qt CPU architecture: x86_64.
[22:45:52.483][Info] Computer platform: Windows 10 (10.0).
[22:45:52.483][Info] Path: C:/Program Files/Grabber
[22:45:52.484][Info] Loading preferences from C:/Users/chesw/AppData/Local/Bionus/Grabber/settings.ini
[22:45:52.485][Info] Temporary path: C:/Users/chesw/AppData/Local/Temp\Grabber
[22:45:52.491][Info] SSL libraries: OpenSSL 1.1.1d 10 Sep 2019
[22:45:52.501][Info] Setting language to 'English' (C:\Program Files\Grabber\languages\English.qm)...
[22:45:52.502][Info] 20 sources found: anime-pictures.net (Anime pictures), api.twitter.com (Twitter), behoimi.org (Danbooru), danbooru.donmai.us (Danbooru (2.0)), derpibooru.org (Philomena), e-hentai.org (E-Hentai), e621.net (E621), exhentai.org (E-Hentai), gelbooru.com (Gelbooru (0.2)), hijiribe.donmai.us (Danbooru (2.0)), konachan.com (Moebooru), nhentai.net (NHentai), rule34.paheal.net (Shimmie), rule34.xxx (Gelbooru (0.2)), safebooru.org (Gelbooru (0.2)), sonohara.donmai.us (Danbooru (2.0)), tentaclerape.net (Shimmie), www.pixiv.net (Pixiv), www.zerochan.net (Zerochan), yande.re (Moebooru)
[22:45:52.546][Info] Updating checkboxes.
[22:45:52.548][Info] [rule34.paheal.net] Logging in...
[22:45:53.495][Info] [rule34.paheal.net] Login finished: failure.
[22:45:53.499][Info] Updating checkboxes.
[22:45:53.508][Info] Monitoring starting
[22:45:53.512][Info] Monitoring tick
[22:45:53.513][Info] Next monitoring will be in 84024 seconds
[22:45:56.267][Info] Loading results...
[22:45:56.268][Info] [rule34.paheal.net][Html] Loading page http://rule34.paheal.net/post/list/1
[22:45:56.624][Info] [rule34.paheal.net][Html] Receiving page http://rule34.paheal.net/post/list/1
[22:45:56.626][Info] [rule34.paheal.net][Html] Parsed page http://rule34.paheal.net/post/list/1: 0 images (0), 10 tags (10), -1 total (10000), 500 pages (500)

Closing as duplicate of issue #2155.


Add more domains to the domain-list

Moarr domains to the list.

Does adding the full link also ban the main domain? If not, should I amend the list to just be the root domain name instead?

Hi! Please only provide the root domain. so susURL.com not https://susURL.com/someTrail?xyz, thankyou

I see your last update added some of the domains from the list. I have updated my PR to include the only domain thats not included.


Another time-specific race condition that could fail

Spotted here: https://travis-ci.org/brutasse/graphite-api/jobs/147875331

Thanks!


Trim spaces from hostnames and parse host file with spaces / comments

Made two changes:

Trim spaces from hostname field.
Modified ReadHostsFromFile() so it will ignore empty lines and lines that start with anything that isn't a letter or number. Allows for comments and a more human readable file to used.

Example hosts file:
# Domain Controllers
DC01
DC02

# file servers
FS01
FS02

I like it.  Merging in.


Update code example for pre-existing network

Proposed changes

"network default: network.external.name is deprecated in favor of network.name"

Update the code example to match the new syntax.
Related issues (optional)
Fixes https://github.com/docker/docker.github.io/issues/14683

@dockertopia Thank you for your review. I don't see any reasoning why https://github.com/docker/docker.github.io/pull/13958 was made. It appears to be incorrect for me. My suggested change was previously applied here: https://github.com/docker/docker.github.io/pull/6124
Please see the related comment: https://github.com/docker/compose-cli/issues/1856#issuecomment-1108552064

Hmm.. yes, https://github.com/docker/docker.github.io/pull/13958 looks a bit odd indeed; I think the name field was added in compose schema 2.3  and 3.5 (through this PR: https://github.com/docker/compose/pull/5448)

Hello @grappler
This change isn't compliant with the compose specification
@dockertopia we should update the network documentation page, especially the pre-existing network section

@grappler Thanks for catching this one


Improve error report and enable pipeline args

Inspect manifest fails for https://raw.githubusercontent.com/CERTCC/VINCE/2bed565cc8a73dd920a6c8ed0b58ac221e4b3119/requirements.txt because it requires an insecure evaluation.
The error returned in the pipeline log is truncated and ends with:
...
  File "/usr/local/lib/python3.9/site-packages/python_inspector/resolution.py", line 304, in get_requirements_from_python_manifest
    raise Exception(

but running python-inspector locally yields:
    raise Exception(
Exception: Unable to collect setup.py dependencies securely: .cache/python_inspector/extracted_sdists/M2Crypto-0.36.0/M2Crypto-0.36.0/setup.py

which is actionable.
We need full traceback

Hey @pombredanne can you explain about this issue briefly.


Update mac-install.md

Proposed changes
Adding --user flag documentation to Mac install page, in preparation for 4.11 release.

Hi @christophermclellan thanks for the PR. I was just in the process of adding this to my PR that adds all the doc changes that are needed for 4.11 (https://github.com/docker/docker.github.io/pull/15200). I'm going to close your PR so there are no merging issues.


Access Bootloader Text toggle

In the bootloader, there is a configurable toggle for Text scrolling upon mode selection on stock firmware. Is there any way to get or set its value from the open-source firmware?

No, sorry - the bootloader is completely separate from the open firmware and can't be modified.

Not asking for modifying the bootloader, just a means to access the value of the one configuration boolean on the right side in the bootloader.

Oh, sorry, reading comprehension fail!
In principle this is doable, it's just an area of flash. In practice, we chose not to expose writes to the whole of flash memory, to avoid overwriting bits of program, other settings etc.
We could expose this as a feature, so I'll tag this issue as an improvement, but it's unlikely that we'll get to it any time soon. What's your use case?

In particular, I'm recreating the stock firmware's functionality in full, it would be a nice touch to get the scrolling text toggle back. But, it could be used for countless other things, for example enabling debug logging over SysEx.

Implemented, along with an option to read the bootloader USB device ID.


Fixed window size

closes https://github.com/paritytech/fether/issues/275
closes https://github.com/paritytech/fether/issues/366
Todo:

[x] Tweak Tx signature screen to avoid scroll bar
[x] Tweak Signer scanner to avoid scroll bar
[x] Remove comments
[x] Test on other platforms

Issues on Windows:

[x] window is 446px on windows (instead of 515px) - was because of the frame.
[x] On Windows, Fether window is getting re-sized automatically (shrunk) when hidding/showing it! (handled in a separate PR)

On Windows, fether window is getting re-sized automatically (shrunk) when hidding/showing it!

Maybe @ltfschoen can help me on that, I figured it also happens on master. To reproduce:

click several times on the taskbar icon, so that is shows and hide Fether. Notice how the windows shrinks. I

On Windows, fether window is getting re-sized automatically (shrunk) when hidding/showing it!

Maybe @ltfschoen can help me on that, I figured it also happens on master. To reproduce:

click several times on the taskbar icon, so that is shows and hide Fether. Notice how the windows shrinks.

Yes, that's because at the moment we're showing a "frame" on Windows OS and the user click press ALT to toggle showing or hiding the menu. But when the menu appeared it was cropping the "Feedback" button, so we tried to reduce the height of the Fether window when the Fether menu was shown, and increase the height of the Fether window when the Fether menu was hidden again. We did that change to fether-electron/src/main/app/messages/index.js in this commit

Tested on Windows and Linux, it should be good to go.
Can you give it a shot on Mac @ltfschoen and tell me if there's anything broken or with a scroll bar?
Here's how it's supposed to look like:

Note that the import screen (with JSON, recovery phrase and Parity Signer) has a scrollbar, it's not perfect but should be solved with https://github.com/paritytech/fether/issues/389.

The PR https://github.com/paritytech/fether/pull/427 broke my changes as the overlay applies to the whole app. (it adds the modal, hence a <div class="alert-wrapper" everywhere).
I need to refactor it in another PR.

was fixed easiely by simply removing this div class="alert-wrapper" Thanks @axelchalon :)


Bug in template versioning when a uni customises it

Multiple different unis can add annotations when customising a funder template, but when one does, it displays the warning that the funder template has been updated to others... It hasn't thought. It's just another uni doing a customisation. There seems to be an error in the funder template versioning as a different organisation customising it is creating a new template version. The two entities should be separate.

I added example answers to the Sloan template for UCSD and American Uni
@briri confirmed that "If multiple Unis customize a funder template it should create individual template versions for them so that adding things like annotations or new sections to one customized template should not affect this status message of related customized templates. Only changes to the base funder template should cause this status message to change."

appears to be fixed by template refactoring. closing.

Working well now. Versioning of customisations and versioning of funder templates are separate.


References & Similar Projects

https://github.com/EOSIO/eosio-project-boilerplate-simple/
https://github.com/MonsterEOS/monstereos

https://github.com/EOSArgentina/eosdev


results from nerfacto/instant-ngp-bounded on blender data are bad

This is sample image from blender data:

output using instant-ngp -bounded:
ns-train instant-ngp-bounded --data /HPS/ColorNeRF/work/nerfstudio/data/nerfstudio/perl_toaster --experiment-name=perl_toaster --vis wandb --pipeline.model.background-color white --pipeline.model.near-plane 2. --pipeline.model.far-plane 6. --pipeline.datamanager.camera-optimizer.mode off  --pipeline.model.disable-scene-contraction True blender-data

output using nerfacto:
ns-train nerfacto --data /HPS/ColorNeRF/work/nerfstudio/data/nerfstudio/perl_toaster --experiment-name=perl_toaster --vis tensorboard --pipeline.model.background-color white --pipeline.model.proposal-initial-sampler uniform --pipeline.model.near-plane 2. --pipeline.model.far-plane 6. --pipeline.datamanager.camera-optimizer.mode off --pipeline.model.use-average-appearance-embedding False --pipeline.model.distortion-loss-mult 0 --pipeline.model.disable-scene-contraction True blender-data

Why is the rendered output has white noise in nerfacto and in both cases material does not look like as shiny as in the input data? The model does not learn the shadows reflected from material which is visible in input data? Also color reproduction is not good.
Are these limitations of these models? And if yes, what are these limitations?

Scenes with strong reflections do not perform well using nerfacto or intant-ngp. Currently none of the provided nerfstudio methods perform well in this domain.

@tancik With mipnerf the scene learned is decent than nerfacto or intant-ngp, why is that? I also remember reading nerfacto uses techniques from mipnerf?

Do you know any external model/method which learns scene with strong reflections, Pearlescent/Iridescent material, structural colors? I will appreciate any guide in this regard.


Release 0.28.0

There are still a couple of PRs in the pipeline but most of the changelog can be written.
Reviews are welcome.
Preview at https://github.com/bcardiff/crystal/blob/changelog/0.28.0/CHANGELOG.md

Thanks for the curation. I updated them and include the changes for the pending PR in the queue just in case.


Tooltip not working (v4)

Tooltip not working in Firefox last version. In alpha-docs (http://v4-alpha.getbootstrap.com/components/tooltips/#interactive-demo) too.

Duplicate of #17097. Please search more in the future.


Update AppVeyor, Coveralls and Codacy badges

Changes Unknown when pulling 5fca51a814c801ab69bd3e0b5c1b98e3a3eb2116 on eldriclim:readme into ** on CS2103AUG2017-W09-B3:master**.

Changes Unknown when pulling b63033ceecf988074acf3b33e194627ff5c859bb on eldriclim:readme into ** on CS2103AUG2017-W09-B3:master**.


feat: remove useless code

Description

Issues Resolved

Screenshot

Testing the changes

Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[ ] Commits are signed per the DCO using --signoff

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

Project coverage is 62.09%. Comparing base (e3ce2e2) to head (50cde3a).

Additional details and impacted files
@@                   Coverage Diff                   @@
##           workspace-pr-integr     #311      +/-   ##
=======================================================
- Coverage                67.05%   62.09%   -4.96%
=======================================================
  Files                     3345     2043    -1302
  Lines                    65035    39611   -25424
  Branches                 10502     7224    -3278
=======================================================
- Hits                     43606    24596   -19010
+ Misses                   18849    13426    -5423
+ Partials                  2580     1589     -991

Flag
Coverage Δ

_1
?

_2
55.34% <ø> (-0.02%)
:arrow_down:

_3
43.49% <ø> (+0.01%)
:arrow_up:

_4
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Make create a project dark mode correct text color

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2410   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: FjnKiWW0YdfBRPMyJxnQ


⚠ Auth has degraded performance

In 1c35008, Auth (https://auth.k2lin.com) experienced degraded performance:

HTTP code: 200
Response time: 6019 ms

Resolved: Auth performance has improved in 727f6cf.


Correction for raw affiliation Department of Cardiology, University of Rennes, CHU Rennes, Inserm, LTSI - UMR 1099, Rennes, France

Correction needed for raw affiliation Department of Cardiology, University of Rennes, CHU Rennes, Inserm, LTSI - UMR 1099, Rennes, France
raw_affiliation_name: Department of Cardiology, University of Rennes, CHU Rennes, Inserm, LTSI - UMR 1099, Rennes, France
new_rors: 02vjkv261;015m7wh34;05qec5a53;01f1amm71
previous_rors: 02vjkv261;015m7wh34;05qec5a53
works_examples: W4387581232
contact: 8a40866ffc8e1c79030db80a992bb56c:3e4e777a814b90ffc090e3e43b17566d @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Compiling error with the github HEAD

The error report is:
[ 90%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o
/path/to/bam/bamtools/src/toolkit/bamtools_resolve.cpp:801:22: error: use of undeclared identifier 'BAMTOOLS_VERSION_PATCH'
                  << BAMTOOLS_VERSION_PATCH;
                     ^
1 error generated.
make[2]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o] Error 1
make[1]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/all] Error 2
make: *** [all] Error 2

I am compiling bamtools on mac os x 10.11, with clang-8<IP_ADDRESS> and cmake-3.7.0.

You are right. I thought delete the whole "build" directory would automatically reset the build status. This seems not the case with cmake. I can compile now with a clean clone.
Sorry for bothering.


Updated validations.py python script

Updated the calisations.oy python script
Fixed behavior of validate_user function in validations.py
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Updated the scripts by fixing the issue of validate-user function


Audio stopped working on the host system

Hello @pvizeli
After the latest release #9 audio on my host system stopped working. Looks like hassio audio locked it...
Wben I run aplay I see this error:
aplay: main:828: audio open error: Device or resource busy
So I had to rollback to the version 8:
ha audio update --version 8
and it works again

Ohh.... it's upgraded back to 9 automatically =(

Okay, that will be the way to go. If someone read this and will contribute to the project, he can implement follow scenario:

Add options to the Supervisor audio part disable audio claim
Write the options to the audio container like add-on on start
Pick this options on s6 init and modify the pulse files

is there a quck way to disable this? How to downgrade to an usable version?

where to find the ha binary? It's not present in any of the containers...

a temporary fix:
service hassio-supervisor stop
docker stop hassio_audio
Afte this, homeassistant stops working for about 3 minutes then it comes back and is usable.

Well, you can just load manual load the IDLE module for PulseAudio... just use google for the commands on PulseAudio

@pvizeli I'm running into this issue on Ubuntu 18.04.  I looked into loading module-suspend-on-idle for pulseaudio, but my /etc/pulse/default.pa file already has it loaded.  Is there somewhere else I should be looking?

@pvizeli What was the reasoning for https://github.com/home-assistant/audio/pull/11?  This has hosed two machines I'm running both home-assistant and mythtv on since the audio no longer works in mythtv.

@pvizeli
I also don't understand what you mean by this. I think you mean I should configure pulse audio in the hassio_audio container, but if I do so using docker run changes will not be persistent.
Is there anything I can change in /usr/share/hassio/audio to make hassio_audio not steal my host pc audio, as I currently don't want to have hassio_audio. This might change in the future, but as of right now, this is not sufficient for my use case. The only way that quickly worked is what @dimovnike mentioned. But turning off hassio_supervisor and hassio_audio is probably a bit much.

How do I permanently disable hassio_audio from running?   It breaks pulse audio on the host system.
journalctl --since "1 day ago" | grep pulseaudio shows messages like these:
Mar 11 22:58:43 hades pulseaudio[1840]: [alsa-sink-ALC700 Analog] alsa-sink.c: Error opening PCM device front:0: Device or resource busy
Mar 11 22:58:43 hades pulseaudio[1840]: [alsa-sink-ALC700 Analog] alsa-sink.c: Error opening PCM device front:0: Device or resource busy
Mar 11 22:59:20 hades pulseaudio[1840]: [alsa-sink-ALC700 Analog] alsa-sink.c: Error opening PCM device front:0: Device or resource busy
Mar 11 22:59:27 hades pulseaudio[1840]: [alsa-sink-ALC700 Analog] alsa-sink.c: Error opening PCM device front:0: Device or resource busy
Mar 11 22:59:27 hades pulseaudio[1840]: [pulseaudio] sink-input.c: Failed to create sink input: sink is suspended.

Rebooting the host I can get audio back for a few minutes before these messages begin appearing again.

You need to use the pactl tool over the Terminal add-on to load the IDLE module if you need this.
The Supervisor is designed to get full control over your to host and everything is running as an add-on. If you use it differently, it ends up with such issues and they can get more in the future. You should maybe look into the OVA (OpenVirtualAppliance) or just use the Core installation.

I'm running HA on a x86 pc, that I also use as desktop and for various other things. I know that hassio is primarily run on raspberrys. Given that more of this will happen in the future, it might be a good time to switch to a virtual machine to host the hassio instance. I'm a bit worried about mapping all the USB devices, as I have about 20 of them or so, but it might eventually work.

That is the out of the box handling with supervisor, host -> supervisor -> add-ons. However, you can manage the PulseAudio instance by your self and tweak what do you want.
The Project have just 1 developer and that is me. If someone will jump into and maintain the generic installer with all issues and use case to make sure it work like you need, welcome to the team. But the size of the project and that is all maintain by just 1 person make that we need us to focus back to the roots. Home Assistant is a full manage system with allow to run the Supervisor on Debian/Ubuntu however, the nature of the Supervisor is the same.

The Project have just 1 developer and that is me

You don't  need to justify anything to me. I'm very happy for your work. :)
Putting hassio in a dedicated VM should be fine as well or am I wrong? This would also be future proof, has hassio can do in the VM what ever it likes. Plz correct me if I'm wrong as I would like to give that a try soon.

Per @pvizeli's clue, I believe these are the steps to get hassio audio to release audio back to the host:

Select Supervisor tab from the sidebar
Install the Terminal & SSH add-on from the supervisor, start it, add it to the sidebar
Select the Terminal tab from the sidebar
At the prompt type pactl load-module module-suspend-on-idle

This should release the ALSA sink back to pulse audio on the host until the next hassio_addon container restart.

@pvizeli I would still like to know the reasoning for #11 as it seems to be causing more issues than it's solving.

why is not module-suspend-on-idle loaded on default? Is there a reason for it? Or there are other addons that actually use pulse audio?

However, you can manage the PulseAudio instance by your self and tweak what do you want.
This is only somewhat true, since a reboot of the host will reset things to default.  Is there a way to persist my changes?  I would prefer to stick with using the supervisor since there seems to be very little documentation for just installing and using Core in my brief searching.

I have the same problem, on my host system there is no sound and microphone. I'm not using any of audio steam/pass options in homeassistant, so I can live without it.
It's not working in my case:
pactl load-module module-suspend-on-idle
For my the best solution would be to turn off hassio_audio container from run by supervisor. Is there any option to do that?

I’m in the same situation as the others - I run home-assistant through hass.io on a multipurpose x86 computer and suddenly lost sound on the host - it took a while to diagnose if I’m honest. I understand the intention of this container/project and will probably just build out a docker compose of all the things the hass.io install does (e.g. all the add-ons I use) currently but that’s a bigger project...
What worked for me (at least so far) was to stop and remove the audio container, as it looks like the supervisor gets a bit confused when it expects an image to be available locally and it isn’t.
# as root or prefixed with sudo:
docker stop hassio_audio
docker image rm -f homeassistant/amd64-hassio-audio:9

Super hacky but I couldn’t work out a way to tell the supervisor not to start the audio container, or a way to persist which pulse/alsa modules are loaded.

@fourseven
Thank you, I removed hassio_audio image.

Maybe if we can tag a dummy container as "homeassistant/amd64-hassio-audio:9" we can get around it that way.

@deftdawg Yes, after second reboot hassio_audio came back.
Maybe with a script or service on boot, something like:
sleep ...
hassio_audio = sudo docker ps | grep hassio_audio
if hassio_audio
docker stop hassio_audio
docker image rm -f homeassistant/amd64-hassio-audio:9
sudo reboot

@deftdawg so:
docker pull homeassistant/amd64-hassio-audio:8
docker image tag homeassistant/amd64-hassio-audio:8 homeassistant/amd64-hassio-audio:9

😂

Can we get a setting added so the host retains control over the audio?
I would prefer to keep using the supervisor as using the addon store is WAY more convenient than spinning up the docker containers yourself.
If there is a way to play audio files and do TTS directly from Home Assistant without needing access to the host system or Chromecast/Alexa I'm all ears.

@deftdawg so:
docker pull homeassistant/amd64-hassio-audio:8
docker image tag homeassistant/amd64-hassio-audio:8 homeassistant/amd64-hassio-audio:9

😂

I tried that and it worked fine through a few test restarts but this morning at 8AM it pulled the new version again...

Can we get a setting added so the host retains control over the audio?
I would prefer to keep using the supervisor as using the addon store is WAY more convenient than spinning up the docker containers yourself.
If there is a way to play audio files and do TTS directly from Home Assistant without needing access to the host system or Chromecast/Alexa I'm all ears.

That would be perfect. Maybe expose the pulse server back to host?

I developed a small add-on for hass.io that automatically fixes this problem (it executes the pactl load-module module-suspend-on-idle command) every time the container is restarted with the home assistant.
Link

Thanks @OPHoperHPO!!  I still want to know why the module can't be loaded by default...

I developed a small add-on for hass.io that automatically fixes this problem (it executes the pactl load-module module-suspend-on-idle command) every time the container with the home assistant is restarted.
Link

Can you explain to me how to do the installation? I tried it through Hacs, but when I try to add as a custom repository an error appears.

I don't recognize that screen at all.  What version of HA/supervisor are you running?

I'm sorry, I found it.

I developed a small add-on for hass.io that automatically fixes this problem (it executes the pactl load-module module-suspend-on-idle command) every time the container with the home assistant is restarted.
Link

Thanks for this!!
Struggling with this issue as well..

I don't recognize that screen at all.
It was HACS screen, everyone knows this )

Thank you so much, I’ve been looking for a solution to this problem for a long time.

What I did:
Edit /etc/pulse/default.pa
sudo nano /etc/pulse/default.pa
Comment line where module-suspend-on-idle is loaded:
#load-module module-suspend-on-idle
Force load at boot of HDMI sink (is what I need)
load-module module-alsa-sink device=hw:0,3
After rebooting HDMI can be selected in Settings-Sound so I have to change Dummy Sound and select HDMI. Also I have to select HDMI Configuration for Output 5.1 for make it work,
Even if hassio_audio is running Audio is connected to HDMI. If you experience problems in startup I think stopping hassio_audio just once make HDMI work until next reboot at least.
Regards.

I developed a small add-on for hass.io that automatically fixes this problem (it executes the pactl load-module module-suspend-on-idle command) every time the container with the home assistant is restarted.
Link

Thanks so much for this @OPHoperHPO ! I had been troubleshooting for hours before i figured out that it was caused by the audio container - your add on fixed the problem and saved me a huge headache

Please make the hassio_audio service optional and [OFF] by default, as it causes unexpected changes to the host system (unexplained loss of audio playback).
Please add warning about potentially losing audio from the system if this service is enabled.
Please change docker restart policy for this container form 'always' to 'unless stopped'
This is very annoying and wasted a lot of time when people have to troubleshoot sudden problem with no audio in their system.

I also would appreciate the hassio_audio service to be optional,
even though I run on odroid (which is supported) this creates trouble with permissions.
Even though I don't even need audio on this host and HA, it loop creates the container,
crashes it and restarts again.
Not ideal for any SD card.

Is use case for host audio via hassio_audio more edge case than running hassio in a non-dedicated Docker host?
I'm not arguing that most users probably deploy to a dedicated host like an RPi, but rather what proportion of users actually plug a speaker into the audio jack (or make use of sound over HDMI without running a desktop) and make use of it?
Is there an integration or scenario where it's commonly used?  I'm genuinely curious.

I think it's used for voice commands ("Hassio, set my se* dungeon lights to blood red!").
But If I have audio output from RPI, I'd use it for movies/youtube/spotify rather than voice commands. But I suppose it's the opposite for other people.

In case this helps someone else - I spent all day trying to figure this out and have found success in changing
; autospawn = yes
to
; autospawn = no
In the following file: /etc/pulse/client.conf
Hassio is running through Docker on Ubuntu 20.04

i've been without audio for 3 months because i couldn't debug the problem and i didn't know it was the fault of this shitty container!!!!!! why take system audio???? docker is supposed to exist to separate things from system not to break the system. holy F!!!

@felixsanz Home Assistant is not just a Docker container. If you would like the more isolated approach on a pure containerized system, please use Home Assistant Core, which is available as just a Docker image.
Furthermore, please note, we have a Code of Conduct. There is no need to use those last words in your comments. Thanks 👍

@frenck There's a lot of frustration in this thread because no one has answered the question of why the audio container takes over the host audio.  It's been asked multiple times, and the pull request which made the change doesn't say why it was needed either.  Can someone answer this?

Home Assistant is designed as an appliance, it assumes it has the whole system to its own. If you want full control, use Home Assistant Core.

@frenck I understand that, but what was broken before that caused the need to remove the suspend-on-idle module in #11?

Popping sound when the audio channel was used on some single-board systems.

Popping on the input side messing up captures?  Or popping on output during playback?

Playback for sure, haven't tested the input myself.
However, it is not relevant, as this has been solved.

Home Assistant is designed as an appliance, it assumes it has the whole system to its own. If you want full control, use Home Assistant Core.

who assumes that? you?

The project does, @felixsanz. I sense a lot of frustration on your end, and not sure why that comment was personal towards me. I found it a bit offending, to be honest.
Again, if you like to use your system for multiple things, please use Home Assistant Core, or use a Hypervisor to isolate.

It seems like the best course of action is to put some warnings on the project page or in the documentation and then close this as "Won't Fix", as the scenario where it occurs is usage that is "out of spec".

The documentation and clear project scopes is something that definitely needs addressing, as has been mentioned in this blog post:
https://www.home-assistant.io/blog/2020/05/09/deprecating-home-assistant-supervised-on-generic-linux/
Currently, I'm working on a full spec together with some others. Once that has been done and approved it will be published.

The project does, @felixsanz. I sense a lot of frustration on your end, and not sure why that comment was personal towards me. I found it a bit offending, to be honest (most likely to caused by your previous choice of words, so that might be wrong interpreted from my end now).
Again, if you like to use your system for multiple things, please use Home Assistant Core, or use a Hypervisor to isolate.

obviously, i've been without sound on my main PC for 3 months and i've wasted more than 30 hours trying to debug everything, including downgrades of several packages like udev, kernels, etc. because i did not know that this container was messing up my system of out docker, of course that i'm mad and frustrated. this should be advised somewhere. you can't take system audio and don't even mention it on the website

docker is ISOLATION. you want us to respect the philosophy of HA, but you don't respect the one from docker? a container is a container. i've never seen ship containers driving the ship to the nearest iceberg

I think you are mixing up 2 different things here @felixsanz. If you want to run Home Assistant on Docker, we provide Docker images: Home Assistant Core.
The solution you are using is an appliance that leverages Docker, but is not bound by it. It is just one of the pieces the appliance uses. For example, it communicates and manages the host system as well, via D-Bus.

@felixsanz install this addon.  It resolves it.
https://github.com/OPHoperHPO/hassio-addons

I respect the Supervised way of HA and the calm reactions from @frenck but cannot find a reason that this container should be running all the time on every system,
a option to make audio takeover optionally happen - and stop spinning up this container would be very appreciated especially since (I think) the majority doesn't even use audio output on SBCs.
Thanks

It provides a dummy audio output in those cases, to ensure an audio device can be expected.

well well, after 3 weeks trying to solve problem with QNAP I've found this. It really should be optional to run hassio_audio container.

Please correct me if I'm wrong but incase there is no audio output device available -
shouldn't /dev/null suffice as audio dummy output? No need for a extra dummy container

@felixsanz install this addon. It resolves it.
https://github.com/OPHoperHPO/hassio-addons

I tried installing your addon through Home Assistant and it failed. I couldn't find the logs that said why, but I was following my guide here: https://community.matrix.one/t/home-assistant-zigbee-integration-with-matrix-creator/3003

@felixsanz install this addon. It resolves it.
https://github.com/OPHoperHPO/hassio-addons

I tried installing your addon through Home Assistant and it failed. I couldn't find the logs that said why, but I was following my guide here: https://community.matrix.one/t/home-assistant-zigbee-integration-with-matrix-creator/3003
I updated the add-on to version 3.1, try updating the information about the add-ons and installing it again.

ADR-0014: Installation method: Home Assistant Supervised
Has been finalized, approved and instated. It defines what is supported and what not, in this case, for running Home Assistant Supervised.
https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md
More about what a supported installation method is:
https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md
ADR-0014 states:

The operating system is dedicated to running Home Assistant Supervised.
No additional software, outside of the Home Assistant ecosystem, is installed.

This means this issue describes a use case that is not supported. Nevertheless, we are open for contributions that improve compatibility with a community-supported method like described in ADR-0012.
Closing this issue as a result of the above.

I wasted way too much time on this, thanks for reporting this bug. It's still beyond me how a Docker container breaking the audio of the host is considered normal behavior, but the fix addon from @OPHoperHPO is working nicely.

looks like @OPHoperHPO fix stopped working... byt @Daenara trick (with tagging) is working.

OPHoperHPO apparently fixed its addon and it's fine on my side at least (I can see that the module is loaded in logs).

looks like @OPHoperHPO fix stopped working... but @Daenara trick (with tagging) is working.

Open a new problem in the repository with the addon by attaching the addon's log there, also write the version of the addon that you use on your system, the hassio version and the hassio_audio container version.

@OPHoperHPO fix is not working for me and I have raised an issue in the repository  covering same.
@Daenara trick is working for me.

I spoke to soon. HA has pulled another version and now it is back to running pulseaudio and blocking access to other apps.

I was wrong, @OPHoperHPO addon is working ok, I just didn't know it.

Months without audio on linux are finally over.
Thank you @OPHoperHPO

Thank you, thank you, thank you @OPHoperHPO for that addon fix. I have spent the last 4 days testing different pulseaudio configuration in order to resolve this problem. Only to discover that the s6-supervise kept re-starting the pulseaudio in system mode, that takes control over the audio. I only found this article after having read the following: https://askubuntu.com/questions/1279000/how-can-i-disable-pulseaudio-system-mode-and-use-the-normal-systemd-per-user-ser
Which finally gave me the clue that it's HA doing this :s
I must add I don't understand at all why a docker container should grant the sole access over the host audio. Isn't like isolation like the whole part of containerization ? Please make it a setting so other new users like me don't lose 4 days over something trivial as this.
So again, thank you @OPHoperHPO for your fix.

Thank you, thank you, thank you @OPHoperHPO for that addon fix. I have spent the last 4 days testing different pulseaudio configuration in order to resolve this problem. Only to discover that the s6-supervise kept re-starting the pulseaudio in system mode, that takes control over the audio. I only found this article after having read the following: https://askubuntu.com/questions/1279000/how-can-i-disable-pulseaudio-system-mode-and-use-the-normal-systemd-per-user-ser
Which finally gave me the clue that it's HA doing this :s
I must add I don't understand at all why a docker container should grant the sole access over the host audio. Isn't like isolation like the whole part of containerization ? Please make it a setting so other new users like me don't lose 4 days over something trivial as this.
So again, thank you @OPHoperHPO for your fix.

I agree in not understanding the decision.  The only answer that we've been given is that Supervised Home Assistant is designed to be the only thing running on a given machine.  But that doesn't really answer the question of why this specific decision needed to be made.    I'm grateful for the work that they do, but I just don't understand this one at all.

I agree in not understanding the decision.  The only answer that we've been given is that Supervised Home Assistant is designed to be the only thing running on a given machine.  But that doesn't really answer the question of why this specific decision needed to be made.    I'm grateful for the work that they do, but I just don't understand this one at all.

I'm in the process of migrating from OpenHAB. And my docker host is running multiple other containers with 'home automation' services like OpenHABv2, OpenHABv3, zoneminder, snapcast, opentherm gateway, nginx...
But as soon as I start the HA container all other services lose access to audio. No more multi room audio (snapcast), no more OpenHAB where still 90% of my code resides as I'm hesitant to migrate when the audio is this unstable. Etc, etc ...
Dockers philosophy is a sound one. Don't fight it, embrace it. And both communities can
'cross-pollinate' and learn from one another ;)))

I'm in the process of migrating from OpenHAB. And my docker host is running multiple other containers with 'home automation' services like OpenHABv2, OpenHABv3, zoneminder, snapcast, opentherm gateway, nginx...
But as soon as I start the HA container all other services lose access to audio. No more multi room audio (snapcast), no more OpenHAB where still 90% of my code resides as I'm hesitant to migrate when the audio is this unstable. Etc, etc ...
Dockers philosophy is a sound one. Don't fight it, embrace it. And both communities can
'cross-pollinate' and learn from one another ;)))

Thanks for the addon @OPHoperHPO !

hi all, the @OPHoperHPO fix is not working for me. I am running HA on a raspberry os in a docker container
this is a lot frustrating because I have another service on raspberry that is running for audio and the hassio_audio always takes over everything :(

@nikogusm same here :/

After learning way more than I wanted to about PulseAudio I found a simple fix to this issue.
In /etc/pulse/client.conf put
default-server = unix:/usr/share/hassio/audio/external/pulse.sock
The Home Assistant Supervisor starts the pulseaudio server inside the docker container. (This is a very aggressive pulseaudio instance as it always takes over the sound and doesn't let them go. The supervisor is also watching closely to make sure its pulseaudio is always running so it is very difficult to kill.)
The docker container exposes the pulseaudio unix socket from inside the container at /data/external/pulse.sock mounted to /usr/share/hassio/audio/external/pulse.sock. Outside of the container the pulseaudio system does not know where to find the socket provided for by the hassio pulseaudio. I think it was intended to still work automatically, maybe it does on debian, but not on raspbian, at least not mine. (see https://github.com/home-assistant/plugin-audio)

None of the proposed solutions worked for me unfortunately. RPI4 Raspbian and HA in Docker.

After learning way more than I wanted to about PulseAudio I found a simple fix to this issue.
In /etc/pulse/client.conf put
default-server = unix:/usr/share/hassio/audio/external/pulse.sock
The Home Assistant Supervisor starts the pulseaudio server inside the docker container. (This is a very aggressive pulseaudio instance as it always takes over the sound and doesn't let them go. The supervisor is also watching closely to make sure its pulseaudio is always running so it is very difficult to kill.)
The docker container exposes the pulseaudio unix socket from inside the container at /data/external/pulse.sock mounted to /usr/share/hassio/audio/external/pulse.sock. Outside of the container the pulseaudio system does not know where to find the socket provided for by the hassio pulseaudio. I think it was intended to still work automatically, maybe it does on debian, but not on raspbian, at least not mine. (see https://github.com/home-assistant/plugin-audio)

In my installation the volume is mounted in another location
/home/pi/Docker/Hassio/audio | /data
so I changed the settings in client.conf accordingly but the issue is still there.

Damn... Hasn't fixed it.  My audio was broken again until I went in and restarted the the hassio_audio_fix again..
  Does anyone know how to at least force it to use my HDMI sink so it won't interfere with my sound system and headset?

This is what I get :
pi@RPI4:~ $ docker exec -it hassio_audio pactl list short sinks
0	auto_null	module-null-sink.c	s16le 2ch 44100Hz	SUSPENDED

I think I've got a fix finally for this nasty problem that keeps breaking my mic and sound outputs on the host system.
Basically instead of setting the default to hdmi (which turns off regularly), I now load module-null-sink and set the default sink/source in hassio-audio to the null sink/source.
And I've integrated it into this great system service wrapper that monitors the hassio-audio docker container and re-runs it on every restart.  Pretty simple instructions on how to set it up including a systemd service file.
Seems to be working perfectly, and gets HA to stay away from all actual audio devices.  I've put in a pull request to the forked repo, so perhaps use that instead of mine once/if merged.
https://github.com/shanness/HomeAssistant-PulseAudio-Disable
Feedback welcome.

I think I've got a fix finally for this nasty problem that keeps breaking my mic and sound outputs on the host system (nasty problem when mic can't be accessed during meetings or gaming, and have people yelling "Hello" at me as I scramble to fix it). Was almost at the point I was going to give up and delete HA..
Basically instead of setting the default to hdmi (which turns off regularly), I now load module-null-sink and set the default sink/source in hassio-audio to the null sink/source, as well as unloading module-switch-on-connect and module-switch-on-port-available
And I've integrated it into this great system service wrapper that monitors the hassio-audio docker container and re-runs it on every restart. Pretty simple instructions on how to set it up including a systemd service file.
Seems to be working perfectly, and should be immune from breaking from changes to the hassio containers. It's keeping HA to stay away from all actual audio devices. I've put in a pull request to the forked repo, so perhaps use that instead of mine once/if merged.
https://github.com/shanness/HomeAssistant-PulseAudio-Disable
Feedback welcome, hope this solves it for others. It might be worth unloading the suspend module before loading it like the addon does (I assume to make it suspend them all immediately). I'll keep an eye on my logging to see if it's needed, and post here if I update the script.

I tried setting things up with systemd but it is not working automatically, once the system boots up. I am getting "Connection refused" failure, but restarting the service manually works. I think this loop function is not looping or get stuck in the early stage after reboot. I have NUC and MX Linux.

Now it looks like it is not working at all. Running manually "module-suspend-on-idle" command is returning number 16 but still no sound at all. Any help?

Ok, I am moving forward.
As I have bluetooth device connected to my host, I had to disable bluetooth in hassio_audio container by adding following line to Shanness script.
docker exec -i hassio_audio pactl unload-module module-bluetooth-discover
I also autostart Kodi on my system and had to start service once Kodi is up and running.
sudo systemctl start pa-suspend
Not sure why script doesn't work if executed before Kodi starts.

I measured a power saving of 1W+ on my basement mini computer which runs a minimal Linux installation dedicated to HA. Using powertop I noticed hundreds of events/s from pulseaudio, which is not even installed on the host.
This did it for me, an interpolation of comments above:
docker exec -it hassio_audio pactl load-module module-suspend-on-idle

I tried setting things up with systemd but it is not working automatically, once the system boots up. I am getting "Connection refused" failure, but restarting the service manually works. I think this loop function is not looping or get stuck in the early stage after reboot. I have NUC and MX Linux.

Ahh, thanks for pointing that out.  I hadn't rebooted when I tried it.  I've fixed it now I think.  Put a sleep in after killing pulse in the docker container.  The problem was pulse hadn't restarted when my additions were run.
I was having the same problem too, but hadn't got around to debugging it.  Seems fixed now for me @alanmilinovic

I tried setting things up with systemd but it is not working automatically, once the system boots up. I am getting "Connection refused" failure, but restarting the service manually works. I think this loop function is not looping or get stuck in the early stage after reboot. I have NUC and MX Linux.

Ahh, thanks for pointing that out. I hadn't rebooted when I tried it. I've fixed it now I think. Put a sleep in after killing pulse in the docker container. The problem was pulse hadn't restarted when my additions were run.
I was having the same problem too, but hadn't got around to debugging it. Seems fixed now for me @alanmilinovic

Just tested but the result is same in my case. As soon as Kodi starts it break the audio so I put sleep for 10 seconds to let Kodi initialize and then I restart the pa-suspend service.

@alanmilinovic Thanks to e-mail notification, I came back here just in time to take the bluetooth commands. Thx a lot guys. Though it's amazing what an endless timesink this has been but the HA teams is still not willing to put in a switch for everyone interested...

Just tested and it is working now great, thank you.

Great!  good to hear.  It's been a nightmare for me until I figured out the null sink/source could be used! I'm actually moving to putting hassio on a VM (found a HP Proliant ML350 G6 in my apartments recycling :).

What I would also add to your code is disabling bluetooth module in container, others had also issue with bluetooth. If you agree I can create a pull request?

  I'd suggest putting a config option for it at the top to control if it gets used like I did.  Then I'll merge it and it will become part of my pull request.

Here's a nice workaround for anyone who's interested. If in the host system you are using only alsa, you can instruct HA's pulse to ignore a certain card via udev. Just create a file /etc/udev/rules.d/89-pulseaudio.rules with the following content:
DRIVERS=="bcm2835_audio", ENV{PULSE_IGNORE}="1"

If needed, replace "bcm2835_audio" with the driver of your card, you can find it with
udevadm info -a -p `udevadm info -q path -n /dev/snd/controlC0`

(or Control1, etc).
This workaround doesn't involver any changes in HA, so it should persist updates. HA's pulse will run happily with any remaining cards in the system (or no card at all), and you can still use alsa in the host.

This is probably the only good solution. On my laptop it works fine with the integrated intel card. I've been looking for this for hours and finally found it. Thanks a lot

I installed Homeassistant supervised on raspberrypi 4 running on debain 11
Please guide how to solve the following issues:-
How do I autostart pulseaudio and connect to bluetooth? I have already installed pulseaudio and I am able to connect to bluetooth speaker manually via the terminal.
It is possible to autostart pulseaudio and connect to bluetooth speaker automatically once the homeassistant is started?
How can I change the default media path?
Kindly guide

В /etc/pulse/client.conf поместите
default-server = unix:/usr/share/hassio/audio/external/pulse.sock

In this case, the microphone in the bluetooth headset does not work. In fact, to output audio to a bluetooth headset, it doesn't matter whether we use default-server = unix:/usr/share/hassio/audio/external/pulse.sock or default-server = . The sound goes to the bluetooth headset anyway, but the microphone on debian 11 works if instead default-server = unix:/usr/share/hassio/audio/external/pulse.sock, we indicate how it was by default there is default-server = I can't throw the bluetooth microphone in the Home Assistant. I have described in detail here about my problem and what I did. I do not know how to overcome this problem.


Consider sans-io

Hey @ystreet,
Cool project, always happy to see more Rust in this space. We have had good success in our WebRTC implementation, str0m, with a sans-IO implementation inspired by quinn-proto.
A sans-IO solution is nice because it doesn't tie the user to a async IO, or even a specific runtime.

sans-IO is something I am definitely considering and would be reasonably happy to accept such a design for this project.


autocomplete missing ?

Hello,
when I installed aurelia-materialize-bridge in my skeleton-esnext project, everything worked well when I tried the app with
gulp watch
However, bundling and export with gulp export didn't work.
What I did, was adding this in my bundles.js
        "materialize",
        "aurelia-materialize-bridge",
        "aurelia-materialize-bridge/**/*.html!text",
        "aurelia-materialize-bridge/**/*.css!text",
and in export.js I added
, [
     'materialize', [
       '/fonts/roboto/*'
     ]
],
Now running the app with
gulp serve-export
gives me the following error
system.js:4 GET<EMAIL_ADDRESS>404 (Not Found)
By changing
bridge.useAll() to only the parts I needed, I didn't receive this error... However it would be nice, I can also use the autocomplete feature.
Looking at your source, I think the export is missing in
/src/index.js

You're right but it worked before without all the exports.. To be honest, I seem to have lost track on how bundling works. sigh
Need to catch up on that. I'll add the autocomplete export. Thanks for reporting. :smile:


Fix issue that bookkeeper don't support some jvm options anymore on java11

Motivation
in pulsar 2.8.x,  there are a few JVM options that the bookkeeper doesn't support anymore. It should be removed from the vaules.yaml as the default configuration.
suggest helm template default values.yaml keep same change.
fix in : https://github.com/streamnative/charts/pull/403
Modifications
in bookie jcm config, remove jvm params:
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintHeapAtGC
 -Xloggc:/var/log/bookie-gc.log
 -XX:G1LogLevel=finest

and add jvm params
 -Xlog:gc*
-Xlog:::time,level,tags
-Xlog:safepoint
-Xlog:gc+heap=trace
-Xlog:gc:/var/log/bookie-gc.log

Verifying this change

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

Thanks for your contribution @kwenzh! It appears the change was already contributed here https://github.com/apache/pulsar-helm-chart/pull/255. Sorry for the delayed review. I am going to close this since the desired changes are already merged. Please re-open if necessary. Thanks!


Incorrect rendering of CodeBuild badges

What is the correct way of creating markdown in CodeCommit comments so that CodeBuild badge images are visible inline in CodeCommit? In my projects, I found that the CodeBuild comments containing links to CodeBuild badges are rendered as external links instead of showing the actual badges, e.g.

When clicked on, the browser opens a new window / tab with the build badge visible.

The implementation looks correct, in the CodeBuildResultFuction[sic], the link to the failing CodeBuilds evaluates to
![Failing](https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/failing.svg "Failing")

and the passing CodeBuilds
![Passing](https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/passing.svg "Passing")

In GitHub markdown (above) and in the blog post, these images are visible inline correctly:
.

Note 1, manual copy / paste of
![Failing](https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/failing.svg "Failing")

into a new CodeCommit comment also renders erroneously as an external link:

Note 2, when changing the links to CodeBuild badge urls the images are displayed correctly inline in the comment.

Hello @matsev,
I am trying to following along the same blog post and have the same problem.
What did you do as a substitude?
Or rather how do I get to know the badge urls at the moment of creating the pipeline?

I just added a comment to the PR about the build status without images.
You can just copy / paste the static code build image urls from the source code of this project. Just  just pass the correct arguments to the format function, follow the links below for details.

Failing: 'https://{0}.amazonaws.com/codefactory-{1}-prod-default-build-badges/passing.svg'.format(s3_prefix, event['region'])
Passing: 'https://{0}.amazonaws.com/codefactory-{1}-prod-default-build-badges/passing.svg'.format(s3_prefix, event['region']).

There are four CodeBuild Badge Statuses. Apart from failing.svg and passing.svg there is also the unknown.svg. However, it is not in_progess.svg as one would expect.
For eu-west-1 you have:

 https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/passing.svg
 https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/failing.svg
 https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/unknown.svg
 https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/in_progress.svg

thank you! :+1:
Still a bit saddening that it is not possible to just comment a static badge

I found that even with CodeBuild-generated badge URLs it doesn't work properly - I constantly get "Unknown" badge for PR builds.
Instead I utilized emoji unicode symbols in PR comments to achieve the following:

Here is the updated lambda code snippet I used to generate this:
import boto3
codecommit_client = boto3.client('codecommit')

def lambda_handler(event, context):
    for item in event['detail']['additional-information']['environment']['environment-variables']:
        if item['name'] == 'pullRequestId': pull_request_id = item['value']
        if item['name'] == 'repositoryName': repository_name = item['value']
        if item['name'] == 'sourceCommit': before_commit_id = item['value']
        if item['name'] == 'destinationCommit': after_commit_id = item['value']

    for phase in event['detail']['additional-information']['phases']:
        if phase.get('phase-status') == 'FAILED':
            content = '''## Pull request build FAILED
❌ See the [Logs]({0})'''.format(event['detail']['additional-information']['logs']['deep-link'])
            break
        else:
            content = '''## Pull request build SUCCEEDED
✔ See the [Logs]({0})'''.format(event['detail']['additional-information']['logs']['deep-link'])

    codecommit_client.post_comment_for_pull_request(
      pullRequestId = pull_request_id,
      repositoryName = repository_name,
      beforeCommitId = before_commit_id,
      afterCommitId = after_commit_id,
      content = content
    )

Any idea how can we replicate the way they do in the blog post?

I had this problem as well, and discovered a workaround that should please most people. Use the id based syntax. Instead of
![text][id]
[id]: url "alt-text"

instead of
![label](url "alt-text")

so for the code example in this project, use:
content = '![Failing][Badge] - See the [Logs]({1})\r\n[Badge]: {0} "Failing"'.format(badge, event['detail']['additional-information']['logs']['deep-link'])

instead, similar for the passing one. Note I used \r\n instead of \n, for some reason I couldn't get regular newline to work. This worked for me. The code already converts the url to the proper region.
I also had trouble with that specific lambda function working in all cases, so I changed the code to a large if statement around elif event['detail']['current-phase'] == 'COMPLETED' and event['detail']['build-status'] == 'SUCCEEDED': which I found worked better for my use case as I also wanted to cover the STOPPED and SUBMITTED (so I could link the build) cases. They don't always have the phases dict key used in the original.


[Feature request] Remove write access in repos to stop students from pushing more codes

I think assignment/homework usually has a deadline, thought we could checkout to commit before a datetime, but the commit log is easily to be faked, also sometimes student didn't configure the datetime and timezone on there machine, so I think so best way to make sure the code will be committed before deadline is to remove the write permission, which is not supported by teachers_pet currently, hope it can be added in, thanks!

FYI - when I originally wrote this I would clone all the repositories to my local machine and then roll them back to the due date.
This allows you to have individual extensions for individual students easily.

Yeah, I can easily fetch the remotes at time deadline, but I just wonder if we could have this feature, 'cause we(teacher/ta/student) could make sure we have a common view on GitHub to make sure the status of assignment.


dotty seems to loop infinitely on script using implicit conversions

Specifically it happens on revision 11 here
Changes of all revisions in gist shown here
To reproduce, :load Maybe.sc in dotr.
I was using version 0.6.0-RC1 on Linux x86-64.

wrong repo...


Currently it seems like the doks and doks-child-theme are not generating the alert-link css using npm run build. I tested the getdoks.org repo as well, and the results differ on the same machine. The result is links in light mode appear without an underline and with the same color as the background, and appear as normal text in dark mode.
This doesn't affect npm run start, it's only when the page is published to netlify or github pages that you see the issue. i.e. because of some difference between npm run build. The confusing thing is this doesn't affect the getdoks.org repo.
Steps to reproduce

git clone git@github.com:h-enk/doks.git && cd doks
Edit config/_default/params.toml and change alert to true
npm install
npm run build
cat public/*.css | grep alert-link
Repeat for git@github.com:h-enk/getdoks.org.git

Expected result
CSS should be the same between the dev environment and the live environment (except minified).
Actual result
CSS differs for this one particular area.
Environment

<EMAIL_ADDRESS>precheck
npm version

{
'@hyas/doks': '0.3.1',
npm: '7.7.6',
node: '15.14.0',
v8: '8.6.395.17-node.28',
uv: '1.41.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.17.1',
modules: '88',
nghttp2: '1.42.0',
napi: '8',
llhttp: '2.1.3',
openssl: '1.1.1k+quic',
cldr: '38.1',
icu: '68.2',
tz: '2020d',
unicode: '13.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}

<EMAIL_ADDRESS>check
exec-bin bin/hugo/hugo version

hugo v0.84.0-2C4689F7B+extended linux/amd64 BuildDate=2021-06-18T17:14:27Z VendorInfo=gohugoio

@james-d-elliott, thanks for pointing this out! The 'alert-link' class was not picked up by PurgeCSS. I've now added it to the safelist in ./config/postcss.config.js.
90065dbf10c1a317af2dbfd8ec9b28d7db794d37

Thanks for the quick fix. Knew it'd be an easy one just couldn't figure it out from the differences in code.. interestingly getdoks.org doesn't have this alteration. Potentially it's due to some form of direct/indirect usage though no clue how PurgeCSS works.

so this is why my custom css works in local but not in server...


Update clinvar VCF to lateset release

ClinVar releases a new VCF every month. gnomAD v3.1 used the same VCF/HT as v3 which dates to Sept 2019. The new ClinVar resource should be added to the reference data module as a new version in the clinvar VersionedTableResource.

Do we have a way to automatically update this each month, or do we only update when someone needs the newer version?

OK, that makes sense, then this doesn't impact v3.1 release at all really. I don't think those plots will change much and we used other metrics for evaluation as well.

Closing, this is not relevant for the gnomAD releases


[Improvement][Master] Add Misfire policy control in schedule

Purpose of the pull request
fix: https://github.com/apache/dolphinscheduler/issues/15986
Brief change log
Now our trigger are configured in fixed misfire instruction.
We can let each cronjob to choose theirselves.
Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Mark


any way to automated installation?

Is there a way to automate the installation of NugetGallery to run on a server?    I'm not very familiar with Visual Studio, being only a devops guy but since a lot of the instructions for standing up a NugetGallery server require some manual steps in the VS desktop, what's the likelihood of being able to automate this all via powershell scripts?

@academy-jtran this is something we would like to get to in the future. we don't have a story for this at the moment.


Add option to enable Chrome Custom Tabs for Facebook signin

Facebook signin in Android has an option to enable Chrome Custom Tabs instead of the webview for the login dialog when the Facebook app is not installed. There should be an option to enable this.
This has two main advantages:

Users don't have to re-enter their credentials each time since they're already logged into their Facebook accounts in Chrome most of the times.
Better security since Chrome Custom Tabs is not a part of the app so the users don't have to worry about the app spying on their passwords.

Thanks for this suggestion, this is something we should definitely do when we upgrade the underlying Facebook SDK.

@suyash192 I have opened pull request #249 to address this issue.  Please check out the change to see if it meets your requirements.

Yup, everything looks great!

Fix implemented, will be rolled into the next release.

This fix for this issue is included in version 0.5.0.


Memory system

[ ] Memory system

[ ] Short-term
[ ] Long-term

Consider using MongoDB for long-term and Redis for short-term memory.


[BUG] Flame Graph Incomplete display

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

DeepFlow Component
Grafana Dashbaord
What you expected to happen

The official deepflow-ebpf-spring-demo demo has 18 Spans, but in my environment, there is only one, so it seems that it cannot be associated
How to reproduce
external：
mysql 8.0.28
clickhouse<IP_ADDRESS>
grafana8.4.7
other default tls 6.4 version
deepflow-server,agent,deepflow-app,deepflowio-init-grafana
This problem occurs all the time, and I have updated all the latest images of component 6.4, including plugins
DeepFlow version
No response
DeepFlow agent list
No response
Kubernetes CNI
calico
Operation-System/Kernel version
No response
Anything else
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@1473371932  Can you help me check this issue or how to investigate it? I have the same issue in version 6.2.6, and the deployed version is confirmed to be consistent, except for external ones

Can you provide the flow of how to fight and how to deploy the agent?

Can you provide the flow of how to fight and how to deploy the agent?

Deepflow agent deployed by helm
deepflowServerNodeIPS is F5 VIP backend is  server hostnetwork


Multidimensional coordinnates is not supported

Stackstac.stack outputs an xarray with coordinates that can be either along band or time dimension but not both.
In the case where an asset has properties which is fluctuates based on the timestamp, stackstac supposedly drops that variable  (I've seen cases where it actually picks only one of the values and associates it to the band dimension - but that's not my issue's topic).
However, coordinates typically like landsat 8/9 L1 radiance_mult etc. are very common and are supposed to be different per band and time.
I've already deep-dived into the accumulate_metadata.py and it doesn't seem suited for such cases. I've tried to integrate it by making minimal changes but I'm afraid the full accumulate_metadata.py would better be rewritten from scratch.
Would you be open to such by changes? Would you have a prefered way of proceeding? Should I just open a PR with my suggestion?

Sorry I forgot to reply here, but in general yes, I'm in favor of supporting this if possible. Thanks for opening https://github.com/gjoseph92/stackstac/pull/222!

@gjoseph92 apologies if I'm miss-understanding, but would this address the ability to read multiband assets?  I see in
https://github.com/gjoseph92/stackstac/blob/95fa740cb2d19d89285b198471d92520cf31e10c/stackstac/rio_reader.py#L340-L344
This prevents, e.g. reading most netcdf files in from stac, despite the fact that GDAL has good support for them, eg like so. (sorry I'm coming from the R language where we our 'stackstac'-like package, gdalcubes, is used like this all the time, and still learning my way around in python)


Wireless bridge multiparts could be 2 pixels thick.

Instead of 3. Even though modems are 3 thick, they're fine because when they intersect, they don't look like they're z-fighting because they're the same color. When modems and brides intersect, they do look like they z-fight. Also I just think these kinds of multiparts look better when they're 2 thick.

This would be trivial to implement, though I do think we should do this to all wired modems, not just multipart ones, otherwise conversion doesn't look very seamless. I do kinda like the yellow and black strips on the wireless bridge multipart, but apart from that I have no objections.

@ElvishJerricco: I'm probably going to release 0.2 now, so do you have any thoughts on this?

Still not convinced about this.

This z-fight is the main reason I consider this an issue.

I know, I'm not sure I how we would fix it though. If we change it to 2px on everything, then normal modems will look different to wireless modems. But if we only change it on multiparts then there won't be a seamless transition when converting them. However if we keep it you get z fighting.

We can just change the wireless bridge though. We don't have to change CC modems.

I guess we could just change the wireless bridge. That works, though it may look a bit odd with them 2px modems 3px.

Eh. I don't think that's all that bad of a consequence. They're different things. They're allowed to look different.

I'll do it tonight then, trying to get some work done on Tua but making little progress. :frowning:. How is CCTransport going?

Making progress! I have some awesome framework behind simple repetitive tasks like the IPartFactory and IPeripherals. I actually wrote a dev blog about the multipart aspect. Planning to write more for the remaining bits like rendering and peripheral defining.
So now I've got a part rendering with an obj model and some precalculated Transformations. The SinglePeripheralModem from CC-Tweaks was a nice convenience in making the multipart node behave as a peripheral. Now it's just the trivial matter of actually making the proper peripheral methods. I'm having trouble deciding on the API for the part I'm working on. Essentially trying to serialize/deserialize in and out of inventories, but I'd rather avoid using the slot system. Instead I'd like just the ability to "insert" and "extract" without concern for slots. But maybe I'll have to concede and just provide a slot-based peripheral.

It looks cool! I had a go at this tonight, but had some issues where textures would be reversed. I might have to write a custom renderer using tessellators. TBH I'm probably going to include multipart modems too as they use so much of the same code (PartSidedNetwork).

Dev blog #2! Posting this here because it might actually be relevant to this issue. I think the technique I used could be used to make different parts have different dimensions with ease.

Ooooh, those look good. Why blender rather than Techne though? Whilst I'm not sure I want modems to have bevelled edges, those do look really nice!

Well partly it's because Techne doesn't have a mac version, and I don't think the web version works. But mostly it's that blender is a vastly more powerful tool that's more applicable in the rest of the field.

But yea the idea for this issue in particular is that parts like modems and bridges can easily separate their boxes by using common rotation transformations instead of common vertices for all parts in all rotations.

Closed in #80


SwiftUI @Default(.key) not updating across multiple views.

Here are the code snippets:

As you can see, parent view and child view are both containing a private firstLaunch property. However, when child view changes the firstLaunch to false, parent view is not updating. Although it do changed the value of this key in UserDefault since it shows HomeView on App's second launch...
I'm using the latest release of Defaults (6.2.1). Don't know if my usage is wrong? I do remember this can work in my previous projects.😂

Duplicate of #59


[HELP] Bouncer not blocking banned IPs

Hello,
I have crowdsec installed in OPNsense machine that works as LAPI.
Also we have a crowdsec docker container (LAPI disabled) that connects to OPNsense LAPI for acquiring logs of traefik using crowdsecurity/traefik collection.
  crowdsec:
    container_name: crowdsec
    image: crowdsecurity/crowdsec
    restart: unless-stopped
    environment:
      TZ: Europe/Madrid
      DISABLE_LOCAL_API: true
      LOCAL_API_URL: "OPNSense LAPI URL"
      AGENT_USERNAME: "---"
      AGENT_PASSWORD: "---"
      COLLECTIONS: "crowdsecurity/traefik"
      GID: "${GID-1000}"
    volumes:
      - /mnt/docker/crowdsec/acquis.yaml:/etc/crowdsec/acquis.yaml
      - traefik_logs:/var/log/traefik
      - crowdsec_db_data:/var/lib/crowdsec/data/
      - crowdsec_data:/etc/crowdsec/

Adding a new bouncer in OPNsense Crowdsec to get API KEY using:
cscli bouncers add traefik-bouncer

I've installed traefik bouncer plugin using this labels and then I've attached the middleware to the docker service:

environment:
  # GET REAL IP FROM CLOUDFLARE
  - TRAEFIK_ENTRYPOINTS_WEBSECURE_PROXYPROTOCOL_TRUSTEDIPS=<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22
  - TRAEFIK_ENTRYPOINTS_WEBSECURE_FORWARDEDHEADERS_TRUSTEDIPS=<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22
  # ADD Traefik Bouncer Plugin
  - TRAEFIK_EXPERIMENTAL_PLUGINS_BOUNCER_MODULENAME=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin
  - TRAEFIK_EXPERIMENTAL_PLUGINS_BOUNCER_VERSION=v1.1.16
labels:
  traefik.http.middlewares.crowdsec.plugin.bouncer.enabled: true
  traefik.http.middlewares.crowdsec.plugin.bouncer.loglevel: "DEBUG"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapihost: "OPNsense LAPI host"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapikey: "API KEY GENERATED IN OPNSense LAPI"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdsecmode: "stream"
  traefik.http.middlewares.crowdsec.plugin.bouncer.forwardedheaderstrustedips: "<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22" # CLOUDFLARE IPS

So apparently works but not blocking clients when accessing to the service...
traefik-bouncer    <IP_ADDRESS>   ✔   2023-10-19T10:25:52Z   Go-http-client  1.1  api-key

DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 12:02:52 handleStreamCache:updated
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 12:02:52 New initialized mode:stream
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 12:22:52 cache:SetDecision ip:31.4.140.XXX isBanned:true duration:14357s
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 12:22:52 handleStreamCache:updated

What are you expecting the bouncer to do?
Cause it a web server mitigation it is intended to return a unauthorized response code, it will not completely block the user from the server you would have to inject the rule into your OPNSense if that is your router firewall.

What are you expecting the bouncer to do?
Cause it a web server mitigation it is intended to return a unauthorized response code, it will not completely block the user from the server you would have to inject the rule into your OPNSense if that is your router firewall.

I've expect that traefik block the web request to the service... but not working.

Okay, have you added a temporary decision to your WAN IP to see what response you get?
sudo cscli decisions add --ip <your_wan> -d 1m
curl <your_site> -vv

Will add a ban for 1 minute

What are you expecting the bouncer to do?
Cause it a web server mitigation it is intended to return a unauthorized response code, it will not completely block the user from the server you would have to inject the rule into your OPNSense if that is your router firewall.

I've expect that traefik block the web request to the service... but not working.

Okay, have you added a temporary decision to your WAN IP to see what response you get?
sudo cscli decisions add --ip <your_wan> -d 1m
curl <your_site> -vv

Will add a ban for 1 minute, make sure the curl request doesnt come from your internal IP

Yes I've added it.
Other bouncers blocks it, but traefik bouncer does nothing
Our infraestructure is: Cloudflare -> Traefik -> Web Server

What was the response from traefik?

How the bouncer works? How it blocks the IPs?

Cause it a web server mitigation it is intended to return a unauthorized response code,

Adding logs when you send the request might help. You've only shown the moment when the "cron" adds the banned IP to its own storage.

What was the response from traefik?

How the bouncer works? How it blocks the IPs?

Cause it a web server mitigation it is intended to return a unauthorized response code,
Pasting the curl output minus your server fqdn can help us debug

I'm going to do a webrequest to traefik service without passing from cloudflare.
I've added a ban decision to my local ip
cscli decisions add --ip <IP_ADDRESS>  -d 1m

Now others bouncers block my local ip, but traefik nothing.. here logs:
C:\Users\rgomez>curl -vv https://xxxx.xxxx.xxx
*   Trying <IP_ADDRESS>:443...
* Connected to xxxx.xxxx.xxx (<IP_ADDRESS>) port 443 (#0)
* schannel: disabled automatic use of client certificate
* ALPN: offers http/1.1
* ALPN: server accepted http/1.1
* using HTTP/1.1
> GET / HTTP/1.1
> Host: xxxxx.xxx.xxx
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Length: 867
< Content-Type: text/html
< Date: Thu, 19 Oct 2023 10:49:20 GMT
< Etag: "652fba9b-363"
< Last-Modified: Wed, 18 Oct 2023 10:59:39 GMT
< Server: nginx/1.25.1

And accesing to other site using firewall-bouncer:
C:\Users\rgomez>curl -vv https://xxxx.xxxx.xxxx
*   Trying <IP_ADDRESS>:443...
* connect to <IP_ADDRESS> port 443 failed: Timed out
* Failed to connect to www.ceis.es port 443 after 21048 ms: Couldn't connect to server
* Closing connection 0
curl: (28) Failed to connect xxx.xxx.xxx port 443 after 21048 ms: Couldn't connect to server

I think you don't apply the crowdsec middleware to the web service in traefik

I think you don't apply the crowdsec middleware to the web service in traefik

Yes mate, look:
traefik.http.routers.portalcliente.middlewares: "crowdsec,cors"

Adding logs when you send the request might help. You've only shown the moment when the "cron" adds the banned IP to its own storage.

I don't speak about your curl log but traefik logs, when the plugin receive request in debug mode, it log a lot of things

Adding logs when you send the request might help. You've only shown the moment when the "cron" adds the banned IP to its own storage.

I don't speak about your curl logs but traefik logs, when the plugin receive request in debug mode, it log a lot of things

Yes but there's a lot of decisions...
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/17 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/15 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/14 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 No IP provided for ClientTrustedIPs
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/17 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/15 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/14 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 getTLSConfigCrowdsec:CrowdsecLapiScheme https:no
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:New initialized isRedis:false
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:GetDecision ip:updated
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:SetDecision ip:updated isBanned:false duration:59s
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:DeleteDecision ip:<IP_ADDRESS>
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:DeleteDecision ip:<IP_ADDRESS>
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:DeleteDecision ip:<IP_ADDRESS>
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:DeleteDecision ip:<IP_ADDRESS>
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:16:43 cache:DeleteDecision ip:<IP_ADDRESS>
......

If I use 'live' mode there isn't any query to LAPI (time not change):
traefik-bouncer   <IP_ADDRESS>   ✔    2023-10-19T11:27:50Z   Go-http-client   1.1  api-key

DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/17 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/15 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/14 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 No IP provided for ClientTrustedIPs
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/18 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/20 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/17 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/15 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/14 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/13 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 IP network <IP_ADDRESS>/22 is trusted
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 getTLSConfigCrowdsec:CrowdsecLapiScheme https:no
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 cache:New initialized isRedis:false
DEBUG: CrowdsecBouncerTraefikPlugin: 2023/10/19 13:28:22 New initialized mode:live

The middleware is not used. Maybe show us your docker compose config where you use
traefik.http.routers.portalcliente.middlewares: "crowdsec,cors"

The middleware is not used. Maybe show us your docker compose config where you use
traefik.http.routers.portalcliente.middlewares: "crowdsec,cors"

I've definded the middleware in traefik docker compose and referenced it in the service...
Traefik compose:
labels:
  traefik.http.middlewares.crowdsec.plugin.bouncer.enabled: true
  traefik.http.middlewares.crowdsec.plugin.bouncer.loglevel: "DEBUG"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapihost: "OPNsense LAPI host"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapikey: "API KEY GENERATED IN OPNSense LAPI"
  traefik.http.middlewares.crowdsec.plugin.bouncer.crowdsecmode: "stream"
  traefik.http.middlewares.crowdsec.plugin.bouncer.forwardedheaderstrustedips: "<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22" # CLOUDFLARE IPS

Service compose:
version: "3.8"

services:
  portalcliente-test:
    container_name:
    image:
    restart: unless-stopped
    networks:
      public:
    labels:
      traefik.enable: true
      traefik.http.routers.portalcliente_test.rule: "Host(`xxx.xxxx.xxxx`)"
      traefik.http.routers.portalcliente_test.entrypoints: "web,websecure"
      traefik.http.routers.portalcliente_test.tls: true
      traefik.http.routers.portalcliente.middlewares: "crowdsec,cors" # HERE
      traefik.http.services.portalcliente_test.loadbalancer.server.port: 80
      traefik.http.routers.portalcliente_test.service: "portalcliente_test"
      # AUTO UPDATE IMAGE
      com.centurylinklabs.watchtower.enable: true

networks:
  public:
    external: true

traefik.http.routers.portalcliente.middlewares: "crowdsec,cors" # HERE
=>
traefik.http.routers.portalcliente_test.middlewares: "crowdsec,cors"
?

traefik.http.routers.portalcliente.middlewares: "crowdsec,cors" => traefik.http.routers.portalcliente_test.middlewares: "crowdsec,cors" ?

OMG, my bad. Thx :(

Don't forget to put a star, that's help us a lot 👍