PM1 scoring

I'm trying to figure out why PM1 is scored as 1 for a variant. The variant is:
(hg19) 11:36615436C>T - RAG2 NM_001243786:exon3:c.G283A:p.G95R
I checked the PM1 check function:
def check_PM1(line,Funcanno_flgs,Allels_flgs,domain_benign_dict):
    '''
    Located in a mutational hot spot and/or critical and well-established functional domain (e.g., active site of
    an enzyme) without benign variation
    '''
    PM1=0
    PM1_t1=0
    PM1_t2=0
    cls=line.split('\t')
    funcs_tmp=["missense","nonsynony"]
    line_tmp=cls[Funcanno_flgs['Func.refGene']]+" "+cls[Funcanno_flgs['ExonicFunc.refGene']]
    for fc in funcs_tmp:
        if line_tmp.find(fc)>=0 :
            PM1_t1=1;
        # need to wait to check whether in hot spot  or  functional domain/without benign variation
    if cls[Funcanno_flgs['Interpro_domain']]!= '.' :
        keys_tmp2=cls[Allels_flgs['Chr']]+"_"+cls[Funcanno_flgs['Gene']]+": "+cls[Funcanno_flgs['Interpro_domain']]
        try:
            if domain_benign_dict[keys_tmp2] =="1":
                PM1_t2=0
        except KeyError:
            PM1_t2=1
        else:
            pass

    if PM1_t1==1 and PM1_t2==1 :
        PM1=1

    return(PM1)

If I'm interpreting the code correctly, PM_t1 checks to make sure there's at least one one exonic missense annotation, then if 'Interpro_domain' has any annotations check that they are not domains with benign variants.
The example variant has the following domain in PM1_domains_with_benigns.hg19 :
AG2 Galactose oxidase/kelch, beta-propeller
Interpro_domains annotated by annovar:
Galactose oxidase/kelch,   beta-propeller;Kelch-type beta propeller
is it the Kelch-type beta propeller domain that is causing PM1_t2 to be 1? If so, I'm not sure it should...
https://www.ebi.ac.uk/interpro/protein/P55895
both domains overlap almost completely. Can you provide any information on how you generate PM1_domains_with_benigns.hg19 ?
Thanks,
Bob

The issue is coming from the annovar's  domain name, for RAG2, there are three sets of name :
9 Galactose oxidase/kelch, beta-propeller
14 Galactose oxidase/kelch, beta-propeller;Kelch-type beta propeller
5 Recombination activating protein 2, PHD domain;Zinc finger, FYVE/PHD-type
When we build the PM1 dataset, the pipeline, thought  the first and second is different, but actually it is the same.
so, I think you point is right, we should remove the PM1 benign  for RAG2
Thanks!

Is PM1_domains_with_benigns.hg19 domains with benign variants in reference population databases? If so, we should add the second intervar annotation 14 Galactose oxidase/kelch, beta-propeller;Kelch-type beta propeller to that file right?
Thanks,
Bob

Yes. this file is the domain with benign or common variants(MAF>5%).

Then I think we need to add the second annovar annotation 14 Galactose oxidase/kelch, beta-propeller;Kelch-type beta propeller to the benign file.
Also, I think we need more checks for PM1. Currently it is checking that the variant overlaps an Interpro domain annotated by annovar and then that the domains are not on the benign list, right? I think we're missing mutational hotspots. From the original guidlines publication:

PM1 Mutational hot spot and/or critical and well-established functional domain
Certain protein domains are known to be critical to protein function and all missense variants identified to date in these domains have been shown to be pathogenic. These domains must also lack benign variants. In addition, mutational hotspots in less well characterized regions of genes are reported in which pathogenic variants in one or several nearby residues have been observed with greater frequency. Either evidence can be considered moderate evidence of pathogenicity.

Elaborated on in Performance of ACMG-AMP Variant-Interpretation Guidelines among Nine Laboratories in the Clinical Sequencing Exploratory Research Consortium. supplemental info

One source of discrepancy identified that the PM1 rule (variant is located in a mutational hot
spot and/or a critical and well-established functional domain), should only be invoked for
missense variants, not truncations, and it should only be applied if the variant occurs in domains
that are devoid of benign variation as described in more detail in the ACMG/AMP guideline.
Defining ‘well-established’ also led to discordance in PM1 rule usage. The group defined a
mutational hot spot as a location where there are multiple changes in the same domain that are
known to be pathogenic; however, there was still disagreement regarding how many pathogenic
variants constitute ‘multiple’, how well-defined the domain must be and how close other benign
variants can be to the domain and variant in question

So we could add a check for known pathogenic variants from PS1.AA.change.patho.hg19 but not sure how to handle checking frequency of the pathogenic variants.


Add authentication for deletion of loans

[ ] Allow setting of password
[ ] Allow changing of password
[ ] Allow adding of password
[ ] Allow removal of password requirement
[ ] Delay in asking for password again after password has been typed for X minutes. To add in "settings"

Setting up of bCrypt


Links to admin pages on this repo

Can we get links to the instructor sign-up, etherpads, mcommunity list, etc. on the README for this repo?

Just submitted a pull request with the changes that you suggested.


v2.2.6 release was missing compiled code

Summary
Reported in https://github.com/googlemaps/android-maps-utils/pull/1008#issuecomment-952298163:

I took your sample code and tested it and found indeed there is something weird going on here, but it's actually a problem with the v2.2.6 build itself.
I was able to reproduce what you were seeing with v2.2.6, but not if I copied the MapObjectManager and MarkerManager source code directly to my app, unmodified. I then tested v2.3.0 and this version works as expected. Using the debugger again on v2.2.6, I see that the mObjects variable is actually a HashSet still!
For some reason, the v2.2.6 build that my PR's changes were released in does not have the change in the decompiled binary aar! It is in the source code jar though, which is even more confusing. And the change is in the v2.3.0 binary.

So v2.2.6 release didn't contain the compiled code that it should have, although v2.3.0 seems ok.
Expected behavior
All changes in main project branch should be included in releases
Observed behavior

PR's changes released in https://github.com/googlemaps/android-maps-utils/pull/972#issuecomment-920307699 does not have the change in the decompiled binary aar.
It is in the source code jar though, which is even more confusing. And the change is in the v2.3.0 binary.

Going to close this issue as we cannot update an already existing live version. For anyone finding this issue, see releases and make sure you are using the latest version instead.


"self.avatar.direct_fog_url(:with_path => true)" Returns Wrong Value

Running

Ruby (2.0.0-p576)
Rails (4.1.9)
carrierwave (0.10.0)
carrierwave_direct (0.0.15)
fog (1.28.0)
fog-aws (0.1.1)

The first issue I ran into was that Amazon was no longer playing nice with a relative URL so I had to pass it the full URL for success_action_redirect. This resulted in my controller looking like this.
My Controller
def edit
  @old_uploader = @organization.avatar
  @new_uploader = User.new.avatar
  @new_uploader.success_action_redirect = (request.scheme + '://' + (request.port.blank? ? request.host : request.host_with_port).to_s +<EMAIL_ADDRESS>  respond_to do |format|
    format.html { render }
   end
end

def update
  respond_to do |format|
    if params[:key].present?
      AvatarProcessorWorker.perform_async(params[:key], @user.id)
      format.html {redirect_to "/console/", :notice => "Photo Is Being Updated."}
    else
      format.html {redirect_to "/console/", :alert => "Photo Failed to Update."}
    end
  end
end

My Edit View
- if @old_uploader.file.present?

  .user-avatar
    %img{:src => @old_uploader.url}

= direct_upload_form_for @new_uploader do |f|
  .avatar.form-group
    = f.label :avatar
    = f.file_field :avatar
    .image-preview.org-avatar
  = f.submit

Uploader
class AvatarUploader < CarrierWave::Uploader::Base
  include CarrierWaveDirect::Uploader
  include CarrierWave::MiniMagick

  process :resize_to_fill => [300,300]

  def fog_public
    true
  end

  def store_dir
    "testapp/#{Rails.env.eql?("production") ? Rails.env : "development"}/direct_uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

  def default_url
    ActionController::Base.helpers.asset_path("fallback/" + "avatar.png")
  end

  def filename
    "#{secure_token}.#{file.extension}" if original_filename.present?
  end

  protected
  def secure_token
    var = :"@#{mounted_as}_secure_token"
    model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
  end

end

The following is how the results are processed in the sidekiq queue. This results in self.avatar.direct_fog_url(:with_path => true) returning the url for the old image, instead of the new upload images url. This of culminates in the image not being update.
def save_and_process_avatar(params_key)
  self.avatar.key = params_key
  self.remote_avatar_url = self.avatar.direct_fog_url(:with_path => true)
  self.save!
end

My current work around is below.
def save_and_process_avatar(params_key)
  self.remote_avatar_url = CarrierWave::Storage::Fog::File.new(self.avatar, CarrierWave::Storage::Fog.new(self.avatar), params_key).url
  self.save!
end

I was thinking of submitting a patch dfddf37c55b82dbadd3fc20ac56934a5fc85ee92 which modifies direct_url.rb line 7 from returning url to returning
CarrierWave::Storage::Fog::File.new(self, CarrierWave::Storage::Fog.new(self), self.key).url

But I get a failed test when I run rake on the gem with this modification
Failures:

  1) CarrierWaveDirect::Uploader::DirectUrl#direct_fog_url :with_path => true should return the full url set by carrierwave
     Failure/Error: expect(subject.direct_fog_url(:with_path => true)).to eq "url"

       expected: "url"
            got: "https://s3.amazonaws.com/AWS_FOG_DIRECTORY/uploads/a0312093-9772-40bd-9334-af331a41da8a/%24%7Bfilename%7D"

       (compared using ==)
     # ./spec/uploader/direct_url_spec.rb:21:in `block (4 levels) in <top (required)>'

