snakemake.remote.GS.RemoteProvider is not correctly sensing output files when jobs are first run

Snakemake version
snakemake-minimal 7.6.1 on Debian 10 Buster and Ubuntu 20.04.4; snakemake-minimal 7.6.0 on Windows 10.
Describe the bug
When using the snakemake.remote.GS.RemoteProvider interface to Google Cloud Storage (GCS), Snakemake seems not to be able to see that output files on GCS have been successfully created when a job is first run. However, on subsequent re-runs of the job, Snakemake will successfully see the file, and decline to re-run the job ("Nothing to be done (all requested files are present and up to date).").
Increasing the --latency-wait parameter does not seem to help -- I've increased the wait time to 60 seconds, to no avail. However, when re-running the job, it takes less than a second for Snakemake to correctly see that the output file (created during the previous run) is present in GCS.
Logs
(See the output in the Minimal Example section below)
Minimal example
Using the following Snakefile:
(In the code blocks below, I have replaced real paths with placeholders.)
from snakemake.remote.GS import RemoteProvider as GSRemoteProvider
GS = GSRemoteProvider(project="my-gcp-project-id")

gcs_path = 'gs://path/to/gcs/directory'

rule example:
  """Try to create a file in GCS.
  """
  output: GS.remote(f'{gcs_path}/test_file.txt')

  shell: f'touch test_file.txt && gsutil mv test_file.txt {gcs_path}/'

