Restore state for Rfxtrx devices

Description:
This PR aims to add the ability to recover the previous state to Rrxtrx devices, in the same way as has been done for RFLink devices (see #18816).
Rfxtrx devices do not have the ability to ask for their status, so in the reboots, the previous state is lost. This PR gives these devices the ability to 'remember' the status on the reboots.
The new behavior does not apply to devices of the sensor and binary_sensor type, only for covers, switches and lights. In my opinion (and similar as the RFLink integration), I do not believe that the previous state should be restored in these cases, in the next update the correct state will be restored, regardless of the previous state.
Some of the points to review:
I don't own a cover device, so if somebody with a cover device could test the functionality, that would be helpful.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the [development checklist][dev-checklist]

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io n/a

If the code communicates with devices, web services, or third-party tools:

[ ] [The manifest file][manifest-docs] has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest. n/a
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all. n/a
[ ] Untested files have been added to .coveragerc. n/a

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works. see note

Note: I haven't added tests as the current test set seems to skip all the tests, see #30272. When #30272 is fixed, I will add tests. Unfortunately, I'm not capable to fix the tests myself.

@Ernst79 any chance we could restore binary sensor state also?  I have a use case of some dusk dawn sensors...

I can test cover func.

I can test cover func.

@tomeeka Please do, thanks.
The easiest to do this is to copy the files from homeassistant/components/rfxtrx (dev branch) into your custom_components folder. Make a folder rfxtrx inside this folder and copy all the files in this folder (also the files that were not updated). This will overrule the build-in integration. Make sure you restart Home Assistant after that, to load the updated integration. After that you can do a second restart to test it. Let me know if it works.

@Ernst79 any chance we could restore binary sensor state also? I have a use case of some dusk dawn sensors...

@pssc In the RFlink integration, they chose explicitly not to do this for the sensor and binary_sensor, see #18816. It feels weird to do it differently for the rfxtrx integration. Unless @Danielhiversen or @MartinHjelmare think otherwise, I was not planning to do this.

I can test cover func.

@tomeeka Please do, thanks.
The easiest to do this is to copy the files from homeassistant/components/rfxtrx (dev branch) into your custom_components folder. Make a folder rfxtrx inside this folder and copy all the files in this folder (also the files that were not updated). This will overrule the build-in integration. Make sure you restart Home Assistant after that, to load the updated integration. After that you can do a second restart to test it. Let me know if it works.

I did what you asked, but it is not working.
The problem is my Somfy RTS covers do not send status updates. (just receiving commands) But with an appdaemon script I set the new state for them after every command. After HA restarts the state is unknown again for every cover. But with this update the sate should be restored even if it is set by appdaemon, right?
On the rfxtrx lights integration page the IoT class is Assumed state.
I think most of 433mhz covers just receiving cmds. Cover class should be assumed state too.
In HA at the Developer / States page there is an attribute for every rfx cover: assumed_state: true

But the states are always unknown.

Yes, the state should be restored. Let’s try to find out why it is not working. A few step you could try.

Do you have a rfxtrx switch or light. Does restoring the state work on these? If not, can you show the path you placed the files in? They might be in the from folder
It sound strange to me that you need an appdaemon script to set the state. Are you sure the cover you use is a cover of the rfxtrx integration, not a template cover?
Could you try to add the following after line 75

    def _handle_event(self, event):
        """Adjust state if rfxtrx picks up a remote command for this device."""
        self.cancel_queued_send_commands()

        command = event["command"]
        if command in ["on", "allon", "up"]:
            self._state = True
        elif command in ["off", "alloff", "down"]:
            self._state = False

I think it is in the right folder, because I get warnings about the rfxtrx custom component:
WARNING (MainThread) [homeassistant.loader] You are using a custom integration for rfxtrx which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
I do not have any rfxtrx switch or light device, I just added 2 test devices with random ids to the config and state restoration is working.
My config folder: /home/homeassistant/.homeassistant/
RFXTRX files: /home/homeassistant/.homeassistant/custom_components/rfxtrx/

This is the configuration of my Somfy RTS covers:

rfxtrx:

  device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A120O843-if00-port0
  # debug: True
  # dummy: True

cover:

  - platform: rfxtrx
    automatic_add: False
    # signal_repetitions: 0
    devices:
      071a000000000001:
        name: Teraszajtó
      071a000000000002:
        name: Nappali kis ablakok 1
      071a000000000003:
        name: Nappali kis ablakok 2
      071a000000000004:
        name: Nappali nagy ablak 1
      071a000000000005:
        name: Nappali nagy ablak 2
      071a000000000006:
        name: Étkező ablak 1
      071a000000000007:
        name: Étkező ablak 2
      071a000000000008:
        name: Háló ablak 1
      071a000000000009:
        name: Háló ablak 2

Added the new lines to the code but still not updating the states.
Could you try adding my config to your system? I think if you uncomment "dummy: True" under rfxtrx, you can test it yourself without actual rfxcom GW and covers.

After sending open/close/stop commands, states are still unknown.

The warning is ok, this is normal for all custom components. I added the dummy cover to my config and it shows up, but I can see that the state is never updated at all. It always stays "unknown". Therefore, I cannot test if restoring the state works. The main issue however seems that the state is never updated for covers.
Could you create a new issue for this, as it seems to be a different issue? I can try to help figuring out what is wrong, but some help of the original developers would be helpful, as my programming skills are limited. They probably won't look in this PR for issues.

I see in several issues (related to google home) that the rfxtrx cover is called a stateless cover.

But this can be fixed, right? Because I could change my rfxcom gw to an rflink gw. My covers are supported by RFLink too.

Sure, but I’m not an experienced programmer, so it’s difficult for me to solve this alone. Also note that this should be discussed in a topic on the forum, not here. See also #14017, where this is also asked and they mention that such a feature request should be made on the forum. So, I would propose that you open a request on the forum and let’s see if we can solve this together, with the help of others.


Implement 3d texture as assets

This is a simple pr that implements 3d textures as a mostly-copy of 2d textures.
One big, potentially breaking change is that now RenderResource requires an implementation of fn texture3d, which works just like fn texture. The derive macro has been updated to support this.
I haven't tested this yet properly, so I'm making it a draft until I've verified that this works.

Would this be better served as a new Trait that extends the RenderResource trait - something like:
pub trait RenderResource3d: RenderResource  {
    fn texture3d(&self) -> Option<Handle<Texture3D>>;
}

I'm still a bit new to Rust, but if I'm understanding traits, this kind of makes sense if we want to write systems specific to 3d textures vs 2d.

Closed in favor of #903


gatk-framework：/bcbio/bin/java: No such file or directory

i was running run_tests.sh
it got this:
[2016-08-22T03:04Z] /opt/local/share/bcbio/anaconda/bin/gatk-framework: line 61: /opt/local/share/bcbio/bin/java: No such file or directory
Traceback (most recent call last):
File "/opt/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 4, in
import('pkg_resources').run_script('bcbio-nextgen==0.9.9', 'bcbio_nextgen.py')
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/init.py", line 719, in run_script
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/init.py", line 1505, in run_script
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 226, in
main(**kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 43, in main
run_main(**kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
fc_dir, run_info_yaml)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 151, in variant2pipeline
samples = genotype.parallel_variantcall_region(samples, run_parallel)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/genotype.py", line 177, in parallel_variantcall_region
"vrn_file", ["region", "sam_ref", "config"]))
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/split.py", line 35, in grouped_parallel_split_combine
parallel_fn(combine_name, combine_args)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
return run_multicore(fn, items, config, parallel=parallel)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
for data in joblib.Parallel(parallel["num_jobs"])(joblib.delayed(fn)(x) for x in items):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in call
while self.dispatch_one_batch(iterator):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
self._dispatch(tasks)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
job = ImmediateComputeBatch(batch)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in init
self.results = batch()
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in call
return [func(*args, **kwargs) for func, args, kwargs in self.items]
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 51, in wrapper
return apply(f, *args, **kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 208, in concat_variant_files
return vcfutils.concat_variant_files(*args)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/vcfutils.py", line 311, in concat_variant_files
do.run(broad.gatk_cmd("gatk-framework", jvm_opts, params), "Concat variant files", log_error=False)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
_do_run(cmd, checks, log_stdout)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH && /opt/local/share/bcbio/anaconda/bin/gatk-framework -Xms750m -Xmx3500m -XX:+UseSerialGC org.broadinstitute.gatk.tools.CatVariants -R /home/alan/bcbio-nextgen-master/tests/data/genomes/hg19/seq/hg19.fa -V /home/alan/bcbio-nextgen-master/tests/test_automated_output/freebayes/TestBatch1-files.list -out /home/alan/bcbio-nextgen-master/tests/test_automated_output/freebayes/tx/tmpkvJpOf/TestBatch1.vcf.gz -assumeSorted
/opt/local/share/bcbio/anaconda/bin
/opt/local/share/bcbio/anaconda/bin
/opt/local/share/bcbio
/opt/local/share/bcbio/anaconda/bin/gatk-framework: line 61: /opt/local/share/bcbio/bin/java: No such file or directory
' returned non-zero exit status 127
the  /opt/local/share/bcbio/anaconda/bin/gatk-framework code is
set -o pipefail
export LC_ALL=en_US.UTF-8

# Find original directory of bash script, resovling symlinks
# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
    DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
    SOURCE="$(readlink "$SOURCE")"
    [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

JAR_DIR=$DIR

ENV_PREFIX="$(dirname $(dirname $DIR))"

# Use Java installed with Anaconda to ensure correct version
java="$ENV_PREFIX/bin/java"

if [ -e "$JAVA_HOME/bin/java" ]
then
java="$JAVA_HOME/bin/java"
fi

# extract memory and system property Java arguments from the list of provided arguments
# http://java.dzone.com/articles/better-java-shell-script
default_jvm_mem_opts="-Xms512m -Xmx1g"
jvm_mem_opts=""
jvm_prop_opts=""
pass_args=""
for arg in "$@"; do
    case $arg in
        '-D'*)
            jvm_prop_opts="$jvm_prop_opts $arg"
            ;;
        '-XX'*)
            jvm_prop_opts="$jvm_prop_opts $arg"
            ;;
         '-Xm'*)
            jvm_mem_opts="$jvm_mem_opts $arg"
            ;;
         *)
            pass_args="$pass_args $arg"
            ;;
    esac