Finished in 0.63589 seconds (files took 1.61 seconds to load)
202 examples, 1 failure

Failed examples:

rspec ./spec/uploader/direct_url_spec.rb:18 # CarrierWaveDirect::Uploader::DirectUrl#direct_fog_url :with_path => true should return the full url set by carrierwave

Which has me wondering if my fix doesn't actually cover all cases. I thought it would because I am handling it the same way the current method does without path being requested. Any thoughts?

Same here:
image.key = "/images/ff5566ad-0227-4673-a594-b206b5aa1f98.jpg"
puts image.attachment.direct_fog_url(:with_path => true)

returns nil

:+1:

This should be fixed on master


PI process is started without the user launching it

Dev Home version
No response
Windows build number
No response
Other software
No response
Steps to reproduce the bug

Launch Dev Home

Expected result
PI does not start until it is launched by the user in the Utilities page.
Actual result
PI launches without the user noticing.
Included System Information
No response
Included Extensions Information
No response

Fixed in #3308

If you have that fix and the experimental feature is enabled that is by design to support the Win-F12 hotkey.


232 Implement Automated Testing with Starter: Command Integration and Result Verification

see #109

No need to test 232 anymore.


Update login.html

Limit the length but the number of usernames is enough.not a good solution but better than hex.Ability is not enough to recycle the clusterids.And find a user can only make 5 workplaces. no "delete" may be better.

@K45V
Why add maxlength option in login.html? I don't understand.


 I guess it is something with Traefik not routing to "cvat" container but I'm not sure.
I had the same issue a year ago (it was nginx IIRC). Back then I was able to solve the problem by buying the tool from a competitor and forgetting the pain I went through trying to install this tool on my physical machine.
Steps to Reproduce (yes, for bugs)

git clone https://github.com/opencv/cvat
cd cvat
docker-compose up -d
firefox --new-window localhost:8080

Environment
Cloud VM instance with Ubuntu 20.04, Docker CE 20.10.
Screenshots

Docker Logs