I ran the example rule twice in a row. The first time, the job failed, even though the output file was successfully created in GCS. The second time, Snakemake was able to see the file immediately, and noted that it did not need to re-run the job:
(I've used date below to show how long it took for each run to finish.)
$ date && snakemake --cores all --latency-wait 60 example && date
Fri May  6 16:23:56 EDT 2022
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 2
Rules claiming more threads will be scaled down.
Job stats:
job        count    min threads    max threads
-------  -------  -------------  -------------
example        1              1              1
total          1              1              1

Select jobs to execute...

[Fri May  6 16:23:58 2022]
rule example:
    output: gcs/path/to/test_file.txt
    jobid: 0
    resources: tmpdir=/tmp

Copying file://test_file.txt [Content-Type=text/plain]...
Removing file://test_file.txt...

Operation completed over 1 objects.
Waiting at most 60 seconds for missing files.
MissingOutputException in line 6 of /path/to/Snakefile:
Job Missing files after 60 seconds. This might be due to filesystem latency. If that is the case, consider to increase the wait time with --latency-wait:
gcs/path/to/test_file.txt completed successfully, but some output files are missing. 0
Removing output files of failed job example since they might be corrupted:
gcs/path/to/test_file.txt
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/log/2022-05-06T162356.379469.snakemake.log

$ date && snakemake --cores all --latency-wait 60 example && date
Fri May  6 16:25:04 EDT 2022
Building DAG of jobs...
Nothing to be done (all requested files are present and up to date).
Complete log: .snakemake/log/2022-05-06T162504.622009.snakemake.log
Fri May  6 16:25:06 EDT 2022

Additional context
This seems to be the case across both Linux and Windows. I have authenticated with gcloud auth login --update-adc.
I would be grateful for any ideas about other approaches to try. I'm also happy to help debug however I can, of course!
In any case, thank you for all of your work on this software!

Remove the gs:// in gcs_path and it will work - just tested it.

For anyone reading this in the future, I thought to follow-up explicitly with a working version of the original minimal example above, following @cademirch's advice. This Snakefile works, running ./snakemake.sh -s /path/to/Snakefile all
from snakemake.remote.GS import RemoteProvider as GSRemoteProvider
GS = GSRemoteProvider(project="my-gcp-project-id", keep_local=False, stay_on_remote=False)

rule all:
  input:
    GS.remote('my-bucket-name/test1/test_1.txt')

rule example:
  """Try to create a file in GCS.
  """
  output:
    GS.remote('my-bucket-name/test1/test_1.txt', mkdir_remote=True)

  shell: 'touch {output}'


updated omnifocus-beta (2.4.x-r253472)

I did this with the cask-repair command listed on the main Homebrew Cask repo. I hope that's acceptable for these items as well.

I did this with the cask-repair command listed on the main Homebrew Cask repo. I hope that's acceptable for these items as well.

Yep, it’s good for any cask.


Lets Encrypt - Failure to Remove Old Certs & Re-Encryption Hangs

In EE 3.4.0 when I delete a site that had --le, the script is not removing the old cert directories for the site from the /etc/letsencrypt/...archive|live|renewal folders. This causes --le encryption to hang after answering "yes" if we try to recreate the site with --le.
After removing the site.com folders from the 3 folders mentioned above, there is still something holding up the re-installation of --le for the site because the new error message is:

Unable to setup, Let's Encrypt
Please make sure that your site is pointed to
same server on which you are running Let's Encrypt Client
to allow it to verify the site automatically.

I've already pinged both www & non-www versions of my site to make sure they're directing to the correct server, so this isn't the issue. I've also ran a "ee clean --all" and rebooted the server. Same error.

On another note - when trying to open my site in a browser, I get a certificate warning that my site is trying to use the certificate of another --letsencrypt site on my server.  This can't be good.

EE cannot delete certificate as it is a third-party assets. Also lets encrypt has limit on issuing certificates per domain or IP.
Using preexisting certificates with EE will be made possible with release of EE v3.4.1.

After removing the site.com folders from the 3 folders mentioned above, there is still something holding up the re-installation of --le for the site because the new error message is:

Please check log tail -n100 /var/log/ee/ee.log

I get a certificate warning that my site is trying to use the certificate of another --letsencrypt site on my server.

Look like issue is with lets encrypt cert authority.

I agree and I'll check with them. Thank you
On Sunday, January 17, 2016, Prabuddha Chakraborty<EMAIL_ADDRESS>wrote:

EE cannot delete certificate as it is a third-party assets. Also lets
encrypt has limit on issuing certificates per domain or IP.
Using preexisting certificates with EE will be made possible with release
of EE v3.4.1.
After removing the site.com folders from the 3 folders mentioned above,
there is still something holding up the re-installation of --le for the
site because the new error message is:
Please check log tail -n100 /var/log/ee/ee.log
I get a certificate warning that my site is trying to use the certificate
of another --letsencrypt site on my server.
Look like issue is with lets encrypt cert authority.
—
Reply to this email directly or view it on GitHub
https://github.com/EasyEngine/easyengine/issues/665#issuecomment-172318164
.

Found this recent update on the LetsEncrypt github repository #2227 that may resolve this issue on servers where a --le enabled site was removed, then recreated and --le failed on second attempt.
NOTE: as I suspected, I created a new EC2 instance with a fresh EE 3.4.0 install and had no problem adding --letsencrypt to the site I was having problems with on the previous 2 EE 3.4.0-enabled servers.
This leads me to conclude that something is not being removed from an EE config or folder when we delete a site that has --le enabled (without using the --letsencrypt=off) command - which causes hangups when we try to recreate the site with --le on the same server.
If it's not something in the EE script causing this, possibly it is due to issue #2227 mentioned above.

doing my part to help make EE better, sorry if it sounds like I'm complaining because I'm not. HUGE EE FAN HERE -

OK - there are some other major issues with --letsencrypt and this time it has to do with adding --hhvm=on to a site that had SSL enabled. I went into site info and found that SSL had been disabled after adding HHVM. I didn't get a warning that this would happen, so if it's a known conflict, this should be part of the warning message for adding HHVM
And - after removing HHVM from the site, I am no longer able to add --letsencrypt to the site.
Something is most definitely conflicting here. I'll give you access to this server if you wish to check further, however I believe I've lined out the steps to reproduce these issues on your own servers in several messages on this thread.
Let me know if you want access to my server if you can't reproduce. It's UBUNTU 14.04

Can confirm the issue involving hhvm. Thought I was the only one.

I've been following the LetsEncrypt group on github and it appears there
are some major changes needed in regards to the packages it installs on our
servers, kernel headers and other invasive issues that they need to address.
This may lead to redundant work on EE's part if you rework your python
scripts to accommodate issues with theirs. Maybe the best approach is to
leave this issue open, let it be known and hope it gets resolved by the LE
team.
Just a thought.
On Tuesday, January 19, 2016, mrmad<EMAIL_ADDRESS>wrote:

Can confirm the issue involving hhvm. Thought I was the only one.
—
Reply to this email directly or view it on GitHub
https://github.com/EasyEngine/easyengine/issues/665#issuecomment-172773231
.


Alternative file spool implementation.

Provides a new Swift_SerializedFileSpool class as an alternative to the standard Swift_FileSpool class.
Main benefits is that it can use the igbinary_serialize and gzcompress functions if available to further reduce the size of spool files. It also provides a bit more control over the generated spool files.
Most of the changes could have been incorporated into the existing spool class but there are are a few slight differences in implementation. Having a new class with slightly different naming conventions can also ensure that even if the two spool classes use he same directory they won't walk over each other.

Could you please consider this patch? The TYPO3-team is "desperately" waiting for a fix ...
https://forge.typo3.org/issues/37594

I'm closing this PR as the Swiftmailer spool system does not work well and will soon be much better when we will replace Swiftmailer by Symfony Mailer.


Email ( nodemailer ) Doesnt from the server.

I tried loggin in via the web but it still says there is an error.
Anybody else had similar issue, how to resolve it ?

Your app is failing to authenticate with sending SMTP server. I wouldn't recommend using Gmail for that.
Check e.g. https://www.sparkpost.com/ instead.


Fix build when dirent.h is not available

Fixes build on Windows.

Coverage remained the same at 93.625% when pulling 49ce76a8cffdf6fe90e32768367e66c2230d988b on xhaakon:win32-build into f850de85abb3cdca9dd0261f4b05a9b81dee01c5 on rockdaboot:master.

Thank you !


Implement trait members assist only works on whole block

struct S;

impl Iterator for S // need to add {}

code&tests here: https://github.com/rust-analyzer/rust-analyzer/blob/33ebfa8dcc66f3b3be7da48be48257802f251088/crates/ra_assists/src/handlers/add_missing_impl_members.rs

Was giving this one a quick go but I'm not getting anywhere... without braces there is not even an Impl in the tree. Not really sure how to get to anything useful from just the AssistContext. Advice on how to proceed appreciated!

without braces there is not even an Impl in the tree

Are you sure? I seem to get one:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>"struct"
<EMAIL_ADDRESS>" "
<EMAIL_ADDRESS><EMAIL_ADDRESS>"S"
<EMAIL_ADDRESS>";"
<EMAIL_ADDRESS>"\n\n"
<EMAIL_ADDRESS><EMAIL_ADDRESS>"impl"
<EMAIL_ADDRESS>" "
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>"Iterator"
<EMAIL_ADDRESS>" "
<EMAIL_ADDRESS>"for"
<EMAIL_ADDRESS>" "
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>"S"
<EMAIL_ADDRESS>" "
<EMAIL_ADDRESS>"// need to add {}"
<EMAIL_ADDRESS>"\n"

What's missing is the ASSOC_ITEM_LIST.

@lnicola Do you mind posting the code you used to get that tree out of interest? I will give it another go now, might be missing something obvious 😄

@M-J-Hooper of you're using Code, there's a Show syntax tree command.

@lnicola turns out there is an Impl but not a AssocItemList on which this assist was depending. Take a look at the PR. Thanks for your help!

@matklad @lnicola Something that I did not really get a grasp on (so just kind of ignored it) is the use of SemanticScopes and AstTransform in this assist. Do you mind giving a quick explanation of what's going on there?

Filed https://github.com/rust-analyzer/rust-analyzer/pull/6048


fixed ion re-ordering support for collection-repeat

RE: https://github.com/driftyco/ionic/issues/3959
Problem:
Note,  works with ng-repeat. However, it is not
compatible with collection-repeat. The ion-re-ordering feature is
based on the following assumptions:

style offset top attributes have been set DOM objects in the list
items
that the aggregate of client heights can be summed

Complication:
Fixing the re-ordering defect is highly problematic because:

The ion-reordering feature is subject to filters which when applied
to the collection can affect one’s reordering callback.
All items may not display with the same fixed client height

Solution:

Establish the contract that the fromIndex & toIndex values sent to
the reordering callback must be values that are applicable to the
context of the current [filtered|orderedBy] view ONLY. In this manner it
is up to the developer to transform the from/to index values prior to
reordering the original data source
a. Create separate functions for handling both hg-repeat & collection
repeat:
- ng-repeat: uses: _getNgRepeatReorderIndex
- collection-repeat: uses: _getColRepeatReorderIndex

The ion-reordering for collection-repeat assumes a constant client
height for all items. However, if this is not the case then this renders
this feature useless and developers are forced to use ng-repeat. In such
instances an alternative approach would be to invoke a re-order callback
with a repeatReorder object. This object is initialised via:
ReorderDrag.prototype._setRepeatReorderFromToItem = function(src, dst)
{
var scopeSrc = angular.element(src).scope();
var scopeDst = angular.element(dst).scope();
var scopeToUse = angular.isDefined(scopeDst.$repeatReorder) ?
scopeDst : scopeSrc;
scopeSrc.$repeatReorder.fromItem =
scopeSrc[scopeSrc.$repeatReorder.keyExpression];
scopeSrc.$repeatReorder.toItem =
scopeToUse[scopeSrc.$repeatReorder.keyExpression];
}

Resulting context:

using index values on ordering:
Eg.

…

using repeatReorder object on ordering:

…

Known issues:

Sometimes the drag item is lost when doing a move that spans multiple
scrolled pages. Hence, collection-repeat forces a re-load and the drag
action is lost.
When moving an item downwards the CSS z-index of the dragged item is
not being honoured and appears hidden behind other items in the list. My
work-around for this is to have items that have a transparent
background.

Greetings @ashinw!
Thank you very much from all of us on the Ionic team for submitting this pull request. We appreciate your commitment to improving Ionic. Unfortunately, we are unable to merge this particular PR, as it may cause regressions or is already out of date with regard to recent fixes. We apologize, as we know how much time you may have put into the work.
We hope you will continue to contribute to Ionic in the future. Please note that we are more likely to merge a smaller PR that has a passing test and changes only one meaningful feature in the project.
For more information, please review our Pull Request Guidelines.
Best regards,
Ionitron


Define consistent comment format for examples

Low priority, but creating this based on concerns by @CrossEye in #1836.
Currently, the forEach and tap examples use the following format:

\\=> for return value.
\\-> for logging output.

If this is the desired format, maybe it should be explained somewhere for those reading the docs.
The proposed alternative was // logs "output here".

:+1: for the more explicit "logs x" comment when illustrating the side-effect of e.g. tap and forEach

:+1:

:+1:
A slight correction (slash direction) is that we currently use:

//=> for return value.
//-> for logging output.

But it would be good to adjust this.

Ah yeah. Why can't everything just use CoffeeScript/Python comments! :trollface:
I can do a couple of pull requests to switch them over.


Help Update

What has changed?

Added /help [page and command].
A new command description has been added.

nice

nice

?

Closed due to WaxNex not liking me or somthing

are u braindead? I didnt merge cuz i was going to push the lastest version some time cuz of some calculations in js i need to do some things so it will be delayed or tmr

that is how i normally speak

....

Old


Upgrade onnxruntime version to 1.16.2

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (13dafc7) 83.80% compared to head (f87166a) 83.80%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #112   +/-   ##
=======================================
  Coverage   83.80%   83.80%
=======================================
  Files          47       47
  Lines        6378     6378
=======================================
  Hits         5345     5345
  Misses       1033     1033

Files
Coverage Δ

onnx_extended/tools/run_onnx.py
55.62% <ø> (ø)

onnx_extended/__init__.py
68.20% <0.00%> (ø)

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


Fatal error: missing Symfony polyfill bootstrap file for PHP 8.0.

Confirmation

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

WordPress version
5.7.2
Cloudflare-WordPress version
4.5.0
PHP version
8.0.6
Expected result
I expected my site to continue to load after updating to the latest version of the Cloudflare plugin.
Actual result
My site crashed.
Steps to reproduce

Set up a WordPress instance using Composer with a repository for WPackagist on an environment running PHP 8+.
Run composer require wpackagist-plugin/cloudflare and make sure you've required your Composer autoload files.
Activate the Cloudflare plugin and try to load your site.

Additional factoids
Here's the pertinent error:
PHP Fatal error:  Uncaught Error: Failed opening required '[my-path-to-my-install]/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php' (include_path='.:/usr/local/Cellar/php/8.0.6_1/share/php/pear') in [my-path-to-my-install]/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-normalizer/bootstrap.php:15

Reviewing the plugin files, I see there's a vendor directory in the Cloudflare plugin itself containing the symfony/polyfill-intl-normalizer package, and the bootstrap file attemps to load bootstrap80.php relative to the file path, but the file does not exist.
Edit: it appears there's a script in the composer.json file that intends to remove bootstrap80.php files, so this behavior seems to be intentional; however, the Symfony bootstrap.php file explicitly requires bootstrap80.php if on PHP 8.0 or above, which causes the fatal error. Is this plugin no longer PHP 8 compatible?
References
The symfony/polyfill-intl-normalizer package contains a bootstrap80.php file which is missing from Cloudflare's vendor directory.
commit#59784a explicitly removes these files, and it looks like it was added just a few hours ago.

Duplicates #415


Help wanted with using tzdata on Windows (needs install but not import)

Thank you for this package.
I have code equivalent to:
from zoneinfo import ZoneInfo

gmt = ZoneInfo("GMT")

on Windows, by default, this raises the following exception:
>           raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
E           zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key GMT'

This is explained by the Python documentation:

The zoneinfo module does not directly provide time zone data, and instead pulls time zone information from the system time zone database or the first-party PyPI package tzdata, if available. Some systems, including notably Windows systems, do not have an IANA database available, and so for projects targeting cross-platform compatibility that require time zone data, it is recommended to declare a dependency on tzdata. If neither system data nor tzdata are available, all calls to ZoneInfo will raise ZoneInfoNotFoundError.

I therefore have the requirement:
'tzdata; sys_platform == "win32"',

but I never import tzdata.
deptry tells me:
Assuming the corresponding module name of package 'tzdata' is 'tzdata'. Install the package or configure a package_module_name_map entry to override this behaviour.

pyproject.toml: DEP002 'tzdata' defined as a dependency but not used in the codebase

If I install the package, I still get the DEP002 error.
Is there a way that I can avoid this particular error, without ignoring valid DEP002 errors?

Closing as I just found https://deptry.com/usage/#per-rule-ignores.


Crash with Better Nether

Good day, here is an issue . Looks like Origins adds not final tag(s).  They are not initiated at game startup and due to mod order causes crash

i can second this one really exicted about your mod

Thanks for reporting and thanks for looking into it paulevs, will be fixed in the next version which I'm uploading right now to CurseForge. :)


Sort Plugins by Popularity, or show Github stars?

Being new to Grav, it would be great with some more tools to help choosing which plugins to use ... perhaps adding "Sort by Popularity" at https://getgrav.org/downloads/plugins and /admin/plugins could help in the evaluation, or including the number of Github stars? I really like what I have seen so far, and can't wait to build my first grav web site.

We're actually hard at work refactoring the whole downloads section to include many more advanced features and better ways to browse, sort, filter, etc.  So it's coming!!!! :)

Sounds great, I am looking forward to seeing it!

I'd like to reopen this issue.
It would still be nice to sort plugins or themes by popularity/downloads, just to give an idea to someone new as to what could potentially be well maintained and useful resources.
I don't see how sorting by author or title ever could become relevant. If I'd vaguely remember a name of a plugin or theme, I'd google "grav plugin xyz" and not scroll through an alphabetical list.
I understand that sorting by popularity is harder than any other method though. Is there any download registry?


YAML Configuration | OMPS-NM

Agreement with GSI using UFO

[x] NPP

Agreement with GSI using Swell

[ ] NPP

Current issues:

None

Tests passed after using the correct value for coefficients derived from first principles.
coefficients: [0.0078976797]

And the corresponding Swell output:


Deprecation warning issued by numpy over np.object

When running basis.index() I get the following warning:
DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  return _get_basis_index(self.states,s)

I believe this warning is issuing from line 61 of general_basis_utils.pyx in the function basis_int_to_python_int, which is:
if basis_int_wrapper.dtype == _np.object:

Presumably we should just replace _np.object by object everywhere in the code to fix this warning.

this should be fixed with quspin 1.0.0