done

if [ "$jvm_mem_opts" == "" ]; then
    jvm_mem_opts="$default_jvm_mem_opts"
fi

pass_arr=($pass_args)
if [[ ${pass_arr[0]} == org* ]]
then
    eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/gatk-framework.jar" $pass_args
else
    eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/gatk-framework.jar" $pass_args
fi
exit

line 61 is
eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/gatk-framework.jar"
$pass_args
so it looks like something wrong with java environment,how can i fix this??
i add echo into the code, print out the variable,
pass_arr=($pass_args)
if [[ ${pass_arr[0]} == org* ]]
#echo ${pass_arr[0]}
#echo $java
#echo $jvm_mem_opts
#echo $jvm_prop_opts
#echo $JAR_DIR
then
    eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/gatk-framework.jar" $pass_args
else
    eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/gatk-framework.jar" $pass_args
fi
exit

got that
(root) [alan@gzjz_manager_node tests]$ gatk-framework

/opt/local/share/bcbio/bin/java
-Xms512m -Xmx1g

/opt/local/share/bcbio/anaconda/bin
/opt/local/share/bcbio/anaconda/bin/gatk-framework: line 63: /opt/local/share/bcbio/bin/java: No such file or directory

so it looks like the pass_arr and the jvm_prop_opts is empty.the errors cause by jvm_prop_opts
is it something i forgot to set?

Alan;
Sorry about the problems. It seems from all of your posts that there is something problematic about your bcbio installation. I know you're working around problems like #1523 but these type of things should be resolving automatically. Could you provide details about how you installed bcbio? This might help us get to the root cause of the problems rather than trying to diagnose every issue.
Practically for this problem, a couple of thoughts:

Do you have $JAVA_HOME set? If so, please unset that.
If not, it looks like /opt/local/share/bcbio/anaconda/bin/gatk-framework is a symlink, resolving to /opt/local/share/bcbio//bin/gatk-framework. Is that right if you do:

ls -lh /opt/local/share/bcbio/anaconda/bin/gatk-framework

If so, that's backwards, and I'm confused about how it got in that state. In general, executables in /opt/local/share/bcbio//bin should symlink to the anaconda directory /opt/local/share/bcbio/anaconda/bin and you should only need to put /opt/local/share/bcbio//bin in your PATH.
Hope this helps and happy to diagnose more with more details about your installation.

hi,chapmanb
I was installed bcbio like this：
python bcbio_nextgen_install.py /opt/local/share/bcbio --tooldir=/opt/local/share/bcbio/tools  --genomes GRCh37 --aligners bwa --aligners bowtie2
but it got Interrupt a few times,then i reinstall it,it installed automatically success in the end.
and i ran
 bcbio_nextgen.py upgrade -u stable --tools --data
and
bcbio_nextgen.py upgrade --tools --toolplus gatk=/opt/local/softwares/GATK-3.6.0/GenomeAnalysisTK.jar
those all got Upgrade completed successfully.
following up your thoughts:
I have no  $JAVA_HOME set
/opt/local/share/bcbio/anaconda/bin/gatk-framework looks like not a symlink:
(root) [alan@gzjz_manager_node log]$ ls -lh /opt/local/share/bcbio/anaconda/bin/gatk-framework
-rwxr-xr-x 2 alan alan 2.0K 8月  22 12:22 /opt/local/share/bcbio/anaconda/bin/gatk-framework

but there is no bin in /opt/local/share/bcbio/:
(root) [alan@gzjz_manager_node tests]$ ll /opt/local/share/bcbio
总用量 28
drwxrwxr-x 29 alan alan 4096 8月  22 21:32 anaconda
drwxrwxr-x  2 alan alan 4096 8月  18 10:07 config
drwxrwxr-x  3 alan alan 4096 8月  22 21:32 galaxy
drwxrwxr-x  3 alan alan 4096 8月  17 17:28 genomes
drwxrwxr-x  2 alan alan 4096 8月  22 21:32 manifest
drwxrwxr-x  3 alan alan 4096 8月  22 09:03 toolplus
drwxrwxr-x  4 alan alan 4096 8月  17 16:45 tools

thanks for following up .

i ran ./run_tests.sh rnaseq instead ./run_tests.sh  ,it got the same errors, this time is /opt/local/share/bcbio/anaconda/bin/picard

