Document details of data collection practices and risks

Huge congrats to everyone at the Ontario Digital Service on this release! It's so great to see government resources going to creating quality open-sourced code like this (though would love even more if we could see all your hard work by also developing in the open from the get-go!)
Given the sensitive nature of a government-sponsored app dealing with plenty of personally identifiable information ("PII"), it seems important to be extremely transparent about exactly what data is collected, where, by whom, how, and how it is/will be used.
I'll share what I gleaned from my review of the code, but it would be great if others (preferably the original developers) could confirm what I've found, and add anything I'm missing. Ideally there would also be official documentation published with this sort of information, a discussion of the tradeoffs considered (thanks for some of that in #6 @spncrd !), and an official 3rd party analysis.

Short version
Overall the app seems well composed, and adequately documented. The app does have a brief summary of data collection and privacy practices, and a longer, app-specific privacy policy, which gives a reasonable overview of what information is collected. Both these documents, however, are (rightly) aimed at a fairly general (ie non-technical/privacy expert) audience. I'm not sure if a comprehensive privacy review was done internally, but I haven't found any further technical documentation, or the type of Privacy Impact Assessments called for by the Privacy Commissioner of Canada explaining the specifics (though certainly possible I missed it somewhere).
I found no major contradictions of the claims made in the privacy policy (though there were a few omissions). Most importantly, I found no indication that any PII related to the content of individuals' vaccine certificates is retained (ether on device, or by being sent to a server). The one piece of information collected by the core scanning code, is a signal sent to count when a passing, failing or invalid scan occurs, but no further info from the scanned certificate is included.
I have a few questions and recommendations of additional info that should either be covered in/linked from the privacy policy and/or added as docs to this repo:

It would be good to have a full list of the analytics events collected, and info about what additional data is sent with each event (see below for some of this information)

I didn't see any mention of the type of "device info" that is collected along with analytics events: https://firebase.google.com/docs/reference/functions/providers_analytics_.deviceinfo

What other info is reported from the iOS and Google app stores?

Explain what info is collected by web servers
The covid-19.ontario.ca site seems to be running a Drupal CMS, on an NGINX server, on Amazon infrastructure. Each of those layers collects data (IP, user agent, session cookies, etag cache info etc) by default

The app's privacy policy page itself performs data collection through Google Tag Manager (ie for advertising, a separate product from Google Analytics), which, ironically, isn't mentioned either in the text of the privacy policy, or the site-wide privacy statement

The app itself only displays limited data from the certificate, but what is the risk if further certificate info is disclosed?

What is all the info contained in the certificate?
What is the patient identifier, and where else is it used? (ie is it an OHIP number, or linked to an OHIP number in a database somewhere? is it tied to other medical records or PII? etc)
Are there legal protections to discourage such a disclosure if info is captured with a custom app?

It's not totally clear whether the web pages linked from the within the app are supposed to be covered by the site-wide privacy statement, the Verify app privacy policy, or both. But given the mention of "first-party cookies" (which are only used for tracking on web pages, not in apps) in the app privacy policy, it seems this is meant to apply to something beyond just the installed application. So would be good to clarify what is collected via Google web analytics on the Verify-related pages on covid-19.ontario.ca vs what is collected in-app

Longer version
I see two main parties who each may have a few types of potential privacy concerns

Sharing of certificate-holder info
1.1 with the government
1.2 with the scanner operator
1.3 with third parties
Sharing of scanner-operator info
2.1 with the government
2.2 with third parties

For each of these, there are three main channels of data collection within the app that I looked in to:

analytics collected using Google's Firebase Analytics service [^firebase]
data collected via explicit requests to remote servers
data stored on-device (only really relevant to sharing of certificate-holder info with the scanner operator)

There is also information collected:

when the app is installed (and potentially uninstalled[^uninstall]) by the platforms' app stores
when visiting web links provided by the app to get more info

[^uninstall]: Neither Apple nor Google automatically track app uninstalls, but both make it possible for developers to do so via their push message notification services (Google Cloud Messaging and Apple Push Notification service respectively). Details: https://clevertap.com/blog/track-app-uninstalls-effectively/
[^firebase]:  What is referred to in the privacy policy as "Google Analytics" seems to cover elements of both Google Analytics for Web, as well as Googles's (Firebase) Analytics for Apps. Confusingly "Google Analytics" was originally a completely different product from Google's Firebase Analytics. They've (kind of, partially) merged over time, but still collect different data from different sources. Google fully admits it's confusing, and tries to explain here: https://medium.com/firebase-developers/google-analytics-vs-firebase-analytics-vs-google-analytics-97ca645a8aff
Certificate-holder info
Info shared with the government and third parties
As mentioned above, there seems to be no certificate-holder PII sent off the device during scanning, only a record that some certificate was scanned, and the result of that scan as "passing", "failing", or an error
Info shared with the scanner operator
When a certificate is valid, 3 pieces of information from the certificate are shown to the operator:

Full name
Date of birth
Status of the certificate as "Valid"

The operator is then supposed to check a photo ID. That ID of course contains further PII, but generally this info wouldn't be recorded.
When a certificate is invalid, the operator is simply told:

"This certificate can not be used to enter"
to ask for a newer certificate
to direct the certificate holder to the info page or phone number (1-833-943-3900) which explains the results

If the certificate holder then visits that page or calls the phone number, it is safe to assume that there is some info recorded via Google Analytics and server logs for the web, or in a separate database for calls (as is the case for any web visit or phone call). But since both of these are general info channels, there isn't a significant risk of these being used as a way of identifying certificate holders with failing scans (apparently that phone number is the general line for the Provincial Vaccine Contact Centre)
I found no case where specific information about the vaccine (dose dates, brands, etc.) is shown to the operator.
I found no places where information related to individuals' vaccine certificates is retained on the device (scan results are cleared from the screen after being displayed for 30 seconds)
The biggest risk I see of certificate-holder information leakage to the scanner operator is the potential use of unofficial scanning applications, with extra functionality that extracts or retains more info than the official app. I haven't looked deeply into all the data contained within the certificate's QR code, but there is at least some additional info that shouldn't be shared/recorded without consent[^record_tou]. This includes birth date, info about which types of vaccine doses were received when, and some sort of patient reference identifier (not sure if this is tied to health card number or other records somewhere?). I don't immediately see an obvious commercially-motivated reason for businesses to collect the medical info, but just the basic biographical info could, for example, facilitate keeping a record of visitors for marketing purposes.[^bio_info]
[^record_tou]: The app's terms of use do mention that the app shouldn't be used to collect any of this info, but there isn't really a practical way to enforce this, and a custom/modified app could just remove this term. I'm not sure what other legal prohibitions there are against recording this data?
[^bio_info]: Because names, birth dates and addresses are also included on the licenses that most people will be using as photo ID, the risk here is more about the ease of collecting that data digitally without consent than it is about disclosing it at all in the first place
Scanner-operator info
While more of the public discourse has centered on privacy concerns about certificate-holder data, there is also significant information shared from the scanner operator.

In order to install the app, the operator likely visits the app website, where they are tracked by server logs and Google Analytics
When the app is installed on the device, some device info is tracked by the app store and shared with the app publisher
Whenever the app is started (and at least every 24 hours) the app downloads configuration data and checks the minimum acceptable app version. This allows tracking of usage, and collection of data about location tied to IP address
While in use, the app uses Google's Firebase Analytics service to collect data about both every screen viewed in the app, and when specific actions are performed or events occur (more details below)
There are a number of web links from within the app (listed below). Users clicking on any of those will be tracked.
It is also possible to track if/when the app is uninstalled [^uninstall]

While Firebase analytics collection initially appeared to be disabled, it turns out to be enabled immediately after the app is loaded (in non-development mode), with no option to opt out.
All of this data is also shared with Google, except the files.ontario.ca web access logs, which appears to be hosted (and therefore tracked) by Amazon' in their us-east-1 data center.
Firebase Analytics Events
The specific Firebase Analytics usage events are :
  VACCINE_SCAN
  CONNECTION_PROMPT
  FLASHLIGHT_CLICK
  VERSION_UPDATE_PROMPT
  VERSION_UPDATE_CLICK
  SCANNER_TIMEOUT
  VERIFIED_TIMEOUT
  LINK_CLICK

These events are sent to Firebase Analytics by the trackLogEvent() function (which also allows sending extra data, in addition to the even name).

That function is used in 20 different places, across 8 files:
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/AppUpdate/index.tsx#L62
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/AppUpdate/index.tsx#L92
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/AppUpdate/index.tsx#L97
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L160
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L167
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L179
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L183
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L204
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L268
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Update/index.tsx#L76
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Update/index.tsx#L80
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/VerifiedResult.tsx#L63
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/error.en.tsx#L60
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/error.en.tsx#L91
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/error.fr.tsx#L63
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/error.fr.tsx#L94
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/warning.en.tsx#L70
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/warning.en.tsx#L101
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/warning.fr.tsx#L74
https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/results/translations/warning.fr.tsx#L105

In-App Webpage Links
The relevant in-app webpage links I found[^page_links_grep] in the source code:
https://stage.files.ontariogovernment.ca/apps/verify/
https://www.ontario.ca/aide-preuve-vaccination
https://www.ontario.ca/getproof
https://www.ontario.ca/obtenirpreuve
https://www.ontario.ca/vaccine-proof-help
https://www.ontario.ca/verif
https://www.ontario.ca/verif-accessibilite
https://www.ontario.ca/verif-commentaires
https://www.ontario.ca/verif-conditions-utilisation
https://www.ontario.ca/verif-confidentialite
https://www.ontario.ca/verif-contact
https://www.ontario.ca/verif-divulgation-vulnerabilite
https://www.ontario.ca/verif-droits-dauteur
https://www.ontario.ca/verif-resultats
https://www.ontario.ca/verify
https://www.ontario.ca/verify-accessibility
https://www.ontario.ca/verify-contact
https://www.ontario.ca/verify-copyright
https://www.ontario.ca/verify-feedback
https://www.ontario.ca/verify-privacy
https://www.ontario.ca/verify-results
https://www.ontario.ca/verify-terms-of-use
https://www.ontario.ca/verify-vulnerability-disclosure