$ docker-compose up
Creating network "cvat_cvat" with the default driver
Creating traefik    ... done
Creating cvat_redis ... done
Creating cvat_db    ... done
Creating cvat       ... done
Creating cvat_ui    ... done
Attaching to cvat_db, cvat_redis, traefik, cvat, cvat_ui
cvat_db       |
cvat_db       | PostgreSQL Database directory appears to contain a database; Skipping initialization
cvat_db       |
cvat_db       | 2021-10-20 21:36:22.834 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
cvat_db       | 2021-10-20 21:36:22.834 UTC [1] LOG:  listening on IPv6 address "::", port 5432
cvat_db       | 2021-10-20 21:36:22.836 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
cvat_db       | 2021-10-20 21:36:22.858 UTC [21] LOG:  database system was interrupted; last known up at 2021-10-20 21:28:42 UTC
cvat_db       | 2021-10-20 21:36:23.050 UTC [21] LOG:  database system was not properly shut down; automatic recovery in progress
cvat_db       | 2021-10-20 21:36:23.052 UTC [21] LOG:  redo starts at 0/1642488
cvat_db       | 2021-10-20 21:36:23.052 UTC [21] LOG:  invalid record length at 0/1642568: wanted 24, got 0
cvat_db       | 2021-10-20 21:36:23.052 UTC [21] LOG:  redo done at 0/1642530
cvat_db       | 2021-10-20 21:36:23.070 UTC [1] LOG:  database system is ready to accept connections
cvat_redis    | 1:C 20 Oct 21:36:22.823 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
cvat_redis    | 1:C 20 Oct 21:36:22.823 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
cvat_redis    | 1:C 20 Oct 21:36:22.823 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
cvat_redis    | 1:M 20 Oct 21:36:22.828 * Running mode=standalone, port=6379.
cvat_redis    | 1:M 20 Oct 21:36:22.829 # Server initialized
cvat_redis    | 1:M 20 Oct 21:36:22.829 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
cvat_redis    | 1:M 20 Oct 21:36:22.829 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
cvat_redis    | 1:M 20 Oct 21:36:22.829 * Ready to accept connections
cvat_ui       | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
cvat_ui       | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
cvat_ui       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
traefik       | time="2021-10-20T21:36:23Z" level=info msg="Configuration loaded from flags."
cvat_ui       | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
cvat_ui       | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
cvat          | 2021-10-20 21:36:24,621 INFO RPC interface 'supervisor' initialized
cvat_ui       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
cvat          | 2021-10-20 21:36:24,629 CRIT Server 'unix_http_server' running without any HTTP authentication checking
cvat          | 2021-10-20 21:36:24,630 INFO supervisord started with pid 1
cvat_ui       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
cvat_ui       | /docker-entrypoint.sh: Configuration complete; ready for start up
cvat_ui       | 2021/10/20 21:36:24 [warn] 1#1: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/mime.types:98
cvat_ui       | nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/mime.types:98
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: using the "epoll" event method
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: nginx/1.21.3
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: built by gcc 10.3.1 20210424 (Alpine 10.3.1_git20210424)
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: OS: Linux 5.4.0-77-generic
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: start worker processes
cvat_ui       | 2021/10/20 21:36:24 [notice] 1#1: start worker process 31
cvat          | 2021-10-20 21:36:25,632 INFO spawned: 'ssh-agent' with pid 8
cvat          | 2021-10-20 21:36:25,635 INFO spawned: 'clamav_update' with pid 9
cvat          | 2021-10-20 21:36:25,655 INFO spawned: 'git_status_updater' with pid 10
cvat          | 2021-10-20 21:36:25,658 INFO spawned: 'rqscheduler' with pid 11
cvat          | 2021-10-20 21:36:25,665 INFO spawned: 'rqworker_default_0' with pid 12
cvat          | 2021-10-20 21:36:25,682 INFO spawned: 'rqworker_default_1' with pid 13
cvat          | 2021-10-20 21:36:25,713 INFO spawned: 'rqworker_low' with pid 16
cvat          | 2021-10-20 21:36:25,738 INFO spawned: 'runserver' with pid 20
cvat          | 2021-10-20 21:36:25,763 DEBG fd 10 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>88608 for <Subprocess at<PHONE_NUMBER>87936 with name clamav_update in state STARTING> (stdout)>
cvat          | 2021-10-20 21:36:25,771 DEBG fd 14 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>58176 for <Subprocess at<PHONE_NUMBER>87936 with name clamav_update in state STARTING> (stderr)>
cvat          | 2021-10-20 21:36:25,773 INFO exited: clamav_update (exit status 0; not expected)
cvat          | 2021-10-20 21:36:25,776 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:36:25,781 DEBG 'ssh-agent' stdout output:
cvat          | SSH_AUTH_SOCK=/tmp/ssh-agent.sock; export SSH_AUTH_SOCK;
cvat          | echo Agent pid 8;
cvat          |
cvat          | 2021-10-20 21:36:25,784 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 3 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:25,789 DEBG 'git_status_updater' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,792 DEBG 'rqscheduler' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,795 DEBG 'rqworker_default_0' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,797 DEBG 'rqworker_default_1' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,813 DEBG 'git_status_updater' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:25,822 DEBG 'rqscheduler' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:25,827 DEBG 'rqworker_low' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,830 DEBG 'rqworker_default_0' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:25,854 DEBG 'runserver' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_db:5432 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:25,861 DEBG 'rqworker_default_1' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:25,903 DEBG 'rqworker_low' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          |
cvat          | 2021-10-20 21:36:25,905 DEBG 'rqworker_low' stderr output:
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat_db       | 2021-10-20 21:36:25.907 UTC [28] LOG:  incomplete startup packet
cvat          | 2021-10-20 21:36:25,922 DEBG 'runserver' stderr output:
cvat          | wait-for-it.sh: cvat_db:5432 is available after 0 seconds
cvat          |
cvat          | 2021-10-20 21:36:25,925 DEBG 'runserver' stderr output:
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          |
cvat          | 2021-10-20 21:36:25,926 DEBG 'runserver' stderr output:
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:26,473 DEBG 'rqscheduler' stderr output:
cvat          | 21:36:26 Registering birth
cvat          |
cvat          | 2021-10-20 21:36:26,522 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,526 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,527 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:36:26,530 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,534 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:36:26,534 DEBG 'rqworker_low' stderr output:
cvat          | Identity added: /home/django/.ssh/id_rsa (django@3977e1f9cf92)
cvat          |
cvat          | 2021-10-20 21:36:26,545 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,552 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:36:26,555 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:36:26,564 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,565 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:36:26,582 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,591 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:36:26,592 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:36:26,602 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,605 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:36:26,637 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,638 INFO success: ssh-agent entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,649 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:36:26,649 INFO success: git_status_updater entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,664 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,665 INFO success: rqscheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,665 INFO success: rqworker_default_0 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,670 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:36:26,697 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,698 INFO success: rqworker_default_1 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,708 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:36:26,728 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:36:26,729 INFO success: rqworker_low entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:26,730 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:36:27,733 INFO spawned: 'clamav_update' with pid 89
cvat          | 2021-10-20 21:36:27,734 INFO success: runserver entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:27,768 DEBG fd 16 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>58128 for <Subprocess at<PHONE_NUMBER>87936 with name clamav_update in state STARTING> (stderr)>
cvat          | 2021-10-20 21:36:27,770 DEBG fd 10 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>58320 for <Subprocess at<PHONE_NUMBER>87936 with name clamav_update in state STARTING> (stdout)>
cvat          | 2021-10-20 21:36:28,771 INFO success: clamav_update entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:36:28,772 INFO exited: clamav_update (exit status 0; expected)
cvat          | 2021-10-20 21:36:28,772 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:36:52,658 DEBG fd 34 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>01264 for <Subprocess at<PHONE_NUMBER>89136 with name rqworker_default_1 in state RUNNING> (stderr)>
cvat          | 2021-10-20 21:36:52,668 DEBG fd 30 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>89184 for <Subprocess at<PHONE_NUMBER>89136 with name rqworker_default_1 in state RUNNING> (stdout)>
cvat          | 2021-10-20 21:36:53,671 INFO exited: rqworker_default_1 (terminated by SIGKILL; not expected)
cvat          | 2021-10-20 21:36:53,671 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:36:54,681 INFO spawned: 'rqworker_default_1' with pid 117
cvat          | 2021-10-20 21:36:54,798 DEBG 'rqworker_default_1' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:36:54,905 DEBG 'rqworker_default_1' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          |
cvat          | 2021-10-20 21:36:54,962 DEBG 'rqworker_default_1' stderr output:
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          |
cvat          | 2021-10-20 21:36:54,965 DEBG 'rqworker_default_1' stderr output:
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:36:55,966 INFO success: rqworker_default_1 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:37:23,386 DEBG 'runserver' stderr output:
cvat          | bash: [20: 1 (255)] tcsetattr: Inappropriate ioctl for device
cvat          |
cvat          | 2021-10-20 21:37:23,387 DEBG fd 40 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>89568 for <Subprocess at<PHONE_NUMBER>89520 with name runserver in state RUNNING> (stdout)>
cvat          | 2021-10-20 21:37:23,387 DEBG fd 44 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>02128 for <Subprocess at<PHONE_NUMBER>89520 with name runserver in state RUNNING> (stderr)>
cvat          | 2021-10-20 21:37:23,388 INFO exited: runserver (exit status 137; not expected)
cvat          | 2021-10-20 21:37:23,388 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:37:23,401 INFO spawned: 'runserver' with pid 126
cvat          | 2021-10-20 21:37:23,525 DEBG 'runserver' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_db:5432 without a timeout
cvat          |
cvat_db       | 2021-10-20 21:37:23.561 UTC [29] LOG:  incomplete startup packet
cvat          | 2021-10-20 21:37:23,586 DEBG 'runserver' stderr output:
cvat          | wait-for-it.sh: cvat_db:5432 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:37:23,884 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:37:23,890 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:37:23,892 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:37:23,909 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:37:23,915 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:37:24,422 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:37:24,423 INFO success: runserver entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:37:24,442 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:37:24,444 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:37:24,461 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:37:24,473 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:37:48,474 DEBG fd 39 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>01696 for <Subprocess at<PHONE_NUMBER>89328 with name rqworker_low in state RUNNING> (stderr)>
cvat          | 2021-10-20 21:37:48,483 DEBG fd 35 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>89376 for <Subprocess at<PHONE_NUMBER>89328 with name rqworker_low in state RUNNING> (stdout)>
cvat          | 2021-10-20 21:37:49,486 INFO exited: rqworker_low (terminated by SIGKILL; not expected)
cvat          | 2021-10-20 21:37:49,487 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:37:50,492 INFO spawned: 'rqworker_low' with pid 152
cvat          | 2021-10-20 21:37:50,627 DEBG 'rqworker_low' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:37:50,736 DEBG 'rqworker_low' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          |
cvat          | 2021-10-20 21:37:50,759 DEBG 'rqworker_low' stderr output:
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          |
cvat          | 2021-10-20 21:37:50,760 DEBG 'rqworker_low' stderr output:
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:37:51,766 INFO success: rqworker_low entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:38:13,439 DEBG fd 29 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>59520 for <Subprocess at<PHONE_NUMBER>89040 with name rqworker_default_0 in state RUNNING> (stderr)>
cvat          | 2021-10-20 21:38:13,440 DEBG fd 25 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>89088 for <Subprocess at<PHONE_NUMBER>89040 with name rqworker_default_0 in state RUNNING> (stdout)>
cvat          | 2021-10-20 21:38:14,052 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:14,053 INFO exited: rqworker_default_0 (terminated by SIGKILL; not expected)
cvat          | 2021-10-20 21:38:14,053 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:38:14,065 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:38:14,068 INFO spawned: 'rqworker_default_0' with pid 163
cvat          | 2021-10-20 21:38:14,069 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:38:14,104 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:14,105 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:38:14,200 DEBG 'rqworker_default_0' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:38:14,255 DEBG 'rqworker_default_0' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          |
cvat          | 2021-10-20 21:38:14,257 DEBG 'rqworker_default_0' stderr output:
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          |
cvat          | 2021-10-20 21:38:14,257 DEBG 'rqworker_default_0' stderr output:
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:38:15,259 INFO success: rqworker_default_0 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:38:15,580 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:15,595 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:38:15,597 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:38:15,624 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:15,641 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat          | 2021-10-20 21:38:21,296 DEBG fd 19 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>58656 for <Subprocess at<PHONE_NUMBER>88656 with name git_status_updater in state RUNNING> (stderr)>
cvat          | 2021-10-20 21:38:21,298 DEBG fd 15 closed, stopped monitoring <POutputDispatcher at<PHONE_NUMBER>88704 for <Subprocess at<PHONE_NUMBER>88656 with name git_status_updater in state RUNNING> (stdout)>
cvat          | 2021-10-20 21:38:22,300 INFO exited: git_status_updater (terminated by SIGKILL; not expected)
cvat          | 2021-10-20 21:38:22,301 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:38:23,305 INFO spawned: 'git_status_updater' with pid 181
cvat          | 2021-10-20 21:38:23,423 DEBG 'git_status_updater' stderr output:
cvat          | wait-for-it.sh: waiting for cvat_redis:6379 without a timeout
cvat          |
cvat          | 2021-10-20 21:38:23,482 DEBG 'git_status_updater' stderr output:
cvat          | wait-for-it.sh: cvat_redis:6379 is available after 0 seconds
cvat          | bash: cannot set terminal process group (-1): Inappropriate ioctl for device
cvat          | bash: no job control in this shell
cvat          |
cvat          | 2021-10-20 21:38:24,486 INFO success: git_status_updater entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cvat          | 2021-10-20 21:38:32,396 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:32,397 INFO reaped unknown pid 149
cvat          | 2021-10-20 21:38:32,397 DEBG received SIGCHLD indicating a child quit
cvat          | 2021-10-20 21:38:32,415 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 17
cvat          |
cvat          | 2021-10-20 21:38:32,416 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_add_identity: add ssh-rsa SHA256:6HZvs3AmN4SolXRMJhO3mtSB7Rbm1QwAHIL8DjxKISo "django@3977e1f9cf92" (life: 0) (confirm: 0) (provider: none)
cvat          |
cvat          | 2021-10-20 21:38:32,441 DEBG 'ssh-agent' stderr output:
cvat          | debug2: fd 4 setting O_NONBLOCK
cvat          |
cvat          | 2021-10-20 21:38:32,446 DEBG 'ssh-agent' stderr output:
cvat          | debug1: process_message: socket 1 (fd=4) type 11
cvat          |
cvat_ui       | <IP_ADDRESS> - - [20/Oct/2021:21:38:43 +0000] "GET / HTTP/1.1" 200 1045 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0" "<IP_ADDRESS>"
cvat_ui       | <IP_ADDRESS> - - [20/Oct/2021:21:38:45 +0000] "GET /cvat-ui.f9340a4e583f3306fd17.min.js HTTP/1.1"<PHONE_NUMBER> "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0" "<IP_ADDRESS>"
cvat          | 2021-10-20 21:38:45,441 INFO reaped unknown pid 151
cvat          | 2021-10-20 21:38:45,448 DEBG received SIGCHLD indicating a child quit
cvat_ui       | <IP_ADDRESS> - - [20/Oct/2021:21:38:45 +0000] "GET /favicon.ico HTTP/1.1" 200 102581 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0" "<IP_ADDRESS>"
cvat_ui       | <IP_ADDRESS> - - [20/Oct/2021:21:38:51 +0000] "GET /download.worker.cb069004e9ace5f89e8e.js HTTP/1.1" 200 16721 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0" "<IP_ADDRESS>"
cvat          | 2021-10-20 21:39:15,921 INFO reaped unknown pid 150
cvat          | 2021-10-20 21:39:15,922 DEBG received SIGCHLD indicating a child quit