[ci skip] adding user @sanurielf

Hi! This is the friendly automated conda-forge-webservice.
I've added user @sanurielf as instructed in #39.
Merge this PR to add the user. Please do not rerender this PR or change it in any way. It has [ci skip] in the commit message to avoid pushing a new build and so the build configuration in the feedstock should not be changed.
Please contact conda-forge/core to have this PR merged, if the maintainer is unresponsive.
Fixes #39

@conda-forge/core builds are failing but I already fixed those in #38 , please consider adding me as a maintainer or let me know if I should include my userId in the maintaner list within #38.

@conda-forge/core builds are failing but I already fixed those in #38 , please consider adding me as a maintainer or let me know if I should include my userId in the maintaner list within #38.

Yep. Let's do that in #38 and close this one. We also give the current maintainers some time to respond but, if they don't, I'll merge this for you.


Disabling warnings for links in certain channels

I'm trying to disable warnings for an advertisement channel. How do I disable these warnings?

The issue tracker is for bugs and feature requests only. Please see the wiki for documentation, troubleshooting, and a link to the support server.


adding in the olm config file so that an operator bundle is generated

Issue #, if available:

Fixes: aws-controllers-k8s/community#1305

Description of changes:
Adding in the olmconfig.yaml so that an operator bundle can be generated for OperatorHub. I think I got the branding correct for this controller, with one exception noted below. Since the service package name is different then the branded name, the keywords will appear like the below in the final CSV that is generated:
keywords:
  - emrcontainers
  - aws
  - amazon
  - ack

This comes from a template file in the code gen, and I don't think it makes sense to try to do an override for this one controller, but wanted to point this out incase there are concerns.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Signed-off-by: Adam D. Cornett<EMAIL_ADDRESS>

/ok-to-test
/lgtm


Radio, Checkbox, Visual Picker: Should select on enter key pressed

Enter key is not selecting radio and checkbox inputs.
This is due to the fact that enter sometimes submits forms.
One option is the following:

We managed to keep form submission on ENTER but prevent it if ENTER was used to choose a suggestion by keeping track of whether an option is selected or not via onSuggestionHighlighted. If an option is selected, then ENTER is prevented from submitting the form as described above.

@jcjuett

@jcjuett I'm going to close this. I'm unable to find something that says Checkbox and Radio should select on enter.
Enter is used for form submit, so we would need to disable that standard in order to make enter work with selection. Enter does however work on menu item select components because the menu is "down a level" from the form.


Client Base Class method when using constructor Injection

i am using nswag to generate Clients, and using constructor injection to use the client. below is the implementation, i dont know how to use the method from base class without updating generated code. Any help is appreciated, even if my approach is wrong i would like to know how others are using the generated Client when you need to call IDP to get the accesstoken.
i have a separate IAuthClient to get the accesstoken but i am not able to set the accesstoken with below implementation.
how do you set or access the RetriveAuthorizationToken?
i have searched a lot with no success, there is no example implementation with this most common use case of getting accesstoken.
Generated Client:
public partial class FooClient : FooApiBaseClient, IFooClient
{
private System.Net.Http.HttpClient _httpClient;
    public FooClient(IConfiguration configuration, System.Net.Http.HttpClient httpClient) : base(configuration)
    {
        _httpClient = httpClient;
    }

}
Base Client:
public class FooApiBaseClient
{
private readonly IConfiguration _configuration;
public Func<Task> RetrieveAuthorizationToken { get; set; }
    public FooApiBaseClient(IConfiguration configuration)
    {
        _configuration = configuration;
    }

}
usage:
public class BarService{
private IFooClient _fooClient;
public BarService(IFooClient fooClient){
_fooClient = fooClient;
}
}

I had the exact same question.  Here was the approach I took.  You're definitely on the right track.

Defined interface for Authenticated Client

public interface IAuthenticatedHttpClient
    {
        Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption responseHeadersRead, CancellationToken cancellationToken);
    }

Defined Authenticated client that inherits from HttpClient which pulls my access token and adds the authentication header.

public sealed class AuthenticatedHttpClient : HttpClient, IAuthenticatedHttpClient
    {

        public AuthenticatedHttpClient(IHttpContextAccessor contextAccessor)
        {
            Prevent.NullObject(contextAccessor, nameof(contextAccessor));

            Func<Task<string>> getToken = async () => await contextAccessor.HttpContext.GetTokenAsync("access_token");
            var accessToken = getToken.Invoke().Result;

            // TODO: pass in options object
            this.BaseAddress = new Uri("https://localhost:5001");

            this.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
        }

        public new async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption responseHeadersRead,
            CancellationToken cancellationToken)
        {
            return await base.SendAsync(request, responseHeadersRead, cancellationToken);
        }
    }

In NSwag Studio, changed the type of the HttpClient to use my Interface

In my Web UI project, put everything in the Dependency Injection container (in Startup.cs)

            services.AddHttpContextAccessor();
            services.AddTransient<IAuthenticatedHttpClient, AuthenticatedHttpClient>();
            // NSwag generated SDK client
            services.AddTransient<IClientsClient, ClientsClient>();

Finally, update constructor for UI Controller to receive SDK client

public ClientsController(
            IClientsClient client,
            ILoggerFactory loggerFactory)
        {
            Prevent.NullObject(client, nameof(client));

            this.client = client;
            this.logger = (loggerFactory ?? new NullLoggerFactory()).CreateLogger<ClientsController>();

        }

I'm using .Net Core for the UI project and have my SDK and the AuthenticatedHttpClient in separate .Net standard assemblies.
Hope that helps.  So far this appears to set up the client correctly, but I still have several additional endpoints to build out and include in my SDK client code so I don't know yet if any cases may arise that will require any tweaks.

See https://github.com/Picturepark/Picturepark.SDK.DotNet/blob/master/src/Picturepark.SDK.V1/ClientBase.cs#L11


Fix "Missing Fail" warnings reported by error-prone

As described in [1] the test is broken if fail() is not called because
it will still pass if the exception didn't get thrown.
In some of the cases this can be fixed by using JUnit's ExpectedException
rule. The limitation of this is that it can only be used when there are
no more statements in the test method following the statement that is
expected to throw. Those subsequent statements will never get executed
because the framework exits the test.
For tests where it's not possible to use ExpectedException due to the
reason mentioned above, add a call to fail().
[1] http://errorprone.info/bugpattern/MissingFail
Change-Id: I75eabf0bcb325fe385742f48aedee2938439b9da

@arteam I have a couple more commits fixing error-prone warnings; I'll push them as a separate PR after this one is completed.

Ping @arteam

Thank you!


Using Look styling on react-router Link does not work properly

When using a look={...} style on a Link of react-router the underlying a tag gets the styles applied, however the mediaqueries and hover does not work.
Do you perhaps have an idea as to why it does not work?

I found out that the Link Component itself modifies the styles and classNames within its own render method, but that should still not crash media queries... I have never used the Link component by now, but this is kind of strange. Have you tried wrapping up the Component by another Component and assigning the styles to the outer one?

Thank you for the response, the Link component shallow copies the style attribute, flattening the object values to string. Replacing the Link component with a deep copy works fine.

Ah great to know. I will add something to the documentation, as there are plenty Components that do such things. It s not only limited to the Link Component. Therefore I will close this one as it has nothing specific to do with Look.


fix(lua): ignore comments for table inner param

This PR makes it so that (comment) nodes are ignored when recognizing @parameter.(inner|outer) textobjects in Lua tables. We now only capture (field) nodes. This helps with swapping and deletion, when doing both actions while having comments inbetween fields, currently the behavior is quite buggy because the (_) query will capture comments, and improperly since they do not have the associated "," node. This PR also removes a query to simplify and improve captures, and it is not necessary because tables (unlike the similar parameter and argument queries) can have trailing commas, so we don't need to create any finnicky captures. To test, notice the difference when swapping @parameter.inner with something like the following:
local swapme = {
  -- comment
  'fieldhere',
  'anotherfield',
  -- another comment
  'a final field',
}