[^page_links_grep]: found with grep -r http src/ | grep -v apache.org | grep -v w3.org | grep -v __mocks | rev | cut -d" " -f1 | rev | sed 's/["'\'',]//g' | grep ontario | sort | uniq

Thanks @Smittyvb and @gabrielgrant, I'd also add https://vci.org/about as a resource to check out to see how the SHC standard has been operationalized in the vaccination space.

were there every any answers given for 1. and 6. Both seem to be pressing questions.
Furthermore, what time of anonymization methods are used for analytical data collection. Is there a way to opt out of analytical data collection or is that mandatory? If it is mandatory is that in compliance with PIPEDA?

@MDG04

I don't see any code to support opting out of analytics collection

When a QR code is canned, the event is unconditionally sent to the trackLogEvent() function here. trackLogEvent() just forwards it directly to firebase here

AFAIU PIPEDA technically only applies to private sector orgs, conducting commercial business (ie not the gov't), but still would be very interested in the answer to whether this type of data collection is compliant in general. It seems the federal privacy commissioner has taken the position that user data collected for the purpose of "Online Behavioural Advertising" is considered "personal information" and therefore opt-out consent is required for that type of tracking: https://www.priv.gc.ca/en/privacy-topics/technology/online-privacy-tracking-cookies/tracking-and-ads/bg_ba_1206/

I don't know of any official guidance as to whether other forms of tracking (such as the usage tracking in this app) require any form of consent under PIPEDA, but at least one lawyer seems to (strongly) believe it does not:  https://ianscottgroup.com/do-canadian-websites-need-an-accept-cookies-popup/ (the focus of that article is mostly on CASL, but they offer some additional clarification about PIPEDA here)

@MDG04
1. I don't see any code to support opting out of analytics collection

   When a QR code is canned, the event is unconditionally sent to the `trackLogEvent()` function [here](https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/containers/home/Scanner.tsx#L160). `trackLogEvent()` just forwards it directly to firebase [here](https://github.com/ongov/OpenVerify/blob/3f60e992d24dedf31ec6a0d11eacdcaf646bc9f9/src/utils/analytics.ts#L18)

2. AFAIU PIPEDA technically only applies to private sector orgs, conducting commercial business (ie not the gov't), but still would be very interested in the answer to whether this type of data collection is compliant in general. It seems the federal privacy commissioner has taken the position that user data collected for the purpose of "Online Behavioural Advertising" is considered "personal information" and therefore opt-out consent is required for that type of tracking: [https://www.priv.gc.ca/en/privacy-topics/technology/online-privacy-tracking-cookies/tracking-and-ads/bg_ba_1206/\](https://www.priv.gc.ca/en/privacy-topics/technology/online-privacy-tracking-cookies/tracking-and-ads/bg_ba_1206/%5C)

   I don't know of any official guidance as to whether other forms of tracking (such as the usage tracking in this app) require any form of consent under PIPEDA, but at least one lawyer seems to (strongly) believe it does not:  https://ianscottgroup.com/do-canadian-websites-need-an-accept-cookies-popup/ (the focus of that article is mostly on CASL, but they offer some [additional clarification about PIPEDA here](https://ianscottgroup.com/do-canadian-websites-need-an-accept-cookies-popup/#comment-3496))

you are correct PIPEDA does not directly apply however I think the standard it sets is quite good and would have loved to know if Ontario app followed these standards. As for the ianscottgroup article I strongly disagree with his entire article privacy is a great concern and we should be striving to become closer to the GDPR in this way.
Hopefully we can get an answer on 6. I am fully vaccinated but I am extremely skeptical of the QR code system and might opt to stay at home if the QR code is the only way I can go out. I am trying my best to find the relevant privacy information before making a decision of such magnitude.

Thanks for the discussion and ongoing engagement. Building in privacy by design has always been a north star for the Verify Ontario team, however being able to measure high level metrics (scans, devices, etc.) is vital to understanding and improving the product. In terms of analytic collection, we've had extensive discussions with the Privacy Commissioner of Ontario and in contrast, to Ontario.ca we've implemented a lighter version of Google Analytics.
The data collected is anonymous. The app does not request a user’s specific location, or collect any information that links specific locations, visitors, or businesses to each other. Understanding anonymous use can help identify bugs (e.g., android version x is having frequent app crashes) or other issues with the app’s use that will in turn be used to plan and prioritize app improvements.
As part of the implementation, the portion of the IP we collect corresponds to a municipal region i.e. Mississauga, Sarnia, etc. The app does not request a user’s specific location (street or address level), or collect any information that links specific locations, visitors, or businesses to each other. The purpose of collecting municipal metrics is to provide a sense of where the app is being used across the province.
Anonymous usage statistics are collected, stored, and reported from Google Analytics and Google and Apple App Store consoles. Ontario Government employees, working on the app, have access to the data collected. Members of the product development team have access to anonymous usage statistics while working on the application.
The instance identifier is a function of the Google Analytics implementation and is used to understand new users vs repeat usages by device and to communicate the size of the user base, which is different than total uses.
The Google Analytics user and event data retention setting is 2 months. After this time, user-level and event-level data stored by Google Analytics is automatically deleted from Analytics servers (data associated with user identifiers). This setting doesn’t affect most standard reporting, which is based on aggregated data.
At this time we are not considering an opt out option for Google Analytics collection, but I will table it for future discussion with our product and policy teams.

Thanks for the discussion and ongoing engagement. Building in privacy by design has always been a north star for the Verify Ontario team, however being able to measure high level metrics (scans, devices, etc.) is vital to understanding and improving the product. In terms of analytic collection, we've had extensive discussions with the Privacy Commissioner of Ontario and in contrast, to Ontario.ca we've implemented a lighter version of Google Analytics.
The data collected is anonymous. The app does not request a user’s specific location, or collect any information that links specific locations, visitors, or businesses to each other. Understanding anonymous use can help identify bugs (e.g., android version x is having frequent app crashes) or other issues with the app’s use that will in turn be used to plan and prioritize app improvements.
As part of the implementation, the portion of the IP we collect corresponds to a municipal region i.e. Mississauga, Sarnia, etc. The app does not request a user’s specific location (street or address level), or collect any information that links specific locations, visitors, or businesses to each other. The purpose of collecting municipal metrics is to provide a sense of where the app is being used across the province.
Anonymous usage statistics are collected, stored, and reported from Google Analytics and Google and Apple App Store consoles. Ontario Government employees, working on the app, have access to the data collected. Members of the product development team have access to anonymous usage statistics while working on the application.
The instance identifier is a function of the Google Analytics implementation and is used to understand new users vs repeat usages by device and to communicate the size of the user base, which is different than total uses.
The Google Analytics user and event data retention setting is 2 months. After this time, user-level and event-level data stored by Google Analytics is automatically deleted from Analytics servers (data associated with user identifiers). This setting doesn’t affect most standard reporting, which is based on aggregated data.
At this time we are not considering an opt out option for Google Analytics collection, but I will table it for future discussion with our product and policy teams.

Thank you for your in-depth answer. I really appreciate it. If someone is using a 'paper' QR code and the person scanning the QR code has no connection to internet how is that data collected? or is it not?
From my understanding an internet connection isn't required other than for updates although my understanding could be wrong.

@MDG04  I want to reiterate from my initial review of the code that I found no evidence of any information from an individual's QR code ever being sent from (or retained by) the device that does the scanning, regardless of whether there is an internet connection. The only info that is sent is that "some QR code was scanned successfully"
I'm a pretty privacy-conscious person (hence taking the time to actually read through the code and do this privacy review), and I was pleasantly surprised to not find any serious reason to be concerned about having a QR code scanned. It really feels like @spncrd and team have put a lot of thought and effort into protecting individuals' privacy, while striking a very reasonable balance with sharing some limited info about the usage of the app to help understand impact and debug potential issues
Most of the relatively-small number of questions that came up were potential privacy considerations for the operator of the app, not the person whose code is being scanned. The one unanswered question relevant to the QR code holder is:

What is the patient identifier, and where else is it used? (ie is it an OHIP number, or linked to an OHIP number in a database somewhere? is it tied to other medical records or PII? etc)

To be clear: this info patient identifier does not seem to be used anywhere in the official OpenVerify app, but the question could be relevant to understand what could potentially be collected if someone scanning QR codes were using a custom, malicious version of the app


cmd/e2e: Port --orderseed and --times to cmd/e2e from hack/e2e

Add --orderseed, shuffle order every time, report order for repeatability
Add --times, acts like a multi-deck shoe
Remove fixed numbering in TAP output (this is actually not needed;
TAP output is just done by outputting what assertion count you're on.)

This is essentially just a port of f3a992aa and 369064c6 (minus
reporting, which can be handled later when we make TAP, etc, better).

LGTM


Add link to Whack Whack Terminal

Coverage remained the same at 71.649% when pulling bf7dc2f8dd90405c26e4cfef44a4345b5763ea91 on dgriffen:dgriffen-patch-1 into b8127b0d166e4354d00fd76853573d7b653b00e3 on sourcelair:master.


Write ome-zarr images (feature request)

Hi all,
I'm just wondering how complicated it might be to provide a writer for napari. I just tried to save a dataset in napari as "test.zarr" and it was written to disc as "test.zarr.tif".
If you say writing zarr files from napari makes sense, e.g. using this code, I'd be happy to provide a pull-request.
Thanks!
Best,
Robert

Hi @haesleinhuepf.

I'm just wondering how complicated it might be to provide a writer for napari.

Definitely doable. There's recently been a bunch of work in https://github.com/ome/ome-zarr-py/pull/192 to improve support for this (overall speed and the types of data that you can pass in like dask or not dask). It's not released but help testing is very welcome.

I just tried to save a dataset in napari as "test.zarr" and it was written to disc as "test.zarr.tif".

Don't know why that would happen. You clicked on "save" in the UI?

If you say writing zarr files from napari makes sense, e.g. using this code, I'd be happy to provide a pull-request.

Hmmm.... that looks to be "just a zarr" and not an "OME-Zarr" and so I'll defer to you if you want that. If you are interested in writing an NGFF, I'd suggest we use the helper functions from ome-zarr-py.
~Josh


Local backend - add support for composite and aggregate traintuples

Main changes

Substra sdk, local backend: add the functions add_composite_traintuple, add_aggregate_traintuple
Substra sdk, schemas: update the pydantic typing: pathlib.Path accepts Path and str

Composite traintuple permissions

at creation, permissions = spec.out_trunk_model_permissions
after execution:

out_head_model permissions: public = False, authorized_ids = [dataset.owner]
out_trunk_model permissions: tuple_.permissions (this is equal to spec.out_trunk_model_permissions)

I updated the composite_traintuple creation so that out_head_model and out_trunk_model are created at the beginning with their permissions. This is because I realised that in substra-tests it expected failed composite traintuples to have out_head_models and out_trunk_models attributes.
More precisely:

the client is shared between all tests (scope=session)
the test test_data_samples_order.py::test_composite_traintuple_data_samples_relative_order fails as it is expeced to do, so there is a composite_traintuple in the database without out_head_model nor out_trunk_model
some of the following tests call client.list_compiosite_traintuple, but in substra-tests/assets.py/CompositeTraintuple, out_head_model and out_trunk_model cannot be None. So those tests fail.


(GH-2409) Doc updates for 3.0

Update some docs that still refer to the old modulepath
Remove references to bolt.yaml
Updates Bolt 3.0 welcome page (I have some more updates to this one in a future PR)

Part of #2409
!no-release-note

This is still a WIP, I'm just putting it up as a draft for transparency

This is still a WIP, I'm just putting it up as a draft for transparency

@beechtom, @lucywyman I changed my mind. Let's review/merge this bit in. I'll open up a new PR if/when I find more stuff to fix

@beechtom, @lucywyman I changed my mind. Let's review/merge this bit in. I'll open up a new PR if/when I find more stuff to fix


Set ADB_INSTALL_TIMEOUT environment variable to 10 minutes.

The default being 2 minutes.

👍

replaced w/ PR against our upstream repo


[Machine learning customization] Endpoint customization

For Operation Predict, replace request endpoint with value from PredictEndpoint input member.

This might be solved by endpoints 2.0. Adding the retriage tag to confirm later.

This will be solved by EP2 if it isn't already

As of 6/5/2024 the machine learning model does not include endpoint rules for this yet.


What does fixed numbers mean ?

@jmvalin In the function: lpc_from_bands() in line 226 in script freq.c, there are three fixed numbers 320/12/38., can you tell me what each of them means?
   /* -40 dB noise floor. */
   ac[0] += ac[0]*1e-4 + 320/12/38.;

@xiaoyangnihao  I have exactly the same question. Any idea or hypothesis is welcome! Thanks.


[Select] dropdown opens up and then down (flickers)

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
(multi) select with 80 items opens above InputLabel and then below it (flickers)
Expected behavior 🤔
It should popup below the InputLabel without flickering
Steps to reproduce 🕹
Please see the following sandbox.
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
 Browser: Google Chrome Version 104.0.5112.101 (Official Build) (64-bit)
 Output from `npx @mui/envinfo`:
System:
    OS: Linux 5.4 Ubuntu 18.04.6 LTS (Bionic Beaver)
  Binaries:
    Node: 14.20.0 - /usr/bin/node
    Yarn: 1.22.19 - /snap/bin/yarn
    npm: 8.18.0 - /usr/bin/npm
  Browsers:
    Chrome: 104.0.5112.101
    Firefox: Not Found
  npmPackages:
    @emotion/react: ^11.10.4 => 11.10.4
    @emotion/styled: ^11.10.4 => 11.10.4
    @mui/base:  5.0.0-alpha.95
    @mui/core-downloads-tracker:  5.10.3
    @mui/icons-material: ^5.10.3 => 5.10.3
    @mui/material: ^5.10.3 => 5.10.3
    @mui/private-theming:  5.10.3
    @mui/styled-engine:  5.10.3
    @mui/styles: ^5.10.3 => 5.10.3
    @mui/system:  5.10.3
    @mui/types:  7.2.0
    @mui/utils:  5.10.3
    @types/react:  18.0.18
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0

Thanks for the report. I was able to reproduce it on both Windows and Mac.
Would you like to investigate the problem?

@michaldudak I'd love to take this on. I've looked into it and the flicker starts happening when the list has 56 or more items in it and becomes noticeable to the naked eye around item 70. I'm thinking virtualization using react-window would be the way to go, similar to what is done in the autocomplete component. Would you say this is a good course of action? If so, I'd love to contribute a PR.

@natalyjazzviolin Sorry for the late reply, as I was on vacation.
The number of items that causes the flicker depends on the performance of the machine the code is running on. While setting up virtualization could make the issue disappear, it would treat the symptom, not the cause. IMO it would be better to fix the bug at its root. @vanyaxk's solution looks promising so far but needs some additional work before it can be merged.

Actually, this issue seems to be a duplicate of #33308.


Simnet Development Documentation

As new developers come and help us out, we should put up a nice Zap iOS + simnet guide, as it's likely the best developer environment

where do we want to put this? simnet repo? tutorial repo?
am i the one who has to do it? 😅

opened a PR with an example workflow on the simnet repo https://github.com/LN-Zap/simnet/pull/2


[CROSSDATA] [STREAMING] Fix problem with Streaming configuration

The problem was that only one Zookeeper host and only one Kafka host were used to connect to both system. This PR solves the problem

@darroyocazorla and @compae please, review this PR

+1

LGTM


Update obs-websocket code to v5 syntax

done with https://github.com/GramyPomagamy/gsps-layouts/commit/180ddc49e88c6d7265463f8deade004138fd1557


Build with config typescript react file extensions still .js

I am interested in helping provide a fix!
Yes
Which generators are impacted?

[ ] All
[ ] Angular
[ ] HTML
[ ] Qwik
[X] React
[ ] React-Native
[ ] Solid
[ ] Stencil
[ ] Svelte
[ ] Vue
[ ] Web components

Reproduction case
https://github.com/BuilderIO/mitosis/blob/main/e2e/e2e-app/mitosis.config.js#L46
Expected Behaviour
add typescript: true to mitosis.config.js the part of react
/**
 * @type {import('@builder.io/mitosis'.MitosisConfig)}
 */
module.exports = {
  files: 'src/**',
  targets,
  // Each run needs a separate output dest, as Mitosis clears it first.
  dest: [outputDir],
  options: {
    react: { transpiler: { format: 'esm' }, typescript: true },
    solid: { transpiler: { languages: ['ts'] } },
    vue2: vueConfig,
    vue3: { ...vueConfig, api: 'composition' },
  },
};

Expected Behaviour：the output file extension should be .tsx
Actual Behaviour
the output file extension is .js
Additional Information
No response

Closed by #764


How to know whether we are at first "li"

<button className={inList ? '' : 'disabled'}  onClick={() => {this.call(increaseItemDepth)}}>
In the sample code, we can disabled the button by checking inList. If we are at the first "li", we should also disable the button because it will do nothing to increaseItemDepth, how can we know whether we are at the first "li"?
Thanks lot
Gary

Here is a dumb solution: check for value.document === value.change.call(increaseItemDepth ...).document.

Or maybe the plugin could expose a function:
// If the given node is inside a list, returns all the ancestor lists as well as the
// item index sequence in each of these list that leads to the given node.
function getPositionInList(document: Slate.Document, key: string): ?ListPosition

type ListPosition = {
  // The conceptual sequence of item index that leads to the current node
  path: List<number>
  ancestors: List<Slate.Block>
}

So you could
const listPosition = listPlugin.getPositionInList(document, key)
const isFirstItem = listPosition && listPosition.path.last() === 0


node.hidden does not work as expected

Hello Ivan,
thank you for this great plugin!!!
I would like to follow on ticket #1372.
For me, the "hidden" state for nodes does not work as I would have expected.
E.g., after "refresh", all hidden nodes are shown again. This behavior is different from other node states, e.g. "selected". Both behaviors can be seen in the following fiddle (using jstree 3.3.3):
jstree 3.3.3 fiddle
In order to persist the flag, as a workaround, I am currently manipulating the dataobject, and reassign it to the jstree, instead of setting the state via "hide_node" or "hide_all":
$("#jstree").jstree(true).settings.core.data = manipulatedTreeData;
$("#jstree").jstree(true).refresh();
Best Regards,
Markus

I will try to improve on this in version 4, or at least include it in the docs.
Opened and selected are processed separately - this is why they are reapplied after a refresh, the hidden state is not processed this way - it depends only on what is described in the data.


Trojan: Script.Phonzy.C!ml

When I download the repo as a .zip, Windows defender picks up a trojan in it.

probably false positive, what file does he complain about?

have you tried testing the archive on virustotal.com?


strings: Undocumented behavior of strings.FieldsFunc

I just remarked by reading the source of the strings.FieldsFunc that the method will also remove empty fields from its return value. For example, see the following playground.
Seeing that the used algorithm isn't the same than the one for the splits, I wonder if it is an undocumented feature or a bug ?

The behaviour of FieldsFunc seems to match the documentation.  It splits the string at each run of code points satisfying the function.  This is different from the documentation of Split, which returns substrings separated by sep--not a run of sep, just sep.  So I think this is working as intended.
I'm going to close this issue, but please feel free to reopen if you disagree.

Oh, I didn't saw the run part of the documentation. My bad.


Refactor preprocessing

Please see individual commits. No changes, just reshuffling stuff to prepare for some bugfixes.

I'll do it slightly differently.


Problem with govspeak for inline attachments in lists

(This is mostly a brain dump following some investigation on 2nd line.)
Following the Zendesk ticket https://govuk.zendesk.com/agent/tickets/1210622 it was found that the following govspeak is considered invalid by Specialist Publisher:
* [InlineAttachment:DHPC_Drug_shortage_InductOs_GB-NIR_CLEAN_FINAL.pdf]: Some text

After some investigation the error seems to happen only when all of the following are true:

There is a list item that begins with a square bracket * [
There is a closing square bracket immediately followed by a colon and a space: ]:

Putting a character between the * and the [ works, eg * .[. Removing the colon works. Using other characters that might be considered special, such as $ or . works fine. It was also noted that \: seems to escape the colon.
The shortest syntax that produces this bug is:
* [a]: (note the space)

I've tried to replicate this problem in the integration environment.

I created a new manual and added * [InlineAttachment:DHPC_Drug_shortage_InductOs_GB-NIR_CLEAN_FINAL.pdf]: Some text to the body.
I clicked "Preview" and see the following error "Body cannot include invalid Govspeak, invalid HTML, any JavaScript or images hosted on sites except for www-origin.integration.publishing.service.gov.uk, assets-origin.integration.publishing.service.gov.uk, www.gov.uk, assets.digital.cabinet-office.gov.uk, assets.publishing.service.gov.uk"
I clicked "Save as draft" and see the same error.
I did the same thing but added the content to the section body and see the same error.

I can't see the original Zendesk ticket (I get a 404) so don't know whether this is the behaviour that was being experienced when it was first investigated.
@fofr: Do you have any more information about this issue that would be useful? Or do you think I can close it?

I've not heard anything more about this issue so I'm going to close it. @fofr: Feel free to re-open if you think I've closed it in error.


Getting unexpected results from fresh Mix install

Hey there. I'm getting some unexpected/odd results when using Mix.
Relevant details:

My config: https://gist.github.com/kylebragger/59f59cf2e1edf3d500401dca79d12532
node v6.3.1
npm 3.10.3
Fresh install of Laravel 5.4.5

My asset structure:
resources/
  assets/
    sass/
      app.scss
    css/
      normalize.css

When I run npm run dev as directed, I expect to end up with a versioned all.css file in my public/css directory (which I could access with the mix() helper in my templates), and which would contain normalize.css + sass.all.css, combined.
However, I end up with a public/css/all.css which only contains normalize.css, and a versioned copy of sass.all.css in public/resources/assets/css.
Am I missing something obvious in the documentation?

Mix is going to compile all of your assets to the public directory. So that's expected behavior. You can compile your Sass, and then combine them after the fact.
mix.sass('resources/assets/sass/app.scss', 'public/css')
   .combine(['resources/assets/css/normalize.css', 'public/css/app.css'], 'public/css/all.css');

I just used your mix snippet from above and now end up with a versioned app.css file in public/css which only contains the contents of my original app.scss.
Sorry for being daft but is my original flow supported? It's generally how I was doing things with Elixir.

Yeah I think that's going to because the file is versioned. So when you try to combine public/css/app.css, it no longer exists. It's now public/css/app.234213412132.css.
I'll think about how to fix that.

Ah, I was assuming the ops were executed in the chaining order. But do you mean that the versioning might happen before then?

When use add mix.version() it automatically sets the output file name to the versioned form of what you provide. It doesn't version after the fact. It's part of the bundle process.
So you're trying to combine a file that doesn't exist. Webpack doesn't quite work like Gulp in that regard. That's why they're different projects.

What you'll have to do is use a * for the hash portion of the file that you're trying to combine.
mix.sass('resources/assets/sass/app.scss', 'public/css')
   .combine(['resources/assets/css/normalize.css', 'public/css/app.**.css'], 'public/css/all.css')
   .version();

Don't think there's any way around that.

Thanks for the info. I know it's not the same as Gulp, was just trying to wrangle things so as to get a similar/the same end result. It looks like your above snippet ends up working insofar as all.css has all the combined file contents, but app.css is the one that gets versioned. Not sure if that's helpful or not. I'll continue to play around, too. Thanks!


Add "attribute" labels

Tell us about your request
I would like to be able to use
nodeSelector:
    karpenter.k8s.aws/instance-attributes: "n"

to schedule a pod on a network-optimized instance. (The "attribute" is the part after the instance category and generation, https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-type-names .)
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Most of my services are not network constrained, but some (Kafka) need a lot. I would like to schedule Kafka nodes on instances with high network bandwidth. I am not concerned about other pods being scheduled on those instances using some of that network - my other pods are not very network hungry.
Are you currently working around this issue?
I can use
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: node.kubernetes.io/instance-type
            operator: In
            values:
            - m5n.8xlarge
            - ...
            - r5n.8xlarge
            - r5n.16xlarge
            - r6in.8xlarge
            - ...

Though this requires me to list many options and look up the network bandwidth myself.
I could also use karpenter.k8s.aws/instance-network-bandwidth, but I can't do at-least matching, so I would have to specify every possible option that AWS has that is above my floor desired bandwidth.
Additional Context
No response
Attachments
No response
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

I could also use karpenter.k8s.aws/instance-network-bandwidth, but I can't do at-least matching, so I would have to specify every possible option that AWS has that is above my floor desired bandwidth.

I was mistaken, you can do at-least matching with something like
affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: karpenter.k8s.aws/instance-network-bandwidth
            operator: gt
            values:
            - 24999

This solves my issue. Apologies for not reading documentation well enough.


🐛 overflow cause inability to close the initial dialog

Do you mean the intro dialog in mobile?

Ah I see this is probably this bug from Twitter.

their bug is on chrome on iphone 12.
Sadly i couldn't recreate the bug on my iphone 8.


Rpi 4 Buster Image cannot update

Hi
thanks for the pre-installed Buster rpi 4 image.
I download the image and etch into a 32G sd card.
Started up fine, but when I want to do "sudo apt-get update", it showed the following messages:
Temporary failure resolving 'archive.raspberrypi.org'
I checked my internet connection, it is working fine.
The ip address kept stuck at <IP_ADDRESS> no matter how much I tried "sudo dhclient -r" and "sudo dhclient"
I tried etching another SD card with the Buster image from raspberrypi.org, it works fine. IP address cannot be refreshed.
Please look into it.
Regards
James

@jamesee Are you still facing this issue or can this be closed ?

Please close . Thanks
Sent from my iPhone

On 1 Jul 2021, at 5:52 PM, Manoj @.***> wrote:

@jamesee Are you still facing this issue or can this be closed ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Animations not playing after Navigator.pop

On ScreenA I have some animations. When I pop out of ScreenB, back into ScreenA, the animations don't replay in spite of the screen rebuilding.

I open ScreenA and the animations play.
I click a button on ScreenA to go to SrceenB:

Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScreenB()))
.then((value) {setState((){});});

On ScreenB I click a button to return to ScreenA:
Navigator.pop(context)
setState gets called as expected and ScreenA is rebuilt, but the animations don't replay.

I'm testing on Android.
Note that this is how Flutter animations generally behave. The controller has to be manually restarted after Navigator.pop. My issue is that I don't have a way of restarting animations built using this package.
Is there any way of getting it to work the way I want it to work?

On ScreenA I have some animations. When I pop out of ScreenB, back into ScreenA, the animations don't replay in spite of the screen rebuilding.

I open ScreenA and the animations play.
I click a button on ScreenA to go to SrceenB:

Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScreenB()))
.then((value) {setState((){});});

On ScreenB I click a button to return to ScreenA:
Navigator.pop(context)
setState gets called as expected and ScreenA is rebuilt, but the animations don't replay.

I'm testing on Android.
Note that this is how Flutter animations generally behave. The controller has to be manually restarted after Navigator.pop. My issue is that I don't have a way of restarting animations built using this package.
Is there any way of getting it to work the way I want it to work?

I have that same issue. Did you find any solution?

Same issue

Same issue

On ScreenA I have some animations. When I pop out of ScreenB, back into ScreenA, the animations don't replay in spite of the screen rebuilding.

I open ScreenA and the animations play.
I click a button on ScreenA to go to SrceenB:

Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScreenB()))
.then((value) {setState((){});});

