[CHEF-6100 CHEF-6112] GTM and OneTrust changes

Description

Add onetrust
Add GTM

https://chefio.atlassian.net/browse/CHEF-6100
https://chefio.atlassian.net/browse/CHEF-6112
https://github.com/chef/chef-server/assets/102516633/1d7ba2b6-d472-4e6c-83a0-a59ab871a7ec
Issues Resolved
[List any existing issues this PR resolves, or any Discourse or
StackOverflow discussions that are relevant]
Check List

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/main/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

We need to be very careful adding any kind of analytics in this space, and very clear that this is disabled by default and only enabled when configured.
To help with that the commit message and the PR should include wording to the effect of:
Add support for Google Tag Manager and OneTrust to oc-id.

Both are disabled by default and must be explicitly enabled in server configuration."

Please squash commits and rebase.

Thanks mark for the suggestion, this message clearly conveys the intention of the work.
I will make the changes . Thanks!

What versions of server is this going to be released in? Just the latest version of 15.x?

Hi @jashaik
Can we please merge this if there is nothing pending on this one. We need to proceed with dev-complete status for GDPR activity, this closure will help us to update other stakeholders for the same.

What versions of server is this going to be released in? Just the latest version of 15.x?

@jashaik @marcparadise @kalroy @karunesh-tech

What versions of server is this going to be released in? Just the latest version of 15.x?

@IanMadd it will be a patch release of 15.9 chef-server.

@ayush-billore See changes in #3757. You can delete the docs changes in this one. I included them in 3757.

Adhoc build: https://buildkite.com/chef/chef-chef-server-main-omnibus-adhoc/builds/6064


Mysterious hole in cohort registration

Although, in general, servers successfully register with cohorts all of the time, there have been a couple of occasions when a server has not responded to a registration request.  The problem seems to be a timing issue when one member is new to the cohort.
This issue is to remind me to investigate this further.  @grahamwallis  discovered that it works perfectly if you turn on debug trace in the event listener.

I have a scenario where cohort members have different views. This is based on the 'vdc' helm chart running at a customer. The cohort consists of atlas proxy, igc proxy, a single egeria platform.  Looking at cohort remote membership

igc knows about atlas
egeria knows about atlas & igc
atlas knows about nothing

Events seem to be flowing fine in kafka. Currently retrieving the event history if I can
Not tried repro with the vdc chart myself yet.
Will add a link to log files when I have pulled down the full data.

Since logs contain system names etc  I will share via email. If anyone else is interested in assisting please let me know.

I think it is the same issue

I'm happy to help diagnose this - I have a working CTS cohort configuration but I also see registration mishaps as Mandy outlined above. Happy to go through your logs and to experiment on my cohort.

Checking in my docker-compose tutorial environment for cocMDSx
1 - 2,3
2 - 1,3
3 - 1,2
4 - 1,2,3
So here we have 3 members that happily seem to see each other - cocoMDS1, cocoMDS2, cocoMDS3 - yet cocoMDS4 is also part of the cohort but not seen by others. Note that #4 does not have it's own repository, but it has joined the cohort so should be reported
If we look at events:
Firstly on the core platform:
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0005 Connecting to cohort cocoCohort
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0029 The cocoCohort cohort inbound event manager is initializing
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0030 Registering the cocoCohort event consumer with the local repository outbound event manager
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0030 Registering the Local Repository Content (TypeDef) Manager event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0030 Registering the Local Repository Inbound Instance Events event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0030 Registering the Cohort to Enterprise event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0031 The cocoCohort cohort inbound event manager is starting with 2 type definition event consumer(s) and 2 instance event consumer(s)
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0026 Initializing listener for cohort cocoCohort
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0019 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort has registered with an event bus connector connected to topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OCF-KAFKA-TOPIC-CONNECTOR-0001 Connecting to Apache Kafka Topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic with a server identifier of ca3b5673-d23b-4169-91b9-e901448a12fc
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OCF-KAFKA-TOPIC-CONNECTOR-0003 8 properties passed to the Apache Kafka Consumer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OCF-KAFKA-TOPIC-CONNECTOR-0002 8 properties passed to the Apache Kafka Producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OCF-KAFKA-TOPIC-CONNECTOR-0010 The Apache Kafka producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic is starting up with 0 buffered messages
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0020 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort is ready to send and receive events
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0060 Registering with open metadata repository cohort cocoCohort using metadata collection id 50ddbe55-32f4-4111-b608-1155de844a62
Wed Oct 09 10:21:18 GMT 2019 cocoMDS2 Information OMRS-AUDIT-0015 The listener thread for an OMRS Topic Connector for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic has started
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0005 Connecting to cohort cocoCohort
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0029 The cocoCohort cohort inbound event manager is initializing
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0030 Registering the cocoCohort event consumer with the local repository outbound event manager
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0030 Registering the Local Repository Content (TypeDef) Manager event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0030 Registering the Local Repository Inbound Instance Events event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0030 Registering the Cohort to Enterprise event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0031 The cocoCohort cohort inbound event manager is starting with 2 type definition event consumer(s) and 2 instance event consumer(s)
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0026 Initializing listener for cohort cocoCohort
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0019 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort has registered with an event bus connector connected to topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OCF-KAFKA-TOPIC-CONNECTOR-0001 Connecting to Apache Kafka Topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic with a server identifier of ff1bc2e2-59d0-4bb9-ba31-6406b4f2db0f
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OCF-KAFKA-TOPIC-CONNECTOR-0003 8 properties passed to the Apache Kafka Consumer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OCF-KAFKA-TOPIC-CONNECTOR-0002 8 properties passed to the Apache Kafka Producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0020 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort is ready to send and receive events
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0060 Registering with open metadata repository cohort cocoCohort using metadata collection id 23005b83-7274-4f80-92b1-cb6946efa4a9
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OMRS-AUDIT-0015 The listener thread for an OMRS Topic Connector for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic has started
Wed Oct 09 10:21:25 GMT 2019 cocoMDS3 Information OCF-KAFKA-TOPIC-CONNECTOR-0010 The Apache Kafka producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic is starting up with 1 buffered messages

Then on the datalake:
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0005 Connecting to cohort cocoCohort
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0029 The cocoCohort cohort inbound event manager is initializing
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0030 Registering the cocoCohort event consumer with the local repository outbound event manager
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0030 Registering the Local Repository Content (TypeDef) Manager event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0030 Registering the Local Repository Inbound Instance Events event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0030 Registering the Cohort to Enterprise event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0031 The cocoCohort cohort inbound event manager is starting with 2 type definition event consumer(s) and 2 instance event consumer(s)
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0026 Initializing listener for cohort cocoCohort
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0019 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort has registered with an event bus connector connected to topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:30 GMT 2019 cocoMDS1 Information OCF-KAFKA-TOPIC-CONNECTOR-0001 Connecting to Apache Kafka Topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic with a server identifier of 2aaa456d-9992-46b9-ae12-42a565bd078a
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OCF-KAFKA-TOPIC-CONNECTOR-0003 8 properties passed to the Apache Kafka Consumer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OCF-KAFKA-TOPIC-CONNECTOR-0002 8 properties passed to the Apache Kafka Producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0020 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort is ready to send and receive events
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0060 Registering with open metadata repository cohort cocoCohort using metadata collection id d18e7297-2c66-41dd-8e2f-492d7845e29f
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OCF-KAFKA-TOPIC-CONNECTOR-0010 The Apache Kafka producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic is starting up with 0 buffered messages
Wed Oct 09 10:21:31 GMT 2019 cocoMDS1 Information OMRS-AUDIT-0015 The listener thread for an OMRS Topic Connector for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic has started
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0005 Connecting to cohort cocoCohort
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0029 The cocoCohort cohort inbound event manager is initializing
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0030 Registering the Cohort to Enterprise event consumer with the cocoCohort cohort inbound event manager
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0031 The cocoCohort cohort inbound event manager is starting with 1 type definition event consumer(s) and 1 instance event consumer(s)
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0026 Initializing listener for cohort cocoCohort
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0019 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort has registered with an event bus connector connected to topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OCF-KAFKA-TOPIC-CONNECTOR-0001 Connecting to Apache Kafka Topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic with a server identifier of 453d668e-46b8-4761-b480-8f0e050d92e3
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OCF-KAFKA-TOPIC-CONNECTOR-0003 8 properties passed to the Apache Kafka Consumer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OCF-KAFKA-TOPIC-CONNECTOR-0002 8 properties passed to the Apache Kafka Producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OCF-KAFKA-TOPIC-CONNECTOR-0010 The Apache Kafka producer for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic is starting up with 0 buffered messages
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0020 The OMRS Topic Connector TopicConnector.Cohort.cocoCohort is ready to send and receive events
Wed Oct 09 10:21:38 GMT 2019 cocoMDS4 Information OMRS-AUDIT-0015 The listener thread for an OMRS Topic Connector for topic egeria.omag.openmetadata.repositoryservices.cohort.cocoCohort.OMRSTopic has started

whilst on the dev platform we see nothing - but this is expected since at this time the notebooks do not have any servers setup.
From this it seems there's no membership request sent by cocoMDS4 - this may be intentional since there is no repo?

This looks correct according to the code - there is specific reference to only reporting repositories , though it seems confusing given that we have a cohort member listening but not reported via the API.

Looking at another deployment of the 'vdc' chart (atlas, egeria, igc) - in my own environment (so we can more easily inspect/debug)
I see
egeria - can see ibmigc, atlas
ibmigc - can see atlas
atlas - can't see any other cohort members

Looking at the code there is a mix up over the use of the RE_REGISTRATION event and the REGISTRATION_REFRESH_REQUEST event during server start up.
If the server has a local repository and never registered with the cohort, it should send a REGISTRATION event.
If the server has a local repository and has already registered with the cohort, it should send a RE-REGISTRATION_EVENT.  This refreshs the registration information about this server in the other members. (In case details of this server have been update in the config).
If the server has no local repository then it should send a REGISTRATION-REFRESH-REQUEST event.  This causes the other repositories to send a RE-REGISTRATION event to allow the local server to build an accurate list of the current active members.  At the moment, it is sending a RE-REGISTRATION event and hence receiving no response from the other systems and as a result the federation list is not being built.
I think I will also change this so a server send a REGISTRATION-REFRESH-REQUEST on start up after it has send any necessary (re)registration event. to ensure it has a complete and accurate list of the remote members.