@AndrewOkie  Based on cvat | 2021-10-20 21:37:23,388 INFO exited: runserver (exit status 137; not expected) I only guess there is out of memory issue, how much RAM does your VM have?


Fix README links and example

The links to rbhive were broken and the code examples were not using highlighting.

Thank you :smiley: @calebwoods


Automatic retries and exit_status allowable codes

Folks can use the exit_status within automatic retry attributes in a command step : this adds the note that signals 1-255 can be input, along with -1 for lost agents

Hi again @james2791 , I apologise for selecting the 'request changes' feature on this PR review.
Still getting used to the way we review PRs.


Fix failing builds

Automatic Builds started to fail a couple of days ago with the reason still unclear for me
fixes #261

Pull Request Test Coverage Report for Build 406

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.07%) to 55.578%

Files with Coverage Reduction
New Missed Lines
%

goodman_pipeline/core/tests/test_check_version.py
2
76.19%

Totals

Change from base Build 392:
0.07%

Covered Lines:
2198

Relevant Lines:
3610

💛  - Coveralls


WIP Feature/typescript aws amplify reac

Issue #, if available:
#1028
Description of changes:
Build aws-amplify-react using TypeScript instead of Babel.
NOTE: In order to keep keep the changes small and manageable this PR only changes the build tools.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This PR is a Work In Progress. Please do not merge.


JSON body is quoted when invalid

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
Hello,
VERSION : 1.12.3.
When sending a POST request with valid JSON in the body, the body is sent without any modification.
When sending a POST request with invalid JSON in the body, the body is quoted before being sent.
This behavior only occurs when the selected content type is JSON. When sending text, invalid XML or SPARQL, the body is not quoted. There is no indication in the timeline view that the body is quoted.

I'm conscious that I'm complaining that Bruno prevents me from shooting myself in the foot, but I'm working on an API that, for legacy purposes, needs to accept requests containing invalid JSON in the body, and a text/json content type. And I can't test my implementation because of this behavior.
A setting to configure this behavior, and some cues that it happens would be nice.
I would be glad to contribute to fix this issue !
.bru file to reproduce the bug
reproduce-bug.zip
Screenshots/Live demo link
Here are the bodies the requests recieved by a beeceptor endpoint :

As you can see, the data section doesn't show that quotes are being added to the request

I'm facing the exact same issue. With Bruno 1.16.1 (desktop, not CLI),  I could use in a Pre Request Script req.setBody(Buffer.from("the text"))  and the raw value without quotes was sent. With Bruro 1.17 this hack stopped working.

This issue has deteriorated after 1.27.0,
Bruno now IMPLICITLY sends quoted requests.

Just merged the PR for this. This should be available in the upcoming v1.29.0 release


Brain immunity/reformat files into separate pages

Split the Immunity docs into separate feature-focused pages for clarity and simplicity

@lena-larionova Ready for re-review!!!