While table fields can have trailing commas, they don't have to - simplifying to one query in this case creates situations where operations like deleting a @parameter.outer can change your code style from eschewing trailing commas to having them.
I actually created a draft PR to address this just recently (#548). I expect table constructors are not the only thing in lua where comments create issues, and I expect lua is not the only language with these issues either. I'd greatly appreciate any additional support you can spare on this. 🙏

Ah, you're right. Thank you, that is a good point. I'm not quite sure either, but I do know that parameter and argument lists also suffer from this problem. Sadly I think argument lists are not as easily solved: parameter lists have either an identifier or a comment node, tables have either field or comment, but arguments can have any kind of expression node (or comment). So they are harder to match... But I do like your approach of including the comments with the match! I think this makes the most sense.


fix: rent formatting hack

Pull Request Template
Issue Overview
This PR addresses #15

[x] This change addresses the issue in full
[ ] This change addresses only certain aspects of the issue
[ ] This change is a dependency for another issue
[ ] This change has a dependency from another issue

Description
These changes address the fact that rent fields were accepting the negative sign and "e" along with changing via scroll. Also, it was allowing decimal points but that would also break the filtering results.
Disclaimer: This is undoubtedly a hacky approach and a more sustainable approach should be implemented here. The difficulty came from the fact that our currency formatting utilizes react hook forms but these two forms were made with a custom react state form object and their own updateValue functions. This was the quickest way I found to integrate our formatting with their value setting. Other approaches such as introducing the formatting manually within the onChange function still allows the characters to be typed in the field OR having both react hook forms setValue and their onChange proved that the setValue overrides the onChange. Lastly, I considered handling this solely via react hook forms but that resulted in either too much time required to update the styled button groups to field groups since the typing has to be refactored as well or having two entirely separate form objects which felt more unnatural.
How Can This Be Tested/Reviewed?
This can be tested by pulling this down locally, go to the landing page, trying to enter negative values or letters unsuccessfully, and noticing how the rent formats when clicking out of the field. Then click view listings and observe that the results and filter reflect the previously entered field. Then go into the listings search modal and perform the same tests.
Note: There's an edge case that if you type in a value like 1200.23 into the landing page, it will show results for 1200 and when opening the listings search modal it will only show 1200. The url search doesn't currently support decimals and it didn't seem worth the time to handle this case.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have added QA notes to the issue with applicable URLs
[x] I have performed a self-review of my own code
[ ] I have reviewed the changes in a desktop view
[ ] I have reviewed the changes in a mobile view
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have assigned reviewers
[ ] I have run yarn generate:client and/or created a migration if I made backend changes that require them
[x] My commit message(s) is/are polished, and any breaking changes are indicated in the message and are well-described
[ ] Commits made across packages purposefully have the same commit message/version change, else are separated into different commits

Reviewer Notes:
Steps to review a PR:

Read and understand the issue, and ensure the author has added QA notes
Review the code itself from a style point of view
Pull the changes down locally and test that the acceptance criteria is met
Also review the acceptance criteria on the Netlify deploy preview (noting that these do not yet include any backend changes made in the PR)
Either explicitly ask a clarifying question, request changes, or approve the PR if there are small remaining changes but the PR is otherwise good to go

On Merge:
If you have one commit and message, squash. If you need each message to be applied, rebase and merge.

Thanks for the review and I definitely agree that this is not ideal! Since resolving these pieces would require changes to UI-C, I don't think I will pursue them here but think that a general ticket to improve our formatting approach would be helpful. In verifying that this is the behavior across Bloom instances, I realized that filtering via rent is broken on Detroit for this very reason. Working on fix now 🏃
https://github.com/metrotranscom/doorway/assets/53269332/12be8ddd-60d0-4f2f-8546-f1d7e41ff220

After discussing this with Colin, I'd advocate for holding off on merging this. I think this solution works and is the best way to tackle it within the current setup but we might want to look at this from the long term perspective. Mostly because despite solving the problem it brings in a couple of new quarks to the flow and we might be refactoring this form in the nearish future depending on the uic audit findings
We should decide as a team if this new behavior is better or worse than having the existing bug in place. If it's better we can merge this PR and just make a note to clean it up when we do get around to implementing it the right way. However, if it is worse or no better I think we should wait until it is implemented the right way. Especially since I feel like the bug is very minor

I'm good either way! But a note that this sort of clean up is not stuff that will be captured in the audit.


could we import questions from Google Forms?

Description
As an addition to PDF and Excel import. Requested by one user.
Rationale
Many NGOs are gathering data in tools such as Google Forms

This is live on main branch in deployed Harmony. Needs testing then we can close the issue.


Checking CI  status for preservation status

Wow, the output of the CI looks so promising. So we have 4/14 projects not passing the preservation test, and 2 of them are due to failing in minimization? Am I misunderstanding something here?

Wow, the output of the CI looks so promising. So we have 4/14 projects not passing the preservation test, and 2 of them are due to failing in minimization? Am I misunderstanding something here?

You are right.

depends on https://github.com/tahiat/specimin-evaluation/pull/34


Issues on Google App Engine

@dgabrielli76 can you add the details for the issue you had during the hackathon?

The issue arrived after the HTTPS connection to beta.craft.ai.
The issue is:
InsecurePlatformWarning: A true SSLContext object is not available.
This prevents urllib3 from configuring SSL appropriately and may
cause certain SSL connections to fail.
You can upgrade to a newer version of Python to solve this.
For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.

thanks @dgabrielli76 we'll take a look!

Ok so I stay tuned!

It seems it is no longer a problem


ZMQ following is broken

2024-07-04T09:22:40.294074000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:22:40.370543000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:23:18.842680000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:23:18.898757000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:23:52.079571000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:23:52.149720000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:24:20.598585000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:24:20.688673000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:24:52.788487000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:24:52.863039000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:25:32.617126000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:25:32.709388000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:26:03.945622000+00:00 - [   DEBUG] - API Status Poller - Backend state check passed.
2024-07-04T09:26:08.188708000+00:00 - [   DEBUG] - Parsing 100 raw transactions from mempool...
2024-07-04T09:26:08.256402000+00:00 - [   DEBUG] - Waiting for new transactions from mempool or new block...
2024-07-04T09:31:04.047056000+00:00 - [   DEBUG] - API Status Poller - Backend state check passed.
2024-07-04T09:36:04.100004000+00:00 - [   DEBUG] - API Status Poller - Backend state check passed.
2024-07-04T09:37:21.019319000+00:00 - [   ERROR] - Counterparty falls behind. 850657 < 850659
2024-07-04T09:37:31.131762000+00:00 - [   ERROR] - Counterparty falls behind. 850657 < 850659
2024-07-04T09:37:41.265820000+00:00 - [   ERROR] - Counterparty falls behind. 850657 < 850659

fixed here: https://github.com/CounterpartyXCP/counterparty-core/pull/2015
Blocks with ZMQ do not contain height: we check the most important thing, e.g that the previous_hash corresponds to the hash of the previous block.


Missing package

I use wordpress and wavesurfer.js and everything was OK until yesterday.
Yesterday I noticed that the plugin is not working properly and I have a warning in the console:
DevTools failed to load SourceMap: Could not load content for https://unpkg.com/wavesurfer.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
and when I enter url https://unpkg.com/wavesurfer.js.map
I have error in notice:
Cannot find package wavesurfer.js.map@latest
I attach the plugin with the code in the wordpress:
 function js_wavesurfer() {
                 	wp_register_script('wavesurfer_js', 'https://unpkg.com/wavesurfer.js');
	                wp_enqueue_script('wavesurfer_js', 'https://unpkg.com/wavesurfer.js');
 }

  add_action('wp_enqueue_scripts', 'js_wavesurfer');

How fix this problem?

This is because you are using the URL which points to the latest release of wavesurfer. You should always use an unpkg url with a version included, for example here is 4.2.0<EMAIL_ADDRESS>By including a version number in the URL, your site will never break if there is a broken release, or if there is a missing release (the current version has probably not been uploaded yet)

You should always use an unpkg url with a version included, for example here is 4.2.0<EMAIL_ADDRESS>
Agreed. But don't use unpkg in production, host the wavesurfer.js script yourself.

So what i must insert here:
wp_register_script('wavesurfer_js', 'https://unpkg.com/wavesurfer.js'); wp_enqueue_script('wavesurfer_js', 'https://unpkg.com/wavesurfer.js');

update the package soon to be as before?

What package?

What I must insert  above not to receive this message?

<EMAIL_ADDRESS>try that

still have in console:
DevTools failed to load SourceMap: Could not load content for https://unpkg.com/wavesurfer.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE


Fixes for use with Foundation and mocha-jsdom

We at Lucky Group use mocha-jsdom for unit testing of browser scripts, and Foundation, and these changes allowed us to fix incompatibilities that came up recently between the two. Feel free to respond with feedback and I'll apply any needed updates. Thanks.

Why is window available in your case?

I think the window check should be on by default. It would be more reasonable to opt into that functionality with an option:
mochaJsdom({ skipWindowCheck: true })

if (options.skipWindowCheck && global.window)
  throw new Error(...)

v0.4.0 is out with the skipWindowCheck option. cheers. :)
https://github.com/rstacruz/mocha-jsdom/blob/master/HISTORY.md

Ya, window check is a better solution.
We need global.window = global because Foundation defines window.Foundation, after which it references Foundation as a global. If global.window does not equal global, then this reference doesn't work. We also can't do this assignment after requiring mocha-jsdom because then the window object it created gets wiped out.


secrets: add a best practices section and API access recommentations

This section attempts to capture some of the best practices around
client API access to secrets. Specifically that list and watch operations
on secrets are extremely powerful.
This has been expressed a few times, but not formalized:
https://github.com/kubernetes/ingress/issues/816
https://github.com/kubernetes/kubernetes/issues/45189
https://github.com/kubernetes-incubator/service-catalog/issues/621
cc @kubernetes/sig-auth-misc

This change is

lgtm


Fixes Socket Info Memory Leak - Issue #27

I had a bit of time today to look into this. This one-liner seems to fix the memory leak related to SocketInfo by balancing out the retain on CFSocketContext

Actually, on further testing, this solution causes a crash. Presumably because I'm removing the object from memory before it is finished with.


global search

I did a search for isoniazid and got 5 antibiotics back.

The additional antibiotics included is because the descriptions for these antibiotics contained the keyword "isoniazid".  @hyoo We need to think about how make this less confusing to users by either including descriptions in the result display or only searching for antibiotics names.

Jim comment: Repeat of previous (which ticket?)

@jimdavis1 Is this still an issue?


Champ blocs

Initiate the PR for the tutorial for boulder fields biodiversity state analysis. The tuto is for 2 tools (IVR and dissimilarity).

Sorry i left this training aside for sometimes ... I am trying to fix it but as it is my first training material I don't understand all the errors here.
I get that the links for the tool are not correct but I don't see why. And i don't understand the other main error.
Can anyone help ?

Thanks a lot @hexylena ! I will check all that and try to fix everything !!

Hiha ! everything worked !! Thank you @hexylena !!

Youhouhou !!! Thnak you Marie !!


Capacity Chart Closing Problem

For the capacity chart JFrame.DISPOSE_ON_CLOSE is not working.

public void windowClosing(final WindowEvent event) {
if (event.getWindow() == this) {
dispose();
System.exit(0);
}
}

http://stackoverflow.com/questions/5522575/how-can-i-update-a-jfreecharts-appearance-after-its-been-made-visible

solved !


Arduino: BLE client not receiving remote characteristics indications

I can to connect to peripheral and its remote characteristic but when I try to write something, after to enable notify/indication, is disconnected and I don't know the reason.
I've tried to enable pairing mode on pheripheral and it's the same. I don't know if the issue is for  write with indication, I'm puzzled.
My code is:
#include "MyBLE.h"

static const char* LOG_TAG="MyBLE";

// Keyturner Pairing Service
const BLEUUID    Pairing_serviceUUID("a92ee100-5501-11e4-916c-0800200c9a66");
const BLEUUID    Pairing_GDIO_charUUID("a92ee101-5501-11e4-916c-0800200c9a66"); // GDIO characteristic. Propierties: WRITE

// Variables
static BLEUUID serviceUUID;
static BLEUUID charUUID;
static BLERemoteCharacteristic* pRemoteCharacteristic;
static BLEAddress *pServerAddress;
static BLEScan* pBLEScan;
// nuki
static Nuki nuki;
static Expected_Message message_Nuki;
static uint16_t lock_action_to_execute;
// state attributes
static boolean is_connected;
static bool is_paired;
static bool doPair;
static bool doConnect;
static bool doAction;