I will retest in my k8s environment, and if that passes will get back to the team that experienced the error with the vdc chart initially so that they can retest

Awaiting daily container build to verify in controlled environment (#1630 #1734 will improve this turnaround in future)

With new contains

tutorial environment in docker-compose looks fine (as before)
a) AUDIT LOGs look good
b) REST call to query remote registrations also look good
in vdc environment (atlas, igc, egeria)
a) AUDIT LOG show registration messages being received by each of the 3 servers, with the other 2's registrations (ie fixed from before)
b) A request to 'remote-registration' is returning an empty list in each case (CohortMembership ListResponse)

Details from output of API request & summary of audit messages
Atlas cohort membership
{
"class": "CohortMembershipListResponse",
"relatedHTTPCode": 200,
"offset": 0,
"pageSize": 0
}

Mon Oct 14 14:35:02 GMT 2019 ibmigc Information OMRS-AUDIT-0062 Requesting registration information from other members of the open metadata repository cohort coco
Mon Oct 14 14:35:04 GMT 2019 ibmigc Information OMRS-AUDIT-0112 A re-registration request has been received for cohort coco from server myserver that hosts metadata collection 376c8c4c-67c9-4f92-beb9-0c9c19664cba
Mon Oct 14 14:41:14 GMT 2019 ibmigc Information OMRS-AUDIT-0110 A new registration request has been received for cohort coco from server apacheatlas that hosts metadata collection 8a1b15ee-5660-42ba-bcef-0ae75fa54e47
Mon Oct 14 14:41:15 GMT 2019 ibmigc Information OMRS-AUDIT-0106 Refreshing registration with open metadata repository cohort coco using metadata collection id fcb6692c-3dc2-41d4-abc3-394b4d220fe7 at the request of server apacheatlas
Mon Oct 14 14:41:16 GMT 2019 ibmigc Information OMRS-AUDIT-0112 A re-registration request has been received for cohort coco from server myserver that hosts metadata collection 376c8c4c-67c9-4f92-beb9-0c9c19664cba

IGC proxy

{
"class": "CohortMembershipListResponse",
"relatedHTTPCode": 200,
"offset": 0,
"pageSize": 0
}

Mon Oct 14 14:41:13 GMT 2019 apacheatlas Information OMRS-AUDIT-0062 Requesting registration information from other members of the open metadata repository cohort coco
Mon Oct 14 14:41:16 GMT 2019 apacheatlas Information OMRS-AUDIT-0112 A re-registration request has been received for cohort coco from server ibmigc that hosts metadata collection fcb6692c-3dc2-41d4-abc3-394b4d220fe7
Mon Oct 14 14:41:16 GMT 2019 apacheatlas Information OMRS-AUDIT-0112 A re-registration request has been received for cohort coco from server myserver that hosts metadata collection 376c8c4c-67c9-4f92-beb9-0c9c19664cba

Egeria

{
"class": "CohortMembershipListResponse",
"relatedHTTPCode": 200,
"offset": 0,
"pageSize": 0
}

➜  charts git:(master) ✗ kubectl logs vdc-egeria-68789b8b57-c4rw5 | grep AUDIT | grep -y registration | grep -v auditlog
Mon Oct 14 14:34:41 GMT 2019 myserver Information OMRS-AUDIT-0062 Requesting registration information from other members of the open metadata repository cohort coco
Mon Oct 14 14:35:03 GMT 2019 myserver Information OMRS-AUDIT-0110 A new registration request has been received for cohort coco from server ibmigc that hosts metadata collection fcb6692c-3dc2-41d4-abc3-394b4d220fe7
Mon Oct 14 14:35:03 GMT 2019 myserver Information OMRS-AUDIT-0106 Refreshing registration with open metadata repository cohort coco using metadata collection id 376c8c4c-67c9-4f92-beb9-0c9c19664cba at the request of server ibmigc
Mon Oct 14 14:41:14 GMT 2019 myserver Information OMRS-AUDIT-0110 A new registration request has been received for cohort coco from server apacheatlas that hosts metadata collection 8a1b15ee-5660-42ba-bcef-0ae75fa54e47
Mon Oct 14 14:41:15 GMT 2019 myserver Information OMRS-AUDIT-0106 Refreshing registration with open metadata repository cohort coco using metadata collection id 376c8c4c-67c9-4f92-beb9-0c9c19664cba at the request of server apacheatlas
Mon Oct 14 14:41:16 GMT 2019 myserver Information OMRS-AUDIT-0112 A re-registration request has been received for cohort coco from server ibmigc that hosts metadata collection fcb6692c-3dc2-41d4-abc3-394b4d220fe7

However there is something odd -- On the 'egeria' pod itself, I can view the cohort registry directly (file on disk) and I can see both igc and atlas are in there --- so this may be a problem with the service, yet it works ok with the more controlled lab tutorial setup.

Tested in docker-compose notebook environment & in 'vdc' helm chart in k8s

Kafka messages look good
AUDIT events look good
A query of 'remote-registration via API correctly returns the other two servers in each case

Fix looks great.


Issues in left navigation drawer

Jira: https://openedx.atlassian.net/browse/MA-2289

@BenjiLee @danialzahid94 Please review.

[Current coverage][cc-pull] is 43.60% (diff: 0.00%)

Merging [#764][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.01%

@@             master       #764   diff @@
==========================================
  Files           349        349
  Lines         25145      25153     +8
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits          10968      10968
- Misses        14177      14185     +8
  Partials          0          0

Powered by Codecov. Last update [45291c9...104e5fa][cc-compare]
[cc-base-branch]: https://codecov.io/gh/edx/edx-app-ios/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/edx/edx-app-ios/compare/45291c9532a84d2fb0c4474568d5c2df50d15e74...104e5fab2da2014accbc25b3714c05bfffb661af?src=pr
[cc-pull]: https://codecov.io/gh/edx/edx-app-ios/pull/764?src=pr

👍

The removal of the grey space looks good.
What is the acceptance criteria for the email address? It looks like we wanted to split the email if it was too long?

@BenjiLee As per Liz comment we are showing email... if email address is too long.

@BenjiLee Are we good to go?

👍


fix: missing graphql dependency

Fix after #28

:tada: This PR is included in version 4.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Question: Joomla conversion

Can we expect of the Grav community a Joomla to Grav plug-in?

If you mean something like https://it.wordpress.org/plugins/wp2grav, I hope it will happen :)

I'm closing this since it's not an issue, more a question for the forum

Its not perfect. But works for me.
https://github.com/Syndes/Joomla2Grav

Hmm.. wish had not seen that before.. Wish there was some more info in the README.md

First project ever in Github. Just uploaded 2 min ago

README.md is now uploaded

Added some feedback :)

Thanks 👍


[REQ] Add a (GH-compliant) license file

Hi there, 1st of all thanks for this awesome work !
Since we've 'doxed' it in our HyMPS project (under AUDIO section \ AI-based category \ Enhancers page \ Aligners), can you please add a GH-compliant license file for it ?
As you know, expliciting licensing terms is extremely important to let anyone better/faster understand how to reuse/adapt/modify sources (and not only) in other open projects and vice-versa.
Although it may sounds like a minor aspect, license file omission obviously causes an inconsistent generation of the relative badge too:

(badge-generator URL: https://badgen.net/github/license/abargum/diff-apf)
You can easily set a standardized one through the GH's license wizard tool.
Last but not least, let us know how we could improve - in your opinion - our categorizations and links to resources in order to favor collaboration between developers (and therefore evolution) of listed projects.
Hope that helps/inspires !

Hi Marco,
Thanks for writing and 'doxing' the APF project.
A license is now added making sure everyone can use it freely :)

Thanks, as you can see it works now !
I've also started a discussion about phases issues @ audalign that is getting interesting, so it would be really cool to have some expert developers - like you - intervene.
Last but not least, a question: can other projects (like @shiranaziz's Audio Enhancement from Multiple Crowdsourced Recordings or @yoongi43's Exploiting Time-Frequency Conformers for Music Audio Enhancement for example) could benefit from phase alignment in your opinion ?
Thanks again.


Fix plugin.gd script

plugin.gd file now almost do nothing, because:

~most of the nodes/resources uses class_name keyword, it should be done by use of add_custom_type() instead~
singletons are not added through add_autoload_singleton()

So we need:

[x] ~#99~
[ ] #100

I closed #99 as use of class_name keyword will be better as it adds custom types to engine is more integrated way.


What about VNET loss

[Enter feedback here]
Hello,
This page illustrates indeed how DNS resillience works, but using a single global DNS zone with a single record (thus single IP targeting the resource), you might lose access to that IP should an entire region go down (all regional VNETs would go down as well). This should be mentioned somewhere because getting an IP back that you can't connect to because of the regional outage won't help much.---
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e26c6840-02eb-0a0e-0b8c-ffeed459a164
Version Independent ID: 599ab6d0-f9cd-a6b0-334b-a9b62354a358
Content: Tutorial - Set up DNS failover using private resolvers
Content Source: articles/dns/tutorial-dns-private-resolver-failover.md
Service: dns
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@stephaneey Thanks for your feedback. We shall assign the thread to the author @greg-lindsay for further review

#please-close

@stephaneey there are two IP addresses used, not one. The first is the primary DNS in region 1 and the backup is a secondary resolver in region 2. When region 1 is down, there is no response from the primary and DNS resolution fails over to the secondary. I hope this helps.
<IP_ADDRESS> and <IP_ADDRESS> are the two resolver addresses.

Hello,
Sorry for my late answer. That's not my point. What I mentioned when reporting the problem is the fact that you use a single DNS zone (not DNS private resolver). A zone represents a domain and can only have 1 record at a time for a given resource (imagine private link with blob storage for instance).  Your reply doesn't answer the initial problem.


Atom  light design cannot be switched

The Light UI theme shows dark parts when I switch from Atom dark theme to Atom light:

I don't know whether it's caused by the core or by another package, but I'm trying to get this out.
Actually when I run Atom with the -safe-mode option it works.