On ScreenB I click a button to return to ScreenA:
Navigator.pop(context)
setState gets called as expected and ScreenA is rebuilt, but the animations don't replay.

I'm testing on Android.
Note that this is how Flutter animations generally behave. The controller has to be manually restarted after Navigator.pop. My issue is that I don't have a way of restarting animations built using this package.
Is there any way of getting it to work the way I want it to work?

I have that same issue. Did you find any solution?

maby you can add a key to AnimationLimiter
like
AnimationLimiter(
                    key: ValueKey(data.length),   //here
                    child: ListView()
)

it means that when your list size changed, the widget will rebuild

Same issue

look at my comment blow, hope I can help you

On ScreenA I have some animations. When I pop out of ScreenB, back into ScreenA, the animations don't replay in spite of the screen rebuilding.

I open ScreenA and the animations play.
I click a button on ScreenA to go to SrceenB:

Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScreenB()))
.then((value) {setState((){});});

On ScreenB I click a button to return to ScreenA:
Navigator.pop(context)
setState gets called as expected and ScreenA is rebuilt, but the animations don't replay.

I'm testing on Android.
Note that this is how Flutter animations generally behave. The controller has to be manually restarted after Navigator.pop. My issue is that I don't have a way of restarting animations built using this package.
Is there any way of getting it to work the way I want it to work?