[#167194597] Monitor UAA Errors

What
Adds an alert to monitor UAA. The alert will be triggered if there's an increase in UAA 5xx errors over a 6 hour period.
How to review
Code review
Who can review
Not me

Pushed this down my dev env
Tests pass
:shipit:


Add new set operators to the compiler.

SD-1012 #done

UNION,
UNION ALL,
INTERSECT,
INTERSECT ALL, and
EXCEPT.

In the LogicalPlan, UNION and INTERSECT are implemented with the ALL
versions combined with DISTINCT.

Current coverage is 82.31%

Merging #985 into master will not affect coverage as of ed5744d

@@            master    #985   diff @@
======================================
  Files           92      92
  Stmts         7820    7854    +34
  Branches       236     238     +2
  Methods          0       0
======================================
+ Hit           6437    6465    +28
  Partial          0       0
- Missed        1383    1389     +6

Review entire Coverage Diff as of ed5744d

Powered by Codecov. Updated on successful CI builds.

updated.

Sorry, taking this back to in-progress to change the semantics of INTERSECT so that implementing it the way John describes is possible.

LGTM.


Possible overflow in regex parser

I am using the Python binding, libmata version 1.6.18.
When parsing the regex [\x00-\x5a\x5c-\x7f], the resulting automaton has an edge under all numbers from 0 to 127, and also under numbers from<PHONE_NUMBER> to<PHONE_NUMBER>. Also, there is an edge under 91 ('\x5b'), although it should be excluded.
Relevant code:
import libmata.parser as parser
from libmata.plotting import plot

regex = "[\\x00-\\x5a\\x5c-\\x7F]"
m_nfa = parser.from_regex(regex)
plot(m_nfa)

Thank you for another great bug report. We will investigate.


JavaScript error occurred in the main process

运行时遇到一个错误，见截图 JavaScript error occurred in the main process

客户端v0.4.4-1
win10
控制台 Console 页面的截图

Dulicate of #1145


Refactor/tests

Fixes #

Proposed Changes

...
...
...

Readiness Checklist
Author/Contributor

[ ] If documentation is needed for this change, has that been included in this pull request
[ ] Remember to check if code coverage decrease, if so, please implement the necessary tests

Reviewing Maintainer

[ ] Label as breaking if this is a large fundamental change
[ ] Label as either automation, bug, documentation, enhancement, infrastructure, or performance

Hi @cassiosilva93 your PR is under conflicts

Hi @cassiosilva93 your PR is under conflicts

Sorry, I got it resolved now.

PR abandoned


Hello James

My Name is Steve Bailey
I was working on Tuya and was told not to by Bob P. that it was already a hub device that could be brought up another way.
Lol!
Hey I worked on tinytuya for a year and see you can pull local IP address that i was stumped on.
I have code that works for treatlife switches and LED bulbs lights that works well except for the discovery of IP devices. lmao!
I am not experienced enough to get this done, and also have a broken back that makes sitting difficult, i would only screw up on a GITHUB collaboration.
Here is my code for LED lights and switches that maybe we can work on together or you are glad to add it to your code.
https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-master
if you add it then i can bring up my devices lolol! also if you can discover IP's why not ID and key for each device?
I was using snapshot and haven't gotten around to do what you have done with IP discovery.
I also have another that i am stuck on and thats Rheem water heaters and the econet API they keep saying will be taken down, lol.
I cannot call setpoint and unoccupied or vacation mode... https://github.com/sjpbailey/udi-rheem-poly-master-v3
i have a tankless water heater setup on the cloud and can give you access credential's online for it.
Heading to Bend Oregon this weekend for a week,  for some long needed R&R!
Regards,
Steve
209 914-1055
<EMAIL_ADDRESS>

Sure that would be awesome.  I got delayed a bit as I was working on the couple of other apps but would love to revisit this one.
Regards,
James
On Jul 15, 2022, at 6:17 AM, Steven Bailey<EMAIL_ADDRESS>wrote:
ATTENTION: This email was sent from outside the company. Do not click links or open files unless you know it is safe. Forward malicious emails to<EMAIL_ADDRESS>My Name is Steve Bailey
I was working on Tuya and was told not to by Bob P. that it was already a hub device that could be brought up another way.
Lol!
Hey I worked on tinytuya for a year and see you can pull local IP address that i was stumped on.
I have code that works for treatlife switches and LED bulbs lights that works well except for the discovery of IP devices. lmao!
I am not experienced enough to get this done, and also have a broken back that makes sitting difficult.
Here is my code for LED lights and switches that maybe we can work on together or you are glad to ad it to your code.
I was using snapshot and haven't gotten around to do what you have done with IP discovery.
Heading to Bend Or this weekend for some long needed R&R!
Regards,
Steve
https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-masterhttps://urldefense.com/v3/__https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-master__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoafeuMxJQ$
209 914-1055
<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/jamespauly/udi-tuya-poly/issues/1__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoZmGCSpGg$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABLOG34B54DPOXMOTJXVRTLVUE3DXANCNFSM53VDSZRQ__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1Qobu6iWPVQ$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.

Hey James,
Fantastic, I grabbed a zip of you tuya so I can try to figure out how your polling the IP addresses and would like to talk more when you're ready.
I have the TreatLife stuff working using the snapshot.json after I populate it with Mr Cox tinytuya polling, another great human like Bob!
All I needed and wanted to figure out was how to poll that in real time like you did the IP addresses.
I Also used Pandas to sort switch and LED types with DPS so we are super close to making additional devices work with your controller.
Also get you to log in my Rheem tankless water heater and help figure that one out for setpoint and vacation mode, we can also co-author.
Talk soon.
You can also text or call me at<PHONE_NUMBER>
Nice hearing from you!
I also have @.*** @.> so two emails with this one @ @. @.***>.
Regards,
Steve

On Jul 15, 2022, at 9:21 AM, jamespauly @.***> wrote:
Sure that would be awesome. I got delayed a bit as I was working on the couple of other apps but would love to revisit this one.
Regards,
James
On Jul 15, 2022, at 6:17 AM, Steven Bailey<EMAIL_ADDRESS>wrote:
ATTENTION: This email was sent from outside the company. Do not click links or open files unless you know it is safe. Forward malicious emails to<EMAIL_ADDRESS>My Name is Steve Bailey
I was working on Tuya and was told not to by Bob P. that it was already a hub device that could be brought up another way.
Lol!
Hey I worked on tinytuya for a year and see you can pull local IP address that i was stumped on.
I have code that works for treatlife switches and LED bulbs lights that works well except for the discovery of IP devices. lmao!
I am not experienced enough to get this done, and also have a broken back that makes sitting difficult.
Here is my code for LED lights and switches that maybe we can work on together or you are glad to ad it to your code.
I was using snapshot and haven't gotten around to do what you have done with IP discovery.
Heading to Bend Or this weekend for some long needed R&R!
Regards,
Steve
https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-masterhttps://urldefense.com/v3/__https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-master__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoafeuMxJQ$
209 914-1055
<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/jamespauly/udi-tuya-poly/issues/1__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoZmGCSpGg$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABLOG34B54DPOXMOTJXVRTLVUE3DXANCNFSM53VDSZRQ__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1Qobu6iWPVQ$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.
—
Reply to this email directly, view it on GitHub https://github.com/jamespauly/udi-tuya-poly/issues/1#issuecomment-1185698764, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMRVB3P7KDT2FFCOWSYCEPTVUGF2BANCNFSM53VDSZRQ.
You are receiving this because you authored the thread.

If you want create a fork in GitHub and then we can merge our changes.  My goal is to make the interface multiple tuya devices.  Right now I have a flood light that uses the tuya api’s.  Let me know if you have any questions.
Regards,
James
On Jul 16, 2022, at 3:15 AM, Steven Bailey<EMAIL_ADDRESS>wrote:
Hey James,
Fantastic, I grabbed a zip of you tuya so I can try to figure out how your polling the IP addresses and would like to talk more when you're ready.
I have the TreatLife stuff working using the snapshot.json after I populate it with Mr Cox tinytuya polling, another great human like Bob!
All I needed and wanted to figure out was how to poll that in real time like you did the IP addresses.
I Also used Pandas to sort switch and LED types with DPS so we are super close to making additional devices work with your controller.
Also get you to log in my Rheem tankless water heater and help figure that one out for setpoint and vacation mode, we can also co-author.
Talk soon.
You can also text or call me at<PHONE_NUMBER>
Nice hearing from you!
I also have @.*** @.> so two emails with this one @ @. @.***>.
Regards,
Steve

On Jul 15, 2022, at 9:21 AM, jamespauly @.***> wrote:
Sure that would be awesome. I got delayed a bit as I was working on the couple of other apps but would love to revisit this one.
Regards,
James
On Jul 15, 2022, at 6:17 AM, Steven Bailey<EMAIL_ADDRESS>wrote:
ATTENTION: This email was sent from outside the company. Do not click links or open files unless you know it is safe. Forward malicious emails to<EMAIL_ADDRESS>My Name is Steve Bailey
I was working on Tuya and was told not to by Bob P. that it was already a hub device that could be brought up another way.
Lol!
Hey I worked on tinytuya for a year and see you can pull local IP address that i was stumped on.
I have code that works for treatlife switches and LED bulbs lights that works well except for the discovery of IP devices. lmao!
I am not experienced enough to get this done, and also have a broken back that makes sitting difficult.
Here is my code for LED lights and switches that maybe we can work on together or you are glad to ad it to your code.
I was using snapshot and haven't gotten around to do what you have done with IP discovery.
Heading to Bend Or this weekend for some long needed R&R!
Regards,
Steve
https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-masterhttps://urldefense.com/v3/__https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-master__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoafeuMxJQ$https://urldefense.com/v3/__https://github.com/sjpbailey/udi-poly-baspi-thermostat-python-master*3Chttps:/*urldefense.com/v3/__https:/*github.com/sjpbailey/udi-poly-baspi-thermostat-python-master__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoafeuMxJQ$*3E__;JS8vJQ!!BiPlgCE7GXGj!1Om4WR9wOXXYqVZHL869Fr1CB6NGqnAW_pYKscmB1m9Ypi7KI21HqVF_BYch35Ips41AN52WyhrdxsxgFLIKxqgrfg$
209 914-1055
<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub<https://urldefense.com/v3/__https://github.com/jamespauly/udi-tuya-poly/issues/1__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1QoZmGCSpGg$>, or unsubscribe<https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABLOG34B54DPOXMOTJXVRTLVUE3DXANCNFSM53VDSZRQ__;!!BiPlgCE7GXGj!2XUKVZDkDkAClYGu16o_LiCqb0m7-M1riFpAlTjd-VKx2bTdD8kzW3w5Raze1gwh_21AI1SEvNBa3_A1Qobu6iWPVQ$>.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.
—
Reply to this email directly, view it on GitHub https://github.com/jamespauly/udi-tuya-poly/issues/1#issuecomment-1185698764https://urldefense.com/v3/__https://github.com/jamespauly/udi-tuya-poly/issues/1*issuecomment-1185698764*3E__;IyU!!BiPlgCE7GXGj!1Om4WR9wOXXYqVZHL869Fr1CB6NGqnAW_pYKscmB1m9Ypi7KI21HqVF_BYch35Ips41AN52WyhrdxsxgFLJ5AN3UFw$, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMRVB3P7KDT2FFCOWSYCEPTVUGF2BANCNFSM53VDSZRQhttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AMRVB3P7KDT2FFCOWSYCEPTVUGF2BANCNFSM53VDSZRQ*3E__;JQ!!BiPlgCE7GXGj!1Om4WR9wOXXYqVZHL869Fr1CB6NGqnAW_pYKscmB1m9Ypi7KI21HqVF_BYch35Ips41AN52WyhrdxsxgFLKJVdsyEA$.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/jamespauly/udi-tuya-poly/issues/1*issuecomment-1186106082__;Iw!!BiPlgCE7GXGj!1Om4WR9wOXXYqVZHL869Fr1CB6NGqnAW_pYKscmB1m9Ypi7KI21HqVF_BYch35Ips41AN52WyhrdxsxgFLLsQ9S_gw$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABLOG32WL3ZGLNRYVEXMUHLVUJOS3ANCNFSM53VDSZRQ__;!!BiPlgCE7GXGj!1Om4WR9wOXXYqVZHL869Fr1CB6NGqnAW_pYKscmB1m9Ypi7KI21HqVF_BYch35Ips41AN52WyhrdxsxgFLKPi9PRHw$.
You are receiving this because you commented.Message ID: @.***>

CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.

Hello James!
I was looking at your work and i cloned it into a new repository to start to add TreatLife lights and switches for you.
New repository here: https://github.com/sjpbailey/udi-tuya-poly-james-play
"Added a light Node the way i am switching it in the Device folder.
It is currently non-functional your way so far, just started..."
Did this because:
Number one, to not screw up your work lol! I can do that too easily.
Number two to add product to your cool controller! I added one of my devices and it finds all the local IP addresses?
Cool, i have been trying to do this by running the wizard manually for my crap then having it add devices based on 'dps'.
So my objective is to try to get the light to switch and change colors via your way, also to enhance what i started with it to get mine to finally work.
Yours is way cleaner as i am a rookie at Python.
Anyway bare with me i will play with this in the following months on and off and will notify you of any progress.
With the snapshot below you can gather (i Think) 'dps' control numbers, first thing i will try, of course color encoding is lengthy.
 LMAO!
My Device Snapshot:
{
    "timestamp":<PHONE_NUMBER>.88848,
    "devices": [
        {
            "name": "Under Cabinets",
            "ip": "<IP_ADDRESS>",
            "ver": "3.3",
            "id": "ebe097c0407da32084kvtr",
            "key": "b8e105e6395f53b7",
            "devId": {
                "dps": {
                    "20": true,
                    "21": "white",
                    "24": "00a5025f026b",
                    "25": "020e0d00001403e803e800000000",
                    "26": 0
                }
            }
        },
        {
            "name": "Switch Office Outside Lights",
            "ip": "<IP_ADDRESS>",
            "ver": "3.3",
            "id": "017743508caab5f0973e",
            "key": "e779c96c964f71b2",
            "devId": {
                "devId": "017743508caab5f0973e",
                "dps": {
                    "1": false,
                    "9": 0
                }
            }
        },
        {
            "name": "Switch Family Room Sconces",
            "ip": "<IP_ADDRESS>",
            "ver": "3.3",
            "id": "017743508caab5f385a7",
            "key": "2bc2d5aef80f3aee",
            "devId": {
                "devId": "017743508caab5f385a7",
                "dps": {
                    "1": false,
                    "9": 0
                }
            }
        },
        {
            "name": "Office Light",
            "ip": "<IP_ADDRESS>",
            "ver": "3.3",
            "id": "ebfc16d57ed374932cjqfk",
            "key": "805217605357161b",
            "devId": {
                "dps": {
                    "20": true,
                    "21": "colour",
                    "22": 505,
                    "23": 5,
                    "24": "002f03e801f9",
                    "25": "020d0d00000000000000001903e8",
                    "26": 0
                }
            }
        },
        {
            "name": "Garage",
            "ip": "<IP_ADDRESS>",
            "ver": "3.3",
            "id": "ebfd4f4263bb769d99zjkq",
            "key": "ec0b2b581a246eab",
            "devId": {
                "dps": {
                    "20": true,
                    "21": "colour",
                    "22": 1000,
                    "23": 1000,
                    "24": "002f03e801f7",
                    "25": "000d0d0000000000000000180000",
                    "26": 0
                }
            }
        }
    ]
}

My IP list from your controller startup Off the Store node i installed from you! WOW!
2022-08-18 05:08:46,224 Thread-3   udi_interface      INFO     TuyaController:discover: Starting Tuya Device Discovery
2022-08-18 05:08:46,226 Thread-3   udi_interface      INFO     TuyaController:discover: [{"name": "Office Light", "id": "ebfc16d57ed374932cjqfk", "key": "805217605357161b"}]
2022-08-18 05:08:46,278 MQTT       udi_interface.interface INFO     interface:_message: custom data response {'customparamsdoc': '
Tuya Node Server Custom Parameters
\n\n
\n
devices (Optional) - JSON formatted device list
\n
\n'}
2022-08-18 05:08:46,323 MQTT       udi_interface.interface INFO     interface:_message: Successfully set key = customparamsdoc
2022-08-18 05:08:46,642 MQTT       udi_interface.interface INFO     interface:_message: Profile installation finished
2022-08-18 05:09:12,649 Thread-3   udi_interface      INFO     TuyaController:discover: Device Scan Device IP: <IP_ADDRESS>
2022-08-18 05:09:12,650 Thread-3   udi_interface      INFO     TuyaController:discover: Adding Node: ebfc16d57e - Office Light
2022-08-18 05:09:12,808 Thread-3   udi_interface.interface INFO     interface:addNode: Adding node Office Light(ebfc16d57e) [None]
2022-08-18 05:09:12,811 Thread-3   udi_interface      INFO     TuyaController:discover: Device Scan Device IP: <IP_ADDRESS>
2022-08-18 05:09:12,812 Thread-3   udi_interface      INFO     TuyaController:discover: Device Scan Device IP: <IP_ADDRESS>
2022-08-18 05:09:12,813 Thread-3   udi_interface      INFO     TuyaController:discover: Device Scan Device IP: <IP_ADDRESS>
2022-08-18 05:09:12,814 Thread-3   udi_interface      INFO     TuyaController:discover: Device Scan Device IP: <IP_ADDRESS>
2022-08-18 05:09:12,814 Thread-3   udi_interface      INFO     TuyaController:discover: Finished Tuya Device Discovery
2022-08-18 05:09:13,515 Thread-6   udi_interface      INFO     TuyaNode:query: Query sensor ebfc16d57e
2022-08-18 05:09:13,519 Thread-6   udi_interface      INFO     TuyaNode:query: Node Name Office Light

Hello,
James all good you can grab the dps numbers needed to manipulate LED bulbs and switches from the snapshot file i sent you. Then you can make new nodes that will work with them.
I have a splitter made from pandas that will ad node based on dps numbering also.
It splits lights and switches up to ad separately made it a year or so ago.
Here: https://github.com/sjpbailey/udi-poly-tuya-python-master-v3
Have you talked to the owner of TinyTuya Jason Cox great human!
I had permission to use from him.
I will ad and manipulate my copy and give you the nodes.
If i ever get to it!
Currently at the beach!
Cheers!
Steve
Sent from my iPhone

On Aug 19, 2022, at 6:30 AM, jamespauly @.***> wrote:

Hey thanks for working on this. I've honestly not had a lot of time lately. I'm working on a way to do this more cleanly but it's been slow as I'm having to decipher the network packets happening between the devices and the cloud.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

Great Job!
Sent you a git hub reply just now, currently out of town.
With the snapshot i sent it should give you the dps numbers to use for new nodes also you can look at my light and switch nodes to see what a mess i have. I will try to get to it and see if i can get you a couple new nodes on my play repository for this.
I have a local poly installed from your zipped repository just need to sit down for a bit when i get back home to create a couple nodes that work.
I also used pandas to split the switches and led lights for ad node, here in the controller:
https://github.com/sjpbailey/udi-poly-tuya-python-master-v3
Talked to Jason Cox a few times and had verbal permission to steal his work which this poly really is.
I crack up because Bob said i should not work on this after a year of work.
He said he wouldn't put it on the store at the time.
He said a hub can do it and you wouldn't need a node server for it so i am a little taken aback by it popping up, after i was told NO.
He also said its too hard to setup and at the time you did have to manipulate your devices online API where i think it can all now be done from the phone app.
Anyway i will gladly help you as i am disabled and retired and spent another half year on Enphase solar all to have them up their monthly API rate to $248 a month.
Working for free and paying for it?
I quit and this is the first back at it, not to mention faulty first round Polisy and one with a jumper in the wrong place where it wouldn't boot and i was the problem???
I my stuff is open you can do whatever you want with it i have some cool BacNet controllers that have six ins and six outputs and work with python and i have a few node servers we could probably sell as a full control system from Contemporary Controls inc.
Cheers i will hit you up in a week or so.
Regards,
Steve
Sent from my iPhone

On Aug 19, 2022, at 11:16 PM, Steven Bailey @.***> wrote:

Hello,
James all good you can grab the dps numbers needed to manipulate LED bulbs and switches from the snapshot file i sent you. Then you can make new nodes that will work with them.
I have a splitter made from pandas that will ad node based on dps numbering also.
It splits lights and switches up to ad separately made it a year or so ago.
Here: https://github.com/sjpbailey/udi-poly-tuya-python-master-v3
Have you talked to the owner of TinyTuya Jason Cox great human!
I had permission to use from him.
I will ad and manipulate my copy and give you the nodes.
If i ever get to it!
Currently at the beach!
Cheers!
Steve
Sent from my iPhone

On Aug 19, 2022, at 6:30 AM, jamespauly @.***> wrote:

Hey thanks for working on this. I've honestly not had a lot of time lately. I'm working on a way to do this more cleanly but it's been slow as I'm having to decipher the network packets happening between the devices and the cloud.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.


Shilpi brca liverpool

Liverpool BRCA handler is done , and Fiona has signed off QA. Kindly review ..Thanks 🙏

Merged into develop.


[Angular 2] | ZoneJS not working

Using this HTML page
<html>
  <head>
    <title>Angular 2 QuickStart</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
  <!-- 3. Display the application -->

    <script src="https://npmcdn.com/zone.js@0.6.12?main=browser"></script>
  <body>
    <button id='foo' >Click me ! </button>
  </body>

</html>

And this code
var fs = require("fs")
var jsdom = require("jsdom");
var doc = jsdom.jsdom( fs.readFileSync("index.html") , {
    virtualConsole: jsdom.createVirtualConsole().sendTo(console),

    features: {
      FetchExternalResources : ["script"],
       ProcessExternalResources: ["script"]
    }
});

I have the following error

Error: Uncaught [TypeError: Cannot set property onreadystatechange of [object Object] which has only a getter]

Understand why this would be tough, but would love the option to skip the browser in Angular 2+ tests, just as I do in React.
👍

jsdom must run in a function wrapped Zone.js context. I had the same problem when I was working on using Jest in Angular and it's already solved problem. IMO It has nothing to do with jsdom and this should be closed.
@kuashe If you're curious, here's a jest-preset-angular which enables you to test Angular apps in jsdom. What's better, it's several times faster than Karma with Chrome.

Confirmed jsdom working with zone.js using jest-preset-angular. Doesn't look like a jsdom issue.

Please take a look at my PR #1610. I know it was not good enough to be merged. But the diff points what is wrong between zone and jsdom. I'm running integration tests on Angular 2 with pure jsdom and this patch for some times now.


problem in p2ch1 Calculator code

Hi
There is in error in the code of digitsSet in the p2ch1 branch.
Current version:  integers.add(Integer.parseInt(numberString, i, i + 1, 10));
whilst signature of parseInt is parseInt(String s, int radix)
So I guess the code should be something like integers.add(Integer.parseUnsignedInt(Character.toString(numberString.charAt(i)), 10));
Regards
Kirill

Hi,
This project has to be compiled with JDK 11+. As you can see on the documentation, this signature for parseInt is correct. I guess you're using a JDK 8.


Delete outdated lints

Currently, lintomat tries to avoid posting the same lint twice (by checking content & line number against existings)
What it does not do is check for lints which are no longer in the lint list (for example, after a PR is updated) and delete the old ones. This is particularly problematic for lints which are not on the line which are changed in the fix (i.e. method too long, or ABC violations).

https://developer.github.com/v3/pulls/comments/#delete-a-comment


Added CLTV/CSV functionality

This makes the CLTV/CSV stuff functional and actually evaluates everything properly. Lots of new tests, also had to change how witness stuff was being serialized and interpreted.

CLTV/CSV is now available as part of Taproot trees by specifying a locktime or sequence.

Added gracefully degrading multisig (k-of-n then after some time, k-1 of n and then k-2 of n until 1 of n)

@mflaxman can I merge this?


Fails to recognise app with window.location.assign

I'm trying to open up the app (when user has it installed) from a javascript call in the callback of branch.link()
I'm using window.location.assign(link) but it only opens the fallback URL rather than open the app.  I have also tried window.open(link) and it does the same.
However, a hardcoded  link works fine, and opens the app.
Any ideas how I can replicate this in Javascript without hardcoding an  link?

Hi Muesly,
Apple requires that Universal Links be tapped on directly by the end user. This means that Universal Links cannot be triggered programmatically.
There are a few other limitations as well:

Redirecting to a Branch link will prevent it from functioning as a Universal Link
Wrapping a Branch link for click tracking or any other purpose will prevent it from functioning as a Universal Link

For a complete list, please take a look at:

https://support.branch.io/support/solutions/articles/6000153326-ios-universal-links-troubleshooting-guide

Thanks Rubin


Text

Preparation

[x] Existing defect backlog reviewed/evaluated, prioritized, and selected
[x] Functional requirements defined: functional test script is defined/written (not coded) and signed off by Dev, Design, ADA and Product leads
[x] Non-functional requirements defined (e.g. controlled vs. uncontrolled)
[x] Existing enhancements backlog reviewed/evaluated, prioritized, and selected
[x] Usability testing plan defined or deemed unnecessary
[ ] Examples needed to properly demonstrate component features are defined and signed off by Dev, Design, ADA and Product leads

Development

[x] Component implemented in/ported to TypeScript
[x] 3rd-party dependencies removed
[x] CSS upgraded to use characteristics
[x] Selected defects resolved
[x] Component API finalised
[x] Necessary refactoring completed
[x] Selected enhancements added

Testing

[x] Functional test script is implemented in Cypress and passes
[x] Code not covered by the functional test script is identified and reviewed by Dev & Design leads
[x] Automated Axe tests added and pass

Examples

[x] All examples needed are implemented as stories (either ported from BitBucket or created net new)

Deployment

[ ] Codemods for migration created and verified
[ ] Reviews/Sign-off
[ ] Dev production review
[ ] Design review
[ ] Product sign-off
[ ] ADA review
[ ] Documentation
[ ] Dev docs content provided
[ ] Design docs provided
[ ] Consolidated documentation produced by combining dev content, migration guide, and design docs
[ ] Consolidated documentation published on Storybook
[ ] Consolidated documentation reviewed and updated according to user feedback
[ ] Figma symbols
[ ] New Odyssey Figma symbol created
[ ] Figma symbol references updated to use new Figma symbol

@parsakhan21 Nav is ready to pick up something new. Text is next in the order (after Status which is probably best to go to Wenna). Is that ok?
cc' @navkaur76 @pseys

Hi Ben, sounds good to me. Just copying Robin in case he has any comments @shinytoyrobots

Makes sense to me too.

11/1 - Nav working on specs; call with Paul/Wenna to clarify questions

11/1 - Nav working on specs; call with Paul/Wenna to clarify questions

11/24: Interaction spec & ADA nearing completion


= or <= binary expression containing TS "as expression" fails to parse

Describe the bug
Binary expressions with >= or <= operators containing a TypeScript "as expression" fail to parse.
Input code
const a = testNum as number >= 0 // or <=, but < and > are fine

Config
No response
Playground link (or link to the minimal reproduction)
https://play.swc.rs/?version=1.7.17-nightly-20240820.3&code=H4sIAAAAAAAAA0vOzysuUUhUsFUoSS0u8SvNVUgsVsgrzU1KLVKws1UwAAAPKf%2BNIAAAAA%3D%3D&config=H4sIAAAAAAAAA1WQvW7DMAyE9z6FoTmoCw8ZsrbIlilPQCh0w0J%2FICkgRuB3jyTHcbqJ3%2FF04N0%2Fus78iTWH7l6eZUjAgvyaC5EpKNwKMTolFMuU1OxWVaVKyhkbmRfBKPAvajWhDF%2FDYFbOEGSM7N8TsuAPjhTwGPnbgciR0F3k%2Be8rihGsvvkKIp8i6zlmtljDrqpJDn2P4j%2Fl2qfFstsMnIOSb7uQNXpQsuYpz%2F8ucDFK3RvBSb2tcePjJTvc6qqVLFfuzbZEgcZp9TZEclqdrav5AeQIxLB6AQAA
SWC Info output
No response
Expected behavior
Should parse
Actual behavior
  x Expression expected
   ,-[input.tsx:1:1]
 1 | const a = testNum as number >= 0
   :                              ^
   `----

Caused by:
    0: failed to process js file
    1: Syntax Error

Version
1.7.17-nightly-20240820.3
Additional context
No response

Should it be fixed in #9313 ?

It will be fixed by #9313, but I expect #9313 to take lots of time, mainly because I don't have time to work on it

Investigation
In SWC parser, the function read_token_lt_gt determines if the upcoming token is either < or > and decides whether to proceed with processing any following =. In in_type mode, it immediately returns < or >.
In the next_then_parse_ts_type function, in_type is set to true to enter the TS type parsing mode.
However, this in_type mode also affects the next cache which used to peek the next token,
for example, for the expression testNum as number >= 0, after parsing testNum as number, the next cache will store a > character.
For the expression testNum >= 0, once testNum is processed, the next token to be queried is, as expected, >=.
In other words, a peak operation might have been performed in next_then_parse_ts_type, potentially resulting in the incorrect handling of subsequent tokens.
Possible solution:
At the end of the next_then_parse_ts_type function, discard the next cache and re-read the token.


Slow produce with pollAndProduce with many output messages

Hi! First off, thanks for this great library.
When using pollAndProduce, a synchronous produce is done by calling get() on the future. This is done in a tight loop for each message, i.e. PC consumes one message, and wants to send 700+ messages as result. For each of the 700 msgs, produce is done, and get() is called on the future.
See here:
Inside the loop, the future/get(): https://github.com/confluentinc/parallel-consumer/blob/7b389d1272d83d96098a3d1c07836ec957a2acb4/parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ProducerManager.java#L146
The loop itself:
https://github.com/confluentinc/parallel-consumer/blob/7b389d1272d83d96098a3d1c07836ec957a2acb4/parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java#L69
This is EXTREMELY slow for large fan-outs. For small fan-outs, or 1:1 consume/produce, i think it is not as much of an issue.
I propose to add a function processMany, which will first produce all records, gathers a list of futures, and then, after all are produced, waits for them. This should be much faster, because all records are produced async,i.e. producing "the next record" does not have to wait for the previous record to be acked.
Would you be open for a patch here? I'm be happy to submit one.

Duplicate of:

#232

But let's continue discussion in #297 as you've already proposed a solution here :)


IsDateTime check?

Is there a IsDateTime or IsDate check for the AssertThat function?
I want to use this to check if the value is a date. The default attributes inside ASP MVC do not work.

As you've most likely noticed, there is no such built-in method into EA. My thinking is, it would be too broad - there is too many standards (RFC2822, ISO 8601, RFC 1123, some country-specific, etc.). There is no "correct" format. It all depends on what various implementations consider as such. If any, better name would be e.g. IsISODate().
Nevertheless, for broad spectrum of formats, you can write such method by yourself, in the following manner:
class Model
{
    [AssertThat("IsDateTimeString(Date)")]
    public string Date { get; set; }

    public bool IsDateTimeString(string value)
    {
        DateTime temp;
        return DateTime.TryParse(value, out temp);
    }

<script>
    ea.adMethod("IsDateTimeString", function(value) {
        var millisec = Date.parse(value);
        return typeof millisec === 'number' && !isNaN(millisec);
    });

Looking at the sample above, there is no guarantee though, that every input string which is parsed by JavsScript Date.parse(dateString) is parsed by .NET DateTime.Parse(string dateString) as well. Most likely not, because in remarks of both implementations (at MDN and MSDN) there is an information that input string, despite the fact being basically a string representing an ISO 8601 date, may accept also other formats, but with more or less unexpected parsing results.
If you want to be strict, and allow e.g. yyyy-mm-dd format only, you can write something like below:
class Model
{
    public bool IsDateTimeString(string value)
    {
        return Regex.IsMatch(value, @"^\d{4}-\d{2}-\d{2}$");
    }

<script>
    ea.adMethod("IsDateTimeString", function(value) {
        return /^\d{4}-\d{2}-\d{2}$/.test(value);
    });

As a first supplementary information I'd like to add, that when (if) async-work branch  will be ready, there is a possibility to add async method for such checks, e.g.
ea.addAsyncMethod('IsDateTimeString', function(value, done) {
    $.ajax({
        url: '/Controller/IsDateTimeString?input=' + value,
        success: function(result) {
            done(result);
        }
    });
});

It can be convenient, because actual format checking could be done at C# side only, no JavaScript related parsing logic would be needed. Such approach is less vulnerable for inconsistencies, which can occur at client-related server implementation and vice-versa, since only server one is really used.
Actually such an option is already available at that branch, but it is not yet merged to master. Nevertheless you can still use it instead, if you wish.

As a second supplementary information I'd like to add, that in my above answer I've declared Date property as string. It is justified because we are checking string formats there.
In some other cases, a property representing date and time, could be actually declared as DateTime. If so, it could be next used inside expressions, e.g. to compare dates which each other, e.g. [AssertThat("Date > OtherDate")].
In such cases, you need to remember, that default type-detection logic provided out of the box by EA, parses datetime types using Date.parse() method at client-side. As already noted, Date.parse() accepts RFC2822 or ISO 8601 date strings. If input string is not compatible with these standards (e.g. yyyy-mm-dd), custom value parser needs to be provided, e.g.
class Model
{
    [AssertThat("Date > OtherDate")]
    [ValueParser("CustomDateParser")]
    public DateTime Date { get; set; }

    [ValueParser("CustomDateParser")]
    public DateTime OtherDate { get; set; }

ea.addValueParser('CustomDateParser', function(value) {
    var arr = value.split('-');
    var date = new Date(arr[0], arr[1] - 1, arr[2]); // months are 0-based
    return date.getTime(); // return milliseconds
});

Thanks for the information. Appreciate it!


added styles to delete button

Added styles to the delete button and hover state to submit butten. Not committed the css files here

Hi @farsanau, I noticed you created a new branch for the changes. I feel obligated to tell you that you didn't have to do that to edit the previous pull request.
The correct approach would have been to simply commit the changes to your branch and it would have been reflected in the Pull request since it's the same branch you are trying to merge into 'main'.

Thank you , I was afraid if I would mess up , so I just created new branch and did the changes


[react-native-hms-health] Manifest merger failed with multiple errors, see logs

Environment

"react-native": "0.70.4",
"@hmscore/react-native-hms-health": "^6.7.0-300"

Description
I am trying to use react-native-hms-health package but when i try to build my app i am getting this error:

Build.gradle

@Poovit-B Thank you for your feedback. We have understood the problem and expect to update the version next week. You can also add android: exported="true" or android: exported="false" to the service first.

https://github.com/HMS-Core/hms-react-native-plugin/blob/master/react-native-hms-health/android/src/main/AndroidManifest.xml

Hi,@Poovit-B,react-native-hms-health has been upgraded to the latest SDK version(<IP_ADDRESS>1) in which this issue had been resolved. You can find it at the link.


Adds npm install steps to publish workflow

Resolves #20
...for reals this time ;)
The publish workflow needs install steps.  After I added these install steps, the workflow passed for me.  ~Still not sure if it will successfully publish a new version when it is supposed to.~  As I described in https://github.com/CONNECT-platform/coding-blog-plugin/issues/22#issuecomment-692842582, I have successfully tested this workflow.

Still not sure if it will successfully publish a new version when it is supposed to.

I am working on this now though.

P.s. the reason this is not merged is that I'm giving the concept a bit more test on some other (more experimental) packages to see how it fairs. So far, I can say:

I opted for using this action instead, since it seems to work better when you DO NOT want to have an additional check for some release message in the commit message. That workflow seems more streamlined to me since there is no magic anywhere in it and every bump in package.json simply means a new version is going to be published.

The workflow works pretty well when the package has tests (since it can simply stop if the tests are not passing, better yet you could even fail the publish if coverage is for example below a certain threshold). This package unfortunately does not (yet) have any tests, which makes it a bit more risky to do accidental automated publishes. That said, I still find myself making a separate commit for each publish when I am sure everything is ready, so perhaps thats not an issue.

I will use the same workflow on some bigger packages soon to see how things go, but it seems like a pretty convenient thing (since generally each new version DOES need at least one commit and then some other manual work).

Sounds good to me.  I don't have any particular affinity for the Publish to npm action.  I think it is just the first one that I found.