(the following are screenshots from different states of the editor - different packages where enabled/disabled)
Actually I can with some packages disabled (which I can't tie to a specific package) switch the theme to the light one without any problems but when switching back these error messages appear:

Sometimes it also already appears when switching to the light theme.
One time it showed me this:

and the GUI went like this:

One time it showed me this:

And it looked like this:

Mostly my config (config.js) was retested at the next restart when this error occurred.
Additionally one time it also looked like this:

(one error it throw was this)

I also deleted compile-cache and storagebut that did not fixed this problem either.

Again these error messages:

And while they are shown the config.json is cleaned (0 byte).

Okay, so finally trying this on a freshly installed Atom version and it seems this issue is in the core:

And here the whole .atom user settings folder before this issue happened:
https://github.com/rugk/assets/blob/master/troubleshooting/atom/8860_themeswitching/atomafter.zip
And afterwards (after the first demonstration in the gif):
https://github.com/rugk/assets/blob/master/troubleshooting/atom/8860_themeswitching/atombefore.zip

Now I could also find related issues: https://github.com/atom/atom/issues/8834 and https://github.com/atom/atom/issues/8565

Closing in favor of the above issues.


Add widget component tests

Our custom widget components (right now that's file upload and markdown) are only tested indirectly. We have an example starter in JS which happens to exercise all of the widget types, and then a test case which makes sure they render. We should add some widget component-specific test cases

testing the markdown component is blocked by some upstream issues, afaik the ckeditor devs are working on it but until they fix a few issues we'll have to keep mocking the ckeditor code in react tests, unfortunately.

Fair enough. Even a test where we mock CKEditor and assert that it gets certain props when we render <MarkdownEditor /> would be helpful, I think. If we already have that test case, it should be moved into that widgets directory


do not make inferences with the same source\target pair multiple times

partial fix for #7081
var a = new Rx.Subject<string>();
var b = new Rx.Subject<Immutable.Set<number>>();
var c1 = a.withLatestFrom(b, x => x); // 1

Total compilation time for an original repro case (above) has dropped from +20 minutes to 1.5s (check time: ~0.9s ). However caching is local to every inference session so it still scales pretty badly

Number of times line (1) appear in the code
Check time (s)

1
0.93

5
1.12

10
1.37

20
1.79

40
2.75

80
4.54

160
8.28

320
15.59

Note: I'm not sure how to write a self-contained test for this issue without including rx.all.d.ts and immutable.d.ts

as a subsequent step we can set the maximum depth of nesting when we explore the structure of types during type inference. This approach seems to be promising and it scales better - these are numbers for the same test with max depth = 5

Number of times line (1) appear in the code
Check time (s)

1
0.81

5
0.88

10
0.93

20
1.08

40
1.27

80
1.72

160
2.69

320
4.49

However before moving forward I'd like to verify that setting max depth does not lead to serious regressions in type inference in our real world code test suite.

LGTM, others should take a look

:+1:

Does this address the checking of typeof C vs instantiated typeof C in a generic static function? If so, you can use the test from #7138, at 7a48fb27ffefe7fb03ad6ceb6a0c3e5a39630c11.

no, #7097 is not fixed with this change

Oh well. :( :+1:, but with the caveat that my grasp on the caching mechanism is not too strong.


How to get the html file when trainging with run_classification.py?

When i do train with run_classification.py, the command show the error "failed to load external entity XXXX.html', xxxx is a tif image file. How can i get the html file?

@lelandhuang you may need to prepare your own dataset.


Question: Mocking Strategy for module libraries

Hello,
I have a question about the mocking strategy. In the module directory, I can find the test. However, I can't see any mock related testing.
I'm planning to contribute this repo for the azure related new modules,
Do you have any preference for a mocking strategy for the module unit testing?
For example, I usually use Monkey Patch https://github.com/bouk/monkey .
@rguthriemsft @QuickNS

To answer your main question, I don't think we are using any mocking libraries right now. Monkey Patching also seems... risky. What use case did you have in mind for that?
You also mentioned adding support for Azure modules. Please be sure to read this: https://github.com/gruntwork-io/terratest/issues/89#issuecomment-582494195


Get monitor's socket file descriptor from its Builder

This allows getting the monitor's socket file descriptor before calling the listen() method.
I added a new function but let me know if you prefer implementing the AsRawFd trait for the Builder struct.

Hello, are you interested in this PR ?

Hey sorry, this PR kinda slipped through.
What is the use-case of having access to the file descriptor early? It kinda goes against the builder pattern.

My use case is tied to seccomp, I'd like to enter secure computing mode as soon as possible in my program while still keeping a short list of allowed syscalls.
I don't need/want to allow the bind system call on all file descriptors but only on the monitor socket, hence the new function so I can instantiate a MonitorBuilder, get its file descriptor, enter seccomp with a filter allowing bind (among others) on this fd, then call listen() on the monitor builder.
I agree this function seems weird for the builder pattern but I couldn't think of a better way.

Definitely a good use-case, I would prefer the AsRawFd-trait though, if that is not too much to ask for.


fix: changed og_image

There was a bug in previous homepage og-image and this pull request fixes that bug. #1146
@fmvilas

Hey @DivyanshuSonwal, that was fast. I have two comments though:

Please, do not call the file website.jpg but website-card.jpg, otherwise the website won't find the file and it won't be displayed.
The code example is still wrong. You don't only have to align the word info but the whole block below and you have to add > after description:. Like this:

asyncapi: '2.3.0'
info:
  title: Streetlights API
  version: '1.0.0'
  description: >
    The Smartylighting Streetlights API allows you to...

Sure, I will fix this.

Please review now
@fmvilas

🤔 I just realized numbers are on the right-hand side now. Was it on purpose?

thinking I just realized numbers are on the right-hand side now. Was it on purpose?

No, it wasn't on purpose. Even I didn't notice it. I fixed it now, please take another look at it now.
@fmvilas

We should also update asyncapi: '2.3.0' to the asyncapi: '2.5.0' 😅

We should also update asyncapi: '2.3.0' to the asyncapi: '2.5.0' sweat_smile

I have made the changes.
Please review now
@fmvilas @magicmatatjahu

/rtm


getting read timeout on read characteristic from connected device (used in Ionic app)

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
the reads were started in parallel
log of results, after scan, have array of peripherals
  [log] - peripheral info={"uuids":["00010202-27b9-42f0-82aa-2e951747bbf9"],"txPower":127,"localName":"SamsDevice","device":{"name":"SamsDevice","deviceId":"FF85CCC9-5925-DFB4-C2DE-A614F966D654"},"rssi":-63}
⚡  [log] - peripheral info={"uuids":["00020202-27b9-42f0-82aa-2e951747bbf9"],"localName":"SamsDevice","rssi":-69,"txPower":127,"device":{"deviceId":"9DC84DDB-DCB5-8B9D-FAD3-D76C56DB31BD","name":"SamsDevice"}}
⚡  To Native ->  BluetoothLe connect 32443200
Connecting to peripheral <CBPeripheral: 0x283d592c0, identifier = FF85CCC9-5925-DFB4-C2DE-A614F966D654, name = SamsDevice, mtu = 0, state = disconnected>
Connected to device <CBPeripheral: 0x283d592c0, identifier = FF85CCC9-5925-DFB4-C2DE-A614F966D654, name = SamsDevice, mtu = 23, state = connected>
Resolve connect|FF85CCC9-5925-DFB4-C2DE-A614F966D654 Successfully connected.
Connected to peripheral. Waiting for service discovery.
didDiscoverServices
didDiscoverCharacteristicsFor 1 1
Resolve connect Connection successful.
⚡  TO JS undefined
⚡  To Native ->  BluetoothLe connect 32443201
Connecting to peripheral <CBPeripheral: 0x283d595e0, identifier = 9DC84DDB-DCB5-8B9D-FAD3-D76C56DB31BD, name = SamsDevice, mtu = 0, state = disconnected>
Connected to device <CBPeripheral: 0x283d595e0, identifier = 9DC84DDB-DCB5-8B9D-FAD3-D76C56DB31BD, name = SamsDevice, mtu = 23, state = connected>
Resolve connect|9DC84DDB-DCB5-8B9D-FAD3-D76C56DB31BD Successfully connected.
Connected to peripheral. Waiting for service discovery.
didDiscoverServices
didDiscoverCharacteristicsFor 1 1
Resolve connect Connection successful.
⚡  TO JS undefined
⚡  To Native ->  BluetoothLe read 32443202
Reading value
Resolve callback not registered for key:  read|Optional("00010202-27B9-42F0-82AA-2E951747BBF9")|00009AFD-0000-1000-8000-00805F9B34FB
Reject read|00010202-27B9-42F0-82AA-2E951747BBF9|00009AFD-0000-1000-8000-00805F9B34FB Read timeout.
ERROR MESSAGE:  {"errorMessage":"Read timeout.","message":"Read timeout."}
⚡  [error] - {"errorMessage":"Read timeout.","message":"Read timeout."}
⚡  To Native ->  BluetoothLe read 32443203
Reading value
⚡  [log] - BleClient read rssi error={"errorMessage":"Read timeout."}
Resolve callback not registered for key:  read|Optional("00010202-27B9-42F0-82AA-2E951747BBF9")|00009AFF-0000-1000-8000-00805F9B34FB
Reject read|00010202-27B9-42F0-82AA-2E951747BBF9|00009AFF-0000-1000-8000-00805F9B34FB Read timeout.
ERROR MESSAGE:  {"message":"Read timeout.","errorMessage":"Read timeout."}
⚡  To Native ->  BluetoothLe read 32443204
⚡  [error] - {"message":"Read timeout.","errorMessage":"Read timeout."}
Reading value
⚡  [log] - BleClient read table error={"errorMessage":"Read timeout."}
Resolve callback not registered for key:  read|Optional("00020202-27B9-42F0-82AA-2E951747BBF9")|00009AFD-0000-1000-8000-00805F9B34FB
⚡
Reject read|00020202-27B9-42F0-82AA-2E951747BBF9|00009AFD-0000-1000-8000-00805F9B34FB Read timeout.
ERROR MESSAGE:  {"errorMessage":"Read timeout.","message":"Read timeout."}
⚡  To Native ->  BluetoothLe read 32443205
⚡  [error] - {"errorMessage":"Read timeout.","message":"Read timeout."}
Reading value
⚡  [log] - BleClient read rssi error={"errorMessage":"Read timeout."}
Resolve callback not registered for key:  read|Optional("00020202-27B9-42F0-82AA-2E951747BBF9")|00009AFF-0000-1000-8000-00805F9B34FB
Reject read|00020202-27B9-42F0-82AA-2E951747BBF9|00009AFF-0000-1000-8000-00805F9B34FB Read timeout.
ERROR MESSAGE:  {"errorMessage":"Read timeout.","message":"Read timeout."}
⚡  [error] - {"errorMessage":"Read timeout.","message":"Read timeout."}
⚡  [log] - BleClient read table error={"errorMessage":"Read timeout."}

Expected behavior
expect read to succeed
Screenshots
Plugin version:

@capacitor-community/bluetooth-le: [e.g. 0.4.0]
1.2.0

Desktop (please complete the following information):

OS: [e.g. iOS] mac osx big Sur, xcode 13

Smartphone (please complete the following information):

Device: [e.g. iPhone6] iphone 7
OS: [e.g. iOS8.1]   14.7

Additional context
Add any other context about the problem here.
the device says that the characteristics were read twice
09:34:42.957 -> Connected event, central: 41:c2:1b:19:ad:9f
09:34:42.957 -> central rssi=-42
09:34:42.957 ->  address=41:c2:1b:19:ad:9f
09:34:44.475 -> RSSI characteristic read, central rssi=-42
09:34:44.475 -> RSSI characteristic read, central rssi=-42
09:34:49.824 -> hash characteristic read, central rssi=-42
09:34:49.824 -> hash characteristic read, central rssi=-42
09:35:28.576 -> Disconnected event, central: 41:c2:1b:19:ad:9f

code
foundDevices.forEach((peripheral)=>{
               console.log("peripheral info="+JSON.stringify(peripheral))
               BleClient.connect(peripheral.device.deviceId).then(()=>{
                promises.push(new Promise((resolve, reject)=>{
                  BleClient.read(peripheral.device.deviceId, peripheral.uuids[0], numberToUUID("9AFD")).then((receivedRssi)=>{
                    console.log('RSSI value=', receivedRssi.getUint8(0));
                    resolve()
                  }).catch((error)=>{
                      console.log("BleClient read rssi error="+JSON.stringify(error))
                      reject(error)
                  })
                }))
                promises.push(new Promise((resolve, reject)=>{
                  BleClient.read(peripheral.device.deviceId, peripheral.uuids[0], numberToUUID("9AFF")).then((receivedTable)=>{
                    console.log('Table value=', receivedTable);
                    resolve()
                  }).catch((error)=>{
                      console.log("BleClient read table error="+JSON.stringify(error))
                      reject(error)
                  })
                 }))
                 Promise.all(promises).then(()=>{
                     console.log("BleClient disconnecting")
                   BleClient.disconnect(peripheral.device.deviceId)
                 }).catch(error=>{
                    console.log("read chars error="+JSON.stringiy(error))
                    console.log("BleClient disconnecting")
                    BleClient.disconnect(peripheral.device.deviceId)
                 })
               }).catch((error)=>{
                  BleClient.disconnect(peripheral.device.deviceId)
                      console.log("BleClient connect error="+JSON.stringify(error))
                  })
             })

here is a screen shot from Ble Scanner (on Android) for one of these devices

Thanks for using this plugin.
Unfortunately, I cannot reproduce the behavior you're describing. However I tried to implement a possible fix based on your logs.
Could you try if your problem persist with the development build version 1.2.0-1-gb3062ec?
npm i<EMAIL_ADDRESS>

get compiler error in Xcode.. should have mentioned the CBService error before
but the default  is new
also, was going to mention.. my arduino device WAS advertising in lowercase (that is what is received from the scan)
if I upper case it, it STILL appears as lower case...

if I fix both those errors like this
I get a function not found on the uppercase

I had to do a clean and then build, but now it works..


Overlap data must have only combined set_type

@edm1 What do you suggest in order to get the data cleaner as possible?

I need to remove the complexity I already added into the query and API code

gs://genetics-portal-data/v2d/locus_overlap.json.gz only contains combined set type now.


Align form field variants with latest version of the spec

Bug, feature request, or proposal:
Outline text field value is not centered vertically like in the specs.
What is the expected behavior?
Specs :

What is the current behavior?
In angular material examples :

What are the steps to reproduce?
Just go to angular material examples and type some text in outlined text field.
What is the use-case or motivation for changing an existing behavior?
Have outlined text field aligned with the specs.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular Material 6.1.0
Is there anything else we should know?
Left padding seems too small too.

We should do a pass comparing what we have for each of the appearance modes against the spec. Our implementation is currently based on the non-final version of the spec before it was released.

Screenshots of misaligned outlined mat-form-field without floating label

Any chance to have this fixed soon?

The MDC form field has more left padding and is vertically aligned properly.


Chrome extension (errors + logs)

Chrome extension does not work on some tables.
It would be nice to have:

at the client side level an error report (to know that something went wrong)
at the server side level save the logs/usages (including errors !?) that can be used for testing or simply considering relevant data

abaf40ed9c424c90d3cdc930f39e7f345c5446a8 adds an error message when something went wrong during an import from the website

6e21bee15d2ea5645f4d3279cff958d208a1bc26 counts usage of importers + saves errors in database.

ba84bff0bab7457182db7f9c7ac9885706c5a444 saves working sources of browser extensions in database


ALVR can have lower latency

Have you considered embedding coding technology into your router, like tpcast air?

I don't know much about tpcast air. How can latency be lowered by coding technology?


Refactor the 'depend' target

With the help of the perl script util/add-depends.pl, which takes all
its information directly from configdata.pm, the dependency adding
procedure can be streamlined for all support platforms.

Merged.  249b4e28a6c91074f2fe276a2b2b40eb6f9639a9


NPE in $.shouldHave(text())

The problem
I am not sure how to reproduce it, but I am getting sometimes the following error in my tests:
java.lang.NullPointerException
at com.codeborne.selenide.impl.Html.contains(Html.java:15)
at com.codeborne.selenide.conditions.Text.apply(Text.java:23)
at com.codeborne.selenide.impl.WebElementSource.checkCondition(WebElementSource.java:51)
at com.codeborne.selenide.commands.Should.execute(Should.java:24)
at com.codeborne.selenide.commands.Should.execute(Should.java:10)
at com.codeborne.selenide.commands.Commands.execute(Commands.java:145)
at com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:99)
at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65)
at com.sun.proxy.$Proxy13.shouldHave(Unknown Source)
at ui.mobile.MobileTaxlinkSpec.makeTwoTaxPaymentsThroughTaxlink(MobileTaxlinkSpec.java:42)

Tell us about your environment

Selenide Version: 5.3.1
Chrome\Firefox\IE Version: Chrome 77

Does it happen in a single thread environment? I used to have one similar to that one, it was because I was holding a $() in a static variable and several threads were using it

Yes, in my case it happens in a single thread.

it was probably a bug in chromedriver. Cannot reproduce anymore.


macOS: postinstall fails

when running (cd src/assets; npm install):
><EMAIL_ADDRESS>postinstall /Users/inyono/Projects/athene2/src/assets
> npm-run-all bower build

/Users/inyono/Projects/athene2/src/assets/node_modules/npm-run-all/bin/common/bootstrap.js:14
    const argv = process.argv.slice(2)
    ^^^^^
SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/inyono/Projects/athene2/src/assets/node_modules/npm-run-all/bin/npm-run-all/index.js:13:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

npm ERR! Darwin 16.5.0
npm ERR! argv "/Users/inyono/.nvm/versions/node/v0.12.18/bin/node" "/Users/inyono/.nvm/versions/node/v0.12.18/bin/npm" "install"
npm ERR! node v0.12.18
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: `npm-run-all bower build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'npm-run-all bower build'.
npm ERR! This is most likely a problem with the athene2-assets package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm-run-all bower build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs athene2-assets
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls athene2-assets
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/inyono/Projects/athene2/src/assets/npm-debug.log

Any ideas @arekkas @Knorrke? Otherwise, I will debug this ^^ (Seems like npm-run-all expects Node v4)
(and yeah, 0.12.15 also fails)

By the way, wasn't 0.10.* our legacy version? xD

sorry for the late reply, but can you for now run
npm run bower
npm run build

after npm install? Or is there a problem too?

I fixed it locally by downgrading some modules. Since it currently affects only me, I didn't create a PR yet.

i guess this will be resolved with the new build system?

Yes


Add disable-gpu Expert Mode bootstrap in Farming

Feature Request
Add docs on how to set an expert mode bootstrap with disable-gpu, as discussed with @scottyeager on Farmers Telegram channel.
"Go to the expert mode bootstrap generator: bootstrap.grid.tf/expert
Fill the same options you'd normally use, and also write disable-gpu in the Extra kernel arguments box"
Take the opportunity to write about the expert mode in general.

Fix when #378 is merged.


script to unlist old beta packages

This was an ask from Carter.
This script will query package versions and unlist any prerelease versions older than the latest stable.

Why do we need it?

@cijothomas I'm working with Carter to unlist all the old betas. I finished this yesterday but we'll need to run this script regularly to continue to unlist betas.
This script will probably get added to our release pipeline as a cleanup step.


feat(Menu): add Menu

The menu visibility toggle is not working. I had to add some styles for some reason to get it to show properly. Let me know if you have any ideas on why that might be :)

I've made a few suggestions to clean up some unecesary code which I should have removed earlier. I think the problem you had was just needing a menuToggler function on the button it is anchored to.

Actually looks like something with material is not working properly in the storybook environment. Works in the test app.

:tada: This PR is included in version 3.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ios] test danger2

          2 Errors

:no_entry_sign:
Our linter has failed.

:no_entry_sign:
summary file not found

          2 Warnings

:warning:
You have not included a CHANGELOG entry.

:warning:
CHANGELOG.md#L4 - Please add your name

          1 Message

:book:
Test Message

xxxxx

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
summary file not found

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
summary file not found

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
summary file not found

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
summary file not found

  Generated by :no_entry_sign: danger


Update SoCsAndCustomBoards.md

I've added a PCB house to the list of suggestions of manufacturers. They helped me to layout a board in the past.

Docs Build status updates of commit 0404b0b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/learn-about-hardware/SoCsAndCustomBoards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Rust analyzer causes vim to freeze after a rustup update

Hi,
I'm working on a fork of rust and I use Neovim with vim-lsp set up to use rust-analyzer. I thought I'd be able to set RUST_SRC_PATH to the library directory of my fork and carry on as usual. However, opening certain files causes vim to freeze for 40 seconds at a time, during which time neovim uses 100% CPU.
At first I thought it was vim-lsp's fault, but having done some debugging, it actually looks like rust-analyzer is swamping neovim with a large stream of errors which it is attempting to read via a pipe (see the link for examples of the kinds of error I see). There's a vimscript loop in vim-lsp which does this, and it appears to be the cause of the freezes.
If I edit the same problematic files on a fresh clone of upstream rust-lang, then there are no freezes.
So I guess this is a problem to do with analyzing incompatible (with the default toolchain) forks of Rust?
I don't have the rust-src component installed. I wasn't expecting to need it as I'd be setting RUST_SRC_PATH.
My fork makes no syntactic changes to Rust, but it does contain a modified codegen and has different lang items etc. This must be the source of the errors.
Many thanks!

(Happy to provide a full vim-lsp log if that would help)

https://rustc-dev-guide.rust-lang.org/building/suggested.html
You may want to use the following config:
{
    "rust-analyzer.checkOnSave.overrideCommand": [
        "./x.py",
        "check",
        "--json-output"
    ],
    "rust-analyzer.rustfmt.overrideCommand": [
      "./build/TARGET_TRIPLE/stage0/bin/rustfmt"
    ],
}

That goes in <source-dir>/.vscode/settings.json, right?
I've tried putting that there and also in $HOME, but the result is the same.
Is TARGET_TRIPLE literal, or do I replace it with the system's triple?

You need to replace TARGET_TRIPLE it with the system's triple. That config is only relevant if you want the format file command to work. For vim-lsp  it seems that you need to put it in 'config' when calling lsp#register_server. https://github.com/mattn/vim-lsp-settings/blob/6366cc52ad97f96bce5e544afa7e2b8f9359edd9/settings/rust-analyzer.vim#L10

For whatever reason, blasting away ~/.rustup and reinstalling it seems to have solved the problem. I didn't need to provide a vscode config either (does rust-analyzer look for x.py automatically now, I wonder).
Odd...

So, I did a rustup update on my rust nightly yesterday, and now the freeze ups are back.
Is rust-analyzer caching something which is incompatible with newer versions of rust or something?

Again, nuking ~/.rustup and reinstalling fixes it.

Is there a way I can invoke rust-analyzer outside of vim to try an narrow down the problem?
RUST_SRC_PATH is set to the library sub-directory of my compiler clone.
In .vscode/settings.json I have:
{
    "rust-analyzer.checkOnSave.overrideCommand": [
        "./x.py",
        "check",
        "--json-output"
    ],
    "rust-analyzer.rustfmt.overrideCommand": [
        "./build/x86_64-unknown-linux-gnu/stage0/bin/rustfmt"
    ],
    "editor.formatOnSave": true
}

I'm using rust-analyzer master branch as of today, and neovim master branch as of yesterday.

You can try rust-analyzer-linux analysis-stats .

Thanks Bjorn.
Here's what happens:
$ rust-analyzer analysis-stats .
[ERROR project_model] cyclic dependency cargo-test-support -> cargo
[ERROR project_model] cyclic dependency rustc-std-workspace-core -> core
[ERROR project_model] cyclic dependency wasi -> rustc-std-workspace-alloc
Database loaded 546.67ms, 798mi

Crates in this dir: 151
Total modules found: 2340
Total declarations: 42359
Total functions: 32639
Item Collection: 29.19s, 219099mi
5241/32639 16% processing: build::expr::as_constant::expr_as_constant

It does that for a while and then eventually gives this:
22999/32639 70% processing: string::test_drain_end_overflowthread 'main' panicked at 'var_universe invoked on bound variable', /home/vext01/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-solve-0.33.0/src/infer.rs:157:41
stack backtrace:
   0: std::panicking::begin_panic
   1: chalk_solve::infer::unify::Unifier<I>::unify_ty_ty
   2: <chalk_ir::Substitution<I> as chalk_ir::zip::Zip<I>>::zip_with
   3: chalk_ir::_DERIVE_chalk_ir_zip_Zip_I_FOR_WhereClause::<impl chalk_ir::zip::Zip<I> for chalk_ir::WhereClause<I>>::zip_with
   4: chalk_solve::infer::unify::<impl chalk_solve::infer::InferenceTable<I>>::unify
   5: chalk_recursive::fulfill::Fulfill<I,Solver,Infer>::new_with_clause
   6: chalk_recursive::recursive::Solver<I>::solve_new_subgoal
   7: <chalk_recursive::recursive::Solver<I> as chalk_recursive::solve::SolveDatabase<I>>::solve_goal
   8: <chalk_recursive::recursive::RecursiveSolver<I> as chalk_solve::solve::Solver<I>>::solve_limited
   9: hir_ty::traits::trait_solve_query
  10: salsa::runtime::Runtime::execute_query_implementation
  11: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  12: salsa::derived::slot::Slot<Q,MP>::read
  13: <salsa::derived::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::try_fetch
  14: <DB as hir_ty::db::HirDatabase>::trait_solve::__shim
  15: <DB as hir_ty::db::HirDatabase>::trait_solve
  16: hir_ty::infer::InferenceContext::resolve_ty_as_possible
  17: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  18: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_method_call
  20: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  21: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  22: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  23: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  24: hir_ty::infer::infer_query
  25: salsa::runtime::Runtime::execute_query_implementation
  26: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  27: salsa::derived::slot::Slot<Q,MP>::read
  28: <salsa::derived::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::try_fetch
  29: <DB as hir_ty::db::HirDatabase>::infer_query::__shim
  30: hir_ty::db::infer_wait
  31: rust_analyzer::cli::analysis_stats::AnalysisStatsCmd::run
  32: rust_analyzer::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

It takes a minute or so to get that far. Is that the expected behaviour?

That was in the root of my rust fork. I tried in the library subdir too and got the same.

This is a chalk bug
cc @flodiebold

Is this with current rust-analyzer master?

Is this with current rust-analyzer master?

Yes, as of today. I did git pull && cargo clean && cargo xtask install.
Is this likely to be the same issue as the freeze I'm seeing in nvim?

I don't know, you should see the same stacktrace in the rust-analyzer logs from running nvim if that's the case.


Type inference is not working properly when creating an instance of the same class from the Generics class

Describe the bug
public protocol Loader {
    associatedtype ItemType

    func load() -> [ItemType]
}

class ViewController<LoaderType: Loader>: UIViewController where LoaderType.ItemType == Movie
{
    private var loader: LoaderType

    // MARK: - Lifecycle
    init(loader: LoaderType) {
        self.loader = loader
        super.init(nibName: "ViewController", bundle: Bundle(for: type(of: self)))
    }
}

The following code in the ViewController's method will result in a compile error, but in other UIViewControllers it will not.
    @IBAction private func didTapButton(_ sender: UIButton) {
        let vc = ViewController(loader: MovieLoader2())
        present(vc, animated: true, completion: nil)
    }

A workaround is to change to the following code:
    @IBAction private func didTapButton(_ sender: UIButton) {
        let vc = ViewController<MovieLoader2>(loader: MovieLoader2())
        present(vc, animated: true, completion: nil)
    }

To Reproduce
The reproduction code is here. (You need to specify a branch)
https://github.com/soranoba/iOS-Sandbox/tree/TypeInferenceInGenericsClass
Expected behavior
        // Failed: Cannot convert value of type 'MovieLoader2' to expected argument type 'LoaderType'
        vc = ViewController(loader: MovieLoader2())

https://github.com/soranoba/iOS-SandBox/blob/TypeInferenceInGenericsClass/Sample/ViewController.swift#L43-L44
This code fails to compile, but it should compile success.
Screenshots

Environment (please complete the following information):

Xcode 13.3.1
iOS 15.4
Swift 5.6

Additional context
Add any other context about the problem here.

Unfortunately this is a longstanding behavior, within the context of a generic type such as ViewController, a bare reference to ViewController is always inferred to be ViewController<LoaderType>, even if there is a different contextual type. Changing this would likely be source breaking, and would therefore need to go through Swift Evolution.
Duplicate of https://github.com/apple/swift/issues/44398


fix for test break

a small fix for test break of test_drawing_classifier.cxx to unblock #2480.
model state feature type of string is changed to state features with type list. We should make sure all existing test cases pass in master so that we won't block other people's pipeline validation process.
one suspicious part is that there's a model state called classes. I'm not sure it's used. @shantanuchhabra may spend some time investigating.

cherry-picked from #2480


Install problems with gradle versions above 7

Following the installation guide on the official eProsima MICRO XRCE-DDS, the suggested way of installing gradle f.e. for Linux is via the Terminal. Installing gradle via the terminal will automatically grab the newest gradle version, which is v7.4.2 at the moment.
Building the Micro-XRCE-DDS-Gen with gradle versions above 7 won't work due to the removal of the configurations compile, runtime, testCompile and testRuntime in gradle > version 7.
I had to downgrade to gradle 5.2, in order to be able to install the Gen tool.
I'm not a Java programmer, nor have i messed around with the gradle build-system. I would highly recommend to point out (in the DOCs)  that the gradle build system for the Gen tool needs a gradle version below 7. OR update the gradle.build file like this StackOverflow user suggests.

after step by step the  installation guide:
$ sudo apt install git openjdk-8-jdk gradle
$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Gen.git
$ cd Micro-XRCE-DDS-Gen
$ git submodule init
$ git submodule update
$ gradle build -Dbranch=v1.2.5

the version is :
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ gradle -version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------

Build time:   2012-12-21 00:00:00 UTC
Revision:     none

Groovy:       2.4.17
Ant:          Apache Ant(TM) version 1.10.7 compiled on October 24 2019
JVM:          11.0.16 (Ubuntu 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OS:           Linux 5.13.0-25-generic aarch64

after step by step the installation guide:
$ sudo apt install git openjdk-8-jdk gradle
$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Gen.git
$ cd Micro-XRCE-DDS-Gen
$ git submodule init
$ git submodule update
$ gradle build -Dbranch=v1.2.5

the version is :
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ gradle -version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------

Build time:   2012-12-21 00:00:00 UTC
Revision:     none

Groovy:       2.4.17
Ant:          Apache Ant(TM) version 1.10.7 compiled on October 24 2019
JVM:          11.0.16 (Ubuntu 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OS:           Linux 5.13.0-25-generic aarch64

parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ gradle build -Dbranch=v1.2.5

Welcome to Gradle 5.2!

Here are the highlights of this release:
 - Define sets of dependencies that work together with Java Platform plugin
 - New C++ plugins with dependency management built-in
 - New C++ project types for gradle init
 - Service injection into plugins and project extensions

For more details see https://docs.gradle.org/5.2/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'Micro-XRCE-DDS-Gen'.
> Could not open proj remapped class cache for 3052k1vgn8oybds5kouwkmz1c (/home/parallels/.gradle/caches/5.2/scripts-remapped/build_6iqj78772a2x1httzbuefry0b/3052k1vgn8oybds5kouwkmz1c/projeadbf4c451bc4876d277fc099d472843).
   > Could not open proj generic class cache for build file '/home/parallels/Micro-XRCE-DDS-Gen/build.gradle' (/home/parallels/.gradle/caches/5.2/scripts/3052k1vgn8oybds5kouwkmz1c/proj/projeadbf4c451bc4876d277fc099d472843).
      > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 57

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

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

BUILD FAILED in 1s
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ cd ..
parallels@ubuntu-linux-20-04-desktop:~$ rm -rf Micro-XRCE-DDS-Gen
parallels@ubuntu-linux-20-04-desktop:~$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Gen.git
Cloning into 'Micro-XRCE-DDS-Gen'...
remote: Enumerating objects: 865, done.
remote: Counting objects: 100% (86/86), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 865 (delta 17), reused 77 (delta 12), pack-reused 779
Receiving objects: 100% (865/865), 270.83 KiB | 296.00 KiB/s, done.
Resolving deltas: 100% (320/320), done.
parallels@ubuntu-linux-20-04-desktop:~$ cd Micro-XRCE-DDS-Gen
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ git submodule init
Submodule 'thirdparty/IDL-Parser' (https://github.com/eProsima/IDL-Parser.git) registered for path 'thirdparty/IDL-Parser'
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ git submodule update
Cloning into '/home/parallels/Micro-XRCE-DDS-Gen/thirdparty/IDL-Parser'...
Submodule path 'thirdparty/IDL-Parser': checked out '9e36ac4b18c8083ac7106761a8a6e908e04ae458'
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$ gradle build -Dbranch=v1.2.5

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'Micro-XRCE-DDS-Gen'.
> Could not open proj remapped class cache for 3052k1vgn8oybds5kouwkmz1c (/home/parallels/.gradle/caches/5.2/scripts-remapped/build_6iqj78772a2x1httzbuefry0b/3052k1vgn8oybds5kouwkmz1c/projeadbf4c451bc4876d277fc099d472843).
   > Could not open proj generic class cache for build file '/home/parallels/Micro-XRCE-DDS-Gen/build.gradle' (/home/parallels/.gradle/caches/5.2/scripts/3052k1vgn8oybds5kouwkmz1c/proj/projeadbf4c451bc4876d277fc099d472843).
      > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 57

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

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

BUILD FAILED in 0s
parallels@ubuntu-linux-20-04-desktop:~/Micro-XRCE-DDS-Gen$

Support for grade 7.x added here: https://github.com/eProsima/Micro-XRCE-DDS-Gen/pull/40
Please test it out and give feedback.

Closing as this should be solved. Reopen if needed.


chore: api-backend to 0.0.8

chore: Promote api-backend to version 0.0.8

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@vicky997: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

promotion-build
0479cc5b363fa0ec8ae746a8a0baab593475ad5b
link
/test this

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Clear to end of line doesn't work correctly with reverse mode

Windows Terminal version
1.15.2524.0
Windows build number
10.0.19044.2006
Other Software
No response
Steps to reproduce
Clear to end of line \x1b[0K not behaving correctly in combination with reverse mode \x1b[7m.
#include <cstdio>

int main()
{
    printf("\x1b[34;43mLine 1\x1b[0K\n");
    printf("\x1b[7mLine 2\x1b[0K\n");
    printf("\x1b[0m\x1b[0K\n");
}

Expected Behavior
Under the old console I get this:

Actual Behavior
In the new terminal I get this:

Try \x1b[k instead of \x1b[0K

Your test should have been
"`e[34;43mLine 1`e[K`n`e[7mLine 2`e[K`n`e[0m`n"` to match my test.

Also, your screenshot doesn't look correct. It should be cleared out to the end of the line. I think it's because you used the lowercase K. I believe these CSI sequences are case-sensitive.
In any case, your suggestion didn't change my results.

@RadAd The behavior you were seeing in the old console was a bug that has since been fixed. The erase operations (like EL, ED, and ECH) are meant to fill the affected area with empty rendition attributes (i.e. thing like underline and reverse video aren't meant to be applied).

Is the fix going to be applied to Windows 10?

Unlikely. For Windows 10, the fix will be distributed via Windows Terminal.

Does updating Windows Terminal fix the issue in the old console?

Unfortunately, it won't. ☹


RC2: invalid ApplicationBasePath when target net451

I've upgraded to latest RC2 bits from MyGet/aspnetvnext and using dotnet CLI.
Startup.cs:
public class Startup
{
	public Startup(IApplicationEnvironment appEnv, IHostingEnvironment env)
	{
		Console.WriteLine("Applicaiton base path: " + appEnv.ApplicationBasePath);
	}

	public void ConfigureServices(IServiceCollection services)
	{
	}

	public void Configure(IApplicationBuilder app)
	{
		app.UseDeveloperExceptionPage();
		app.UseWelcomePage();
	}

	public static void Main(string[] args)
	{
		var application = new WebHostBuilder()
			.UseDefaultConfiguration(args)
			.UseIISPlatformHandlerUrl()
			.UseServer("Microsoft.AspNetCore.Server.Kestrel")
			.UseStartup<Startup>()
			.Build();
		application.Run();
	}
}

IApplicationEnvironment.ApplicationBasePath contains invalid path when I target net451:

It should be C:\Developer\WebApplication1\src\WebApplication1\.

I took a glance at HelloMVC sample here: https://github.com/aspnet/cli-samples/tree/master/HelloMvc
There is content section in project.json so all views are copied to bin\...\Views on dotnet build. Then ApplicationBasePath is correct and Razor works.
Will VS2015 tools rebuild project on every change to copy my views to this temp directory?

I believe the content section is for publish. This line https://github.com/aspnet/cli-samples/blob/master/HelloMvc/Program.cs#L13 should make it possible to use views without having to copy them to bin.

@moozzyk I've missed this line :disappointed: . May be this should be the default behavior?

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


Bitwise Calculator

Added a Bitwise Operation Calculator.
Fixes Issue🛠
Closes #114
Description👨💻
Added a bitwise operation calculator to operate different binary inputs.
Type of change📄

[] New feature (non-breaking change which adds functionality)

How this has been tested✅
locally
Checklist✅

[] My code follows the style guidelines of this project
[] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have added demonstration in the form of GIF/video file
[] I am an Open Source Contributor

Nice, Merged!! Congrats on getting your PR merged to this repo under SWOC S4 🎉🎉 @muskan42


How to integrate freeboard to my application?

Is it possible to integrate with my existing application? if yes, can you share the documentation if any.

@Raagu1993 what documentation do you need? Just clone the repo and you're good to go. Go through index.html, that should give you an idea of how to integrate it with your application.
What platform are you developing on?


Add create schema strategy in Docs

As added to the weaviate-cli tool.

Docs are now part of the website and this has indeed been added in one of the recent reworkings. Closing.


Improve Encoding Efficiency with Proper Slice Capacities

We've been investigating different native Go BPE tokenizers and saw a few places where this library could be sped up. Really tiny optimizations overall, nothing clever. Turns out pre-allocation helps quite a bit. Eliminating the redundant map accesses in getMinPair also helped. (6835714-4503505)/6835714 ≈ 34% improvement on Benchmark1000TokensEncode. Not sure if this is the tokenizer you all are using in online endpoints but thought it couldn't hurt to push the changes.
Pre-Change:
goos: darwin
goarch: arm64
pkg: github.com/cohere-ai/tokenizer
BenchmarkEncode1Sentence-10     	   18987	     62804 ns/op	   38934 B/op	     705 allocs/op
BenchmarkEncode1Paragraph-10    	    2823	    373283 ns/op	  218765 B/op	    3892 allocs/op
BenchmarkEncode1KB-10           	    1684	    643150 ns/op	  372619 B/op	    6528 allocs/op
BenchmarkEncode1MB-10           	       2	 661916729 ns/op	404627168 B/op	 6571443 allocs/op
Benchmark1000TokensDecode-10    	    7273	    150288 ns/op	   25008 B/op	       9 allocs/op
Benchmark1000TokensEncode-10    	     174	   6835714 ns/op	 4390021 B/op	   49710 allocs/op
PASS
ok  	github.com/cohere-ai/tokenizer	15.559s

Post-Change:
goos: darwin
goarch: arm64
pkg: github.com/cohere-ai/tokenizer
BenchmarkEncode1Sentence-10     	   21070	     57748 ns/op	   35158 B/op	     656 allocs/op
BenchmarkEncode1Paragraph-10    	    3217	    333311 ns/op	  201084 B/op	    3619 allocs/op
BenchmarkEncode1KB-10           	    1958	    562453 ns/op	  339983 B/op	    6000 allocs/op
BenchmarkEncode1MB-10           	       2	 588600562 ns/op	358751276 B/op	 6160235 allocs/op
Benchmark1000TokensDecode-10    	    8214	    131448 ns/op	   25008 B/op	       9 allocs/op
Benchmark1000TokensEncode-10    	     260	   4503505 ns/op	 2937334 B/op	   30454 allocs/op
PASS
ok  	github.com/cohere-ai/tokenizer	15.243s

Thank you for this PR! We'll take a look this week :)


microdata not coming through

Not sure if this a Gatsby bug I noticed microdata like that of https://webmasters.googleblog.com/2013/05/using-schemaorg-markup-for-organization.html was not being compiled into my HTML.

"grep -r"?
On Tue, Sep 20, 2016 at 9:12 PM Kai Hendry<EMAIL_ADDRESS>wrote:

Not sure if this a Gatsby bug I noticed microdata like that of
https://webmasters.googleblog.com/2013/05/using-schemaorg-markup-for-organization.html
was not being compiled into my HTML.
https://camo.githubusercontent.com/b8f043f3a49f0dbea6a35bff6c225cf925315087/687474703a2f2f732e6e6174616c69616e2e6f72672f323031362d30392d32312f313437343433313031385f3235343878313338302e706e67
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gatsbyjs/gatsby-starter-blog/issues/17, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAEVhxOzG5Aw1rcufkTs_OT4JIyeNfeoks5qsK6YgaJpZM4KCYhp
.

grep -r is also empty. Maybe it's needs to be that weird JSX camelcase.

Yup — looks like that's the problem https://facebook.github.io/react/docs/tags-and-attributes.html

Ah, thanks for the link. Another gotcha.


Tally details view

add a link to TallyWidget to navigate to a details page that displays tally history

resolved with #36


Update README.md + additional code for view transitions

I'm closing this PR temporarily until the aforementioned issues (https://github.com/onwidget/astrowind/pull/255#issuecomment-1726826578) with ViewTransitions have been resolved.


Fixed typo (aquired)

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

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


ConversationalRetrievalChain + Memory: Can only remember partial memory

Issue you'd like to raise.
Hi, I'm creating a pdf chatbot with memory and the chain I use is ConversationalRetrievalChain + ConversationBufferMemory, but it seems that it can only remember some chat history. Does anyone have an idea of the reason?
It works well on a question like can you summarize the answer?,
but it cannot remember the first question I asked,
query = "Hi, what is my first question?"
result = qa({"question": query})
print(result['answer'])

I'm sorry, but I don't have access to that information as our conversation history is not stored. Is there anything else I can help you with?

Here is my code:
def get_chat_history(inputs) -> str:
    res = []
    for human, ai in inputs:
        res.append(f"Human:{human}\nAI:{ai}")
    return "\n".join(res)

memory = ConversationBufferMemory(
        memory_key='chat_history', return_messages=True, output_key='answer')

# Create conversation chain that uses our vectordb as retriver, this also allows for chat history management
qa = ConversationalRetrievalChain.from_llm(ChatOpenAI(temperature=0,model_name='gpt-3.5-turbo'), db.as_retriever(),memory=memory,
    get_chat_history=get_chat_history,
    return_source_documents=True)

Suggestion:
No response

I have same question! I understand as follow "The ConversationalRetrievalChain only uses message history to generate questions for the Retriever, but does not expose the history to the chat LLM. " So do you know how to solve it? Reply me if you know how to solve it. Thank you very much

Sam issue here. No one to the rescue?


Explain what would happen if type is not json

In Rule.parser.parse, it says what would happen if you set Rule.type to json. What if Rule.type wasn't json? If this is only meant to be used when the type is json, wouldn't it make sense to assume the type is json by default? As described, this feature seems to only work with type json anyways. If you can specify anything else and not just json, would you mind to give examples?

Looking at the type declarations you are right that this is very opaque. I believe input is designed to be a string type, but I'm not 100% sure without looking in the source code to verify. This would be really valuable to clarify in the documentation. Going to continue to search in code for an answer for you.

Ah hah! Looks like I've found it here:
https://github.com/webpack/webpack/blob/dbf7bf39ab96e1462603435c150d601bb69ebe4e/lib/json/JsonParser.js#L26-L52
which led me to discover the JSON schema validation for this setting:
https://github.com/webpack/webpack/blob/dbf7bf39ab96e1462603435c150d601bb69ebe4e/schemas/plugins/JsonModulesPluginParser.json#L1-L12
So it looks like the point of this property is to provide a "mini transform function" like a loader which will take a string of the source which was detected, and then expect it to be in a JSON.parse-able formated object.
Would you be willing to commit back documentation for this @adriancuadrado

@TheLarkInn I don't think I will. I would, but in order to improve this documentation to a point I'd feel comfortable, I think I'd need much more expertise in the subject than I have.


Enum support

Would it be possible to add Enum support to the Grid. Currently enums are displayed but are not filterable. I'd image filtering to be done using a dropdown box or something like that.

Filtering enum is supported, but you need to implement your own filtering for that, because of varying enum definitions. As for general approach, I'm wondering how it would look like. Because adding server side filtering for enum is easy, but creating an intuitive client side filter is not. And I don't think that filtering by raw enum string or their number values would suffice. The only solution I can see know is to add some kind of attribute for declaring enumeration values, but that would add a lot of code to enumerations. What do you think?

For the cliënt side filter I was thinking about an extra attribute on the corresponding TH, this attribute is filled with  a json representation of the possible enum values.
For example:
public enum MyOptions : int {
OptionA = 1,
OptionB,
OptionC
}

Then the jquery filter would be that hard anymore :)

Part of the example was lost...
th data-enum-options="{1:'OptionA', 2:'OptionB', 3:'OptionC'}"

Yes this can be done now too, but what would the values shown to the client be? Given enum
public enum MyOptions
{
    A,
    O,
    P
}

As a client I would not like to see raw enum values like A, O, P. I would like to see Apples, Pineapples, Oranges. We would need some kind of description attribute
public enum MyOptions
{
    [GridValue("Apples")] A,
    [GridValue("Oranges")] O,
    [GridValue("Pineapples")] P
}

But this solution, isn't really flexible to have, especially in localized scenarios.

I would use the existing Display Attribute
[Display(Name="Apples")]

But you are correct this isn't very flexible, there is a possible solution on stackoverflow that uses Resource files.

I thought about it some more and decided to not do general enum support. Because:

Using attributes to get proper display name is not very flexible and it adds a lot of code on bigger enums. Moreover it would not work on enums from 3rd party assemblies.
Current filter registration implementation is very dependent on the type being filtered, like Int32, String and so on. Registering all enum types would require breaking this implementation pattern and go with something else.
Loading all values from enum to th data tag or any other html tag doesn't really scale. Loading using ajax would require exposing the type name in the html and then loading the information from the controller.
And other stuff, I don't remember by now...

Anyway, thanks for the suggestion :+1:

I totally understand your reasoning!
In my case I solved the issue by introducing a new Getter on the model which is the String presentation of the Enum. Then instead of displaying the enum I display the new getter in the grid, which in turn provides perfect filtering.


Support variable length integer types in the new message format

mentioning myself so that this is in my inbox.

cc @guozhangwang as well

@apurvam @guozhangwang I've rebased against trunk and exactly-once-message-format. This should be ready for review when you have time.

My main issue is the fact that this PR requires EosLogEntry to be exposed at the top level (ie. inKafkaProducer, RecordBatch, and RecordAccumulator.

I agree.
As discussed with @hachikuji offline, although o.a.k.common.records has javadoc covered they should not be considered as public apis. In fact, any of the sub-packages in o.a.k.common except o.a.k.common.errors should be considered public apis.
I'd propose the following options:

move all classes in o.a.k.common.[sub-package] into o.a.k.common.[sub-package].internals.
move all classes in o.a.k.common.[sub-package] except errors into o.a.k.common.internals.

Plus: remove these packages from javadoc in build.gradle.

Of course, this can be in a separate KIP / PR.


Improper versions being reported by "upgrade" - Sql Server Management Studio

Brief description of your issue
When running winget upgrade, it is showing me the wrong versions for SSMS, and showing an upgrade when there isn't.
Steps to reproduce
I have SSMS latest version installed
I run winget upgrade to list available upgrades
Expected behavior
Would show updates available to apps I have that are not the latest version. Needs to compare the same version numbers (the same "source") for installed vs. available.
Actual behavior
C:\>winget upgrade
Name                         Id                                  Version      Available Source
-----------------------------------------------------------------------------------------------
Arduino IDE                  ArduinoLLC.ArduinoIDE               <IP_ADDRESS>     Latest    msstore
SQL Server Management Studio Microsoft.SQLServerManagementStudio 15.0.18369.0 18.8      winget

C:\>

You can see that it shows the installed version as 15.0.18369.0, and shows the latest version as 18.8.
However, looking at the About screen in SSMS, you can see these actually are the same verion.

So it seems that for the current "Version" it is showing the build version, whereas for the latest "Available", it is showing the "friendly" version. As a result, it thinks there is an update when there isn't, because it is comparing limes to bananas.
Because of this, if I try to run the upgrade, it fails like so...
C:\>winget upgrade Microsoft.SQLServerManagementStudio
Found SQL Server Management Studio [Microsoft.SQLServerManagementStudio]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://go.microsoft.com/fwlink/?LinkID=840946
  ██████████████████████████████   898 MB /  898 MB
Successfully verified installer hash
Starting package install...
Installer failed with exit code:<PHONE_NUMBER>

C:\>

Environment
[winget --info]
Windows Package Manager version: v0.2.10191 Preview
Windows: Windows.Desktop version: v10.0.19042.870
Package: Microsoft.DesktopAppInstaller version: v1.11.10191.0

Any other software?

This can be fixed by putting the proper build number in the manifest as opposed to the "marketing" version number, which is how we've been doing it for Visual Studio.

Yup, just checked, and it is now no longer erroneously listing SSMS as an available upgrade. 👍🏼


Use Dockerfile from scratch

You deploy an golang application, it is not necessary to use a complete alpine in it.
https://chemidy.medium.com/create-the-smallest-and-secured-golang-docker-image-based-on-scratch-4752223b7324
It makes the image more secure and smaller.

Closing this as per https://github.com/binwiederhier/ntfy/pull/270#issuecomment-1139889432


Fix issue that tasks failed because of no sink for identifier

Fix #6722.

@QiuMM is it possible to add a test?

@fjy no, It's hard to simulate since this issue happens infrequently which depends on the execution order of code, i.e affected by thread scheduling.

FYI, after used this patch, we never see the bug again.

@QiuMM there are some real CI failures

@jon-wei I revert the last commit since it would change the expected behavior and cause the CI failures.

Using the iterator would avoid the ISE, but I think it's still possible to persist a Sink that was already abandoned (i.e., abandonSegment could remove a Sink after that Sink is returned by iterator.next() in persistAll)).

I think there is no need to concern this. abandonSegment is called in clear , close and drop :

In clear, here is the code, it will await the dropping.

        // Drop everything.
        final List<ListenableFuture<?>> futures = Lists.newArrayList();
        for (Map.Entry<SegmentIdentifier, Sink> entry : sinks.entrySet()) {
          futures.add(abandonSegment(entry.getKey(), entry.getValue(), true));
        }

        // Await dropping.
        Futures.allAsList(futures).get();

In close, it will also await the dropping and shutdown the persistExecutor.
In drop, it means the handoff operation have been finished, which means the the hydrants
have been already swapped and will be ignored to persist.

@QiuMM Cool, thanks for looking into this


SAM-1408 Fixed NPE discovered during testing

NPE found for SAM-1408 patch contribution. The Assessment retractDate threw a NullPointerException caused by a line of code added from that patch contribution that was not necessary and needed anymore.

Jaco can you add the JIRA this in reference to as the first token in the title? also if you could add a little more context it would really help?

Sure will do Earle!

I'm not convinced this is the cause of the NPE. Whilst it would cause a NPE if publishedAssessment was null, in both code paths that call this method, publishedAssessment can't be null as there is another call to publishedAssessment.getX, so that would cause the issue as well.
However I am looking at this on my.phone on the bus so might have missed something.
In any cade, this line of code is unused and should be removed.

Hi Steve
The NPE Kevin experienced happened DeliveryBean.getTimeBeforeRetract(DeliveryBean.java:3767). When I debugged I noticed that retractDate was null which caused th NPE.  The retractDate does have a value and should not have been set as per this PR. I have corrected this by removing the setting of retractDate.
Is it possible we can get this merge to trunk seeing that my local instance testing is now different than what Lura and everybody else is using to test.


Start of About page

REALLY simple about page with lorem ipsum sample text

I couldn't figure out how to get the div to match the background, so I had to manually change the background-color to match it. Without it, the div rendered with a white background on top of the off white body. What am I missing?


Sparse to dense conversion API

It would be good to think about the interface for converting from sparse ITensor types to Dense, or other less sparse types where it makes sense. It would be good to have the following operations, with some proposed names:
Convert to Dense:

Diag -> Dense (dense)
BlockSparse -> Dense (dense, removeqns)
DiagBlockSparse -> Dense (dense)

Convert to Diag:

DiagBlockSparse -> Diag (diag, removeqns)

Convert to BlockSparse:

DiagBlockSparse -> BlockSparse (denseblocks)

Right now, I believe all of the dense conversion functions are implemented (but none of the others are).

Also on a related note, it would be nice to have a function that acts like removeqns but within NDTensors, perhaps called removeblocks. This would do the conversions:

BlockSparse -> Dense
DiagBlockSparse -> Diag

This will be useful for generic code, since then removeqns(::ITensor) can just call removeblocks(::Tensor).

I think these names and concepts are all great. It’s a good distinction to make that removing QNs doesn’t necessarily mean going all the way to dense storage, because there may be other kinds of sparsity involved like diagonal sparsity. If we find a good application (data science?) of general sparsity that will be another situation that can be composed with block sparsity too.
If we do need better names later, we can always make them synonyms for some of these (soft deprecation).


spring-cloud-starter-alibaba-nacos-config   0.2.0.RELEASE  attribute  spring.profile.active is invalid

spring-cloud-starter-alibaba-nacos-config   0.2.0.RELEASE
dataid has nothing to do with attribute  spring.profile.active

we don't recommand use old version. pls use graduation version. refer https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明.


Potential Security Issue?

A friend shared a link to https :// carbon.now.sh /.  Because he did not tell me anything about this library, I decided to check if it was legit.  According to Norton (https://safeweb.norton.com/report/show?url=https%3A%2F%2Fcarbon.now.sh%2F), drive-by downloads are a potential threat.  Below are Norton's listing.
I am creating an issue so that the maintainer of this project is aware of this potential issue, and can explain why Norton is incorrect in black-listing their site.  Also, to warn users of this library of potential security concerns.

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // mxcdn1.now. sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // mxcdn2.now. sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // npcdn1.now. sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // sxcdn02.now. sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https :// sxcdn3.now. sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // sxcdn4.now .sh

Threat Name: Web Attack: Fake TechSupport Website

Location: https: // sxcdn6.now .sh

This is related to now.sh in general, not specifically https://carbon.now.sh. @timothyis do you know anything about this?

Thank you for bringing these to our attention; our security team is on it.

For any additional security concerns, the fastest way to get our security teams attention is to reach out to<EMAIL_ADDRESS>but all means for pinging us will do.

Thanks @jamo! 🎉


ddev magento commands can't be executed with --help flags

Is there an existing issue for this?

[X] I have searched the existing issues

Run a Diagnostic and Paste Link Here
Diagnostic Gist
Current Behavior
I am currently not able to run bin/magento commands with the --help flag to get further information on their usage, arguments, options, etc. .

ddev magento setup:upgrade --help prints information on the ddev magento command
ddev magento "setup:upgrade --help" prints error "Command "setup:upgrade --help" is not defined."

Expected Behavior
When I run ddev magento commands with a --help flag, the command should output the usage description or there should be a simple workaround to get the bin/magento commands help output.
Steps To Reproduce

Create or start DDEV project of type magento2 following the documentations Magento 2 Quickstart section
Run ddev magento setup:upgrade --help or ddev magento "setup:upgrade --help"

Anything else?
I understand that the DDEV command itself triggers its help information output when using the --help flag, but it currently prevents the help output of the Magento 2 commands completely.
I am pretty sure that I was able to run bin/magento commands with --help flag in a prior version of DDEV, by wrapping the Magento 2 command name and arguments in double quotes like ddev magento "setup:upgrade --help".
I also created a copy of the magento command and replaced
bin/magento "$@"

with
bin/magento $*

Which according to my IDE conflicts with shellcheck SC2086, but seems to work with the aforementioned double quote solution and prints the expected command help. I does not seem to have any negative effects on running the command normally, with options and arguments f.e. ddev magento indexer:reindex -vvv catalog_product_category catalog_product_price or  ddev magento "indexer:reindex -vvv catalog_product_category catalog_product_price".

Your approach seems to be OK, want to do a PR against https://github.com/drud/ddev/blob/master/pkg/ddevapp/global_dotddev_assets/commands/web/magento ?
I thought you were going to say that it didn't work because ddev's --help was overriding it.

@rfay PR is up. Thanks for the quick response!

@rfay The PR is coming up. Thanks for your quick response!

This is only for magento, ddev drush and other commands  have a similar output:
Output:
$ ddev drush status --help
Run drush CLI inside the web container (shell web container command)

Usage:
  ddev drush [flags] [args]

Examples:
  "ddev drush uli" or "ddev drush sql-cli" or "ddev drush --version"

Flags:
  -h, --help   help for drush

Global Flags:
  -j, --json-output   If true, user-oriented output will be in JSON format.

Expected output (works from inside ddev ssh):
bserem@tests-web:/var/www/html$ drush status --help
An overview of the environment - Drush and Drupal.

Examples:
  drush core-status --field=files Emit just one field, not all the default
                                  fields.
  drush core-status --fields=*    Emit all fields, not just the default
                                  ones.

Arguments:
  [filter] A field to filter on. @deprecated - use --field option instead.

Options:
  --project=PROJECT A comma delimited list of projects. Their paths will be
                    added to path-aliases section.
  --format[=FORMAT] Format the result data. Available formats:
                    csv,json,list,null,php,print-r,string,table,tsv,var_dum
                    p,var_export,xml,yaml [default: table]
  --fields=FIELDS   Available fields: Drupal version (drupal-version), Site
                    URI (uri), DB driver (db-driver), DB hostname
                    (db-hostname), DB port (db-port), DB username
                    (db-username), DB password (db-password), DB name
                    (db-name), Database (db-status), Drupal bootstrap
                    (bootstrap), Default theme (theme), Admin theme
                    (admin-theme), PHP binary (php-bin), PHP config
                    (php-conf), PHP OS (php-os), Drush script
                    (drush-script), Drush version (drush-version), Drush
                    temp (drush-temp), Drush configs (drush-conf), Drush
                    aliases (drush-alias-files), Alias search paths
                    (alias-searchpaths), Install profile (install-profile),
                    Drupal root (root), Drupal Settings
                    (drupal-settings-file), Site path (site-path), Site
                    path (site), Themes path (themes), Modules path
                    (modules), Files, Public (files), Files, Private
                    (private), Files, Temp (temp), Drupal config
                    (config-sync), Files, Public (files-path), Files, Temp
                    (temp-path), Other paths (%paths) [default:
                    drupal-version,uri,db-driver,db-hostname,db-port,db-use
                    rname,db-name,db-status,bootstrap,theme,admin-theme,php
                    -bin,php-conf,php-os,drush-script,drush-version,drush-t
                    emp,drush-conf,install-profile,root,site,files,private,
                    temp]
  --field=FIELD     Select just one field, and force format to *string*.

Topics:
  drush topic docs:readme    README.md
  drush topic                Output formatters and filters: control the
 docs:output-formats-filters command output

@bserem Well, the answer was right before my eyes I guess. ddev magento help setup:upgrade does in fact print the desired output.

Since the strategy in https://github.com/drud/ddev/issues/3743#issuecomment-1094670673 was just fine, ddev magento help setup:upgrade I'm going to go ahead and close this. Happy to continue the conversation here or elsewhere and thanks @INblau-LucaGerhardt for giving the PR a shot.


Group projects by status

This PR groups projects by their status:

@mattstauffer I kind of want to make the projects stand out a bit more...is this too excessive? If not I'll commit that change.

Closes #25

@marcusmoore Naw, not too much! I like it!