Cleanup goroutine management

What this PR does / why we need it:
In the cert-manager repo, a lot of different methods are utilized for managing go routines.
Some of them do not properly wait for the goroutine to finish before exiting the program.
This might cause some logic to not run or only run sometimes.
This PR also cleans up the "management of goroutines", mostly by introducing "errgroup".
Release note:

the controllers now exit more cleanly (eg. the Leader Election Lease is freed properly on shutdown)

/kind cleanup

/ok-to-test

/retest

https://github.com/jetstack/cert-manager/pull/4233 should probably get merged first; I'll rebase right after

/retest

bazel-bin/cmd/controller/controller_/controller --kubeconfig ~/.kube/config

The OnStoppedLeading is called when canceling the context. This causes an os.Exit(1): https://github.com/jetstack/cert-manager/blob/ed38011aa2c28550231b14b563c76580909e2387/cmd/controller/app/controller.go#L326-L327.
We should probably check if the context is canceled when the function is called, and only exit if it is not canceled.

UPDATE: I did some more refactoring in controller.go and cainjector/app/start.go.
Now the leader election is freed when canceling the context, this greatly reduces startup times and probably will help a lot of users by reducing the startup/ restart time!!
You can compare this locally (master vs this PR):
bazel run //cmd/controller:controller -- --kubeconfig ~/.kube/config
# ctrl+c -> cancel context
bazel run //cmd/controller:controller -- --kubeconfig ~/.kube/config

Excellent addition!! I always had to wait for 10-20 seconds for the leader election to time out when restarting the pod... Now I won't have to wait 🙏🙏

Thanks @inteon
There's quite a lot to absorb in this PR and I found the diff quite difficult to read...it's difficult for me to be sure that we're not changing any important behaviour with all these changes.
Is there any danger of deadlocks, while waiting for all these goroutines to exit? And if there were a deadlock after the leaderelection lock had been released, is there a danger that users (who have scaled up the default deployments) might end up with multiple cert-manager controllers competing to reconcile the same CRs? How bad would that be?
It'd be nice if you could add some comments to the code explaining what precautions you've taken to ensure that the ReleaseOnCancel will only happen after all the other goroutines have exited.

If the main context is canceled (= the stopChannel is closed), this will cause all sub-contexts to also be canceled.
Client-go wants us to provide a context when doing Update/ Get/ ... so these calls will not be possible after the context is canceled. Only if the wrong context is used (eg. context.TODO() or context.Background()) this could cause for some logic to keep running after the main/ root context got canceled.
The Leader Election Logic itself has to use a context.TODO() to update the leases, because the context it was using before got canceled: https://github.com/kubernetes/client-go/blob/4841142cdc4ba44627994f8c25da76c2be2cdb5d/tools/leaderelection/leaderelection.go#L294-L312
I did not add any other logic to make sure that all goroutines have exited. I don't think it is necessary to do that yet.

@wallrj could you cherry pick this pr in the 1.4 release?
We faced an issue that the cainjector hung before the it got elected. This issue might be related to this pr after investigating.

@wallrj could you cherry pick this pr in the 1.4 release?
We faced an issue that the cainjector hung before the it got elected. This issue might be related to this pr after investigating.

@yanxingponyai We're releasing cert-manager 1.5 today, which will include this code. Will you be able to use that? Or at least test the 1.5 release to find out if it does indeed solve your issue. Then we might consider backporting it to 1.4.

Then we might consider backporting it to 1.4.

Given the size of this patch, I'd be reluctant to see this back-ported into a patch release for risk of causing issues if there are any edge cases we have not caught...


Generate list of unassigned observations in August dump

There seem to be some observations without a cube, generate a log for SSZ

WIP, closing here


2 hours time difference when starting without entering a time

On more issue I experienced: When I start a timer session without entering a start time first, the start time is set to "now minus 2 hours". I checked our server time and it's correct.
Any ideas as to why this might be?
Thanks in advance!

Thanks! That was it...! :)


Lima VM will not start (EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary)

Description
Today I was working in lima VM (Ubuntu 20.04; Mac M1). After a while, it has lost connection (as it often does), so I had tried to restart it. Old VM and even brand new will not start and return an error after:

Waiting for the essential requirement 1 of 5: "ssh"

limactl --debug start VM-name prints:

DEBU[0171] [hostagent] executing ssh for script "ssh": /usr/bin/ssh [ssh -F /dev/null -o IdentityFile="/Users/matek/.lima/_config/user" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o NoHostAuthenticationForLocalhost=yes -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o Compression=no -o BatchMode=yes -o IdentitiesOnly=yes -o Ciphers="^aes128-gcm<EMAIL_ADDRESS>-o User=matek -o ControlMaster=auto -o ControlPath="/Users/matek/.lima/test/ssh.sock" -o ControlPersist=5m -p 52070 <IP_ADDRESS> -- /bin/bash]
DEBU[0246] [hostagent] stdout="", stderr="kex_exchange_identification: read: Connection reset by peer\r\nConnection reset by <IP_ADDRESS> port 52070\r\n", err=failed to execute script "ssh": stdout="", stderr="kex_exchange_identification: read: Connection reset by peer\r\nConnection reset by <IP_ADDRESS> port 52070\r\n": exit status 255

Rancher Desktop seems to work.

Do you see any error in ~/.lima/test/serial.log ?

I am only seeing is:

EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary

Here is full log:
serial.log

Could you provide Lima version, QEMU version, and /Users/matek/.lima/test/lima.yaml ?

Both are installed from brew:
> limactl -v
limactl version 0.8.3
> qemu-system-aarch64 --version
QEMU emulator version 6.2.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

lima.yaml.txt

Thanks

Does this work?  limactl rm -f test && limactl prune && limactl start
Does Fedora image work? https://github.com/lima-vm/lima/blob/v0.8.3/examples/fedora.yaml

For the clear Ubuntu test, I have used default settings. Still, it is not working:
limactl rm -f test && limactl prune && limactl start
INFO[0000] The QEMU process seems already stopped
INFO[0000] The host agent process seems already stopped
INFO[0000] Removing *.pid *.sock under "/Users/matek/.lima/test"
INFO[0000] Deleted "test" ("/Users/matek/.lima/test")
INFO[0000] Pruning "/Users/matek/Library/Caches/lima"
? Creating an instance "default" Proceed with the default configuration
INFO[0001] Attempting to download the image from "~/Downloads/impish-server-cloudimg-arm64.img"  digest=
INFO[0001] Attempting to download the image from "https://cloud-images.ubuntu.com/impish/current/impish-server-cloudimg-arm64.img"  digest=
539.62 MiB / 539.62 MiB [----------------------------------] 100.00% 40.59 MiB/s
INFO[0016] Downloaded image from "https://cloud-images.ubuntu.com/impish/current/impish-server-cloudimg-arm64.img"
INFO[0016] Attempting to download the nerdctl archive from "https://github.com/containerd/nerdctl/releases/download/v0.17.0/nerdctl-full-0.17.0-linux-arm64.tar.gz"  digest="sha256:b0ae2fc89d362afa18afcc35798d4da613096613d06cae07181b777cd66002e8"
173.82 MiB / 173.82 MiB [----------------------------------] 100.00% 29.51 MiB/s
INFO[0023] Downloaded the nerdctl archive from "https://github.com/containerd/nerdctl/releases/download/v0.17.0/nerdctl-full-0.17.0-linux-arm64.tar.gz"
INFO[0024] [hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/matek/.lima/default/serial.log")
INFO[0024] SSH Local Port: 60022
INFO[0024] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0110] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0195] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0280] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0365] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0450] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0536] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0621] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
FATA[0623] did not receive an event with the "running" status

serial.log
Fedora seems working:
❯ limactl start
? Creating an instance "default" Open an editor to override the configuration
INFO[0039] Attempting to download the image from "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/aarch64/images/Fedora-Cloud-Base-35-1.2.aarch64.qcow2"  digest="sha256:c71f2e6ce75b516d565e2c297ea9994c69b946cb3eaa0a4bbea400dbd6f59ae6"
359.94 MiB / 359.94 MiB [----------------------------------] 100.00% 23.11 MiB/s
INFO[0057] Downloaded image from "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/aarch64/images/Fedora-Cloud-Base-35-1.2.aarch64.qcow2"
INFO[0057] Attempting to download the nerdctl archive from "https://github.com/containerd/nerdctl/releases/download/v0.17.0/nerdctl-full-0.17.0-linux-arm64.tar.gz"  digest="sha256:b0ae2fc89d362afa18afcc35798d4da613096613d06cae07181b777cd66002e8"
173.82 MiB / 173.82 MiB [----------------------------------] 100.00% 27.12 MiB/s
INFO[0064] Downloaded the nerdctl archive from "https://github.com/containerd/nerdctl/releases/download/v0.17.0/nerdctl-full-0.17.0-linux-arm64.tar.gz"
INFO[0065] [hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/matek/.lima/default/serial.log")
INFO[0065] SSH Local Port: 60022
INFO[0065] [hostagent] Waiting for the essential requirement 1 of 5: "ssh"
INFO[0085] [hostagent] The essential requirement 1 of 5 is satisfied
INFO[0085] [hostagent] Waiting for the essential requirement 2 of 5: "user session is ready for ssh"
INFO[0085] [hostagent] The essential requirement 2 of 5 is satisfied
INFO[0085] [hostagent] Waiting for the essential requirement 3 of 5: "sshfs binary to be installed"
INFO[0106] [hostagent] The essential requirement 3 of 5 is satisfied
INFO[0106] [hostagent] Waiting for the essential requirement 4 of 5: "/etc/fuse.conf to contain \"user_allow_other\""
INFO[0110] [hostagent] The essential requirement 4 of 5 is satisfied
INFO[0110] [hostagent] Waiting for the essential requirement 5 of 5: "the guest agent to be running"
INFO[0110] [hostagent] The essential requirement 5 of 5 is satisfied
INFO[0110] [hostagent] Mounting "/Users/matek"
INFO[0110] [hostagent] Mounting "/tmp/lima"
INFO[0110] [hostagent] Forwarding "/run/lima-guestagent.sock" (guest) to "/Users/matek/.lima/default/ga.sock" (host)
INFO[0110] [hostagent] Waiting for the optional requirement 1 of 2: "systemd must be available"
INFO[0110] [hostagent] Forwarding TCP from <IP_ADDRESS>:5355 to <IP_ADDRESS>:5355
INFO[0110] [hostagent] The optional requirement 1 of 2 is satisfied
INFO[0110] [hostagent] Waiting for the optional requirement 2 of 2: "containerd binaries to be installed"
INFO[0110] [hostagent] Not forwarding TCP <IP_ADDRESS>:53
INFO[0110] [hostagent] Not forwarding TCP <IP_ADDRESS>:22
INFO[0110] [hostagent] Forwarding TCP from [::]:5355 to <IP_ADDRESS>:5355
WARN[0110] [hostagent] failed to set up forwarding tcp port 5355 (negligible if already forwarded)
INFO[0110] [hostagent] Not forwarding TCP [::]:22
INFO[0110] [hostagent] The optional requirement 2 of 2 is satisfied
INFO[0110] [hostagent] Waiting for the final requirement 1 of 1: "boot scripts must have finished"
INFO[0126] [hostagent] The final requirement 1 of 1 is satisfied
INFO[0126] READY. Run `lima` to open the shell.

serial.log

This might be a regression in https://cloud-images.ubuntu.com/impish/20220309/ ?
Does https://cloud-images.ubuntu.com/impish/20220201/ work?

Here is lima.yaml.txt with https://cloud-images.ubuntu.com/impish/20220201/. It is working!

I have the same error as mateka but limactl prune doesn't seem to delete the stored image. I changed the image url und when I execute limactl start docker it does not download the image but end with the same error.
limactl version 0.8.3
QEMU emulator version 6.2.0
My ~/Library/Caches has no lima folder. Any ideas? My serial.log looks pretty much the same as matekas.
Thanks in advance

I'm facing exactly the same issue, and fixed by using impish/20220201 image (as @mateka mentioned above).
It might be better to specify some stable release for images.location instead of the settings that changes its actual content unexpectedly such as impish/current.
@huysal Maybe we should remove (limactl rm ...) the VM and create a new one. I did that and it worked for me.

@mateka @huysal @fuzmish Thank you for testing and analysis. Obviously, this is a regression on Ubuntu side.
I'll update the YAML to use the Feb revision of image, but probably apt-get upgrade is still affected 😞
@fuzmish Could you report this to Ubuntu? https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1947046

Released v0.9.0: https://github.com/lima-vm/lima/releases/tag/v0.9.0
This release uses https://cloud-images.ubuntu.com/releases/21.10/release-20220201 by default, and print a warning message to recommend sudo apt-mark hold linux-image-$(uname -r).

Is there a way to reuse VM broken by apt-get upgrade?

Is there a way to reuse VM broken by apt-get upgrade?

export QEMU_SYSTEM_AARCH64="qemu-system-aarch64 -display cocoa", and you can enter the GRUB prompt to choose an older kernel

Great! Now it shows a login prompt. Is there a default login?

Great! Now it shows a login prompt. Is there a default login?

No, please use limactl shell.
You can also use limactl show-ssh to show the underlying SSH command flags.

Ok. Now it works! Thank You very much!

I'm facing exactly the same issue, there are some important projects files in this VM, and no backup anywhere else, so I could not rm this VM. And with output qemu display to cocoa and try to enter GRUB way, I am also failed. Keeping press ESC will lead me into UEFI menu. After I press continue inside UEFI menu, and then keeping press ESC, I could not enter GRUB menu ... Just get 4 EFI related information, including "EFI stub: ERROR: FIRMWARE BUG: kernel image not alligned on 64k boundary", and stuck there ...
Did I do anything wrong in enterring GRUB menu?

I have restarted VM multiple times before configuring GRUB. Once it was stuck and was not accepting Esc. Other times it has not needed Esc to go into the GRUB menu.

Can anybody confirm that this patch works with https://cloud-images.ubuntu.com/releases/21.10/release-20220309/ ?
https://github.com/AkihiroSuda/homebrew-core/commit/177d583c741f4f50a12f326f632c54dbf169d37b
(Download qemu.rb and run brew install --build-from-source ./qemu.rb)

@AkihiroSuda I have tested several Ubuntu image-based VMs with patched QEMU installed with qemu.rb. The results are summarized in the table below:

images.location
default qemu
patched qemu

impish/20220309*1
:x:
:white_check_mark:

impish/20220204
:white_check_mark:
:white_check_mark:

impish/20220201
:white_check_mark:
:white_check_mark:

focal/20220308
:x:
:white_check_mark:

focal/20220307
:white_check_mark:
:white_check_mark:

focal/20220302
:white_check_mark:
:white_check_mark:

This patch seems to be working fine.
verbose logs
*1:
shasum 7895f695a5e9d49ce13aa926a05d3043cea3063d https://cloud-images.ubuntu.com/impish/20220309/impish-server-cloudimg-arm64.img
shasum 7895f695a5e9d49ce13aa926a05d3043cea3063d https://cloud-images.ubuntu.com/releases/21.10/release-20220309/ubuntu-21.10-server-cloudimg-arm64.img
$ brew info qemu
qemu: stable 6.2.0 (bottled), HEAD
Emulator for x86 and PowerPC
https://www.qemu.org/
/opt/homebrew/Cellar/qemu/6.2.0 (162 files, 555.3MB) *
Poured from bottle on 2022-01-10 at 23:03:27
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/qemu.rb
License: GPL-2.0-only
==> Dependencies
Build: libtool ✔, meson ✘, ninja ✘, pkg-config ✔
Required: glib ✔, gnutls ✔, jpeg ✔, libpng ✔, libslirp ✔, libssh ✔, libusb ✔, lzo ✔, ncurses ✔, nettle ✔, pixman ✔, snappy ✔, vde ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 31,778 (30 days), 119,643 (90 days), 292,728 (365 days)
install-on-request: 17,891 (30 days), 67,213 (90 days), 206,631 (365 days)
build-error: 24 (30 days)
$ qemu-system-aarch64 --version
QEMU emulator version 6.2.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

$ brew uninstall --ignore-dependencies qemu
$ curl -O https://raw.githubusercontent.com/AkihiroSuda/homebrew-core/177d583c741f4f50a12f326f632c54dbf169d37b/Formula/qemu.rb
$ brew install --build-from-source ./qemu.rb
$ brew info qemu
qemu: stable 6.2.0 (bottled), HEAD
Emulator for x86 and PowerPC
https://www.qemu.org/
/opt/homebrew/Cellar/qemu/6.2.0_1 (162 files, 554.7MB) *
Built from source on 2022-03-12 at 15:08:43
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/qemu.rb
License: GPL-2.0-only
==> Dependencies
Build: libtool ✔, meson ✔, ninja ✔, pkg-config ✔
Required: glib ✔, gnutls ✔, jpeg ✔, libpng ✔, libslirp ✔, libssh ✔, libusb ✔, lzo ✔, ncurses ✔, nettle ✔, pixman ✔, snappy ✔, vde ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 31,778 (30 days), 119,643 (90 days), 292,728 (365 days)
install-on-request: 17,891 (30 days), 67,213 (90 days), 206,631 (365 days)
build-error: 24 (30 days)
$ qemu-system-aarch64 --version
QEMU emulator version 6.2.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

$ limactl start ./docker-impish-20220309.yaml
$ limactl shell docker-impish-20220309 uname -a
Linux lima-docker-impish-20220309 5.13.0-35-generic #40-Ubuntu SMP Mon Mar 7 08:06:10 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

Thank you @fuzmish , opened PR https://github.com/Homebrew/homebrew-core/pull/96743

Update (Mar 14, 2022)
:warning: Running recent Linux guests on M1 macOS needs Homebrew's QEMU 6.2.0_1 or later.
Run brew upgrade to upgrade QEMU.
Intel macOS users are NOT affected by this issue.
For the further information, see https://github.com/lima-vm/lima/pull/734 and https://github.com/Homebrew/homebrew-core/pull/96743 .


You have requested a non-existent parameter sylius.state_machine.class'

Hello,
I got this problem : You have requested a non-existent parameter "sylius.state_machine.class".
Using sylius 1.5 and symfony 4.3

That's not an issue of this bundle.
And probably not an issue of Sylius either.
Check your configuration and bundles.

I think it could be great to add an entry about the loading order of bundles :) (my problem)


Suggestion: More stats needed after Running generation

Any chance you can put some extra stats between the
Running generation 1 of 1
end and the
Saving frames to
step?
The more frames you generate and the larger the size the longer the delay with no stats occurs there.
For example I am running an HD movie.  The running generation took 24 hours to do 5600 frames but since then the GPU is at 100% for 17 hours more.  What is happening?  Another simple progress bar there would really help.
Edit: it just crashed with OOM.  Any chance of detecting that before I spend 42 hours of GPU time and electricity would help too.
Is that possible?

The latest update includes memory-related improvements and speed improvements in certain settings.
It should be less likely to cause OOM.

My main request was for the stats though.
When doing larger/longer movies it really needs stats between the 2 parts I showed in my original post.


[CLI] Report to wandb in Hugginface trainer triggers CUDA out-of-memory

Description
Reporting to wandb in Huggingface trainer with unilm/layoutxlm model get CUDA out-of-memory.
If I uninstall wandb and set report_to = None everything works fine.
The error is triggered in the middle of the second epoch with batch_size = 1, so the problem cannot be in the data used.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_356/4032920361.py in <module>
----> 1 trainer.train()

/opt/conda/lib/python3.8/site-packages/transformers/trainer.py in train(self, resume_from_checkpoint, trial, **kwargs)
   1267                         tr_loss += self.training_step(model, inputs)
   1268                 else:
-> 1269                     tr_loss += self.training_step(model, inputs)
   1270                 self.current_flos += float(self.floating_point_ops(inputs))
   1271

/opt/conda/lib/python3.8/site-packages/transformers/trainer.py in training_step(self, model, inputs)
   1770             loss = self.deepspeed.backward(loss)
   1771         else:
-> 1772             loss.backward()
   1773
   1774         return loss.detach()

/opt/conda/lib/python3.8/site-packages/torch/tensor.py in backward(self, gradient, retain_graph, create_graph)
    219                 retain_graph=retain_graph,
    220                 create_graph=create_graph)
--> 221         torch.autograd.backward(self, gradient, retain_graph, create_graph)
    222
    223     def register_hook(self, hook):

/opt/conda/lib/python3.8/site-packages/torch/autograd/__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
    128         retain_graph = create_graph
    129
--> 130     Variable._execution_engine.run_backward(
    131         tensors, grad_tensors_, retain_graph, create_graph,
    132         allow_unreachable=True)  # allow_unreachable flag

/opt/conda/lib/python3.8/site-packages/wandb/wandb_torch.py in <lambda>(grad)
    283             self.log_tensor_stats(grad.data, name)
    284
--> 285         handle = var.register_hook(lambda grad: _callback(grad, log_track))
    286         self._hook_handles[name] = handle
    287         return handle

/opt/conda/lib/python3.8/site-packages/wandb/wandb_torch.py in _callback(grad, log_track)
    281             if not log_track_update(log_track):
    282                 return
--> 283             self.log_tensor_stats(grad.data, name)
    284
    285         handle = var.register_hook(lambda grad: _callback(grad, log_track))

/opt/conda/lib/python3.8/site-packages/wandb/wandb_torch.py in log_tensor_stats(self, tensor, name)
    218
    219         # Remove nans from tensor. There's no good way to represent that in histograms.
--> 220         flat = flat[~torch.isnan(flat)]
    221         flat = flat[~torch.isinf(flat)]
    222         if flat.shape == torch.Size([0]):

RuntimeError: CUDA out of memory. Tried to allocate 1.43 GiB (GPU 0; 7.79 GiB total capacity; 6.40 GiB already allocated; 365.50 MiB free; 6.47 GiB reserved in total by PyTorch)

Wandb features
Huggingface integration
Environment

OS: Docker container starting FROM pytorch/pytorch:1.7.1-cuda11.0-cudnn8-devel
Environment: Jupyter lab
Python Version: 3.8.5
wandb version: 0.11.0

@tommasodelorenzo you can set the WANDB_WATCH environment variable to "false".  By default we monitor tensorstats in the GPU and it looks like your model / GPU memory is not large enough to handle the additional tensors required to track gradient stats.

@vanpelt it worked! Thanks


(Benign?) Start of day error messages in felix log

Acceptable failure "error" logs should be suppressed.
Snippet from felix.log as follows:
2015-04-15 09:22:23,297 [INFO][2] calico.felix.felix 61: Configuration loaded, starting remaining actors...
2015-04-15 09:22:23,298 [INFO][2] calico.felix.felix 90: Starting actors.
2015-04-15 09:22:23,298 [INFO][2] calico.felix.felix 126: Installing global rules.
2015-04-15 09:22:23,427 [ERROR][4] calico.felix.fiptables 434: Failed to run iptables-restore.
Output:
Error:
iptables-restore: line 2 failed
Input was:
*nat
--delete PREROUTING --jump felix-PREROUTING
--insert PREROUTING --jump felix-PREROUTING
COMMIT
2015-04-15 09:22:23,428 [ERROR][4] calico.felix.fiptables 436: Non-retryable error on line 2: '--delete PREROUTING --jump felix-PREROUTING'
2015-04-15 09:22:23,558 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.

Output:
Error:
iptables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,571 [ERROR][5] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,571 [WARNING][5] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT', 'felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,575 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
 Maybe it is still referenced?
2015-04-15 09:22:23,579 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
 Maybe it is still referenced?
2015-04-15 09:22:23,585 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
Output:
Error:
iptables-restore: line 2 failed
Input was:
*filter
--delete FORWARD --jump felix-FORWARD
--insert FORWARD --jump felix-FORWARD
COMMIT
2015-04-15 09:22:23,585 [ERROR][5] calico.felix.fiptables 436: Non-retryable error on line 2: '--delete FORWARD --jump felix-FORWARD'
2015-04-15 09:22:23,598 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
Output:
Error:
iptables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,599 [ERROR][5] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,599 [WARNING][5] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT', 'felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,603 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
 Maybe it is still referenced?
2015-04-15 09:22:23,607 [ERROR][5] calico.felix.fiptables 434: Failed to run iptables-restore.
 Maybe it is still referenced?
2015-04-15 09:22:23,718 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 2 failed
Input was:
*filter
--delete INPUT --jump felix-INPUT
--insert INPUT --jump felix-INPUT
COMMIT
2015-04-15 09:22:23,718 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 2: '--delete INPUT --jump felix-INPUT'
2015-04-15 09:22:23,729 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,729 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,729 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT', 'felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,733 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
COMMIT
2015-04-15 09:22:23,733 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,733 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT'] failed
2015-04-15 09:22:23,734 [ERROR][6] calico.felix.fiptables 315: Failed to delete chain felix-FROM-ENDPOINT, giving up. Maybe it is still referenced?
2015-04-15 09:22:23,737 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,738 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-TO-ENDPOINT'
2015-04-15 09:22:23,738 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,738 [ERROR][6] calico.felix.fiptables 315: Failed to delete chain felix-TO-ENDPOINT, giving up. Maybe it is still referenced?
2015-04-15 09:22:23,743 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 2 failed
Input was:
*filter
--delete FORWARD --jump felix-FORWARD
--insert FORWARD --jump felix-FORWARD
COMMIT
2015-04-15 09:22:23,743 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 2: '--delete FORWARD --jump felix-FORWARD'
2015-04-15 09:22:23,757 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,758 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,758 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT', 'felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,762 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-FROM-ENDPOINT -
--delete-chain felix-FROM-ENDPOINT
COMMIT
2015-04-15 09:22:23,762 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-FROM-ENDPOINT'
2015-04-15 09:22:23,762 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-FROM-ENDPOINT'] failed
2015-04-15 09:22:23,763 [ERROR][6] calico.felix.fiptables 315: Failed to delete chain felix-FROM-ENDPOINT, giving up. Maybe it is still referenced?
2015-04-15 09:22:23,767 [ERROR][6] calico.felix.fiptables 434: Failed to run ip6tables-restore.
Output:
Error:
ip6tables-restore: line 3 failed
Input was:
*filter
:felix-TO-ENDPOINT -
--delete-chain felix-TO-ENDPOINT
COMMIT
2015-04-15 09:22:23,767 [ERROR][6] calico.felix.fiptables 436: Non-retryable error on line 3: '--delete-chain felix-TO-ENDPOINT'
2015-04-15 09:22:23,767 [WARNING][6] calico.felix.fiptables 297: Deleting chains ['felix-TO-ENDPOINT'] failed
2015-04-15 09:22:23,767 [ERROR][6] calico.felix.fiptables 315: Failed to delete chain felix-TO-ENDPOINT, giving up. Maybe it is still referenced?
2015-04-15 09:22:23,768 [INFO][2] calico.felix.felix 132: Starting polling for interface and etcd updates.
2015-04-15 09:22:23,768 [INFO][2] calico.felix.felix 139: All top-level actors started, waiting on failures...
2015-04-15 09:22:23,769 [INFO][3] calico.felix.fetcd 110: (Re)connecting to etcd...

I think there are two minor issues here:

we should suppress the errors for the expected failures
we shouldn't be trying to delete those chains; the code will get the correct outcome because it will fail to delete the chains but it's wrong to rely on that defensive fallback.

This is already covered in #363.


Breaks with Ember 1.11.0-beta.5

The initializer seems not to be working correctly in the latest Ember version, for upon startup I receive the error:
Uncaught Error: Assertion Failed: Unable to find partial with name "slide-show/header"

Works fine with Ember 1.10.0.

Seems to be an Ember issue: https://github.com/emberjs/ember.js/issues/10744
But, the initializer style used here is deprecated and should be ypdated.

Thanks. Should be resolved now.


must-gather: no ceph collection even when sc is present

fixes a small issue where ceph collection was skipping even if storagecluster exists.
It got introduced after merging #1191
Signed-off-by: RAJAT SINGH<EMAIL_ADDRESS>

/lgtm

/cherry-pick release-4.8


Latest version does not start anymore