I have that same issue. Did you find any solution?

maby you can add a key to AnimationLimiter
like
AnimationLimiter(
                    key: ValueKey(data.length),   //here
                    child: ListView()
)

it means that when your list size changed, the widget will rebuild

What about when the list size is the same?

it doesn't work at all on Android for Listview


Allow setting custom disposition-type on S3 saves with filename

For G8 countersigning we want uploaded agreements to have inline disposition type but also have a filename set for when users download the files.
(The admin app inline display of PDFs breaks if Content-Disposition is set to attachment, but at present we can only set attachment with a filename.)
Currently you can only set a custom disposition-type when a filename is also supplied.  This could be changed in future if necessary to set disposition types without a filename.

👍


Bluetooth: Mesh: Fix regression in PB-ADV

After #35702, the provisioner is unable to mark a link as closed, as
it depends on the send_end callback to be called, so it can start its
timer. PB-Adv keeps a reference to the buffers of reliable messages,
which prevents this callback to be invoked, as the buffer destructor is
never called.
Move scheduling of the retransmit timer to the initial transmission, and
replace the timer based LINK_CLOSE message tx duration with a message
counting solution.
Signed-off-by: Trond Einar Snekvik<EMAIL_ADDRESS>

I'm not 100 sure about this solution, as it's changing the retransmit logic to not take the time spent sending the messages into account, which can make retransmits come earlier than necessary.
I also believe I owe you a beer, @jhedberg, you pointed out that this might happen, and I dismissed it :slightly_frowning_face:

I'm not 100 sure about this solution, as it's changing the retransmit logic to not take the time spent sending the messages into account, which can make retransmits come earlier than necessary.
I also believe I owe you a beer, @jhedberg, you pointed out that this might happen, and I dismissed it 🙁

Sorry for this, i thought bsim would automatically catch these problems, or it was a mistake. Is it necessary for us to add a check for the available buffer under bsim?

Sorry for this, i thought bsim would automatically catch these problems, or it was a mistake. Is it necessary for us to add a check for the available buffer under bsim?

That's how I discovered it, actually. #35446 fails because of this bug. I'll rebase it after this goes in, and we'll have coverage.


Goofy behavior on mac full screen

FIrst the theme looks amazing. Thanks for the amazing job
Currently using Librewolf (just in case it matters)
When in full screen in Mac, if I put my mouse on the top of the screen, the mac bar comes down, and all the tabs get shifted, getting pushed into the web page view. Is there a way to fix this?
thx

install  Adaptive Tab Bar Color will display the correct colors.
see the README.

It works!
I did see the readme, But I read it as necessary only if I wanted the adaptive color bars.
Guess I thought it would just be white if I didn't install it. Thanks for the help!


Switches translation mode

Instead of containing the data, it now translates the data sets on the fly.  Adds tests, and other formalities to get it ready for CRAN

@rivaquiroga / @pachamaltese  - The only approval I need is confirmation that you were able to install and run the package in your machines.  No code review is necessary at this time.  Thanks!

Installed and running!


Error using dependsOn in a feature

Summary
We're building a devcontainer feature that includes a dependsOn another feature. This is causing failures using @devcontainers/action but seems to work with the devcontainers CLI.
The documentation says that dependsOn is a preview feature. Is there something I need to do to opt-in to preview features?
Our feature definition is here: https://github.com/radius-project/radius/blob/ae9d95267ce52193ef3cab6ae121faf43dea5a8f/deploy/devcontainer-feature/src/radcli/devcontainer-feature.json
Successful output with CLI
I'm able to successfully package the feature with the CLI.
❯ devcontainer features package deploy/devcontainer-feature/src --output-folder ../../../testing -f
[550 ms] @devcontainers/cli 0.54.2. Node.js v21.3.0. darwin 23.1.0 arm64.
[550 ms] Packaging feature collection...
[551 ms] Processing feature: radcli...
[562 ms] Packaged 1 features!

Failing with actions
The failing workflow is here: https://github.com/radius-project/radius/actions/runs/7183715348/workflow
Here's an example run: https://github.com/radius-project/radius/actions/runs/7183715348/job/19563129086
Output:
Run devcontainers/action@v1
  with:
    publish-features: true
    base-path-to-features: ./deploy/devcontainer-feature/src
    generate-docs: false
    disable-schema-validation: false
    validate-only: false
    disable-repo-tagging: false
    publish-templates: false
  env:
    GITHUB_TOKEN: ***
Validating Feature metadata...
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/onCreateCommand" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/onCreateCommand/additionalProperties" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/updateContentCommand" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/updateContentCommand/additionalProperties" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postCreateCommand" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postCreateCommand/additionalProperties" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postStartCommand" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postStartCommand/additionalProperties" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postAttachCommand" (strictTypes)
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/postAttachCommand/additionalProperties" (strictTypes)
Error: (!) ERR: 'deploy/devcontainer-feature/src/radcli/devcontainer-feature.json' is not valid:
[
    {
        "instancePath": "",
        "schemaPath": "#/additionalProperties",
        "keyword": "additionalProperties",
        "params": {
            "additionalProperty": "dependsOn"
        },
        "message": "must NOT have additional properties"
    },
    {
        "instancePath": "",
        "schemaPath": "#/oneOf",
        "keyword": "oneOf",
        "params": {
            "passingSchemas": null
        },
        "message": "must match exactly one schema in oneOf"
    }
]

As a suggestion, it would be really helpful if the action would print the CLI version that's being used, and the CLI command that's being run. This way I could do the investigation outside of a pipeline.

Apologies, looks like I missed adding dependsOn to the schema, which is validated against in the action for convenience.
I'll make sure to add it to the schema, which will solve this issue.  In the meantime, you can turn off the schema validation temporarily with the disable-schema-validation option.

print the CLI version that's being used

Thanks for the feedback, i'm surprised the output doesn't have the version in it today.  As an FYI, the action will dynamically fetch the latest published CLI each time, unless you override it.


Consumer side integration test only works with @RabbitListener annotated method

In the project i am currently working on an application has one queue on which it receives all events, therefore we are using one receiver class (annotated with @RabbitListener) with multiple @RabbitHandler annotated methods.
It seems it is only possible to create consumer side integration tests, using the cloud contract stubrunner, when single @RabbitListener annotated methods are used on the consumer side.
Is it possible to get consumer side integration tests working based on the consumer solution in my project (@RabbitListener annotated receiver class with multiple @RabbitHandler annotated methods)?
If not is it possible to add support for this in spring-cloud-contract / stubrunner?
Example:
@Component
@RabbitListener(queues = EVENTS_QUEUE)
public class EventReceiver {

    @RabbitHandler
    void receive(Event1 event) {
        // ...
    }

    @RabbitHandler
    void receive(Event2 event) {
        // ...
    }
}

Could you please create a small project that replicates this issue? it will be easier to debug this

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Please do not close this issue, i am preparing a full example, which i plan to add (early) next week.

cdc-example.zip
The example code contains two implementations, the CommandConsumer which has one @RabbitListener annotated method and the EventConsumer which contains two @RabbitHandler annotated methods. In creating this example I got the Consumer integration tests working for both consumers, however I did discover why previous attempts to get them working failed.
In our case we created one binding (ExampleConfig.java) for all events, using a wildcard in the routingKey configuration of the binding. In the production code this works perfectly, however in the spring-cloud-contract consumer side integration tests it does not, the consumer side integration testing requires exact matching routingKeys (line with routingKey.equals(binding.getRoutingKey()) in MessageListenerAccessor.java, see below) for its bindings. Checkout ExampleConfig.java for these bindings, the wildcard is currently commented out.
Is it possible to add support in case a wildcard is  used in the routingKey of a binding, spring-cloud-contract consumer integration testing will also identify this binding as being correct?
MessageListenerAccessor.java
	private Set<String> collectQueuesBoundToDestination(String destination,
			String routingKey) {
		Set<String> queueNames = new HashSet<>();
		for (Binding binding : this.bindings) {
			if (destination.equals(binding.getExchange())
					&& (routingKey == null || routingKey.equals(binding.getRoutingKey()))
					&& DestinationType.QUEUE.equals(binding.getDestinationType())) {
				queueNames.add(binding.getDestination());
			}
		}
		return queueNames;
	}


[OpenAI] Fix broken links after merge the feature branch to main

replace feature branch name to the main branch name.

API change check
API changes are not detected in this pull request.


Bump rust-version to 1.39

Forgot to do this after #27

Could you do the same to .clippy.toml?
https://github.com/smol-rs/event-listener/blob/a01518f41c5c4acd71fb6a55ef2cc2675310dfca/.github/workflows/ci.yml#L37-L39


feat(amplify-category-api): support path parameters in REST APIs

Issue #, if available:
#3357
Description of changes:
Adds support for path parameters in REST APIs. For example, specifying path /item/{itemId} will populate the params object in the resulting ExpressJS lambda with an itemId field and value corresponding to the request.
Because CFN and ExpressJS have different syntax for path parameters, there is some translation logic between the two.
Tested with both DynamoDB CRUD Lambda and ExpressJS Lambda.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #3394 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master    #3394    +/-   ##
========================================
  Coverage   60.16%   60.16%
========================================
  Files         254      254
  Lines       12459    12459
  Branches     2580     2441   -139
========================================
  Hits         7496     7496
- Misses       4626     4641    +15
+ Partials      337      322    -15

Impacted Files
Coverage Δ

packages/graphql-mapping-template/src/print.ts
35.71% <0.00%> (ø)
:arrow_up:

packages/amplify-appsync-simulator/src/index.ts
73.68% <0.00%> (ø)
:arrow_up:

...ages/amplify-appsync-simulator/src/server/index.ts
64.28% <0.00%> (ø)
:arrow_up:

...ges/graphql-transformer-core/src/util/fileUtils.ts
11.76% <0.00%> (ø)
:arrow_up:

...es/graphql-dynamodb-transformer/src/definitions.ts
84.84% <0.00%> (ø)
:arrow_up:

...es/graphql-transformer-core/src/stripDirectives.ts
35.29% <0.00%> (ø)
:arrow_up:

...amplify-appsync-simulator/src/server/operations.ts
28.45% <0.00%> (ø)
:arrow_up:

...graphql-transformer-core/src/TransformerContext.ts
26.20% <0.00%> (ø)
:arrow_up:

...mplify-appsync-simulator/src/resolvers/function.ts
9.67% <0.00%> (ø)
:arrow_up:

...plify-appsync-simulator/src/server/subscription.ts
26.81% <0.00%> (ø)
:arrow_up:

... and 4 more

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 9462bb5...cee3ced. Read the comment docs.

Codecov Report

