MSID: 94315 Version: 1 DOI: 10.1101/2<IP_ADDRESS>1678

MSID: 94315
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1678
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=94315
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1678

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/94315v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1678
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/94315/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

elocations missing from references


Use $_SERVER instead of apache_request_headers()

apache_request_headers() does not work with nginx-based servers

Thanks Rudy! I‘m on the road for the next days, gonna merge this when I‘m back home!


Use Swift System to implement NonBlockingFileIO

Motivation:
#1957 suggests we make use of Swift System for the NonBlockingFileIO implementation which would also reduce its dependency on NIOPosix.
Modifications:

Add dependency on Swift System package.
Replace implementation of NonBlockingFileIO with System's FileDescriptor-based implementation.

To do:

[x] Currently this PR depends on an unmerged PR in swift-system, this needs to be merged and then we need to depend on a released version.
[ ] Decide if we want to expose the withUnsafeSystemFileDescriptor function (probably not initially?)

seems the commits are out of date to the branch

Yeah, this one died on the vine. And the addition of ftruncate to swift-system for Windows got reverted because it broke the build and we don't have any CI on swift-system for Windows so I'm a bit hesitant to add it again.


Add ability to record unregistered states

Add ability to record unregistered states and then export this list as "AddStates" code.

Almost done by tsachi https://github.com/outbrain/Leonardo/issues/33


Problem with copying generated columns

Anonymizer throws error when dealing with table with generated columns
Error: db error: ERROR: column "tsv" is a generated column
DETAIL: Generated columns cannot be used in COPY.
pg_dump on its own works fine.
postgresql and pg_dump version is 12.12
pg_datanymizer version is 0.6.0

@ruslan-kurbanov-jr Thanks, It's interesting problem... We'll research it as soon as possible.
The main approach we use is to replace COPY stage in the dump... We'll see how pg_dumper uses it when working with similar columns.

i just ran in to this problem as well. Is there a solution?
pg_dump (PostgreSQL) 16.0
pg_datanymizer version is 0.6.0

A workaround approach for this could be to create a view of the table and dump that instead (using table filters). Do a find and replace on the dump file before importing to rename the view to the table name.
It seems like PG is supposed to work if the dump value for the generated column is default: https://stackoverflow.com/questions/64600614/restoring-pg-database-from-dump-fails-due-to-generated-columns

Tried adding the --inserts pg_dump argument but it still used COPY. I was hoping that since the error specifically mentioned COPY, then using --inserts would allow it to work.

Thanks a lot! Is new release going to be published?


WIP Reconciler loop

@ncdc @chuckha
disclaimer: I'm still in learning mode.
This PR is an attempt to get the reconciler loop properly manage the creation of the init control plane. Main points I want to discuss with you:

