HFP AG example: outgoing callback not triggered (IDFGH-2931)

Environment

Development Kit:      ESP32-Wrover-Kit
Kit version v4
Module or chip used:  ESP32-WROVER-B
IDF version: v4.2-dev-781-g47253a827
Build System: make
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0
Operating System:     macOS
Using an IDE?: No
Power Supply:      USB

Problem Description
ESP32 connects to a BT headset, receives audio from BT headset (CVSD codec), however, it is not sending audio to the same BT headset. Callback bt_app_hf_outgoing_cb (see here) almost never gets called. If it ever does, it is followed by a crash exactly like described in #4794 .
Expected Behavior
Callback bt_app_hf_outgoing_cb is expected to get called to play the sine wave in the headphones.
Actual Behavior
Callback bt_app_hf_outgoing_cb is not run at all except very rarely and randomly, followed by crashes exactly like described in #4794 .
Steps to reproduce

Open [HFP AG](https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/bluedroid/classic_bt/hfp_ag example)
put a ESP_LOGI("..."); statement to both bt_app_hf_outgoing_cb and bt_app_hf_incoming_cb
Follow README in hfp_ag example
Uncomment this line and put mac address of your BT headset there
Set HCI data path in menuconfig
leave Bluedroid Options --> Wide Band Speech off
set BR/EDR Sync(SCO/eSCO) Max Connections to 1 or more (default is 0)
make flash monitor (runs HFP AG example)
hf con; (if not connected yet)
hf cona;

Code to reproduce this issue
Example code for callbacks in bt_app_hf.c:
static uint32_t bt_app_hf_outgoing_cb(uint8_t *p_buf, uint32_t sz)
{
    ESP_LOGE(BT_HF_TAG, "bt_app_hf_outgoing_cb");

    int sine_phase = esp_random();

    for (int i = 0; i < TABLE_SIZE_CVSD; i++) {
        p_buf[i * 2]     = sine_int16[sine_phase];
        p_buf[i * 2 + 1] = sine_int16[sine_phase];
        ++sine_phase;
        if (sine_phase >= TABLE_SIZE_CVSD) {
            sine_phase -= TABLE_SIZE_CVSD;
        }
    }
    return sz;
}

static void bt_app_hf_incoming_cb(const uint8_t *buf, uint32_t sz)
{
    ESP_LOGE(BT_HF_TAG, "bt_app_hf_incoming_cb, buf size: %d", sz);
    // direct to i2s
    esp_hf_outgoing_data_ready();
}

Note
I am using Sony SBH20 and Sony WH-1000XM3 headsets, both have the same behaviour.
Thank you.

@pavestru Thanks for reporting, we will look into.

Hi, is there any news on this issue?

Hi. I got the same issue on the newest master. What is the status here? Is it a work in progress?

Same issue here.  The outgoing callback hasn't been called once, but the incoming is firing as expected.

Just tested on latest pull from release v4.2 and still got the issue.
My log is just being flooded with the following.  Incoming audio (from HFP client) seems ok, but a little glitchy.  Certainly nowhere near as stable as A2DP.
W (22802) BT_APPL: bta_ag_sco_read_cback: status(2)

Just tested on 4.3 and still not working. Is this issue being looked into at Espressif?

Hi @Alvin1Zhang! Have made any progress on this issue?

Thanks for the updates, and sorry for slow turnaround, we are still debugging this issue, will share updates once available. Thanks.

Hi, @pavestru and other users!
I offer a patch to fix this problem, you can have a try. Please let me know if it still has problems. By the way, it is not recommended to print too much information in the callback function.
0001-fix-ag-example-outgoing-callback-not-triggered.zip

Hi @boblane1!
I applied the patch you shared to release v4.1 ESP-IDF and this is the result that I got - https://www.youtube.com/watch?v=peONupbGCGs. I don't know if this is what should be expected but it is definitely a step up.
Thank you very much!
For everyone else. To reproduce this effect checkout the ESP-IDF at v4.1, apply the patch from the @boblane1's post, change the SCO path to HCI, disable the Wide Band Speech and change the BR/EDR Sync(SCO/eSCO) Max Connections to 1. Compile, flash, voila!


YoutubeDL: check for overwriting files in the downloader (fixes #3916)

Right now YoutubeDL.process_info is checking if nooverwrites is True and if the file exists and setting success = True, which is preventing this to be reported and the progress hooks added using YoutubeDL.add_progress_hook from being called to access the status dict.
self._hook_progress({
    'filename': filename,
    'status': 'finished',
    'total_bytes': os.path.getsize(encodeFilename(filename)),
})

So if we let FileDownloader.download handle this check the same way it's doing for continuedl then the progress hooks will be called and it will be reported that the file already exists, and success will be set to True which will be returned by dl(), so no major changes were made to the class.

Merged, thanks (and sorry for the delay).


[WFLY-12935] Move to jakarta EE8 Concurrency RI

Issue: https://issues.redhat.com/browse/WFLY-12935

Dependency Tree Analyzer Output:
New Dependencies:

org.glassfish:jakarta.enterprise.concurrent:jar:1.1.1:compile

Removed Dependencies:

org.glassfish:javax.enterprise.concurrent:jar:1.0:compile

CC @wildfly/prod


Add support for Linux with rootless Docker

DM runner has has Linux support for a while. However, whoever originally set it up had a rather different system to mine. Their docker had root access, so worked a bit differently to me. A Linux user with rootless docker needs to set up nginx themselves - this is already documented in the readme.
To get it running on my system, I needed to manage nginx separately and change some networking settings.
This will inconvenience any Linux users who have given their docker root access. I believe I am the only Linux user, however, so this isn't a problem.
Also did a bit of refactoring. I think generators make the health check logic clearer.

Black was unhappy. Fixed formatting, and also fixed the make black command so it works as intended


Windows 32-bit builds failing

These two builds on 32-bit windows failed.
https://ci.appveyor.com/project/samuel-massinon-invenia/virtualarrays-jl/build/1.0.2/job/jh3y5ith4v52t0or
https://ci.appveyor.com/project/samuel-massinon-invenia/virtualarrays-jl/build/1.0.2/job/ljidu4er0079hq84
Looking at where the tests fail, it seems that they were copying the 1d array into VirtualArray rather than just having the pointer to the original array.
Though, it is odd that some 1d array tests failed and some others passed.
I don't think I have access to a 32-bit windows computer so I don't think I will be able to debug this one.

Took a guess at the issue and was right, fixed in PR https://github.com/invenia/VirtualArrays.jl/pull/5.


"Never ask again" problem

I think when you use select don't ask again and this function can't use when use want to use.  Maybe it should pop the permission dialog again.

Check the behaviour of never ask again.
ref: https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en .


Import export site energies

-Resolves #8

Coverage increased (+0.08%) to 82.253% when pulling 52b3d3117d90ce6584d63cc223c5b3d3f0efbcca on import-export-site-energies into cf831113b8fe98e077fc1c42441f8db54c691233 on development.


chore: Create devcontainer.json

Which issue does this PR close?
None
Rationale for this change
Easier contribution
What changes are included in this PR?
Added devcontainer file
Are these changes tested?
yes
Are there any user-facing changes?
No

FYI, here is the devcontainer I personally use for all my DataFusion development: https://github.com/Omega359/arrow-datafusion/tree/feature/devcontainer/.devcontainer

@Omega359 do you wanna take this as you have better configuration?

@Omega359 do you wanna take this as you have better configuration?

I asked some months back in the discord channel if anyone was interested and got no interest at that time. It's not something I want to maintain outside of my own use to be honest - it was just an fyi for you in case it helped you :)


Add HTML validator content to Frontend testing doc

Addresses #2279.
This PR adds content to our Frontend testing doc, so contributors will know they have to check whether their HTML is valid.
The current version of the doc does not mention the need to validate, which makes it easy for contributors to overlook.

@lfdebrux Thank you! I'll send this PR for 2i now.

Content has passed pre-i. Have sent it for 2i.

Content has passed 2i.


differential_evolution bug converges to wrong results in complex cases

The differential evolution does not converge correctly, and is incompatible with the original code (from algorithmic point of view) of Storn.
Storn claims that the algorithm has negligible advantage when increasing the population over 40 regardless of the number of objective function model variables. When I tried to use a population of ~60 with my problem which is quite complex (Solving Arrhenius parameters for several reactions). It converged to wrong results and the objective function was far from the correct values. While checking the code I found that the population which is used during an iteration is written during the same iteration. It creates an unacceptable bias in the direction of the currently best  result and all the population quickly converges to the same result which is wrong. In all the codes I found on the net including Storn`s code the population  used within an iteration is from previous iteration only, and the currently best result is saved in a different array designated for that purpose. at the end of the iteration the modified population is copied to the population to be used at the next iteration.
Privately fixing the code not to modify the population used in the same iteration solved the problem and the function converged correctly with the same small population. Larger populations partially "hide" the bug since it is a stochastic process and the bias becomes minor.
best1bin strategy was used. actually most o the arguments were the default ones, only maxiter, tol, callback, and disp were modified (larger maxiter and smaller tol)
I use Scipy version 0.18.1 from Anaconda distribution.
Another minor (not a bug but structural, implementation problem) problem. An attempt to use the strategy functions as generic preassigned in the constructor was made (very good), alas, not all functions had the same interface which results the need for if statement in the code, the function is not generic any more.
Attached is a fixed version of _differential_evolution.py with the bug and the second problems fixed, as I figured out. Not necessarily with the naming convention of the library.
_differentialevolution.zip

There was actually another severe bug fixed. In the original class when the temporary tested  candidate created by _mutate the is better than the original one it is overridden (O.K). The problem is that if it was better than the currently best, than the 0 index population member was overridden rather than switched with the new best result (in the case where the tested candidate was not the first one in the population, but still was better than the one in the zero index). The previously best is lost as a population member and 2 copies of the new best now exist.

@yonadav Do you mind opening a pull request for this? It is not very convenient to download and setup everything from scratch let alone being able to use GitHub's review systems and so forth.
Also if there are correctness/performance claims it is best to show the timings and results with a test suite.

There is no performance issue it is simply a bug, since it is a statistical process the bug may be obscured in many cases but it is still there. Verified against the C++ code published by Storn (one of the creators of the algorithm). I cannot publish the code for the objective function and the data-set of the experiment.
My code is just an example of a possible option to solve the problem, did not pay attention to coding conventions of the library. So my guess is that it is not a very good candidate for pull request and was given only as an algorithmic example of the solution to back up the explanation.
The code is an add-on not a must I could just leave the explanations.
If you think it is feasible for a pull request I can open one.
As for tests it should converge for a population of 40 as Storn claimed and it did after the correction for a very complex equation with 24 parameters to solve. It converged successfully for several different data-sets

The scipy version of differential_evolution is the variant outlined in Wormington et al., Phil. Trans. R. Soc. Lond. A (1999) 357, 2827–2848, 10.1098/rsta.1999.0469. The flowchart in fig1 outlines the optimization.
In this variant if the trial vector is better than the parameter vector then it replaces it, if it's better than the best fit vector it also replaces that - within the same generation. This leads to faster convergence. You are correct in saying that the code is not the same as the original Storn and Price algorithm, it's simply a variant.
Variants aren't bad if they lead to enhancements. For example, the original Storn and Price code didn't dither the mutation constant, F. However, this has been found to improve convergence behaviour, so it's probably better to have that variant.

Of course in your situation it seems that you don't want the aggressive variant. It would be relatively straightforward to add an aggressive=True as a keyword. If you want to turn off that feature you could supply aggressive=False. In that way the current behaviour is unchanged, but you'd also get what you liked.

The reference you have mentioned is not included in the documentation only Wikipedia,  Storn and Price article and Storn`s site. The C++ variant by Storn does include dithering, they do use the currently best result for the strategies which requires the best result within the same generation. However, they use the population from the previous iteration with the exception of the currently best result.
see my second comment, when a new best result it located and it is not on index 0 then both index 0 is overridden as well as the actual candidate location. I find it hard to believe that it is in the algorithm you have mentioned.
It might converge faster in simple cases but in more complex ones it drifts to a totally wrong solution unless you use a very large population. It depends on how computationally expensive  your objective function is. In a very expensive OF having twice the number of iterations but with population of 40 instead of 400 is much better.
As I mentioned before the reference you wrote is not quoted in the manual nor in the code, so I had no way to know about the variant it is based upon.
I will stick to the variant I made which might converge slower but converges for me. The benefits of open source ....

It would be nice to have that keyword as well as adding the reference to your variant.
But still pay attention to my comment regarding the case when a best solution is located not at 0.
in that case you should switch between the previously best and the current best rather than overwrite it

I was going to reply to the second comment within the next couple of days.

Hi Andrew
It seems like the major problem was my second comment about the case when the currently new best candidate id is not 0.
I made a simple test based on the function from the help, your original DE does not converge correctly when the population is small enough and the variable range is large enough, Whereas the fixed version (it is a minor fix) converges correctly and with less iterations than the original Storn and Price algorithm.
I attached a zip of the test  _differentialevolutionMod0.py is the version with the correction on the second comment.
I will test it on my considerably more complex problem, where one of the parameters has a naturally possible range of more than 10 orders.
Thanks for adding the extra keyword and for adding the algorithm to scipy it saved me when all other optimization algorithm in the library failed (I was very very close to implement a genetic alg.).
By the way, is it possible to officially expose the  DifferentialEvolutionSolver class for inheritancerather than just the differential_evolution function?
TestDifferentialEvolution.zip

I can't read either of the zip files you attached. A gist of the code is a better idea if you want to share things.

your original DE does not converge correctly when the population is small enough and the variable range is large enough, Whereas the fixed version (it is a minor fix) converges correctly and with less iterations than the original Storn and Price algorithm.

What do you mean by does not converge correctly? Please be precise. Do you mean that it doesn't find a known solution, or does it follow a different path to a solution than the one you expect? In difficult problems (large dimensionality, with low popsize) I wouldn't expect it to find a solution 100% of the time.
Do you agree with the solution I made?

By the way, is it possible to officially expose the DifferentialEvolutionSolver class for inheritancerather than just the differential_evolution function?

At the moment it's been nice that the class hasn't been exposed, it hides the implementation and has allowed quite large internal changes to be made. That's not to say it can't be made public in the future.

Strange I downloaded the zip from GitHub and opened it, it can be opened in windows integrated compressed folder and with 7Zip.
What is a gist of the code?
I used the example in the help of differential_evolution (ackley ) but with larger range (-500, 500) and popsize of 7. It converged (from the implementation population convergence tolerance point of view) but to a wrong solution. different wrong solution depends on the seed.
It is a very simple test not structured like the library`s unit testing, just a demonstration of the problem.
It is of no consequences now since you have fixed it. (I saw that you fixed it only after my reply).
Excellent solution (and now I learned how to swap in a single line :) ).
The reason I need the class is because my objective function is highly  computationally expensive and very complex with many variables where some of them have ranges of many orders. It takes several hours  to complete. Hence access to the population and saving the population for a "continue" mode is an advantage (I located _differentialevolution.py and imported _differentialevolution & derived my own class from DifferentialEvolutionSolver class)
Thanks

You can put code in https://gist.github.com/ and can share the link. Then you can make modifications on the code there without the need of attaching files back and forth.

Thanks @ilayn  good to know, I'm new to GitHub.
@andyfaff I downloaded your latest (private) version it now converges correctly on my complex case even with aggressive=True. The bug was probably the need for swapping.

In these circumstances use of the term 'converge correctly' can be misleading. Correctly has a specific meaning, it implies the code is doing something quite wrong. I'd prefer the term 'doesn't find the global minimum'. Not finding a global minimum is quite common in global optimization, there are no guarantees. Running the benchmark suite will show that some problems have a middling success rate being tackled with either basinhopping or differential evolution.
I think the swapping is worth addressing, but I would classify it is a minor, not severe, bug.
I'm using macOS, it refused to open the posted zips, and besides it's safer to see the plain text gist.


Added rust flags for all architrcutures

There was a bug in yesterdays PR where the aar building was successfully happening on mac but not on linux. This PR is a fix to the rustflag changes raised yesterday.
Signed-off-by: Mohammad Abdul Sami<EMAIL_ADDRESS>

@nsivraj ^

BTW @faisal00813 please cherry pick this one commit at the top of the rc branch and update the PR.


hidden state of a share is not being persisted

Steps to reproduce

Make sure auto-accepting shares is enabled
As user1, share a folder with user2
As user2, try to hide the share via https://localhost:9200/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/YOUR_ID?hidden=true&format=json -> the response from the server looks good, it returns hidden: true
As user2, query all incoming shares -> the hidden property is false again. So there seems to be a problem with persisting the state.

\cc @dragonchaser

There seems to be an issue with the persistance, looking into it.


Check for proper error handling if files are missing

Check what happens if one of the archives is broken and add proper error handling if needed.

By archive you mean the JSON file, one of the binary files, or both?

I put this as a generic issue, as apparently there are some problems. For the start we should at least check that we get a nice error if one of the json files is missing.


If hard-linking fails, try to copy (in assemble())

Fix for the failure described here. I have my code checked out in a Virtual Machine on a Shared Drive (so I can e.g. use git outside the VM). Hard_linking doesn't work there.

Thanks! I think it's fine to not worry about printing too much here so how about:
fs::hard_link(&dst, &lib_dst).or_else(|_| {
    fs::copy(&dst, &lib_dst)
}).unwrap()

Ok I removed the println! but used expect() instead of unwrap() to get a better error message. Especially on Windows, where there's no (?) stack unwinding support, it's hard to find the underlying reason for a simple unwrap panic.
If you want this as a single commit, please say so and I'll rebase.

Could you also throw an .ok() in there before the expect? That was added recently and wasn't present in versions of older Rust (hence the CI failure)

Done.

Thanks!

Cool!
writes Rust contributer on Resume ;)

Am 21.09.2015 um 20:38 schrieb Alex Crichton<EMAIL_ADDRESS>Merged #57.
—
Reply to this email directly or view it on GitHub.

Would you mind releasing this (e.g. as 0.3.16) so that openssl-sys can use the bugfix? :)

Certainly! (done)


settings: Show users role in the my account.

Fixes: #10969.

Testing Plan:
GIFs or Screenshots:

Nice, merged after a bit more commit message work in e827e36429f69be469f00ad23088bfaac1d748c2, thanks @akashnimare!
Also merged 46d0ecdfe8d0bcfa1a21ff58f9cc3b3f9c09be1a as part of moving our CSS to be better-organized.


Aliases that resolve to command substitutions (backticks) are highlighted as errors

Hello, I recently upgraded to the latest version of zsh-syntax-highlighting but the aliases are not highlighted correctly:
plugins=(git symfony2 history-substring-search wd zsh-syntax-highlighting)
How can I fix it? Thanks!

The latest version highlights aliases according to what they resolve to.  I assume that % `_symfony_console` foo bar is also highlighted in red?  (I can't test that right now)
@phy1729 might know more (but I don't know when he might have time to look).
By the way, are you sure the alias is defined correctly?  Should it have been defined with double quotes?

Hello @danielshahaf!
Yes, the alias is also resolved in red but it does indeed work. This alias is automatically created by the Symfony native plugin for Oh My Zsh:

In case you don't use Symfony, the php bin/console is used to launch command to update the database, create controllers etc...
Thanks.

I still would like to understand the design choices around the alias. What's a valid use-case for defining an alias with command substitutions (backticks) on the right-hand side?  (I'm not familiar with symfony.)  It's not idiomatic, and there are more robust, equivalent alternatives.
Regarding zsh-syntax-highlighting, perhaps we could highlight such aliases differently: false positive unknown-token (red) highlightings should be avoided.
We have begun preparations for the 0.7.0 release. Is there any reason for this to be a blocker? I assume that "command substitutions in command position are highlighted in red" isn't a regression.

Unfortunately I don't know the design choices behind this choice, the alias definition of the plugin is very simple:
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/symfony2/symfony2.plugin.zsh
# Symfony2 basic command completion

_symfony_console () {
  echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' -type f | head -n 1)"
}

_symfony2_get_command_list () {
   `_symfony_console` --no-ansi | sed "1,/Available commands/d" | awk '/^  ?[^ ]+ / { print $1 }'
}

_symfony2 () {
   compadd `_symfony2_get_command_list`
}

compdef _symfony2 '`_symfony_console`'
compdef _symfony2 'app/console'
compdef _symfony2 'bin/console'
compdef _symfony2 sf

#Alias
alias sf='`_symfony_console`'
alias sfcl='sf cache:clear'
alias sfsr='sf server:run -vvv'
alias sfcw='sf cache:warmup'
alias sfroute='sf debug:router'
alias sfcontainer='sf debug:container'
alias sfgb='sf generate:bundle'
alias sfgc='sf generate:controller'
alias sfgcom='sf generate:command'
alias sfge='sf doctrine:generate:entity'
alias sfsu='sf doctrine:schema:update'
alias sfdc='sf doctrine:database:create'
alias sfdev='sf --env=dev'
alias sfprod='sf --env=prod'

Unfortunately I don't know which version I was using before this, but the sf command was highlighted in green.
Please let me know if I can help somehow!
Thanks!

The change was likely caused by https://github.com/zsh-users/zsh-syntax-highlighting/commit/cb8c736a564e0023a0ef4e7635c0eb4be5eb56a4 . PR #568 wouldn't change things since the command substitution in  `echo echo` foo is highlighted as unknown-token and unknown-token is propagated up to style the alias itself.
This is another case where we need to distinguish between an error and refusal to evaluate due to possible side effects.
I would encourage you to change the definition of _symfony_console to something like
_symfony_console() {
    local consoles=(console(N.) */console(N.))
    php $console[1] "$@"
}

Which can be invoked directly instead of creating a seemingly useless subshell.

Hello, unfortunately the Symfony plugin is not developed by me, can I add the suggested script in my .zshrc?

I have a similar issue with an alias for colored diff output.  Alias is:
alias cdiff='wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)"'
I'm not sure how to do this cleanly without being how it is, exactly, but perhaps it could also be written better.  Either way, zsh-syntax-highlighting started highlighting it red at some point semi-recently, likely the same cause as the original.

It doesn't seem like the issue @phy1729 described above, but as a workaround, you can change the alias to a function:
cdiff () { wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" "$@" }

(Aside: Thanks for sharing that; I'll add this to my zshrc.  I usually use icdiff and git diff --word-diff=color.)

The commit I just pushed fixes the issue locally. Please confirm it fixes it for you as well.
The issue was that end_pos was incorrectly used as a shortcut for the end of arg. In an alias, that isn't true because start_pos and end_pos are not updated while parsing arguments expanded from an alias.

Hello, that was a super quick turnaround!  Thanks!

Sorry about it actually being different - I took a quick glance at the issue and saw a similarity with $(blah) in the definition for the _symfony_console and sort of stopped there and reported it - I was in the middle of something work related and only had time to see if it was on my end, saw this, and did some whining.

The update appears to work!  I quick tested most of my aliases and functions and the only ones that didn't turn green were some that the target commands weren't relevant on the box I was on, so it's not just blindly turning them green either :)

Thank you again!  And yeah, it's a situationally useful little diff tool.

Thanks for following up and confirming the fix!  For future reference, I'd have preferred it if you'd opened a new issue and said you thought it was a duplicate of #617 but wasn't sure.  Numbers are cheap, and it's easier to handle duplicate issues than to handle a single issue number that discusses several distinct defects.  Cheers!

Hello, that was a super quick turnaround! Thanks!

Sorry about it actually being different - I took a quick glance at
the issue and saw a similarity with $(blah) in the definition for the
_symfony_console and sort of stopped there and reported it - I was in
the middle of something work related and only had time to see if it was
on my end, saw this, and did some whining.

The update appears to work! I quick tested most of my aliases and
functions and the only ones that didn't turn green were some that the
target commands weren't relevant on the box I was on, so it's not just
blindly turning them green either :)

Thank you again! And yeah, it's a situationally useful little diff tool.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zsh-users/zsh-syntax-highlighting/issues/617?email_source=notifications&email_token=AAQK5UAMHCM4CCXQ5TDUZ73QSVQJNA5CNFSM4HZILRRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDRUS3I#issuecomment-551766381, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQK5UDIGGOPW5DMLCEKWTTQSVQJNANCNFSM4HZILRRA.

Noted - apologies.  You'd think I'd know that, being a sysadmin and getting grumpy when someone stacks a ticket, but for whatever reason the developers I work with most often get cranky if you open too many tickets and so I've developed some bad habits out of that :\  Take care!

Looks like this is what's biting me here?

@kbd Your example works fine in current master.  If it doesn't, please open a new issue.  Thanks.

@kbd I can confirm that it's working properly for me as well.

Your example works fine in current master.

Great, thanks!

Edit: fwiw I'm using the Homebrew-packaged 0.7.1.

There are no relevant changes between 0.7.1 and master.  If after defining alias e='$EDITOR', uses of the alias are highlighted in red but execute successfully, please open a new issue.
I've re-titled this issue to clarify its focus.  Hopefully that will prevent this issue from being overloaded with a fourth meaning…

Closing as duplicate of #695 (which was filed much later, but still).


Nuget restore fails on latest vsImage = Windows-2019

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: NuGetCommand@2
Environment
Azure Pipelines
Agent - Hosted
Issue Description
In yaml pipeline file, when vmImage: 'windows-2019' or vmImage: 'windows-latest', NuGet restore fails with following error:
2020-04-06T17:33:51.5632607Z NuGet Version: <IP_ADDRESS>56
2020-04-06T17:33:51.5633538Z MSBuild auto-detection: using msbuild version '<IP_ADDRESS>03' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2020-04-06T17:33:51.5631558Z Error parsing solution file at D:\a\1\s\project.sln: Exception has been thrown by the target of an invocation.  The project file could not be loaded. Could not load file or assembly 'Microsoft.Build.Framework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.  D:\a\1\s\project.sln
2020-04-06T17:33:51.5632607Z NuGet Version: <IP_ADDRESS>56
2020-04-06T17:33:51.5633538Z MSBuild auto-detection: using msbuild version '<IP_ADDRESS>03' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2020-04-06T17:33:51.5635023Z NuGet.CommandLine.CommandLineException: Error parsing solution file at D:\a\1\s\project.sln: Exception has been thrown by the target of an invocation.  The project file could not be loaded. Could not load file or assembly 'Microsoft.Build.Framework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.  D:\a\1\s\360DegreeView.sln
2020-04-06T17:33:51.5636277Z    at NuGet.CommandLine.MsBuildUtility.GetAllProjectFileNamesWithMsBuild(String solutionFile, String msbuildPath)
2020-04-06T17:33:51.5636873Z    at NuGet.CommandLine.RestoreCommand.ProcessSolutionFile(String solutionFileFullPath, PackageRestoreInputs restoreInputs)
2020-04-06T17:33:51.5637476Z    at NuGet.CommandLine.RestoreCommand.<DetermineRestoreInputsAsync>d__42.MoveNext()
2020-04-06T17:33:51.5637941Z --- End of stack trace from previous location where exception was thrown ---

Issue is specific to Windows 2019 image.  NuGet restore works successfully when vmImage: 'vs2017-win2016'.
Everything was working fine for windows-2019 image five hours earlier on 2020-04-06T12:39:43.6352039Z.
The difference seems to be the msbuild version.  In exception above, msbuild version is <IP_ADDRESS>03.  In the previous run that was successful, it is msbuild version <IP_ADDRESS>107.
This shows the msbuild version on the previous run:
2020-04-06T12:39:45.6232029Z [command]C:\hostedtoolcache\windows\NuGet\4.4.1\x64\nuget.exe restore D:\a\1\s\360DegreeView.sln -Verbosity Detailed -NonInteractive
2020-04-06T12:40:25.2005949Z NuGet Version: <IP_ADDRESS>56
2020-04-06T12:40:25.2006810Z MSBuild auto-detection: using msbuild version '<IP_ADDRESS>107' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2020-04-06T12:40:25.2007733Z MSBuild P2P timeout [ms]: 120000
2020-04-06T12:40:25.2008936Z C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\bin\msbuild.exe "C:\Users\VssAdministrator\AppData\Local\Temp\NuGetScratch\wjfgwk2u.jd1.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="C:\Users\VssAdministrator\AppData\Local\Temp\NuGetScratch\o1xkb2oj.hca.nugetrestore.targets" /p:RestoreTaskAssemblyFile="C:\hostedtoolcache\windows\NuGet\4.4.1\x64\nuget.exe" /p:RestoreSolutionDirectory="D:\a\1\s" /p:SolutionDir="D:\a\1\s"
2020-04-06T12:40:25.2010110Z

Task logs
Can be provided upon request
Troubleshooting
Can be done upon request
Error logs
Can be provided upon request

Hi @pnwguy ,
To get these errors to stop, please add the Nuget Tool Installer task (docs here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/nuget?view=azure-devops) before running the restore to update the nuget version that the task is using. Please use the latest version of nuget.
Additionally, please make sure to kick off a new run of the job - this will pull down the latest version of the task as there are fixes in there. Re-running a job will use the same task as it used initially.
Please let me know if this unblocks you.

Thanks, I already had that, but didn't realize how old the version I had. Once I removed versionSpec parameter completely, it chose a later version and it worked successfully. Closing.


Combo box allows setting an empty value if it already has focus

Steps to reproduce

Add a vaadin-combo-box with a few items.

<vaadin-combo-box items='["One", "Two", "Three", "Four"]'>
</vaadin-combo-box>

Select an item. Click outside the box so that it loses focus. Select all of the text in the box, delete it, and press enter. The combo box reverts to the last selection.

Click inside the box so that it has focus. Select all of the text in the box, delete it, and press enter.

Expected result
The combo box reverts to the last selection.
Actual result
The combo box sets its value to an empty string.

Not sure if this is intended. It works the same if instead of enter after deleting the text, you simply click outside the box or press Esc.

Hello @eriklumme ! Thanks for reporting this, could you please copy-paste the issue to the vaadin-combo-box repo directly: https://github.com/vaadin/vaadin-combo-box/issues

@limonte Sorry, I have now copied it to the right repo.


Make background and ripple animation behave the same in all supporting c...

Changes done:

MKButton: aniDuration was split into rippleAniDuration and backgroundAniDuration and shadowAniDuration for more individual configuration
MKImageView: aniDuration was split into rippleAniDuration and backgroundAniDuration for more individual configuration
MKLabel: aniDuration was split into rippleAniDuration and backgroundAniDuration for more individual configuration
MKTextField: didn't use aniDuration. It was replaced with rippleAniDuration and backgroundAniDuration for more individual configuration and the variables are now used in the same way as in the above classes

In my opinion this provides a more consistent way of individualizing this awesome UI Components

Wow. This is great. Thank @mscharl  very much.


Fix: multi level blockquote HTML to Markdown

This PR fixes the issue of inconsistency in Block Quote Usage Between the saved HTML and how it's rendered into markdown.
https://github.com/Expensify/expensify-common/assets/12425932/4c3afc10-ba13-4f38-8eb6-58801b52e6e3
Fixed Issues
$ GH_LINK https://github.com/Expensify/App/issues/40571
Tests
Unit tests added in the PR
QA

bump expensify-common version in E/App
On Workspace description, use ">>> ABC"
save the new description and edit it again
verify that the displayed value to edit is the same ">>> ABC" and not "> ABC"

@dragnoir Could you add some test steps?

@dragnoir Is your comment related to the failing test?

I am working on some test steps and checking the failing test.

@dragnoir Thank you! I've made some initial tests and it seems to be working nicely, so that's good. Could you give us a rough ETA so we can keep things moving?

I think the tests are now passed well. Can you pls check from your side?

Yup tests are passing now!

All yours @MonilBhavsar :pray:

Actually for completeness can you add test steps here @dragnoir?

@dragnoir bump on above comment

Please open a PR in App repo with referencing the merge commit - 6cfc572191751c7440ce5c9364c89674dcca8841

I think you can use npm install as mentioned here https://github.com/Expensify/expensify-common?tab=readme-ov-file#installation

https://github.com/Expensify/expensify-common?tab=readme-ov-file#deploying-a-change-expensify-only
May be you can try running npm install<EMAIL_ADDRESS>and push package.json and package.lock.json files


Create Picker view

SwiftUI has a Picker view that allows a user to select an option from a list, which is implemented by the Menu widget in Gtk. It'd be nice for SwiftCrossUI to have a dropdown menu type too (called Picker for consistency with SwiftUI).

It is now called DropDown in gtk4 https://docs.gtk.org/gtk4/class.DropDown.html
We should decide how truthful we want to stay to the SwiftUI api. In DropDown there is no widget children, it just needs an array of strings, which I am not sure if we can create from a ViewContent currently?
// SwiftUI
Picker(...) {
  Text("Option 1")
  Text("Option 1")
  Text("Option 1")
}
// an easier solution if we can't get strings from ViewContent3<Text, Text, Text>:
Picker(..., options: [String])

If we want to stick to the SwiftUI API, we can technically create a special result builder that just takes Text instead of View and has the output type [String] (should be relatively easy), then we'd be able to support if/else etc still

That seems like a great solution.

It turns out that DropDown does support widgets as children. The DropDown API is pretty terrible lol.
To set the option labels to arbitrary widgets we have to make a factory to produce the widgets for the options (the strings initialiser just creates a listmodel from the strings and then uses a default factory which makes a widget with a check-mark if selected, and a label with the option's name).
Annoyingly, DropDown doesn't have any signals related to the value changing (wtf gtk). To get notified whenever the selection changes, we'll need to do something dodgy with g_object_bind_property_full probably (and the transformfunc can effectively be the signal handler).

I’ve implemented a picker view now, unfortunately it doesn’t work on macOS, but that’s a Gtk issue, even in the official Gtk demo the dropdowns don’t work.
Currently the options are just displayed as strings, there’s no way to customise the presentation of the options.


Target [Adldap\Contracts\Adldap] is not instantiable while building [App\Http\Controllers\Admin\AdminController].

LDAP works on my local windows server, but when i try to run it at my linux server i get this message:
1/1BindingResolutionException in Container.php line 752:Target [Adldap\Contracts\Adldap] is not instantiable while building [App\Http\Controllers\Admin\AdminController].
Both servers have ldap 3001 installed
I couldnt updload a zip file but here is the controller im trying to use it in.
http://pastebin.com/wShTUyPi
edit: i have also tried using the facade in linux, but then i get "class Adldap does not exist"

Have you inserted the service provider in your config/app.php file and cleared your config cache using php artisan cache:clear?

Yes, the server has the same repo as me, and I can navigate to other controllers without any errors. And yes, I tried to clear cache

The AdldapServiceProvider binds the Adldap\Contracts\Adldap, so that service provider isn't being registered somehow. Are you sure your deployed repo contains the adldap package in your vendor folder?

I cannot triple check it right now but I'm 99% sure its there since I can see the service providers in my app/config.php @ git
        Adldap\Laravel\AdldapServiceProvider::class,
        Adldap\Laravel\AdldapAuthServiceProvider::class

And I ran an extra git fetch merge + composer update + dumpautoload without any errors @ the Ubuntu machine.

Ok now I checked the ubuntu machine again and I can confirm both adldap2 and adldap2-laravel exists in the vendor directory with their respective service provider in config/app.php
Another git fetch + merge and composer update yield nothing, I also tried to clear the cache again without any change in the error code.
What could cause the problem?

Hmm I'm not sure if these two contain any large differences:
Ubuntu                  Windows
Vendor Version 20421 => Vendor Version 20433

Try running composer dump-autoload and php artisan clear-compiled on the Ubuntu machine?

We had to move to production so i didn't have time to continue on the Linux machine, later in Q2 we will attempt Linux again. So you can close / leave this issue open if you want to.

Ok, I'll close the issue for now, but definitely just leave a comment when you attempt this further and I'll open it back up, thanks!


using service account to upload to s3 is failing

Thanos, Prometheus and Golang version used:
thanos : v0.22.0
prometheus : 2.24.0
Object Storage Provider:
s3
What happened:
thanos sidecar is getting access denied from s3 when using service account role instead of access_key and secret
What you expected to happen:
data to be uploaded to s3
How to reproduce it (as minimally and precisely as possible):
I am using the prometheus helm chart - and associating the existing serviceaccount and adding the thanos as side car, here is my config
- name: thanos-sidecar
              image: quay.io/thanos/thanos:v0.22.0
              args:
                - sidecar
                - --log.level=debug
                - --prometheus.url=http://<IP_ADDRESS>:9090
                - --min-time=-2h
                - |
                    --objstore.config=type: s3
                    config:
                      bucket: <<bucket-name>>
                      endpoint: s3.us-west-2.amazonaws.com
                      signature_version2: false
                      insecure: true
                      http_config:
                        insecure_skip_verify: true
                      trace:
                        enable: true

Full logs to relevant components:
level=debug ts=2021-08-12T02:41:29.344177464Z caller=stdlib.go:89 s3TraceMsg=---------START-HTTP---------
level=debug ts=2021-08-12T02:41:29.344443407Z caller=stdlib.go:89 s3TraceMsg="HEAD /01FCVDBWQXBWD0Z5S443RGX66W/meta.json HTTP/1.1\r"
level=debug ts=2021-08-12T02:41:29.344503227Z caller=stdlib.go:89 s3TraceMsg="HTTP/1.1 403 Forbidden\r"
level=debug ts=2021-08-12T02:41:29.344523818Z caller=stdlib.go:89 s3TraceMsg=---------END-HTTP---------
level=warn ts=2021-08-12T02:41:29.344606589Z caller=sidecar.go:310 err="check exists: stat s3 object: Access Denied." uploaded=0

Anything else we need to know:
It is not permission issue, head-object needs s3:GetObject permission which i have added
https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html

Hey @bseenu - our documentation seems to indicate that setting secret_key is mandatory for S3.

To configure S3 bucket as an object store you need to set these mandatory S3 variables in yaml format stored in a file:

Please can you elaborate on the following?

thanos sidecar is getting access denied from s3 when using service account role instead of access_key and secret

we prefer to use the service account which has the iam role annotation which will be having s3 previleges
And i came across the following blog post which shows the configuration using the service account
https://aws.amazon.com/blogs/opensource/improving-ha-and-long-term-storage-for-prometheus-using-thanos-on-eks-with-s3/

For what it's worth, we successfully use thanos with Amazon IRSA. We add the following annotations to the service accounts of thanos:
    eks.amazonaws.com/role-arn: arn:aws:iam::OURACCOUNTID:role/thanos-SOMEUNIQUEID
    eks.amazonaws.com/sts-regional-endpoints: "true"

That role has the permissions from https://thanos.io/tip/thanos/storage.md/#s3
i.e.
                "s3:ListBucket",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObject"

It looks like Thanos update to v0.24.0 resolved this issue. Now I am able to use IAM Role without any problems with the same policy that was previously attached to IAM User.


Add integration test that uses docker instance

Need a test that runs consistently (either in pipeline or long running) so that we know when docker is broken

+1

docker files this would test were removed in 1.8 release.


Add support for dynamic CommandText

Hi,
It would be great to have the option of dynamically setting the CommandText property to use for output bindings. The use case is that you want to be able to use different tables based on what file that comes in a Blob input binding. Instead of creating one function per model/table, you can have one generic function for all models.
Staffan

You should be able to accomplish this with dynamic bindings - here's a simple example using an HttpTrigger that passes in the table name as a query parameter.
        [FunctionName("DynamicOutputBinding")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req,
            IBinder binder
        )
        {
            var products = await binder.BindAsync<IAsyncCollector<Product>>(
                new SqlAttribute(req.Query["TableName"])
                {
                    ConnectionStringSetting = "SqlConnectionString"
                });
            var product = new Product() { ProductID = 1, Name = "Test Product", Cost = 100 };
            await products.AddAsync(product);
            return new CreatedResult($"/api/DynamicOutputBinding", product);
        }


Bug - access to links on web page but requires login for OneDrive

Summary
A colleague noticed some broken links on slack and I'm just sharing this information with the team working on this page: https://canada-ca.github.io/a11y/index.html
Steps to reproduce
In fact it's all of these links that are supposed to link to something in OneDrive:

[Designing for users on the autistic spectrum] (https://1drv.ms/b/s!AoQ9zmenRIM-cteCnzlfWn_euHc)
[Design principles for users with cognitive disabilities] (https://1drv.ms/b/s!AoQ9zmenRIM-cMnlFpNqEkh4QVw)
[Designing for users who are deaf or hard of hearing] (https://1drv.ms/b/s!AoQ9zmenRIM-bd8P0sewnmIoAyQ)
[Designing for users with low vision] (https://1drv.ms/b/s!AoQ9zmenRIM-b9SC1Xmo2U3t298)
[Designing for users with physical or motor disabilities] (https://1drv.ms/b/s!AoQ9zmenRIM-bjybecUWEZtmEmk)
[Designing for users of screen readers] (https://1drv.ms/b/s!AoQ9zmenRIM-cbK4MTMrBWVWdBw)

What is the expected correct behavior?
Is there a way to update the links to they're available to folks, right now there's a login screen.
cc @EricLavoie2

@MaryBethBaker this site is a work in progress and those files are hosted on MS OneDrive.
We are looking for help fixing up the content, if you want to take a stab at it?
The plan is to have HTML first and from that page link to other formats like MS Docs and PDFs for people who would like to have a downloaded copy.
You can get all the same information from https://ukhomeoffice.github.io/accessibility-posters/

Hi @shawnthompson
Thanks for the update and the link to the source material. I could submit a pull request for some basic html content, but I can't get to the content to validate it's exactly what is being pointed too. Do you have the posters in both official languages? Curious to know if you could add an alert at the top just letting folks know that this is still sort of an alpha page?

@MaryBethBaker the alert is a great idea I think I'll try to do that sometime today. I'm trying to setup more time at work to put towards this project and start a "Task Force" with regular meetings.
Feel free to open issues on any suggestions you have, we are open to anything right now.
I just got the documents from Share Services because I couldn't access them at ESDC either.
Stay tuned.

Hi, just wanted to let you know that this site is so very needed, thank you!!!
@shawnthompson - I may have met you. Do you or did you work for Roch L at one time? I was organizing the T716 course at CSPS that Roch was teaching and you may have been starting a new job.
@MaryBethBaker - the most recent versions of the posters that I have seen are attached from DND. Slightly differently from the content in this site (the attached includes anxiety and dyslexia but does not include cognitive disabilities).
JobAid_DesigningForAccessibility_DND20190531.pdf
JobAid_DesigningForAccessibility_DND20190531_FR.pdf

Hi, just wanted to let you know that this site is so very needed, thank you!!!
@shawnthompson - I may have met you. Do you or did you work for Roch L at one time? I was organizing the T716 course at CSPS that Roch was teaching and you may have been starting a new job.
@MaryBethBaker - the most recent versions of the posters that I have seen are attached from DND. Slightly differently from the content in this site (the attached includes anxiety and dyslexia but does not include cognitive disabilities).
JobAid_DesigningForAccessibility_DND20190531.pdf
JobAid_DesigningForAccessibility_DND20190531_FR.pdf

@DesignRight I presently work for @rlambert27... I have taking the course and was asked to teach it but didn't have the bandwidth to add it to my schedule.
I agree with you that this site is very much needed and we started another working group to work on it. We had our first meeting before th holidays and will be continuing pushing forward in 2021. If you'd like to join the meetings send me an email at work and I'll add you to the list. We'd love to have the help.
Hopefully in the next few weeks I'll be able to fix the broken links and start on this site.

Oh and thanks @nschonni for the issue linking.

@DesignRight I presently work for @rlambert27... I have taking the course and was asked to teach it but didn't have the bandwidth to add it to my schedule.
I agree with you that this site is very much needed and we started another working group to work on it. We had our first meeting before th holidays and will be continuing pushing forward in 2021. If you'd like to join the meetings send me an email at work and I'll add you to the list. We'd love to have the help.
Hopefully in the next few weeks I'll be able to fix the broken links and start on this site.

Oh and thanks @nschonni for the issue linking.

@shawnthompson - I am on the content side of course design but accessibility is big for me/us too. I will check with my manager about the working group and let you know. Maybe I could check content, etc. Thanks.
@rlambert27 - hope all is well, it is Karen who used to take care of the content for T716 with George. Hope all is well with you! I'm back at the CRA now. So glad this site is happening.

@shawnthompson - I am on the content side of course design but accessibility is big for me/us too. I will check with my manager about the working group and let you know. Maybe I could check content, etc. Thanks.
@rlambert27 - hope all is well, it is Karen who used to take care of the content for T716 with George. Hope all is well with you! I'm back at the CRA now. So glad this site is happening.

@DesignRight Hey Karen! Glad to hear from you, really miss your work on the T716, it's kinda painful right now, haha!
We actually spoke about these posters the other day and I still don't understand why we don't point to the original content on Github (https://github.com/UKHomeOffice/posters/tree/master/accessibility/dos-donts). I don't see the purpose on hosting our own version of these files. We really should simply point to the original posters that are available in both French and English.

@DesignRight Hey Karen! Glad to hear from you, really miss your work on the T716, it's kinda painful right now, haha!
We actually spoke about these posters the other day and I still don't understand why we don't point to the original content on Github (https://github.com/UKHomeOffice/posters/tree/master/accessibility/dos-donts). I don't see the purpose on hosting our own version of these files. We really should simply point to the original posters that are available in both French and English.

@rlambert27 - that's actually sad to hear about the T716, I guess they can't get anyone to update it.
I agree, if you could point to the original content on Github without scaring people too much, that would be great. (Github can be a scary looking place.) And this Digital Accessibility Toolkit you are putting together will save every department from having their own versions. So very happy to see this!

@rlambert27 - that's actually sad to hear about the T716, I guess they can't get anyone to update it.
I agree, if you could point to the original content on Github without scaring people too much, that would be great. (Github can be a scary looking place.) And this Digital Accessibility Toolkit you are putting together will save every department from having their own versions. So very happy to see this!

All the credit for that goes to @shawnthompson as he is spearheading that task force! I agree though it's a great project and hopefully we can have lots of people participate to centralize a11y information!

All the credit for that goes to @shawnthompson as he is spearheading that task force! I agree though it's a great project and hopefully we can have lots of people participate to centralize a11y information!

@rlambert27 feel free to put in your first PR into this project and change the links ;)

@rlambert27 feel free to put in your first PR into this project and change the links ;)

Fixed! Thank you for your support!


TRIVIAL: provide clearer error in describe group when group is inactive

LGTM.

Merged to both trunk and 0.9.0.


[Bug] Cleanup the data of localStorageChecker's file to cause shuffle-server unhealthy

Code of Conduct

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

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
This bug is caused by #357
[INFO] 2022-12-07 16:27:51,411 leakShuffleDataChecker ShuffleTaskManager checkLeakShuffleData - Start check leak shuffle data
[INFO] 2022-12-07 16:27:51,416 leakShuffleDataChecker LocalFileDeleteHandler delete - Delete shuffle data for appId[check] with /data1/uniffle/data/check cost 0 ms
[INFO] 2022-12-07 16:27:51,420 leakShuffleDataChecker LocalFileDeleteHandler delete - Delete shuffle data for appId[check] with /data2/uniffle/data/check cost 0 ms
[INFO] 2022-12-07 16:27:51,420 leakShuffleDataChecker LocalFileDeleteHandler delete - Delete shuffle data for appId[check] with /data3/uniffle/data/check cost 0 ms
[INFO] 2022-12-07 16:27:51,420 leakShuffleDataChecker LocalFileDeleteHandler delete - Delete shuffle data for appId[check] with /data4/uniffle/data/check cost 0 ms
[INFO] 2022-12-07 16:27:51,420 leakShuffleDataChecker ShuffleTaskManager checkLeakShuffleData - Finish check leak shuffle data
[ERROR] 2022-12-07 16:27:51,685 HealthCheckService LocalStorageChecker checkStorageReadAndWrite - Storage read and write error
java.io.FileNotFoundException: /data4/uniffle/data/check/test (No such file or directory)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at org.apache.uniffle.server.LocalStorageChecker$StorageInfo.checkStorageReadAndWrite(LocalStorageChecker.java:180)
        at org.apache.uniffle.server.LocalStorageChecker.checkIsHealthy(LocalStorageChecker.java:73)
        at org.apache.uniffle.server.HealthCheck.check(HealthCheck.java:84)
        at org.apache.uniffle.server.HealthCheck.lambda$new$0(HealthCheck.java:70)
        at java.lang.Thread.run(Thread.java:745)
[INFO] 2022-12-07 16:27:51,685 HealthCheckService LocalStorageChecker checkIsHealthy - shuffle server become unhealthy

Affects Version(s)
master
Uniffle Server Log Output
No response
Uniffle Engine Log Output
No response
Uniffle Server Configurations
No response
Uniffle Engine Configurations
No response
Additional context
No response
Are you willing to submit PR?

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

cc @jerqi @sfwang218

Good catch!

It’s better for me

Can we check whether filename start with "application"?

Not always start with "application". Such as spark on k8s. @jerqi @zuston

Can we check whether filename start with "application"?

Not always start with "application". Such as spark on k8s. @jerqi @zuston

Yes, maybe we should have a file name white list.

Fixed by #393


Add multi-approval support

Summary
Replace Suspend/Resume with modified parameter process of approval with an actual account related approval form.
Proposal for https://github.com/argoproj/argo-workflows/issues/12108
Use Cases
Approving promotion from various environments, but need multi Ops approval before promotion.

Message from the maintainers:
Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.

Functions:

[x] Get local development to work
[x] Create Approvers list as part of parameters of suspend

pkg/apis/workflow/v1alpha1/workflow_types.go
[x] Create arguments/parameters for each reviewer (state of review)
[x] Check if approvers list == reviewed list otherwise requeue else continue
[ ] Connect it with actual user accounts using email
[ ] (optional) make groups work

[x] Replace GUI Modify parameters with Approvers list

ui/src/app/workflows/components/workflow-details/suspend-inputs.tsx
[x] Show approval status of all accounts (highlight your own account)
[x] Allow approval from your account if that is declared
[x] Save approval for your account
[x] Check if approval is over threshold and merge otherwise
[ ] Change when clause which now depends on the variable (switch to approval amount out of list)

[ ] (optional) more advanced options

[ ] (optional) cli support?
[ ] allow both approval and parameter in conjunction.

TODO

[ ] docs
[ ] tests
[ ] add minimal required approvals
[ ] fix approvals count (current/required)
[ ] save approval

Short-term: use plugin style instead of directly in core.

Good point


Feature Request: Extend Ruff as a fast and simple SQL formatting and linting tool

i think there's a huge overlapping userbase of python users who work in the data engineering space. the current lanscape of good tooling to format and lint sql files is not great and something like ruff for those scenarios could be huge.
basically ruff to replace sqlfmt and sqlfluff would be awesome.
https://sqlfluff.com/
https://sqlfmt.com/

We're definitely interested in this, but it's a serious endeavor and we'll need to dedicate some time to the design :)

@OneCyrus It looks like Sleek may be up your alley for the time being, at least as far as formatting goes. It was easier to set up than sqlfmt.

There is now a Rust rewrite of sqlfluff named sqruff.

announce: https://www.quary.dev/blog/sqruff-launch
repo: https://github.com/quarylabs/sqruff

Hey 👋, just saw this! Yep we would be happy to integrate https://github.com/quarylabs/sqruff in a way that makes sense.

If this is implemented would that make ruff format SQL within the strings, or this feature only asks to format SQL files separately?
What's the recommended way to write python code with raw SQL?

If this is implemented would that make ruff format SQL within the strings, or this feature only asks to format SQL files separately?
What's the recommended way to write python code with raw SQL?

@benfdking I'd also be pretty intrigued on what y'all's intended outcome for this. (I really enjoy sqruff by the way, I can completely understand sqruff being a completely separate tool.)

I also enjoy sqruff due to its speed, but there's still quite a few things that feel not implemented. It would be good to get more hands on deck. I've been working on quite a few fixes as I get it integrated into my project I'll be submitting a pr for, but would still be great to have it built into ruff.


Want to code for boomer letter K.

@Atul-Xalxo you working on this?

@Atul-Xalxo you working on this?

yes sir..it will be done soon.


Implement Twist controllers (rather than TwistStamped) for mobile robot uses

Hi,
I see this remap from Twist -> TwistStamped in the header files for using the Stamped version of messages. While I support using Stamped messages long term, right now no other item in the ecosystem will be compatible with this (gazebo, nav2, etc) so we should be supporting Twist right now in Foxy and older. For Galactic and newer, we can target TwistStamped but it would require a coordinated effort to change that API for a newer distribution. Today, this work is not compatible with anything else.

I'll start looking into the port 👀

@piraka9011
Thank you very much. Please refer to the comment that I gave on this issue (link). It will minimize the workload as well as support both message types (Twist and TwistStamped).
Ryan


Create Blog “2023-01-13-789”

Automatically generated by Netlify CMS

👷 Deploy Preview for classy-stroopwafel-4265e7 processing.

Name
Link

🔨 Latest commit
fdf0ce20d062b58020f9041cd734fc18ac568906

🔍 Latest deploy log
https://app.netlify.com/sites/classy-stroopwafel-4265e7/deploys/63c1222f07754f0008f46e15


How to read a hex file without knowing the memory size?

There seems to have no way to read a hex file without providing the memory size. Or we have to always give a memory size of maximum number in that case?
I'm using

version 2.2.3

.Net core 2.1 Framework

Hi Sruthi,
You are correct. You can currently not read the hex file without providing
a memory size. Perhaps that should be changed.
Thanks,
Christophe
On Wed, 20 Feb 2019 at 07:33, Sruthi Varghese<EMAIL_ADDRESS>wrote:

There seems to have no way to read a hex file without providing the memory
size. Or we have to always give a memory size of maximum number in that
case?
I'm using
version 2.2.3
.Net core 2.1 Framework
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/christophediericx/IntelHexFormatReader/issues/1, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASuyFsRBNby8z9_Kcg-wo5w1rKPSKElMks5vPTJ7gaJpZM4bFA2N
.

In that case what would be the ideal memory size to be provided if I want to read the file for a firmware upgrade?

What should be the value of memory size?  I passed 0-4096 and all the time I got below exception.
System.IO.IOException: 'Trying to write to position 4096000 outside of memory boundaries (1240000)!'

There seems to have no way to read a hex file without providing the memory size. Or we have to always give a memory size of maximum number in that case?
I'm using

version 2.2.3

.Net core 2.1 Framework

If it can be useful I have inserted the following constructor:
public HexFileReader(string fileName)
        {
            if (!File.Exists(fileName))
                throw new ArgumentException(string.Format("File {0} does not exist!", fileName));

            memorySize = 0;

            System.IO.StreamReader file = new System.IO.StreamReader(fileName);
            while (true)
            {
                string hexRecordLine = file.ReadLine();

                if(hexRecordLine == null)
                {
                    break;
                }

                var hexRecord = HexFileLineParser.ParseLine(hexRecordLine);
                switch (hexRecord.RecordType)
                {
                    case RecordType.Data:
                    {
                        memorySize += hexRecord.ByteCount;
                        break;
                    }
                }
            }
            file.Close();

            Initialize(File.ReadLines(fileName), memorySize);
        }


Change maintainer support

updating meta data to clearly describe maintainer to be Community

@screeley44, please check following error
github.com/yard-turkey/lib-bucket-provisioner/pkg/client/informers/externalversions/factory.go:117: Failed to list *v1alpha1.ObjectBucketClaim: connection refused

/retest


Added HardShrink transfer operator for Keras

New operator along with test cases added to Keras

@tanzhenyu , @nataliaponomareva and @rthadur , can you pls review the PR

@tanzhenyu , @nataliaponomareva and @rthadur , can you pls review the PR

Nagging Reviewer @tanzhenyu, @nataliaponomareva: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 15 days with no activity and the awaiting review label has been applied.

@tanzhenyu , this operator is supported by many frameworks like Pytorch, BIGDL and paddle , this operator is used in ADMM algorithm(there are several papers on this which you can refer). There is a arxiv paper which uses this operator as well:-
https://arxiv.org/pdf/1711.00905.pdf
Also all the framework use it in the same place of softmax,relu etc, Kindly check and let me know your opinion.

@amitsrivastava78 Best regards, but I tend to agree with @Dref360 that it would be better to merge this once you have a reference that shows this layer is statistically better than other layers, at least in some certain use cases.

@tanzhenyu , I understand your concern, kindly refer to this paper below , refer to page 13 which has some comparison results. If you still feel that this need not be contributed here, i will close the PR and follow your suggestion.
https://www.researchgate.net/publication/220660052_Diffusion-Inspired_Shrinkage_Functions_and_Stability_Results_for_Wavelet_Denoising
Regards
Amit

@tanzhenyu , I understand your concern, kindly refer to this paper below , refer to page 13 which has some comparison results. If you still feel that this need not be contributed here, i will close the PR and follow your suggestion.
https://www.researchgate.net/publication/220660052_Diffusion-Inspired_Shrinkage_Functions_and_Stability_Results_for_Wavelet_Denoising
Regards
Amit

This paper proposed a wavelet shrinkage method, and hardshrink is merely used as a benchmark for comparison purpose. I'm totally fine if you want to keep this and submit it to the add-on repo, which I think many users are relying on as well.

@tanzhenyu, thanks a lot for the review and time you have spend on the PR, it was nice discussing with you. Hope to have more discussions in future. I am closing this PR as per the suggestion.
Regards
Amit

Thank you for your contribution!


Supports for functions

Hello,
Your mini lib is pretty nice for objects only. Why not supporting functions too ? :)
If yes, do you want me to do it ?

Hi,
Of course feel free to fork and make a pull request ! :)

Fixed by #2


Changed strategy for casting Ruby types to XLSX types to handle boolean values

Previous to this change, the gem would cast boolean values to string and give them and unknown type in Excel. This caused Excel to need to repair a document before opening it.

:+1:


Question: Gemini API error message

 Error with JSON: {"result": "error", "reason": "InvalidSignature", "message": "InvalidSignature"}. Retrying...
Anyone have any guesses as to why? I have tried new keys numerous times and have the same error. Note I also just got blackbird up and running so I'm not sure if this is the only issue. Thanks

I don't have a working gemini account to test it myself. I think @Butor implemented the signing code for gemini. He may be able to help.

Yes I haven't had any signature issue with Gemini so far.


Naming convention?

Is there a naming convention for Basscss modules?
I noticed basscss-border vs. basscss-background-images (singular vs. plural)

Originally I had used plurals, but more recently have been trying to move to singular and 1-to-1 with property names where possible.


Error installing CloudBiolinux in a computing cluster

Hi all,
We are trying to run bcbio from a computing cluster rather than from a cloud. Since it is a research cluster used by many other users we cannot have root access for the installation, therefore we have tried the isolated instalation method.
During the installation we get the following error related to CloudBiolinux:
Setting up virtual machine
INFO: <cloudbio.flavor.Flavor instance at 0x7fffd821b560>
INFO: This is a ngs_pipeline_minimal flavor
INFO: Reading default fabricrc.txt
DBG [config.py]: Using config file /home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/../config/fabricrc.txt
INFO: Distribution __auto__
INFO: Get local environment
Traceback (most recent call last):
  File "/home/U008/lcebaman/EdGen/bcbio/anaconda/bin/bcbio_nextgen.py", line 199, in <module>
    install.upgrade_bcbio(kwargs["args"])
  File "/home/U008/lcebaman/EdGen/bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 75, in upgrade_bcbio
    upgrade_thirdparty_tools(args, REMOTES)
  File "/home/U008/lcebaman/EdGen/bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 335, in upgrade_thirdparty_tools
    cbl_deploy.deploy(s)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 65, in deploy
    _setup_vm(options, vm_launcher, actions)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 101, in _setup_vm
    _setup_cloudbiolinux(options)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 193, in _setup_cloudbiolinux
    _configure_fabric_environment(env, flavor, fabricrc_loader=fabricrc_loader)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/utils.py", line 93, in _configure_fabric_environment
    _setup_distribution_environment(ignore_distcheck=ignore_distcheck)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/distribution.py", line 33, in _setup_distribution_environment
    env.distribution = _determine_distribution(env)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/distribution.py", line 297, in _determine_distribution
    raise Exception("Attempt to automatically determine Linux distribution of target machine failed, please manually specify distribution in fabricrc.txt")
Exception: Attempt to automatically determine Linux distribution of target machine failed, please manually specify distribution in fabricrc.txt
Traceback (most recent call last):
  File "bcbio_nextgen_install.py", line 255, in <module>
    main(parser.parse_args(), sys.argv[1:])
  File "bcbio_nextgen_install.py", line 41, in main
    subprocess.check_call([bcbio["bcbio_nextgen.py"], "upgrade"] + _clean_args(sys_argv, args, bcbio))
  File "/opt/anaconda/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/U008/lcebaman/EdGen/bcbio/anaconda/bin/bcbio_nextgen.py', 'upgrade',
'--tooldir=/home/U008/lcebaman/EdGen/bcbio', '--isolate', '--genomes', 'GRCh37', '--aligners', 'bwa', '--aligners', 'bowtie2', '--data']'
returned non-zero exit status 1``

which basically says that CouldBiolinux does not recognize the Linux distribution of our cluster. Our cluster is SUSE Linux Enterprise Server 11 SP3  (x86_64) - Kernel \r (\l) distribution and it does not seem to be one of the installation options for CouldBioLinux.
The installation process finishes there, however we can see that and /bin we have bcbio_nextgen.py and  bcbio_setup_genome.py scripts.
We have tried to run some samples and we obtained the following error:
File "/home/U008/lcebaman/EdGen/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/genome.py", line 143, in _get_ref_from_galaxy_loc
    raise ValueError("Could not find reference genome file %s %s" % (genome_build, name))
ValueError: Could not find reference genome file GRCh37 samtools

Up to this point we have some worring questions and we were wondering if we could get some help here:
1- Do we need to install CouldBioLinux to be able to properly run bcbio?
2- If it is necessary since we want to run it locally and not in a cloud, how can we install CouldBioLinux in a cluster running Suse Linux Enterprise Server 11?
3- Is there any other way of bypassing the installation of CloudBioLinux?
We would really appreciate any help or ideas in this matter.
Best regards,
Luis

Luis;
Sorry about the issue. CloudBioLinux was not correctly detecting SUSE Linux, which is the cause of the error. If you remove any temporary cached install directories (rm -rf tmpbcbio-install) and re-run the same installer command it will pull down the latest version and hopefully work cleanly now. Sorry about the problem and hope it works now for you.

Thank you very much for helping out here.
The installation managed to go through the Linux distribution so I think the fix worked. However we are now getting a samtools error:
  _install_pkg_latest(env, "samtools", [], brew_cmd, ipkgs)
  File "/home/U008/lcebaman/EdGen/tmpbcbio-install/cloudbiolinux/cloudbio/package/brew.py", line 205, in _install_pkg_latest
    raise ValueError("Failed to install brew formula: %s" % pkg)
ValueError: Failed to install brew formula: samtools
Traceback (most recent call last):
  File "bcbio_nextgen_install.py", line 255, in <module>
    main(parser.parse_args(), sys.argv[1:])
  File "bcbio_nextgen_install.py", line 41, in main
    subprocess.check_call([bcbio["bcbio_nextgen.py"], "upgrade"] + _clean_args(sys_argv, args, bcbio))

Have you come accross this problem before?

Luis;
Glad that helped get things further along and sorry about the continued build problems. It's tough to tell what is wrong from just this snippet, the useful error will be a bit upstream of this. If you can see the samtools brew command prior to this it would be useful to run that outside of the installer and add in a verbose flag (so .../brew install to .../brew install -v) and see what error that produces. That should indicate why the build fails.

Brad;
This is what is happening here. The samtools Makefile uses LIBCURSES=-lcurses however in Suse and Fedora the curses library are called -lncurses. Now, I could easily install samtools on Suse modifying the LIBCURSES in the Makefile, however we don't know how to bypass this issue with brew since the package is downloaded and fresh installed from the samtiools main repository.
1- Could we skip the samtools installation from the main bcbio installation and then manually install samtools?
2- What other options do we have?

Luis;
Thanks for debugging this and figuring out the underlying issue. I proposed a patch upstream to homebrew-science which will enable use to avoid this by skipping the curses requirement. Once that gets pulled in, I can put in a long term fix in bcbio. In the short term, you can work around this by manually installing the new recipe:
wget https://raw.githubusercontent.com/chapmanb/homebrew-science/samtools-nocurses/samtools.rb
/path/to/bcbio/bin/brew install --without-curses -v samtools.rb

Then re-starting the install. It should know you have this in place now and not try to re-install it. Hope this helps and thanks again for the help debugging.

Brad;
I managed to install samtools using -lncurses just modifying the formula and the package. However re-starting the installation is not helping. I believe the script keeps trying to install samtools and fails althought it is already installed.

I have also tried eliminating samtools from  /packages-homebrew.yaml and re-starting the installation but it seems to keep downloading a new version of the script...

Luis;
Sorry about the continued issues. I'm confused as to why it would re-install samtools if you built it by hand with a custom recipe. Is this inside the brew installation for bcbio (/home/U008/lcebaman/EdGen/bcbio/bin/brew) or in some other way?
Either way I pushed a fix to cloudbiolinux that I hope will resolve this. If you remove the cached build directory (rm -rf tmpbcbio-install) and re-run it should now try to build samtools without the curses library and hopefully avoid the issue entirely. Please let us know if you run into any more problems. I hope this will get it running for you.

Brad;
Thanks for helping us getting through the instalaltion process.  We have now passed samtools and found  a new problem this time with freebayes. This package installs fine on the system after modifying fsom.h library however it fails when it is installed with bcbio_nextgen_install.py. It also happens that it does not detect that the package has been already installed.
We do not plan to use freebayes, therefore a quick fix would be to be able to elimanate this package from the installation process:
1- Would that be possible?
2 -What other alternatives do we have?

Luis;
I pushed a fix that will hopefully resolve this issue if you remove any cached tmpbcbio-install directories and re-run. It should now skip the fsom build and hopefully avoid any issues.
On your more general questions:

brew only looks at installations that occur via brew itself. So compiling outside of brew and putting in your path won't skip the build. It's definite useful for debugging but won't fix the underlying issue.
We try to avoid custom changes like skipping tool builds. One of the goals is to have a community shared set of tools and if we have everyone doing custom workarounds we can't collect those in a central place to save future users time.

Sorry about the issues and hope this gets you further along in the build process.

Brad;
Thank you very much for your help. Hopefully we can get the package installed soon.
I have deleted tmpbcbio-install directory and re-install it again but it keeps failing. Here is the error output of brew -v install freebayes:
[100%] Built target bamtools_cmd
make[1]: Leaving directory `/tmp/freebayes-nLZ66i/bamtools/build'
/home/U008/lcebaman/EdGen/bcbio/Cellar/cmake/3.1.1_1/bin/cmake -E cmake_progress_start /tmp/freebayes-nLZ66i/bamtools/build/CMakeFiles 0
==> make
g++ -w -O3 -pipe -fomit-frame-pointer -ffast-math fsom.c split.cpp main.cpp -o fsom -lm
In file included from fsom.c:21:
fsom.h:77: error: non-local function ‘void som_network_destroy(som_network_t*)’ uses anonymous type
fsom.h:75: error: ‘typedef struct<anonymous> som_network_t’ does not refer to the unqualified type, so it is not used for linkage

It seems to be pointing to fsom.h.

Luis;
Sorry, this is my mistake. I patched the Makefile but forgot we had a specific fsom build target in the recipe. I pushed a fix that removes this so we should now hopefully completely skip fsom. If you re-run fingers crossed this will fix it. Sorry about missing this.

Brad;
Excellent! It worked! We have now an error with a package called pindel, but I think it is also due to the curses library again:
EdGen/bcbio/lib -Wl,-rpath,/home/U008/lcebaman/EdGen/bcbio/lib libbam.a -Lbcftools -lbcf  -lcurses  -lm -lz -lpthread
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lcurses
collect2: ld returned 1 exit status
make[1]: *** [samtools] Error 1

I think we are close now!!

Luis -- glad this is getting further and thanks again for all the reports and patience. I pushed a fix to the pindel build to avoid use of curses, so hopefully it'll proceed through that build if you re-run the install/update. Thanks again.

Brad;
The installer seems to be hunging while fetching esembl during the vep installation:
export FTP_PASSIVE=1 && /home/U008/lcebaman/EdGen/bcbio/Cellar/vep/75_2014-06-12/INSTALL.pl -a a -d /home/U008/lcebaman/EdGen/bcbio/Cellar/vep/75_2014-06-12/lib -c /home/U008/lcebaman/EdGen/bcbio/Cellar/vep/75_2014-06-12/share/data
Using non-default installation directory /home/U008/lcebaman/EdGen/bcbio/Cellar/vep/75_2014-06-12/lib - you will probably need to add /home/U008/lcebaman/EdGen/bcbio/Cellar/vep/75_2014-06-12/lib to your PERL5LIB

Hello! This installer is configured to install v75 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.

It will also download and install cache files from Ensembl's FTP server.

Checking for installed versions of the Ensembl API...done

Setting up directories

Downloading required files
 - fetching ensembl

The installation does not go through and the job is killed by PBS after the walltime exceeded the limit

Luis;
Thanks for the additional reports. I've gone through and cleaned up the rest of the build issues on SUSE and hope this will now build cleanly for you. The issue with Ensembl hanging is due to this bug between Perls LWP downloader and the old version of openSSL shipped with SUSE 11:
https://rt.cpan.org/Public/Bug/Display.html?id=81575#txn-1153771
To fix, I swapped over the VEP installer to use curl by default. This does require having a working curl on your system. On ultra specifically, there is a broken curl installed along with anaconda in /opt/anaconda/bin/curl. It's worth either removing that curl globally (/opt/anaconda/bin/conda uninstall curl) or removing that directory from your path when running the install.
In addition to that I also added binaries for some tools like vt and WHAM that required more recent compilers than the 4.4 shipped with SUSE 11.
Hopefully it should now install cleanly if you fix the curl issue and re-run. Thanks again for all the patience and let me know if you run into anything else at all.


Please state that custom capability must be declared before all others

Since there are no working samples it took me a long time to find out that the custom capability must be declared BEFORE the DeviceCapabilities. Otherwise there is an XML structure error message during compilation.
This important info is missing on this page.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fdfe599a-af5b-acbc-1405-d1030d9f6661
Version Independent ID: 85857337-8448-af63-b543-f01ef482ea09
Content: App capability declarations - Windows UWP applications
Content Source: windows-apps-src/packaging/app-capability-declarations.md
Product: uwp
Technology: deployment
GitHub Login: @mcleanbyron
Microsoft Alias: mcleans

Thanks for submitting this feedback. I added notes to each of the capability sections on this page to clarify any required ordering of the elements based on the schema requirements, and these changes are now live. If you you have any further feedback on this article, please feel free to reopen this issue.

That was quick! Thanks for handling this so fast.


Move current HrrZones to generic zones handler

Debug synced storage with:
var userSettings = {
    autoSyncMinutes: 60,
    localStorageMustBeCleared: false,
    userGender: "men",
    userMaxHr: 190,
    userRestHr: 65,
    userFTP: null,
    userSwimFTP: null,
    userWeight: 70,
    userHrrZones: [{fromHrr: 10, toHrr: 30}, {fromHrr: 30, toHrr: 40}, {
        fromHrr: 40,
        toHrr: 50,
    }, {fromHrr: 50, toHrr: 55}, {fromHrr: 55, toHrr: 60}, {fromHrr: 60, toHrr: 65}, {
        fromHrr: 65,
        toHrr: 70,
    }, {fromHrr: 70, toHrr: 75}, {fromHrr: 75, toHrr: 80}, {fromHrr: 80, toHrr: 85}, {
        fromHrr: 85,
        toHrr: 90,
    }, {fromHrr: 90, toHrr: 95}, {fromHrr: 95, toHrr: 100}, {fromHrr: 100, toHrr: 110}],
    zones: {
        speed: [{from: 0, to: 7}, {from: 7, to: 9}, {from: 9, to: 11}, {from: 11, to: 13}, {
            from: 13,
            to: 15,
        }, {from: 15, to: 18}, {from: 18, to: 21}, {from: 21, to: 24}, {from: 24, to: 27}, {
            from: 27,
            to: 30,
        }, {from: 30, to: 32}, {from: 32, to: 34}, {from: 34, to: 36}, {from: 36, to: 38}, {
            from: 38,
            to: 40,
        }, {from: 40, to: 42}, {from: 42, to: 44}, {from: 44, to: 47}, {from: 47, to: 50}, {
            from: 50,
            to: 60,
        }, {from: 60, to: 75}, {from: 75, to: 100}],
        pace: [{from: 60, to: 90}, {from: 90, to: 120}, {from: 120, to: 150}, {
            from: 150,
            to: 180,
        }, {from: 180, to: 210}, {from: 210, to: 240}, {from: 240, to: 270}, {
            from: 270,
            to: 300,
        }, {from: 300, to: 330}, {from: 330, to: 360}, {from: 360, to: 390}, {
            from: 390,
            to: 420,
        }, {from: 420, to: 450}, {from: 450, to: 480}, {from: 480, to: 540}, {
            from: 540,
            to: 570,
        }, {from: 570, to: 720}, {from: 720, to: 900}],
        heartrate: [{from: 60, to: 90}, {from: 90, to: 120}, {from: 120, to: 150}],
        power: [{from: 0, to: 25}, {from: 25, to: 50}, {from: 50, to: 75}, {
            from: 75,
            to: 100,
        }, {from: 100, to: 125}, {from: 125, to: 150}, {from: 150, to: 175}, {
            from: 175,
            to: 200,
        }, {from: 200, to: 225}, {from: 225, to: 250}, {from: 250, to: 275}, {
            from: 275,
            to: 300,
        }, {from: 300, to: 325}, {from: 325, to: 350}, {from: 350, to: 375}, {
            from: 375,
            to: 400,
        }, {from: 400, to: 425}, {from: 425, to: 450}, {from: 450, to: 475}, {
            from: 475,
            to: 500,
        }, {from: 500, to: 525}, {from: 525, to: 550}, {from: 550, to: 575}, {
            from: 575,
            to: 600,
        }, {from: 600, to: 625}, {from: 625, to: 650}, {from: 650, to: 675}, {
            from: 675,
            to: 700,
        }, {from: 700, to: 725}, {from: 725, to: 750}, {from: 750, to: 775}, {
            from: 775,
            to: 800,
        }, {from: 800, to: 825}, {from: 825, to: 850}, {from: 850, to: 875}, {
            from: 875,
            to: 900,
        }, {from: 900, to: 925}, {from: 925, to: 950}, {from: 950, to: 975}, {
            from: 975,
            to: 1000,
        }, {from: 1000, to: 1025}, {from: 1025, to: 1050}, {from: 1050, to: 1075}, {
            from: 1075,
            to: 1100,
        }, {from: 1100, to: 1125}, {from: 1125, to: 1150}, {from: 1150, to: 1175}, {
            from: 1175,
            to: 1200,
        }, {from: 1200, to: 1225}, {from: 1225, to: 1250}],
        runningPower: [{from: 0, to: 25}, {from: 25, to: 50}, {from: 50, to: 75}, {
            from: 75,
            to: 100,
        }, {from: 100, to: 125}, {from: 125, to: 150}, {from: 150, to: 175}, {
            from: 175,
            to: 200,
        }, {from: 200, to: 225}, {from: 225, to: 250}, {from: 250, to: 275}, {
            from: 275,
            to: 300,
        }, {from: 300, to: 325}, {from: 325, to: 350}, {from: 350, to: 375}, {
            from: 375,
            to: 400,
        }, {from: 400, to: 425}, {from: 425, to: 450}, {from: 450, to: 475}, {
            from: 475,
            to: 500,
        }, {from: 500, to: 525}, {from: 525, to: 550}, {from: 550, to: 575}, {
            from: 575,
            to: 600,
        }, {from: 600, to: 625}, {from: 625, to: 650}, {from: 650, to: 675}, {
            from: 675,
            to: 700,
        }],
        cyclingCadence: [{from: 0, to: 5}, {from: 5, to: 10}, {from: 10, to: 15}, {
            from: 15,
            to: 20,
        }, {from: 20, to: 25}, {from: 25, to: 30}, {from: 30, to: 35}, {from: 35, to: 40}, {
            from: 40,
            to: 45,
        }, {from: 45, to: 50}, {from: 50, to: 55}, {from: 55, to: 60}, {from: 60, to: 65}, {
            from: 65,
            to: 70,
        }, {from: 70, to: 75}, {from: 75, to: 80}, {from: 80, to: 85}, {from: 85, to: 90}, {
            from: 90,
            to: 95,
        }, {from: 95, to: 100}, {from: 100, to: 105}, {from: 105, to: 110}, {
            from: 110,
            to: 115,
        }, {from: 115, to: 125}, {from: 125, to: 150}],
        runningCadence: [{from: 65, to: 67}, {from: 67, to: 69}, {from: 69, to: 71}, {
            from: 71,
            to: 73,
        }, {from: 73, to: 75}, {from: 75, to: 77}, {from: 77, to: 79}, {from: 79, to: 81}, {
            from: 81,
            to: 83,
        }, {from: 83, to: 85}, {from: 85, to: 87}, {from: 87, to: 89}, {from: 89, to: 91}, {
            from: 91,
            to: 93,
        }, {from: 93, to: 95}, {from: 95, to: 97}, {from: 97, to: 99}, {
            from: 99,
            to: 101,
        }, {from: 101, to: 103}, {from: 103, to: 105}, {from: 105, to: 107}, {
            from: 107,
            to: 109,
        }, {from: 109, to: 111}, {from: 111, to: 115}, {from: 115, to: 120}],
        grade: [{from: -20, to: -17}, {from: -17, to: -14}, {from: -14, to: -12}, {
            from: -12,
            to: -9,
        }, {from: -9, to: -6}, {from: -6, to: -3}, {from: -3, to: -2}, {from: -2, to: -1}, {
            from: -1,
            to: -0.5,
        }, {from: -0.5, to: 0.5}, {from: 0.5, to: 1}, {from: 1, to: 2}, {from: 2, to: 3}, {
            from: 3,
            to: 4,
        }, {from: 4, to: 5}, {from: 5, to: 6}, {from: 6, to: 7}, {from: 7, to: 8}, {
            from: 8,
            to: 9,
        }, {from: 9, to: 10}, {from: 10, to: 11}, {from: 11, to: 12}, {from: 12, to: 13}, {
            from: 13,
            to: 14,
        }, {from: 14, to: 15}, {from: 15, to: 16}, {from: 16, to: 17}, {from: 17, to: 18}, {
            from: 18,
            to: 20,
        }, {from: 20, to: 25}],
        elevation: [{from: 0, to: 100}, {from: 100, to: 200}, {from: 200, to: 300}, {
            from: 300,
            to: 400,
        }, {from: 400, to: 500}, {from: 500, to: 600}, {from: 600, to: 700}, {
            from: 700,
            to: 800,
        }, {from: 800, to: 900}, {from: 900, to: 1000}, {from: 1000, to: 1200}, {
            from: 1200,
            to: 1400,
        }, {from: 1400, to: 1600}, {from: 1600, to: 1800}, {from: 1800, to: 2000}, {
            from: 2000,
            to: 2200,
        }, {from: 2200, to: 2400}, {from: 2400, to: 2600}, {from: 2600, to: 2800}, {
            from: 2800,
            to: 3000,
        }, {from: 3000, to: 3500}, {from: 3500, to: 4000}, {from: 4000, to: 5000}],
        ascent: [{from: 0, to: 100}, {from: 100, to: 200}, {from: 200, to: 300}, {
            from: 300,
            to: 400,
        }, {from: 400, to: 500}, {from: 500, to: 600}, {from: 600, to: 700}, {
            from: 700,
            to: 800,
        }, {from: 800, to: 900}, {from: 900, to: 1000}, {from: 1000, to: 1100}, {
            from: 1100,
            to: 1200,
        }, {from: 1200, to: 1300}, {from: 1300, to: 1400}, {from: 1400, to: 1500}, {
            from: 1500,
            to: 1600,
        }, {from: 1600, to: 1700}, {from: 1700, to: 1800}, {from: 1800, to: 1900}, {
            from: 1900,
            to: 2000,
        }, {from: 2000, to: 2100}, {from: 2100, to: 2200}, {from: 2200, to: 2300}, {
            from: 2300,
            to: 2400,
        }, {from: 2400, to: 2500}, {from: 2500, to: 2600}, {from: 2600, to: 2700}, {
            from: 2700,
            to: 2800,
        }, {from: 2800, to: 2900}, {from: 2900, to: 3000}, {from: 3000, to: 3100}, {
            from: 3100,
            to: 3200,
        }, {from: 3200, to: 3300}, {from: 3300, to: 3400}, {from: 3400, to: 3500}, {
            from: 3500,
            to: 3600,
        }, {from: 3600, to: 3700}, {from: 3700, to: 3800}, {from: 3800, to: 3900}, {
            from: 3900,
            to: 4000,
        }, {from: 4000, to: 4100}, {from: 4100, to: 4200}, {from: 4200, to: 4300}, {
            from: 4300,
            to: 4400,
        }, {from: 4400, to: 4500}, {from: 4500, to: 4600}, {from: 4600, to: 4700}, {
            from: 4700,
            to: 5000,
        }, {from: 5000, to: 5500}],
    },
    targetsYearRide: 5000,
    targetsYearRun: 750,
    remoteLinks: true,
    feedAutoScroll: true,
    defaultLeaderBoardFilter: "overall",
    activateRunningGradeAdjustedPace: true,
    activateRunningHeartRate: true,
    activateRunningCadence: true,
    activateRunningTemperature: true,
    activityStravaMapType: "terrain",
    displaySegmentRankPercentage: true,
    displayNearbySegments: true,
    displayMotivationScore: true,
    displayActivityRatio: true,
    displayAdvancedPowerData: true,
    displayAdvancedSpeedData: true,
    displayAdvancedHrData: true,
    displayCadenceData: true,
    displayAdvancedGradeData: true,
    displayAdvancedElevationData: true,
    displayBikeOdoInActivity: true,
    enableBothLegsCadence: false,
    feedHideChallenges: false,
    feedHideCreatedRoutes: false,
    feedHideVirtualRides: false,
    feedHideRideActivitiesUnderDistance: 0,
    feedHideRunActivitiesUnderDistance: 0,
    displaySegmentTimeComparisonToKOM: true,
    displaySegmentTimeComparisonToPR: true,
    displaySegmentTimeComparisonToCurrentYearPR: true,
    displaySegmentTimeComparisonPosition: true,
    displayRecentEffortsHRAdjustedPacePower: false,
    displayExtendedGoals: false,
    reviveGoogleMaps: true,
    reviveGoogleMapsLayerType: "terrain",
    displayActivityBestSplits: true,
    bestSplitsConfiguration: null,
    temperatureUnit: "F",
    windUnit: "mph",
    showHiddenBetaFeatures: false,
    displayReliveCCLink: true,
}
chrome.storage.sync.get(userSettings, function(userSettingsResponseData) {
                console.log(userSettingsResponseData);
            });


[doc] supported parameter via http request

for instance, what parameters authorization request supported?

https://docs.google.com/spreadsheets/d/1MulCF7UbLvtroGYlv-U1cIPEJrRmWptGpmpfrC9gSFM/edit#gid=1624787567

[x] authorization request
[ ] token request
[ ] introspection
[ ] revocation


How to use http request or async/await in perseus?

Hi!
I'm trying to write a demo that gets data from the Actix web server based on the GraphQL API.
I am not familiar with Rust and wasm, so I have read the docs for perseus, but I did not find anything about http request(e.g. GET / POST method).
Is it possible to add an example on how to use http request?
BTW, does perseus support async/await?
Edited:
I found two Rust libraries about using http request in wasm, but I'm not sure if I can use it in perseus:
reqwest / reqwasm
Looking forward to your reply, thanks!

With v0.3.x, you should be able to communicate with a server by following this page in the docs. It's not very specific, but either of those libraries should work I think. If you want to get data at build time for example, you'd use the build state strategy, which takes an asynchronous function, in which you should be able to do what you want.

By the way, questions like these are better as discussions or questions on the Discord server in future.

With v0.3.x, you should be able to communicate with a server by following this page in the docs. It's not very specific, but either of those libraries should work I think. If you want to get data at build time for example, you'd use the build state strategy, which takes an asynchronous function, in which you should be able to do what you want.

Sorry, it's my fault, I didn't read the code in the documentation carefully.

By the way, questions like these are better as discussions or questions on the Discord server in future.

Sorry again. I'm not in the habit of using Discord.
For some reason I can't access Discord server directly, but I will make changes to it.
Thank you for your reply!

No problem! You can also use GitHub discussions if that's easier.


Refine SciPy-compatible API documentation

Fix doc structure to align with the latest SciPy docs.
Prefix filenames of SciPy compatible docs with scipy_.
Add missing sepfir2d and SuperLU to the list.

Please review commit-by-commit.

confirmed the document moves:
https://cupy--5905.org.readthedocs.build/en/5905/reference/fftpack.html
https://cupy--5905.org.readthedocs.build/en/5905/reference/ndimage.html
https://cupy--5905.org.readthedocs.build/en/5905/reference/signal.html
https://cupy--5905.org.readthedocs.build/en/5905/reference/sparse.html
https://cupy--5905.org.readthedocs.build/en/5905/reference/special.html
https://cupy--5905.org.readthedocs.build/en/5905/reference/stats.html


[Feature]: Add workflow to build electron distributions

Contact Details(optional)
No response
What feature are you requesting?
When release a new version, there should have a workflow to build destributions for platforms (Windows, MaxOS etc.)

Fiddle Reference


Deploy Jupyterhub on Azure for Devito tutorial

requirements:

devito install
mpi support
jupyterhub

Is there any other reason than a small overhead in cost to setup different lab for #1100 rather than use the one created for #1101? By the way is there any rough estimation of how many participants are expected?

May use the same solution as #1101

We established that Azure Lab Services cannot be used here because we cannot (without resorting to ssh tunnelling etc) connect to JupyterHub running on nodes because there is no public IP.
Apparently there is something in the pipeline but not in time for Rice.

I guess that as long as we will not need GPUs here, we could have a FAT VM for everybody to connect through Jupyterhub.

So this is in good shape. Few details remaining.
http://<IP_ADDRESS>

Connect to: http://<IP_ADDRESS>
New -> Terminal
git clone https://github.com/devitocodes/devito.git
cd devito
pip install --user -e .[extras]
Navigate through devito and run tutorials.

@ggorman I think after I just ensured that MPI works here we are ready for the dry run.