Merging #3394 into master will increase coverage by 0.34%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #3394      +/-   ##
=========================================
+ Coverage   59.06%   59.4%   +0.34%
=========================================
  Files         284     282       -2
  Lines       13206   13130      -76
  Branches     2505    2495      -10
=========================================
  Hits         7800    7800
+ Misses       5000    4924      -76
  Partials      406     406

Impacted Files
Coverage Δ

packages/amplify-util-mock/src/api/index.ts

...es/amplify-util-mock/src/api/resolver-overrides.ts

packages/amplify-util-mock/src/utils/index.ts

...ages/amplify-util-mock/src/utils/lambda/execute.ts

...plify-util-mock/src/api/run-graphql-transformer.ts

...kages/amplify-util-mock/src/__e2e__/utils/index.ts

...plify-util-mock/src/__e2e__/utils/cognito-utils.ts
0% <0%> (ø)

...mplify-util-mock/src/__e2e__/utils/test-storage.ts
0% <0%> (ø)

packages/amplify-util-mock/src/storage/storage.ts
0% <0%> (ø)

...ges/amplify-util-mock/src/utils/config-override.ts
0% <0%> (ø)

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 ab369b3...ebdf56e. Read the comment docs.


fileserv file_and_error_handler does not correctly invoke error_template

Currently when requesting a file which is not available the 404 page is blank.
This is due to error_template being called with None.
Relevant lines in fileserv.rs:
https://github.com/Indrazar/start-axum/blob/main/src/fileserv.rs#L25
https://github.com/Indrazar/start-axum/blob/main/src/fileserv.rs#L30

Requesting http://<IP_ADDRESS>:3000/404 also results in a 200 (OK) rather than a 404.

Both the lack of 404 and the error handling will be fixed after this PR or something similar is pulled.

closed by 44191fc989e64691d28c5cea6d318d3f8b2bb094


Add metrics support

Time spent in MySQL-Fetch, Redshift load, Vacuum
Tables loaded
Errors in table load.

@ShahSunny Right now fetch, redshift load & vacuum is being done in a single transaction so I am calculating complete time taken by transaction.

@ShahSunny Right now fetch, redshift load & vacuum is being done in a single transaction so I am calculating complete time taken by transaction.


Included note on data encrypted at rest

Azure Security PLR requires customer facing language for encryption at rest.

@hrazi : Thanks for your contribution! The author(s) have been notified to review your proposed change. @chpalm

Hi @hrazi - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. Would you make this content update in the private repo instead? Thank you! We'll close this PR.


Master

Coverage increased (+1.08%) to 73.418% when pulling cc844fdb1826f122c13f74f57ec204eea3a0afd6 on david-puglielli:master into 5dabd47e41bf4f863f8c56197c213a4e76d3ea25 on microsoft:master.

Codecov Report

Merging #1031 into master will decrease coverage by 1.69%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1031     +/-   ##
=========================================
- Coverage   80.49%   78.79%   -1.7%
=========================================
  Files          25       25
  Lines        7758     8146    +388
=========================================
+ Hits         6245     6419    +174
- Misses       1513     1727    +214

Impacted Files
Coverage Δ

...vc14/x86/php-7.1.29-src/ext/pdo_sqlsrv/pdo_dbh.cpp

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_init.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/shared/core_util.cpp

...c14/x86/php-7.1.29-src/ext/pdo_sqlsrv/pdo_util.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/php_pdo_sqlsrv_int.h

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_conn.cpp

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_stmt.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/shared/core_sqlsrv.h

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_util.cpp

...6/php-7.1.29-src/ext/sqlsrv/shared/core_stream.cpp

... and 40 more

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 5dabd47...cc844fd. Read the comment docs.


fix ./snippets/markdown/image/edgetpu/python.md

An image is passed into classifyImage, not an image path so trying to open the image path throws an error. Then resizing the image is not needed as it has already been resized before being passed in. Description changed to include correct parameters.

/gcbrun

Thanks for catching that


Custom instruments or out of range notes' red boxes are not aligned properly

Describe the bug
The red boxes which are on all the custom instruments and out of range notes are not aligned correctly.
To Reproduce

Place a out-of-range note
see error

Expected behavior
No gaps between the note and the red line.
Screenshots

Seems to be a bug with the draw_rectangle function in GMS 2.3. It seems to have become much less accurate: https://forum.yoyogames.com/index.php?threads/quick-q-draw_rectangle-not-accurate.78622/

Seems to be a bug with the draw_rectangle function in GMS 2.3. It seems to have become much less accurate: https://forum.yoyogames.com/index.php?threads/quick-q-draw_rectangle-not-accurate.78622/


Added sr_latn locale

Added sr_latn locale to 'Available' object and sr_latn plural forms

The pr should be done on bitbucket


[FP]: Custom package openapi-generator-templates != openapi_generator

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:openapi-generator:openapi_generator:3.2.2:*:*:*:*:*:*:*
CVE
CVE-2023-27162, CVE-2019-11405, CVE-2021-21428, CVE-2021-21430, CVE-2021-21429
ODC Integration
{"label"=>"Maven Plugin"}
ODC Version
9.0.10
Description
Please note that the dependency<EMAIL_ADDRESS>is not to be found in any public Maven registry as it is an internal dependency owned by the company I work for.

I agree to that point - we can generate the suppresion ourselves.
I'm just wondering why there is even a match on that cpe. Our package name is openapi-generator-templates, the cpe is cpe:2.3:a:openapi-generator:openapi_generator:3.2.2:*:*:*:*:*:*:*. To me it looks like the matching is done with a prefix-match like the cpe was cpe:2.3:a:openapi-generator:openapi_generator*:3.2.2:*:*:*:*:*:*:* (note the asterisk after the package name). Isn't that a bug in the dependency check?

Isn't that a bug

No: #6658

Alright, thanks for your fast response and for the reference. I'll close this issue then.


Livestream VOD download fails with "Video 'xxxxx' does not contain any playable streams"

Version
1.10.8
Platform
Windows 10
Steps to reproduce
Trying to download my favourits musician's vods does not work for a while after the stream has ended.

https://youtu.be/-EuXplJPP6Q (May start working at some point but doesn't work now 11:00-UTC)

Other recent (max few hours old) vods should reproduce the error if the provided link stops working

Entering URL into downloader and hitting "process query" ends in the error Video '-EuXplJPP6Q' does not contain any playable streams.

Details
I expect to be able to download live stream vods directly after the live stream has ended ~or even while the live stream is running~ (seems to be limitation of youtubeexplode).
My best guess to what's happening is that youtube is reprocessing the vod after stream ends and only after this the client is able to download the "video".
Reason why i can't wait for the link to start working is because the artist deletes their vods shortly after.
Checklist

[X] I have looked through existing issues to make sure that this bug has not been reported before
[X] I have provided a descriptive title for this issue
[X] I have made sure that that this bug is reproducible on the latest version of the application
[X] I have provided all the information needed to reproduce this bug as efficiently as possible
[ ] I have sponsored this project

While debuging myself found it it's an issue with youtubeexplode.

Active live streams cannot be downloaded. As for live streams that have concluded, it might take some time (up to 24 hours) for the static streams to become available.


Remove service account cred param, bump up various nginx timeouts.

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it: Default nginx parameters limit 100 hollow-nodes to come up and running successfully. This PR boosts the timeouts and removes service account cred param as it is done in one-box script.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/approve

/lgtm


Adapt 2.0 evaluation to cross modal example

@bwanglzu it is to showcase that id sometimes is random and out of users control and tags id u can always control

okay, I remember now


Non verbose errors.

I am trying to check haskell code and when i use cabal sanboxes I get this error with ghc-mod. How do i make this error more verbose so I can troubleshoot?
syntastic: error: checker haskell/ghc_mod returned abnormal status 1

As I said on SO, this is not a syntastic error. :)
Please open a Haskell file, set g:syntastic_debug to 3, run the checker, then run :mes and post the output.

How do you set g:syntastic_debug to 3?

You run :let g:syntastic_debug=3.

It gives me this very long error:
http://pastebin.com/Us2ufkxJ

Only this line is relevant:

checker output: ['ghc-mod: /home/kyle/Desktop/haskell/Phalanx/dist/setup-config: hGetContents: invalid argument (invalid byte sequence)', '']

You need to fix this.

I have no idea where to go to fix this... do you have any idea?

A search for the above error seems to imply this is a locale problem.  Please run these in a terminal and post the output:
locale
LC_ALL= LC_MESSAGES= locale

Also, do you get the same error if you run the checker in a terminal?  The exact commands are:
cd /home/kyle/Desktop/haskell/Phalanx
ghc-mod check --boundary="" RegexParser.hs

locale:
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Next Command:
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES=
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
ghc-mod command:
ghc-mod: /home/kyle/Desktop/haskell/Phalanx/dist/setup-config: hGetContents: invalid argument (invalid byte sequence)
Yes it appears to be a problem with ghc-mod should i open an issue on the ghc-mod github?

I suppose the ghc-mod people are the most qualified to help you with it.
Going through your logs again, it looks like hdevtools is crashing too:

checker output: ['cannot satisfy -package-id base-<IP_ADDRESS>-1b689eb8d72c4d4cc88f445839c1f01a', '    (use -v for more information)', '']

Again, something that you might want to fix.  The commnand producing that message is:
hdevtools check /home/kyle/Desktop/haskell/Phalanx/RegexParser.hs

I think I have figured it out so when i ran -V on hdevtools it showed this
hdevtools: version <IP_ADDRESS> (ghc-7.6.3-x86_64-linux, cabal-1.16.0)
The important part is the fact that cabal sandboxes are a feature that is new to cabal.
Thats the reason everything crashes when I use sandboxes.

I just updated hdevtools and that didnt help anything :/


Feature request: link to post and/or post author's profile

Please provide a link to the job post on HN. Several submissions contain "email to the address in my profile" or similar wording. For those submissions, I have to find the post by paging through the entire thread. Even for posts that contain an email address, I prefer to try to find the author's name.