[2016-08-22T13:55Z] **/opt/local/share/bcbio/anaconda/bin/picard: line 62: /opt/local/share/bcbio/bin/java: No such file or directory**
[2016-08-22T13:55Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
    _do_run(cmd, checks, log_stdout)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH && picard -Xms750m -Xmx3500m -XX:+UseSerialGC AddOrReplaceReadGroups INPUT=/home/alan/bcbio-nextgen-master/tests/test_automated_output/align/Test1/mm9/Test1_tophat/merged.bam OUTPUT=/home/alan/bcbio-nextgen-master/tests/test_automated_output/align/Test1/mm9/Test1_tophat/tx/tmpWBgHVv/merged-fixrgs.bam SORT_ORDER=coordinate RGID=Test1 RGLB=None RGPL=illumina RGPU=Test1 RGSM=Test1 TMP_DIR=/home/alan/bcbio-nextgen-master/tests/test_automated_output/tx/tmpus5zfR VALIDATION_STRINGENCY=SILENT
/opt/local/share/bcbio/anaconda/bin/picard: line 62: /opt/local/share/bcbio/bin/java: No such file or directory
' returned non-zero exit status 1

line 62 in /opt/local/share/bcbio/anaconda/bin/picard is
eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/picard.jar" $pass_args

Alan;
Thanks for the details about your setup and install. It looks like the issue is that the executables are not symlinks to the actual location of the scripts. You should be seeing something like:
ls -lh /usr/local/share/bcbio_nextgen/anaconda/bin/gatk-framework
lrwxrwxrwx 1 chapmanb chapmanb 47 Aug 22 09:45 /usr/local/share/bcbio_nextgen/anaconda/bin/gatk-framework -> ../share/gatk-framework-3.6.24-1/gatk-framework

and then the bash script will resolve the base directory to /opt/local/share/bcbio/anaconda/ instead of /opt/local/share/bcbio/, and find the java there.
I've been trying and failing to reproduce an installation in this state. conda installs the tools and should be symlinking them, not copying them:
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/gatk-framework/build.sh#L10

If you re-install with:
bcbio_conda uninstall gatk-framework
rm -rf /opt/local/share/bcbio/anaconda/pkg/gatk-framework*
bcbio_conda install -c bioconda gatk-framework

is there a symlink instead of a non-symlinked file? If that works it would be a workaround for fixing broken tools although I wish I understood why it happens in the first place so we can avoid id.
Also, you should be putting the tool install directory in your PATH:
export PATH=/opt/local/share/bcbio/tool/bin:$PATH

rather than the internal anaconda directory, which will avoid polluting your PATH with additional executables.
Hope this helps some. Sorry to not understand what is happening with your installation.

thanks a lot , re-install it fixed the errors.
but it got another problem:
[2016-08-23T03:17Z] Can't locate Stat/Basic.pm in @INC (you may need to install the Stat::Basic module) (@INC contains: /opt/local/share/bcbio/anaconda/bin/libraries/ /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0 /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0 .) at /opt/local/share/bcbio/anaconda/bin/lr2gene.pl line 9.
[2016-08-23T03:17Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
    _do_run(cmd, checks, log_stdout)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH &&  cov2lr.pl -a  /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/mapping_reads.txt /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/sample_coverages.txt | lr2gene.pl  > /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/calls_combined.tsv
Can't locate Stat/Basic.pm in @INC (you may need to install the Stat::Basic module) (@INC contains: /opt/local/share/bcbio/anaconda/bin/libraries/ /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0 /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0 .) at /opt/local/share/bcbio/anaconda/bin/lr2gene.pl line 9.
BEGIN failed--compilation aborted at /opt/local/share/bcbio/anaconda/bin/lr2gene.pl line 9.
Can't locate Stat/Basic.pm in @INC (you may need to install the Stat::Basic module) (@INC contains: /opt/local/share/bcbio/anaconda/bin/libraries/ /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0 /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0 .) at /opt/local/share/bcbio/anaconda/bin/cov2lr.pl line 9.
BEGIN failed--compilation aborted at /opt/local/share/bcbio/anaconda/bin/cov2lr.pl line 9.
' returned non-zero exit status 2
Traceback (most recent call last):
  File "/opt/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 4, in <module>
    __import__('pkg_resources').run_script('bcbio-nextgen==0.9.9', 'bcbio_nextgen.py')
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/__init__.py", line 719, in run_script

  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/__init__.py", line 1505, in run_script

  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 226, in <module>
    main(**kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 43, in main
    run_main(**kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
    fc_dir, run_info_yaml)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 177, in variant2pipeline
    samples = structural.run(samples, run_parallel, "standard")
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/structural/__init__.py", line 125, in run
    for xs in to_process.values()))
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"])(joblib.delayed(fn)(x) for x in items):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in __call__
    while self.dispatch_one_batch(iterator):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
    self._dispatch(tasks)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
    job = ImmediateComputeBatch(batch)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in __init__
    self.results = batch()
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in __call__
    return [func(*args, **kwargs) for func, args, kwargs in self.items]
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 51, in wrapper
    return apply(f, *args, **kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 220, in detect_sv
    return structural.detect_sv(*args)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/structural/__init__.py", line 144, in detect_sv
    for svdata in caller_fn(items):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/structural/seq2c.py", line 62, in run
    seq2c_calls_file = _call_cnv(items, work_dir, read_mapping_file, coverage_file, normal_names)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/structural/seq2c.py", line 121, in _call_cnv
    do.run(cmd.format(**locals()), "Seq2C CNV calling")
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
    _do_run(cmd, checks, log_stdout)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH &&  cov2lr.pl -a  /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/mapping_reads.txt /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/sample_coverages.txt | lr2gene.pl  > /home/alan/bcbio-nextgen-master/tests/test_automated_output/structural/Test1/seq2c/calls_combined.tsv
Can't locate Stat/Basic.pm in @INC (you may need to install the Stat::Basic module) (@INC contains: /opt/local/share/bcbio/anaconda/bin/libraries/ /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0 /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0 .) at /opt/local/share/bcbio/anaconda/bin/lr2gene.pl line 9.
BEGIN failed--compilation aborted at /opt/local/share/bcbio/anaconda/bin/lr2gene.pl line 9.
Can't locate Stat/Basic.pm in @INC (you may need to install the Stat::Basic module) (@INC contains: /opt/local/share/bcbio/anaconda/bin/libraries/ /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/site_perl/5.22.0 /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0/x86_64-linux-thread-multi /opt/local/share/bcbio/anaconda/lib/perl5/5.22.0 .) at /opt/local/share/bcbio/anaconda/bin/cov2lr.pl line 9.
BEGIN failed--compilation aborted at /opt/local/share/bcbio/anaconda/bin/cov2lr.pl line 9.
' returned non-zero exit status 2
ERROR

Alan;
Sorry about the continued problems, this looks like another manifestation of the same issue with not having correct symlinks. seq2c cannot find it's internally installed libraries. You hopefully can fix with the same approach:
bcbio_conda uninstall seq2c
rm -rf /opt/local/share/bcbio/anaconda/pkg/seq2c*
bcbio_conda install -c bioconda seq2c

Hopefully there are not too many other issues and this'll help get it running for you.

thanks again.that helped me fix the errors.
although I still dont know why it happens in the first place.
but re-install umis and kallisto can't fix this errors:

[2016-08-23T14:44Z] Usage: umis [OPTIONS] COMMAND [ARGS]...
[2016-08-23T14:44Z]
[2016-08-23T14:44Z] Error: No such command "kallisto".
[2016-08-23T14:44Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
    _do_run(cmd, checks, log_stdout)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; /opt/local/share/bcbio/anaconda/bin/umis kallisto --cb_histogram /home/alan/bcbio-nextgen-master/tests/test_automated_output/umis/Test1/cb-histogram.txt --cb_cutoff 500 --out_dir /home/alan/bcbio-nextgen-master/tests/test_automated_output/kallisto/Test1/tx/tmpEet0em/fastq /home/alan/bcbio-nextgen-master/tests/test_automated_output/umis/Test1.umitransformed.fq.gz
Usage: umis [OPTIONS] COMMAND [ARGS]...

Error: No such command "kallisto".
' returned non-zero exit status 2
Traceback (most recent call last):
  File "/opt/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 4, in <module>
    __import__('pkg_resources').run_script('bcbio-nextgen==0.9.9', 'bcbio_nextgen.py')
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/__init__.py", line 719, in run_script

  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/__init__.py", line 1505, in run_script

  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 226, in <module>
    main(**kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 43, in main
    run_main(**kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
    fc_dir, run_info_yaml)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 295, in singlecellrnaseqpipeline
    samples = rnaseq.singlecell_rnaseq(samples, run_parallel)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/rnaseq.py", line 28, in singlecell_rnaseq
    samples = run_parallel("run_kallisto_singlecell", samples)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"])(joblib.delayed(fn)(x) for x in items):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in __call__
    while self.dispatch_one_batch(iterator):
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
    self._dispatch(tasks)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
    job = ImmediateComputeBatch(batch)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in __init__
    self.results = batch()
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in __call__
    return [func(*args, **kwargs) for func, args, kwargs in self.items]
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 51, in wrapper
    return apply(f, *args, **kwargs)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 36, in run_kallisto_singlecell
    return kallisto.run_kallisto_singlecell(*args)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/rnaseq/kallisto.py", line 31, in run_kallisto_singlecell
    out_file = kallisto_singlecell(fq1, kallisto_dir, gtf_file, fasta_file, data)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/rnaseq/kallisto.py", line 44, in kallisto_singlecell
    batch_file = umi.convert_to_kallisto(data)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/rnaseq/umi.py", line 198, in convert_to_kallisto
    do.run(cmd.format(**locals()), message)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
    _do_run(cmd, checks, log_stdout)
  File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; /opt/local/share/bcbio/anaconda/bin/umis kallisto --cb_histogram /home/alan/bcbio-nextgen-master/tests/test_automated_output/umis/Test1/cb-histogram.txt --cb_cutoff 500 --out_dir /home/alan/bcbio-nextgen-master/tests/test_automated_output/kallisto/Test1/tx/tmpEet0em/fastq /home/alan/bcbio-nextgen-master/tests/test_automated_output/umis/Test1.umitransformed.fq.gz
Usage: umis [OPTIONS] COMMAND [ARGS]...

Error: No such command "kallisto".
' returned non-zero exit status 2
SKIP

Hi Alan,
Sorry, that is expected behavior, kallisto isn't installed automatically. Next release it will get added.

I swapped this back to use the rapmap quantifier for now.

@roryk
thanks for  flowing up..
running ./run_tests.sh is no errors now.
but running ./run_tests.sh rnaseq got this error:
[```
2016-08-24T02:19Z] Combining count files into /home/alan/bcbio-nextgen-master/tests/test_automated_output/sailfish/combined.sf.
[2016-08-24T02:19Z] Finished combining count files into /home/alan/bcbio-nextgen-master/tests/test_automated_output/sailfish/combined.sf.
[2016-08-24T02:19Z] multiprocessing: run_stringtie_expression
[2016-08-24T02:19Z] Resource requests: dexseq, express; memory: 10.00, 8.00; cores: 1, 1
[2016-08-24T02:19Z] Configuring 1 jobs to run, using 1 cores each with 10.00g of memory reserved for each job
[2016-08-24T02:19Z] Timing: estimate expression (single threaded)
[2016-08-24T02:19Z] multiprocessing: run_dexseq
[2016-08-24T02:19Z] Resource requests: gatk; memory: 3.50; cores: 1
[2016-08-24T02:19Z] Configuring 1 jobs to run, using 1 cores each with 3.50g of memory reserved for each job
[2016-08-24T02:19Z] Timing: RNA-seq variant calling
[2016-08-24T02:19Z] multiprocessing: run_rnaseq_variant_calling
[2016-08-24T02:19Z] Calling RNA-seq variants with VarDict
[2016-08-24T02:19Z] Error: Could not find or load main class com.astrazeneca.vardict.Main
[2016-08-24T02:19Z] Uncaught exception occurred
Traceback (most recent call last):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
_do_run(cmd, checks, log_stdout)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; unset R_HOME && export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH && export VAR_DICT_OPTS='-Xms750m -Xmx3500m -XX:+UseSerialGC -Djava.io.tmpdir=/home/alan/bcbio-nextgen-master/tests/test_automated_output/variation/tx/tmpw5hAdX' && vardict-java -G /home/alan/bcbio-nextgen-master/tests/data/genomes/mm9/seq/mm9.fa -f 0.2 -N Test1 -b /home/alan/bcbio-nextgen-master/tests/test_automated_output/align/Test1/1_110907_ERP000591_star/Test1.bam  -c 1 -S 2 -E 3 -g 4  /home/alan/bcbio-nextgen-master/tests/data/genomes/mm9/rnaseq/ref-transcripts.bed | teststrandbias.R| var2vcf_valid.pl -N Test1 -E -f 0.2 -v 50 | awk -F$'\t' -v OFS='\t' '{if ($0 !~ /^#/) gsub(/[KMRYSWBVHDX]/, "N", $4) } {print}' |  awk -F$'\t' -v OFS='\t' '$1!~/^#/ && $4 == $5 {next} {print}' | /opt/local/share/bcbio/anaconda/bin/vcfstreamsort | bgzip -c > /home/alan/bcbio-nextgen-master/tests/test_automated_output/variation/tx/tmpw5hAdX/Test1-vardict.vcf.gz
Error: Could not find or load main class com.astrazeneca.vardict.Main
' returned non-zero exit status 1
Traceback (most recent call last):
File "/opt/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 4, in
import('pkg_resources').run_script('bcbio-nextgen==0.9.9', 'bcbio_nextgen.py')
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/init.py", line 719, in run_script
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/setuptools-25.1.6-py2.7.egg/pkg_resources/init.py", line 1505, in run_script
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 226, in
main(**kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio_nextgen-0.9.9-py2.7.egg-info/scripts/bcbio_nextgen.py", line 43, in main
run_main(**kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
fc_dir, run_info_yaml)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 261, in rnaseqpipeline
samples = rnaseq.rnaseq_variant_calling(samples, run_parallel)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/rnaseq.py", line 39, in rnaseq_variant_calling
samples = run_parallel("run_rnaseq_variant_calling", samples)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
return run_multicore(fn, items, config, parallel=parallel)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
for data in joblib.Parallel(parallel["num_jobs"])(joblib.delayed(fn)(x) for x in items):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in call
while self.dispatch_one_batch(iterator):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
self._dispatch(tasks)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
job = ImmediateComputeBatch(batch)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in init
self.results = batch()
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in call
return [func(*args, **kwargs) for func, args, kwargs in self.items]
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 51, in wrapper
return apply(f, *args, **kwargs)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 168, in run_rnaseq_variant_calling
return rnaseq.run_rnaseq_variant_calling(*args)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/rnaseq.py", line 55, in run_rnaseq_variant_calling
data = variation.rnaseq_vardict_variant_calling(data)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/rnaseq/variation.py", line 137, in rnaseq_vardict_variant_calling
do.run(cmd.format(**locals()), message)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
_do_run(cmd, checks, log_stdout)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; unset R_HOME && export PATH=/opt/local/share/bcbio/anaconda/bin:$PATH && export VAR_DICT_OPTS='-Xms750m -Xmx3500m -XX:+UseSerialGC -Djava.io.tmpdir=/home/alan/bcbio-nextgen-master/tests/test_automated_output/variation/tx/tmpw5hAdX' && vardict-java -G /home/alan/bcbio-nextgen-master/tests/data/genomes/mm9/seq/mm9.fa -f 0.2 -N Test1 -b /home/alan/bcbio-nextgen-master/tests/test_automated_output/align/Test1/1_110907_ERP000591_star/Test1.bam  -c 1 -S 2 -E 3 -g 4  /home/alan/bcbio-nextgen-master/tests/data/genomes/mm9/rnaseq/ref-transcripts.bed | teststrandbias.R| var2vcf_valid.pl -N Test1 -E -f 0.2 -v 50 | awk -F$'\t' -v OFS='\t' '{if ($0 !~ /^#/) gsub(/[KMRYSWBVHDX]/, "N", $4) } {print}' |  awk -F$'\t' -v OFS='\t' '$1!~/^#/ && $4 == $5 {next} {print}' | /opt/local/share/bcbio/anaconda/bin/vcfstreamsort | bgzip -c > /home/alan/bcbio-nextgen-master/tests/test_automated_output/variation/tx/tmpw5hAdX/Test1-vardict.vcf.gz
Error: Could not find or load main class com.astrazeneca.vardict.Main
' returned non-zero exit status 1

Alan;
Unfortunately this is the same issue as before with your install, just with vardict-java. It sounds like you might have re-installed vardict, the perl version. I'd do:
bcbio_conda uninstall vardict-java
rm -rf /opt/local/share/bcbio/anaconda/pkg/vardict-java*
bcbio_conda install -c bioconda vardict-java

Hope that fixes it for you.

yes, it worked. thanks a lot.


Unable to Download Settings

Visual Studio Code Version : 1.11.2
Code Settings Sync Version : 2.6.2
Operating System : Windows 10
Occurs On: Download
Proxy Enabled: No
Gist Id: 89a1072321dc06e4a7a0c7ef5a56f6ec
I was able to install the extension on my home computer without issue and the upload worked.
However, after installing the extension on my work PC, I used the Shift+Alt+D key combination and nothing happens. Any thoughts?
NOTE: Using >Sync on the Command Palette did allow me to download the settings. It's just the keyboard shortcut that didn't work.

You need to open some document then use the shortcuts defined in the readme.


Fix a bug in the useMnemonics hook to make it compatible with textareas

Fix a bug in the useMnemonics hook that makes it incompatible with textarea elements. This bug manifested itself when I was trying to use a MarkdownEditor in an ActionMenu.
Closes #2316
Screenshots
No visual changes.
Merge checklist

[x] Added/updated tests
[ ] Added/updated documentation (didn't seem necessary)
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Looks CI is failing (linting), we're good to go after that's fixed

👋 Hi! Just checking, is this still useful?


Add instructions for installing Rally into a Python VirtualEnv.

This PR adds instructions for running Rally in a Python VirtualEnv, which means no sudo access required and less issues with the Python dependencies getting upgraded with system updates.

+1, this is how I run Rally.

Very helpful, thanks for your PR @joshuar!


Decide whether or not certain highlights are included in the mentions tab

What should be added?
There should be an option added in the 'highlights settings' where you can decide whether certain terms or people are included in your mentions tab

Why should it be added?
having certain people highlighted is convenient but they often fill up your mentions tab with messages completely unrelated to you.

From my understanding, this functionality would be included in https://github.com/Chatterino/chatterino2/pull/1748.

This would be a great and very welcome addition. 👍 My mentions tab is currently completely useless 😅
No offense, I'm not a big fan of the filter coding approach richardt has created, since I can just use regex non capturing to achieve kinda similar results for what I'd do anyway, but a ☑ for "ignore from mentions" would be the best. Clean and simple to use


basic support for multiple conditions added - WIP

Fixes issue #778
created basic support for multiple conditions using logic anyOneTrue or allTrue from a list of conditions.

Need suggestions for UI improvements.
One problem i have noticed is that indenting breaks the data variable field of AnyVariableAndDataPair in the custom inspector.
For backward compatibility setting the anyVar field to null doesn't seem to work. it seems to get reinitialized on changing the number of condition. so for now I am checking if anyVar.variable != null to skip backward compatibility.

Had a quick look over it, seems like a good start, some coding standard stuff to fix up but that's not a big deal at the moment.
Some quick suggestions to chase up.

Use OnValidate to force list to be at least 1 long, empty condition list makes no sense
Gaps between conditions, via Space or Separator
RE; AnyVar not nulling, try putting [HideInInspector] on it, the serialized object may still be defaulting it even though the custom editor isn't showing it.
Definitely do indent, the data drawerer still functions but does have a visual error, I'll see I can fix that.
Add a demo scene somewhere in FungusExamples to demonstrate and validate functionality.
The summary will end up being the pseudo code for the condition chain, but it may not fit easily in the inspector space, I would try putting that in a label above or below the rest of the command for users to cross check against.

If you are still wanting to extend it to have A && B || C, then having that stored in your ConditionExpression class makes sense, just don't draw that element on the last item in the list. If you are going to include that feature, you'll definitely want to look at using reorderable list for the ConditionExpression list though

Addressing your issues in order

In OnValidate if the list is empty i have added an empty condition to it.
Added some space between conditions.
I tried adding [HideInInspector] to it, but it is still not nulling. Is there a problem with checking anyVar.variable == null as i am doing right now?
Added the code for indenting but it's commented out for now because if i indent the data drawer has a visual glitch as well as the drop down isn't working. You can un-comment that when you fix it.
Added a demo scene(MultipleConditionsExample).
I'm not sure which summary you are referring to here. I have already changed the GetSummary() of the VariableCondition class in my previous commit. It displays next to the if or else if command in the command list window itself.

I am not planning to support conditions like A && B || C directly in the if or else if commands because that requires brackets/priority. It can be done in a separate command though. But as you said people who want that kind of behavior will probably use lua if.

Made your requested changes

Checked out locally to test out, found a problem in back compat. When updating a command from old fields to new version, it's ending up adding it multiple of the same condition. Due to not nulling out the existing old data after moving to new.

I'm going to pull into a local branch and make the required adjustments before merging into develop.


Make kubeadm preflight-check and reset less docker specific.

This should be a kubeadm issue.
Track it here for now, and file corresponding kubeadm issue after we think this through.

kubeadm reset doesnt remove kube pods in kube-system namespace
docker@abhi-demo-moby-linux-0:~$ sudo kubeadm reset
[preflight] Running pre-flight checks
[reset] Stopping the kubelet service
[reset] Unmounting mounted directories in "/var/lib/kubelet"
[reset] docker doesn't seem to be running, skipping the removal of running kubernetes containers
[reset] Deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/lib/etcd]
[reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]

I think this has been fixed. https://github.com/kubernetes/kubernetes/blob/1e8f40f42ba789e7a453764ea8115ed8859af91e/cmd/kubeadm/app/cmd/reset.go
kubeadm is using crictl today.


S2I test/run issues

Hello
I used s2i create to generate the skeleton of a S2I image project. But when i run the make test i have several issues :
A small one : as the cid_file is empty at the beginning, docker inspect display usage warning, so i have add some quotes around $(cat $cid_file) like in other functions
A "big" one: the tests failed because after stopping the container, the script try to remove the image ... but the container was not removed yet, so i have add a wait loop like in an other function
The pact of the test/run script s2i-test-run-patch.txt
A link to my S2I image

Thanks, we'll take a look at it.

I am working on revamping the skeleton into a working application, and updating the information in the docs folder, but it will take me a few.

Linked to #688

Fixed via #688


"Cancel build" dialog should be removed when the build has finished

See title. The dialog sticks around even if there is ongoing build to cancel anymore.

For this we need to do a custom MessageBox like dialog as I think the MessageBox blocks UI thread and the building on another thread may complete. Is this message really needed?

@elsassph wanted it.

I felt this dialog would be useful to avoid someone hammering the button starting/stoping/starting builds. I'm not against another approach.

I think, as its half broken, we should remove it.

Not if you can prevent the user to shoot itself in the foot - it isn't that broken.

Then i'm marking this for future improvements.

Just make a separate icon so they can't rapid-click in place to start-stop.


use background thread on kernel to gather variable information

example: https://insiders.vscode.dev/github.com/microsoft/vscode-jupyter/blob/main/src/standalone/chat/extesnion.ts#L82-L100

@DonJayamanne can you help me with a couple questions:

Our namespaced built-ins aren't available in the scope of the bg thread, does that mean that normal built-ins are ok to use?
"../../standalone/api/kernels/backgroundExecution" imported in restricted zone. Only modules from ./src/platform and ./src/telemetry can be imported into ./src/kernels.

can we move this hleper into platform?

Yes to both,
Though I'm not sure why first isn't working. it should
Perhaps its the way the code is structured,
If i recall we used to send multiple requests, instead of sending multiple requests, we might want to send one single request,
Else a function created in one request might not be available to the other request (after all the scope is different as each run in a function scope in different threads).


Fix quorum pre-image unit test

This test has often failed recently. See commits for details on fix.

This test is never failing locally so is really hard to fix at the moment.

This test is never failing locally so is really hard to fix at the moment.

If this fails again on CI even with this change, How about solving this problem with other approaches later.

But if you think there are any improvements in the test result, it's not bad to merge it.


modify sbatch

Hi Qihang, I have invited you to be one of the collaborators of this repo. You can merge the codes by themselves next time.


Errors related to Chrome Canary (v67) implementation changes to chrome.runtime.connect and chrome.runtime.sendMessage

It looks like the way Store.js is calling chrome.runtime.connect and chrome.runtime.sendMessage causes errors in Chrome v67.
These errors include:

Calling connect and sendMessage with a blank extension id no longer works.
Calling sendMessage without passing null for the optional options third parameter no longer works.

The documentation states that the extension id parameter is an optional string, which probably means that it should either be the extension id string or null/undefined.  I've tested that using a blank string works in:
Version 65.0.3325.162 (Official Build) (64-bit) and
Version 66.0.3359.33 (Official Build) beta (64-bit)
However, it stops working on the Canary build I have installed:
Version 67.0.3375.0 (Official Build) canary (64-bit)
I've logged a bug on the chromium project here, in case there are other libraries that may do the same thing.
https://bugs.chromium.org/p/chromium/issues/detail?id=823577
I think that we should probably change the code in Store.js as it is a simple change to set the default to be null.
The other issue has to do with how Store.js is calling chrome.runtime.sendMessage.  At the moment it is being called with 3 parameters.  However, the documentation describes an optional options third parameter.  I've confirmed that the current code breaks in Canary as well.  Adding a null for the third parameter fixes it.
I've also confirmed that both these changes (null for extension id and adding a null third parameter) still work in v65 and v66.
I'm currently preparing a PR to fix these issues.  We should probably do more testing on other projects as well as earlier chrome versions to make sure this is still working properly.  According to Chrome's release schedule, v67 won't be released until the the end of May, so there is some time before this becomes a production worry:
https://www.chromium.org/developers/calendar

@marcokam Thanks for reporting this and also submitting a PR! Looking through it now.


Android: Version selector floating too high

Describe the bug
A clear and concise description of what the bug is.
The docs version selector floats a bit too high up.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.attrs.org/en/stable/ on Chrome on Android (Samsung S8)
Check the location of the version selector

Expected behavior
A clear and concise description of what you expected to happen.
The selector is perhaps flush with the bottom of the screen, or in the left menu.
Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

Device: Samsung S8
OS: Android
Browser: Chrome
Version: 85

Hmm... The other option is that it overlaps with the navigation at bottom of the page. :(

sphinx_rtd_theme puts it in the left menu.
https://pillow.readthedocs.io/en/stable/

sphinx_rtd_theme puts it in the left menu.

I was checking the RTD documentation earlier for how to add both the ad as well as the docs navigation there. There's barebones documentation for the ad, but nothing for the navigation embed that they have.

Hmm, I reloaded and it's now in the same place as sphinx_rtd_theme, in the left menu. No code changes or RTD rebuilds, or cache clearings. Maybe it was a one off!

FWIW, this is higher due to the specific CSS I've added for this -- https://github.com/pradyunsg/furo/commit/1aac39f641fccf94c8e3387460122176780e1a29. This area is up for discussion, around how we'd change this to work best.
Right now, I've prioritized making the bottom of page navigation more visible (on desktop) since I think navigation gets a bit more priority than the content in this case. I'm all ears for other opinions though. :)

FWIW, it doesn't just float too high, it's also very broken on Safari & FF, if you try to open it:

Edge suggest it's a z-index issue:

Not sure if new issue or belongs here?

ARGH. z-indexes are horrible and break everything. Fixed that issue in ac09927fddd29313b97a4f6a06448285cbac1fcf. :)

I've gone ahead and dropped this in ac251fd. I'll revisit this properly at a later date though.
Closing this for now, since it's "fine" without this override.


Using toSignal in a root-provided service can lead to memory leaks?

According to @NetanelBasal  toSignal uses the injector’s context for unsubscription by default. When used in a root service, this can lead to memory leaks when the consuming component is destroyed. More on that you can read here: https://netbasal.com/navigating-the-nuances-of-tosignal-in-angular-what-to-know-e4d6a4b5dfaf
Your code, for example the ProductService root service, also uses this potentially dangerous pattern:
// apm-final/src/app/products/product.service.ts
@Injectable({
  providedIn: 'root'
})
export class ProductService {
  private productsResult = toSignal(this.productsResult$,
    { initialValue: ({ data: [] } as Result<Product[]>) });

  products = computed(() => this.productsResult().data);
  productsError = computed(() => this.productsResult().error);
}

// apm-final/src/app/products/product-list/product-list.component.ts
export class ProductListComponent {
  private productService = inject(ProductService);

  // Products
  products = this.productService.products;
}

In this example, there is no "consuming component". The toSignal() is private to the service. So it will remain (on purpose) for the life of the application. And will be destroyed when the application is terminated.
Next time I update this course, I'll be sure to clarify this point.
Thanks!


Backward compatibility

Martin Kadansky:

Hi Raman-- Sorry I haven't had time to reply to your email, the main problem I had with your spreadsheet was a function that you use that I think was called "_xif" which doesn't exist in my environment, Excel 2003 on Windows and 2004 on Macintosh. :)
Well, as I remember "_xif" was clearley visible in almost every cell, not an indirect reference.

Could be nice to experiment with saving and delivering this file in a more primitive, older Excel format for broader backward compatibility. The recent features may not be needed for the features used (named ranges, conditional formatting, and a VLOOKUP).

(It is _xlf)

That _xlf is an omnibus flag for an unsupported function. Namely, with Martin's help, we figured out that IFNA was introduced in Excel 2013.  - Excel 2003

If I touch this logic, it might be good to improve the nullity handling a bit. The existing IFNA logic robustly handles a "no match" condition on tier (0, blank, etc.) to leave recency blank.
But initial setup will likely be discouraging: if last_contacted is blank but tier is set up (which happens a lot between setting up one's power circles and "burning in" the actual communication with the people, last_contacted defaults to "day 0" and a large negative number (as of today, -39338%). That's a touch dramatic...putting something like -100% would make the system feel less broken.

(-39338% is for a Tier 1 of 112 days.)

Rebuilt the formula to hopefully support backward compatibility to Excel 2003 and also to give -100% as recency in the "no date" condition. In cell E2 in the power_circles sheet:
=IF(ISNA(VLOOKUP(C2, tiers, 2, FALSE)), "", IF(ISBLANK(D2), -1, 1 - (TODAY() - D2) / VLOOKUP(C2, tiers, 2, FALSE)))

Will close after Martin's test on Excel 2003.

Update README to reflect backward compatibility once it's verified.


line chart shadow option

Added one option to dataset
shadowColor: similar to color, if not provided, shadow color for the dataset will be the same as the line color with useShadowColorFromDataset:true,
if useShadowColorFromDataset:false,
shadow color will be chartConfig.color.
shadow color is applied with following priority.
dataset.shadowColor -> dataset.color -> chartConfig.color

@Kaienss @Hermanya any update here. I badly need this feature


[Feature] Support a SOTA channel pruning method, ResRep.

Describe the feature
A SOTA channel pruning method, ResRep.
Motivation
This method is the SOTA static channel pruning method. It prunes a standard Res50 with over 50% FLOPs reduction and zero accuracy drop.
MMRazor is an awesome framework, but I am too busy these days so I would really appreciate it you could implement it in MMRazor.
Related resources
https://openaccess.thecvf.com/content/ICCV2021/html/Ding_ResRep_Lossless_CNN_Pruning_via_Decoupling_Remembering_and_Forgetting_ICCV_2021_paper.html
https://github.com/DingXiaoH/ResRep
Additional context

Thanks for your attention to MMRazor.
I'm very excited to receive your issue！
My colleagues and I agree that ResRep is excellent work, and we will start to reproduce ResRep as soon as possible.
Could we invite you to review at that time? @DingXiaoH


Specifics for AzureUSGovernment

Could we put a section up top of the article such as "Applies To", regarding which Azure clouds this document applies to?
Can we use this guide "as is" in Azure US Government?
If there are any differences could those be called out in this article?

Thanks

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

ID: 6e20ba5e-787f-63d2-b6e2-822b14788ad1
Version Independent ID: 5a0ce135-f88d-a490-48bb-356147c8a76e
Content: Use Azure Firewall to protect Azure Virtual Desktop
Content Source: articles/firewall/protect-azure-virtual-desktop.md
Service: firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

Thank you for your dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Relai: Payment with no status and wrong amount sent

node_id=02281d4861674eb5020b9d27f095a9c92c613b06e07509d3ff76a1a2c195de7c28

I used Relai to pay for a lightning invoice of 149000000 SATS. My balance was reduced but the recipient never received any SATS. Upon connecting to my node via gl-client, I noticed in the "paylist" logs that the payment has no status and the amount sent doesn't match the amount of the invoice. The Invoice has already expired by now.
pays {
  payment_hash: "\275\233\203X\256\366\006\2270\032\005\323D\024\237\275>\2401jD\036"\205\374u:\237\242\202|h"
  destination: "\002\213\020\276\220\335\373N\361X\302R\026>O4\014\212\t;\356\342\004'\323\232\t\206\253\254X\245^"
  created_at:<PHONE_NUMBER>
  bolt11: "lnbc1490u1pnycug4pp5hkdcxk9w7crfwvq6qhf5g9ylh5l2qvt2gs0z9p0uw5aflg5z035qdqqcqzzsxqyz5tlsp539r7dk8jrr9k0kcwwudq9ytfl27qa4s4py434xf2q4zvnl36mafs9qyyssq5ewtx9q944kry40zl0hmxnc68rjla2nz98zkyj6ju254u7wx37788qu7yz8swl535tcwxay35pcvy0emu5q0hpzfq6fx023dnm56f8sp5qamy9"
  description: ""
  amount_msat {
    msat: 126267684
  }
  amount_sent_msat {
    msat: 126783461
  }
  number_of_parts: 10
}

So two issues here, firstly the amount sent is wrong. Secondly the payment has no status but the balance (spendable_msat from list_peers) was reduced.
Is there a way to recover those funds?

There are a number of cases that can lead to this situation, but I think the most likely is the following:

You tried to pay an invoice for 149000000 msats (you wrote sats, but that'd be >1BTC in value, which I doubt)
The payment was attempted, and had to be split into multiple parts (see the number_of_parts entry there)
The payment ultimately failed, with only a partial amount reaching the destination
The destination held the HTLCs in the hopes of completing the payment, but ultimately it had to return them
The HTLCs are not yet all returned, causing the balance discrepancy.

You see, when you send a payment, we have to set aside the payment amount from your balance, and allocate them to HTLCs, as that's how multi-hop payments are performed. The balance will only return to the starting situation once all HTLCs are settled. So the spendable_msat key in listpeerchannels is just that, the amount you can spend immediately without having to wait for things like HTLCs to settle. It's also worth pointing out that counting HTLCs to your balance is ultimately wrong, as the HTLC is in a state that cannot be decided (it could either be settled or timeout, which determines who owns the funds).
Please allow some time for the funds to be fully returned, at which point you will see that the payment failed. Given you have the gl-client installed, you could look into list_peer_channels to see which and how many HTLCs are pending, along with the timeouts that delineate their validity.

Thanks for your response. I checked with list_peers and figured that all HTLCs are expired by now.  Shouldn't the funds be returned by now, or am I misunderstanding something here.
Cheers

I see, yes, that is an issue with the fees that are attached to those sweep transactions. Given the high-fee environment, we only slowly raise the feerate in order not to waste a user's funds on sweeping funds, but paying high fees to do so. It just takes a while to sweep.
16 blocks is still rather recent, let's see if the sweeps eventually go through. If not you might have a case of https://github.com/Blockstream/greenlight/issues/439, which we are actively debugging (restarts messing up the onchaind state machine).

@cdecker to this day (2 months) the sats are still stuck. Apparently v24.02gl1 doesn't fix this. The node still gives the following status:
status: "ONCHAIN:Tracking our own unilateral close"
status: "ONCHAIN:16 outputs unresolved: in<PHONE_NUMBER> blocks will spend OUR_HTLC (00c4619fbcc059107504d53d1138dab98d7ab710477b9da37c7bd6f764cc8205:2) using OUR_HTLC_TIMEOUT_TX"

It seems that the calculation of the number of blocks until the sweep transaction will be published is miscalculated<PHONE_NUMBER> blocks).
Do you have an update on this issue or an idea on how to get my sats back out of this state?

Yes, the numeric overflow is just a representational issue. I'll check the status of this node asap and see what's going on here 🤔

@cdecker It's been one month since you wanted "check the status of this node asap". I would really appreciate you actively helping me out to recover my sats. It should be around $70 (current price) that are in this weird stage.

Apologies, my bad for dropping the ball on this one. I just checked the node right now, and looking at the 3 user sessions today, I can see that it is indeed attempting to sweep the funds from the HLTCs. It is lacking the funds to do so however:
0264a62a4307d701c04a46994ce5f5323b1ca28c80c66b73c631dbcb0990d6e835-chan#1: We want to bump HTLC fee, but no funds!

This means that we're attempting to RBF the sweeps, but do not have on-chain funds to do so. This is either because the node does not have an on-chain output it could use, and the emergency funds have been set to 546sat (min-emergency-msat=msat config option) in response to Breez asking for the ability to fully allocate funds to channels, and make them fully drainable.
There is little we can do from our side, we'll have to wait for these sweeps to go through, or we'll have to add sufficient on-chain funds to pay for the sweeps.

If it is possible, I would like to add sufficient on-chain funds to pay for the sweeps. But I am wondering how many sats will be swept and if it is even economical to do so. To my knowledge there should be around 0.00149 BTC that should be swept. Can you give me the exact amount of BTC I would receive if I add sufficient on-chain funds to pay for the sweeps?
Next question: How many BTC do I have to transfer in order for the sweeps to go through and to which address?
Cheers


Deleted duplicate info in configure-pod-configmap

Info about  Mounted ConfigMaps are updated automatically is added twice at these two places

https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#mounted-configmaps-are-updated-automatically
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#mounted-configmaps-are-updated-automatically-1

deleted the second occurrence.

/lgtm


Snowflake: quote object name if it has lower case letters (DAT-15570)

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
For Snowflake, quote any objects that contain lowercase letters. Snowflake will automatically upper case any unquoted object names, see: https://community.snowflake.com/s/article/faq-when-i-retrieve-database-schema-table-or-column-names-why-does-snowflake-display-them-in-uppercase

Things to be aware of

Things to worry about

Additional Context

Closed in favor of #4846


Add tests for TableOfContent

UI investigation
Add tests, and refactor the code if needed
https://github.com/lifeparticle/Houdini/issues/11
https://github.com/lifeparticle/Houdini/issues/41

https://github.com/lifeparticle/Markdown-Cheatsheet/tree/main?tab=readme-ov-file#reference-issues-and-pull-requests
https://github.com/lifeparticle/Markdown-Cheatsheet?tab=readme-ov-file#reference-issues-and-pullrequests

TOC
https://github.com/lifeparticle/Markdown-Cheatsheet?tab=readme-ov-file#mention-people-and-teams
GitHub
https://github.com/lifeparticle/Markdown-Cheatsheet?tab=readme-ov-file#mention-people-and-teams


[Major][WIP] Added support for new async compile API

Focused this PR on the new async signature for the compile method only.


List ratatui-compatible crates

There are a lot of great ratatui-compatible crates but this repo only lists apps that use ratatui. Perhaps a section can be added to list these crates, or perhaps the repo could be renamed to awesome-ratatui-apps instead? Besides serving as an example, existing apps aren't as useful a resource to people building a ratatui app themselves.

Hello!

ratatui-compatible crates

Can you give a couple of examples?

Many can be found by browsing the ratatui keyword on the crates repository or through reverse dependencies:

tui-textarea
ratatui-textarea
ratatui-image
tui-big-text
tui-prompts
tui-widget-list
tui-tree-widget
tui-logger
tui-term
ansi-to-tui and color-to-tui
tui-additions

Other libraries build on top of ratatui to provide their own abstractions:

widgetui
tui-react

Some of these may be out-of-date, but by adding them to the list they may attract community contributions to bring them back up to the latest version of ratatui.

Sounds good, I think we can add them under a new section called "libraries". Would you be interested in making a PR?
P.S. We have showcases for some of those 3rd widgets in our docs: https://ratatui.rs/showcase/third-party-widgets/

Sure, I've opened #9


fix(Dropdown): added onClick override on DropdownItem

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS

Can you please add a UT for this?

And please mention in PR description and changelog that we stopped propagate events.


My small Python repository is detected as Groff language

-On the language bar I get:
Groff 99.5%
-But when I click:
We couldn't find any code matching ''
You could try an advanced search.
-And on the left bar:
Languages
9 Python
1 Text
1 Markdown
-repository link:
https://github.com/clsacramento/LeBonCoinAlert

Running Linguist on your repository locally it looks like these files are being detected as Groff:
web_monitor/data/apscheduler/executors.default.log.1
web_monitor/data/apscheduler/scheduler.log.1
web_monitor/data/web_monitor/main.log.1

You might want to ignore these with something like this in your .gitattributes file:
web_monitor/data/* linguist-vendored=true

Super! This works perfectly. Thanks a lot!

:+1: great!


Publish NuGet package on nuget.org

Could you please publish the package CommunityToolkit.Maui.NativeLibraryInterop.BuildTasks on nuget.org? It would make things easier for people and me because I have to use build servers for which I don't have the permission to adjust them by my own.

We are working to move these build tasks/targets into .NET mobile workloads, which will eventually replace the need to use this NuGet package. Once that functionality becomes available we will update this repo and the corresponding documentation. You can track some of the progress of that work in the following PRs:
https://github.com/dotnet/android/pull/9270
https://github.com/xamarin/xamarin-macios/pull/21232


Better treatment of Connection when websocket::stream::accept fails the request

The websocket::stream implementation needs to better handle the case where the response to an incoming HTTP Upgrade request does not have Status = 101 (success). Specifically, decisions need to be made:

Whether or not to set Connection: close
If closing the connection, run teardown?
What diagnostics are provided to the caller? new error code?

We can simply deliver the beast::websocket::error::handshake_failed and leave it at that.


Lic 818 notification scheduler config

It's documented in the wiki - https://dsdmoj.atlassian.net/wiki/spaces/LIC/pages/1393918299/Notifications#Notifications-ScheduledReminders
It's also temporary because it needs to be replaced with AWS cron


Adding support for dots in number_input

Should fix #234
To fix it, I created a new widget, the TypedInput, it allows the user to write anything in a TextInput, but only send messages when it is a correct value, and then the message contain this value (not the string).
I then modify NumberInput to use this widget instead of a standard TextInput.
My code may not be the cleanest or respect all the guideline of the repo, so I'll be happy to edit it according to your liking.

I'll fix the pipeline once I have feed back (to prevent doing such a small commit)

It could be interesting to make TypedInput able to have a different style when the entry is invalid, but I don't understand well enough this part of iced to do it

Ok this is a decent update that does fix the issue. However, there was one issue I noticed that needs to be fixed before I can merge this.  When using an u32 and setting the range from 0..250 I should be able to type 249, but I can not and can only type up to 248. Please fix this issue then I can merge it.

I think I know where it comes from (using self.min..self.max instead self.min..=self.max)
But I'm not sure if there is a real purpose to using two fields to store the min and the max, instead of using a field to store something implementing RangeBounds ?

if Max is ..250 then it should go to 249 if max is ..=250 then it should go to 250. ATM I set it as ..250 so it should allow typing in 249 but I am only getting 248 as a max to type in.

I agree with what you are saying
My question was, wouldn't be better to store the bound using a type implementing RangeBounds.
Or is it a reason to using two fields ?

the reason is to allow all Range's to work with this so the end user can dictate how they want their min and max's to be like.

Isn't what RangeBounds supposed to work ?

you just need to resolve the format issue by running cargo fmt


need a Bar chart in which i can click bars to open new page with related information

Hi Guys,
Need a Bar chart in which I can click bars to open a new page with related information
attached is my code so far. please help out its urgent
bar_chart01.zip

Hi @arfeenmushtaq
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this, you may also get some help if you post it on Stack Overflow. Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Improve charge handling in NoRippleCheckLimits test

with this change, able to run this test 100+ times without spurious failure. Prior to change, I'd hit a server charge/drop connection limit for non-admin about 1/20 times

Jenkins Build Summary
Built from this commit
Built at 20180622 - 00:10:55
Test Results

Build Type
Log
Result
Status

rpm
logfile
1032 cases, 0 failed, t: n/a
PASS :white_check_mark:

gcc.release.unity -Dassert=true, MANUAL_TESTS=true
logfile
1101 cases, 0 failed, t: 800s
PASS :white_check_mark:

docs
logfile
1 cases, 0 failed, t: 2s
PASS :white_check_mark:

coverage
logfile
1033 cases, 0 failed, t: 683s
PASS :white_check_mark:

clang.debug.unity
logfile
1033 cases, 0 failed, t: 248s
PASS :white_check_mark:

clang.debug.nounity
logfile
1031 cases, 0 failed, t: 219s
PASS :white_check_mark:

clang.debug.unity, PARALLEL_TESTS=false
logfile
1033 cases, 0 failed, t: 488s
PASS :white_check_mark:

gcc.debug.unity
logfile
1033 cases, 0 failed, t: 245s
PASS :white_check_mark:

gcc.debug.nounity
logfile
1031 cases, 0 failed, t: 199s
PASS :white_check_mark:

clang.release.unity -Dassert=true
logfile
1032 cases, 0 failed, t: 336s
PASS :white_check_mark:

gcc.release.unity -Dassert=true
logfile
1032 cases, 0 failed, t: 353s
PASS :white_check_mark:

gcc.debug.unity -Dstatic=true
logfile
1033 cases, 0 failed, t: 246s
PASS :white_check_mark:

msvc.debug
logfile
1030 cases, 0 failed, t: 578s
PASS :white_check_mark:

msvc.debug, PROJECT_NAME=rippled_classic
logfile
1030 cases, 0 failed, t: 1285s
PASS :white_check_mark:

msvc.release
logfile
1029 cases, 0 failed, t: 520s
PASS :white_check_mark:

Codecov Report

Merging #2594 into develop will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2594      +/-   ##
===========================================
- Coverage    70.83%   70.82%   -0.01%
===========================================
  Files          698      698
  Lines        54367    54367
===========================================
- Hits         38510    38508       -2
- Misses       15857    15859       +2

Impacted Files
Coverage Δ

src/ripple/protocol/impl/STVar.cpp
86.07% <0%> (-2.54%)
:arrow_down:

Continue to review full report at Codecov.

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

Merged with #2629 as 49bcdda41881f6cac140879a236be6ac1a7a734d


docs: 476 documentation updates

Fixes #476
Proposed Changes

Add Getting Started section to Button Theme
Refactor Getting Started section in both themes to use common stories
Update some base documentation with new common components

To test
If testing locally, you'll need to run both yarn storybook:button and yarn storybook:bcgov to see changed documents.
Learnings/notes
Due to how .mdx interacts with Markdown and JSX with regards to variables, parts of the documentation was rewritten from MD into JSX (see stories/common/Using_the_Kit.mdx for more). Flagged this for refactoring at a later date if/when Storybook adopts MDXv2 which resolves these in a different manor.

Looks great! One thing I noticed was that the bcgov storybook has no favicon and has a button beta logo in the corner
Compared to the button theme that has a storybook favicon and storybook logo
It would be nice to make this consistent

Addressed the bcgov theme icon with c9f8b5d and the button theme in ed8182e. Nice catch!


[terra-clinical-data-grid]Highlight a column within the Terra Data Grid

Feature Request
Description

As a clinician I would like the cells within a column of the data grid to be highlighted so that I know that column contains the most recent results.
UX: https://wiki.cerner.com/pages/viewpage.action?pageId=2300968836&preview=/2300968836/2686433961/Vitals current time indicator - Handoff.jpg
Additional Context / Screenshots

Jira:- https://jira2.cerner.com/browse/UXPLATFORM-6411

Tech Design

Accept a bool prop(isHighlighted/shouldHighlight) from the consumer on to the Cell class/component wether or not the cell needs to be highlighted.
Based on the prop, apply the css defined on Cell.module.scss as suggested by UX.

@ Mentions

@benbcai @xenoworf @chrismichalewicz

Technical Questions:-

How do we identify first and last cell on the highlighted column which would need the top and bottom border respectively?
Is their a way we can find if highlighted cell exists on top or bottom of that cell and add borders based on that?

Few Edge cases:-
How to handle a single cell highlight under a column and apply borders all round?

@xenoworf, @benbcai - Have you had an opportunity to review the technical questions posed by @RA053031?

Not yet, but I will be taking a look at this today now that I have some time.

@RA053031 This is where the grid renders each section of rows. Have you tried to iterate thru each section to locate the first row in the first section and the last row in the last section. However, we need to consider the impact when the columns are sorted as that could change the first and last rows previously located. See column sorting example. Another scenario to watch out is paging. During paging additional sections/rows are added to the grid so the last row would need to be recalculated. See paging example.
Is adding borders to the top of the first row and bottom of the last row to highlight the column absolutely necessary? Row selection doesn't appear to the borders added to the left and right of the entire row so I was wondering if they are required for column highlight.

Accept a bool prop(isHighlighted/shouldHighlight) from the consumer on to the Cell class/component wether or not the cell needs to be highlighted.
Based on the prop, apply the css defined on Cell.module.scss as suggested by UX.

@RA053031 With your design approach of adding a isHighlighted prop to the Cell, I don't how much different it would be for the consumers to manage this prop at the Cell level since each row can be sorted and new rows can be paged. Have we explore the possibility of introducing a columnHighlightIndex prop to DataGrid so that the grid itself can manage some this. Given this column index the grid can use it to add a css class to the rendered Cell that belongs to that column.

Have we explore the possibility of introducing a columnHighlightIndex

To address the edge case about top and bottom cell outlines, I'm thinking it would be better to pass two props: highlightRangeStart and highlightRangeEnd, or some similar tuple of indices, where each range will always have an outlined style.  Thus, a column can have multiple ranges to achieve the effect you want and I think data-grid will be able to remain very flexible for other uses of highlighting columns:

Row selection doesn't appear to the borders added to the left and right of the entire row so I was wondering if they are required for column highlight.

@benbcai As part of this, we highlight cells that falls under a particular column and don't have the concept of highlighting the row.

Have you tried to iterate thru each section to locate the first row in the first section and the last row in the last section.

I had tried this approach. But we would need to introduce additional props to hold those values. So wanted to know if we have any better way to handle that.
Also the top and bottom border will be applicable for each section and will not span to multiple sections. So basically, Each section will start and end with border.

Accept a bool prop(isHighlighted/shouldHighlight) from the consumer on to the Cell class/component wether or not the cell needs to be highlighted.
Based on the prop, apply the css defined on Cell.module.scss as suggested by UX.

@RA053031 With your design approach of adding a isHighlighted prop to the Cell, I don't how much difficult it would be for the consumers to manage this prop at the Cell level since each row can be sorted and new rows can be paged. Have we explore the possibility of introducing a columnHighlightIndex prop to DataGrid so that the grid itself can manage some this. Given this column index the grid can use it to add a css class to the rendered Cell that belongs to that column.

I tried doing this today, had accepted just columnHighlightIndex from the consumer on to Data-Grid and manage everything on it.
Lopping through the sections to identify the first and last row on that section and passed those values down to cells to add required css.
Few Questions on this:-

What is the prop type of columnHighlightIndex? String or number?
When we say columnHighlightIndex, is it the index of the column(like 0,1,2..) or (Overflow-1, Overflow-2...).
Will the columnHighlightIndex and the columnId remains same? So that we can use that to assert on the cells whether or not to highlight?

To address the edge case about top and bottom cell outlines, I'm thinking it would be better to pass two props: highlightRangeStart and highlightRangeEnd, or some similar tuple of indices, where each range will always have an outlined style. Thus, a column can have multiple ranges to achieve the effect you want and I think data-grid will be able to remain very flexible for other uses of highlighting columns:

As part of the POC of the above approach, I am passing down highlightRangeStart and highlightRangeEnd on to the cell component to add the top and bottom border on the highlighted cell. the props are populated based on the index of first and last row within a section.

One other issue that I see is, When we have row selection, the selected css and hidden or overlapped by the cell highlight css. How can we retain the selecting stylings or bring that to foreground?

One other issue that I see is, When we have row selection, the selected css and hidden or overlapped by the cell highlight css. How can we retain the selecting stylings or bring that to foreground?

Ah yes, this is a tricky part! Here are some thoughts I have off the top of my head:
CSS mix-blend
Best for browsers other than IE: one method is to use CSS mix-blend. Using multiply mode, for example, gets you pretty close. This is not supported in IE though.
Ideas for IE support

Color math: Determine the ideal color, shade or tint that would visually express the combination of the highlighted column and the row selection. Then, pass in that exact color as a custom style to the cell(s) that is both highlighted and selected. If we get that working manually there might be a way to automate that color math?
Overlay a transparent highlight image which is transparent enough to show the selection color. Make the transparent image pass on the relevant events (e.g. clicks) to the underlying cell(s).
Overlay a transparent selection image on top of the highlight.
Invert the color of a cell that is both selected and highlighted. Or do some other special style that is unique to highlighted + selected cells. Maybe don't fill in the color but keep the outline color? I'm no UI expert so I can't tell you which exact technique is proper.

What do you think? @neilpfeiffer I'm interested in your feedback of these ideas.

I tried doing something like this for row selection issue that we had raised above, Where i passed down the isSelected row prop which tells if the row is selected on to the cell component and based on that added some stylings for selected state.
Would this approach work?

Also the other issue is the row hover. While we hover the row header, we don't see the hover styles on the highlighted cell. Since hover is something not handled from the props, how can we handle that on cells?

Accept a bool prop(isHighlighted/shouldHighlight) from the consumer on to the Cell class/component wether or not the cell needs to be highlighted.
Based on the prop, apply the css defined on Cell.module.scss as suggested by UX.

@RA053031 With your design approach of adding a isHighlighted prop to the Cell, I don't how much difficult it would be for the consumers to manage this prop at the Cell level since each row can be sorted and new rows can be paged. Have we explore the possibility of introducing a columnHighlightIndex prop to DataGrid so that the grid itself can manage some this. Given this column index the grid can use it to add a css class to the rendered Cell that belongs to that column.

I tried doing this today, had accepted just columnHighlightIndex from the consumer on to Data-Grid and manage everything on it. Lopping through the sections to identify the first and last row on that section and passed those values down to cells to add required css. Few Questions on this:-

What is the prop type of columnHighlightIndex? String or number?
When we say columnHighlightIndex, is it the index of the column(like 0,1,2..) or (Overflow-1, Overflow-2...).
Will the columnHighlightIndex and the columnId remains same? So that we can use that to assert on the cells whether or not to highlight?

Also anything on these questions?

@RA053031 After talking with my @neilpfeiffer I realized that the design your team is proposing has several unanswered questions that we must document before we get to the stage of discussing CSS or props or implementation questions. You're free code what you wish, but I recommend pausing on any implementation for now in case the design changes as a result of answering the design questions.
I'll take care of organizing that discussion elsewhere - it's not really appropriate for a PR. I'm going to close this PR for now, but don't worry it can easily be re-opened and nothing here will be lost. Sorry for the confusion!


update url in staging/meteor/README.md

The url "https://kubernetes.io/docs/user-guide/container-environment.md" has been changed to "https://kubernetes.io/docs/concepts/containers/container-environment-variables/".

/assign @sebgoa


Implement: auth tokens create

Add a "auth tokens create" command to tapis-cli

This command must also support the admin_password grant type which returns an impersonation OAuth token.

Tested and is working


static non-agent AOs for rearrange_sim navmesh

Motivation and Context
Patches the load_navmesh function called when a new rearrange_sim scene is loaded to always recompute the navmesh and to always include all non-agent ArticulatedObjects as STATIC navmesh components.
How Has This Been Tested
Should be deployed in HitL test to fix issues walking through furniture.
Types of changes

[Refactoring] Large changes to the code that improve its functionality or performance
[Bug Fix] (non-breaking change which fixes an issue)

Checklist

[x] My code follows the code style of this project.
[ ] I have updated the documentation if required.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes if required.

I confirm that this works on HITL.

If we remove the navmesh cache, we should also remove the gitignore entry.

Replacing this with #2088 and a scene_instance update.


A couple suggestions you could possibly put in this awesome extension.

It would be nice if you could limit the downloads (Que them so when one finishes the next one will start) because about 10% of my videos fail on a huge download spree....
Also when they fail and you click resume. It renames the file to "videoplayback.mp4" I want it to be renamed the same as it was when it was downloading like "blah_blah_blah_E13(1080p)" You know what i mean right.
-Jono

Hi @Jonotaku . Thanks for the suggestion (and for using 9anime Companion 😄 ). However these days I am busy with a different project so I won't be able to work on this for a while. This one might take some time to implement.
Cheers
lap00zza

When the downloads fail, I don't have any way to rename them. Its done behind the scenes by chrome.


fs: introduce Flusher. WriteFlusher and WriteCloseFlusher interfaces

in addition to Reader, ReadSeeker, Writer and Closer aliases.

It's more io than fs but I'm reluctant to create another shadowing module just for the flusher interface

<EMAIL_ADDRESS>tagged


glayout upgrade to gdsfactory 8

gdsfactory 8 was released today with major updates moving the backend from gdstk to klayout.
Should we update the glayout dependency from gdsfactory v7.7.0 to v8?
It would be a good idea to update it to this latest major revisions before most people start working on glayout generators for the Chipathon.  It will be better to do this now before the Chipathon projects start building their components.

This is something we want to look into. Currently, due to the significant leap in versions, there are some broken imports and inconsistencies. Can we have some guidance on where things are now
To be more specific gdsfactory.functions had transform and move as importable functions (which were wrappers for more involved functions) but these don't exist anymore. There are general issues like this for which help is required @curtisma

How much stuff in our repo would make sense for us to move to gdsfactory ? wouldn't it make sense to just use Klayout directly?
cc @joamatab @tvt173

hi @msaligane , sure i'd be happy to take a look or help work through this with you or someone from your team later this week

wouldn't it make sense to just use Klayout directly?

yes, of course you could, but to me the question is similar to "wouldn't it make more sense to just write this all in c or machine code?" 🙂 . the question isn't whether or not it's possible but how it affects your productivity
gdsfactory is meant to provide a more convenient interface to create designs using a code-driven flow. klayout does provide a python interface, but i find it a pain to use. i think that what we've built on top of it makes it much simpler. so i suppose the question hinges on whether or not you agree and find value in the accessibility and productivity boost that gdsfactory brings

@tvt173 we tried porting to gdsfactory 8, and due to all the syntactic changes that need to be done due to backend change, a lot of extra work is required. However, generally, migrating to the new version (or klayout entirely) is something that should be done due to the additional functionality. We might be pursued a bit further into things. Do you agree @msaligane ?


Fix debug_size_heap::extra_size to always be 8 on MinGW 32bit builds

As discussed in https://github.com/arximboldi/immer/issues/78
I chose to hardcode it to 8 because the alternative of sizeof(void*) * 2 is not really connected to how std::max_align_t is defined.

Codecov Report

Merging #80 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #80   +/-   ##
=======================================
  Coverage   94.53%   94.53%
=======================================
  Files          87       87
  Lines        7009     7009
=======================================
  Hits         6626     6626
  Misses        383      383

Impacted Files
Coverage Δ

immer/heap/debug_size_heap.hpp
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks a lot! :+1: