In case it does exist, check if it has a value (length > 0)

I added a little tidbit that confirms that a value exists for the claimedBy property before rendering, just because it was displayed Claimed by ________, where the underscores are empty. I think it may be because the property exists by default so checking if its undefined won't always work.

Ah yeah noticed that had broken. Looks like its because the default zero values for the Go models received from the backend are different (like string is ""), so I also added some more checks to the other fields of the DormItem model that should account for the other fields as well


Do not show weight and display name in perm list

I recommend to not show weight and display name in perm list in /lp group <group> perm list

weight and displayname are just permissions that tell LuckPerms what weight and displayname the group has.
It wouldn't make sense, to just add something, to ignore those permissions.

These aren't special "meta" permissions like group.<group> and prefix.<data> - by that I mean, they don't have any special handling internally - they're just permissions.
So yeah, I agree with Andre, I think it's best that they remain included.


fix: update query conditions for the browser logs

Fixes query conditions for the browser logs. Reference https://github.com/apache/skywalking/discussions/9208
Screenshots

Signed-off-by: Qiuxia Fan<EMAIL_ADDRESS>

According to https://github.com/apache/skywalking-query-protocol/blob/master/browser-log.graphqls, it seems no tag as a condition, instead, we should add a catalog condition.
This part should be removed.

Done

Take a look at Catalog (https://github.com/apache/skywalking-query-protocol/blob/master/browser-log.graphqls#L23)

Have Updated Alarm to Alerting and added a catalog selector in the log header.


RDPECAM client MJPEG decoder fix to skip corrupted frames

Some cameras such as  Logitech Webcam C930e and newer modifications of C920 display these decoding errors with MJPEG format:
[mjpeg @ 0x7f9d102824c0] overread 8
[mjpeg @ 0x7f9d102824c0] EOI missing, emulating

or
[mjpeg @ 0x7f9d47583c40] mjpeg_decode_dc: bad vlc: 0:0 (0x7f9d47580048)
[mjpeg @ 0x7f9d47583c40] error dc
[mjpeg @ 0x7f9d47583c40] error y=134 x=117

The errors typically show up only while decoding first frame from camera. Beginning from second frame, there are no problems with decoding. I inspected the dumps of the first frame and I can confirm there is random partial data corruption.
Prior to this fix, when the 1st corrupted JPEG frame is being decoded, FFmpeg library detects and prints the problem, but avcodec_send_packet decoding API doesn't return an error (considers it minor). We then try to re-encode to H264. Since it's a 1st frame, it becomes bad H264 I-frame, which results in distorted image for ~10 seconds or so, until next good I-frame is generated. The effect of single corrupted frame is over-amplified.
This fix sets a special flag AV_EF_EXPLODE, that tells MJPEG decoder to abort decoding on minor error detection and return error. It allows us to skip corrupted frames.
Tested with C930e, verified the flag actually takes effect and we skip bad frames, so the above mentioned distorted image is no longer seen.
Cc: @akallabeth, @hardening, @jens-maus

@freerdp-bot can do a test build of this PR please ?


Custom Rules Playground

I know this would be a lot of work, but having an environment ready to write rules would be awesome and lowering the bar of learning it!
My idea is to combine your playground with the TS in-browser compiler (ISC) and ast-viewer (MIT)
I imagine something with

First editor to write new rules
Second Editor to insert File to inspect (or maybe even link a folder in a github repo)
Panel to view the AST of the file to inspect
Panel to see output of tslint or compile errors

I would love to create a Proof-of-Concept for this.

Is your library able to run js-rules that just got loaded/compiled?
Would you be open to extend the playground for this once it works?

Hey, I agree - this would be awesome.
In theory the library should be able to run rules which just got loaded - but I haven't worked on this for a little while and so I can't remember exactly. Definitely open to extending the playground - any contributions are welcome!


Error response from daemon: container

Help
docker run --env accept_eula=Y --env username=$AdminUsername --env password=$adminPassword --name $containerName --hostname $hostName --env PublicDnsName=$publicdnsName --env locale=$locale --memory 2048mb --volume c:\NAVFolder:c:\NAVFolder --restart always $imageName
docker : C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container 54b52ee00c7cfb3ed94789ce7abde603dbbff302bc3375746b27291fb1ab7612 encountered
an error during Start: failure in a Windows system call: The operation timed out because a response was not received from the Virtual Machine hosting the Container. (0xc0370109).
At E:\OneDrive\Alligacom\LUONGTHIEN\Docker\Init.ps1:75 char:1

docker run --env accept_eula=Y --env username=$AdminUsername --env pa ...

  + CategoryInfo          : NotSpecified: (C:\Program File.... (0xc0370109).:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

also - can you run other docker containers without errors? Try the nginx with a sample web site.

I run it on Window 10,
I try
$ docker pull microsoft/nanoserver
$ docker images
$ docker run -it microsoft/nanoserver cmd
It work OK

I installed it on another computer and it still the same error (PC: with ram: 8GB)
Step install:

Install window 10, install update
Install docker
Load Image navdocker.azurecr.io/dynamics-nav:devpreview
run docker

$rootPath = "C:\NAVFolder"
$logfilePath = "c:\NAVFolder\logstatus.txt"
$adminUsername = "admin"
$adminPassword = "Dicadmin@123"
$hostName = "dicnavserver"
$containerName = "dicnavserver"
$publicdnsName = "dicnavserver"
$locale = "en-US"
$imageName = "navdocker.azurecr.io/dynamics-nav:devpreview"
docker run --env accept_eula=Y --env username=$AdminUsername --env password=$adminPassword --name $containerName --hostname $hostName --env PublicDnsName=$publicdnsName --env locale=$locale --memory 2048mb --volume c:\NAVFolder:c:\NAVFolder --restart always $imageName

Please run
docker info
and the shortest way to run the NAV containers on Win 10
docker run --env accept_eula=y -m 2g navdocker.azurecr.io/dynamics-nav:devpreview
and post the full output

A few comments
If you have the option of using Windows Server 2016 - then you should always do so.
Windows 10 needs to reserve the 2gb of memory for the container.
In WIndows Server 2016 you can easily run the container with 4G memory - as it will just limit the memory for the container - but not reserve it. This means that the container can use more memory during startup if necessary.
I would still say that the problem seems unrelated to the NAV container - it can be network or docker setup.
On the trying to run another container - try to run the Microsoft SQL Server Developer container - the nano server really doesn't contain anything.

You say

I installed it on another computer and it still the same error (PC: with ram: 8GB)

But the previous error was:
 Error response from daemon: container 54b52ee00c7cfb3ed94789ce7abde603dbbff302bc3375746b27291fb1ab7612 encountered
an error during Start: failure in a Windows system call: The operation timed out because a response was not received from the Virtual Machine hosting the Container. (0xc0370109).
At E:\OneDrive\Alligacom\LUONGTHIEN\Docker\Init.ps1:75 char:1

Is the error really the same? I can see two things in the error message:

The operation timed out because a response was not received from the Virtual Machine hosting the Container which is the common problem that can be solved using -m 2G or -m 3G.
The second thing I can see, and this one is really strange for me and I am not sure if this could have something to do with your problems, is the fact that in the error appear OneDrive path. I suppose you use this path only to share your script files to execute docker run commands. I suppose you don`t use graph parameter to put also the filesystem into the OneDrive folder (I think I have already seen somebody trying to achieve this but in a project, not related with nav-docker repo).

You can also try to turn off the antivirus running on the host.

Docker info

Docker images

$ docker run -it microsoft/nanoserver cmd

Run -m 2g or 3g
$ docker run --env accept_eula=y -m 2g navdocker.azurecr.io/dynamics-nav:devpreview

$ docker run --env accept_eula=y -m 4g navdocker.azurecr.io/dynamics-nav:devpreview

Seems like others have had the same problem with non-NAV containers, see here. Could you add your logs there as well as it seems like someone recently looked into it

Please, you could maybe try the following steps:

Disable these features: Hyper-V, Containers
Restart
Enable the features again

And then try to run the container again.

@chiecnhanco I have one additional question for you - didnt you make a manual cleanup of  C:\ProgramData\Docker` folder (and subfolders, especially you should focus on windowsfilter folder).
If you did, this could be the problem.

@Koubek: Step following

Disable these features: Hyper-V, Containers
Restart
Enable the features again

Yes i did, but still the same error
Next step:

I remove images
I check C:\ProgramData\Docker\ and manual cleanup
Remote C:\ProgramData\Docker\
Remote docker
Disable these features: Hyper-V, Containers
Restart
Install Docker again

But not done!

I had practically the same issues as I tried to make some manual cleanup. It is necessary to clean all folders once started with the cleanup. These are especially important:
C:\ProgramData\Docker\windowsfilter
C:\ProgramData\Docker\containers
C:\ProgramData\Docker\image\
But generally, I would recommend deleting of everything inside C:\ProgramData\Docker once touched by your hands...
Of course, if you use standard commands like docker rmi, docker pune..., you don`t need to delete anything.

I've tried to docker rmi first and load images again, but not

@chiecnhanco , what is exact build of W10 you're running?

https://blogs.msdn.microsoft.com/freddyk/2017/10/29/troubleshooting-nav-on-docker/ should help you identify whether the problem is in Docker or in the Docker image.

if you are using window 10 Enterprise 10.0.1734 build 17134 the container does not work, it is because of one windows updates for security, if you use window 10 pro it should work fine.


Clips in arrangement view

Hi,
Great job so far reworking the LiveOSC. Woudl it be possible to be able to get clips that are on a track in arrangement view?
Thanks for all the great work so far!
Judah

Thanks for the kind comments. I've now added three endpoints for this, to query each track's Arrangement View clip names; lengths and start times (in beats):
/live/track/get/arrangement_clips/name
/live/track/get/arrangement_clips/length
/live/track/get/arrangement_clips/start_time

What are you seeking to do with Arrangement View clips?

I was planning on being able to launch/loop and generally control songs and set lists in arrangement view, and I wanted to be able to use clips to define loops etc.
(I know this would be easier in session view but I need to be able to run video)


Ipv6 is not supported.

When I run the dtcnode in ipv6 server, the error occured. Will you release a version that supports IPv6 in the future?
Error in detail
dtcconfig command :
./dtcconfig create -t 3 -n [240e:eb:8001:e13::156]:1111,[240e:eb:8001:e13::157]:1111,[240e:eb:8001:e13::158]:1111 -H 240e:eb:8001:e13::155 -d /etc/dtc/dtc.sqlite3  -l /etc/dtc/dtc.log
dtcnode-config.yaml :
config:
publickey: :aiwtxFO7/5mC-4nIjQ^jhzm6e}//1frj7X{Q{wJ
privatekey: '*)LBx:^F<XsMqZ2iR&bg7LYKR>93]DgOcNK[/+1T'
host: 240e:eb:8001:e13::156
port: 1111
client:
publickey: 4RIVW<BrU8OxZ=L(i3(hr>ZuHQ=rj5Iq#.R^$RpV
host: 240e:eb:8001:e13::155
rsa:
keys: []
ecdsa:
keys: []
Error info :
root@dmserver:~/dtcnode# ./dtcnode
2021/01/21 03:04:59 AUTH: Starting
2021/01/21 03:04:59 Creating node with ID: dc43ea945b11deab
2021/01/21 03:04:59 Listening message in tcp://240e:eb:8001:e13::156:1111
2021/01/21 03:04:59 AUTH: Stopping
2021/01/21 03:04:59 AUTH: Quitting: received QUIT message
2021/01/21 03:04:59 AUTH: Stopped
Error: error initializing node: no such device

Can you try putting your IPv6 address in brackets notation? I quote from the link:
Since IPv6 no longer uses points to seperate values, but colons, it poses a direct problem for specifying portnumbers, as its default notation is :. This can be solved by placing the IP address in between brackets, such as [::3]:8080 (which addresses the local loopback address, on port 8080). For websites that use the IP for access, this should be http://[ip-address]:port.

Tell me if it works 🙂

Can you try putting your IPv6 address in brackets notation? I quote from the link:
Since IPv6 no longer uses points to seperate values, but colons, it poses a direct problem for specifying portnumbers, as its default notation is :. This can be solved by placing the IP address in between brackets, such as [::3]:8080 (which addresses the local loopback address, on port 8080). For websites that use the IP for access, this should be http://[ip-address]:port.

Tell me if it works 🙂

Can you try putting your IPv6 address in brackets notation? I quote from the link:
Since IPv6 no longer uses points to seperate values, but colons, it poses a direct problem for specifying portnumbers, as its default notation is :. This can be solved by placing the IP address in between brackets, such as [::3]:8080 (which addresses the local loopback address, on port 8080). For websites that use the IP for access, this should be http://[ip-address]:port.

Tell me if it works 🙂

I try it, but it does not work.
I find another method to solve this issue as follow:
When I took a look your code and read the official documentation of ZMQ, then added a line to your code in dtcnode/server/node.go
func (node *Node) connect() error{ s, err := node.context.NewSocket(zmq4.REP) 	if err != nil { 		return err 	} 	node.socket = s         **err = node.socket.SetIpv6(true)** 	if err != nil { 		return err 	}        …………
Then it works.
Maybe this will hep you.

Can you try putting your IPv6 address in brackets notation? I quote from the link:
Since IPv6 no longer uses points to seperate values, but colons, it poses a direct problem for specifying portnumbers, as its default notation is :. This can be solved by placing the IP address in between brackets, such as [::3]:8080 (which addresses the local loopback address, on port 8080). For websites that use the IP for access, this should be http://[ip-address]:port.

Tell me if it works 🙂

I try it, but it does not work.
I find another method to solve this issue as follow:
When I took a look your code and read the official documentation of ZMQ, then added a line to your code in dtcnode/server/node.go
func (node *Node) connect() error{ s, err := node.context.NewSocket(zmq4.REP) 	if err != nil { 		return err 	} 	node.socket = s         **err = node.socket.SetIpv6(true)** 	if err != nil { 		return err 	}        …………
Then it works.
Maybe this will hep you.

Thank you for your suggestion. I pushed the changes on both repositories. I would appreciate it if you can test the code in the master branch.

Thank you for your suggestion. I pushed the changes on both repositories. I would appreciate it if you can test the code in the master branch.

Thank you for your suggestion. I pushed the changes on both repositories. I would appreciate it if you can test the code in the master branch.

Thank you for your suggestion. I pushed the changes on both repositories. I would appreciate it if you can test the code in the master branch.


Common Subexpression Elimination

fixes https://github.com/willow-ahrens/Finch.jl/issues/134

Cool, this looks great!


Discover and JCB can also be 19 characters long

Tried to use cards from this site https://www.freeformatter.com/credit-card-number-generator-validator.html and long JCB and Discover card are cut by the validator.

For the record, #84 exists to address this but the likelihood of getting merged is low (I believe the library has been abandoned).

This was released in 2.4.0


Cancelling unknown job raises unexpected exception

Executor.cancel_iteration() tries to log an error if the job/iteration was not found. The log statement references job.name, which does not exist in SchedulingJob. This should probably be job.job.name on line 179 of executor.py.

Hi Lourens, imho the executor.py code is ok - the object passed there is jobinfo.Job with the name property. I think the problem is elsewhere - can you confirm the bugfix in branch issue-157_cancel_iteration_error solves the problem ?


FreeBSD: Large sysctl -a output takes >1h to process

Suggestion: On FreeBSD, rather than 'sysctl -a', use 'sysctl -a -W' to list only writable sysctls. This excludes statistical and other informational sysctls which on a 12.2-system easily adds up to several megabytes (hundred-and-something thousand lines) of, for our intents and purposes, garbage.
Since this won't work for all platforms, I'm not going to propose a patch that simply adds '-W' to the sysctl() call in the code, although this does work for me.

+1 for this improvement. Perhaps it might look like this?
@@ -78,11 +78,14 @@
     resources ||= []

     sep = '='
+    sysctl_all_args = '-a'
+
     if Facter.value(:kernel) == 'FreeBSD'
       sep = ':'
+      sysctl_all_args = '-aW'
     end

-    sysctl('-a').each_line do |line|
+    sysctl(sysctl_all_args).each_line do |line|
       line = line.force_encoding("US-ASCII").scrub("")
       value = line.split(sep)

Tested with FreeBSD 12.2, FreeBSD 13-ALPHA1

+1 for this improvement. Perhaps it might look like this?
@@ -78,11 +78,14 @@
     resources ||= []

     sep = '='
+    sysctl_all_args = '-a'
+
     if Facter.value(:kernel) == 'FreeBSD'
       sep = ':'
+      sysctl_all_args = '-aW'
     end

-    sysctl('-a').each_line do |line|
+    sysctl(sysctl_all_args).each_line do |line|
       line = line.force_encoding("US-ASCII").scrub("")
       value = line.split(sep)

Tested with FreeBSD 12.2, FreeBSD 13-ALPHA1

By the way, if we can customize the argument per platform, we can get rid of sep = '=' , thanks to the argument '-e' argument: https://man.freebsd.org/sysctl/8

-e	     Separate the name and the value of	the variable(s)	with `='.
This is useful for	producing output which can be fed back to the
sysctl utility.  This option is ignored if	either -N or -n	is
specified,	or a variable is being set

E.g:
    sysctl_all_args = '-a'

    if Facter.value(:kernel) == 'FreeBSD'
      sysctl_all_args = '-aeW'
    end

    sysctl(sysctl_all_args).each_line do |line|
...

By the way, if we can customize the argument per platform, we can get rid of sep = '=' , thanks to the argument '-e' argument: https://man.freebsd.org/sysctl/8

-e	     Separate the name and the value of	the variable(s)	with `='.
This is useful for	producing output which can be fed back to the
sysctl utility.  This option is ignored if	either -N or -n	is
specified,	or a variable is being set

E.g:
    sysctl_all_args = '-a'

    if Facter.value(:kernel) == 'FreeBSD'
      sysctl_all_args = '-aeW'
    end

    sysctl(sysctl_all_args).each_line do |line|
...

I'm fine with that. Can you create a PR please?

I'm fine with that. Can you create a PR please?

I'm fine with that. Can you create a PR please?

No problems! maybe there is a better variant of the variable name instead of 'sysctl_all_args' ?
@ltning BTW, >1h this is a rather strange time. 'sysctl -a' works fast on my systems, but your suggestion is reasonable:
# uname -smr
FreeBSD 13.0-ALPHA1 amd64

# sysctl -a |wc -l
   14566

# sysctl -aW | wc -l
    1532

# time sysctl -a 2>&1 | tail -n1

real    0m0.088s
user    0m0.009s
sys     0m0.094s

I'm fine with that. Can you create a PR please?

No problems! maybe there is a better variant of the variable name instead of 'sysctl_all_args' ?
@ltning BTW, >1h this is a rather strange time. 'sysctl -a' works fast on my systems, but your suggestion is reasonable:
# uname -smr
FreeBSD 13.0-ALPHA1 amd64

# sysctl -a |wc -l
   14566

# sysctl -aW | wc -l
    1532

# time sysctl -a 2>&1 | tail -n1

real    0m0.088s
user    0m0.009s
sys     0m0.094s

Thanks @all for picking this up.

@ltning BTW, >1h this is a rather strange time. 'sysctl -a' works fast on my systems, but your suggestion is reasonable:

It depends. Also note that this refers to the time spent in this sysctl module, not by sysctl itself.
If there's heavy use of ZFS, there are situations where stats coming out of sysctl -a can be pretty large. And prior to somewhat recent commits in openzfs/freebsd, it could literally take hours for this module to process its output. Even after the upstream fixes (but without the patch discussed here) it regularly takes many minutes on affected systems.

Thanks @all for picking this up.

@ltning BTW, >1h this is a rather strange time. 'sysctl -a' works fast on my systems, but your suggestion is reasonable:

It depends. Also note that this refers to the time spent in this sysctl module, not by sysctl itself.
If there's heavy use of ZFS, there are situations where stats coming out of sysctl -a can be pretty large. And prior to somewhat recent commits in openzfs/freebsd, it could literally take hours for this module to process its output. Even after the upstream fixes (but without the patch discussed here) it regularly takes many minutes on affected systems.

I'm fine with that. Can you create a PR please?

done, tested with: FreeBSD 13.0-ALPHA1 amd64

I'm fine with that. Can you create a PR please?

done, tested with: FreeBSD 13.0-ALPHA1 amd64

@ltning Would you mind trying #52 to see if it speeds things up even more?


Detect ign instead of using cmake module to check for ignition-tools

Part of ignition-tooling/release-tools#472
I don't detect the conditional installation of the ign submodule, the PR just
changed the way of detecting ign for testing.

@osrf-jenkins retest this please

Closing and opening to retrigger CI


Kubernetes package repositories: Step 2 gpg directory doesnt exists

gpg output directory doesnt exists on Debian 11
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

sudo ls  /etc/apt/keyrings/
ls: cannot access '/etc/apt/keyrings/': No such file or directory

a "plain" creation of the directory fixes the issue
sudo mkdir  -p /etc/apt/keyrings/


Documentation should include information about the "settings." and "this." scopes

Is your feature request related to a problem? Please describe.
It is hard for new users to know how BOT memory works.
Describe the solution you'd like
Clear documentation on the different scopes, where they are valid and how they should be used.
Describe alternatives you've considered
https://docs.microsoft.com/en-us/composer/concept-memory
Additional context
The link above provides information about [user, conversation, dialog, turn] but not about [settings, this]

Documentation exists for the Settings and This scopes, among others, in the SDK docs at Reference/AdaptiveDialogs/Memory scopes.

Please reopen with comments if I have closed this prematurely.


support for latest dpy version

Hey,
Thanks for the update, I've not recently been up to date with dpy as I thought it was discontinued. Can you please provide a link to where asynchronous cogs were added to dpy so I can validate it will work (not currently at a computer and won't be for some time)

Hey, Thanks for the update, I've not recently been up to date with dpy as I thought it was discontinued. Can you please provide a link to where asynchronous cogs were added to dpy so I can validate it will work (not currently at a computer and won't be for some time)

Theres no need to validate. I use dpy 2.0. Thats how cogs are loaded.
You need to use the beta version of dpy to get the asynchronous cogs, stable doesnt have this functionality yet


reference #368 Code collector widget showing different tech debt value vs SONAR UI

@jdamick I removed unnecessary code identified in code review
reference #368 Code collector widget showing different tech debt value
In the current code I found the math was wrong, but after further testing we found it better to simply use the formatted value returned in the JSON from SONAR, then we will always match.

ok makes sense, thanks

@jdamick I think this conflicts due to the merge/revert, do you want me to create a clean branch and resolve the merge or will you take care of it?

created a new branch to resolve conflict -  #435


Code and config change: Packet to equinixmetal

This PR builds on top of #1537 by adding code and configuration changes to migrate from Packet to Equinix Metal.
Addresses: #1546
The following changes will take affect after this PR is merged.

Terraform provider packethost/packet is replaced with equinix/metal.
Cluster configuration for Equinix Metal is changed from cluster "packet" {} to cluster "equinixmetal" {}

Migration steps:
Backup existing clusters state file
cd assets/terraform/
terraform state pull > terraform.tfstate.backup

Uninstall packet-ccm helm release
helm uninstall packet-ccm --namespace kube-system

Replace the packethost/packet Terraform provider with equinix/metal:

terraform state replace-provider packethost/packet equinix/metal

Replace all references of packet_ to metal_ in the terraform state file.

 sed -i 's/packet_/metal_/g' terraform.tfstate

Change the module name module.packet to module.equinixmetal in the terraform state file

sed -i 's/module.packet/module.equinixmetal/g' terraform.tfstate

Edit the cluster module in cluster configuration file(lokocfg) from packet to equinixmetal, example:

cluster "equinixmetal" {}

Upgrade
Note: Do not forget the --skip-pre-update-health-check flag

    lokoctl cluster apply --skip-components --skip-pre-update-health-check

Terraform plan should reflect the following changes: Lokomotive control plane and components update,  removal of packet-ccm , update of the lokoctl-version and the addition of cloud-provider-equinix-metal.
Upgrade Lokomotive cluster to the latest release by proceeding with the cluster apply in step 5 with yes

sed -i 's/packet_/metal_/g' terraform.tfstate

I'd rather use terraform state mv. Why sed?

sed -i 's/packet_/metal_/g' terraform.tfstate

I'd rather use terraform state mv. Why sed?

Migration Guide used sed so thats what I went with.

Migration Guide used sed so thats what I went with.

Hmm, can we at least try to see if terraform state mv works?

updates

Regarding the so many commits. It was getting harder to track and also would be harder to review.
I've tried to make sure that after every commit I run lokoctl apply on an existing cluster(before the name change) so that there are no plan changes.
Making it a single large commit would be a lot to deal with review and maintain sanity.
However what we can do is that we can review as multiple commits and then when I get LGTM I can squash all commits into one.

@invidian
addressed some feedback, migrated from packet-ccm to cloud-provider-equinix-metal.

Regarding the usage of terraform mv instead of sed

I couldn't get it to work for all the resources, example:
terraform state mv module.worker-small.data.metal_project.project module.worker-small.data.packet_project.project

Error: Invalid state move request

Cannot move module.worker-small.data.metal_project.project to
module.worker-small.data.packet_project.project: resource types don't match.

This makes use use sed for only the above data resource. Instead I'd propose using sed for all the steps as is the case with the migration guide.

For cluster-autoscaler

Upstream repo does not have any changes w.r.t renaming from Packet -> Equinix Metal.
Upstream autoscaler helm chart expects cloudProvider: packet
We have an optional Provider field in component config which we set it to packet  and a packet config block.
If we change the user facing variables from packet  to equinixmetal , internally we have to do some mapping in either go code or in helm templates along the lines of:
if cloudProvider is equinixmetal, then set `--cloudProvider= packet`

which by the looks of it is hacky and ugly.
I am of the opinion that we should leave the cluster-autoscaler as is. Instead focus on updating to the latest helm chart. The latest release has a commit that fixes some API errors (no sure if it fixes everything) but it would be good to get the latest chart.
Your opinions: @invidian @iaguis ?

If we need to use sed for one of them I agree using it for all of them makes sense.
I agree we shouldn't make the changes upstream just now. Let's leave it as Packet.

I still see a lot of references to Packet, which can definitely be changed to Equnix Metal:
$ git grep -i packet | grep -v cluster-autoscaler | grep -v vendor | grep -v formerly | grep -v packethost | grep -v packet.ipxe | grep -v PACKET_AUTH | grep -v prometheus-operator | grep -v calico | grep -v terraform-provider-packet | grep -v scripts/update | grep -v CHANGELOG.md | grep -v COREOS_PACKET | grep -i packet
README.md:* [Packet quickstart](https://kinvolk.io/docs/lokomotive/latest/quickstarts/packet)
README.md:* [Kubernetes storage with Rook Ceph on Packet cloud](https://kinvolk.io/docs/lokomotive/latest/how-to-guides/rook-ceph-storage)
README.md:* [Setting up an HTTP ingress controller on Lokomotive with MetalLB and Contour on Packet](https://kinvolk.io/docs/lokomotive/latest/how-to-guides/ingress-with-contour-metallb)
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/bootkube.tf:  # Select private Packet NIC by using the can-reach Calico autodetection option with the first
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/bootkube.tf:  # Block access to Packet metadata service.
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/bootkube.tf:  # https://www.packet.com/developers/docs/servers/key-features/metadata/
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/bootkube.tf:  # metadata.packet.net should always resolve to <IP_ADDRESS>.
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/cl/controller.yaml.tmpl:          # Use <IP_ADDRESS>/8 as this is Packet private network CIDR.
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/controllers.tf:      // With newer Packet provider, changing userdata causes re-creation of the device,
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/controllers.tf:    flatcar_linux_oem    = "packet"
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/controllers.tf:  platform = "packet"
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/workers/cl/worker.yaml.tmpl:          # Use <IP_ADDRESS>/8 as this is Packet private network CIDR.
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/workers/workers.tf:      // With newer Packet provider, changing userdata causes re-creation of the device,
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/workers/workers.tf:    flatcar_linux_oem    = "packet"
...

@invidian
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/controllers.tf:    flatcar_linux_oem    = "packet"
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/controllers.tf:  platform = "packet"
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/workers/workers.tf:    flatcar_linux_oem    = "packet"
assets/terraform-modules/equinixmetal/flatcar-linux/kubernetes/workers/workers.tf:  platform = "packet"
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_ENV: ${PACKET_ENV:-testing}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_VERSION: ${PACKET_VERSION:-ignored}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      API_AUTH_TOKEN: ${PACKET_API_AUTH_TOKEN:-ignored}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      API_CONSUMER_TOKEN: ${PACKET_CONSUMER_TOKEN:-ignored}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_ENV: ${PACKET_ENV:-testing}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_VERSION: ${PACKET_VERSION:-ignored}
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_ENV: testing
assets/terraform-modules/tinkerbell-sandbox/assets/deploy/docker-compose.yml:      PACKET_VERSION: ${PACKET_VERSION:-ignored}
assets/terraform-modules/tinkerbell-sandbox/assets/setup.sh:			| .hosts += [ $ip, "tinkerbell.\($facility).packet.net" ]
ci/packet/packet-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet/packet-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:  packet {
ci/packet/packet-cluster.lokocfg.envsubst:    project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:    facility   = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/scripts/deploy-cluster.sh:packet|packet_fluo)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:packet_arm)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:cat "$platform-cluster.lokocfg.envsubst" | envsubst '$AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY $PUB_KEY $CLUSTER_ID $AWS_DEFAULT_REGION $AWS_DNS_ZONE $AWS_DNS_ZONE_ID $PACKET_PROJECT_ID $EMAIL $GITHUB_CLIENT_ID $GITHUB_CLIENT_SECRET $DEX_STATIC_CLIENT_CLUSTERAUTH_ID $DEX_STATIC_CLIENT_CLUSTERAUTH_SECRET $GANGWAY_REDIRECT_URL $GANGWAY_SESSION_KEY $DEX_INGRESS_HOST $GANGWAY_INGRESS_HOST $ISSUER_HOST $REDIRECT_URI $API_SERVER_URL $AUTHORIZE_URL $TOKEN_URL $PACKET_LOCATION $ARM_SUBSCRIPTION_ID $ARM_TENANT_ID $ARM_CLIENT_ID $ARM_CLIENT_SECRET' >"$platform-cluster.lokocfg"
ci/scripts/deploy-cluster.sh:  if [ "$platform" == "packet" ] || [ "$platform" == "packet_fluo" ]; then
test/platform/equinixmetal/equinixmetal_test.go:		t.Fatalf("Creating Packet API client: %v", err)
test/platform/equinixmetal/equinixmetal_test.go:	projectID := os.Getenv("PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:		t.Fatalf("Packet project ID can't be empty. Is %q environment variable set?", "PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:		t.Fatalf("No Packet device found with hostname %q", hostname)

The following things show packet, some of them are related to cluster autoscaler.
Not sure if any of them needs to change or the potential impact of breakage in CI.

@ipochi I think the following can still be changed, though they require changes to CI configuration as well. I think all can be rolled out gracefully though.
ci/packet/packet-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet/packet-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:  packet {
ci/packet/packet-cluster.lokocfg.envsubst:    project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:    facility   = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/scripts/deploy-cluster.sh:packet|packet_fluo)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:packet_arm)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:cat "$platform-cluster.lokocfg.envsubst" | envsubst '$AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY $PUB_KEY $CLUSTER_ID $AWS_DEFAULT_REGION $AWS_DNS_ZONE $AWS_DNS_ZONE_ID $PACKET_PROJECT_ID $EMAIL $GITHUB_CLIENT_ID $GITHUB_CLIENT_SECRET $DEX_STATIC_CLIENT_CLUSTERAUTH_ID $DEX_STATIC_CLIENT_CLUSTERAUTH_SECRET $GANGWAY_REDIRECT_URL $GANGWAY_SESSION_KEY $DEX_INGRESS_HOST $GANGWAY_INGRESS_HOST $ISSUER_HOST $REDIRECT_URI $API_SERVER_URL $AUTHORIZE_URL $TOKEN_URL $PACKET_LOCATION $ARM_SUBSCRIPTION_ID $ARM_TENANT_ID $ARM_CLIENT_ID $ARM_CLIENT_SECRET' >"$platform-cluster.lokocfg"
ci/scripts/deploy-cluster.sh:  if [ "$platform" == "packet" ] || [ "$platform" == "packet_fluo" ]; then
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("Creating Packet API client: %v", err)
test/platform/equinixmetal/equinixmetal_test.go:        projectID := os.Getenv("PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("Packet project ID can't be empty. Is %q environment variable set?", "PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("No Packet device found with hostname %q", hostname)

@ipochi I think the following can still be changed, though they require changes to CI configuration as well. I think all can be rolled out gracefully though.
ci/packet/packet-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet/packet-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:  packet {
ci/packet/packet-cluster.lokocfg.envsubst:    project_id = "$PACKET_PROJECT_ID"
ci/packet/packet-cluster.lokocfg.envsubst:    facility   = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_arm/packet_arm-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  facility = "$PACKET_LOCATION"
ci/packet_fluo/packet_fluo-cluster.lokocfg.envsubst:  project_id = "$PACKET_PROJECT_ID"
ci/scripts/deploy-cluster.sh:packet|packet_fluo)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:packet_arm)
ci/scripts/deploy-cluster.sh:    export PACKET_LOCATION=${AVAIL_LOCATIONS_ARRAY[$RANDOM % ${#AVAIL_LOCATIONS_ARRAY[@]}]}
ci/scripts/deploy-cluster.sh:cat "$platform-cluster.lokocfg.envsubst" | envsubst '$AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY $PUB_KEY $CLUSTER_ID $AWS_DEFAULT_REGION $AWS_DNS_ZONE $AWS_DNS_ZONE_ID $PACKET_PROJECT_ID $EMAIL $GITHUB_CLIENT_ID $GITHUB_CLIENT_SECRET $DEX_STATIC_CLIENT_CLUSTERAUTH_ID $DEX_STATIC_CLIENT_CLUSTERAUTH_SECRET $GANGWAY_REDIRECT_URL $GANGWAY_SESSION_KEY $DEX_INGRESS_HOST $GANGWAY_INGRESS_HOST $ISSUER_HOST $REDIRECT_URI $API_SERVER_URL $AUTHORIZE_URL $TOKEN_URL $PACKET_LOCATION $ARM_SUBSCRIPTION_ID $ARM_TENANT_ID $ARM_CLIENT_ID $ARM_CLIENT_SECRET' >"$platform-cluster.lokocfg"
ci/scripts/deploy-cluster.sh:  if [ "$platform" == "packet" ] || [ "$platform" == "packet_fluo" ]; then
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("Creating Packet API client: %v", err)
test/platform/equinixmetal/equinixmetal_test.go:        projectID := os.Getenv("PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("Packet project ID can't be empty. Is %q environment variable set?", "PACKET_PROJECT_ID")
test/platform/equinixmetal/equinixmetal_test.go:                t.Fatalf("No Packet device found with hostname %q", hostname)

These would require changes in the ci-repo as well right ?

Yes, but I'm fine with doing this changes in the lockstep. Adding support for new names here, then changing CI, then removing the support from here.

Yes, but I'm fine with doing this changes in the lockstep. Adding support for new names here, then changing CI, then removing the support from here.

Updated all the necessary references, please review.
Corresponding CI PR is at kinvolk/lokomotive-ci/pull/196

Finally I have the CI green for Packet in a separate pipeline.
https://yard.lokomotive-k8s.net/teams/main/pipelines/packet-to-em-test/jobs/test-lokomotive-equinixmetal-deployment/builds/2
The issue was related to CCM on two folds.

Newer CCM provides multiple peers support via comma separated values in the same annotation. However MetalLB fails to consume this information and fails. Thereby BGP session is never established and hence the Prometheus component metrics test metallb_bgp_session_up` fails.

This patch fixes the issue: https://github.com/kinvolk/metallb/commit/86016b748a520f45403fb81abd380e65b0c39f27
It is a workaround and ideally the fix should be in CCM
Issue: https://github.com/equinix/cloud-provider-equinix-metal/issues/199

For CCM , we don't want the CCM to interfere in loadbalancing but only care about BGP. The setting for that is loadbalancer: empty://. However despite setting the required setting, Node and Service reconcilers are started.

More details on the issue: https://github.com/equinix/cloud-provider-equinix-metal/issues/200
PR: https://github.com/equinix/cloud-provider-equinix-metal/pull/201
/cc @iaguis @invidian @surajssd

@invidian @iaguis @surajssd
CI is Green for Equinix Metal and Equinix Metal ARM in separate pipelines
https://yard.lokomotive-k8s.net/teams/main/pipelines/packet-to-em-test/jobs/test-lokomotive-equinixmetal-deployment/builds/2
https://yard.lokomotive-k8s.net/teams/main/pipelines/packet-to-em-test-arm/jobs/test-lokomotive-equinixmetal-deployment/builds/2
Once this is merged and its corresponding CI PR https://github.com/kinvolk/lokomotive-ci/pull/196 , we would need to pause the pipelines, rename them and unpause them.

CI is Green for Equinix Metal and Equinix Metal ARM in separate pipelines

Why can't we make it pass on existing pipelines?

CI is Green for Equinix Metal and Equinix Metal ARM in separate pipelines

Why can't we make it pass on existing pipelines?

Need to mergehttps://github.com/kinvolk/lokomotive-ci/pull/196 first, then unpause and rename and updates pipelines.
Then we can pass on existing pipelines.

Need to merge kinvolk/lokomotive-ci#196 first, then unpause and rename and updates pipelines.
Then we can pass on existing pipelines

This won't be existing pipelines anymore.

Let's just merge this and switch the CIs later if that's easier. It's that big of a deal if we're not in a perfect CI state all the time.

@surajssd @invidian
Squashed commits and rebased.
Please review again.


Ensure PureScript track is ready for v2 launch

There are a number of things we're going to want to check before the v2 site goes live. There are notes below that flesh out all the checklist items.

[x] The track has a page on the v2 site: https://v2.exercism.io/tracks/purescript
[x] The track page has a short description under the name (not starting with TODO)
[ ] The "About" section is a friendly, colloquial, compelling introduction
[ ] The "About" section follows the formatting guidelines
[ ] The code example gives a good taste of the language and fits within the boundaries of the background image
[ ] There are exercises marked as core
[ ] Exercises have rough estimates of difficulty
[x] Exercises have topics associated with them
[x] The first exercise is auto_approve: true

Track landing page
The v2 site has a landing page for each track, which should make people want to join it. If the track page is missing, ping @kytrinyx to get it added.
Blurb
If the header of the page starts with TODO, then submit a pull request to https://github.com/exercism/purescript/blob/master/config.json with a blurb key.  Remember to get configlet and run configlet fmt . from the root of the track before submitting.
About section
If the "About" section feels a bit dry, then submit a pull request to https://github.com/exercism/purescript/blob/master/docs/ABOUT.md with suggested tweaks.
Formatting guidelines
In order to work well with the design of the new site, we're restricting the formatting of the ABOUT.md. It can use:

Bold
Italics
Links
Bullet lists
Number lists

Additionally:

Each sentence should be on its own line
Paragraphs should be separated by an empty line
Explicit <br/> can be used to split a paragraph into lines without spacing between them, however this is discouraged.

Code example
If the code example is too short or too wide or too long or too uninteresting, submit a pull request to https://github.com/exercism/ocaml/blob/master/docs/SNIPPET.txt with a suggested replacement.
Exercise metadata
Where the v1 site has a long, linear list of exercises, the v2 site has organized exercises into a small set of required exercises ("core").
If you update the track config, remember to get configlet and run configlet fmt . from the root of the track before submitting.
Topic and difficulty
Core exercises unlock optional additional exercises, which can be filtered by topic an difficulty, however that will only work if we add topics and difficulties to the exercises in the track config, which is in https://github.com/exercism/purescript/blob/master/config.json
Auto-approval
We've currently made any hello-world exercises auto-approved in the backend of v2. This means that you don't need mentor approval in order to move forward when you've completed that exercise.
Not all tracks have a hello-world, and some tracks might want to auto approve other (or additional) exercises.
Track mentors
There are no bullet points for this one :)
As we move towards the launch of the new version of Exercism we are going to be ramping up on actively recruiting people to help provide feedback. Our goal is to get to 100%: everyone who submits a solution and wants feedback should get feedback. Good feedback.
If you're interested in helping mentor the track, check out http://mentoring.exercism.io/

When all of the boxes are ticked off, please close the issue.
Tracking progress in https://github.com/exercism/meta/issues/104

Things that can already be checked off:

The track has a page on the v2 site: https://v2.exercism.io/tracks/purescript
The "About" section follows the formatting guidelines
Exercises have topics associated with them

Things that need completing:

Add a blurb for PureScript to config.json
Update the about section to be more friendly and colloquial
The code example is too long for the box (see https://v2.exercism.io/tracks/purescript) - lines should be less than 42 characters
Set ~8 exercises as core in config.json, and set unlocked_by for other non-core exercises
Exercises need rough estimates of difficulty

The exercise code is out of date with the current version of purescript, so I'm going to make a PR to fix that

Updated by #96

I added individual issues for the open points, we can keep this issue as a tracker for them.


removed marginBottom, 'auto' assertions

Checklist:

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[ ] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #46518

Hey @Sherelle-S
Thank you for opening this pull request.
This is a standard message notifying you that we've reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.

While talking to another moderator, I noticed in the description, it mentions horizontally center requirement. So your changes may be welcomed.
For this, my earlier comment is invalid. I am sorry for wasting your time @Sherelle-S, and I am reopening the pull request.

Thank you for your PR, before we can accept it, please go through the checklist, and link the correct issue https://github.com/freeCodeCamp/freeCodeCamp/issues/46598

I think I pressed the button without linking the issue. Sorry, very new to this

@Sherelle-S no worries, take your time.

I think I pressed the button without linking the issue. Sorry, very new to this

@Sherelle-S please edit the description of this PR to link the correct issue :)

Hey @Sherelle-S, for you to edit the description, you can click on the three dots icon. Then click edit

After you had clicked edit, changing the description is possible, and you can change the issue number

Thank you for you patience and guidance guys. Definitely a learning experience issues number updated!


[ISSUE #6205] LitePullConsumer support async pull message

Make sure set the target branch to develop
What is the purpose of the change

fix #6205
Brief changelog
LitePullConsumer support async pull message
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

I don't know if I'm thinking wrong.
I refer to push mode for PullMessageService to support async pull message

@drpmma sorry, I clicked review by accident


rename enum to improve clarity

Codecov Report

Merging #35 (7977d3d) into main (ec11119) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #35   +/-   ##
=======================================
  Coverage   94.31%   94.31%
=======================================
  Files          18       18
  Lines         299      299
=======================================
  Hits          282      282
  Misses         17       17

Flag
Coverage Δ

dotnet
94.31% <100.00%> (ø)

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

Impacted Files
Coverage Δ

src/Bicep.Types.UnitTests/TypeSerializerTests.cs
100.00% <100.00%> (ø)

...rc/Bicep.Types/Concrete/DiscriminatedObjectType.cs
100.00% <100.00%> (ø)

src/Bicep.Types/Concrete/ObjectType.cs
100.00% <100.00%> (ø)


website update

What would you like to be added:

update css to scss
update dependencies version

Why is this needed:

more easy to work wish css
update to new versions, I think there are fixed bugs

I will update the site dependencies  as updates come in.
About scss agree if I update? @RainbowMango

I just re-opened #79, yes the dependencies should be updated.
I'm not sure about the benefits of the scss thing, I think we should keep consistent with docusaurus.


Fix which items show in my item list

It should include:

[x] Items where I am provider or seeker and are not done, canceled or resolved (fixed in #180)
[ ] Items where I am marketplaceOwner and are disputed

Currently it shows in my list items that are in all states and where the user is seeker.

Made the second isuue (Items where I am marketplaceOwner and are disputed) into it's own issue:
https://github.com/swarmcity/boardwalk-ts/issues/186
Closing this one out.


Background Color

I apologize if this has been answered. I have done my due diligence researching and looking at where exactly to change the default background color to a different background color. I've seen the posts about changing the background to an image; however, I just want to change the background color and I'm not too familiar with css.  Which file do I edit to change the default background color?

I found my issue. I had been editing the correct file. I had to flush my cache so when it reloaded the page it was pulling fresh. Background color updated and is working.  Apologies for the issue.

No worries!  Glad you figured it out!


Does not compile with leptos 0.7.0-rc1

Leptos 0.7.0-rc1 has a breaking change with the IntoClass trait having a new reset method.
https://docs.rs/tachys/latest/tachys/html/class/trait.IntoClass.html#tymethod.reset
Additionally, MaybeSignal has been deprecated.

I fixed the compile error in #293. As for MaybeSignal, I'm waiting for a fix in leptos-rs/leptos#3200.


WIP: Prepare for root on multipath devices.

As part of the work to enable root on multipath, we need to run udevadm trigger to update the symlinks for /dev/disk/by-{label,id}.
Tested and confirmed to work.
Blocked on https://github.com/coreos/ignition-dracut/pull/179

Question: let's say /boot is managed -- after multipathd is up, is it that /dev/disk/by-label/boot will point to the devmapper device, or will it still point to one of the underlying block devices?
I think I need to play with this hands-on tomorrow and also poke around on https://github.com/coreos/ignition-dracut/pull/179/commits/25f9634dfdf1a567387ad0fd83541e1826e717be#r421808608.

Question: let's say /boot is managed -- after multipathd is up, is it that /dev/disk/by-label/boot will point to the devmapper device, or will it still point to one of the underlying block devices?

/dev/disk/by-label/boot will point at /dev/mapper/mpatha1 which is the correct path. Once the device mapper is active the backing disk is managed by multipathd.
I'm also happy to walk anyone through this workflow over a BlueJeans chat.


Template available for market?

has someone designed a different template for the market? do you know where I can find it?

https://peatio.io/

@septk
Complete Peatio Help and Support
http://peatio.algobasket.com
Free Technical Documentation below :
https://github.com/peatio/peatio/files/2457278/PeatioCryptoExchange.pdf
https://www.youtube.com/watch?v=tpieNIMSBuQ
Contact me on Skype : algobasket
Thanks in advance !!!


Why accessing custom attribute from within the class where it is applied?

Please elaborate on the use case when you create a custom attribute, apply it to a class, and then from within that class want to read the very same custom attribute. Wouldn't it be easier just define the attributes properties as constant private fields in the class?  Why Would you create an attribute for something like this?

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

ID: 0a62174c-7cdd-54b7-6740-49caf6d5b043
Version Independent ID: be1f8622-f6ea-5da9-d038-a4459b94c671
Content: Retrieving Information Stored in Attributes
Content Source: docs/standard/attributes/retrieving-information-stored-in-attributes.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @rpetrusha
Microsoft Alias: ronpet

Hello!
That would not be the normal use-case of an attribute. The attribute is extra metadata describing what it's attached to.
I'm going to close this issue. I think the answer to your other question #11952 will help.

Duplicate of #11952

It is certainly not the normal use-case of an attribute to be used within its own.
The normal usecase: Attributes are used to extend methods, properties and class instances with metadata to be read when it is constructed. I.e. the [Obsolete] annotation gives feedback to the developer that this method/property/class is soon to become obsolete, but there is really no need for the information within the class itself.


Enhancement: Rate us page

Description
I would like to edit and enhance the UI of the Rate us page

Add the blue background to match the website (currently gray)
Add text "Please leave a review"  (currently blank)
Add more fields (name and email)
Enhancing submit button
Adding footer to the page

Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

Go ahead!


Add meta labels with custom fields

A great improvement could be to add all the custom fields as meta labels.
Exemple :
__meta_netbox_cf_myfield1 = "xxxx"
__meta_netbox_cf_myfield2 = "xxxx"

If the underlying field is an object, exposing the name and slug is needed
Exemple with a custom field of type "Location" :
__meta_netbox_cf_myfieldlocation_name = "xxxx"
__meta_netbox_cf_myfieldlocation_slug = "xxxx"

We just added custom fields in one of the last PR. It's released as pre release 0.6.0rc1.
Have you tried this?

Awesome!! Not yet, I will.
Is there some requirements? I know netbox changed some important things in recent versions.

I close it as related to that discussion https://github.com/FlxPeters/netbox-plugin-prometheus-sd/issues/34


fix: adjusting indexing for the labels.

The labels index were mismatching the actual ones used in the dataset. Specifically 0 is used  for SUPPORTS and 1 is used for REFUTES
After this change, the README.md now reflects the content of dataset_infos.json.
Signed-off-by: Matteo Manica<EMAIL_ADDRESS>

Good catch ! Thanks for fixing it

My pleasure🙏


add a FAQ entry on using fix to parse recursive structures

see:
https://matrix.to/#/!qrcPEbYoUyqhEvxImO:gitter.im/$AoSsgoWnlpnJXPAnAOyk9j49y2CFbAhUB4Ed9PmxCwo?via=gitter.im&via=matrix.org
The main issue is that if you have do this pattern:
Defer[P1].fix[Ast] { self =>
  ...

  P.oneOf1(a :: b :: c ...
}

then you have to make sure that all of a, b, c, etc... can make some progress without first using self.
For instance, you need to put all your constants first in that list. Parsing operators is its own item in the FAQ. Generally what I like to do is parse a list of (Operator, Item). so you do: (parseAtom ~ postOp.rep).map { case (a, fs) => fs.fold(a) { case (a0, (op, a1)) => addOp(a0, op, a1)`
keeping in mind operator precedence, etc... that's a whole other faq...

done here:
https://github.com/typelevel/cats-parse#json-parser-example


Unable to find traces with Elasticsearch deployed behind Google Cloud load balancer

Describe the bug
When using a Google Cloud HTTP load balancer in front of our Elastic Search cluster, Jaeger Query component is unable to search for traces.
To Reproduce
Steps to reproduce the behavior:

Deploy an elasticsearch cluster in Google Cloud
Deploy a load balancer in front of the cluster with an HTTPS route
Configure jaeger-query to use the elasticsearch cluster
Search for traces

Expected behavior
I should be able to search for traces
Screenshots
After intercepting HTTP traffic between jaeger-query and elasticsearch, this is the query blocked by the load balancer with a 400 error:
GET https://elasticsearch.xxxx/_msearch?rest_total_hits_as_int=true HTTP/1.1
Host: elasticsearch.xxxx
User-Agent: elastic/6.2.37 (windows-amd64)
Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip

{"ignore_unavailable":true,"index":"jaeger-jaeger-span-2021-08-06"}
{"query":{"bool":{"must":{"term":{"traceID":"ca1eb6d7b60a624a97acd85c4ccf9ad1"}}}},"search_after":[1628247456972000],"size":10000,"sort":[{"startTime":{"order":"asc"}}],"terminate_after":10000}
{"ignore_unavailable":true,"index":"jaeger-jaeger-span-2021-08-06"}

Version:

Tested on Linux and Windows
Jaeger version: 1.25
Kubernetes, Docker and .exe

Additional context
Google Cloud Load balancer does not support body in HTTP GET queries and blocks it. The ElasticSearch client should be able to make queries with POST instead of GET (maybe if a flag is activated). Meanwhile, we're using TCP load balancer but it's not a best practice.
https://cloud.google.com/load-balancing/docs/https#illegal_request_and_response_handling

@NatMarchand would you like to submit a fix for this?
Jaeger uses this ES client https://github.com/olivere/elastic

Yeah ! Currently working on a PR, just having trouble to setup my go environment on Windows :)
There's a SendGetBodyAs on the es client, I was thinking adding a cli flag such as --es.send-get-body-as="POST"

PR is opened, don't hesitate to comment even if it's still a draft


Apply logbook flags

We are currently using a logbook (google sheets) to track all occurences.  We want a function to read the logbook and apply the flags. The logbook will be reformulated to better suit the function.
Goal: develop a function to read the logbook and apply the flags

A first version was done, but we still have some questions to answer regarding the automatic flags and events registered on the logbook but with valid data. We will address them in other issues.


Fix excluding target dirs from backups on OSX

This fixes an accidental regression from #6880 identified in #7189 by
moving where the configuration of backup preferences happens since it
was accidentally never happening due to the folder always having been
created.
Closes #7189

r? @ehuss

@bors r+

:pushpin: Commit 643b660697832bf11eb5ddb934d19224effd66e9 has been approved by ehuss

:hourglass: Testing commit 643b660697832bf11eb5ddb934d19224effd66e9 with merge bf8d6b0255589b7c9b59c6982c69c105220581d2...

:sunny: Test successful - checks-azure
Approved by: ehuss
Pushing bf8d6b0255589b7c9b59c6982c69c105220581d2 to master...


DOCS-#5449: Add page for Modin interoperability with select third party libraries

What do these changes do?
Adds a page in Modin docs regarding third party libraries interoperability and corresponding example Jupyter notebooks/ issues submitted.

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #5449
[ ] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

Thanks a lot for great summary! Left one comment

@labanyamukhopadhyay, docs/readthedocs.org:modin build failed. You should rebase on current master to make the build passed.

@labanyamukhopadhyay, docs/readthedocs.org:modin build failed. You should rebase on current master to make the build passed.

Done! I believe the build passes now

@labanyamukhopadhyay, I wonder if a library (say seaborn) really depicts a Modin DataFrame as if it would be a pandas DataFrame as input? I see that you use different calls for the Modin DataFrame and pandas DataFrame in seaborn.ipynb. However, if you call same seaborn methods on the Modin DataFrame and pandas DataFrame, will the plots/result be identical?

@labanyamukhopadhyay, I wonder if a library (say seaborn) really depicts a Modin DataFrame as if it would be a pandas DataFrame as input? I see that you use different calls for the Modin DataFrame and pandas DataFrame in seaborn.ipynb. However, if you call same seaborn methods on the Modin DataFrame and pandas DataFrame, will the plots/result be identical?

@YarShev Interesting point! Initially the notebooks were to check if errors occurred when using Modin with these libraries. I've updated seaborn.ipynb with both Modin and pandas examples and the plots are identical after adding plot order constraints (hue_order, col_order, etc). I think this check should be added to the rest of the libraries and the status page be updated if necessary.

A few more comments.

Do we really want docs/jupyter/data/IMDB Dataset.csv to be a part of Modin? It takes 63.1 MB. I don't think users want to have such a big repo after cloning. Can we download the data in the notebook itself?
I would suggest to place all the new notebooks in examples/integrations or examples/jupyter/integrations rather than in docs folder.
I still see some notebooks where the libraries fail when passing in a Modin df into it. However, I do not see any note that Modin is not interoperable with those libraries.
Please respond to my previous comments if they are addressed so I can understand what is fixed and what is not.

@modin-project/modin-core, I want someone from ponder team to look at the changes as well after all my comments are addressed.

@YarShev Thank you for the detailed feedback! For downloading the data in the notebook, we can perhaps upload the csv to  the modin-datasets s3 bucket and then use urllib.request.urlretrieve.
I'll implement the rest of the changes shortly.

@mvashishtha, I want you to take a look at the changes as well.


iOS Nested Flex item percentage based height appears collapsed

Tested in both iOS Safari and Chrome.
The following markup and styles causes the bug.
Demo here: https://codepen.io/ellm/pen/vmgGPE

.flex-container {
  border: 1px solid red;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.flex-child {
  border: 1px solid blue;
  display: flex;
  height: 100%;
}

.flex-child appears collapsed when using percentage based height and .flex-container has it's   flex-direction set to column.
My workaround was to not use flex-direction and do the following:
.flex-container {
  border: 1px solid red;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}

.flex-child {
  border: 1px solid blue;
  display: flex;
  height: 100%;
  width: 100%;
}

Curious if this is a known bug or something new.

This is a generic CSS issue, not a Flexbox issue. You can't use %-based height in the vertical direction on an element if its parent doesn't have a definite height defined.


NO-JIRA: fix: removing the index build part of the bundle pipeline

/lgtm

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.77%. Comparing base (69e6841) to head (9f09e30).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #820      +/-   ##
==========================================
- Coverage   69.64%   68.77%   -0.88%
==========================================
  Files          50       50
  Lines        3443     3443
==========================================
- Hits         2398     2368      -30
- Misses        862      884      +22
- Partials      183      191       +8

see 5 files with indirect coverage changes

/override ci/prow/e2e-aws-hypershift


Add perfer local hint for broadcast join

What problem does this PR solve?
This PR adds a hint for broadcast join to specify a preferred local read. The change need update on parser, and the corresponding PR is https://github.com/hanfei1991/parser/pull/3
What is changed and how it works?
In tryToGetBroadcastJoin, when build child cop task, recursively check if the preferred local read table is in it, if yes, then the child will never be used as global read.
Check List
Tests

Integration test

Code changes

Has interface methods change

Side effects
Related changes

Need to update the documentation
Need to be included in the release note

parser has been updated. please use BCJ_LOCAL

DNM, I am running test on the cluster, just a minute.

DNM, I am running test on the cluster, just a minute.

okay, ready for merging, test has passed


Add Hebrew Calendar API

Adds hebcal.com API to the list
Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide.
[x] Your changes are made in the README file, not the auto-generated JSON.
[x] Your additions are ordered alphabetically.
[x] Your submission has a useful description.
[x] Each table column should be padded with one space on either side.
[x] You have searched the repository for any relevant issues or PRs.

Thanks!


Question about Group DRO implementation

First, thank you for the solid work and for making this code public -- the paper makes some great insights and the code is very clean! I'm using this codebase a reference for implementing a variant of Group DRO, and I had a clarification question on the loss computation.
The Group DRO loss stated in the DoReMi paper is (Eq. 1):
$$\min_{\theta} \max_{\alpha \in \Delta^k} \mathcal L(\theta, \alpha) := \sum_{i=1}^k \alpha_i \left[\frac{1}{\sum_{x\in D_i}|x|} \sum_{x \in D_i}\ell_\theta(x) - \ell_\text{ref}(x)\right]$$
However, it looks like the code is actually optimizing
$$\min_{\theta} \max_{\alpha \in \Delta^k} \mathcal L(\theta, \alpha) := \frac{1}{\sum_{x\in D}|x|}\sum_{i=1}^k \alpha_i \left[\sum_{x \in D_i}\ell_\theta(x) - \ell_\text{ref}(x)\right]$$
In particular, it looks like the loss is a reweighted average over all samples across all domains rather than a reweighted sum of averages over domain-specific losses.
The domain weight update computes the average domain-specific losses here: https://github.com/sangmichaelxie/doremi/blob/7cde52d1848737aa967ecbdb9e643cf334de160d/doremi/trainer.py#L252C22-L252C110
I would expect to see a similar computation for the model parameter updates, but it looks like the code computes the total loss across all domains, reweights it by the domain weights, and then normalizes by a constant normalizer (a reweighted average loss over all samples in all domains).
https://github.com/sangmichaelxie/doremi/blob/7cde52d1848737aa967ecbdb9e643cf334de160d/doremi/trainer.py#L363C17-L363C89
Could you please clarify if the Group DRO loss stated in Eq. 1 is indeed implemented in the code, or if it is summing domain-specific average? Thank you!

Hi Nicholas, you're correct that the code is slightly different from the
Group DRO loss. The weighting scheme in the code follows the pytorch
CrossEntropyLoss way of doing weighted loss over different classes, and is
equivalent to the group DRO loss as batch size grows, but is a biased
estimate with finite samples. I'd expect similar behavior with either one
though. I would also take a look at https://github.com/kohpangwei/group_DRO
for another reference for implementing Group DRO.
On Wed, Oct 16, 2024 at 1:55 PM Nicholas E. Corrado <
@.***> wrote:

First, thank you for the solid work and for making this code public -- the
paper makes some great insights and the code is very clean! I'm using this
codebase a reference for implementing a variant of Group DRO, and I had a
clarification question on the loss computation.
The Group DRO loss stated in the DoReMi paper
https://arxiv.org/abs/2305.10429 is (Eq. 1):
$$\min_{\theta} \max_{\alpha \in \Delta^k} \mathcal L(\theta, \alpha) :=
\sum_{i=1}^k \alpha_i \left[\frac{1}{\sum_{x\in D_i}|x|} \sum_{x \in
D_i}\ell_\theta(x) - \ell_\text{ref}(x)\right]$$
However, it looks like the code is actually optimizing
$$\min_{\theta} \max_{\alpha \in \Delta^k} \mathcal L(\theta, \alpha) :=
\frac{1}{\sum_{x\in D}|x|}\sum_{i=1}^k \alpha_i \left[\sum_{x \in
D_i}\ell_\theta(x) - \ell_\text{ref}(x)\right]$$
In particular, it looks like the loss is a reweighted average over all
samples across all domains rather than a reweighted sum of averages
over domain-specific losses.
The domain weight update computes the average domain-specific losses here:
https://github.com/sangmichaelxie/doremi/blob/7cde52d1848737aa967ecbdb9e643cf334de160d/doremi/trainer.py#L252C22-L252C110
I would expect to see a similar computation for the model parameter
updates, but it looks like the code computes the total loss across all
domains, reweights it by the domain weights, and then normalizes by a
constant normalizer (a reweighted average loss over all samples in all
domains).
https://github.com/sangmichaelxie/doremi/blob/7cde52d1848737aa967ecbdb9e643cf334de160d/doremi/trainer.py#L363C17-L363C89
Could you please clarify if the Group DRO loss stated in Eq. 1 is indeed
implemented in the code, or if it is summing domain-specific average? Thank
you!
—
Reply to this email directly, view it on GitHub
https://github.com/sangmichaelxie/doremi/issues/33, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB4J2SWZX3NZEDFH7OJEHFDZ32ZAPAVCNFSM6AAAAABQCDXU3KVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4TENZXHAYDKOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Use Quality only with Channel in dotnet-install

PR Summary
Fix the build for windows in release/v7.2.6 branch as the change from here was required: https://github.com/PowerShell/PowerShell/pull/16856/files#diff-1eb6991ceacad71a638a32bcf0a4ec906c7ec150f5086732ab6d7702a624914aR1822
Update to the latest .NET SDK version
PR Context

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

Packing failed with the following error:
Use -verbose to see output...
A compatible installed .NET Core SDK for global.json version [6.0.302] from [D:\a\1\PowerShell\global.json] was not found
Install the [6.0.302] .NET Core SDK or update [D:\a\1\PowerShell\global.json] with an installed .NET Core SDK:

/remind me tomorrow

/remind me in 1 day

Re-trigger all CI


Adding MDX to Domains

Website
https://www.middlesex.mu/
Technology related course:
https://www.middlesex.mu/courses/undergraduate/bsc-honours-information-technology
To check Email:
https://www.middlesex.mu/get-in-touch/mdx-mauritius-virtual-connect
Click on your application button

@philipto Could you provide any update please.

@rccprince Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


Simplify API for serialization and add first users

The current code uses fread (+ byte swapping) / fwrite (without byte swapping) and FRead or FReadEndian/ FWrite for de-serialization and serialization. The resulting file is always written in host endianness, so reading on a host with different endianness requires byte swapping. All functions return the number of elements read or written which must be compared with the intended value.
The new code always uses Deserialize / Serialize methods which return true for success or false for failure, like it is already done with the existing Deserialize / Serialize methods for a lot of classes.
With the new API it will be very easy to switch to a fixed little endian file format as soon as it is used for all serialization code.

Maybe we should move to Protocol Buffers or FlatBuffers.
TensorFlow uses the first, while TF Lite uses the second.

Aren't templates are better?

About compatibility. For some time, the code should still keep the ability to read the old format. The write should always be done using the new format.
Yes, after 4.0.0 ...


Add Manual WebView2 Package Reference to Bypass Store Validation Error

Description
Manually adding latest version of WebView2 package reference to bypass Microsoft Partner Center validation error.
See:
https://github.com/microsoft/WindowsAppSDK/issues/4836
and internal bug: 55448079

/azp run


Enforce workflows with Terragrunt

We've encountered many clients who want to standardize a "local Terraform workflow" to ensure maximum infrastructure stability. For example:

"Always run terraform plan before terraform apply."
"Make sure you apply a module version in a non-prod environment before you apply it in prod."

These workflows will vary from team to team and there will be situations when you want to deviate from the workflow, but perhaps it would be useful to allow terraform.tfvars file to declare the Terragrunt workflows you want to enforce. Terragrunt could then keep track of your "session" and ensure that you're abiding by all workflows. If you deviate, it could error out with the specific workflow you violated.
Users could then use a flag like --override this.

I think the trick is to track that a plan has been run on the current set of changes about to be applied.  Perhaps the lock table could be overloaded to track if a plan has been run on the configs for a state file along with an checksum of the combined configs?  Or terragrunt could use an additional table to track this.

This is something Terraform is working on natively, at least in terms of requiring plan: https://www.terraform.io/docs/commands/apply.html#auto-approve-true. It's currently "auto approve" by default, but they will flip that in the future.

Closing in favor of #412.


[Question] Is there a way to override a formio onSubmit event?

Is there a way to override a formio onSubmit event? I tried to do as below, but no luck, not sure what am missing.
`import {Webform} from 'formiojs/Webform';
Webform.prototype.onSubmit= {...}`
Webform is resolving as undefined. any help appreciated. Tx

I would use the module system for this. It looks like the following.
import { Formio } from 'formiojs';
const Webform = Formio.Displays.displays.webform;

class ExtendedWebform extends Webform {
  onSubmit() {
    ....
  }
}

Formio.use({
  displays: {
    webform: ExtendedWebform
  }
});


[CCI] backport/backport-606-to-1.x

Description
Rebased from 1.x.
PRs Resolved
This PR has been created for reference to correct the pipeline in https://github.com/opensearch-project/oui/pull/676.
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[x] All tests pass

[x] yarn lint
[x] yarn test-unit

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Just so I am understanding correctly, this is backporting all the things we missed for 1.x, which is causing #676 to fail tests?
Also, could the DCO on d559491 be fixed (or deleting it along with f5cd73a since it's just a revert)?


Screen , more details

First, I like the updates.
Second, In screen.c3 what are valid color number? I have been testing and think I have discovered all. the "xy" words appear to only work with horizontal movements. Perhaps it is determined by terminal settings. Add an alias.....
: colour color ;  ........ :-)

They are the standard VT escape sequences ... most terminals support them now.

Thanks


Travis not enabled for this repo

https://travis-ci.org/diesel-rs/diesel-dynamic-schema

There is also no .travis.yml so I don't see why travis should be enabled.

Fixed by #7


Call sql_executor with user and repo

The invocation of sql_executor.py fails, because username and reponame need to be provided. Fixed this in the README descrition and in the scheduled_run.sh script.

@staeff great catch, thank you for the fix! Sorry about the very slow response, somehow I missed this notification.


Scrape URLs and upload to S3

This is a working and dockerized version of the scraper. I referred to an existing project somewhere else to help me. I've removed most extraneous code but some parts could probably be simplified further for our use case.
Example usage (passing your AWS credentials to docker as environment variables):

Build docker image
docker build -t scrapy_test .
Run docker container
docker run -e AWS_ACCESS_KEY_ID=<> -e AWS_SECRET_ACCESS_KEY=<> --rm scrapy_test --upload

The --upload argument writes the data to our S3 bucket. You can see the output for my test at s3://kbchatter/scraped_data/slack/date=2021-05-19/test The --no-upload alternative just prints the data to screen.
For now, I've used placeholders for

URLs to scrape
parsing the HTML to extract what we want

One thing to note is that I'm not quite sure why the output of the first column of the resulting data frame is empty. We'll probably change the output eventually but just wanted to note this in case it comes up in the future.


Added end_time option to changefeed docs

Fixes DOC-2984
Added the end_time option to CREATE CHANGEFEED and EXPERIMENTAL CHANGEFEED FOR documentation.

This change is

@andf-crl Do you mean initial_scan_only? If so, yes, I missed that. I have another PR for the unification of the initial_scan syntax that can't move forward until a bug is fixed, so in my head I had lumped that into that PR forgetting this would come first. I will add that in

Yes: initial_scan_only in the code and no_initial_scan in the docs. Sounds good!

Yes: initial_scan_only in the code and no_initial_scan in the docs. Sounds good!

Ahhh yes, initial_scan = only I was holding on that bug. initial_scan_only/no_initial_scan these are two different things. (The former had not been added to the docs before the unification of the initial_scan values had been worked on. Hence initial_scan_only not being present in public docs yet.) I have added the following:

initial_scan_only (soon to be replaced with initial_scan = yes|no|only
updated the timestamp
Added missing options from the core page and the general updates there


Use sphinx-design to format tags as pills/buttons

See https://sphinx-design.readthedocs.io/en/latest/badges_buttons.html

I really like the buttons! But some questions come to mind:

does this feature require sphinx-design extension? I'm using the RTD theme and it seems to be working out of the box, but maybe it only does with those specific themes mentioned in the link above (RTD, Alabaster and some others)?
would the sphinx_tags extension ideally turn tags into these buttons (or badges), i.e. instead of adding Tags: tag1, tag2 in a tag file, add Tags: :bdg:`tag1`, :bdg-info:`tag2`? if that is the case, we could choose one style, say, info, but then how could the user choose different styles? I guess we would either need to stick to just one (and it could be selectable in the conf.py), or as an alternative cycle through the seven colors (primary/secondary/info/success... etc.)

I'd really like to see this feature too.

but then how could the user choose different styles

It would probably make the most sense to put that info in config. For example, a mapping from tag names to roles:
tag_roles= {
    'tag_1': 'bdg',
    'tag_2': 'bdg-info',
    ...
}

That would:

Make using badges an opt-in feature
Make it not necessarily specific to sphinx-design (to allow for use with other extensions or custom roles)

An incremental improvement to that would be glob patterns:
tag_roles = {
    'tag_2': 'bdg-info',
    'prefix:*': 'bdg-warning',
    '*': 'bdg',  # default to 'bdg' role for any tags that don't match one of those patterns
}

Quick example of matching those patterns using fnmatch:
from fnmatch import fnmatch
from typing import Optional

def get_tag_role(tag: str, tag_roles: dict[str, str]) -> Optional[str]:
    """Check for a matching user-defined role for a given tag.
    Defaults to ``None`` for no role (plain text).
    """
    for pattern, role in tag_roles.items():
        if fnmatch(tag, pattern):
            return role
    return None

get_tag_role('tag_2', tag_roles)
# 'bdg-info'

get_tag_role('prefix:tag_3', tag_roles)
# 'bdg-warning'

get_tag_role('tag_1', tag_roles)
# 'bdg'

get_tag_role('tag_1', {})
# None


Fixing jackson dependency issues with swagger

Swagger UI pulls in an old version of Jackson, failing our current build.
Checked snapshot build to make sure dependencies work

Lets wait for tests to pass.

Did u test swagger? Our tests do not cover access via swagger

Codecov Report

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

@@             Coverage Diff              @@
##             master    #3793      +/-   ##
============================================
- Coverage     67.13%   67.01%   -0.13%
  Complexity        4        4
============================================
  Files          1027     1027
  Lines         50819    50819
  Branches       7091     7091
============================================
- Hits          34118    34055      -63
- Misses        14371    14447      +76
+ Partials       2330     2317      -13

Impacted Files
Coverage Δ
Complexity Δ

...r/validation/RealtimeSegmentValidationManager.java
42.85% <0%> (-38.1%)
0% <0%> (ø)

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-25%)
0% <0%> (ø)

...apache/pinot/common/metrics/ValidationMetrics.java
20.28% <0%> (-23.19%)
0% <0%> (ø)

...e/operator/dociditerators/MVScanDocIdIterator.java
48.48% <0%> (-15.16%)
0% <0%> (ø)

...a/org/apache/pinot/common/config/TagNameUtils.java
64.1% <0%> (-5.13%)
0% <0%> (ø)

...elix/core/relocation/RealtimeSegmentRelocator.java
70.4% <0%> (-4.09%)
0% <0%> (ø)

...org/apache/pinot/common/metrics/MetricsHelper.java
72.5% <0%> (-2.5%)
0% <0%> (ø)

...pinot/server/starter/helix/HelixServerStarter.java
52.76% <0%> (-2.22%)
0% <0%> (ø)

.../core/realtime/PinotLLCRealtimeSegmentManager.java
71.38% <0%> (-1.65%)
0% <0%> (ø)

...ata/manager/realtime/RealtimeTableDataManager.java
41.17% <0%> (-1.48%)
0% <0%> (ø)

... and 12 more

Continue to review full report at Codecov.

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

Did u test swagger? Our tests do not cover access via swagger

@mcvsubbu I did add basic tests for console in https://github.com/apache/incubator-pinot/pull/3740. While it won't test rendering, we'll know if something is horribly broken.


Activity enrichment now ignores missing schemas

Before, when the activity enricher found a token that doesn't have
a matching schema, a MissingSchemaError error would be thrown.
This commit changes the enrichment process to ignore values for
which a matching schema can't be found. This will allow us to pass
activities to the enricher without having to worry about values that
don't need to be enriched in the first place.

@etorrejon I don't think I fully understand the usecase for this. When would you receive activities from the getstream.io API with a colon inside the value of a certain property, which is not to be enriched by the library? Wouldn't not using a colon, but some other delimiter, solve your issue here. If we apply the proposed change it could become hard for people to debug issues related to activity enrichment.

@matthisk It sounds like this is something I should try - changing the delimiter or removing the ID part altogether. I'll try that and close this PR for now.
Thanks for your response!


FeignClient fails to initialize during the Spring Boot 3 AOT phase

Describe the bug
@FeignClient fails to initialize during the Spring Boot 3 AOT phase
Sample
Via the Spring Initializer, create any project with:

spring-boot-starter-parent:3.0.0-RC1
spring-cloud-starter-openfeign (spring-cloud-dependencies:2022.0.0-M5 is configured automatically)

When declaring a @FeignClient, the application works normally, but when passing through the AOT phase, the build fails with this error:
java.lang.IllegalStateException: No constructor or factory method candidate found for Root bean: class [com.app.MyFeignClient]; scope=singleton; abstract=false; lazyInit=true; autowireMode=2; dependencyCheck=0; autowireCandidate=true; primary=true; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null and argument types []

I think this is the same as https://github.com/spring-cloud/spring-cloud-openfeign/issues/742

Yes, it looks to be the same. This is still in the backlog.


Removed execute permissions from source code files;

No code changes.  Just some permissions cleanup.

Merged, thanks. I also noticed this problem recently. I guess those files were originally created on Windows.


Billing Automation Issues

Billing schedule is too lengthy process..
https://www.berrycast.com/conversations/bed18b3d-df2c-58b9-9e6b-3e796d43c1af

Upcoming Feature


Kotlinx/fix annotations

This depends on the 1.0.0 PR here: https://github.com/quicktype/quicktype/pull/1570
It addresses the issue filed here: https://github.com/quicktype/quicktype/issues/1571

I've gone ahead and bundled this in with the 1.0.0 PR instead of trying to split it out. Closing this one.