My apologies, @csprl-nowigence . I am missing these notifications for some reason.
You can jump to the original listing on HN by double-clicking the text body of the listing. This and other tips are listed under "Pro Tips", an inconspicuous button on the top-right.


[codelab] missing package 3. Add a navigation drawer

try to follow tutorial but webpack compile failed
WHERE:
@https://codelabs.developers.google.com/codelabs/mdc-102-web/#2
3. Add a navigation drawer

ERROR:
ERROR in ./app.scss
    Module build failed:
      @include mdc-typography-baseline-top($mdc-list-item-primary-text-baseline-height_);
              ^
          No mixin named mdc-typography-baseline-top
          in<EMAIL_ADDRESS>(line 109, column 12)
     @ multi (webpack)-dev-server/client?http://<IP_ADDRESS>:8080 ./app.scss

manual install
npm install @material/typography

This is probably due to conflicting versions of MDC Web dependencies. We've since corrected the codelab instructions to ensure that we're instructing a consistent version to be used across 101, 102, and 103. (All npm install commands in these codelabs now specify @0.35.0 after the package.)
See #52 for more information. I'm going to close this since it seems like a very similar issue.


[SPARK-44931] Fix JSON Serialization of Spark Connect protos for Event Listener

What changes were proposed in this pull request?
This patch fixes an issue with the serialization of the Spark Connect proto messages during the event notifications.
Without this patch upon receiving Spark Connect events, the Spark log will be full of the following messages:
23/08/23 08:55:52 WARN DBCEventLoggingListener: Error in writing the event to log
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: org.apache.spark.sql.connect.service.SparkListenerConnectOperationStarted["planRequest"]->org.apache.spark.connect.proto.ExecutePlanRequest["unknownFields"]->com.google.protobuf.UnknownFieldSet["defaultInstanceForType"])
	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
	at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1308)
	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:948)
	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:726)
	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:772)
	at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)

The reason is that the JSON serializer cannot properly deal with recursive nested structures and for that reason, a custom JSON serializer is added that uses the built-in protobuf serialization.
Why are the changes needed?
Stability / Compatibility
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing UT

@grundprinzip Sorry, I didn't find a way to validate this patch. Is there any chance you could add a new test case or describe how to verify it manually?

I had a separate PR that ignored the field from serde. I'm open to either approach. The other PR has some additional testing that could be used here.


fix: update proguard rules

Connection with issue(s)
Resolve issue #2139

Testing and Review Notes
Steps to reproduce are mentioned in above Issue. This PR solves the error message for me.
The change originates from flutter output in the error message. Applying the same change to the local proguard-rules.pro file does not work unfortunately
Screenshots or Videos
N/A

To Do

[x] double check the original issue to confirm it is fully satisfied
[x] add testing notes and screenshots in PR description to help guide reviewers
[ ] request the "UX" team perform a design review (if/when applicable)

Looks good to me.

duplicate of #2102

oh, thanks for pointing it out. I only looked for potential duplicate issues, not for PRs. I'll close this in favor of the older one

Applying the same change to the local proguard-rules.pro file does not work unfortunately

Have you already applied this file in Gradle configuration?


yarn test sometimes fails due to timeout

Target Package

@kintone/data-loader

Environment

Operating System: macOS 10.15.7
Browser: N.A.
Node.js version: v14.16.1

Current Behavior

It depends on the spec of PC, but I sometimes face this error when running yarn test at the root of js-sdk.
$ yarn test

...

FAIL src/__tests__/main.test.ts (39.343 s)
  ● main › should throw error when no commands are passed

    thrown: "Exceeded timeout of 5000 ms for a test.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      28 |
      29 | describe("main", () => {
    > 30 |   it("should throw error when no commands are passed", () => {
         |   ^
      31 |     return checkRejectArg({
      32 |       arg: "",
      33 |       errorMessage: "Not enough non-option arguments: got 0, need at least 1",

      at __tests__/main.test.ts:30:3
      at Object.<anonymous> (__tests__/main.test.ts:29:1)

Test Suites: 1 failed, 14 passed, 15 total
Tests:       1 failed, 36 passed, 37 total
Snapshots:   0 total
Time:        40.404 s
Ran all test suites.
error Command failed with exit code 1.
lerna ERR! yarn run test exited 1 in '@kintone/data-loader'
lerna WARN complete Waiting for 2 child processes to exit. CTRL-C to exit immediately.

We set jest.setTimeout in #882 , but it doesn't seem to work?
(The error message says "Exceeded timeout of 5000 ms")
Expected Behavior

jest.setTimeout works correctly, and the tests pass.

Related jest issues:

https://github.com/facebook/jest/issues/11500
https://github.com/facebook/jest/issues/11607

According to the first issue,

As a side note, after adding a global timeout in the jest config the problems went away,


access_token is undefined

For some reason, after I log in with my Auth Provider, I get back a id_token, but not an access token.

I have seen my colleagues being able to make requests to the Resources Provider using the id_token, but as I had understood, that is not what should be done. It should be the access_token, right?
This is my component:
const Application: React.FunctionComponent<{}> = () => {
  return (
    <AuthProvider
      authority="..."
      clientId="..."
      redirectUri="..."
      scope="openid profile email"
      responseType="code"
    >
      <MainLayout></MainLayout>
    </AuthProvider>
  );
};

What am I doing wrong??

You can choose what kind of token you receive from your OIDC server. Which flow are you using at the moment?


Add metrics-scala.

As far as I can see these is nothing special about metrics-scala's build so I've put nothing in community.dbuild.

in your build.sbt can you update this logic
      case v if v.startsWith("2.12") => Tests.Argument("-l", "<scala2.12")

to accommodate Scala 2.13 as well? since this will be merged forward into the 2.13 community build as well

let's continue on #693


Support for dotnet test --collect "Code Coverage" on macOS ARM64

Add support in Microsoft.CodeCoverage nuget package for collecting code coverage on macOS arm64.

For version >= 17.5.0-preview-20221021-01   dotnet test --collect "Code Coverage" is fully cross plat.
https://dev.azure.com/dnceng/public/_artifacts/feed/test-tools/NuGet/Microsoft.CodeCoverage/overview/17.5.0-preview-20221021-01


Replace JUnit's @Parametrized with JUnitParams

JUnitParams is much less verbose and it is easier to see the test case(s).

Applied both in master and solutions branches. Thank you!


[Bug]: SimpleRenderer should not invoke process.release

Replication of the Problem
Run a listr job, which outputs everything to stderr.
Write to stdout anything and pipe stdout into a file (>)
Result: file will contain ANSI_ESCAPE_CODES.CURSOR_SHOW prepending the payload
Problem
I have multiple commands in my cli which ouput some stuff to stderr,
and the described above causes the usefull data to contain ansi escapes which
must be then somehow removed from it.
i suggest to remove release call in
https://github.com/listr2/listr2/blob/85d175658136647fffcaa8abfc6d5cfbedb201df/packages/listr2/src/renderer/simple/renderer.ts#L52
since simple renderer also does not call highjack on start
And this renderer generally has no problem with stdout output
Environment
linux
node20
latest
Log Output
No response
Preflight

[X] Read/Search existing issues and the provided documentation.
[X] Be sure to not open an issue in the looking for contributions section.
[X] Checking the latest version of the software to confirm it has not been fixed already.

Thank you very much for reporting this, this had slipped through while refactoring.

:tada: This issue has been resolved in version 8.0.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.0.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.0.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.0.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Consider referencing maxogden/mississippi

Nice guide! I thought it might be worth expanding the streams paragraph to mention maxogden/mississippi—not as a module you should actually require, but as a great README to reference when working with streams.

my dog

In addition to this, might be worth mentioning pull-stream?  Goes with the stuff said about functions and error handling.

@michaelrhodes thanks, linked to it!
@jamen I'm a big fan of pull-streams - event to the point where I'm part of the org, but I don't use them in my day to day work. I think despite their superior design, they're not quite as practical as sticking to Node streams.


Google Authentication

Hello,
I'm trying to use the plugin to give the users of my site the possibility to login with their gmail account. I've succeed to register the application and the site can log the user in. However, each time the user comes back, a new user is created.
How can I associate the same returning user with his account? How can I get his e-mail and save to sfGuardUser?
Could you please make an example available?
PS: I've read the introduction available at OpenID site. I'm familiar with those concepts now.
Regards,
Paulo

Nice! I'll give it a try as soon as I have time. Thanks!


[incubator/cassandra] Decommision non-persistent pods on termination

If persistence is disabled, try to prevent data loss when terminating pods by decommissioning them.

@twz123 yeah definitely should bump to 0.3.0 as its changing behaviour.

/lgtm

Didn't realize that there were merge conflicts. I updated the PR and bumped the chart version to 0.4.0.

/ok-to-test

/lgtm


Animation Player resetting main spine rotation when playing animation

Godot version
v4.0.beta8.official [45cac42c0]
System information
Ubuntu 20.04
Issue description
I have this weird bug where if I make a character model's skeleton seems to reset when I switch to another animation that doesn't use that bone.
To give context, I'm trying to make a Virtua Cop style game where the enemies show a death animation, but it stops and the enemies flash away. When I try to recreate this, it works fine in the editor, but in the actual game, it resets the main spine bone rotation, resulting in the error below. This didn't happen with me on Godot 3.5.

Steps to reproduce

Import a glf or dae of a character with armature animations
Make a new animation for it that doesn't use any of the bones
Make it switch between an armature animation and the new animation in game

Minimal reproduction project
problem.zip

Duplicate of #63465. Tentatively, you can use reset_bone_poses() to solve this problem.

Oh sorry, I might have misunderstood, are you saying that the problem is that the bones are reset even though you are only using AnimationPlayer? If you are using AnimationTree, it will reset, but it seems strange that only AnimationPlayer is causing the reset. I will take a look at it later.

I investigated. It seems that this problem can be solved by making the scene instance containing the AnimationPlayer Make Local. I guess there is probably a referencing issue somewhere, but I don't know if this is what was intended. I will continue to investigate.

Ah, the problem is much simpler: the default_blend_time in AnimationPlayer was set to 0.5.
The blending algorithm has changed in 4.0, so blending is now based on the default value (rest in Skeleton). To resolve this, either temporarily set default_blend_time to 0 or use AnimationPlayer::stop(true).


Move data between different notebooks

Assuming we have multiple notebooks for different tasks. For example, one notebook to build a regression model and another one to build a decision tree. My plan is having a main notebook and calling other notebooks to build models and then their performance measures again in the main notebook. I know how to run other notebooks within a notebook but it looks it does not return anything. Is it possible to do it? If so, I appreciate if can give a pointer to some examples. Thanks!

do you mean calling other notebooks with the beaker.loadLibrary() function?
are you using Beaker Lab or standalone Beaker?
you can use the beaker object or a global variable to return a value from a notebook.

Thanks a lot Scott for your quick response. I'm using standalone Beaker. As far as I understand beaker.loadLibrary() is good to share a piece of code between different notebooks. Am I right?
However what I need is a way to have access to the value of an object defined in another notebook. For example, If I define a beaker object called a in notebook n1 and assign a value to it, I want to have access to the value of a in another notebook like n2.
BTW, do you have any example of using beaker.loadLibrary()? It is a really nice feature and I want to use it.
Thanks a lot!

sure, here's an example: https://pub.beakernotebook.com/publications/9b733546-6550-11e6-95c0-6fdae1f6d0ab
loadLibrary() hasn't been released in standalone Beaker yet, it is only available on http://lab.beakernotebook.com.
but when it is released you will be able to load other notebooks and get values from them, either the beaker object or global variables.

Great! Thanks a lot Scott! Looking forward to use it in standalone Beaker.


chore: add repo metadata file

Thanks @samarthsingal. I will wait for a second approval from the @googleapis/yoshi-java folks because this file is a little picky.


Add the code.

@Kininaru @sh1luo plz review.

Except for the problem of modifyUser, everything looks ok.


Simplify build-manifest

Simply flatten all the info.yml from the scheme directories into a list of schemes
Read the header from a file and do away with organisms,yml
Allow the schema directory to be specified using PRIMER_SCHEMA_DIR environment variable

Thanks! I'm broadly happy. This partially restores some functionality I removed a month or two ago for reading env vars. If this unblocks you I can merge now, otherwise I may add some trivial changes before merging. Thoughts?


refactor: validate parameters and the returns of functions

Imports additions to validate the types of functions' parameters and its returns using mypy:
Line 4: from typing import List, Callable, TypeVar, cast, Any
Line 5: from typing import NoReturn
Initialize the generic type to use with decorators:
Line 8: F = TypeVar('F', bound=Callable[..., Any])
Other changes:
Line 11: add the "NoReturn" for the function warn_missing_module()
Lines 30 and 41: add the return type as F (generic type)
Lines 55 and 57: add the cast to using decorators with wrappers (see in https://mypy.readthedocs.io/en/stable/generics.html#declaring-decorators)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Replace Number.MAX_SAFE_INTEGER with integer.MAX_VALUE in tests

After the release of the language server which contains this change https://github.com/ansible/ansible-language-server/pull/261, and the release of extension to use the ansible-language-server version 0.5.3, the e2e tests will fail.
To fix them, we need to update every instance of Number.MAX_SAFE_INTEGER with integer.MAX_VALUE (from vscode-languageclient).
Refer to this PR for details: https://github.com/ansible/ansible-language-server/pull/261

Fixed in v0.8.1


rerun bcbio after adding new samples in CSV file

Hi,
I am working on a family with Mendelian disease. We first sequenced some members and ran bcbio pipeline, and several weeks later we have new members sequenced and need to rerun bcbio. I updated CSV file and deleted checkpoints_parallel direcotry, it seems not work (final VCF file does not have information for new members). How can I do?
Thanks,
Hongen

Thanks for your help and suggestions.
Hongen


Fix "home" link in jekyll default layout

It was linking to /bluebird/, but the new site needs it to link to /.

thanks


Limitations to input size

If I am interested in identifying stable clusters from ~100,000 genomes, would there be any complications in analyzing them in a single run? Or would you recommend dividing the inputs into batches of 10,000 genomes, constructing an initial reference database, and subsequently updating the database with each batch?

10^5 might be a bit ambitious with the current code, which scales with N^2. I would agree with your suggestion of iterative updates instead.
10^4 as an initial set is definitely doable (and you can check your fit, other errors without committing loads of computing time). A random subsample should work.
Then using assign query mode to deal with the remaining batches.
Let us know if you run into any issues!


Copy-SqlStartupProcedure

Is this a feature OR bug:
Enhancement
https://trello.com/c/HQi8bYXI
Additional comments
$server.EnumStartupProcedures()

Hi @SirCaptainMitch , I clicked on the Trello link but got the following:
"Card not found.
This card may be on a private board. If someone gave you this link, they may need to invite you to one of their boards or teams."
Thanks,
Mike


Remove ellipses from documentation titles

They look weird and inconsistent with all the other top-level titles that do not have ellipses.

@bot-gradle test and merge.

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


setting server.headersTimeout AWS ELB

Node version:
10.21.0
Sails version (sails):
0.12

We need to adjust how our app is loaded and need access to the actual server object in order to apply a fix that NodeJS 10.x has caused. NodeJS AWS ELB 502 Errors
I need to adjust these parameters on lift of the application but don't know where I can get access to the underlying server object:
server.keepAliveTimeout = 61 * 1000; server.headersTimeout = 65 * 1000;

I found it, serverOptions should do the trick.

I tried this with 1.3.1 and it doesn't fix errors:
module.exports.http = {
  serverOptions: {
    keepAliveTimeout: 70 * 1000,
    headersTimeout: 75 * 1000,
  }

This seems to fix but I guess this is a workaround:
module.exports.bootstrap = function(cb) {
    sails.hooks.http.server.keepAliveTimeout = 70 * 1000
    sails.hooks.http.server.headersTimeout = 75 * 1000
}


Removed pandas warning when converting to Woodwork in search()

Three possible solutions:

Use copy_datatable=True in setting the Woodwork table internally. This might have a degradation in the speed of search() since it's copying the entire data table, will need to run performance testing to verify. Current route that this PR goes with.
Disable the warning in pandas. Another possible solution, but I'm hesitant to disable error messages just to remove the out.
Change evalml/preprocessing/utils.py to use .loc instead of .iloc. This may cause issues with indexes that are not sequential integer values (such as strings) and unique numbers but aren't zero-indexed.

Open to hearing why we should or should not go with another approach that isn't option 1.
Resolves #1344

Interesting. I am now currently unable to reproduce the error on today's main. After doing some digging, it turns out that a change in the TextFeaturizer commit  did something so that the error message does not appear. I am still able to replicate the error if I used the commit before and the pandas + woodwork versions that Freddy has.

@christopherbunn interesting! Do you know what change did it?
A few candidates at first glance:

We did a warning filter
Added featuretools and nlp_primitives as core requirements, maybe that changed our pandas version somehow

Happy to discuss further if you'd like

Ok, this is confusing me as well. If I run this code I get the warning (note pandas only):
import pandas as pd

df = pd.DataFrame({
    'id': [0, 1, 2],
    'val1': [100, 200, 300],
    'val2': [10, 20, 30],
})
df_slice = df.iloc[[0, 1]]
new_vals = pd.Series([1000, 2000])
df_slice.loc[:, 'val1'] = new_vals

But, if I add an import evalml statement at the top, the warning goes away. I'm not sure what it is exactly, but it seem like something that is happening during import evalml is causing the warning to go away or be suppressed.

@christopherbunn @thehomebrewnerd Looks like this line that got recently added to our top-level init file may have something to do with it?
warnings.filterwarnings('ignore', 'The following selectors were not present in your DataTable')

A little more digging. Adding import featuretools instead of import evalml also causes the warning to disappear. I see that featuretools is now imported in text_featurizer.py, so maybe it is actually something in Featuretools that has caused the warning to disappear.
I get the warning even with the new warnings.filterwarnings line removed, and given I can replicate the behavior without evalml anywhere in the loop makes me think this is because caused by something else. Featuretools is my current guess, but I'm not sure what exactly...

The suppression of this warning is being caused by Featuretools. This line in entityset/entityset.py is the source: https://github.com/FeatureLabs/featuretools/blob/eab027e10e9c89c906954273c7590b7714a4ccc0/featuretools/entityset/entityset.py#L24

Great find!

Thanks @thehomebrewnerd! I'll close out this PR and issue then.

@thehomebrewnerd wow, thanks for digging that up! So, by including featuretools as a core dependency, we've chosen option 2 from @christopherbunn's great list in the PR description: disable the warning in pandas. Sounds good to me for the time being.
I do wonder if there's a pattern which is better for users here. Setting pd.options.mode.chained_assignment = None is a global configuration, meaning it applies outside of featuretools code. If someone is using featuretools as a third-party library, that means simply importing featuretools will change pandas behavior here. That seems undesirable. We have the same concern in evalml with our warning handling. Anyways, I'll file something separate to continue discussing this.
Thank you all!!


Hive 23767 : Pass ValidWriteIdList in get_* HMS API requests from HMS Client

NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HIVE-XXXXX: Fix a typo in YYY)
For more details, please see https://cwiki.apache.org/confluence/display/Hive/HowToContribute

@pvary Addressed all your comments and rebased with master.


Estonia (ee): no longer generating vp files

Estonia has pvol files on BALTRAD, but vp files are no longer being created since:
eehar: 2019-01-15
eesur: 2018-08-06

@leijnse @adokter Any idea what the issue might be?

I'm still seeing vp files for these radars being generated at ftp://co-0181.c.ipeer.se, could this be an issue on your end downloading the vp files?

Ok, I'll look into this.

The pipeline uses ftp://odc.baltrad.eu: is that the same server?

No they have different ip

Actually I just logged into odc.baltrad.eu, seems to be identical to the other server. Also running vol2bird 0.3.20