On my synology I get this error after updating to the latest version:
Start  container Valheim-Server failed: {"message":"OCI runtime create failed:  container_linux.go:345: starting container process caused "exec:  \"/usr/bin/supervisord\": stat /usr/bin/supervisord: no such file or  directory": unknown"}.

I have the same error after updating to the latest build.
Start container lloesche-valheim-server1 failed: {"message":"OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/usr/bin/supervisord\": stat /usr/bin/supervisord: no such file or directory": unknown"}.

Same here

OK, I have it running now again. In the end I decided to delete the docker container (after double checking the config/world data is persistent). I then built a new container with all the settings I had on the other one. It started up OK and is running now.
Just in case this helps anyone else, I'm not sure what happened but I run on a Synology using the UI there and Portainer to manage the containers. I assume there was a config issue when getting the latest build updated.
Also, yesterday, I had tried to add the persistent _-v $HOME/valheim-server/data:/opt/valheim _ - I didnt use that on the new build. Maybe a coincidence.

OK, I have it running now again. In the end I decided to delete the docker container (after double checking the config/world data is persistent). I then built a new container with all the settings I had on the other one. It started up OK and is running now.
Just in case this helps anyone else, I'm not sure what happened but I run on a Synology using the UI there and Portainer to manage the containers. I assume there was a config issue when getting the latest build updated.
Also, yesterday, I had tried to add the persistent _-v $HOME/valheim-server/data:/opt/valheim _ - I didnt use that on the new build. Maybe a coincidence.

laneyweb, tx for the tip!
I also deleted the container and the image, re-downloaded the image and recreated the container.
That fixed the issue also for me
note that the thing that changed between the exported config files was the following line:
"cmd" : "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"   --->   "cmd" : "/usr/local/sbin/bootstrap"

When you update the container you'll also have to use that container's entrypoint. Using a new container version with an old container's entrypoint will likely break things. I'm assuming that's some odd Synology specific behavior as Docker by default uses the entrypoint of the image it is running unless you manually override it using the --entrypoint commandline argument.

Yep,
up until now the procedure you shared in the readme.md for synology worked every time (re-download latest image, clear container and start)
It only broke with this latest version, so maybe something to mention in the synology section as a potential solution for future issues?

@belleDESiRE already done. Added a dedicated section to the README right underneath the update procedure: https://github.com/lloesche/valheim-server-docker#error-after-download-of-new-container-image

Just a comment for clarification. I am running Docker on a Dell Elite Desk with Ubuntu, and I had this problem.  It is definitely not a Synology exclusive issue.  I resolved the issue by switching the option in Portainer to default, which reset the entrypoint to "/usr/local/sbin/bootstrap".  It had previously been set to "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf" in the container from when I first deployed it.  Though, unlike all of my other containers, this container sets the entrypoint to override when it deploys for some reason.  So I expect that if the entrypoint changes again in the future I will have to redeploy and manually set to default to get it to pick up the new configuration.

@EnigmaRaptor yup we have a whole section in the README now https://github.com/lloesche/valheim-server-docker#changing-startup-cmd-in-portainer for Portainer users.
I also pushed a fix that makes it so the old CMD redirects to the new CMD but first prints a warning message notifying users.


add os x install script to replace out of date and non existent one in lbry-setup

I recommend you paste you script into http://www.shellcheck.net/ so it can check issues for you.
I have no way of testing this since I don't have OSX.


Get rid of actions

Just way to useless. Keep the loaders though.

This is more work than I thought. It means I have to handle more state in the active plans list and the verifier results page to refresh when something is deleted.

No longer needed.


No longer works under chef 11.10.4, causes compile-time error

At least on opsworks. I believe this is because the 2.3.0 release of build-essential is not longer compatible with chef 11, and it doesn't look like the build-essential dependency is defined strictly enough in Berksfile and/or metadata.rb.

This cookbook is long-since deprecated, and even if it wasn't this would be something you should handle in your own dependencies.

ok. We need to make sure the awscli maintainer knows this, then.


OIDC code flow with pkce - access-token

Hi,
I'm new with this library and maybe I do something wrong, but my access token doesn't contain  all the requested scopes. When I looked it up in google the AI said
"When requesting OpenID Connect (OIDC) tokens, the requested scopes must be included in both the /authorize and /token requests. [...]."
In the exchangeCode function (where the /token endpoint is called), the scopes are not used. So my question, is my comprehension wrong or the exchangeCode function lack something?
Thanks you all.

See https://github.com/authts/oidc-client-ts/issues/1726#issuecomment-2451930363

Thank you for the answer. I don't think it's that (I tried it).
I will add some context. I'm using Entra id, with a custom API as a ressource. From different sources, this is required to acquired a v2.0 access_token.  But in the received access_token, there is only the graph scopes, not my custom API scope (and still a v1.0 access_token). When I'm debugging, I see my scope being requested in the /authorize call but not in the /token call


Feature: Add slog compatibility layer

I know this project is in maintenence mode, but I think it would be worth making an exception to the "no new features" rule to add a simple slog compatibility layer, as the alternative is some minor chaos when others create competing implementations, and inevitably abandon them.
This could take one, or even two, forms:

A slog Handler for Logrus
A Logrus handler for slog

I would be happy to take this on and write the code (I have a partial implementation already completed for a client I'm working with).

Would love to see this accepted in core logrus also.

I've begun work on this, and intend to create a PR before too long.


Animating burning and emitting sounds

This is my first open source project contribution! Sorry it's not awesome but I hope my changes improve the gameplay experience.

Thanks for the pull request @Seanzy ! :slightly_smiling_face:
Some comments:

The sound is a bit too high in amplitude, try reducing them.

The animation is a bit weird, maybe because of the sprites. And the rectangular glow around the spaceship doesn't look nice. Remove that.

Add an animation for the explosion as well.


Make RocksDb works with big values.

The limit seems to be at 4M and may force value splitting just like for DynamoDb.

seems like the limit is much higher


When pan is active for at least one axis, mouseup AND mousemove event listeners are not removed from window.

When pan is active for at least one axis, mouseup AND mousemove event listeners are not removed from window.
Listeners contains preventDefault so this causes problems with all app.

Linked to #509 I think.

Fixed by 2.0.28


feat: add support for gemini models.

Summary
This PR introduces support for Gemini models by leveraging their compatibility with the OpenAI API. It adds an option in the app's settings UI, allowing users to:

Enter their Gemini API key.
Select a preferred Gemini model from the following options:

gemini-1.5-flash
gemini-1.5-flash-8b
gemini-1.5-pro.

Fixes #1045
/claim #1045
Screenshots

Gemini

Models

Data in Search pipe

getting 403
my key is sat tho
any idea?


Zooz ZEN72 firmware update process times out after update is successful

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)?
NO, my problem is NOT within Z-Wave JS UI
Checklist

[X] I have checked the troubleshooting section and my problem is not described there.

[X] I have read the changelog and my problem was not mentioned there.

Describe the bug
What causes the bug?
A ZEN72 is included with S2 Auth. I updated the firmware. Z-Wave JS discards an insecure firmware update success report, so it doesn't realize it completed. With 100% progress, eventually the process times out. As a result, the device is not automatically re-interviewed.
Well, I guess this is probably a device bug (sending an insecure report?), but I thought I'd start here.
What do you observe?
I updated a Zooz ZEN72 to the latest firmware. It completed, but Z-Wave JS reports it as timed out. This means it isn't automatically re-interviewed.
What did you expect to happen?
A successful completion is reported and the device re-interviewed.
Steps to reproduce the behavior:
Update a Zooz ZEN72 firmware?
Device information
Manufacturer: Zooz
Model name: ZEN72
Node ID in your network: 43
How are you using node-zwave-js?

[X] zwave-js-ui (formerly zwavejs2mqtt) Docker image (latest)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker image (dev)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker manually built (please specify branches)
[ ] ioBroker.zwave2 adapter (please specify version)
[ ] HomeAssistant zwave_js integration  (please specify version)
[ ] pkg
[ ] node-red-contrib-zwave-js (please specify version, double click node to find out)
[ ] Manually built from GitHub (please specify branch)
[ ] Other (please describe)

Which branches or versions?
version:
node-zwave-js branch: 11.6.0
zwave-js-ui branch: 8.21.2
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Don't know, this is a new device
If yes, where did it work?
No response
Attach Driver Logfile
You can see at the end of the firmware update there's a success report that is discarded due to being insecure. I re-interviewed after the timeout was reported and the version is updated.
zwave_js.log

Yep, seems like a device bug.

Zooz ZEN17 firmware update hit this morning (node 43) and it timed out at finish.  Upgraded from 1.4.1 to 1.40.2.  As prior, a reinterview corrects the fw version display.  Attached zwjs driver log covering that time.
zwavejs_current.log

Yep, same issue. The device is included with S2, but then sends the report without encryption:
2024-04-05T11:12:34.078Z DRIVER » [Node 043] [REQ] [SendDataBridge]
                                  │ source node id:   1
                                  │ transmit options: 0x25
                                  │ callback id:      113
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 200
                                    │ security class:  S2_Authenticated
                                    └─[FirmwareUpdateMetaDataCCReport]
                                        report #: 6006
                                        is last:  true

...

2024-04-05T11:12:43.662Z CNTRLR   [Node 043] command was received at a lower security level than expected - disc
                                  arding it...
2024-04-05T11:12:43.663Z DRIVER « [Node 043] [REQ] [BridgeApplicationCommand]                        [discarded]
                                  │ RSSI: -69 dBm
                                  └─[FirmwareUpdateMetaDataCCStatusReport]
                                      status:    OK_RestartPending
                                      wait time: 0 seconds

According to Zooz, this issue is fixed in newer firmware versions. Not worth working around IMO.


file Hash calculator

Write an application, which takes in a file name, and a hashing type, I.E. md5, sha1, sha2, crc, bcript, ... and gives you the hash of the given file as a hex string.
For added complexity, take in a GPG key, or a link to one, and verify that the signature on a file is that of the given key.

Use hashlib, Luke!

yes, of course. I'm not advocating asking beginners to write cripto libs, which is downright dangerous. I wouldn't attempt writing a cripto lib if my boss asked me to, because i'm simply not qualified.

one can use sphlib to implement file hashing in java. For algorithms like (MD2 , MD5 , SHA-1 , SHA-256 ,  SHA-512 , SHA-384 ) one can refer to FileHashing file written in java for reference


add Houndstooth Coffee + Austin TX + Texas

As this list continues to grow should we consider creating a USA awesome hacking spots list?  I don't want to dominate the list with locations in the states.

I think it's OK. There's no real detraction to having a large list, is there?

Yeah that's true! Pretty cool to have such a global list anyway
On Nov 14, 2017 18:09, "Richard Littauer"<EMAIL_ADDRESS>wrote:

I think it's OK. There's no real detraction to having a large list, is
there?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/diasdavid/awesome-hacking-spots/pull/140#issuecomment-344442963,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALKQFmYrGuUNrX_QPe2K4gZzwHvXiFsUks5s2ivTgaJpZM4QeIZW
.

@Alex-Keyes I think what we want is to start storing the data as JSON so that this markdown version can be one of many rendered versions, one other would be a website that you could filter things out :)
I think @sericaia started working on this a while ago and might be interested to help make it happen again

Yeah that seems like a great idea! I've never taken markdown and turned it
into json before. Sounds like a good project.  I'll checkout any
conversations you've had with @sericaia
On Nov 17, 2017 05:41, "David Dias"<EMAIL_ADDRESS>wrote:
@Alex-Keyes https://github.com/alex-keyes I think what we want is to
start storing the data as JSON so that this markdown version can be one of
many rendered versions, one other would be a website that you could filter
things out :)
I think @sericaia https://github.com/sericaia started working on this a
while ago and might be interested to help make it happen again
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/diasdavid/awesome-hacking-spots/pull/140#issuecomment-345221948,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALKQFqi3a_npqIxaQyBoo4YXyNfRqpDRks5s3XDXgaJpZM4QeIZW
.


Implement UI breadcrumbs

Make these, but don't do the number:

We can't do the number  because it would involve fetching data for pages that we are not currently looking at.
Notes: Steal from enterprise repo?

@jpellizzari ok to close this?

Closing!


[Performance] Sidebar Performance at Scale

What performance issue do we need to solve?
OptionsListUtils and SidebarLinks are pretty slow and the issues get worse as you increase the number of reports.
As recently discovered in this fire.
What is the impact of this on end-users?
Slow boot time, slow chat switching, in some extreme cases inability to use the app.
List any benchmarks that show the severity of the issue
Proposed solution (if any)
Steps we should take in order of priority...

Memoization can help with performing unnecessary re-calculations
Make more holistic improvements to how options are calculated to remove other bottlenecks
Long term we need to implement some kind of pagination

List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
Note: These should be the same as the benchmarks collected before any changes.
Platform:
I assume everywhere.
Version Number: v1.1.87-8
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
View all open jobs on Upwork

@marcaaron Just checking to see if this is still occurring, or if this can be closed? Thanks!

@marcaaron appears to be OoO. Closing until they return.
Feel free to reopen if issue is still occurring!


@eessex => Hides magazine modal for logged in users

cc @robertlenne thanks for catching!

Merging this one!


license type "none" results in "missing license text" error

See: https://github.com/markphelps/flipt/runs/1338656481
Code: https://github.com/markphelps/flipt/compare/ui-licenses
Problem
Example License:
---
name: ansi-regex
version: 4.1.0
type: yarn
homepage: https://github.com/chalk/ansi-regex.git
license: none
licenses: []
notices: []

Running licensed status
Error:
Errors:
* ui.yarn.ansi-regex-4.1.0
  filename: /Users/markphelps/workspace/flipt/.licenses/ui/yarn/ansi-regex-4.1.0.dep.yml
    - missing license text

Also ran licensed cache --force && licensed status to no avail
Expected Behavior
Licenses with type none would not return an error missing license text when running licensed status

@markphelps I'm not sure this is a safe change to make as it removes a critical check in ensuring compliance.  In your branch you've set none as an allowed license type, I'm assuming to get CI to pass.  That solves the immediate failures but defeats the purpose of ensuring that all dependencies use allowed OSS licenses.
Licensed depends on all dependency packages being available locally in order to detect license contents.  In order for it to work properly in CI, you should add in steps before running licensed-ci in your licensed CI workflow

setup node
install yarn globally
run yarn to install dependencies for the project

I'm going to close this, but I'm happy to help you get your CI workflow passing.  Let me know how I can help.

@jonabc , yes that would be great if you wouldnt mind helping
I tried to follow your suggestions locally to see if yarn would pull the dependencies locally, but it didnt seem to change anything:
$ npm install -g yarn --force
$ cd ui
$ yarn
yarn install v1.22.10
[1/6] 🔍  Validating package.json...
[2/6] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.54s.
$ git diff
[ no output ]

@markphelps sorry for the delay.  I cloned your repo locally to take a look at the ui-licenses branch and I think you're running into https://github.com/github/licensed/issues/243.  I tried the workaround in that issue, and licensed was able to find all dependency locations on disk using the npm source.  Note that this doesn't force you to use npm to manage your dependencies - try out the config below.
Along with removing none as an allowed license, I ended up with the following .licensed.yml config content which seemed to mostly work.  The nested sources config isn't entirely necessary, it saves a minor amount of calculation to determine what source applies to which app.
apps:
  - source_path: ./cmd/flipt
    cache_path: ./.licenses
    sources:
      go: true
  - source_path: ./ui
    cache_path: ./.licenses/ui
    sources:
      npm: true

allowed:
  - apache-2.0
  - bsd-2-clause
  - bsd-3-clause
  - isc
  - mit
  - mpl-2.0
  - unlicense

ignored:
  go:
    - github.com/markphelps/flipt/**/*


TypeScript interfaces converted to lowercase by .

If a TypeScript interface property type is defined as another interface the name of the property interface is lowercased in the generated <Props /> documentation.
import {BackgroundLayout, CircleLayout} from "mapboxgl";

export interface LayerProps {
  layout?: BackgroundLayout | CircleLayout;
}

becomes:

layout: Backgroundlayout | circlelayout

Note "circlelayout" above.
Expected behavior

layout: BackgroundLayout | CircleLayout

docz version: 2.2.0-alpha8
OS: linux
Node/npm version: node 12.13.1

To Reproduce
clone https://github.com/rlmcneary2/remapgl.git
checkout gh-pages and yarn install
yarn docz:dev

Thanks @rlmcneary2 for reporting this. It's fixed in<EMAIL_ADDRESS>(yarn add docz@next) and will be released with<EMAIL_ADDRESS>


feat: implement batch job for processing PDFs

Description:

For this I want to be able to use POST to start pdf parser job and get uuid that correlates with it. Also want to be able to check and receive output(pdf requirements) from GET.

POST response:

GET response:


Map refactore for web

It is expected that when opening the map it asks the user for location permissions (if it is denied, the location should not be shown).
Also, the map should appear with the markers of the contacts who are sharing location, but the option to view contact details from the markers is not yet available.
Lastly, the draggable scrollable sheet for web has been removed

Given that the objectives of the current sprint are increasing coverage and polishing the mobile versions, it is better to not merge the web changes unless they do not reduce coverage and have reached a stable state


CONFIG_BT_SETTINGS writes bt/hash to storage twice

Describe the bug
When CONFIG_BT_SETTINGS is enabled and the user calls settings_load(), initially bt/hash is stored as 0x0000. Later, the OS calles bt_hash_gen() and re-stores the hash (this time calculated). In combination with a flash back-end this causes excessive flash wear.
To Reproduce
Steps to reproduce the behavior:

enable CONFIG_BT_SETTINGS in project, call settings_load in bt_ready callback (from `bt_init)
west build -b nrf52_pca10040
west flash
Reset the device a couple of times and check the storage partition using nrfjprog --memrd flash_partition_offset --n 512

Expected behavior
bt/hash should not be stored immediately, but calculated once and stored once.
Impact
In combination with a flash backend causes excessive flash wear on every reboot of the device.

The issue appears to be this check.
static int db_hash_commit(void)
{
	/* Stop work and generate the hash */
	if (k_delayed_work_remaining_get(&db_hash_work)) {
		k_delayed_work_cancel(&db_hash_work);
		db_hash_gen(false);
	}

The check if (k_delayed_work_remaining) returns the amount of time until the work will execute, that timeout has run out. but the work has not been executed.
Since it is a single queue of work items, and settings_load is called from bt_ready which is a work-item then we get this situation, the bt_ready is executing, bt_hash_work should execute, but has no remaining time remaining.
I'm currently looking into reproducing this and fixing it.

Reproduce:
Configurations:
CONFIG_BT_GATT_DYNAMIC_DB=y
CONFIG_BT_GATT_CACHING=y
CONFIG_BT_DEBUG_GATT=y
Modified (extracted) peripheral sample:
static void bt_ready(int err)
{
	k_busy_wait(10 * 1000); // DB hash delayed work is 10 MS

	if (IS_ENABLED(CONFIG_SETTINGS)) {
		settings_load();
	}
}

void main(void)
{
	int err;

	err = bt_enable(bt_ready);
	if (err) {
		printk("Bluetooth init failed (err %d)\n", err);
		return;
	}

       /* ... */
}

Then this will happen on every reset:
00:00:00.020,965] <dbg> bt_gatt: Stored Hash:
57 b5 7c 4a f9 e1 e6 08  23 21 0e 89 c1 21 fc 92 |W.|J.... #!...!..
[00:00:00.021,453] <dbg> bt_gatt: New Hash:
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |........ ........
[00:00:00.021,453] <dbg> bt_gatt.sc_indicate: start 0x0001 end 0xffff
[00:00:00.021,453] <dbg> bt_gatt.sc_indicate: indicate pending, waiting until complete...
[00:00:00.023,284] <dbg> bt_gatt.db_hash_store: Database Hash stored
....
[00:00:00.259,124] <dbg> bt_gatt: Hash:
57 b5 7c 4a f9 e1 e6 08  23 21 0e 89 c1 21 fc 92 |W.|J.... #!...!..
[00:00:00.260,589] <dbg> bt_gatt.db_hash_store: Database Hash stored
[00:00:00.260,589] <dbg> bt_gatt.sc_process: start 0x0001 end 0xffff

@mfiumara I posted a possible fix for this issue. It solves the issue when I was reproducing it locally. Can  you verify that it also works in your setup?

I just tried this. It seems the hash is now not stored anymore as zero, but it is calculated differently and the problem still persists. I tried by erasing all memory, then running my application twice. My storage partition output after this:
nrfjprog --memrd 499712 --n 256
0x0007A000: C0FFEEEE 0000FF01 2F746218 68736168   |.........bt/hash|
0x0007A010: AF4FA13D 51B45CE5 73EF1DAA 45C27DD2   |=.O..\.Q...s.}.E|
0x0007A020: 621856E6 61682F74 D53D6873 BAD29243   |.V.bt/hash=.C...|
0x0007A030: 86F03B7F F5CC2DD4 905A2AD9 2F746218   |.;...-...*Z..bt/|
0x0007A040: 68736168 AF4FA13D 51B45CE5 73EF1DAA   |hash=.O..\.Q...s|
0x0007A050: 45C27DD2 621856E6 61682F74 D53D6873   |.}.E.V.bt/hash=.|
0x0007A060: BAD29243 86F03B7F F5CC2DD4 905A2AD9   |C....;...-...*Z.|
0x0007A070: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A080: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A090: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0C0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A0F0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|

@mfiumara Can you check if you have any calls to bt_gatt_service_register, and if they are executed before or after settings_load?

I just checked using gdb. I can confirm bt_gatt_service_register is called after settings_load. The piece of application initialization code I have:
	/* Enable Bluetooth. */
	rc = bt_enable(bt_ready);
	if (rc != 0) {
		LOG_ERR("Bluetooth init failed (err %d)", rc);
		return rc;
	}

	/* Register connection callbacks */
	bt_conn_cb_register(&conn_callbacks);

	/* Register Authentication callbacks */
	bt_conn_auth_cb_register(&conn_auth_callbacks);

	/* Initialize the Bluetooth mcumgr transport. */
	smp_bt_register();

The gdb trace:
(gdb) b bt_gatt_service_register
Breakpoint 1 at 0x22d28: file /zephyr/subsys/bluetooth/host/gatt.c, line 1034.
(gdb) b settings_load
Breakpoint 2 at 0x36d66: file /zephyr/subsys/settings/src/settings_store.c, line 47.
(gdb) c
Continuing.

Breakpoint 2, settings_load () at /zephyr/subsys/settings/src/settings_store.c:47
47              return settings_load_subtree(NULL);
(gdb)
Continuing.

Breakpoint 1, bt_gatt_service_register (svc=svc@entry=0x200095fc <smp_bt_svc>) at /zephyr/subsys/bluetooth/host/gatt.c:1034
1034            bt_gatt_init();

The settings_load is in the bt_ready callback.

Ok. then that explains it I think. Could you move the call to smp_bt_register before settings_load for now?
I documented this current requirement here: https://github.com/zephyrproject-rtos/zephyr/pull/22756/commits/a9e0c6c47016a1a480157eff3af3631d21cdfbc9
Also I asked the question in the PR if this is really the behaviour that we want. So let's hear what the others think about his.

@joerchan I retried by re-ordering my initialisation routine (calling smp_bt_register before settings_load) and this seems to work. I redid the same test (restarting my device twice) and the storage partition now looks as follows:
nrfjprog --memrd 499712 --n 128
0x0007A000: C0FFEEEE 0000FF01 2F746218 68736168   |.........bt/hash|
0x0007A010: 9243D53D 3B7FBAD2 2DD486F0 2AD9F5CC   |=.C....;...-...*|
0x0007A020: FFFF905A FFFFFFFF FFFFFFFF FFFFFFFF   |Z...............|
0x0007A030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A060: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|
0x0007A070: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF   |................|

So can confirm this fix works as intended.


Isolate unit test file system for each test case using an implicit fixture

There's a patch to fix one of test cases that missed isolated_filesystem() context manager: https://github.com/instructlab/instructlab/pull/962
The patch fixes the immediate failure, but leaves the window open for the situation to happen in the future for another new test case. Ideally, the test suite would enforce a new file system structure for every test case in the test class(es). This issue is to build such mechanism, as a fixture or otherwise.

This strikes me as something still work doing - wdyt @booxter?

@nathan-weinberg I think no. The patch was sent https://github.com/instructlab/instructlab/pull/1121 but was rejected with the rationale that this isolation will have to be requested explicitly (via a pytest fixture passed through test function argument) when needed.


Populate the first index of the aliases field to object name

The first item in the aliases field for Groups and Software should be set to the object's name. The first index should be filtered out of the field in view mode.

Resolved in #372


limitation to transform audio and video DocBook -> epub from #277 (moved to getting started)

My mistake sorry !
The problem observed was due to build.gradle configuration  from getting started I'll propose PR there
> Task :epub_resources
Warning: Unknown media type: media/video1.mp4
Warning: Unknown media type: media/video1.webm
Warning: Unknown media type: media/FlowerOfScotland.m4a
Warning: Unknown media type: media/FlowerOfScotland.mp3
Warning: Unknown media type: media/videos/video1.mp4
Warning: Unknown media type: media/videos/video1.webm
Warning: Unknown media type: media/audio/FlowerOfScotland.m4a
Warning: Unknown media type: media/audio/FlowerOfScotland.mp3

Yeah, that looks like an oversight.

Ah, right, the problem is that .mp4, .m4a, and maybe .webm can all be audio/ or video/ What task are you running?

Welcome to the weird world of media ! ;-) ... mp4 describes the container type; inside the container you can drop audios videos and synhronized text m4a is said to contain audio only m4v video only and mp4 video+audio+optional text various languages etc.... Unfortunately and because the container has the same structure users are not always rigorous.
You may probably safely consider m4a and mp3 as audio and mp4 and webm as videos (optionnaly rich). If a user does nor follow that rule given the fact that the containers are coherent he/she  may get an audio player ignoring images or videoplayer with black image which may help to amend the original xml.
I am using ./gradlew  publishEPUB which works if I made the modification on build.gradle.

I've applied the PR in the getting started project. In this project, I don't think the change needs to be made. There are no media of any of those types used here. Or am I mistaken?

You are right but for dummies of my kind that are fans of copy/paste and put audio and video in their DocBooks This change will make the copied "getting started" work with their media.... :innocent:


Add build and coverage badege to README.md

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

Coverage increased (+0.03%) to 67.512% when pulling 70adf1a0a865a11cd16a889f2eec40ca0bd8c765 on build_badge into ac23bdb2d7ae15710d1916745993d922b0fb8177 on master.


Add Anti Drag Plugin

Allows you to configure the delay before you start dragging an item in your inventory in client ticks (20ms)
Choose whether you want the delay while holding shift only

Adds https://github.com/runelite/runelite/issues/1062, https://github.com/runelite/runelite/issues/1669, https://github.com/runelite/runelite/issues/2299

honestly this would be way to op in pvp and takes alot of skill away from being able to switch properly/quickly

I'm not sure how OSB does it, but why is there an option to set a drag delay? When would it be useful? I don't know if it's a good idea to allow players to configure the drag delay.
IMO, I would just set the delay to INT_MAX and not have an option. And subsequently have the shift option enabled by default. That would make more sense from a player's perspective. Less guess and check.

I think this would be OP and should not be added.

The drag delay option is there so you are able to set a delay that is always active without holding shift.
If the delay is on MAX and not on shift only then you wouldn't be able to drag any items so if there is no drag delay option then the on shift only option will be useless.
What is OP about it though?

It wouldn't be OP since you can already do this with a simple ahk ramap which is allowed.

@CaraPis mind dumping your ahk script for that? I am not understanding how you can do a simple remap for this.

@Reasel Yea sure, there are actually 2 ways of doing it, one is where you remap Numpad5 key from windows mousekeys, so like that would be LButton::Numpad5, the other way would be the following:
LButton::
Click
KeyWait, LButton
return
Which is identical to what you do with the mousekey remap.

If you have something like a razer mouse, you can also create anti-drag by setting a button to click and not hold.
I think it's a fair feature.


Set peer to exclude VirtualNetwork tag and allow all traffic within a workspace.

Resolves #3065
What is being addressed
Describe the current behavior you are modifying. Please also remember to update any impacted documentation.
How is this addressed

Describe the changes made, and if appropriate, why they are addressed this way
Note any pending work (with links to the issues that will address them)
Update documentation
Update CHANGELOG.md if needed
Increment template version if needed, for guidelines see Authoring templates - versioning

This currently breaks connectivity from workspaces.


/admin/reassign_partitions is already there after 5 retries

We are managing several kafka topics in a loop and sometimes we are getting failures with the /admin/reassign_partitions is already there after 5 retries messages.
I dug through the code and have a couple of questions:

This znode is being created in update_admin_assignment with
self.zk_client.create(self.ZK_REASSIGN_NODE, json_assignment)

This is creating a non-ephemeral znode

I can't see any reference to it being deleted?

However, at some point the znode is being deleted?  Where is the znode being deleted?
I did modify the module so that the znode is created with ephemeral=True and for good measure, I delete the znode before closing the zookeeper connection to ensure its deleted in a timely manner and not hanging around when the next iteration of the loop runs.

`diff --git a/roles/kafka-topics/library/kafka_lib.py b/roles/kafka-topics/librar
index 7f45c16..95dd656 100644
--- a/roles/kafka-topics/library/kafka_lib.py
+++ b/roles/kafka-topics/library/kafka_lib.py
@@ -1294,7 +1294,7 @@ Cf core/src/main/scala/kafka/admin/ReassignPartitionsComma
self.MAX_ZK_RETRIES
)
)

   self.zk_client.create(self.ZK_REASSIGN_NODE, json_assignment)

   return self.zk_client.create(self.ZK_REASSIGN_NODE, json_assignment, ep

def update_topic_assignment(self, json_assignment, zknode):
"""
@@ -1526,7 +1526,8 @@ def main():
)
changed = False

znode = None
if parse_version(manager.get_api_version()) < parse_version('0.11.0'):
module.fail_json(
msg='Current version of library is not compatible with '
@@ -1573,7 +1574,7 @@ def main():
)
)
if not module.check_mode:

                       manager.update_admin_assignment(json_assignment)

                       znode = manager.update_admin_assignment(json_assign
                   changed = True

               if manager.is_topic_partitions_need_update(

@@ -1595,6 +1596,10 @@ def main():
manager.update_topic_partitions(name,
partitions)
changed = True
+

               if znode != None:

                   self.zk_client.delete(znode)

               manager.close_zk_client()
               if changed:
                   msg += 'successfully updated.'

`

Hi,
The /admin/reassign_partitions is deleted by the Kafka controller once the partition reassignment successfully finishes (see https://github.com/apache/kafka/blob/121308cc7a2639a70fc8a60c99d2eaee52931951/core/src/main/scala/kafka/controller/KafkaController.scala#L894). If you create an ephemeral znode that will be deleted once the zk connection is closed, you may not fully complete the partition reassignment, which sounds dangerous.
Have your topics a lot of partitions? How many topics are being updated at a time? Currently the max waiting time is hard coded to 5 tries * 5 seconds = 25 seconds. Maybe it would be a better idea to give access to this time or number of tries so that you can adjust it accordingly to your needs.

The new 0.7.0 version that adds 2 new parameters should fix your issue.


Stop checking for Composer 1 dependencies

What are you trying to accomplish?
Composer 1 was removed in:

https://github.com/dependabot/dependabot-core/pull/10934

But we've still got a Dependabot job looking for PHP dependencies in the V1 folder, which no longer exists.
So delete that job.

This is currently breaking our Composer Dependabot jobs on this repo (not globally, just this repo):

https://github.com/dependabot/dependabot-core/network/updates/20182755/jobs
https://github.com/dependabot/dependabot-core/network/updates/929065113


Add retry logic to options call in Nuget and NPM tasks

This options call is unexpectedly failing on occasion - subsequent builds pass, so go ahead and retry the call a couple of times before failing.

@b-barthel,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Warning while executing task :compileKotlin - Kotlin runtime not completely excluded

When I run "build" gradle task it logs warning into console
repository: https://github.com/L2jLiga/fastify-decorators-plugin
github actions run: https://github.com/L2jLiga/fastify-decorators-plugin/runs/2092584876?check_suite_focus=true
Addtional details:

Issue appeared in this PR https://github.com/L2jLiga/fastify-decorators-plugin/pull/8
Switching from IU-LATEST-EAP-SNAPSHOT to IU-2020.3.2 fixes issue

Console output
12:57:03: Executing task 'build'...

Task :compileKotlin
w: Some JAR files in the classpath have the Kotlin Runtime library bundled into them. This may cause difficult to debug problems if there's a different version of the Kotlin Runtime library in the classpath. Consider removing these libraries from the classpath
w: C:\Users\user.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIU\LATEST-EAP-SNAPSHOT\14ed4e191a397850ef06d2c35c842ded7cdda455\ideaIU-LATEST-EAP-SNAPSHOT\lib\kotlin-stdlib-jdk8.jar: Library has Kotlin runtime bundled into it

Task :compileJava NO-SOURCE
Task :patchPluginXml
Task :processResources
Task :classes
Task :instrumentCode
Task :postInstrumentCode
Task :inspectClassesForKotlinIC
Task :jar
Task :prepareSandbox
Task :buildSearchableOptions SKIPPED
Task :jarSearchableOptions SKIPPED
Task :buildPlugin
Task :assemble
Task :detekt
Task :compileTestKotlin NO-SOURCE
Task :compileTestJava NO-SOURCE
Task :processTestResources NO-SOURCE
Task :testClasses UP-TO-DATE
Task :instrumentTestCode NO-SOURCE
Task :postInstrumentTestCode
Task :loadKtlintReporters
Task :prepareTestingSandbox
Task :runKtlintCheckOverTestSourceSet NO-SOURCE
Task :ktlintTestSourceSetCheck SKIPPED
Task :test NO-SOURCE
Task :runKtlintCheckOverKotlinScripts
Task :ktlintKotlinScriptCheck
Task :runKtlintCheckOverMainSourceSet
Task :ktlintMainSourceSetCheck
Task :check
Task :build

BUILD SUCCESSFUL in 10s
17 actionable tasks: 17 executed
12:57:13: Task execution finished 'build'.

The warning looks correct. As you do not have a runtime dependencies on Kotlin, then kotlin runtime from intellij will be taken. So the plugin will be compiled with id("org.jetbrains.kotlin.jvm") version "1.4.32" that you set explicitly, but when you run the IDE it will work on the kotlin-runtime bundled into IDE. If versions will be different, it really may cause difficult to debug problems, as warning claims.

Adding an explicit dependency on kotlin-stdlib helped to remove some warnings, but I can't manage to remove the one about kotlin-reflect, even after adding implementation("org.jetbrains.kotlin:kotlin-reflect:1.4.30") to my dependencies:
> Task :compileKotlin
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    /home/julien/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2020.1.3/c3f2e29c000d9af81b0c76d04408f2cee2a4e2df/ideaIC-2020.1.3/lib/kotlin-reflect-1.3.70.jar (version 1.3)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.4.30/a9116fbe28a0514671787df95133f28e65fdac25/kotlin-reflect-1.4.30.jar (version 1.4)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.30/d10d1e10f47006ee08162dde039e38ac487de4ac/kotlin-stdlib-1.4.30.jar (version 1.4)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.30/bb9a3173350f55732416ee27956ea8f9b81f4dbb/kotlin-stdlib-common-1.4.30.jar (version 1.4)
w: Consider providing an explicit dependency on kotlin-reflect 1.4 to prevent strange errors
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

Any idea?

@henryju what version do you use? kotlin-reflect hasn't been handled up before 0.7.3.

Adding an explicit dependency on kotlin-stdlib helped to remove some warnings

You need to understand the consequences. Adding dependency means that your plugin distribution will include kotlin, which means much bigger distribution. That's probably not what you want.

I use version 0.7.3. You can see the code in this branch: https://github.com/SonarSource/sonarlint-intellij/tree/feature/remove_gradle_deprecation

Adding dependency means that your plugin distribution will include kotlin, which means much bigger distribution. That's probably not what you want.

Hum, before adding the dependency, I had warnings telling me I should add it :) So not sure what to do...

I use version 0.7.3. You can see the code in this branch: https://github.com/SonarSource/sonarlint-intellij/tree/feature/remove_gradle_deprecation

Looks like I don't have permission to see it

Hum, before adding the dependency, I had warnings telling me I should add it :) So not sure what to do...

Warnings are legit too. It's up to you how to proceed. The choice is between the risk of having unexpected runtime and distribution size. If you control the risk (e.g. you're sure about the IDE versions your plugin is running on or you're sure the API you use is the same in different runtimes) – ignore the warning. If you do not control it – it's safer to include your own runtime.

Looks like I don't have permission to see it

I created a different branch to also test the 1.0-SNAPSHOT: https://github.com/SonarSource/sonarlint-intellij/tree/feature/try_snapshot
Let say we choose to control the version of the Kotlin runtime, instead of depending on the one provided by the platform. Is there a way to have a warning free build?
I have declared (I think) all dependencies:
    implementation("org.jetbrains.kotlin:kotlin-stdlib:1.4.30")
    implementation("org.jetbrains.kotlin:kotlin-reflect:1.4.30")

but still I have the warning when I build:
> Task :compileKotlin
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    /home/julien/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2020.1.3/c3f2e29c000d9af81b0c76d04408f2cee2a4e2df/ideaIC-2020.1.3/lib/kotlin-reflect-1.3.70.jar (version 1.3)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.4.30/a9116fbe28a0514671787df95133f28e65fdac25/kotlin-reflect-1.4.30.jar (version 1.4)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.30/d10d1e10f47006ee08162dde039e38ac487de4ac/kotlin-stdlib-1.4.30.jar (version 1.4)
    /home/julien/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.30/bb9a3173350f55732416ee27956ea8f9b81f4dbb/kotlin-stdlib-common-1.4.30.jar (version 1.4)
w: Consider providing an explicit dependency on kotlin-reflect 1.4 to prevent strange errors

Let say we choose to control the version of the Kotlin runtime, instead of depending on the one provided by the platform. Is there a way to have a warning free build?

yes, the way you're trying to do it should give you warningless build. I'll take a look at your branch


Improve readability of title

Improve the readability of the title and subtitle, "Community-driven Quantum Benchmarks // Submissions show performance of methods against tasks". Especially on Chrome from Mac there is insufficient contrast and it is quite hard to read as the font and size are thin with the chosen colors white/light blue.
Also, they have non sequential heading structure, <h2> and <h4>.

Maybe we can use a bold weight font. I'll see how it looks on Ubuntu/Firefox, as well.

With that in, when I publish the release, please let me know if we can consider the issue resolved. I don't have Mac or iPhone access, but I suspect that bold weight font greatly helps.

Using Courier New might always lead to such differences between browsers and OS choices, so let's just use Arial, which is used elsewhere in the app.

Thanks @WrathfulSpatula, this seems addressed to me, see below (desktop):

By the way, in Chrome you can emulate some mobile views including the iPhone, with View>Developer>Dev Tools. Maybe that helps in the future.


Fix kubectl exec arguments

What this PR does / why we need it:
Raising this fix to unblock @sn-px
In getSizeOfMountPoint changed the helper function format for passing kubeconfig
Which issue(s) this PR fixes (optional)
Closes #
Special notes for your reviewer:
Unit tested logs : http://aetos.pwx.purestorage.com/resultSet/testSetID/150356

Please run tests which use getSizeOfMountPoint and kubectlExec functions and attach the results

Please run tests which use getSizeOfMountPoint and kubectlExec functions and attach the results

provided logs of test uses above function


a small suggestion for optimizing the running speed of iw3

I run iw3 with --depth-model Any_S, but  the speed is 9.07it/s  when I convert 1080P video on rtx3090。
the inference time of Any_S is about 15ms.
So I'm guessing it takes a lot of time to render sbs。
A few years ago, I implemented a 2D to 3D conversion based on this project  【3d-ken-burns】. It uses a completely different rendering method. Can we use it to calculate the grid and use it for grid_sample?
It render by cuda, very very fast!!!  I reimplemented it on ios using metal。

You can use --method grid_sample option to use the simple grid_sample method on GPU (Method -> grid_sample on GUI).
However, it will cause ghost artifacts at the foreground and background edges.
The default row_flow model is lightweight(only 0.016M parameters) and is already running on GPU. Of course, it is slower than grid_sample.
Also, the benchmark time of Any_S is model.forward() only, but iw3 is much slower because it includes a lot of processing such as the video decoding/encoding and resize and concat of the image on original resolution.

Point cloud rendering mentioned in the above project may be one of the better ideas. However, I am not yet familiar with that area.
Regarding processing speed, I will try to profiling later.

The reason the current row_flow model is slow is because it runs on the original image resolution (1920x1080).
The output depth image of the depth model is 392 or 518, so it may be possible to run it on a lower resolution.

I think we should talk about increasing the rendering resolution to 4K instead of lowering it。
I am learning python.  I guess a lot of variables can be initialized once.

Currently depth estimation is performed on a lower resolution, and the result is resized to the original resolution.
So calculating warp grid on a lower resolution and then resizing it, I guess that the quality will not change much (I haven't tested this yet).

I have made the above changes.
With high resolution input(1080p), FPS has improved about 2x.

Awesome!!!
I tested it and the fps reached 25it/s。


Refactor Tolerance Handling for Numerical Parameters

Tolerance handling needs to be refactored to distinguish two different situations

how tolerant is the algo to points that lie completely outside of the allowed parameter range (min/max for discrete parameters). This is important as scaling should be done absed on allowed values, and if values are provided that are substantially outside of that range it could lead to problems. This affects discrete as well as continuous parameters
how tolerant is the algo towards points that lie close but not exactly on discrete sets of values. This is currently implemented but needs a refactor to be consistent and different to the above point. This only relates to discrete parameters

Closed in favor of #428


Parsing Exception:

Version
2.0.3
Platform
any
What steps will reproduce the bug?
The issue was submitted in discord: https://discord.com/channels/794537085641818124/1197989006789595156/1197989006789595156

Add _data.yml

metas:
  title: "=title"
  description: "=summary"
  image: "$.feed-image"

Add content that has this HTML element: <img alt="Reading tracker app with Airtable and Deno Fresh, showing the Airtable and Deno logos." class="feed-image" src="/img/posts/reading-tracker-post-3-large.webp" width="1000">

How often does it reproduce? Is there a required condition?
Always.
What is the expected behavior?
The reporter expects to have the src set in place of meta og:image.
What do you see instead?
Nothing. the behaviou is correct. But it doesn't make sense for users.
Additional information
The source of problem: https://github.com/lumeland/lume/blob/main/core/utils/data_values.ts#L26
This is an UX bug. This happens due to the convention only return the innerHTML. If it is a void element, nothing will returns. The design needs improve or to be removed as it makes users confused. Need further discussion about this feature.

So far we have 3 cases:

Only need children text node, for instance h1, p
Only need specific attr, for instance img with [src]
The element provide rich data to use: a with [href] and child node

I also think about the nested element. But I don't think we need to support it. Users should point it directly to the element contains the info.

I see the problem. The solution of allowing the attribute name is a good idea, but [src] is confusing because it's a valid selector. I'd use a different syntax. An idea: the attr() function . For eaxmple:
$.feed-image attr(src)

Other solution is to make it more automatic:

If the selector is to get an URL, get the value from href or src attribute.
If not, get the value from the element content.

If the selector is to get an URL, get the value from href or src attribute.

I have the 3rd case where we wouldn't know what user may need:

The element provides rich data to use: a with [href] and child node

It could be child text node from the element or it could be href.
I don't mind the attr() css function. Mind if I do this PR?

Sure! PR is very appreciated 👍


[DO_NOT_MERGE] Update spark_test.yaml to test larger runners

I think we need to split some huge Suites taking 20-30m like MergeCDC and Hilbert Index, to improve parallelism.

Yeah, I am trying to see easy parallelism vs cost of using larger runners.

I have being doing this. https://github.com/delta-io/delta/issues/1707#issuecomment-1636558990
But it requires manually balancing the group of tags


Not showing all 3 zones in Ped Delay Reports page

What Happened
In the Ped Delay Reports page, Ossington Ave / Geary Ave shows only Zone A on MOVE, there is a Zone B and Zone C that is not shown
What Should Happen
Show Zone B and Zone C along with Zone A in the reports page.

This occurred at Geary / Ossington.

Quick notes from discussion:

If this is a one-off case; great!
We need more fundamental tools / processes for edit / delete data in the long run.

This looks like a parsing issue: maybe the zone table landmarks are different / missing somehow?
Another possible parsing issue in Campbell Ave / Antler St?  This might be an issue with column ordering, but need to investigate further.

Looking first at Geary / Ossington (ID: PED_DELAY/153).
This comes from source file /data/ped_delays/OLD/PED_DELAYS/2020/excel/97674_GEARY AVE and OSSINGTON AVE_Zone C.json - the problem here is that, in the network drive, ped delays with more than 2 zones often show up as multiple files:

one file covering zones A, B;
one file covering zone C;
one file that combines A, B, C.

This source file corresponds to 2) above; what we'd ideally want is just 3), not 1) or 2).
Indeed, if you use the date dropdown at this location, you'll see 1), 2), and 3) above, each listed as a separate delay.
One way to fix this would be to special-case the parser to notice if there are files with the same ATS ID.  This has several drawbacks:

it wouldn't work for counts that don't have the ATS ID in the filename;
it introduces a cross-file dependency, whereas the parser as currently written doesn't have to depend on that;
it encodes a quirk of how these are stored into the process, where what we really want is to eliminate the quirk.

IMHO the better path here would be to keep this in mind as a manual cleanup task here: we should not store 1), 2), 3) above in the same folder on the network drive, only 3).

Now on to Campbell / Antler 2017 (ID: PED_DELAY/494).
This comes from source file /data/ped_delays/OLD/PED_DELAYS/2017/excel/82840_Antler&Campbell_PedDelay_Routine.json, which shows no errors detected by the parser.  (This is not to say that there are no errors; only that, if there are, they're of a kind we don't currently detect.)
The totals and number of crossings match in this data file.  Maybe the parser has somehow identified both Total Pedestrians and Number of Crossings as appearing in the same column?
Looking through parse_ped_delay.py, this could happen if the parser can't find the "Total Pedestrians" landmark.  In that case, it would read across the first 11 columns after "Time", taking the first 10 as ped types by delayed vs. not-delayed breakdown, and the the 11th as crossings.
That does indeed seem to be the problem.  Looking at the Excel sheet shows why:

In most Ped Delay Excel files, the "Total of Pedestrians" cell starts on the same row as the top-left zone marker ("Zone A", in this case).  That's not true here - so it doesn't find a value for c_total, and takes the total column as crossings instead.

Continuing our look at Campbell / Antler 2017 - there's another issue where the two Youth and Adults columns are swapped.  What's going on there?
From the screenshot above, we see that the ordering of the columns in each pedestrian type is "=<10sec", ">10sec" - that is, non-delayed, then delayed.  Checking a few other files, this appears to be a common ordering.
From parse_ped_delays.py, we see that the order in DATA_PARAMS is ac_d, ac_nd (and similar for other types) - that is, delayed, then non-delayed.
So if this is more generally an issue, we'd expect to see swapped columns in every ped delay report.  Let's look at a few:

Trethewey and Paulson 2020: columns are swapped for all types;
Greer and Lawrence 2018: columns are swapped for all types;
Kipling and Jutland 2015: columns are swapped for all types.

This is consistent with what we've found - I'll swap the order of these in DATA_PARAMS, which should fix this particular issue.
Looping back to the crossings issue: one thought we had before was to search not just the "Zone A" row, but also every row between "Zone A" (inclusive) and "Time" (exclusive) for landmarks like "Total", "Number of".  This would catch cases like this, and shouldn't be too hard to implement (definitely less time than specifying a precise layout and manually cleaning all this up).

Checked again after parser fix: see Campbell / Antler.  Crossings now look good, and delayed / non-delayed are no longer swapped.
Also quickly checked Trethewey and Paulson from above - looks good as well.
PR coming shortly.

@shinechaudhuri @mkewins I'm going to file a separate issue around manual cleanup, and then probably close this one.  This way, we can document / spec out manual cleanup tasks right here in GitHub, as part of handing those off to Data Collection as available time / effort permits.

Linked #999 here, marking this as closed.


ungron doesn't reproduce streamed JSON

Consider a multi-line "stream" JSON file:
{"one": 1}
{"two": 2}
{"three": 3}

Running gron -s on this file produces:
json = [];
json[0] = {};
json[0].one = 1;
json[1] = {};
json[1].two = 2;
json[2] = {};
json[2].three = 3;

Running gron -u and gron -u -s on that output produces:
[
  {
    "one": 1
  },
  {
    "two": 2
  },
  {
    "three": 3
  }
]

Note that this was transformed into a JSON list.  That makes sense with gron -u but it would be nice if gron -u -s understood this and produced a file that was semantically equivalent to the first one.

In addition, this would enable gron -u -s to output lines in a streaming fashion (as the flag implies).  This would be great, since at the moment it's very easy to make gron -s large.jsonl | gron -u eat up all memory and die.

Try fastgron. It's much faster and also handles streaming in this way.


Integrated code lifecycle: Automatically clean-up repositories and build plans on deletion of programming exercises

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I strictly followed the server coding and design guidelines.(https://docs.artemis.cit.tum.de/dev/guidelines/server/#rest-endpoint-best-practices-for-authorization) and checked the course groups for all new REST Calls (security).

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I strictly followed the client coding and design guidelines.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

In the context of LocalVC and LocalCI giving users the option to decide whether repositories and build plans should be deleted when deleting an exercise or an exercise group containing programming exercise do not make sense anymore. If users leave them empty, there might still be artifacts in the local file system which would lead to follow-up errors.  Instead, when LocalVC and LocalCI are active, all build plans and repositories corresponding to the exercise will be deleted automatically. User will be warned that all repositories will be deleted and that this action cannot be undone.
Description

In case LocalVC and LocalCi are enabled, build plans and repositories are automatically deleted with the corresponding exercise or exercise group. In the frontend user is warned that repos and build plans will be deleted and that this action cannot be undone. In the backend we check if the LocalVC/LocalCi profile is active, and if that's the case, the build plans and repos are deleted automatically.
Steps for Testing

Prerequisites:

1 Instructor
1 test server with Gitlab/Jenkins setup
1 test server with LocalVC/LocalCI setup

Log in to Artemis
Navigate to Course Administration
Try to delete:

a programming exercise on the exercise details page
a programming exercise on the course overview page
multiple programming exercises on the course overview page
an exam programming exercise on the exercise group page
an exercise group containing a programming exercise on the exercise group page

Verify that:

For Gitlab/Jenkins setup user can choose if they want to delete repositories and build plans. The repos and build plans should be deleted/preserved according to the marked options
For LocalVC/LocalCI setup user is only warned that all repositories and build plans will be deleted. All repos and build plans are deleted with the corresponding exercise.

In order to verify if repositories and build plans were successfully deleted you need to try to create a new programming exercise with the same short name as the previously deleted exercise. If the repositories were not deleted, you will get an error creating an exercise.
Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Exam Mode Test

[ ] Test 1
[ ] Test 2

Screenshots

Summary by CodeRabbit

New Features

Enhanced UI responsiveness to localVCEnabled status across various components, affecting button behaviors and displays related to exercise management.

Bug Fixes

Adjusted delete button layouts and conditional rendering logic to improve clarity and user interaction based on localVCEnabled.

Refactor

Integrated ProfileService into several components to manage localVCEnabled status effectively, ensuring that UI elements reflect the current configuration dynamically.

@az108 yes, there was a small issue which was fixed, but the branch wasn't redeployed on the ts3


Readme Updated (Links & Images)

Signed-off-by: Utkarsh Mishra<EMAIL_ADDRESS>Description
Readme Updated (Links & Images)
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@acald-creator @Revolyssup workflows are failing. Is this issue tracked?