static uint8_t send_buffer[200];
std::vector<uint8_t> response(200);

void ble_setup() {

  ESP_LOGD(LOG_TAG,"Starting Arduino BLE Client application...");
  //esp_log_level_set("*", ESP_LOG_DEBUG);

  doConnect = false;
  doPair = false;
  doAction = false;
  is_connected = false;
  is_paired = false;

  message_Nuki= IND_NONE;
  response.clear();

  lock_action_to_execute = NONE;

  //BLEDevice::setMTU(200);
  BLEDevice::init("NoukeeFob");
  // Scanner
  pBLEScan = BLEDevice::getScan(); // Retrieve a Scanner and set the callback we want to use to be informed when we
  pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
  pBLEScan->setActiveScan(true);  // have detected a new device.  Specify that we want active scanning and start the

} // End of setup.

// This is the Arduino main loop function.
void ble_loop() {

    if (is_paired) {
        ESP_LOGD(LOG_TAG,"It's paired.");
        if (is_connected) {
                ESP_LOGD(LOG_TAG,"Now you can send commnand!!");
                if (lock_action_to_execute != NONE) {
                    message_Nuki = IND_CHALLENGE_COMMAND;
                    uint16_t message_out_length = nuki.create_challenge_payload(send_buffer);
										ESP_LOGD(LOG_TAG,"CL sends %X",*send_buffer);
                    pRemoteCharacteristic->writeValue(send_buffer,message_out_length,true);
                }
        }
        else {
            ESP_LOGD(LOG_TAG,"Trying to connect to data service...");
            serviceUUID = Keyturner_serviceUUID;
            charUUID = Keyturner_USDIO_charUUID;
            ESP_LOGD(LOG_TAG,"Searching service %s...\n", serviceUUID.toString().c_str());
            pBLEScan->start(5);  // scan to run for 5 seconds.
            if (doConnect) {
                if (connectToServer(*pServerAddress)) {
                    ESP_LOGD(LOG_TAG,"We are now connected to the BLE Server.");
                } else {
                    ESP_LOGE(LOG_TAG,"We have failed to connect to the server; there is nothin more we will do.");
                }
                doConnect = false;
            }
          }
        } // end is_paired
    else {
          serviceUUID = Pairing_serviceUUID;
          charUUID = Pairing_GDIO_charUUID;
          if (doConnect)  {
              ESP_LOGD(LOG_TAG,"Trying to connect to pair service...");
              connectToServer(*pServerAddress);
              if (is_connected) {
                  ESP_LOGD(LOG_TAG,"Now start pairing...");
                  doPair = true;
                  message_Nuki = IND_PUBLIC_KEY;
                	size_t payload_length = nuki.create_request_public_key_payload(send_buffer);
									printByteArray(send_buffer,payload_length);
									delay(1000);
                  pRemoteCharacteristic->writeValue(send_buffer,payload_length,true);
              }
              else {
                  ESP_LOGE(LOG_TAG,"We have failed to connect to the server; there is nothing more we will do.");
              }
              doConnect = false;
            }
          else {
            if (doPair) ESP_LOGD(LOG_TAG,"Waiting for a response");
            else {
              ESP_LOGD(LOG_TAG,"Searching BLE Device with service %s...\n", serviceUUID.toString().c_str());
              pBLEScan->start(30);  // scan to run for 30 seconds.
            }
          }
        }
    delay(10000); // Delay a second between loops.

} // End of loop

void MyClientCallback::onConnect(BLEClient* pclient) {
    ESP_LOGD(LOG_TAG,"Connected");
  }

void MyClientCallback::onDisconnect(BLEClient* pclient) {
    ESP_LOGD(LOG_TAG,"onDisconnect");
  }

/**
 * Scan for BLE servers and find the first one that advertises the service we are looking for.
 */

//Called for each advertising BLE server.
void MyAdvertisedDeviceCallbacks::onResult(BLEAdvertisedDevice advertisedDevice) {
    ESP_LOGD(LOG_TAG,"BLE Advertised Device found: ");
    ESP_LOGD(LOG_TAG,"%s",advertisedDevice.toString().c_str());

    // We have found a device, let us now see if it contains the service we are looking for.
    /*if (advertisedDevice.haveServiceUUID()) {
        Serial.println("We have found a Device with services");
    }
    // We have found a device, let us now see if it contains the service we are looking for.
    if (advertisedDevice.haveServiceUUID() && advertisedDevice.getServiceUUID().equals(serviceUUID)) { */
    if (advertisedDevice.getName() == "Nuki_14F0BFDD"){

      ESP_LOGD(LOG_TAG,"Found our device!  address: ");
      advertisedDevice.getScan()->stop();
      pServerAddress =  new BLEAddress(advertisedDevice.getAddress());
      doConnect= true;

    } // Found our server
} // onResult

static void notifyCallback(
  BLERemoteCharacteristic* pBLERemoteCharacteristic,
  uint8_t* pData,
  size_t length,
  bool isNotify) {

    ESP_LOGD(LOG_TAG,"******************** Notify callback for characteristic ");
    ESP_LOGD(LOG_TAG,"%s",pBLERemoteCharacteristic->getUUID().toString().c_str());
    ESP_LOGD(LOG_TAG," of data length ");
    ESP_LOGD(LOG_TAG,"%d",length);
    ESP_LOGD(LOG_TAG,"data: ");
    ESP_LOGD(LOG_TAG,"%s",(char*)pData);

    for(int i= 0;i<length;i++) response.push_back(*pData++);

} // end notifyCallback

bool connectToServer(BLEAddress pAddress) {

    ESP_LOGD(LOG_TAG,"Forming a connection to ");
    ESP_LOGD(LOG_TAG,"%s",pAddress.toString().c_str());

    BLEClient*  pClient  = BLEDevice::createClient();
    ESP_LOGD(LOG_TAG," - Created client");

    // Connect to the remote BLE Server.
    pClient->connect(pAddress);
		delay(200);
    ESP_LOGD(LOG_TAG," - Connected to server");

    // Obtain a reference to the service we are after in the remote BLE server.
    BLERemoteService* pRemoteService = pClient->getService(serviceUUID);
		delay(200);
    if (pRemoteService == nullptr) {
      ESP_LOGD(LOG_TAG,"Failed to find our service UUID: ");
      ESP_LOGD(LOG_TAG,"%s",serviceUUID.toString().c_str());
      return false;
    }
    ESP_LOGD(LOG_TAG," - Found our service");

    // Obtain a reference to the characteristic in the service of the remote BLE server.
    pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID);
		delay(200);
    if (pRemoteCharacteristic == nullptr) {
      ESP_LOGD(LOG_TAG,"Failed to find our characteristic UUID: ");
      ESP_LOGD(LOG_TAG,"%s",charUUID.toString().c_str());
      return false;
    }
    ESP_LOGD(LOG_TAG," - Found our characteristic");

    ESP_LOGD(LOG_TAG,"CanNotify %d",pRemoteCharacteristic->canNotify());
    ESP_LOGD(LOG_TAG,"CanRead %d",pRemoteCharacteristic->canRead());
    ESP_LOGD(LOG_TAG,"CanIndicate %d",pRemoteCharacteristic->canIndicate());
    ESP_LOGD(LOG_TAG,"CanWrite %d",pRemoteCharacteristic->canWrite());

    // Read the value of the characteristic.
    /*if(pRemoteCharacteristic->canRead()) {
      std::string value = pRemoteCharacteristic->readValue();
      Serial.print("The characteristic value was: ");
      Serial.println(value.c_str());
    }*/
    if(pRemoteCharacteristic->canNotify()||pRemoteCharacteristic->canIndicate()){
      const uint8_t notifyOn[] = {0x1,0x0};
      //const uint8_t notifyOff[] = {0x0,0x0};
      pRemoteCharacteristic->getDescriptor(BLEUUID((uint16_t)0x2902))->writeValue((uint8_t*)notifyOn,2,true);
      //pRemoteCharacteristic->getDescriptor(BLEUUID((uint16_t)0x2902))->writeValue((uint8_t*)notifyOff,2,true);
			delay(200);
      pRemoteCharacteristic->registerForNotify(notifyCallback);
      delay(400);
    }
    is_connected = true;

} // end connectToServer

void printByteArray(uint8_t byteArray[], size_t len){
	char hexArray[2*len+1];
	char* ptr_tmp = &hexArray[0];
	for (int i=0;i<len; i++) ptr_tmp += sprintf(ptr_tmp, "%02X", byteArray[i]);
	ESP_LOGD(LOG_TAG,"CL sends: %s",hexArray);
}

Also I attached the log, thanks in advance
[D][myBLE.cpp:34] ble_setup(): Starting Arduino BLE Client application...
[D][myBLE.cpp:119] ble_loop(): Searching BLE Device with service a92ee100-5501-11e4-916c-0800200c9a66...