While cluster.x-k8s.io/infrastructure-ready is not set, everything should wait
If cluster.x-k8s.io/infrastructure-ready==true, while cluster.x-k8s.io/control-plane-ready is not set
we should ensure only one config/one machine is set for acting as init control plane; this requires the init-lock mechanism to be in place
everything else should wait
if cluster.x-k8s.io/infrastructure-ready==true and `cluster.x-k8s.io/control-plane-ready==true the reconciler loop should handle join control plane and join workers

@ncdc @chuckha I have pushed an update on this PR.
apart rebase + address comments, major changes are:

tolerate one of InitConfiguration or ClusterConfiguration missing (same as kubeadm)
if defined, inject cluster.Status.APIEndpoints into ClusterConfiguration for the init control plane
fail if control plane is ready, but cluster.Status.APIEndpoints is not set
inject cluster.Status.APIEndpoints into JoinConfiguration
fail if joining a control plane machine, but the kubeadm config does not join as a control plane
lot of unit tests

@chuckha @ncdc @detiber thanks for the feedback!
everything should be addressed, and if it is ok for you we can merge this and move on next iterations for addressing:

token management
certificate management
init-lock (as a safeguard for more control-plane nodes configured for init)
behavioral test (blocked by failure on Patch due to API machinery losing gvk)


ansible: yaml anchor and alias is not detected

Expected Behavior
kics must parse and respect a yaml anchor and alias.
E.g.  encrypted: yes is defined in a default variable in the same file and used in every module.
Actual Behavior
EBS Volume Encryption Disabled, Severity: MEDIUM, Results: 8
CIS ID: CIS Security - CIS Amazon Web Services Foundations Benchmark v1.4.0 - Rule 2.2.1
Title: Ensure EBS volume encryption is enabled
Description: Elastic Compute Cloud (EC2) supports encryption at rest when using the Elastic Block Store (EBS) service. While disabled by default, forcing encryption at EBS volume creation is supported.
Platform: Ansible
	[2]: roles/instance/tasks/detach_old_volume.yml:2
		001: - name: detache old volume
		002:   ec2_vol:
		003:     id: "{{  detach_vol_id }}"
	[3]: roles/ec2/tasks/ebs_volume.yml:49
		048:   when: param.iops is undefined and param.throughput is defined
		049:   ec2_vol:
		050:     <<: *default_parameters

Steps to Reproduce the Problem
- name: >
    default volume parameters
    yaml anchors must be implemented in the same yaml document where they are used
  set_fact:
    default_parameters: &default_parameters
      instance: "{{ instance.instance_ids[0] }}"
      name: "{{ ec2_config.name }}:{{ param.device_name }}"
      kms_key_id: "{{ kms.ebs }}"
      encrypted: yes
      tags:
        Name: "{{ ec2_config.name }}:{{ param.device_name }}"
        Backup: "{{ param.backup | default('y') }}"
      modify_volume: yes
      region: "{{ region }}"

- name: ec2 volume - no iops no throughput | {{ ec2_config.name }}:{{ param.device_name }}
  when: param.iops is undefined and param.throughput is undefined
  ec2_vol:
    <<: *default_parameters
    volume_size: "{{ param.volume_size }}"
    volume_type: "{{ param.volume_type }}"
    device_name: "{{ param.device_name }}"
    delete_on_termination: "{{ param.delete_on_termination }}"
    state: "{{ param.state | default('present') }}"
  register: volstatus
  until: volstatus.failed == false
  delay: 3
  retries: 5 # maybe ec2 is slow and instance is not ready yet
  ignore_errors: yes

Specifications
(N/A if not applicable)

Version: 1.4.9
Platform: docker alpine 3.15
Subsystem:

Hello, @markuman 🙂 Thank you so much for reaching us and reporting the bug!
We are happy to inform you that we are fixing it in PR #4659!


CudnnFind() usage improvements

Description
This PR improves the MXNet's use of cudnnFind() to address a few issues:
1. With the gluon imperative style, cudnnFind() is called during forward(), and so might have its timings perturbed by other GPU activity (including potentially other cudnnFind() calls).
2. With some cuda drivers versions, care is needed to ensure that the large I/O and workspace cudaMallocs() performed by cudnnFind() are immediately released and available to MXNet.
3. cudnnFind() makes both conv I/O and workspace allocations that must be covered by the GPU global memory headroom defined by MXNET_GPU_MEM_POOL_RESERVE.  Per issue #12662, large convolutions can result in out-of-memory errors, even when MXNet's storage allocator has free memory in its pool.
This PR addresses these issues, providing the following benefits:
1. Consistent algo choice for a given convolution type in a model, both for instances in the same GPU and in other GPUs in a multi-GPU training setting.
2. Consistent algo choice from run to run, based on eliminating sources of interference of the cudnnFind() timing process.
3. Consistent model global memory footprint, both because of the consistent algo choice (algo's can have markedly different workspace requirements) and changes to MXNet's use of cudaMalloc.
4. Increased training performance based on being able to consistently run with models that approach the GPU's full global memory footprint.
5.  Adds a unittest for and solves issue #12662.
Now specifically, the PR makes the following changes/additions:
1. Merges the cudnn algo registry separate Find() and Register() methods into a single FindOrElseRegister() call protected by a mutex.  Before, there was a window of time between when a thread found no algo entry and when it registered a new entry.  This window could allow a different thread to call cudnnFind() on the same convolution type, getting a different answer.  FindOrElseRegister() takes a callback that determines the algo via cudnnFind() and makes access to the cudnn algo registry effectively atomic.  The callbacks provided with cudnn_convolution and cudnn_deconvolution also grab the storage allocator's mutex to quiet the GPU activity from other threads during the running of cudnnFind().
2. Changes MXNet's storage allocator to round large allocations to a multiple of 2MB.  This value ensures that small permanent allocations that might have shared a cuda memory allocation slab with a prior large allocation don't prevent the reclaiming of that slab area.
3. Includes use of the MXNet storage allocator's Alloc() and DirectFree() API to coax a convolution's I/O storage needs away from MXNet's storage allocator prior to calling cudnnFind().
The first commit introduces a unittest that demonstrates issue #12662 in the current codebase.  In order to make the test adaptable to GPUs of varying global memory, a C-level API was brought out to the python API by introducing mx.context.gpu_memory_info(dev_id).  Follow-up commits supply the fix and the rest of the PR.
Hopefully Interested parties: @KellenSunderland @piiswrong @eric-haibin-lin @zheng-da
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ X] Changes are complete (i.e. I finished coding on this PR)
[X ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[X ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[X ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments
The following command was run on an 8-GPU system to demonstrate the new consistency of global memory footprint:
python /opt/mxnet/example/image-classification/train_imagenet.py --gpu 0,1,2,3,4,5,6,7 --batch-size 256 --num-epochs 1 --data-train /data/iman-val-recordio-352/train.rec --disp-batches 10 --network inception-v3 --data-nthreads 32 --image-shape 3,299,299

Two nvidia-smi outputs are shown.  The first is before the PR (showing footprints in the range of 5GB to 8GB), while the second is after (showing consistent 5GB footprints with < 1% variation).
Before PR:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.45                 Driver Version: 410.45                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  On   | 00000000:06:00.0 Off |                    0 |
| N/A   58C    P0   247W / 300W |   6312MiB / 32480MiB |     86%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla V100-SXM2...  On   | 00000000:07:00.0 Off |                    0 |
| N/A   60C    P0   274W / 300W |   5542MiB / 32480MiB |     86%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla V100-SXM2...  On   | 00000000:0A:00.0 Off |                    0 |
| N/A   63C    P0   255W / 300W |   5152MiB / 32480MiB |     89%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla V100-SXM2...  On   | 00000000:0B:00.0 Off |                    0 |
| N/A   54C    P0   258W / 300W |   6730MiB / 32480MiB |     88%      Default |
+-------------------------------+----------------------+----------------------+
|   4  Tesla V100-SXM2...  On   | 00000000:85:00.0 Off |                    0 |
| N/A   57C    P0   222W / 300W |   5158MiB / 32480MiB |     87%      Default |
+-------------------------------+----------------------+----------------------+
|   5  Tesla V100-SXM2...  On   | 00000000:86:00.0 Off |                    0 |
| N/A   59C    P0   260W / 300W |   5168MiB / 32480MiB |     84%      Default |
+-------------------------------+----------------------+----------------------+
|   6  Tesla V100-SXM2...  On   | 00000000:89:00.0 Off |                    0 |
| N/A   63C    P0   266W / 300W |   5160MiB / 32480MiB |     88%      Default |
+-------------------------------+----------------------+----------------------+
|   7  Tesla V100-SXM2...  On   | 00000000:8A:00.0 Off |                    0 |
| N/A   58C    P0   255W / 300W |   8252MiB / 32480MiB |     90%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     53319      C   python                                      6289MiB |
|    1     53319      C   python                                      5519MiB |
|    2     53319      C   python                                      5129MiB |
|    3     53319      C   python                                      6707MiB |
|    4     53319      C   python                                      5135MiB |
|    5     53319      C   python                                      5145MiB |
|    6     53319      C   python                                      5137MiB |
|    7     53319      C   python                                      8229MiB |
+-----------------------------------------------------------------------------+

After PR:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.45                 Driver Version: 410.45                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  On   | 00000000:06:00.0 Off |                    0 |
| N/A   55C    P0   271W / 300W |   5044MiB / 32480MiB |     85%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla V100-SXM2...  On   | 00000000:07:00.0 Off |                    0 |
| N/A   57C    P0   221W / 300W |   5042MiB / 32480MiB |     87%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla V100-SXM2...  On   | 00000000:0A:00.0 Off |                    0 |
| N/A   59C    P0   214W / 300W |   5042MiB / 32480MiB |     84%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla V100-SXM2...  On   | 00000000:0B:00.0 Off |                    0 |
| N/A   52C    P0   263W / 300W |   5040MiB / 32480MiB |     82%      Default |
+-------------------------------+----------------------+----------------------+
|   4  Tesla V100-SXM2...  On   | 00000000:85:00.0 Off |                    0 |
| N/A   55C    P0   252W / 300W |   5048MiB / 32480MiB |     82%      Default |
+-------------------------------+----------------------+----------------------+
|   5  Tesla V100-SXM2...  On   | 00000000:86:00.0 Off |                    0 |
| N/A   56C    P0   180W / 300W |   5056MiB / 32480MiB |     81%      Default |
+-------------------------------+----------------------+----------------------+
|   6  Tesla V100-SXM2...  On   | 00000000:89:00.0 Off |                    0 |
| N/A   59C    P0   244W / 300W |   5060MiB / 32480MiB |     79%      Default |
+-------------------------------+----------------------+----------------------+
|   7  Tesla V100-SXM2...  On   | 00000000:8A:00.0 Off |                    0 |
| N/A   54C    P0   255W / 300W |   5084MiB / 32480MiB |     83%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     47478      C   python                                      5021MiB |
|    1     47478      C   python                                      5019MiB |
|    2     47478      C   python                                      5019MiB |
|    3     47478      C   python                                      5017MiB |
|    4     47478      C   python                                      5025MiB |
|    5     47478      C   python                                      5033MiB |
|    6     47478      C   python                                      5037MiB |
|    7     47478      C   python                                      5061MiB |
+-----------------------------------------------------------------------------+

This is awesome! Is the change complete?

I'm still resolving issues with the CI test I introduced.  The rest of the PR is complete, but not yet pushed.

@KellenSunderland @piiswrong @eric-haibin-lin @zheng-da
It took a bit of playing with my newly introduced 'test_large_models' test to get it to fail on the correct CI nodes and not others.  The logs of commit 7bf8d51show the proper misbehavior present with the current codebase.  I've now committed the PR code, which demonstrates the issue is fixed.  See initial description for additional PR benefits.
As I look over the diffs now, I see the PR might look larger than it really is.  Much of the PR change involves moving most of SelectAlgo() code intact into a new callback function CuDNNAlgoSetter.
Also, I see now that I didn't mention introducing an environment variable MXNET_GPU_MEM_LARGE_ALLOC_ROUND_SIZE that defaults to the ideal value 2MB- my preference here rather than hardcoding a magic constant.

To remotely debug the issues with my new test as run on the CI systems, I added stderr output that will be emitted on the same nosetests output line (even without the '-s').  Here shown during a failing run:
test_gluon_gpu.test_large_models ...  testing global memory of size<PHONE_NUMBER> ...  1200x1200  1190x1190  1180x1180  1170x1170
ERROR

Did some testing over the weekend and can verify this fixes a number of issues I've seen including our recent batch/slice test failures.  Will do a quick syntax pass tomorrow.

@eric-haibin-lin @szha @zheng-da @anirudh2290 @sandeep-krishnamurthy @nswamy   could you help review? Thanks a lot!
This could fix #https://github.com/apache/incubator-mxnet/issues/12767 which is failing in multiple PRs

Agree with @roywei, this PR will fix many issues and it would be great to get it merged soon.  Let's still do due diligence in terms of review as it's an important component.

@DickJC123 could you address the build issue in CI?
src/c_api/c_api.cc:130:43: error: 'free_mem64' may be used uninitialized in this function [-Werror=maybe-uninitialized]

   *free_mem = static_cast<int>(free_mem64);

                                           ^

src/c_api/c_api.cc:131:45: error: 'total_mem64' may be used uninitialized in this function [-Werror=maybe-uninitialized]

   *total_mem = static_cast<int>(total_mem64);

@eric-haibin-lin I've fixed the latest uninitialized var issue you pointed out and am passing CI.  Thanks to all for the careful review! @KellenSunderland has been following even the last tweeks and approves this PR.

Yep, updates look good, did some testing and it fixes a few issues (including some CI failures we've been getting recently).
Thanks for the quick iteration @DickJC123.


pod_spec is broken

On pach 1.9.8, applying following pipeline spec, gives me parse error while canonicalizing CreatePipelineRequest: json: cannot unmarshal object into Go value of type string
input:
  pfs:
    glob: "/"
    repo: x
pipeline:
  name: y
transform:
  cmd:
  - "/bin/bash"
  image: blah
  stdin:
  - "blah"
datum_tries: 2
pod_spec:
  serviceAccount: "ml-user"
  serviceAccountName: "ml-user"

@jdoliner Not sure about earlier version .. have not tried it before .. are you saying pod_spec  may be  unsupported? not sure what you mean by might just be an invalidate spec.

Sorry I meant invalid, as in this isn't a valid usage of pod_spec, pod_spec has to be a string.
Closing this because I think this is just a usage issue, feel free to reopen if I'm missing something.


added bump GHA workflow

And bumped typescript. Mainly trying to see if we can automate dependency bumps

Cool! LGTM since we have automated tests 👍🏻


not able to run

when tried to run this command : uvicorn example:app --port 8081
Error : urllib.error.URLError:
Any suggestions please

If you are going to use github issues as a way to get help solving a problem most likely caused by your own environment or code, at least be more specific and provide a full replicable example.


seperate handleDrop from handlePaste

Because sometimes you maybe just want to handle drop events 😅
This will however break if someone uses onPaste to stop drop events.

Ah, thank you! :D


22.05 datadog agent fixes

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

error: creating file '/nix/store/add-3715914-0/x/pkgs/shells/zsh/zsh-git-prompt/default.nix': No space left on device

Reported multiple times in the infra channel on Matrix, so I'm merging.


Update winrt.d.ts

Add definition method for get folder ítems with range:
https://msdn.microsoft.com/en-us/library/windows/apps/br227287.aspx?cs-save-lang=1&cs-lang=javascript#code-snippet-1

@dgzornoza this PR contains a lot of changes. https://github.com/borisyankov/DefinitelyTyped/pull/3507/files
please make the small change set.


Add cloudwatch tags

Had to also add the possibility to search for AMIs by amazon owner alias, because of a Terraform test, which queries that data.
I also added several missing parameters, I think that's all at the moment and Terraform is also happy 😄

Hi @gruebel, looks like the EC2 AMI filter was already added this morning, in this PR: https://github.com/spulec/moto/pull/4175/files

yeah, I also saw that now 😄 looks much better than my simple fix 💪 rebasing right now and have to add an AMI to the json file, which is used by one of the Terraform tests.

Forgot to mention, this also fixes #4020

Codecov Report

Merging #4179 (65dd027) into master (c5b6369) will increase coverage by 0.00%.
The diff coverage is 94.73%.

@@           Coverage Diff           @@
##           master    #4179   +/-   ##
=======================================
  Coverage   94.80%   94.80%
=======================================
  Files         479      480    +1
  Lines       52819    52900   +81
=======================================
+ Hits        50073    50151   +78
- Misses       2746     2749    +3

Flag
Coverage Δ

servertests
55.31% <65.26%> (+0.01%)
:arrow_up:

unittests
94.72% <94.73%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

moto/cloudwatch/exceptions.py
90.47% <90.47%> (ø)

moto/cloudwatch/models.py
95.53% <92.85%> (+0.32%)
:arrow_up:

moto/cloudwatch/responses.py
98.65% <100.00%> (+0.19%)
:arrow_up:

moto/core/utils.py
85.77% <100.00%> (+0.11%)
:arrow_up:

moto/ec2/models.py
95.67% <0.00%> (-0.03%)
:arrow_down:

moto/ec2/responses/route_tables.py
100.00% <0.00%> (ø)

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 c5b6369...65dd027. Read the comment docs.


Firefox: the media playback was aborted due to corruption problem

Description
Trying to record with firefox results in: "The media playback was aborted due to a corruption problem or because the media used features your browser did not support"
Steps to reproduce
I can reproduce this on: https://collab-project.github.io/videojs-record/examples/audio-video.html with Firefox (Chrome is fine). This one: https://simpl.info/mediarecorder/ works. My project which uses newest version of libs also has this problem, however it worked sometimes before (it was unpredictable).
Additional Information
Please include any additional information necessary here. Including the following:
"recordrtc": "^5.3.8",
"video.js": "^5.10.4",
"videojs-record": "^1.4.0"
browsers
Firefox 47.0
OSes
Windows 10

Ok after computer (firefox only was not enough) restart example seems to be working. However I can still reproduce it by pressing record, then stop, then play, then record again (while play haven't finished yet) then stop. Yesterday I was getting error every single record, but it was probably because I was testing my app and was doing a lot of different tests on recording on firefox and after a while it just stopped working at all (including example). Maybe this reproducible error will give some hints because error is identical and chrome does not have it.

I suspect it's a RecordRTC issue. Do you have a stacktrace of the error?

It's reproducible on https://collab-project.github.io/videojs-record/examples/audio-video.html with action sequence I described. After a lot of tests today firefox recording stopped working again for me. Error is the same as in reproducible example: "The media playback was aborted due to a corruption problem or because the media used features your browser did not support". Maybe they are related. I don't see any javascript errors in console.

@ignl you have time to test PR #90?

Ok I will check it tomorrow.

OK I didn't test PR because I could not reproduce it on example page anymore. Also I have updated my project versions of video.js and recordrtc (to 5.40 from 5.38) and could not also reproduce it. However on my project it was rather unpredictable so will have to do some more tests but right now it seems that newer versions fixed the problem. Oh and also updated firefox to 48.02. So I am not sure what exactly fixed it.


Support an async entry point for commands

Description
Adds an AsyncParsableCommand type that sports an run() async method, allowing for asynchronous code in a command line tool.
Detailed Design
This includes the new AsyncParsableCommand protocol, which provides a static func main() async entry point and can call through to the root command's or a subcommand's asynchronous run() method. For this asynchronous execution, the root command must conform to AsyncParsableCommand, but its subcommands can be a mix of asynchronous and synchronous commands.
/// A type that can be executed as part of a nested tree of commands.
public protocol AsyncParsableCommand: ParsableCommand {
  mutating func run() async throws
}

extension AsyncParsableCommand {
  public static func main() async { ... }
}

Due to an issue in Swift 5.5, you can only use @main on an AsyncParsableCommand root command starting in Swift 5.6. This PR also includes a workaround for clients that are using Swift 5.5. Declare a separate type that conforms to AsyncMainProtocol and add the @main attribute to that type. For example:
@main enum Main: AsyncMain {
    typealias Command = <#command#>
}

AsyncMainProtocol is deprecated for Swift 5.6.
Documentation Plan
There's a new example included (count-lines) that uses AsyncParsableCommand to read lines asynchronously, demonstrating the feature. A new guide for creating asynchronous commands is still TK.
Test Plan
As an entry point, this feature is tested by invoking the built executable via a new test in ArgumentParserExampleTests.
Source Impact
This change requires an upgrade in Swift versions to 5.5, but is otherwise source compatible.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci please test

@swift-ci Please test macOS platform

Shifted our test platform to 5.6 for our async version.  Wanted to let you know that we've been able to considerably simplify our code around swift-argument-parser.  This is looking good, Nate.

@swift-ci Please test

I refactored my App Store Connect API tool with using the async branch and integrating async/await using the async branch of the argument parser was sooooo satisfying. Good job everyone 👍🏼 hope this makes it in the official release soon. It is soo soo great :)
For the interested of you here are some links: twitter.com/Blackjacxxx/status/1411730725393555456

@swift-ci Please test


Immutable Mapping not honoring includeNilValues in some cases

When using an ImmutableMappable, the following method gets called, when trying to serialize an optional object (in the ToJson.swift file)
class func optionalObject<N: BaseMappable>(_ field: N?, map: Map) {
		if let field = field {
			object(field, map: map)
		}
	}

As you see here it is checking if the field is nil, and if it is, it doesn't include it.  This should probably honor the includeNils property on the map, and if it's on, then should serialize a null.

Changing it to this works:
	 class func optionalObject<N: BaseMappable>(_ field: N?, map: Map) { 		if let field = field { 			object(field, map: map)         } else if map.shouldIncludeNilValues {             basicType(NSNull(), map: map)          } }

Yep that was my exact idea for a solution, as well, thanks ya'll!


gh-73: Add the main script to pyproject.toml

Closes issue #73
Typing the following line now directly runs the bot:
poetry run mcodingbot

For technical reasons, I had to move mcodingbot/__main__.py main code to a function, and I believe it's better as it is in this commit.

Do I really have to type a function that takes no args and returns nothing...

I think it should be poetry run bot (imo using the name of the bot in the code is a terrible mistake)

I think it should be poetry run bot (imo using the name of the bot in the code is a terrible mistake)

I just copy-pasted, I understand your statement and will apply as I fix this stupid typechecking issue

mypy still fails typechecking when I run it when nox locally

@Lunarmagpie it passes the checks now

@MithicSpirit @CircuitSacul @Endercheif

lgtm

so we are waiting for endercheif?


Serve JSON API from canonical endpoints

pairs with https://github.com/pypa/warehouse/pull/11546 to serve all possible URLs for JSON API from canonicalized project name as a step towards eventually redirecting non-canonincalized URLs to the canonical ones.

Mostly not confident in my ability to intuit what VCL is going to do without playing with it I mean :)

I feel ya! Without unit tests I'm always scared of Regex's ...

Ope, shoulda shared the fiddle! https://fiddle.fastlydemo.net/fiddle/aef3445f


Fix ownership of deployment before before_deploy hook

If a before_deploy hook has to put files in the deployment directory, ensure it can do so.

Could you rebase it?
I may noticed something clever: doing chown_R right after extraction makes more sense than this patch combined with chown_R after all steps, what do you think about it?
To trig that, I think to after_deploy script that need to chown some files to give some extra access to tiers.

Yeah, extracting as root is probably not the best when we have a restricted deploy user. I added in-line comments for the reasons of the steps and added some info on how to improve this.


Read-only properties

Read-only properties should not be normalized?

Don't think there is read only possibility in json schema ?

Possibly wrong repo again? Swagger supports read-only, not sure about JSON Schema.


Move filter state into Redux

This PR got a too big, but I couldn't figure out a good way to incrementally move the state from ElectronConfig into Redux. The TL;DR of this PR is:

Removed Filter, Filters and LastFilter because the state is now stored via https://github.com/cheshire137/gh-notifications-snoozer/compare/move-filter-to-redux?expand=1#diff-f27775794e657dcf597e48b0c1c74b62

Removed some callbacks that aren't needed anymore

Made sure your filters are copied over to the new state (via the DefaultFilters class)

The behavior of the app should be unchanged.
cc @cheshire137

I resolved the conflicts. However, testing this one out, the same tasks are shown in the tasks list even after I change filters. I would expect to only see tasks for the selected filter.

Thanks for fixing those merge conflicts!
I tracked down the bug for filters not being applied. It is at https://github.com/cheshire137/gh-notifications-snoozer/blob/move-filter-to-redux/src/components/TaskList/TaskList.jsx#L88.
At that point, this.props.activeFilter hasn't been updated to be the filter dispatched in line 87. I assumed it would be. I still need to look deeper into how react-redux works to figure out how to fix this.


Please consider to renumber 0.1.2 to 0.2.0 (= create a new 0.2.0 release) due to type of changes

According to semantic versioning added functionality should increase mnor version number:
'(pdbjjens) New: Optionally display PIN code and limit to 4 digits in config GUI'
is most likely a new fucntionality and not a buf fix

Breaking changes shoudl increase major vrsion number
'(pdbjjens) Change: node>=16, js-contoller>=4 and admin>=5 required'
is for sure breaking. BUT its acceted practise at ioBroker to increase mnor version only in this case.

For sue both changes ra enot only bug fixes, so a minor version increase would be appropiate.
Thanks
mcm1957

Thanks


Provide guidance in poudriere(8) on -v version for jail create -m src=PATH

jail create -m src=PATH requires a version to be specified. I think it's not actually used (but recorded), but in any case the man page does not give a suggestion of what to use (or report that it is indeed arbitrary):
     -v version   Specifies which version of FreeBSD to use in the jail.  If
                  you are using method ftp then the version should in the form
                  of: 9.0-RELEASE.  If you are using method svn then the
                  version should be in the form of svn branches: stable/9 or
                  head for current.

Hmm, for tar= and src=, the value for -v is only for display uses. I'll try to make that more clear.

Need to deal with null and tar formats as well.


major: update package to support v2

BREAKING CHANGE: new v2 API.

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Revert "Revert "re-enable ExitTest""

This reverts commit 1bd231605a341bea7ac841b72be212bb8df12f25.
The internal test error has been addressed.

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,026,850      Total (=)      2,026,850

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,325,182      Total (<)     11,325,188

 No significant differences in binary sizes


error installing windows adk

every time i try to click on select Iso, a script launches to get the windows ADK but never succeed.
error displayed:
ERROR: Unable to find 'C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\Oscdimg\oscdimg.exe'
The install of windows-adk-oscdimg was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\windows-adk-oscdimg\tools\chocolateyinstall.ps1'.
See log for details

Same here... win11 22H2

As far as I can tell this does not seem to be an error with winutil.
if you still think it needs to be looked at I do not think you provided enough information to debug this issue.

Unable to find 'C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\Oscdimg\oscdimg.exe'
Same issue here

Found the issue: its not looking in C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\oscdimg.exe for oscdimg.exe, hence not finding it, when it is installed.

https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install


"SignUp is not permitted for this user pool", How to modify cognito?

When I try the sign-up button, it says "SignUp is not permitted for this user pool".
I have looked at Cognito but I can't find where I need to make a change to allow user sign up, or what to change on the template.
Any tips would be appreciated.
Thanks

I believe the setting should be changed to " AllowAdminCreateUserOnly: false".
Is that the right solution?

Apologies for the delayed response. Yes, you are correct. If you want to make the change after the solution has been deployed, follow these steps:

Go to Cognito console
Select Manage User Pools
Chose the user pool created by the solution
Under General settings change User sign ups allowed? to Allow users to sign themselves up
Save the setting and this should allow your users to sign up.

Please resolve the issue.


Add support for printing the variable 'type' in Markdown.

I thought it would be really useful if it was possible to document the variable type in addition to the existing documentation. So I've added support :)
Currently only markdown supported, but trivial to add to other outputs.

thanks!


start_clp.py start_webui() does not add a docker port binding

Bug
Problem:
The webui inside the clp-webui container can't be reached
Attempts to fix:
Uncommenting and changing the web ui port here does nothing: etc/clp-config.yml
Suggested solution:
Here,
https://github.com/y-scope/clp/blob/94d96d3e09b193d1a4658c79ffad257cbe3cd11d/components/clp-package-utils/clp_package_utils/scripts/start_clp.py#L694
add an equivalent append_docker_port_settings_for_host_ips(), method call just like the other methods already have that also respects the clp-config.yml
CLP version
v0.1.1
Environment
Opensuse Tumbleweed in Win11 WSL starting https://github.com/y-scope/clp/releases/download/v0.1.1/clp-json-ubuntu-focal-x86_64-v0.1.1.tar.gz
Reproduction steps
wget https://github.com/y-scope/clp/releases/download/v0.1.1/clp-json-ubuntu-focal-x86_64-v0.1.1.tar.gz
tar xvfz https://github.com/y-scope/clp/releases/download/v0.1.1/clp-json-ubuntu-focal-x86_64-v0.1.1.tar.gz
cd clp-json-ubuntu-focal-x86_64-v0.1.1/sbin
./start-clp.sh

Hey @Meai ,
Thanks for the issue report.
Reference steps
We tried clean installing OpenSUSE Tumbleweed in Win11 WSL and was able to configure the WebUI port, run the clp-package as a non-root user, and access the WebUI on the desired port in a browser. Here's what we did:

Install OpenSUSE Tumbleweed from Microsoft Store.
Open "OpenSUSE Tumbleweed" and went through the initialization wizard with a password set.
Due to by default sysmtemd isnot enabled for OpenSUSE Tumbleweed WSL which docker requires, enable systemd by editing (adding) a WSL config file /etc/wsl.conf:[boot]
systemd=true

sudo zypper install python3 docker docker-compose docker-compose-switch

# To enable current non-root user to use docker
sudo usermod -G docker -a $USER

# Log in to the docker group
newgrp docker

# Restart the docker daemon
sudo systemctl restart docker

wget https://github.com/y-scope/clp/releases/download/v0.1.1/clp-json-ubuntu-focal-x86_64-v0.1.1.tar.gz
tar xvf clp-json-ubuntu-focal-x86_64-v0.1.1.tar.gz

Change the webui port in clp-json-ubuntu-focal-x86_64-v0.1.1/etc/clp-config.yml to 4010. e.g.,# Note we have to uncomment the whole webui section
webui:
    host: "localhost"
    port: 4010
    logging_level: "INFO"

Launch the CLP pakacge.cd clp-json-ubuntu-focal-x86_64-v0.1.1/sbin
./start-clp.sh

Access http://localhost:4010 from Microsoft Edge (a Chromium-based browser) and was able to see the webui:

Debugging
If with above steps you're still observing the failure to launch webui on a desired port, to help us better understand the issue, may I ask you to provide the following:

The clp-json-ubuntu-focal-x86_64-v0.1.1/etc/clp-config.yml.
Just in case you haven't, kindly check if docker run --rm hello-world (without sudo or root) is reporting any error.
After you start clp-json-ubuntu-focal-x86_64-v0.1.1/sbin/start-clp.sh,

The output of docker ps which shows you a list of running containers.
Could you also tar the CLP package logs and send it as a attachment to a response on this thread or<EMAIL_ADDRESS>e.g.,

tar czf clp-focal-logs-479-240713.tar.gz ./clp-json-ubuntu-focal-x86_64-v0.1.1/var/log

Many thanks in advance!

Okay, I was very surprised that this worked for you and after more debugging I finally found the right clue. It seems that --network host does not work by default on Docker Desktop for Windows and I had to update to the latest version and enable it first:

You must have enabled this at some point earlier I guess? But good to know this now.

Okay, I was very surprised that this worked for you and after more debugging I finally found the right clue. It seems that --network host does not work by default on Docker Desktop for Windows and I had to update to the latest version and enable it first:
You must have enabled this at some point earlier I guess? But good to know this now. Sadly I only got any kind of warning log when I tried to add the -p 4010:4010 manually to the .py file and attempted to start.

Ah. In my steps, the docker installation was purely done within the WSL terminal (without Docker Desktop), which might explain the configuration differences. We will have the docs updated in the future to better help everyone. Many thanks for quickly getting back to us and sharing the solution!


Strip scores of non-digit characters (e.g. "V5," -> 5)

Strip scores of non-digit characters (e.g. "V5," -> 5)

From 0007.


Update BorderBoxComponent to use SlotsV2

Could you update the PR body (and maybe the changelog entry) to show the before and after to it's easier to find?


[SQL] perfect MySQL create index grammar

What would you like to be added:
Why is this needed:
https://dev.mysql.com/doc/refman/8.0/en/create-index.html

pls assign it to me :)


[Feature][Tool] Support multi-version flinks in inlong-dev-toolkit

Description
./inlong-tools/dev/inlong-dev-toolkit.sh m
Execute action: manager
# start build manager local debugging environment ...
current_version: 1.13.0-SNAPSHOT
associate plugins directory: inlong-manager/manager-plugins/target/plugins
associate sort dist: inlong-sort/sort-dist/target/sort-dist
recreate connector dir: /Users/averyzhang/workspace/os/feat-inlong/inlong-sort/connectors
grep: /Users/averyzhang/workspace/os/feat-inlong/inlong-sort/sort-connectors/pom.xml: No such file or directory
All connector names:
build dev env of manager finished .
Have a nice day, bye!

Because the dependencies of sort-connectors are changed, toolkit can not find accurate pom.xml file.
Use case
No response
Are you willing to submit PR?

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

Code of Conduct

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

@featzhang can you assign it to me, thanks


Failing FGDB

Sorry to trouble. Have been beating my head against this unwieldy fgdb for a few hours now.  The tablex function denotes it having far too many records... the previous 8 bytes make sense though...just not the len var. no relates, no feature dataset etc. just polygons...
https://github.com/sainsb/fileGDB.js/blob/master/test/not_working.gdb.zip
no big deal if you don't have time...thanks

hm I wonder if it's a different version, I know there are a couple

thanks man. Arc says it's 10.2 gen.  Will keep chipping away at it.
On Mon, Aug 3, 2015 at 5:39 AM, Calvin Metcalf<EMAIL_ADDRESS>wrote:

hm I wonder if it's a different version, I know there are a couple
—
Reply to this email directly or view it on GitHub
https://github.com/calvinmetcalf/fileGDB.js/issues/8#issuecomment-127219309
.


Increase default scan_interval

Due to the known lock-up behavior of many Modern Forms fans (see: issue #3 for example), increased polling interval prolongs the fan reachability (sadly, still coupled with my reboot hack). Since this issue does not seem to be going away, increasing scan_interval may be prudent course of action (potentially coupled with the improvement proposed in issue #8).
Proposed value: 60 seconds.

This was changed in PR #14 .


vertical alignement

Bug, feature request, or proposal:
md-select and md-form-field are not aligned vertically in the same row
md-select is under md-form-field .
What is the expected behavior?
form component align on the same line
What is the current behavior?
offset between md-select and md-form-field
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
chome +firefox
node: 6.9.4
os: linux x64
@angular/animations: 4.3.6
@angular/cdk: 2.0.0-beta.10
@angular/common: 4.3.6
@angular/compiler: 4.3.6
@angular/core: 4.3.6
@angular/flex-layout: 2.0.0-beta.9
@angular/forms: 4.3.6
@angular/http: 4.3.6
@angular/material: 2.0.0-beta.10
@angular/platform-browser: 4.3.6
@angular/platform-browser-dynamic: 4.3.6
@angular/router: 4.3.6
@angular/cli: 1.2.4
@angular/compiler-cli: 4.3.6
@angular/language-service: 4.3.6
Is there anything else we should know?

Please add a Plunker to reproduce the issue. I don't think it is an issue afaik.

This is fixed in beta 11 https://github.com/angular/material2/pull/6488

Closed as this was fixed with #6488


Convert to Caddy 0.9 plugin format

According to: https://github.com/mholt/caddy/wiki/Converting-Add-ons-to-Plugins
This was just a quick edit from the GitHub website, you should make sure this compiles. ;) Also don't forget to change any references in other files, I didn't get them all here.

Oh and I forgot to register the plugin, add this to your config.go file:
func init() {
	caddy.RegisterPlugin("jwt", caddy.Plugin{
		ServerType: "http",
		Action:     Setup,
	})
}

@BTBurke Once Caddy 0.9 is released, I will not be able to include this plugin on the download page until the plugin is updated to work with Caddy 0.9. 😞 (Sorry again about the breaking change.)

Ok. I'll work on it as soon as I can.

On Jun 30, 2016, at 10:10 AM, Matt Holt<EMAIL_ADDRESS>wrote:
@BTBurke Once Caddy 0.9 is released, I will not be able to include this plugin on the download page until the plugin is updated to work with Caddy 0.9. 😞 (Sorry again about the breaking change.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

#10 is better / more thorough!


Hover transition, active group color, dropdown icon, and property renaming Issues on the horizontal menu

Description:
Several issues have been identified with the menu group items and their corresponding hover and active states:

Inconsistent Hover Transition:
The hover effect on group items transitions smoothly. However, the color change is slow and noticeable when hovering over an individual menu.

Steps to Reproduce:

Hover over individual menu items and observe the transition effect.
Hover over a menu group and compare the transition effect.
Check for any visual distinction between individual and group items in the menu.

Expected Behavior: Hover color transitions should be consistent across individual items and entire menu groups.

Active/Selected Style Not Working:
The active item color, background, and Style On Selected are no longer working on both individual and group menus. Instead, they are applied to the sub-menu when you hover.

Steps to Reproduce:

Configure the Active Item color and Active Background Color, or return the background color or any CSS property using Style on the selected.
Save and render.
Click on any menu item.
Observe that the configured colors are not applied.

Expected Behavior: The configured active item color and background should be correctly applied to the active group and individual menu.

Missing Dropdown Icon for Group Menu Items:
There is currently no way to visually differentiate between individual items and group items on the menu.

Expected Behavior: A dropdown icon should be added to group menu items for a better user experience.

Property Renaming:
The property "Style On Selected" should align with the properties "Active Item Color" and "Active Item Background." Either the two properties should be renamed "Selected Item Color" and "Selected Item Background," or the property "Style On Selected" should be renamed to "Style On Active."

Expected Change: The properties should be renamed accordingly.

URL: Link to public portal

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

The selected style for the active group wasn't implemented, as @Lukeybooi stated it’s not achievable.


Add from_image support

Previously from_image implementation was missing. After this fix https://github.com/chef/chef-provisioning/pull/366 this implementation is possible now.
Fixes https://github.com/chef/chef-provisioning-aws/issues/193
@tyler-ball please take a look. Spec is green, I've also tested manually :) Would love to see it merged and 1.4 released soon.

One manual test before we merge this.  Can you check through the console and make sure the 'test_machine_ami' image got deleted after the test finished?

Hmm, nope, test_image_ami was not removed. How can I do it?

@tyler-ball Nevermind, I figured it out. Now it removes AMI after test as expected.

Thanks for the awesome work @Fodoj !

Thanks for reviewing and merging this stuff :+1:


DM-38813: Only skip libradtran test if it's unavailable

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+3.8%) to 87.841%

Files with Coverage Reduction
New Missed Lines
%

spectractor/extractor/spectrum.py
1
91.84%

Totals

Change from base Build<PHONE_NUMBER>:
3.8%

Covered Lines:
7203

Relevant Lines:
8200

💛  - Coveralls


@Share doesn't save values for pseudo mixins on Neoforge

The exact mixin in question: https://github.com/kikugie/elytra-trims/blob/kotlin/src/main/java/dev/kikugie/elytratrims/mixin/compat/render/ElytraSlotMixin.java
Building the mod without the ElytraSlot jar in the classpath results in a broken mixin, where the @Share value is not written.
With ElytraSlot added by modCompileOnly and no changes to the mixin class, the built mixin works.
This issue is exclusive to Neoforge from my testing, as the same mixin works fine on Fabric.
Bytecode of the broken mixin class:
ElytraSlotMixinBroken.txt
Bytecode of the working mixin class:
ElytraSlotMixinWorking.txt
Source .class files and jars:
Samples.zip

Can you send the exported target class with the "broken" mixin?

ElytraSlotLayer.zip

Try explicitly specifying the full lambda descriptor in your mixin

Closing due to inactivity + I don't think it's related to mixinextras in the first place. Feel free to reopen with more information if you disagree.


Example program not compiling [androidx-migration]

I've followed all of the migration procedures outlined by the link in the error message and am still having issue compiling the example Android program.
Is there a workaround?

The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.

I ran
git clone https://github.com/pauldemarco/flutter_blue.git
cd flutter_blue\example
then
flutter run
and I'm getting the package androidx.core.app does not exist error
Shouldn't the latest have the project migrated to androidx and run?

I had the same problem, so I opened the "android" folder with Android Studio and on the lines that was giving problem and hit alt + enter, so Android Studio suggested putting depedence on the project, after that the project compiled, I don't know if it was the right approach, but it worked.

The issue is still open, as you can see.

I think we are all having the same problem, does anyone know any other example we can test just to get in touch with the funcionality of the library?

@borisllona I've been following "That Project"'s video projects of BLE Flutter development. His BLE Joypad example has been a useful place for me to start. It complies on my machine without any problems.
https://github.com/0015/IdeasNProjects
https://www.youtube.com/watch?v=fQz7aajslJc&t=876s

@borisllona I've been following "That Project"'s video projects of BLE Flutter development. His BLE Joypad example has been a useful place for me to start. It complies on my machine without any problems.
https://github.com/0015/IdeasNProjects
https://www.youtube.com/watch?v=fQz7aajslJc&t=876s

Usefull ! Thanks mate.

These compilation bugs are very dev-environment dependent, stop into the discord if you'd like some help getting up and running.

I worked with a developer for a bit today that was having this issue; the solution is to use the latest version of flutter and update your project files.
Again, the following instructions might help, but if not, join the discord for some troubleshooting:
flutter channel master
flutter upgrade
flutter doctor -v

Make sure you are using at least Flutter version 1.10.15
Navigate to your project's folder:
rm -rf android
flutter create .

Change minSdkVersion to 19 in android/app/build.gradle:
defaultConfig {
        ...
        minSdkVersion 19
        ...
}

The project should now successfully compile:
flutter clean
flutter build apk

@pauldemarco
thanks for the instructions but using flutter channel master can be dangerous as the matter of fact not all plugins used in an application may be compatible with master channel which is not raccomanded to be uses in a production stage

I tried the solution @pauldemarco suggested on recommendation from @tomcatvr (Issue #434 ) and it would not work. I was able to change channel to master but when I tried to upgrade I got the error:
"Because flutter_tools depends on build_runner >=1.7.2 which requires SDK version >=2.6.0-dev.8.0 <3.0.0, version solving failed.
Error (1): Unable to 'pub upgrade' flutter tool. Retrying in five seconds.."
Now when I try and run my project I get tons of errors like the following: "../../Downloads/flutter_windows_v1.9.1+hotfix.6-stable/flutter/packages/flutter/lib/src/services/text_editing.dart:13:29: Error: Type 'TextRange' not found.
class TextSelection extends TextRange {"
I tried to revert back to v1.10.16 and I get a similar error from above:
"Because flutter_tools depends on build_runner >=1.7.2 which requires SDK version >=2.6.0-dev.8.0 <3.0.0, version solving failed.
Error (1): Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (7 tries left)"
Seems like I got myself stuck. Anyone know how to get Flutter Blue working and how to get myself back into a working state?

I have this error on

flutter_blue: ^0.6.3+1
flutter: 1.9.1+hotfix.6

C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_blue-0.6.3+1\android\src\main\java\com\pauldemarco\flutter_blue\FlutterBluePlugin.java:43: error: package androidx.core.app does not exist
import androidx.core.app.ActivityCompat;
                        ^
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_blue-0.6.3+1\android\src\main\java\com\pauldemarco\flutter_blue\FlutterBluePlugin.java:44: error: package androidx.core.content does not exist
import androidx.core.content.ContextCompat;
                            ^
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_blue-0.6.3+1\android\src\main\java\com\pauldemarco\flutter_blue\FlutterBluePlugin.java:150: error: cannot find symbol
                if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
                    ^
  symbol:   variable ContextCompat
  location: class FlutterBluePlugin
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_blue-0.6.3+1\android\src\main\java\com\pauldemarco\flutter_blue\FlutterBluePlugin.java:152: error: cannot find symbol
                    ActivityCompat.requestPermissions(
                    ^
  symbol:   variable ActivityCompat
  location: class FlutterBluePlugin
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_blue-0.6.3+1\android\src\main\java\com\pauldemarco\flutter_blue\FlutterBluePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\lucas\AndroidStudioProjects\flutter_app_with_ble\build\flutter_blue\generated\source\proto\debug\javalite\com\pauldemarco\flutter_blue\Protos.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.
*******************************************************************************************
Finished with error: Gradle task assembleDebug failed with exit code 1

Latest stable and I can not build the example:
Launching lib\main.dart on moto g 7 in debug mode...
[!] Your app isn't using AndroidX.
    To avoid potential build failures, you can quickly migrate your app by following the steps on https://goo.gl/CP92wY.
Running Gradle task 'assembleDebug'...
C:\Users\ride4\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\4f7ab4c6fa2922a87fc36a5d679eb841\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.

C:\Users\ride4\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\4f7ab4c6fa2922a87fc36a5d679eb841\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/ttcIndex not found.

C:\Projects\flutter_blue\example\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:84: error: resource android:attr/fontVariationSettings not found.
C:\Projects\flutter_blue\example\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:84: error: resource android:attr/ttcIndex not found.
error: failed linking references.

Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
	at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
	at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
	at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
	at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
	at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
	at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
	at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
	... 53 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
	at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
	at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:463)
	at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:415)
	at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
	at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 29s
AndroidX incompatibilities may have caused this build to fail. Please migrate your app to AndroidX. See https://goo.gl/CP92wY.
Finished with error: Gradle task assembleDebug failed with exit code 1

Flutter blue will now be pinned to the latest stable release of flutter.
If your project’s template files are up to date, there should be no issues when building for Android or iOS.
Please reopen this issue if that’s not the case.


[analyzer] For augmented libraries is it possible to report error where it textually occurs?

The test https://github.com/dart-lang/co19/blob/master/LanguageFeatures/Augmentation-libraries/augmenting_types_A07_t09.dart has this issue. Shortly.
// augmenting_types_A07_t09.dart

// SharedOptions=--enable-experiment=macros

import augment 'augmenting_types_A07_t09_lib.dart';

abstract interface class I {
  String foo();
}

mixin M {
  int foo() => 42;
}

abstract class C2 with M {} // Error is reported here

main() {
  print(C2);
}

// augmenting_types_A07_t09_lib.dart

// SharedOptions=--enable-experiment=macros

augment library 'augmenting_types_A07_t09.dart';

augment abstract class C2 implements I {} // No expected error here
//                     ^^
// [analyzer] unspecified
// [cfe] unspecified

If possible I'd be better to report error where it occurs textually.
cc @eernstg

I would expect that this program should get a treatment which is equivalent to the treatment given to the merged result. After augmentation merging' augmenting_types_A07_t09.dart would have the following contents (omitting comments):
abstract interface class I {
  String foo();
}

mixin M {
  int foo() => 42;
}

abstract class C2 with M implements I {}

main() {
  print(C2);
}

For the class C2, the computation of a combined member signature for foo fails, and C2 does not override foo, and hence we get a compile-time error.
In the merged program we get that error at the name C2 in the declaration of C2. This is probably what we want: An error which is caused by C2 having the two superinterfaces M and I simultaneously and thus bringing together two member signatures is an error of C2, not an error of M or I or any declaration of foo.
If I understand correctly then the analyzer also reports this error on a declaring occurrence of the name C2, and even on the augmenting declaration that causes the declaration of C2 to switch over from being OK to being an error.
So I'm not sure where it would be, but is there a better textual location where this error could be reported?

If I understand correctly then the analyzer also reports this error on a declaring occurrence of the name C2

Yes, it does. But error occurs after augmentation adds implements I to class C2. IMHO I'd be nice to report an error in an augmentation library. abstract class C2 with M {} itself has no error, problems begin after applying of the augmented library.

We probably do want some "valid interface" checking at each augmentation.
After an augmentation has been applied, the result must have a consistent valid interface. It may not have implementations for everything, that'll be checked at the end, but the augment C2 implements I introduces a super-interface which doesn't combine with the existing super-interface, making it impossible to say what the signature of foo is for C2 after that augmentation. That should be an error, and preferably at that point.
(If the same augmentation introduced Never foo() => throw "ever";, there would be no problem, because C2 would have that signature. But it must have some valid signature for each member after each augmentation, even if it means recalculating the combined super-interface signatures each time a new interface is added.)


[FEATURE REQUEST] - Add Dynamic collection in toml conf

Hey,
It is not possible to configure in toml file the collect-backups, collect-extensions, collect-words.
Thanks 😄

they'll need an underscore in the config

collect_backups
collect_extensions
collect_words

the example config is a good reference for config names/values

My bad ! I did not see the new config file ...
Thanks @epi052 👍


AssignAtomChiralTagsFromStructure ignores Hydrogens

Describe the bug
AssignAtomChiralTagsFromStructure ignores hydrogens (present in the underlying graph and 3D coordinates). Replacement of hydrogen with a halogen results in desired behavior. If any of the attached atoms is a hydrogen, chiral perception is skipped.
To Reproduce
Steps to reproduce the behavior, feel free to paste a bit of Python in here.
from rdkit import Chem
from rdkit.Chem import AllChem

print("Fs")
mol_a = Chem.MolFromSmiles("C(F)(F)(F)F")
AllChem.EmbedMolecule(mol_a)
Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol_a)
for atom in mol_a.GetAtoms():
    print(atom.GetSymbol(), atom.GetChiralTag())

print("Hs")
mol_a = Chem.AddHs(Chem.MolFromSmiles("C"))
AllChem.EmbedMolecule(mol_a)
Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol_a)
for atom in mol_a.GetAtoms():
    print(atom.GetSymbol(), atom.GetChiralTag())

print("first H replaced with F")
for atom in mol_a.GetAtoms():
    if atom.GetIdx() == 1:
        atom.SetAtomicNum(9)
Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol_a)
for atom in mol_a.GetAtoms():
    print(atom.GetSymbol(), atom.GetChiralTag())

print("all Hs replaced with F")
for atom in mol_a.GetAtoms():
    if atom.GetIdx() > 0:
        atom.SetAtomicNum(9)
Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol_a)
for atom in mol_a.GetAtoms():
    print(atom.GetSymbol(), atom.GetChiralTag())

Output:
Fs
C CHI_TETRAHEDRAL_CW
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED
Hs
C CHI_UNSPECIFIED
H CHI_UNSPECIFIED
H CHI_UNSPECIFIED
H CHI_UNSPECIFIED
H CHI_UNSPECIFIED
first H replaced with F
C CHI_UNSPECIFIED
F CHI_UNSPECIFIED
H CHI_UNSPECIFIED
H CHI_UNSPECIFIED
H CHI_UNSPECIFIED
all Hs replaced with F
C CHI_TETRAHEDRAL_CCW
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED
F CHI_UNSPECIFIED

Expected behavior
Hs
C CHI_UNSPECIFIED should always have a chiral tag

Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

RDKit version: 2021.03.1
OS: OSX
Python version (if relevant): 3.7
Are you using conda? yes
If you are using conda, which channel did you install the rdkit from? conda-forge
If you are not using conda: how did you install the RDKit?

Additional context
The offending line is here:
https://github.com/rdkit/rdkit/blob/ca5d470b48bf95f2cbffd290f5ac82fbd8115700/Code/GraphMol/Chirality.cpp#L2238
Which skips chiral checks if there are any hydrogens attached.

Was there a particular rationale for excluding hydrogens to begin with?

Was there a particular rationale for excluding hydrogens to begin with?

Nope. That was just an inappropriate optimization.


Disable autoTweet, fetchTweetEngagement

Now that the Twitter API is obscenely, offensively expensive

[ ] Add a way to configure a twitter handle and yet also not deploy fetchTweetEngagement and autoTweet


fix: make all events in camelCase

Fixes https://github.com/zurb/foundation-sites/issues/10155

This will be a breaking change in 6.4.4.

Be consistent in the event naming is good, but not enough useful to be a breaking change, not in a pre-v7 version.
-- https://github.com/zurb/foundation-sites/issues/10155#issuecomment-367248848

Also there should be no breaking change in patch versions (v6.4.4). So at least v6.5.0 but I'm not sure this is useful.

The docs and event names should be consistent then when this would be merged as we use camelCase for all other components. Not yet sure if already in 6.5 or 7.

This branch has conflicts that must be resolved

camelcase the event names of the dropdownMenu, offCanvas and smoothScroll

Aren't all events in camelCase now ?

Aren't all events in camelCase now ?

Not sure what you mean. https://github.com/zurb/foundation-sites/issues/10155#issuecomment-368420674

I mean: the PR can be simply called make all events in camelCase if so.

remove spaces

Please always commit with a context (like style: remove useless spaces in offCanvas) to avoid polluting the git history.

I mean: the PR can be simply called make all events in camelCase if so.

A now it made 'click'.

Please always commit with a context (like style: remove useless spaces in offCanvas) to avoid polluting the git history.

Ok. Will write them down again tomorrow. Will keep this in mind for the next commit / PR.


Business validations

Objective
Include in this project various validators referring to universal business rules.

What's CNPJ and CPF?

identification documents from Brazil


Fix getActivityById uri

Update GET /activities to GET /activities/{id}
As the id param is expected to be in the path
Fixes #74

I've moved the code a bit further, so git does not confuse the changes.
I just extracted de getActivityById from /activities tree and created a new /activities/{id} branch in the JSON.
cc @mindy-stivers

@mindy-stivers you're rigth! shame on me :man_facepalming:
I've moved the put request into the /activity/{id} path.


[web-bluetooth device-info] Handle short 16- and 32-bit form

This will be useful for developers who use a lot of custom service UUIDs like me ;)
R= @jeffposnick

@jeffposnick (gentle ping)

I was going to say that maybe you could just unconditionally call parseInt(), and then I looked up what the spec says about that parameter—it can be a 16- or 32-bit integer, or a UUID string, or an assigned service string, or... some other type of string? That's a funky API!
So anyway, :+1:


Carthage support removed?

Hello, I think you guys added Carthage support a few months ago, I just ran carthage update and it wouldn't build MDProgressHUD. Are you aware of this?
*** Skipped building MBProgressHUD due to the error:
Dependency "MBProgressHUD" has no shared framework schemes for any of the platforms: iOS

If you believe this to be an error, please file an issue with the maintainers at https://github.com/jdg/MBProgressHUD/issues/new

Hm.. perhaps something went wrong wile merging the 1.0 branch. But the previous tags should not be affected. Never used cartage, so I can't help much. Perhaps @aral or @tomco can help. They worked on this.

Using github "jdg/MBProgressHUD" "2107d0d6a32b508153c8b7fc57d33b661a595533" (latest commit on master) works fine, also github "jdg/MBProgressHUD" == 0.9.2. Not sure what the problem is…
@danielphillips how did you define your dependency inside your Cartfile?

My Cartfile didn't specify a tag or branch. I've added that now after I saw some recent work in the repo.
github "jdg/MBProgressHUD" "0.9.2"


cv::cuda::reduce to row and to col produce row vectors

cv::cuda::redeuce's documentation states that:
Dimension index along which the matrix is reduced. 0 means that the matrix is reduced to a single row. 1 means that the matrix is reduced to a single column.
However that is not correct.  As can be seen here for both gridReduceToRow and gridReduceToCol, a row vector is created.

I will work on this.

A row vector is used to create contiguous matrix, so that 1D indexing can be used.


refacto: expose output layer for gemma models

Context
What is the purpose of this PR? Is it to

[ ] add a new feature
[ ] fix a bug
[ ] update tests and/or documentation
[ x] minor re-factorization proposal

Changelog
This PR proposes a minor change to GemmaTransformerDecoder module.
The goal is to make the Gemma architecture closer to the LLama architecture, the idea is simply to expose an output layer by creating a ReversibleEmbedding module which performs the linear transformation from hidden representation to final vocabulary using the embeddings weights.
This does not change anything for the current proposed recipes which aim to finetune a model to predict the next words. However, being able to access (and bypass) this ReversibleEmbedding layer is very useful when trying to finetune a model on other tasks (token classification, sentence classification etc...), otherwise the hidden states are inaccessible with the current implementation.
As this is a very minor change, I don't know what should be the test plan. I am happy to discuss whether this change is worth being merged or not.
Test plan
Please make sure to do each of the following if applicable to your PR. (If you're not sure about any one of these just ask and we will happily help.)

[ ] run pre-commit hooks and linters (make sure you've first installed via pre-commit install)
[ ] add unit tests for any new functionality
[ ] update docstrings for any new or updated methods or classes
[ ] run unit tests via pytest tests
[ ] run recipe tests via pytest tests -m integration_test
[ ] manually run any new or modified recipes with sufficient proof of correctness

[ ] include relevant commands and any other artifacts in this summary (pastes of loss curves, eval results, etc.)

Thanks for this PR! You are right that Gemma does not expose the output projection in the transformer decoder, which makes it hards to replace it with a linear classifier (as in the mistral classifier in this PR).
I think you may need to go a step further and see how you can use the TransformerDecoder class for Gemma and scrap GemmaTransformerDecoder altogether. So, instead of using a normal nn.Linear in the output proj like llama3 does in the builder, you could use your ReversibleEmbedding which just does F.linear. Since it doesn't contain any parameters, it should not affect checkpoint loading, but would be good to check...
For testing, I would suggest just running the gemma recipe before your change and after your change and make the sure the loss values look reasonably close. Since you're changing the output layer we should confirm that forward, backward, checkpoint loading, etc all still work the same. In general, we still need to add more testing for Gemma in the CI to make these changes easier to test.

So I think this is a tricky change. To add on to what @RdoubleA said, Gemma ties the output projection weight to the token embedding weight. Normally the thing to do here would be build all the usual components and set e.g. model.output.weight = model.tok_embeddings.weight. However, for distributed recipes this won't work, because to_empty (as used here in our full finetune recipe) will create a new tensor object and break the weight tie.
So a couple questions on this change:

Can you confirm that adding the ReversibleEmbeddingLayer will not result in the same problem where we break the weight tying? I know it is not adding any new parameters, but given that to_empty operates on nn.Modules and you are adding a new nn.Module to the model I want to be sure here.
I don't fully understand the goal of parametrizing the output projection like this. If Gemma ties the embedding weights to the output projection weights and we break that tie then we don't really have a Gemma architecture anymore. If we instead want to initialize a model with the pretrained Gemma weights but learn a new output projection, why not just create a new checkpoint with randomly-initialized output projection and load it into e.g. a llama2-style builder?

Also I don't think we should try to integrate into the TransformerDecoder class (at least in the form presented here). The reason is that it will require changing the signature of the output layer here for something that is pretty specific to Gemma (although please let me know if there is a way around this that I'm missing here).

Thank you for your feedback!
This is probably not the best approach then!

@Optimox let us know how we can help out with what you're trying to achieve!

I am just trying to access hidden states more easily, to finetune any model with different heads (for classification, regression etc...). My quick fix is enough for me at the moment, I just wanted to share this approach as I'm sure I will not be the only one willing to finetune a Gemma model for a different task than next token generation.


pull request for e2e test at 02/01/2017 23:56:12

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


useful features

[x] batch/asyncBatch: it takes a number and an iterable (you can curry) it returns batches:

batch(2, [1, 2, 3, 4, 5, 6, 7, 8, 9])
// [[1, 2], [3, 4], [5, 6], [7, 8], [9]]

[x] asyncThrottle: it takes a time in ms and ensure to emit an item every ms (not less)
[x] asyncMapBatches: it takes a number, a function and an iterable: it batches the iterable, run the map and Promise.All, it flatten the output
[x] consume/consumeAsync consume an iterable, runs a function
[ ] toArray/asyncToArray (alias for Array.from/asyncIterToArray)
[ ] flat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat

I decided to not implement flat as not really obvious for the user what it does. flattening arrays of arrays? what about iterables of iterables? etc.
Also I am not sure if it can be any useful


feat: my Account menu navigation grouping

PR Type
[x] Feature
What Is the Current Behavior?
Menu navigation in My Account page is currently displayed as a plain listing without any hierarchy/grouping.
What Is the New Behavior?
Menu navigation in My Account page will display group wise for B2B similar to the Responsive Starter Store.
The plain listing is kept for the B2C theme.

Does this PR Introduce a Breaking Change?
[x] Yes
Changed NavigationItem data structure and handling (see migration notes).
Other Information
AB#81337

It would be good if the first menu item is always expanded after the user logged in. This might help the user to see that there are more options in the menu than he can see at first glance.
If the menu is collapsed lines are missing between the navigation items.

@iwiederhold @schadii Please review the changed Account Navigation if it meets your ideas. Please consider and answer the issues Silke addressed in her review. Styling was already discussed, so the missing lines are currently intended, but could be changed if necessary. Especially the partitioning should probably be discussed. Thank you.

The logout link has been moved from the top to the button. If the organization menu is open it looks like an organization item ?

Why is payment under MyOrganization. Aren't payment instruments, like credit cards etc. specific to the user?

The My Organization menu item is empty for a punchout user and should not be visible.


No support for the process required to request service account id tokens from Google.

I'm not sure if getting id tokens from Google is in the scope of this library but it seems like maybe it is. There is documentation on how to get id tokens for gcp service accounts in other environments here. My AppMaker app needed to make a request to a service that is behind an Identity-Aware Proxy and I thought there would be some way to get this library to do what I wanted. After spending sometime sifting through the examples in the documentation I linked earlier and the source for this project I'm fairly confident that getting the id tokens for service accounts is not supported. I ended up using the source from this project as inspiration to implement fetching an id token myself. I think it would be useful if this library could support getting those tokens for service accounts.
My implementation is rough, the credential variable is the private service account JSON that's given to you when you create a service account in GCP. Here's what my implementation looks like:
function getServiceAccountCredential_() {
  var key = "service-cred";
  var props = PropertiesService.getScriptProperties();
  var credString = props.getProperty(key);

  if (!credString) {
    throw new Error("Couldn't find service account credential in script properties using key: " + key);
  }

  var cred = JSON.parse(credString);
  return cred;
}

function createJwt_(cred) {
  var header = {
    alg: 'RS256',
    typ: 'JWT',
    kid: cred["private_key_id"]
  };
  var now = new Date();
  var expires = new Date(now.getTime());
  expires.setMinutes(expires.getMinutes() + 60);
  var claimSet = {
    iss: cred["client_email"],
    sub: cred["client_email"],
    aud: cred["token_uri"],
    exp: Math.round(expires.getTime() / 1000),
    iat: Math.round(now.getTime() / 1000),
    target_audience: "105555555555-kdumbekekekdjdjfhaasdfaadsfke.apps.googleusercontent.com",
  };

  var toSign = Utilities.base64EncodeWebSafe(JSON.stringify(header)) + '.' +
      Utilities.base64EncodeWebSafe(JSON.stringify(claimSet));
  var signatureBytes =
      Utilities.computeRsaSha256Signature(toSign, cred["private_key"]);
  var signature = Utilities.base64EncodeWebSafe(signatureBytes);
  return toSign + '.' + signature;
}

function fetchIdToken_() {
  var cred = getServiceAccountCredential_();
  var jwt = createJwt_(cred);
  var payload = {
    assertion: jwt,
    grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer'
  };

  var headers = {
    'Accept': 'application/json'
  };

  var resp = UrlFetchApp.fetch(cred['token_uri'], {
    method: 'post',
    headers: headers,
    payload: payload,
    muteHttpExceptions: true
  });

  try {
    var token = JSON.parse(resp.getContentText());
    return token["id_token"];
  } catch (e) {
    throw new Error('Token response not valid JSON: ' + e);
  }
}

Thanks for sharing! It seems like we could build this into the library by adding a setAdditionalClaims() method to the Service class, that allowed you to set the target_audience claim:
  .setAdditionalClaims({
    target_audience: CLIENT_ID
  })

Then you could get the ID token using existing methods:
if (service.hasAccess()) {
  return service.getToken().id_token;
}

Would you be up for putting together a pull request to add this feature?

Sure, I can invest some time over the holidays.


Slot generator needs to remove quotes

Not allowed by Amazon

What about when a single quote is used for possessives?
If it helps I started trying to work out a way to detect and keep apostrophes when used for possessives. This was before the recent changes (adding a 'sanitize_name' function) to accommodate the German translations. It was getting too messy so I stopped working it
Here is the regex I was working on
https://regex101.com/r/NsK8ym/1
Some relevant SO discussions :
http://stackoverflow.com/questions/5515340/regex-to-allow-apostrophe-only-in-words-ending-with-s
http://stackoverflow.com/questions/2596893/regex-to-match-words-and-those-with-an-apostrophe

This only applies to double quotes, I thought?

The usual hazy docs suggest no punctuation at all, apart from the special cases listed in Rules for Sample Utterances.
e.g. Full stops (or periods) can be used to identify an acronym e.g. b. b. c.
I am not sure if it causes problems, or if it does, shouldn't fuzzy matching handle such issues once that kicks in?

Oh I see. Yeah it does say no apostrophes except for possessives.
I doubt it would actually cause matches to fail, but we might still want to adhere to the rules.

It probably would work with possessives if we just removed all quotes, rather than trying to trim them smartly.. but it'd require some testing.

I'd say move forward just removing single and double quotes.

Resolved on flask-ask branch.


Add configuration for LGTM.com

Everything besides the build-dependency autoconf-archive gets
automatically detected.

Should I be seeing a LGTM check in the automated pipeline as a result of this?

No, that would probably require granting the LGTM.com GitHub-plugin some access on the repository.
But LGTM.com can analyse the project without any GitHub interaction just fine, only the analysis currently fails without a manual configuration, cause it is unable to detect the autoconf-archive dependency of the valgrind configure macros.

So in order to view the results of the analysis, we'd have to go to LGTM.com?

If enabling a plugin in GitHub is needed to make this more useful, let me know and I can look into it. I'd prefer to to allow any kind of write access from LGTM though. Not sure what priviledges it requires.

Yes, I am unaware of any email notification system.

I'd say go for it @stevedlawrence.  Seems like it would be a useful addition to our CI pipeline.

I assume you meant disallow write access.  I agree with that.  On a quick scan of the docs, it looks like it only needs read though.

Yep, i meant disallow. Agreed, permissions don't seem unreasonable. I've added the app to the selint repo. It think it should start showing up in new PR checks now.


Possible to switch from continuous to bucketed choropleth legend?

The maps might be easier to read if the color-coding on the maps were a set of levels rather than a continuous range. So, right now, the legend is like:

But a recent reviewer said it might be easier to read if the colors were sorted into discrete buckets, like:

(although of course using the same color scheme we already have).
I've discussed this with Aru, who agrees. Is it possible to make this change? Is there any more information you need?

The closer to it would be using bins. What do you think?


Building a Twitter Bot with JavaScript

Proposed title of article
Building a Twitter Bot with JavaScript
Proposed article introduction
Twitter is an online news and social networking site where people communicate in short messages called tweets. Tweeting is posting short messages to anyone who follows you on Twitter, with the hope that your words are useful and interesting to someone in your audience.
In this article, we will be creating a Twitter bot that can retweet, tweet, and like posts.
Key takeaways

Apply for a Twitter Developer Account
Setup Project
Setup Files
Coding the bot

Article quality
This article will give the learner a step-by-step guide on how to build a Twitter bot and an overview of Twitter API along with its features.
References
N/A

Thank you for submitting your topic suggestion. There seems to be many articles that already cover this topic. Can you tell me how yours will build upon them and be unique to add value to our readers?

@louisefindlay23  I feel that knowledge cannot be exhausted, and when I look at similar stuff online, I find that the vast majority is not novice-friendly or as fascinating as it could be. Of course, this article will be unique, and it will gracefully address these flaws in order to retain quality and bring value to the community. Thanks

@Titusian72, so can tell me what specific areas or points you will make that are not covered elsewhere?

@Titusian72
We will be closing this Topic due to inactivity: It can be re-approved at a later date if you'd like to continue working on it and add it to your EngEd author profile.
Note: it has to be re-approved in case another student or site has published similar content.


Broken usage exmaple

Thank you for the great plugin!
Please note that the usage example in README.md is missing tailing , in the following line:
  shareClass: '.tweet-selection'

Fixed, thanks!