[D][myBLE.cpp:252] connectToServer(): Forming a connection to
[D][myBLE.cpp:253] connectToServer(): 54:d2:72:f0:bf:dd
[D][BLEDevice.cpp:62] createClient(): >> createClient
[D][BLEDevice.cpp:68] createClient(): << createClient
[D][myBLE.cpp:256] connectToServer():  - Created client
[D][BLEClient.cpp:103] connect(): >> connect(54:d2:72:f0:bf:dd)
[I][BLEDevice.cpp:596] addPeerDevice(): add conn_id: 0, GATT role: client
[D][FreeRTOS.cpp:165] take(): Semaphore taking: name: RegEvt (0x3ffe7cf8), owner: <N/A> for connect
[D][FreeRTOS.cpp:174] take(): Semaphore taken:  name: RegEvt (0x3ffe7cf8), owner: connect
[V][FreeRTOV][pLE70]ls.itp):52] waitC iemapveneTyaeTong:ing(e: Reknot (GA3ffClie8),evewnetypc: nect[fo[ coDevect
pp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 0
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 0
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: RegEvt (0x3ffe7cf8), owner: connect
[V][FreeRTOS.cpp:86] wait(): << wait: Semaphore released: name: RegEvt (0x3ffe7cf8), owner: <N/A>
[D][FreeRTOS.cpp:165] take(): Semaphore taking: name: OpenEvt (0x3ffe7d58), owner: <N/A> for connect
[D][FreeRTOS.cpp:174] take(): Semaphore taken:  name: OpenEvt (0x3ffe7d58), owner: connect
[V][FreeRTOS.cpp:70] wait(): >> wait: Semaphore waiting: name: OpenEvt (0x3ffe7d58), owner: connect for connect
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLEDevice.cpp:580] updatePeerDevice(): update conn_id: 4, GATT role: client
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: OpenEvt (0x3ffe7d58), owner: connect
[V][FreeRTOS.cpp:86] wait(): << wait: Semaphore released: name: OpenEvt (0x3ffe7d58), owner: <N/A>
[D][BLEClient.cpp:136] connect(): << connect(), rc=1
[D][myBLE.cpp:261] connectToServer():  - Connected to server
[D][BLEClient.cpp:383] getService(): >> getService: uuid: a92ee100-5501-11e4-916c-0800200c9a66
[D][BLEClient.cpp:419] getServices(): >> getServices
[D][BLEClient.cpp:78] clearServices(): >> clearServices
[D][BLEClient.cpp:85] clearServices(): << clearServices
[D][FreeRTOS.cpp:165] take(): Semaphore taking: name: SearchCmplEvt (0x3ffe7fe4), owner: <N/A> for getServices
[D][FreeRTOS.cpp:174] take(): Semaphore taken:  name: SearchCmplEvt (0x3ffe7fe4), owner: getServices
[V][FreeRTOS.cpp:70] wait(): >> wait: Semaphore waiting: name: SearchCmplEvt (0x3ffe7fe4), owner: getServices for getServices
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteService.cpp:32] BLERemoteService(): >> BLERemoteService()
[D][BLERemoteService.cpp:40] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ...  Unknown
[D][myBLE.cpp:271] connectToServer():  - Found our service
[D][BLERemoteService.cpp:168] retrieveCharacteristics(): >> getCharacteristics() for service: a92ee100-5501-11e4-916c-0800200c9a66
[D][BLERemoteService.cpp:199] retrieveCharacteristics(): Found a characteristic: Handle: 139, UUID: a92ee101-5501-11e4-916c-0800200c9a66
[D][BLERemoteCharacteristic.cpp:43] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 139 0x139, uuid: a92ee101-5501-11e4-916c-0800200c9a66
[D][BLERemoteCharacteristic.cpp:256] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: a92ee101-5501-11e4-916c-0800200c9a66
[D][BLERemoteCharacteristic.cpp:286] retrieveDescriptors(): Found a descriptor: Handle: 140, UUID: 00002902-0000-1000-8000-00805f9b34fb
[D][BLERemoteCharacteristic.cpp:300] retrieveDescriptors(): << retrieveDescriptors(): Found 1 descriptors.
[D][BLERemoteCharacteristic.cpp:51] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[D][BLERemoteService.cpp:215] retrieveCharacteristics(): << getCharacteristics()
[D][myBLE.cpp:281] connectToServer():  - Found our characteristic
[D][myBLE.cpp:283] connectToServer(): CanNotify 0
[D][myBLE.cpp:284] connectToServer(): CanRead 1
[D][myBLE.cpp:285] connectToServer(): CanIndicate 1
[D][myBLE.cpp:286] connectToServer(): CanWrite 1
[D][BLERemoteCharacteristic.cpp:329] getDescriptor(): >> getDescriptor: uuid: 00002902-0000-1000-8000-00805f9b34fb
[D][BLERemoteCharacteristic.cpp:333] getDescriptor(): << getDescriptor: found
[D][BLERemoteDescriptor.cpp:138] writeValue(): >> writeValue: handle: 140, uuid: 00002902-0000-1000-8000-00805f9b34fb
[D][BLERemoteDescriptor.cpp:157] writeValue(): << writeValue
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteCharacteristic.cpp:444] registerForNotify(): >> registerForNotify(): Characteristic: uuid: a92ee101-5501-11e4-916c-0800200c9a66, handle: 139 0x8b, props: broadcast: 0, read: 1, write_nr: 0, write: 1, notify: 0, indicate: 1, auth: 0
[D][FreeRTOS.cpp:165] take(): Semaphore taking: name: RegForNotifyEvt (0x3ffec524), owner: <N/A> for registerForNotify
[D][FreeRTOS.cpp:174] take(): Semaphore taken:  name: RegForNotifyEvt (0x3ffec524), owner: registerForNotify
[D][BL[Re[oteCtara.ceristic.cpp:329]p:etD]sc gptoC():nt> getDescriTtpe: Suidng(00 29kn-00 GA10 Cl800t 00e05 ty34fb

[D]D][EReDeoiceharpcte0]stittCpien3Eve geaneseript ga)tCl<<ntEtDntcrnptler found
[D][BLER[eotegascrif:o4]cpp. UnknwriteVanue():V][ wEiteVa.cp: 95ndlga 14lieutEdent000e902tri00():00-k0own0080Tf9bl4fb
evDnt LERe: t3Desc[V]tor.cpi:s.7] :12te]alumpG: << writeValue
ttCl[V][FrentTOS GAp: E]ewait(): >>knowit: Se[Vp[BLe wiiticpp: n2] :ateClirNoEvfytTyt (oS3rinc()4),nkwnwn: ATTislerno eotit  foe  38
terF[rLECife
.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: RegForNotifyEvt (0x3ffec524), owner: registerForNotify
[V][FreeRTOS.cpp:86] wait(): << wait: S[mapBLEetielecped9 n] g: tegiertotintTvpe(oStffeg5): Unkwnen  <TTA>l
e[D][vent mote:harac[DrisLic.vic:4cpp re0i teattrNotify(): << rCgisteEForNtHafy(er(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][myBLE.cpp:103] ble_loop(): Now start pairing...
[D][myBLE.cpp:377] printByteArray(): CL sends:<PHONE_NUMBER>A7
[D][BLERemoteCharacteristic.cpp:550] writeValue(): >> writeValue(), length: 6
[D][FreeRTOS.cpp:165] take(): Semaphore taking: name: WriteCharEvt (0x3ffec584), owner: <N/A> for writeValue
[D][FreeRTOS.cpp:174] take(): Semaphore taken:  name: WriteCharEvt (0x3ffec584), owner: writeValue
[V][FreeRTOS.cpp:70] wait(): >> wait: Semaphore waiting: name: WriteCharEvt (0x3ffec584), owner: writeValue for writeValue
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: WriteCharEvt (0x3ffec584), owner: writeValue
[V][[V]eRLOS.ips.c6] 95it g: <CliantE enmapporeStrlea()d: nkmownWriTTChliEvt evxnt eyp84)41ownDr: LEDA>vic[.c[BL15emogeChClicteEvsnic.ndl:r(7: gritClalutE): tHawrlte [lue
gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 41
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 41
[D][BLEClient.cpp:165] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[I][BLEDevice.cpp:607] removePeerDevice(): remove: 0, GATT role client
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: RssiCmplEvt (0x3ffe8044), owner: <N/A>
[V][FreeRTOS.cpp:120] give(): Semaphore giving: name: SearchCmplEvt (0x3ffe7fe4), owner: <N/A>
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 5
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 5
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 1
[D][BLEDevice.cpp:150] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:952] gattClientEventTypeToString(): Unknown GATT Client event type: 1
[V][BLEUtils.cpp:1284] dumpGattClientEvent(): GATT Event: Unknown
[D][myBLE.cpp:117] ble_loop(): Waiting for a response
[D][myBLE.cpp:117] ble_loop(): Waiting for a response

@noukee Great post ! It's exactly the one I was looking for. Having the same issue. Is it possible to know what is your MyBLE.h include ? Thanks in advance.


changed പേര to പേര് in volunteerview

Issue Reference
This PR addresses the Issue : Fixes #1108
Summarize
Please, describe what the PR does, the changes you have made.

changed പേര to പേര്

Note - I dont know Malayalam but it is indeed getting translated to guava.

Thank you so much @Gotham13121997  - The change is small interms of size, but I think this one of the best examples of what communities and free and open source software can do.


Ingress not functional on Azure (AKS) cluster

Rancher versions:
rancher/server: v2.0.0-beta4-rc3
Steps to Reproduce:

Create a Azure container service cluster
Create a workload with nginx image
Create an ingress pointing to the workload

Accessing the ingress from any of the node IPs does not resolve to the desired targets.
The node IPs display internal address.
wget --header='host: foo.bar.com' http://<IP_ADDRESS>:80/name.html
--2018-04-25 12:05:03--  http://<IP_ADDRESS>/name.html
Connecting to <IP_ADDRESS>:80... ^C

If the Azure container service creates its own resource for the ingress, then the right endpoint should be provided to access the ingress.

TODOs:

investigate what is causing this. Is this our problem or the providers? Determine if it should be documented.
Determine if this could be solved by cluster capabilities?

In order to get ingress working, cluster needs to deployed a ingress controller.
By default GKE uses gce controller https://github.com/kubernetes/ingress-gce/blob/master/README.md and rke uses https://github.com/kubernetes/ingress-nginx/blob/master/README.md.
There are two ways to configure ingress for AKS:

Use nginx-controller by default. https://docs.microsoft.com/en-us/azure/aks/ingress.  From the docs it is only possible to install that from helm. (there is no official AKS api to support that, so it will be hard to integrate into rancher api)
Use AKS HTTP application routing. https://docs.microsoft.com/en-us/azure/aks/http-application-routing. This is supported by AKS api, so it is possible to integrate that into rancher api.
If we are going with approach 2, we will have to add a new flag in kontainer-enginer to flip the setting, and corresponding api to turn on ingress addon.

As with https://github.com/rancher/rancher/issues/13086, we are going to note/warn about this on cluster creation.
SInce AKS does have the api for creating an ingress, in 2.2 we'll probably implement it properly

Wouldn't it make sense to deploy nginx-ingress like on custom clusters?

Is there any information when/if this is been addressed?

@amarczinek - This tripped me up for a bit, but the solution is pretty easy. You just need to add the annotation
kubernetes.io/ingress.class: addon-http-application-routing to the ingress object so that the ingress controller knows to pick it up.
Example:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: addon-http-application-routing
  name: some-url
  namespace: some-namespace
spec:
  rules:
  - host: some.url.com
    http:
      paths:
      - backend:
          serviceName: some-url
          servicePort: 80


refactor: throw error on anndata version not matching 0.8.0

#215
Update from logging a warning on anndata version not matching 0.8.0, to logging an error.
Also, deleted our draft 2to3 notebook now that the conversion command is done.

Looks good to me! Here is the error logging for reference:

ERROR: The h5ad artifact was generated with an AnnData version different from 0.8.0.
Validation complete in 0:00:00.939354 with status is_valid=False


FR: Twitter sign in button support for macOS

[REQUIRED] Step 1: Describe your environment

Xcode version: 12.2___
Firebase SDK version: 7.2___
Installation method: `CocoaPods
Firebase Component: Auth_ (Auth, Core, Database, Firestore, Messaging, Storage, etc)

[REQUIRED] Step 2: Describe the problem
MacOS via SwiftUI:
following the documentation to setup the twitter sign in button Im getting an error
" Value of type 'OAuthProvider' has no member 'getCredentialWith' "
Steps to reproduce:
build a SwiftUI app for macOS
add pods:
pod 'Firebase/Auth', '~> 7.2-M1'
  pod 'Firebase/Firestore', '~> 7.2-M1'
  #pod 'Firebase/Analytics', '~> 7.2-M1'
  pod 'Firebase/Storage', '~> 7.2-M1'
  pod 'Firebase/Functions', '~> 7.2-M1'
  pod 'Firebase/DynamicLinks', '~> 7.2-M1'
  pod 'Firebase/Messaging', '~> 7.2-M1'
pod 'FirebaseFirestoreSwift', '7.2-beta'

init firebase in the apps initializer
follow twitter auth documentation
What happened? How can we make the problem occur?
This could be a description, log/console output, etc.
If you have a downloadable sample project that reproduces the bug you're reporting, you will
likely receive a faster response on your issue.
Relevant Code:
var provider = OAuthProvider(providerID: "twitter.com")
    func signIN(){
    provider.getCredentialWith(nil) { credential, error in
          if error != nil {
            // Handle error.
          }
          if credential != nil {
            Auth().signIn(with: credential) { authResult, error in
              if error != nil {
                // Handle error.
              }
              // User is signed in.
              // IdP data available in authResult.additionalUserInfo.profile.
              // Twitter OAuth access token can also be retrieved by:
              // authResult.credential.accessToken
              // Twitter OAuth ID token can be retrieved by calling:
              // authResult.credential.idToken
              // Twitter OAuth secret can be retrieved by calling:
              // authResult.credential.secret
            }
          }
        }
    }

Hi @justBearded - looks like that function is only available for iOS at the moment: https://github.com/firebase/firebase-ios-sdk/blob/a2439c64d63e99b8135306e905ab0e9d8c4a9777/FirebaseAuth/Sources/Public/FirebaseAuth/FIRFederatedAuthProvider.h#L42-L52
If you'd like, we can turn this into a feature request to support other platforms. I'm not on the Auth team but I'm fairly certain this is due to UI requirements of presenting a web view for logging in and it's something we haven't explored yet.

that's exactly what I thought but was hoping to be wrong. Yes id love this to be a Feature request thank you

@justBearded Thanks. I converted to a feature request. And this is likely a feature that we'd be happy to review a community contribution for.

ASWebAuthenticationSession is available on macOS, so the iOS code should "just work".  Indeed, if you run an iOS app on an M1 Mac, the login process opens safari and returns to the app seamlessly once the login is complete.

Thanks @paulw11. Please let me know if you get it work on macOS. It would be great if you can make a PR if there is any code changes needed. Thanks!

Are there any changes or workarounds?  I need any solution to make OAuth by firebase in MacOS.


Login out of date error

Looks like this method no longer works:
{'message': 'Your version of Instagram is out of date. Please upgrade your app to log in to Instagram.', 'status': 'fail'}

Sorry, ignore me - a mistake in porting to python 3.


add future planned migrations to the migration guide

Didn't notice any typos, fwiw!  :)

Great! I want to get this out because it has the Sass mention for v0.23, but please still feel free to leave comments for next week.


fix(mongo): Remove MongoDB URI with credentials

Introduction 🗒
Remove MongoDB localhost URI credentials to address security alert.
Resolution ✔

Removed environment variable hardcoded value.
Added GitHub secret

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0d338f2). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             main   #1977   +/-   ##
======================================
  Coverage        ?   0.71%
======================================
  Files           ?     746
  Lines           ?   17238
  Branches        ?    2600
======================================
  Hits            ?     124
  Misses          ?   14984
  Partials        ?    2130

Flag
Coverage Δ

unit-test
0.71% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Question: a problem about the 'PointBid'

When I using the  'PointBid' class, I met with a problem.
I built a device agent. And I used ‘PointBid’ class to build its bidcurve by adding pricepoints.
If the quantity of pricepoints is small (e.g. 2 or 3..), it is okay. But, if the quantity of pricepoints is large (e.g. 7 or 8..), an error will appear: 'ERROR n.p.c.c.Concentrator$MatcherPart - doBidUpate failed for matcher concentrator'.
Would you please tell me what's wrong?

For me it is not really clear what your question is. Could you maybe show us some of your code?
Also, the structure of the Bid (or PointBid) is going to change a bit in PowerMatcher 2.1, which we want to release soon. If you like to you can checkout the powermatcher-2.1RC branch, maybe it helps.

If I use the below code, it is okay.
publishBid(new PointBid.Builder(mb).add(mb.getMinimumPrice(), 0.0)                                                .add((price1 - 1e-5), 0.0)                                                .add(price1, d1)                                                .add(mb.getMaximumPrice(), d1)                                                .build());
But if I increase the quantity of pricepoints, an error will appear. For example:
publishBid(new PointBid.Builder(mb).add(mb.getMinimumPrice(), 0.0)                                                .add((price1 - 1e-5), 0.0)                                                .add(price1, d1)                                                .add((price2 - 1e-5), d1)                                                .add(price2, d2)                                                .add((price3 - 1e-5), d2)                                                .add(price3, d3)                                                .add(mb.getMaximumPrice(), d3)                                                .build());


Generate SQL context menu not activating

Description
When opening table detail, right-click on the empty grid space the "Generate SQL" menu item shows up in the context menu does not activate
DBeaver Version
<IP_ADDRESS>407071610
Operating System
Windows 10
Database and driver
Firebird v3.0.10, Jaybird JCA/JDBC driver 4.0.0
Steps to reproduce
https://github.com/user-attachments/assets/d8d5afcf-5bae-4a10-854a-de54984cc282
Additional context
No response

Thank you for bug report.


release update

🤖 Generated by Copilot at 578f28f
This pull request introduces various improvements and fixes to the NFT gallery components, styles, and workflows. It refactors the balance fetching logic, enhances the address input and chain name display, fixes prop definition and validation bugs, adds support for unlockable metadata and generative drops, improves the responsiveness and user interface of the purchase and create forms, and adds a new workflow for building the libs/ui package. It also updates the global.scss file, the footer component, and the CONTRIBUTING.md file.

https://github.com/kodadot/nft-gallery/pull/7830
https://github.com/kodadot/nft-gallery/pull/7828
https://github.com/kodadot/nft-gallery/pull/7827
https://github.com/kodadot/nft-gallery/pull/7822
https://github.com/kodadot/nft-gallery/pull/7818
https://github.com/kodadot/nft-gallery/pull/7816
https://github.com/kodadot/nft-gallery/pull/7815
https://github.com/kodadot/nft-gallery/pull/7813
https://github.com/kodadot/nft-gallery/pull/7812
https://github.com/kodadot/nft-gallery/pull/7806
https://github.com/kodadot/nft-gallery/pull/7804
https://github.com/kodadot/nft-gallery/pull/7803
https://github.com/kodadot/nft-gallery/pull/7800
https://github.com/kodadot/nft-gallery/pull/7797
https://github.com/kodadot/nft-gallery/pull/7796
https://github.com/kodadot/nft-gallery/pull/7794
https://github.com/kodadot/nft-gallery/pull/7793
https://github.com/kodadot/nft-gallery/pull/7791
https://github.com/kodadot/nft-gallery/pull/7785
https://github.com/kodadot/nft-gallery/pull/7784
https://github.com/kodadot/nft-gallery/pull/7783
https://github.com/kodadot/nft-gallery/pull/7782
https://github.com/kodadot/nft-gallery/pull/7772
https://github.com/kodadot/nft-gallery/pull/7771
https://github.com/kodadot/nft-gallery/pull/7768
https://github.com/kodadot/nft-gallery/pull/7767
https://github.com/kodadot/nft-gallery/pull/7765
https://github.com/kodadot/nft-gallery/pull/7764
https://github.com/kodadot/nft-gallery/pull/7763
https://github.com/kodadot/nft-gallery/pull/7758

yes, investigating


Some easter eggs ;)

Add ability to set cookie strings -> should be hidden to normal users. Need a webservice to set/clear cookies for infoscreen API from Krems.

https://github.com/wymsee/cordova-HTTP


HelloWorld demo uses an older builder syntax

We now have DefaultPolicy not NoPolicy. Documentation needs updating.

If you need help, let me know, just tell me how the html is generated, I made a quick search and can't locate the files used to create the html.

@rudygt We use GitHub pages. So you need to switch to the gh-pages branch. It is s static site there. Feel free to mark the issue us 'grabbed by community' if you want to fix.

@iancooper Thanks!, can you please add the label? I'm happy to help, I think I can't add labels right?


ext_authz integration tests are flaky

Looks like a timing issue for waitForExtAuthzRequest
[ RUN      ] IpVersionsCientType/ExtAuthzGrpcIntegrationTest.TimeoutFailClosed/IPv4_GoogleGrpc_RawHeaders
[2024-04-12 15:50:51.067][101346][critical][assert] [test/extensions/filters/http/ext_authz/ext_authz_integration_test.cc:209] assert failure: result. Details: Timed out waiting for new stream.
[2024-04-12 15:50:51.067][101346][critical][backtrace] [./source/server/backtrace.h:127] Caught Aborted, suspect faulting address 0x3e900018be2
[2024-04-12 15:50:51.067][101346][critical][backtrace] [./source/server/backtrace.h:111] Backtrace (use tools/stack_decode.py to get line numbers):
[2024-04-12 15:50:51.067][101346][critical][backtrace] [./source/server/backtrace.h:112] Envoy version: 0/1.30.0-dev/test/RELEASE/BoringSSL
[2024-04-12 15:50:51.068][101346][critical][backtrace] [./source/server/backtrace.h:119] #0: __kernel_rt_sigreturn [0xffff9c4e68fc]
[2024-04-12 15:50:51.068][101346][critical][backtrace] [./source/server/backtrace.h:119] #1: abort [0xffff9c25baac]
[2024-04-12 15:50:51.079][101346][critical][backtrace] [./source/server/backtrace.h:119] #2: Envoy::ExtAuthzGrpcIntegrationTest::waitForExtAuthzRequest() [0xb0b840]
[2024-04-12 15:50:51.090][101346][critical][backtrace] [./source/server/backtrace.h:119] #3: Envoy::ExtAuthzGrpcIntegrationTest_TimeoutFailClosed_Test::TestBody() [0xb12264]
[2024-04-12 15:50:51.101][101346][critical][backtrace] [./source/server/backtrace.h:119] #4: testing::internal::HandleExceptionsInMethodIfSupported<>() [0x1ea72e4]
[2024-04-12 15:50:51.112][101346][critical][backtrace] [./source/server/backtrace.h:119] #5: testing::Test::Run() [0x1ea7180]
[2024-04-12 15:50:51.123][101346][critical][backtrace] [./source/server/backtrace.h:119] #6: testing::TestInfo::Run() [0x1ea83a0]
[2024-04-12 15:50:51.134][101346][critical][backtrace] [./source/server/backtrace.h:119] #7: testing::TestSuite::Run() [0x1ea91b8]
[2024-04-12 15:50:51.146][101346][critical][backtrace] [./source/server/backtrace.h:119] #8: testing::internal::UnitTestImpl::RunAllTests() [0x1eb71e8]
[2024-04-12 15:50:51.157][101346][critical][backtrace] [./source/server/backtrace.h:119] #9: testing::internal::HandleExceptionsInMethodIfSupported<>() [0x1eb6cb8]
[2024-04-12 15:50:51.168][101346][critical][backtrace] [./source/server/backtrace.h:119] #10: testing::UnitTest::Run() [0x1eb6b14]
[2024-04-12 15:50:51.179][101346][critical][backtrace] [./source/server/backtrace.h:119] #11: Envoy::TestRunner::runTests() [0x185e1c0]
[2024-04-12 15:50:51.190][101346][critical][backtrace] [./source/server/backtrace.h:119] #12: main [0x185cf64]
[2024-04-12 15:50:51.190][101346][critical][backtrace] [./source/server/backtrace.h:119] #13: __libc_start_main [0xffff9c25be10]
================================================================================
INFO: Elapsed time: 3438.297s, Critical Path: 596.85s
INFO: 36338 processes: 16264 remote cache hit, 13521 internal, 1 local, 6552 processwrapper-sandbox.
//test/extensions/filters/http/ext_authz:ext_authz_integration_test      FAILED in 16.1s
  /build/bazel_root/base/execroot/envoy/bazel-out/aarch64-opt/testlogs/test/extensions/filters/http/ext_authz/ext_authz_integration_test/test.log

https://dev.azure.com/cncf/envoy/_build/results?buildId=167805&view=logs&j=767be981-567e-57d8-68c3-2140ede0a0bd&t=2181edf2-f610-59f2-c43a-04bb9d0bca00

@antoniovleonti if you have some spare cycles, PTAL.

Tests failing:

TimeoutFailClosed/IPv4_GoogleGrpc_RawHeaders
TimeoutFailOpen/IPv4_GoogleGrpc_RawHeaders.

Clearly caused by the grpc timeout. I'm not sure of the exact mechanics or why it only affects the Google grpc client. Seems if the timeout is triggered before either of waitForNewStream or waitForGrpcMessage is satisfied, the request is cancelled and those waitFor... functions eventually timeout too.
I don't think waitForExtAuthzRequest is necessary in those tests. We just need the filter to make an authz request into the void so it can timeout & we can test the failure behavior.


⚠ Bofrost.at has degraded performance

In 5ac5bbc, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2171 ms

Resolved: Bofrost.at performance has improved in 798a0d3 after 6 minutes.


Keeps walking

Expected Behavior
Spun pokestop
Capture pokemon
Actual Behavior
Keeps walking
Other Information
OSX El capitan
Git Commit:
01bc14de0543196de6688dc6bd560739db59fd14
Python Version:
Python 2.7.11

Same here. Bot is walking only and it does not even affects eggs incubation.

API update again?

Same here. "Skipping Recycling of Items. 110 space left in bag."  Take a look at this:

Based on commit 01bc14de0543196de6688dc6bd560739db59fd14

Some people say its IP banned.

I have got the same problem this morning, just move the bot from a close location by changing the location value in the config.json file

Worked for me !
Closing issue


[BUG] ProgressBar updates are posted to stderr

Describe the bug
The progress bar for the import is outputting to stderr instead of stdout like the other logs on the ImportCommand
2023-08-22T08:09:25.860445803Z stdout F Importing [App\Models\Something]
2023-08-22T08:09:26.070524393Z stderr F
2023-08-22T08:09:26.070559394Z stderr F Clean up
2023-08-22T08:09:26.070568085Z stderr F   1/153 [➤⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬]   0%

To Reproduce
Run an import
Expected behavior
The progress bar should be info/stdout as default

This could be related to Stages somehow. I could not reproduce it on my local because of the shell. Could you give more detail related to how you are getting this response.
➜  laravel-scout-elasticsearch-example git:(main) ✗ php artisan scout:import
Importing [App\Models\Product]
Switching to the new index
5/5 [⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬] 100%

 [OK] All [App\Models\Product] records have been imported.

Importing [App\Models\Attribute]
Switching to the new index
5/5 [⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬⚬] 100%

 [OK] All [App\Models\Attribute] records have been imported.


Cant usage pretrained model

./model/sf1_tf2/sf1_tf2.ckpt.data-00000-of-00001; No such file or directory
[[node save/RestoreV2 (defined at /mnt/model.py:21) ]]

In google drive I cant find all files to usage model. Can somebody give me link to download model, ty?


enhanceReduce the scope of permission locks

What problem does this PR solve?
when check table exists, not need hold write lock of Auth
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Reduce the scope of permission locks
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[x] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.
Please clearly describe your PR:

What problem was fixed (it's best to include specific error reporting information). How it was fixed.
Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
What features were added. Why was this function added?
Which code was refactored and why was this part of the code refactored?
Which functions were optimized and what is the difference before and after the optimization?

run buildall

run buildall

run cloud_p0


Missing test for concatention bug

Describe the bug
There was a nasty bug in 1.3.16 which was resolved in 1.3.17.
Instead of concatation of string, it was replaced in foreach.
Notice variable html, when traversing images with forEach should append to it, instead it was replaced.
Bug is not present where there is only one line inside forEach.
Input code
No response
Config
No response
Playground link
https://play.swc.rs/?version=1.3.16&code=H4sIAAAAAAAAA3WQOwuDMBSFd3%2FFRQoaFLv76CIdCl07lQ5BrzWgUWLsUvLfm0SLD9o7hNxzcr6bpMSKcfTvjxCqkReSdRx8Am8HdL2ogEtLn3jrm46WKCCbHVMCuZasP8Sr9IEZ6coGmXdcUo0XIVhtIKv4d0At20ZzPS9xNt6UiKpOnGlR%2BwvfGnuSKUsKNCodespBMtlg5uYCqcQyBg%2BCCRoVk6R7zz3puX9BND0a1P6MIru7%2FnhyZCC%2BWcgSVnan5rRAOQq%2B%2FeHEUeQDXu28R5QBAAA%3D&config=H4sIAAAAAAAAA3VUQZIbIQz8C2cfNj6l9gG55ZQHUBjEGAfQFBKzdrn89wjPmPHYmxs0LSGpG67qRFZ9XtVoCkFpK7pkNmf1qcAmQ7aEkdVOaAJxqXDbKS4mk8eSGr2AsXxf1MwhgQSaypgMBytxIY1Y%2BA%2FWYtvRONN3ysEEEccEmZe8LbEpA3C7mvYf%2B73QIiJJnDeRYKdSyMFf2mUWk6QiamsJqi0PdZ4pBb9ozrtTB8QIUvHrXhvSITMMUNZQizGakUBPpvSIdpspgTBvoMrg9FhwfEKzCxwwS7IH5sA4bdFBB0IBy2GClSI5hJJJCuuV3EEHhzoMTZiZCZOJ1XDPBef7GOTGHnfEQKx9zfQCbSqdobnJhRW8LsC15AfnhCFv5vAXQOqMhiibBGvkHfeiw5bpv2GF7EVEvnRUFF6ryjBIczoE3ztsVUPhsE6rgKsWWod2Tb6Am4YoONDgvUy7B9NXYHtck%2FFlBPR9K1MzftVg3uqHn7Zos8Ab%2BEuq4mc5Flzew%2FEVo0s6YHxLkYCP6N5gGQTjK1jEvefxFa3ZgYwZ3NNBpbbtNhXxGXUEXucshpAYPUQ8dPvKo0wmD82WV8U4xvZst4r%2B1w%2FfYHLJ1ARerPgwHvxcNTPio%2FDjYwFu7VtI6OpSgagl34NMPmE%2Bkbqtf8LcRaDfC%2Fle%2FT%2BAViwh3wQAAA%3D%3D
Expected behavior
While it is now fixed, i believe there should be a test for this bug.
Actual behavior
No response
Version
1.3.16
Additional context
No response

Do you mean we need to add test case? We have a lot of tests and I think your case already handled

But clearly tests did not fail but there was an error in version 1.3.16 as seen in the playground link.


<printf.h> only available in glibc

<printf.h> is only available in glibc. Building from master with a musl toolchain fails, because printf.h is not found. Is printf.h only needed in debug build (DEBUG is defined)? At least, I can compile when guarding the include statement with #if DEBUG ... #endif.
EDIT: <printf.h> not <fprintf.h>

Sorry, but I don't understand your case...
There is no #include <fprintf.h> in the bluez-alsa codebase. Moreover, fprintf() is conforming to: POSIX.1-2001, POSIX.1-2008, C89 and C99.

Sorry, my bad! I meant <printf.h> not <fprintf.h>.

Thanks for the quick fix!

No problem ;)