Xvfb issues after slim build

Greetings, i am trying to slim https://github.com/cypress-io/cypress-docker-images/tree/master/included/4.0.2
Using command (MAC): ./docker-slim build cypress/included:4.0.2 --http-probe=false
(I am also tried to use --from-dockerfile solution)
But  i am getting this error on container run:
Xvfb exited with a non zero exit code.
There was a problem spawning Xvfb.
This is likely a problem with your system, permissions, or installation of Xvfb.
Error: (EE)
Fatal server error:
(EE) Could not create lock file in /tmp/.tX99-lock
Platform: linux (4.19.76-linuxkit)
Cypress Version: 4.0.2

Can you suggest how it can be fixed or debugged? 2.9GB->733mb is an impressive result, i am really interested in finding workaround here. The fat image and original image are 100% working.

@ChaikaBogdan  thanks for sharing your docker-slim command and the image info! It'll help with the repro!
This specific failure appears to come from the xvfb package ( https://github.com/cypress-io/xvfb ). It's possible that the minified images includes /tmp/.tX99-lock already and it's causing this failure. Let me try to repro it to see if it's the case. There might be other problems too. This appears to be an advanced multi-process/app setup and it definitely needs a review.
Do you know much about the tool design and its internals? Curious about the main components and how they are supposed to interact...

@kcq Thanks for quick response! I not sure about internal work of Cypress...its almost 3gb of all-in test framework.
I know it's coming with a lot of bundled stuff - test runners, reporters, browsers, which probably require some real frame buffer even for headless run. Also it bundled with Node12+ (but you can force use system one)
The fastest way to test image is:
mkdir dummy
cd dummy
npm init -y
npm install cypress --save-dev
npx cypress open //to generate dummy tests
docker run -it -v $PWD:/e2e -w /e2e cypress/included:4.0.2 --browser chrome

Container itself doesn't have any http access, you can run tests just from their repo or even copy them inside container:
FROM cypress/included:4.0.2
COPY cypress /e2e/cypress
COPY cypress.json /e2e
COPY package.json /e2e
WORKDIR /e2e

It's very handy in CI/CD, because you can just grab junit xml reports after run and pass them to Jenkins for example.

@ChaikaBogdan Thanks for the extra info! This is super helpful! I'll try to repo and share my findings soon.
One thing to note is that you should probably pass the same extra parameters you have in your docker run command when you run docker-slim: ./docker-slim build --http-probe=false --mount $(pwd):/e2e --workdir /e2e --cmd '--browser chrome' cypress/included:4.0.2

@kcq Thanks! Will try today

any update here?

So, I made a little spike about possible slimming of cypress/included
Its looks like, what docker-slim is too aggressively removing everything related to Node and Cypres from the target image.
I was able to get to some "almost working" state with:
./docker-slim build --http-probe=false --include-shell --include-path /usr/bin --include-path /usr/local --include-path /root/.cache/Cypress --include-path /usr/lib  --target cypress/included:6.6.0
But cypress verify still results in an error...
docker run -it  --entrypoint sh cypress/included.slim
`Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
A similar issue was solved by https://github.com/iperdomo/cypress-docker-test#fixing-the-errors, but in my case I just getting different error
docker run -it --volume=/var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket --entrypoint sh cypress/included.slim
Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
And no,-include-path /var/run/ doesnot help
Anyway, right now image weighs 1.62 GB unpacked...which is already more than just take node:buster-slim and install Cypress on top with Chrome. https://github.com/ChaikaBogdan/cypress_slim

I'm using docker-slim to build an original docker image which uses nodejs & xvfb-run, it also reports:
...
cmd=build info=continue.after mode='timeout&exec' message='provide the expected input to allow the container inspector to continue its execution'
cmd=build prompt='waiting for the target container (30 seconds)'
cmd=build info=event message='done waiting for the target container'
cmd=build info=continue.after mode='exec' shell='cd /renderserver && xvfb-run node index.js'
docker-slim[build][exec]: output: xvfb-run: error: Xvfb failed to start
cmd=build info=continue.after mode='exec' exitcode='1'
...

The problem is: why can't i see the log output? In interactive mode there is.


Feat/update types for api DEVX-119 DEVX-133 DEVX-134 DEVX-135

Yay 🎉

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


CONTRIBUTING: Fix broken link

The link to the referenced style guide is broken in CONTRIBUTING.md, so I've updated the copy to link to both the Android and Java style guides.

Closing this as this library is deprecated: https://github.com/thoughtbot/expandable-recycler-view/pull/235


Add user info to assetViewModel (Breaking Change)

Model can now access the userInfo which can contain information set by the user usually through the plugins (SwiftUIPendingTransactionPlugin, SwiftUIBeaconContextPlugin) which will come later in OSS
Change Type (required)
Indicate the type of change your pull request is:

[ ] patch
[ ] minor
[ ] major

not sure why the following tests InfoAssetUITests.testInfoBasic(), InputAssetUITests.testBasicInput(), InputAssetUITests.testInputValidation() keep failing for eyes not finding elements, but passes locally when i run them


replace deprecated setQuota in the examples

Given that setQuota has been deprecated, I think that it is better to change the examples in order to use the method  setPropertiesWithResponse.
Therefore I changed the example code
from:
shareClient.setQuota(quotaOnGB);

to:
shareClient.setPropertiesWithResponse(new ShareSetPropertiesOptions().setQuotaInGb(quotaOnGB), null, Context.NONE);

You are right. Now all embedded references in the readme are updated.


How to translate the content under tensorflow.org/resources/learn-ml?

Some resources under tensorflow.org/resources/learn-ml like this one https://developers.google.com/machine-learning/crash-course are useful and are already translated to multiple languages, therefore, I want to translate them into Arabic. However, their source code isn't in this repository and I couldn't find it in other repositories.
So, could explain the procedure to translate them?
Thanks.

@lamberta  Could you help regarding this enquiry? Thanks.

Sorry for the delay, @mohamed-ali
The ML Crash Course is not part of tensorflow.org so out-of-scope for this project.
The community translations here in the docs-l10n repo are restricted to technical content (guides and tutorials). Landing pages, such as the resources/learn-ml are translated using a different process (with different prioritization), so also out-of-scope for this project. Thanks


RantConsole.exe not seeing arguments

At some point the RantConsole.exe arguments seem to have stopped working. I updated yesterday to build bc6e279 from a build in late 2014 (that I'd compiled for Mac and didn't want to change).
A command like:
% RantConsole.exe -file="path-to-pattern-file.rant" -out="out.txt"

simply starts the RANT> prompt. Patterns compile properly from the prompt but files passed as arguments have no affect.
I'm running on a Mac under the Mono Project, but when it didn't work I also tried on Windows 7-Pro 64-bit from command.exe with the same results.
I'm using the documentation at http://rantlang.github.io/rantconsole.html as my guide. Thanks for any assistance you can give!

The documentation seems to be outdated. The proper syntax is RantConsole.exe -file "path-to-pattern-file.rant" -out "out.txt"

Thanks @Spanfile! That was very helpful!!


Add dollar-blue-rate extension

Description
This extension provides quick access to Argentina's "Blue Dollar" exchange rates, both current and historical.
Key features:

Fetch the latest Blue Dollar exchange rate
Retrieve historical Blue Dollar rates for specific dates
Simple interface with clear rate display
Keyword shortcuts for quick access (e.g., "curr" for current rate)
Use of cache for both features: latest has a cache exp of 15 minutes and historical 24 hours.

All data is sourced from the Bluelytics API (https://bluelytics.com.ar).
Screencast

Additional Information

This extension is particularly useful for Argentinians or anyone dealing with Argentine currency exchange rates.
It helps users quickly check the unofficial market rate, which often differs significantly from the official rate.

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Thanks for your contribution 🔥
What's the difference between this and https://www.raycast.com/agus/dollar-blue by @agusluques


Move to new opentelemetry tracing APIs

Hello,
I'm currently monitoring benthos using Jaeger and It seems that benthos doesn't set the span status (for example Span.Status: ERROR).
This would be useful for me as in the case benthos errors on processing a message, it would be nice to be able to find out that it failed, and as well have metadata about the failure for debugging.

Hey @edude03, looks like we're currently doing a half-baked version of this by setting a tag with span.SetTag("error", true). There's a rough plan to migrate the internal mechanisms for tracing to use the newer opentelemetry APIs (when there's a stable release) so I'll probably hold off on changes to tracing until then, but it makes sense to tackle this at the same time.

Hi!
I guess there's already a stable version: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.0.0

Hi @Jeffail @mfamador it would be really useful to have Open Telemetry support. The go package is getting fairly stable, already at v1.3.0.
Is the any plan to migrate Benthos to Telemetry anywhere near on the roadmap? Reading the comments here, seems the foundation is there for the migration.

@cristiprg, it's in motion, the work within https://github.com/Jeffail/benthos/commit/5983fd73b539eb011f4ce779fa88e82c26bde483 was to prepare internal components for the migration, there's some outstanding work on translating the jaeger exporter: https://github.com/Jeffail/benthos/tree/opentelemetry, one outcome so far is that we can't support all the same sampling mechanisms with otel.
The main outstanding problem is backwards compatibility. It'd be a huge effort to support both mechanisms at the same time, so realistically we'd want to ditch the current opentracing support. This means we need a major version release, there's one on the way but I'm holding it off in order to give time to plugin authors using the old APIs.

Effort done here: https://github.com/Jeffail/benthos/commit/545d124b42ad7ae9441edd7d51149ca43a67cc25, this is only so far as it compiles and needs testing.

Ready in v4: https://github.com/Jeffail/benthos/commit/697813c58d15722c7acae95b0ccfbbcdf8b14b27


Add support for emitting loop register annotations

This patch adds support for emitting loop register annotations for performing benchmarking in loop mode. Tests are added in addition to new flags to control the functionality where appropriate.

Note that this is a stacked pull request on top of #51, so please don't merge it (if we get to that point) until #51 has already landed.

Please let me know once the parent PRs are merged and this is rebased, I'll review then.

Please let me know once the parent PRs are merged and this is rebased, I'll review then.

Everything has been rebased now.


[Bug] schedule_batch.py: IndexError: list index out of range

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[X] 2. The bug has not been fixed in the latest version.
[X] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.
[X] 4. If the issue you raised is not a bug but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[X] 5. Please use English, otherwise it will be closed.

Describe the bug
Exception in ModelTpServer:
Traceback (most recent call last):
File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 218, in exposed_step
self.forward_step()
File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 116, in decorate_context
return func(*args, **kwargs)
File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 247, in forward_step
self.forward_decode_batch(self.running_batch)
File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 595, in forward_decode_batch
jump_forward_reqs = batch.check_for_jump_forward(self.model_runner)
File "/sgl-workspace/sglang/python/sglang/srt/managers/schedule_batch.py", line 599, in check_for_jump_forward
if not req.jump_forward_and_retokenize(
File "/sgl-workspace/sglang/python/sglang/srt/managers/schedule_batch.py", line 269, in jump_forward_and_retokenize
if all_ids[prompt_tokens - 1] != self.origin_input_ids_unpadded[-1]:
IndexError: list index out of range
While my QA/QC member tested the model, the server got this error. Unfortunately I cannot reproduce the bug, but I hope you can guess the reason.
Reproduction
MODEL=hugging-quants/Meta-Llama-3.1-8B-Instruct-AWQ-INT4
TP=1
MFS=0.6
docker run -d --gpus '"device=1"'
-p 8002:8002
--rm
--network=$NETWORK
--name sglang-server
-v ~/.cache/huggingface:/root/.cache/huggingface
--env HF_TOKEN=$HF_TOKEN
--ipc=host
lmsysorg/sglang:latest
python3 -m sglang.launch_server
--model-path $MODEL
--host <IP_ADDRESS>
--port 8002
--served-model-name $SERVED_MODEL_NAME
--mem-fraction-static $MFS
--tensor-parallel-size $TP
--api-key $API_KEY
--quantization awq_marlin
--efficient-weight-load
--enable-p2p-check
Environment
Python: 3.10.14 (main, Apr 6 2024, 18:45:05) [GCC 9.4.0]
CUDA available: True
GPU 0,1: NVIDIA A10G
GPU 0,1 Compute Capability: 8.6
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 12.1, V12.1.105
CUDA Driver Version: 550.90.07
PyTorch: 2.4.0+cu121
flashinfer: 0.1.5+cu121torch2.4
triton: 3.0.0
transformers: 4.44.0
requests: 2.32.3
tqdm: 4.66.5
numpy: 1.26.4
aiohttp: 3.10.3
fastapi: 0.112.1
hf_transfer: 0.1.8
huggingface_hub: 0.24.5
interegular: 0.3.3
packaging: 24.1
PIL: 10.4.0
psutil: 6.0.0
pydantic: 2.8.2
uvicorn: 0.30.6
uvloop: 0.20.0
zmq: 26.1.0
vllm: 0.5.4
multipart: 0.0.9
openai: 1.40.8
anthropic: 0.34.0
NVIDIA Topology:
GPU0 GPU1 CPU Affinity NUMA Affinity GPU NUMA ID
GPU0 X PHB 0-47 0 N/A
GPU1 PHB X 0-47 0 N/A
Legend:
X = Self
SYS = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX = Connection traversing at most a single PCIe bridge
NV# = Connection traversing a bonded set of # NVLinks
ulimit soft: 1048576

The server crashed and hanged after getting this error.

cc @hnyls2002


Use pure dart to implement tus flutter client

Why tus_client?
Use pure dart to implement tus flutter client, which is very useful for flutter developers.
https://github.com/jjmutumi/tus_client
Why not tus-flutter-client?
tus-flutter-client does not seem to be maintained anymore. It is not necessary to call iOS and Android separately. The tus protocol can be implemented with pure dart http.

If you are able to complete background tus uploads with tus_client I would very much like to see how you do that. Otherwise, I don't think you'd be able to do so, at least on iOS, with a dart implementation.


Add collector framework

Need the code to keep track of how many collectors we have launched and make ground station generate power as needed

https://mcreator.net/wiki/variables
I feel it should be done with a global variable inside minecraft.

bro really linked a website about some weird ass minecraft scratch IDE


Divergent Determination Not Adding Armour

Just as the title says, I added the gem and got no armour added to my character even with 20 quality. Maybe it doesn't work the way it says it does but even with 0 armour before equiping it I should get some because of my evasion rating

The description is colored in red instead of the normal blue. If I understand this right it is sadly not supported yet.


[Feature Request] Support for streaming sites

With the extension out, I feel like there is now more of a case to be made for something like #16 (using local subtitle files and including an export function).
After seeing asbplayer (https://github.com/killergerbah/asbplayer), it doesn't seem impossible.
If you're not interested, feel free to close the issue.
Best regards.

As asbplayer covers most functionality of animebook on streaming sites at this point, this seems a bit redundant.


Wrong window title on GNOME workspace overview

The window title on the workspace overview should be "Denaro" instead of "NickvisionMoney.GNOME"

https://github.com/nlogozzo/NickvisionMoney/releases/tag/2023.2.0-beta2


x/pkgsite: incorrect rendering of old doc comments

What is the URL of the page with the issue?
https://pkg.go.dev/fmt
What is your user agent?

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33
Screenshot

What did you do?
The information in the website is incomplete in the other flags section compared to: https://golang.google.cn/pkg/fmt/

What did you expect to see?
Other flags:
+	always print a sign for numeric values;
	guarantee ASCII-only output for %q (%+q)
-	pad with spaces on the right rather than the left (left-justify the field)
#	alternate format: add leading 0b for binary (%#b), 0 for octal (%#o),
	0x or 0X for hex (%#x or %#X); suppress 0x for %p (%#p);
	for %q, print a raw (backquoted) string if strconv.CanBackquote
	returns true;
	always print a decimal point for %e, %E, %f, %F, %g and %G;
	do not remove trailing zeros for %g and %G;
	write e.g. U+0078 'x' if the character is printable for %U (%#U).
' '	(space) leave a space for elided sign in numbers (% d);
	put spaces between bytes printing strings or slices in hex (% x, % X)
0	pad with leading zeros rather than spaces;
	for numbers, this moves the padding after the sign

What did you see instead?
Other flags:

always print a sign for numeric values; guarantee ASCII-only output for %q (%+q)

pad with spaces on the right rather than the left (left-justify the field) # alternate format: add leading 0b for binary (%#b), 0 for octal (%#o), 0x or 0X for hex (%#x or %#X); suppress 0x for %p (%#p); for %q, print a raw (backquoted) string if strconv.CanBackquote returns true; always print a decimal point for %e, %E, %f, %F, %g and %G; do not remove trailing zeros for %g and %G; write e.g. U+0078 'x' if the character is printable for %U (%#U). ' ' (space) leave a space for elided sign in numbers (% d); put spaces between bytes printing strings or slices in hex (% x, % X) 0 pad with leading zeros rather than spaces; for numbers, this moves the padding after the sign

The 1.19 docs render correctly<EMAIL_ADDRESS>Looks like a poor interaction with the old format

Pretty sure this is fixed on tip, though, so it's a temporary issue.

This is an unfortunate corner case. We don't have a plan to invent a workaround, so closing.
All pkg docs for go1.19 and newer were updated to work with the new styling syntax.


Add SELinux support for running VM Confinement

We want to launch the KVM launcher tool (qemu?) with an SELinux label, similar
to what we do with libvirt.
Currently when I use kata with Podman, it complains if we specify a label that
kata does not support SELinux labels. What I would like to do is have kata just
use this label to apply to the KVM launcher. Then I will work to generate a new
policy type (container_kvm_t) that will allow the KVM Launcher tool to do its
thing, but prevent breakout.
Fixes: https://github.com/kata-containers/runtime/issues/2501
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

@devimc PTAL
This is totally untested, but wanted to make sure I am going in the right direction.

I am not sure about Cloud Hyper-visor or acrn?
Theoretically SELinux should work with firecracker and qemu.

I am not sure about Cloud Hyper-visor or acrn?
Theoretically SELinux should work with firecracker and qemu.

/cc @sboeuf @sameo for any Cloud Hypervisor selinux input and thoughts.

/cc @sboeuf @sameo for any Cloud Hypervisor selinux input and thoughts.

/cc @rbradford

Ok I am trying to test, but can not get kata to work right now on Fedora 32, I have switched to cgroup V1 in case this is a problem.
# make install prefix=/usr
# podman run --security-opt label=type:container_lvm_t --runtime=/usr/bin/kata-runtime --rm -id fedora sh
/usr/share/defaults/kata-containers/configuration-qemu.toml: having both an image and an initrd defined in the configuration file is not supported
ERRO[0001] Error removing container e06ba5cc663cc8de0f355d7c2a417ffcc39dd2eeb8082a3e9e5768d129ac2f4d from runtime after creation failed
Error: /usr/share/defaults/kata-containers/configuration-qemu.toml: having both an image and an initrd defined in the configuration file is not supported: OCI runtime error

Comment out the initrd
# podman run --security-opt label=type:container_lvm_t --runtime=/usr/bin/kata-runtime --rm -id fedora sh
Error: Failed to check if grpc server is working: rpc error: code = Unavailable desc = transport is closing: OCI runtime error

Comment out the image, and use initrd
# podman run --security-opt label=type:container_lvm_t --runtime=/usr/bin/kata-runtime --rm -id fedora sh
Error: rpc error: code = Internal desc = Could not run process: container_linux.go:346: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"mountpoint for cgroup not found\"": OCI runtime error

@rhatdan for cgroups v2 you need to enable sandbox_cgroup_only in the configuration file

@grahamwhaley @rhatdan

any Cloud Hypervisor selinux input and thoughts.

Well the same way it should work for QEMU and Firecracker, I don't see any issue to make this work with Cloud-Hypervisor.
It's not clear to me whose responsibility it is to apply SELinux policies, but Cloud-Hypervisor is a simple process running multiple threads for its virtio devices, so I don't think there's any blocker there.
I would like to understand the expectation better as I'd like to make sure nothing's missing in Cloud-Hypervisor to support SELinux.

It does work for Fedora as expected. For instance, running:

@rhatdan, @devimc already fixed my Signed-off-by: ... (sorry for the trouble).
Seems that (hopefully) the only missing piece is the CI error related to missing the lincese in the newly added hack/selinux_tag.sh file.

@sboeuf @devimc @grahamwhaley @jodh-intel @amshinde PTAL

\test

Thanks @fidencio (and welcome! ;)! You actually need to use a forward slash to trigger the tests (see https://github.com/kata-containers/community/wiki/Controlling-the-CI)
/test

I've just tested the latest version of the patch and it does work as expected.
Right now, distros which want to have SELinux support enabled, will have to depend on libselinux-devel in order to have the support automatically enabled (this is more like a note for the future me, working on adding this to Fedora).
Without libselinux-devel installed, we get the processes running using the following label:
[root@rawhide fidencio]# ps -eZ | grep -E 'qemu|virtiofsd'
unconfined_u:system_r:container_runtime_t:s0 23673 ? 00:00:00 virtiofsd
unconfined_u:system_r:container_runtime_t:s0 23681 ? 00:00:05 qemu-system-x86
unconfined_u:system_r:container_runtime_t:s0 23684 ? 00:00:00 virtiofsd

With libselinux-devel installed, we get the processes running using the new container_kvm_t label:
[root@rawhide fidencio]# ps -eZ | grep -E 'qemu|virtiofsd'
system_u:system_r:container_kvm_t:s0:c573,c878 26016 ? 00:00:00 virtiofsd
system_u:system_r:container_kvm_t:s0:c573,c878 26024 ? 00:00:05 qemu-system-x86
system_u:system_r:container_kvm_t:s0:c573,c878 26027 ? 00:00:00 virtiofsd

The command-line used to start podman is:
[root@rawhide fidencio]# podman --runtime=/usr/local/bin/kata-runtime run --security-opt label=type:container_kvm_t -it fedora /bin/bash

So, +1 from me from the functional perspective.
There's one nit, though, that I'd like to have fixed before having this merged:
Signed-off-by<EMAIL_ADDRESS><EMAIL_ADDRESS>is wrong and it's my own fault. Would be nice if whoever merges this patch, or even Dan Walsh, ends up fixing that, changing the current content to Signed-off-by: Fabiano Fidêncio<EMAIL_ADDRESS>

/test

/test

Adding dnm label to allow the incorrect commit sign off to be amended...

@jodh-intel, just to clearly understand the situation, all the CI jobs must pass before having this PR merged, is it? If not, is there some easy way to get the CI status with the current master so we could at least compare the failures?
I'll start to dig into the remaining failures during the day and will keep updating the status in this very same comment here.
For now, I can see that this is not related at all to this PR:

jenkins-ci-rhel-7: This is not related to the patch set. I've been in contact with @GabyCT about this one, more details here (https://github.com/kata-containers/ci/issues/261#issuecomment-606848214)

@fidencio - yes, that's right. Merging is disabled until we get a good CI run.
You can see a summary of all the CI jobs here:

http://jenkins.katacontainers.io/

I think we may have disabled some of the CI runs as we don't have the capacity to run every combination (if you can help out with that please let us know ;)
Note that if you have suitable (development or test) systems, you can run the CI locally:

https://github.com/kata-containers/tests#run-the-tests

/cc @chavafg.

/retest-power

@jodh-intel,
I'd say that based on the failures we have, none of those are related to this PR.
@rhatdan,
As I cannot force-push to this branch, could you fix my Signed-off-by: ... in your commit? It should be Signed-off-by: Fabiano Fidêncio<EMAIL_ADDRESS>Once the Signed-off-by is fixed, I'd say we can go ahead and have this one merged.

Thanks @fidencio.  I am going to restart the CI for the failing jobs.
@chavafg @GabyCT, Noting the failures seen here before I restart. We need to take a look to see if these are known flakiness and see if we can avoid these.
For centos-q35,  I am seeing this:
Create cni directories /opt/cni/bin and /etc/cni/net.d
Create bundles in /tmp/jenkins/workspace/kata-containers-runtime-centos-7-q-35-PR/go/src/github.com/kata-containers/runtime/virtcontainers/utils/supportfiles/bundles
Using default tag: latest
latest: Pulling from library/busybox
0669b0daf1fb: Pulling fs layer
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for :.* : True

Looks like, the failure is caused due to a network issue, perhaps we should fix this by checking if error caused is due to network, and a couple of retries in out test script, so that we do not have to restart entire job.
For Power-8-ubuntu job, this is the failure seen in the ginkgo tests:
state container
  with workload [true], timeWait 5
  /home/jenkins/workspace/kata-containers-runtime-Power8-ubuntu-18-04-PR-initrd/go/src/github.com/kata-containers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:43
Running command '/usr/local/bin/kata-runtime [kata-runtime --log=/tmp/bundle347234458/log run --bundle=/tmp/bundle347234458 --console= --pid-file=/tmp/bundle347234458/pid --detach P6NutYZJpe3tNooi94BK]'
command failed error 'exit status 1'
[kata-runtime --log=/tmp/bundle347234458/log run --bundle=/tmp/bundle347234458 --console= --pid-file=/tmp/bundle347234458/pid --detach P6NutYZJpe3tNooi94BK]
Timeout: 120 seconds
Exit Code: 1
Stdout:
Stderr: rpc error: code = Unknown desc = rootfs (/run/kata-containers/shared/containers/P6NutYZJpe3tNooi94BK/rootfs) does not exist

Running command '/usr/local/bin/kata-runtime [kata-runtime list --quiet]'
[kata-runtime list --quiet]
Timeout: 120 seconds
Exit Code: 0
Stdout:
Stderr:

The test cannot find the bundle, again lets look at if this is failure in downloading the bundle.
For Rhel-7:
--> Finished Dependency Resolution
Error: Package: moreutils-0.49-2.el7.x86_64 (epel)
           Requires: perl(IPC::Run)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Failed at 22: sudo -E yum install -y moreutils
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for :.* : True

@GabyCT Is this related to https://github.com/kata-containers/ci/issues/261?
Finally for ARM:
/workspace/kata-containers-runtime-ARM-18.04-PR/go/src/github.com/golangci/golangci-lint ~/workspace/kata-containers-runtime-ARM-18.04-PR/go/src/github.com/kata-containers/runtime
12:03:55 INFO: Using github.com/golangci/golangci-lint version v1.16.0
12:03:56 Switched to a new branch 'v1.16.0'
12:03:56 INFO: Building github.com/golangci/golangci-lint
12:03:56 go build -o golangci-lint ./cmd/golangci-lint
12:04:05 go<EMAIL_ADDRESS>invalid pseudo-version: does not match version-control timestamp (2019-02-10T22:04:43Z)
12:04:05 Makefile:8: recipe for target 'build' failed
12:04:05 make: *** [build] Error 1

@Pennyzct Is this a known issue as well?

Thanks @fidencio. I am going to restart the CI for the failing jobs.
@chavafg @GabyCT, Noting the failures seen here before I restart. We need to take a look to see if these are known flakiness and see if we can avoid these.

@amshinde, seems you missed my comment here https://github.com/kata-containers/runtime/pull/2503#issuecomment-607110831

For centos-q35, I am seeing this:
Create cni directories /opt/cni/bin and /etc/cni/net.d
Create bundles in /tmp/jenkins/workspace/kata-containers-runtime-centos-7-q-35-PR/go/src/github.com/kata-containers/runtime/virtcontainers/utils/supportfiles/bundles
Using default tag: latest
latest: Pulling from library/busybox
0669b0daf1fb: Pulling fs layer
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for :.* : True

Looks like, the failure is caused due to a network issue, perhaps we should fix this by checking if error caused is due to network, and a couple of retries in out test script, so that we do not have to restart entire job.

Agreed!

For Power-8-ubuntu job, this is the failure seen in the ginkgo tests:
state container
  with workload [true], timeWait 5
  /home/jenkins/workspace/kata-containers-runtime-Power8-ubuntu-18-04-PR-initrd/go/src/github.com/kata-containers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:43
Running command '/usr/local/bin/kata-runtime [kata-runtime --log=/tmp/bundle347234458/log run --bundle=/tmp/bundle347234458 --console= --pid-file=/tmp/bundle347234458/pid --detach P6NutYZJpe3tNooi94BK]'
command failed error 'exit status 1'
[kata-runtime --log=/tmp/bundle347234458/log run --bundle=/tmp/bundle347234458 --console= --pid-file=/tmp/bundle347234458/pid --detach P6NutYZJpe3tNooi94BK]
Timeout: 120 seconds
Exit Code: 1
Stdout:
Stderr: rpc error: code = Unknown desc = rootfs (/run/kata-containers/shared/containers/P6NutYZJpe3tNooi94BK/rootfs) does not exist

Running command '/usr/local/bin/kata-runtime [kata-runtime list --quiet]'
[kata-runtime list --quiet]
Timeout: 120 seconds
Exit Code: 0
Stdout:
Stderr:

The test cannot find the bundle, again lets look at if this is failure in downloading the bundle.

It's related to: https://github.com/kata-containers/ci/issues/263

For Rhel-7:
--> Finished Dependency Resolution
Error: Package: moreutils-0.49-2.el7.x86_64 (epel)
           Requires: perl(IPC::Run)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Failed at 22: sudo -E yum install -y moreutils
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for :.* : True

@GabyCT Is this related to kata-containers/ci#261?

Yes, it's related to https://github.com/kata-containers/ci/issues/261
And I'm working together with @GabyCT in order to get that fixed.

Finally for ARM:
/workspace/kata-containers-runtime-ARM-18.04-PR/go/src/github.com/golangci/golangci-lint ~/workspace/kata-containers-runtime-ARM-18.04-PR/go/src/github.com/kata-containers/runtime
12:03:55 INFO: Using github.com/golangci/golangci-lint version v1.16.0
12:03:56 Switched to a new branch 'v1.16.0'
12:03:56 INFO: Building github.com/golangci/golangci-lint
12:03:56 go build -o golangci-lint ./cmd/golangci-lint
12:04:05 go<EMAIL_ADDRESS>invalid pseudo-version: does not match version-control timestamp (2019-02-10T22:04:43Z)
12:04:05 Makefile:8: recipe for target 'build' failed
12:04:05 make: *** [build] Error 1

@Pennyzct Is this a known issue as well?

It's related to https://github.com/kata-containers/tests/issues/2434

@fidencio Repushed with fixed signature.

Thanks @rhatdan.
/test

/test

/test

Restarted Ubuntu CI (timeout) and Fedora CI (tracing test anomoly I think - known issue).

@jodh-intel, seems the only two issues we have are the ones already reported here[0] and here[1].
For some reason, travis-ci seems stuck since Yesterday.
Are we good to go and have this one merged?
0: https://github.com/kata-containers/ci/issues/263
1: https://github.com/kata-containers/tests/issues/2434

travis already passed, but not reporting back, I think it is safe to merge.
https://travis-ci.org/github/kata-containers/runtime/builds/670142930?utm_medium=notification&utm_source=github_status

@fidencio @rhatdan Thanks for the work done on this PR. Merged :)

\o/ - thanks again @rhatdan !

@rhatdan This commit causes container startup to fail on my Fedora 31 machine with SELinux in enforcing mode:
$ docker run --rm -it alpine true
docker: Error response from daemon: OCI runtime create failed: failed to launch qemu: exit status 1, error messages from qemu log: qemu-system-x86_64: cannot create PID file: Cannot open pid file: No such file or directory: unknown.

The AVCs are:
Apr 16 15:56:56 kata audit[23788]: AVC avc:  denied  { read write } for  pid=23788 comm="qemu-system-x86" path="/dev/vhost-net" dev="devtmpfs" ino=24766 scontext=system_u:system_r:container_t:s0:c99,c363 tcontext=system_u:object_r:vhost_device_t:s0 tclass=chr_file permissive=0
Apr 16 15:56:56 kata audit[23788]: AVC avc:  denied  { read write } for  pid=23788 comm="qemu-system-x86" path="/dev/net/tun" dev="devtmpfs" ino=15375 scontext=system_u:system_r:container_t:s0:c99,c363 tcontext=system_u:object_r:tun_tap_device_t:s0 tclass=chr_file permissive=0

If I revert the commit, or flip SELinux to permissive, everything works; alternatively, I can pass --security-opt label=disable as was necessary before https://github.com/kata-containers/runtime/pull/2443 got merged.
I think what's needed to make it work properly is a SELinux policy update, but I'm not sure whether the corresponding changes have been merged upstream - they certainly haven't made it to Fedora 31.
I'm wondering if it's a good idea to have this in 11.1 at all: the out-of-the-box experience is not any worse than it was before https://github.com/kata-containers/runtime/pull/2443, but after that PR things had gotten better and now we're back to the previous status quo. Once the SELinux policy updates have trickled down to distributions we definitely want this, but perhaps it's >11.1 material and should be pulled out of this release?

Once the SELinux policy updates have trickled down to distributions we definitely want this, but perhaps it's >11.1 material and should be pulled out of this release?

Personally I don't agree with the suggestion as 1.11.0 is not Fedora 31 material.
In any case, I do believe this is something that woud fit better in the specific distro bugzilla.

Personally I don't agree with the suggestion as 1.11.0 is not Fedora 31 material.
In any case, I do believe this is something that woud fit better in the specific distro bugzilla.

Whether or the Fedora project will update Kata to 1.11 in Fedora 31 (probably not) is a different question than whether the Kata projects cares about Kata 1.11 working on Fedora 31.
I'm not sure what the exact rules when it comes to target platforms are, and one could certainly make the case that running Kata containers without putting SELinux into permissive mode or passing --security-opt label=disable was not working in 1.10 either, so there's no regression.
I just though it was a good idea to bring up the subject, since I've run into this issue myself and there's a chance other people will as well :)

container-selinux should be available on Fedora now to handle this, we don't have a version of podman that can handle this yet.  I think for F31 we should disable the SELinux support for now.
Users can do
podman run --security-opt label=type:container_kvm_t ...
And this will work also, for those still using docker.
docker run --security-opt label=type:container_kvm_t ...

Should we add a configuration option to kata to ignore the label?

@rhatdan, can we make that if building without passing +selinux we use the old behaviour?

@rhatdan, can we make that if building without passing +selinux we use the old behaviour?

If I understand correctly the way the build system works, there is currently no way to configure whether or not SELinux labels are used: the selinux build tag is used internally by https://github.com/opencontainers/selinux to know whether libselinux is available on the host, and I guess there will be some stub functions in that library that will be compiled in if it's not available?
So you can't just do the equivalent of ./configure --disable-selinux on Fedora 31 and ./configure --enable-selinux on Fedora 32; even if that was the case, that would work for packagers but for people building from source you'd want the correct value to be detected automatically, and that's another can of worms.
Maybe I'm just worrying too much: as I mentioned earlier, even with 1.10 you had to make SELinux permissive or disable labeling for Kata to work, so this is not any worse, and in fact it works better on Fedora 32 and other targets that have a new enough SELinux policy installed. Perhaps the best way to handle this is to do nothing at all :)

So you can't just do the equivalent of ./configure --disable-selinux on Fedora 31 and ./configure --enable-selinux on Fedora 32; even if that was the case, that would work for packagers but for people building from source you'd want the correct value to be detected automatically, and that's another can of worms.

I've addressed the first part with https://github.com/kata-containers/runtime/pull/2624.
This will not give Fedora 31 users the perfect out-of-the-box experience, but it will at least provide a way for them to pick a different behavior than the default, and it will also help packagers ensure that SELinux support is either enabled or disabled based on what's more appropriate for the target.


Add npm prepare script

This is PR adds a prepare script to the package.json.
This is a special npm script that is executed when installing a package from a git URL like so
npm install git@github.com:t-richard/lift.git#add-prepare-script

This would come in handy for the community to test WIP/draft constructs and is much more user-friendly than using npm link.
Previously, doing this would not work because we would be missing the dist folder in  node_modules/serverless-lift
The script behaviour is described at https://docs.npmjs.com/cli/v7/using-npm/scripts#life-cycle-scripts
It also says

Runs BEFORE the package is published

This is why I also deleted npm run build from the release GH Action workflow

@fredericbarthelet that makes sense. I wasn't able to make it work with your suggestion.
Just using "build" is not enough apparently, all solutions I found online suggested to use the full command like npm run build so this is what I did and it works as expected.


TALAO wallet : email pass does not work properly (redirect on IOS / ANDROID

The redirect . te wallet does not re- open. Message "something went wrong

same Verifiable iD does not work correctly


convert to using promises

the core db lib sparks a chain of callbacks throughout the code. with promises, there's a lot less arguments and error handling. it also makes the most complicated piece (getting a page by its slug) a lot more readable

:clap:


FileNotFoundException thrown when referring to WSUS API DLL

Config: Visual Studio 2019 + .Net Core 3.0.101 on Windows Server 2019 with WSUS role installed.
I have a console project that reference
C:\Program Files\Update Services\Api\Microsoft.UpdateServices.Administration.dll
and in the code I try to get an instance of IUpdateServer object :
var updateSrv = AdminProxy.GetUpdateServer();
Which throw an exception:
System.IO.FileNotFoundException : 'Could not load file or assembly 'Microsoft.UpdateServices.Utils, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
If I add a reference to this DLL: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.UpdateServices.Utils\v4.0_<IP_ADDRESS>__31bf3856ad364e35\Microsoft.UpdateServices.Utils.dll
I receive this exception:
System.IO.FileNotFoundException : 'Could not load file or assembly 'Microsoft.UpdateServices.BaseApi, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Adding this DLL: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.UpdateServices.BaseApi\v4.0_<IP_ADDRESS>__31bf3856ad364e35\Microsoft.UpdateServices.BaseApi.dll
I receive:
System.IO.FileNotFoundException : 'Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
And I don’t have this DLL.
By the past, with .Net Framework, referencing the first DLL was enough to work with WSUS API. Is it still possible to do this with .Net Core?

The WSUS APIs are built for .NET Framework, not .NET Core.
You can technically reference assemblies that target .NET Framework, but with the understanding that some APIs or even references the assembly needs might not be available.
In this case, ConfigurationManager is included as part of our WinForms and WPF targets, but not as part of NetCoreApp (console app) or ASP.NET targets.

Ok then, I need to change my plans. Thanks.


Fix kinematics_interface version to 1.1.0 (API break from 1.2.0)

The kinematics_interface version 1.2.0 is API breaking (see PR#83).
However, the dynamics_interface inherits from the kinematics interface, hence resulting in a broken package.
The change is limited to the initialize() function and a change will be necessary.
However, a temporary solution consists in cloning the kinematics_interface version 1.1.0.
The VCS file has been updated in consequence.

@Fadi-AlMasalmah Au cas où...
Aussi, il y a une branche de dynamics_interface (see tpoignonec-refractor_for_kinematics_interface_1.2.0).
Mais il faudra alors refactorer le code ici aussi...


[SPARK-48826]BUILD] Upgrade fasterxml.jackson to 2.17.2

What changes were proposed in this pull request?

This PR amis to upgrade fasterxml.jackson from 2.17.1 to 2.17.2.
Why are the changes needed?

There are some bug fixes about Databind:
#4561: Issues using jackson-databind 2.17.1 with Reactor (wrt DeserializerCache and ReentrantLock)
#4575: StdDelegatingSerializer does not consider a Converter that may return null for a non-null input
#4577: Cannot deserialize value of type java.math.BigDecimal from String "3." (not a valid representation)
#4595: No way to explicitly disable wrapping in custom annotation processor
#4607: MismatchedInput: No Object Id found for an instance of X to assign to property '@id'
#4610: DeserializationFeature.FAIL_ON_UNRESOLVED_OBJECT_IDS does not work when used with Polymorphic type handling
The full release note of 2.17.2:
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.17.2
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Pass GA.
Was this patch authored or co-authored using generative AI tooling?

No.

What modifications are related to Spark? Can you add some details in the PR description?

@LuciferYang  Thank you for the guidance, let me do some in-depth inspection and update it.

@LuciferYang  Updated it. And there is jackson-datatype-jdk8/2.17.0//jackson-datatype-jdk8-2.17.0.jar which is involved by parquet 1.14.1, I think there is no need to update it.  WDYT?

Merged into master. Thanks @wayneguow

@LuciferYang Updated it. And there is jackson-datatype-jdk8/2.17.0//jackson-datatype-jdk8-2.17.0.jar which is involved by parquet 1.14.1, I think there is no need to update it. WDYT?

We can submit an independent pr to try defining additional versions of this dependency.


[CORE][Minor]change the log level to info

Too many logs even when set the log level to warning.

Merged build triggered.

Merged build started.

Test build #37013 has started for   PR 7340 at commit 59658cf.

LGTM

Test build #37013 has finished for   PR 7340 at commit 59658cf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM, as well.

LGTM merging into master. By the way I do plan to fix the root cause of the issue at SPARK-8911.

Can you close this, I already merged.


pick() with count should return array

On branch pick-count-equals-1
Changes to be committed:
modified:   chance.js
modified:   test/test.helpers.js
See #166

Looks good to me, thanks @leesei for the fix!

Glad I can help.


Way to highlight just by dragging over words?

Not an issue, but would be a lovely feature! Hitting "Command + X" is repetitive and redundant after a few hundred times. But all in all, a great extension, and am I am eagerly waiting to see where this goes.

Merged #48 to this issue

Merged #20 to this issue:

Ok I’ll implement the auto highlight option into the settings so you can choose to highlight on selection without needing to use Ctrl+X. Does that sound good?
Add setting / option to highlight by default and do NOT need ctrl+X

@noamsiegel it has been implemented! Please check out the new update and let me know what you think? Thanks!

@GitMurf it works perfectly. Thank you for all the work!


Support for incremental SSG

It seems that next-on-netlify current does not support incremental SSG (https://nextjs.org/docs/basic-features/data-fetching#incremental-static-regeneration).
Are there any plans to support this?

This package actually does support it, to an extent!
Here's a demo:
https://sonnet-18-incremental.netlify.app/
You can use these URLs in the box there for the demo:
https://github.com/cassidoo/next-netlify-starter
https://github.com/netlify/next-on-netlify
Here's the code for it:
https://github.com/cassidoo/sonnet-18/blob/static-props/pages/compare/[...slug].js
Do you have any other questions related to this?

Can you please elaborate to what extent there is support?
Is there for example only support for the unstable_revalidate (https://github.com/cassidoo/sonnet-18/blob/f3f21bcb3b27bbfbdcac73c8798eb4c951ded06a/pages/compare/[...slug].js#L48).
In my test revalidate: 1 did not generate a serverless function.

I created a #37 to explore the option of adding incremental static regeneration.

Hey @joostmeijles,
You are right — there is currently no support for incremental static regeneration (ISR).
Ideally, pages with ISR should be statically pre-rendered and then re-rendered upon request at the provided revalidation interval. This is currently not possible, because we can only either have a static page or have a page that is server-side rendered. Netlify is investigating and researching possibilities for fully supporting ISR.
In the meantime, your proposal to server-side render pages with ISR is a fantastic workaround. This means that these pages will be less performant than regular static pages, but at least their content will be fresh. I believe that a focus on the freshness of the content does indeed match the intention of the user more closely than a focus on the page's performance.
Based on your excellent work done in #37, I created a WIP branch to server-side render pages with incremental static regeneration: incremental-static-regeneration. It looks like it's working well — but I would like to refactor some code before I merge it into master. So it may be another week before it ships.
Again, thank you for raising this issue and for your very helpful proposal! 😊
- Finn

Thanks so much for this work @joostmeijles and @FinnWoelm! This is so exciting to get even more support for ISR. Are there any other gaps that need to be filled to get this better supported?

@cassidoo I think Netlify stale-while-revalidate support is needed to fully support ISR.

It seems that ISR somehow stopped working on the Netlify CDN.
The serverless (SSR) functions complete but do not return and therefore result in a timeout after 10 seconds.
For example:
{"errorMessage":"2020-10-21T14:05:48.488Z 604afa24-2c41-46d8-840e-a925c1e03587 Task timed out after 10.01 seconds"}

@FinnWoelm @cassidoo any clues  ?

@joostmeijles things are still working on my end! The last release is 20 days old, so there shouldn't have been any change sincethen.
Is it possible that you use some sort of third party library that keeps a connection open? Last week, @garrypolley reported something like this when using Prisma: https://github.com/netlify/next-on-netlify/issues/55#issuecomment-709698860
Otherwise, happy to have a look at your code and/or see if we can reproduce this issue somewhere.

Is it possible that you use some sort of third party library that keeps a connection open?
Possibly! Will dig a bit deeper 🙂

Okay, sounds good! Quick test would be to add a super simple page without any imports and seeing if that works.
Something along the lines of this:
// pages/mypage.js

const MyPage = () =>
Hello World

export default getStaticProps() {
  return {
    props: {},
    revalidate: 1
  }
}

I am trying to get this working for a project and am finding that the pages are always hitting the function and are not being cached at the CDN. Is that the behaviour you are finding?

That’s the expected behavior. It currently basically works the same as SSR
pages.
Op do 3 dec. 2020 om 13:06 schreef Dave Taylor<EMAIL_ADDRESS>
I am trying to get this working for a project and am finding that the
pages are always hitting the function and are not being cached at the CDN.
Is that the behaviour you are finding?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/netlify/next-on-netlify/issues/35#issuecomment-737900953,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBEECRB3SKGKC6VBPQ546TSS55MLANCNFSM4QQSDNRA
.

@joostmeijles  If I'm understanding this correctly, ISR is now actually just SSR under the hood when hosted on Netlify.
I think it begs the question then, why would I choose to use ISR then?
Would it not just be simpler to use SSR?
I would love to know the technical details here and how Netlify is working under the hood.

@joostmeijles  If I'm understanding this correctly, ISR is now actually just SSR under the hood when hosted on Netlify.
I think it begs the question then, why would I choose to use ISR then?
Would it not just be simpler to use SSR?
I would love to know the technical details here and how Netlify is working under the hood.

@joostmeijles If I'm understanding this correctly, ISR is now actually just SSR under the hood when hosted on Netlify.
I think it begs the question then, why would I choose to use ISR?
Would it not just be simpler to use SSR?
I would love to know the technical details here, what it means for end-user performance and how Netlify is working under the hood.

As far as I know Netlify does currently not support stale-while-revalidate. Without this feature it is not possible to implement ISR (and thus SSR is used). SSR basically is a blocking call, and the end user waits for the result to be calculated, while true ISR calculates the result in the background and returns the previous result to the user.

@joostmeijles If I'm understanding this correctly, ISR is now actually just SSR under the hood when hosted on Netlify.
I think it begs the question then, why would I choose to use ISR?
Would it not just be simpler to use SSR?
I would love to know the technical details here, what it means for end-user performance and how Netlify is working under the hood.

As far as I know Netlify does currently not support stale-while-revalidate. Without this feature it is not possible to implement ISR (and thus SSR is used). SSR basically is a blocking call, and the end user waits for the result to be calculated, while true ISR calculates the result in the background and returns the previous result to the user.

Thanks @joostmeijles! That makes sense.
Current Netlify-ISR state:
So it sounds like Netlify-ISR is also then still a blocking call then?
Still curious why then would you want to support both if you could alternatively just forward developers on to using SSR?
Intended/Normal ISR State
A co-worker and I are really trying to wrap our head around the intended mechanics of ISR and how its supposed to actually work? (Say, assuming someone deploys to Vercel)
How does the browser, the cache, and the function work together to updated the users stale page? Is it long-polling or something? Or is it only each subsequent request that gets the fresh update?
For instance,

Thanks @joostmeijles! That makes sense.
Current Netlify-ISR state:
So it sounds like Netlify-ISR is also then still a blocking call then?
Still curious why then would you want to support both if you could alternatively just forward developers on to using SSR?
Intended/Normal ISR State
A co-worker and I are really trying to wrap our head around the intended mechanics of ISR and how its supposed to actually work? (Say, assuming someone deploys to Vercel)
How does the browser, the cache, and the function work together to updated the users stale page? Is it long-polling or something? Or is it only each subsequent request that gets the fresh update?
For instance,

@iDVB hey! what @joostmeijles said is correct - netlify does not currently support SWR (stale-while-revalidate). so yes, currently, ISR on netlify is a blocking call.

Still curious why then would you want to support both if you could alternatively just forward developers on to using SSR?

the current behavior is temporay. we want to and are aiming to support ISG/ISR in the way that @joostmeijles describes ("true ISR calculates the result in the background and returns the previous result to the user") - or as close to this behavior as possible without compromising our caching and jamstack philosophies.
re: wrapping your heads around the intended mechanics, i highly recommend watching a few minutes of ryan florence's explanation in this video (timestamped!): https://youtu.be/bfLFHp7Sbkg?t=907
to answer your question though, yes, each subsequent request gets the fresh update
hope that helps!!! :)

@iDVB hey! what @joostmeijles said is correct - netlify does not currently support SWR (stale-while-revalidate). so yes, currently, ISR on netlify is a blocking call.

Still curious why then would you want to support both if you could alternatively just forward developers on to using SSR?

the current behavior is temporay. we want to and are aiming to support ISG/ISR in the way that @joostmeijles describes ("true ISR calculates the result in the background and returns the previous result to the user") - or as close to this behavior as possible without compromising our caching and jamstack philosophies.
re: wrapping your heads around the intended mechanics, i highly recommend watching a few minutes of ryan florence's explanation in this video (timestamped!): https://youtu.be/bfLFHp7Sbkg?t=907
to answer your question though, yes, each subsequent request gets the fresh update
hope that helps!!! :)


rename LICENSE to LICENSES at root.

rename LICENSE directory to LICENSES.
(LICENSE file will be created later.)

Folder name NOTICE should be changed in docs/users.html, which appears twice.


Fix Network Debugging compatibility with Alamofire

Current implementation of swizzled dataTaskWithRequest:completionHandler: (and similar methods from +[FLEXNetworkObserver injectIntoNSURLSessionAsyncDataAndDownloadTaskMethods]) does not take into consideration case, when sender provides nil completion block (or calls-dataTaskWithRequest:).
It just wraps completion block (even if it is nil) and passes to original implementation, preventing firing of events delegation. From NSURLSessionDataDelegate documentation:

Completion handler block are primarily intended as an alternative to using a custom delegate. If you create a task using a method that takes a completion handler block, the delegate methods for response and data delivery are not called.

As a result, enabled Network Debugging causes ignoring of Alamofires completion blocks as its event handling mechanism relies on NSURLSessions delegation.
My fix simply calls original dataTaskWithRequest:completionHandler: method implementation in case if nil completion block was provided:
Classes/Network/PonyDebugger/FLEXNetworkObserver.m
 @@ -479,7 +479,10 @@ + (void)injectIntoNSURLSessionAsyncDataAndDownloadTaskMethods

             NSURLSessionTask *(^asyncDataOrDownloadSwizzleBlock)(Class, id, NSURLSessionAsyncCompletion) = ^NSURLSessionTask *(Class slf, id argument, NSURLSessionAsyncCompletion completion) {
                 NSURLSessionTask *task = nil;
-                if ([FLEXNetworkObserver isEnabled]) {
+                // If completion block was not provided sender expect to receive delegated methods or does not
+                // interested in callback at all. In this case we should just call original method implementation
+                // with nil completion block.
+                if ([FLEXNetworkObserver isEnabled] && completion) {
                     NSString *requestID = [self nextRequestID];
                     NSString *mechanism = [self mechansimFromClassMethod:selector onClass:class];
                     NSURLSessionAsyncCompletion completionWrapper = [self asyncCompletionWrapperForRequestID:requestID mechanism:mechanism completion:completion];
                     task = ((id(*)(id, SEL, id, id))objc_msgSend)(slf, swizzledSelector, argument, completionWrapper);
                     [self setRequestID:requestID forConnectionOrTask:task];
                 } else {
                     task = ((id(*)(id, SEL, id, id))objc_msgSend)(slf, swizzledSelector, argument, completion);
                 }
                 return task;
             };

Very interesting about the NSURLSession behavior. I had no idea. The fix looks good.
PonyDebugger has taken a different approach to sniffing traffic from NSURLSession which I'm liking better: https://github.com/square/PonyDebugger/pull/151
At some point I think we should look at moving to use that approach. The main downside I see is that it won't work on iOS 7.
Thanks for the PR! Merging.

I've thought about reducing amount of swizzling code too. I have another idea. I think it is possible to swizzle only getter/setter methods of delegate property (both NSURLConnection and NSURLSession) and create proxy object (delegate) that will both log info and forward invocation to original delegate. We can reduce number of inject methods in such way.
Another approach could be to use NSURLProtocol mechanism to hook into iOS URL Loading System. Biggest problem of this method that there is no known (to me) way to extend Apples private  _NSHTTPURLProtocol. I am continue researching this topic.

😭😭😢

Doing so in some specific circumstances or will collapse，block need copy.This will not rush to collapse。
fix:
as follows


Remove version: 8x8.VirtualOfficeDesktop version <IP_ADDRESS>

Consolidating into 8x8.Work. Related to: #135119
Microsoft Reviewers: Open in CodeFlow

URL: https://vod-updates.8x8.com/ga/work-64-msi-v7.23.3-4.msi
Status Code: 200
(Automated message - build 656)


cannot read property createServer of undefined

Linux
Node.js

'use strict';

const uws = require('uws');

const document = Buffer.from('Hello world!');

const server = uws.http.createServer((req, res) => {
    // handle some POST data
    if (req.method === 'POST') {
        var postString = '';
        req.on('data', (arrayBuffer) => {
            postString += Buffer.from(arrayBuffer).toString();
        }).on('end', () => {
            res.end('You posted me this: ' + postString);
        });
    // handle some GET url
    } else if (req.url === '/') {
        res.end(document);
    } else {
        res.end('Unknown request by: ' + req.headers['user-agent']);
    }
});

const wss = new uws.Server({server: server});

wss.on('connection', (ws) => {
    ws.send('Welcome to the 10s!');
});

server.listen(3000);

Console Out put

gpz@gpz-K54C:/mnt/dev/NodeJS/server$ node index.js
/mnt/dev/NodeJS/server/index.js:7
const server = uws.http.createServer((req, res) => {
                       ^

TypeError: Cannot read property 'createServer' of undefined
    at Object.<anonymous> (/mnt/dev/NodeJS/server/index.js:7:24)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

NPM hold v0.12.0 and the http support is in v0.13.0 which is not released yet.

The below will work on v 0.12.0 - it's quite easy to get hold of the uws http server object and use it for e.g. your route handling. Not nearly as pretty as we'll have in  0.13.0 but an acceptable stop-gap.
'use strict'
const Server = require('uws').Server
const wss = new Server({ port: 3000 })
wss.httpServer.listeners('request').forEach(function(listener) {      wss.httpServer.removeListener('request', listener) })
wss.httpServer.on('request', function(req, res){    if('/' == req.url){      //your route handling code here   } })

That is not http from uws, it is the regular old Node.js http server. This is obvious if you benchmark it. Http is in 0.13, not in 0.12

Aha. Yes, I shd have pointed that out. It's even more obvious from the source :-) )

@alexhultman I don't understand what you are saying, i found this example on nodejs folder of this repository, so i think it would work, is there any way i can get this uws.http.createServer working ?(of course with high performance)
I tried to build from source using make  command, and that too gave me error, i've opened another issue for that.
I'm really excited to try this please help


feat: cascade ion-segment mode to ion-segment-button children

Feature Request
Ionic version:
[x] 4.x
Describe the Feature Request
I think it would be cool to cascade the mode attribute from an ion-segment to its ion-segment-button children
Right now, if I want to use only the md style, on iOS I have to explicitly specify the mode not only on the parent segment but also on all children
For example:
<ion-segment [(ngModel)]="category" mode="md"> <!-- Render style class MD on iOS -->
  <ion-segment-button value="segment_1" checked> <!-- Render style class  iOS on iOS -->
     Segment 1
   </ion-segment-button>
   <ion-segment-button value="segment_2"> <!-- Render style class iOS on iOS -->
     Segment 2
   </ion-segment-button>
</ion-segment>

To apply md everywhere I have currently to do the following:
<ion-segment [(ngModel)]="category" mode="md"> <!-- Render style class MD on iOS -->
  <ion-segment-button ... mode="md"> <!-- Render style class  md on iOS -->
     Segment 1
   </ion-segment-button>
   <ion-segment-button ...  mode="md"> <!-- Render style class md on iOS -->
     Segment 2
   </ion-segment-button>
</ion-segment>

Thanks for the issue! At the moment we cannot fix this in a simple way. We tried doing this once before and ran into several issues which is why they were split to begin with. You can take a look at how toolbar title is implemented to use the toolbar mode to see what I mean:

https://github.com/ionic-team/ionic/blob/master/core/src/components/title/title.tsx#L24-L35
https://github.com/ionic-team/ionic/blob/master/core/src/components/title/title.scss#L22-L48

Segment is way more complicated than this though so there were a ton of issues with passing the styles around.
However, with Stencil 1 (which was just released into beta) we may be able to accomplish this. I'll leave this open to investigate after we update to it!

Thx for the feedback @brandyscarney, sure no worries, it's a nice to have

This will be fixed by the following PR: https://github.com/ionic-team/ionic/pull/19369
It will also work for other components such as ion-toolbar passing down to title, buttons, segment, etc.

@brandyscarney sweet, thx for having a look at this 👍

I'm going to close this since the PR has been merged, we'll have an RC out with this in it soon 🙂

Cool, thx!


Can't get the right logical plan after optimizer

Describe the bug
After the type coercion moved to logical optimizer.
The order of  optimizer rule is the filter_push_down is before the TypeCoercion, but we can't get the right logical plan
For example
❯ \d test
+---------------+--------------+------------+-------------+-----------------------------+-------------+
| table_catalog | table_schema | table_name | column_name | data_type                   | is_nullable |
+---------------+--------------+------------+-------------+-----------------------------+-------------+
| datafusion    | public       | test       | 0           | Timestamp(Nanosecond, None) | YES         |
| datafusion    | public       | test       | 1           | Date32                      | YES         |
| datafusion    | public       | test       | 2           | Int64                       | YES         |
| datafusion    | public       | test       | 3           | Int64                       | YES         |
| datafusion    | public       | test       | 7           | Decimal128(9, 0)            | YES         |
| datafusion    | public       | test       | 8           | Float32                     | YES         |
| datafusion    | public       | test       | 11          | Utf8                        | YES         |
| datafusion    | public       | test       | 16          | Utf8                        | YES         |
| datafusion    | public       | test       | 100000      | Int64                       | YES         |
| datafusion    | public       | test       | 100001      | Int64                       | YES         |
| datafusion    | public       | test       | 100002      | Int64                       | YES         |
+---------------+--------------+------------+-------------+-----------------------------+-------------+

❯ explain select "1" from test where "8" = 1;
+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type     | plan                                                                                |
+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| logical_plan  | Projection: #test.1                                                                                |
|               |   Filter: #test.8 = CAST(Int64(1) AS Float32)                                                                                |
|               |     TableScan: test projection=[1, 8], partial_filters=[#test.8 = Int64(1)]                                                                                |

❯ explain verbose select "1" from test where "8" = 1;
+-------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type                                             | plan                                                                                |
+-------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| initial_logical_plan                                  | Projection: #test.1                                                                                |
|                                                       |   Filter: #test.8 = Int64(1)                                                                                |
|                                                       |     TableScan: test                                                                                |
| logical_plan after simplify_expressions               | SAME TEXT AS ABOVE                                                                                |
| logical_plan after pre_cast_lit_in_comparison         | SAME TEXT AS ABOVE                                                                                |
| logical_plan after decorrelate_where_exists           | SAME TEXT AS ABOVE                                                                                |
| logical_plan after decorrelate_where_in               | SAME TEXT AS ABOVE                                                                                |
| logical_plan after scalar_subquery_to_join            | SAME TEXT AS ABOVE                                                                                |
| logical_plan after subquery_filter_to_join            | SAME TEXT AS ABOVE                                                                                |
| logical_plan after eliminate_filter                   | SAME TEXT AS ABOVE                                                                                |
| logical_plan after common_sub_expression_eliminate    | SAME TEXT AS ABOVE                                                                                |
| logical_plan after eliminate_limit                    | SAME TEXT AS ABOVE                                                                                |
| logical_plan after projection_push_down               | Projection: #test.1                                                                                |
|                                                       |   Filter: #test.8 = Int64(1)                                                                                |
|                                                       |     TableScan: test projection=[1, 8]                                                                                |
| logical_plan after rewrite_disjunctive_predicate      | SAME TEXT AS ABOVE                                                                                |
| logical_plan after reduce_outer_join                  | SAME TEXT AS ABOVE                                                                                |
| logical_plan after filter_push_down                   | Projection: #test.1                                                                                |
|                                                       |   Filter: #test.8 = Int64(1)                                                                                |
|                                                       |     TableScan: test projection=[1, 8], partial_filters=[#test.8 = Int64(1)]                                                                                |
| logical_plan after TypeCoercion                       | Projection: #test.1                                                                                |
|                                                       |   Filter: #test.8 = CAST(Int64(1) AS Float32)                                                                                |
|                                                       |     TableScan: test projection=[1, 8], partial_filters=[#test.8 = Int64(1)]

The partial_filters was not casted to the right type, it will break the pruning for the parquet.
Why we assign this order for the optimizer rule?
@andygrove
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Thanks, @liukun4515. I will look at this today or over the weekend

Why we assign this order for the optimizer rule?

        // we do type coercion after filter push down so that we don't push CAST filters to Parquet
        // until https://github.com/apache/arrow-datafusion/issues/3289 is resolved

related issue https://github.com/apache/arrow-datafusion/issues/3289

If there is no regression I agree this issue shouldn't hold up the release (we can fix it as part of the next release)

If there is no regression I agree this issue shouldn't hold up the release (we can fix it as part of the next release)

Because in the 11.0.0, the type coercion is in the physical phase, in the logical phase we don't do type coercion.
But after the migration type coercion from physical phase to logical phase, we will get a different expr between the filter op and table scan, partial_filters.

Instead of reordering the rules, I think type coercion should be applied to the partial_filters as well (any expression in the logical plan).

Instead of reordering the rules, I think type coercion should be applied to the partial_filters as well (any expression in the logical plan).

agree, but i have checked the partial_filters in the type coercion.
I'am also confused why the partial_filters was not affected when run the type coercion.

I find the code below:
    /// returns all expressions (non-recursively) in the current
    /// logical plan node. This does not include expressions in any
    /// children
    pub fn expressions(self: &LogicalPlan) -> Vec<Expr> {
        match self {
            LogicalPlan::Projection(Projection { expr, .. }) => expr.clone(),
            LogicalPlan::Values(Values { values, .. }) => {
                values.iter().flatten().cloned().collect()
            }
            LogicalPlan::Filter(Filter { predicate, .. }) => vec![predicate.clone()],
            LogicalPlan::Repartition(Repartition {
                partitioning_scheme,
                ..
            }) => match partitioning_scheme {
                Partitioning::Hash(expr, _) => expr.clone(),
                Partitioning::DistributeBy(expr) => expr.clone(),
                Partitioning::RoundRobinBatch(_) => vec![],
            },
            LogicalPlan::Window(Window { window_expr, .. }) => window_expr.clone(),
            LogicalPlan::Aggregate(Aggregate {
                group_expr,
                aggr_expr,
                ..
            }) => group_expr.iter().chain(aggr_expr.iter()).cloned().collect(),
            LogicalPlan::Join(Join { on, filter, .. }) => on
                .iter()
                .flat_map(|(l, r)| vec![Expr::Column(l.clone()), Expr::Column(r.clone())])
                .chain(
                    filter
                        .as_ref()
                        .map(|expr| vec![expr.clone()])
                        .unwrap_or_default(),
                )
                .collect(),
            LogicalPlan::Sort(Sort { expr, .. }) => expr.clone(),
            LogicalPlan::Extension(extension) => extension.node.expressions(),
            // plans without expressions
            LogicalPlan::TableScan { .. }

The filter expr is not belong to the table scan
@Dandandan

Seems that is a bug in expressions, I think it has to return the expressions in partial_filter

Seems that is a bug in expressions, I think it has to return the expressions in partial_filter

I can try it in follow-up pr. In this pr, I just change the position of the type coercion rule.


Send audio

Hello, how are you?
I'm new to programming and I only program in python, so it's easier for me to use postman.
Would it be possible to send audios, with my little knowledge?

Definitely, please read the API documentation


(FACT-3146) Updates Ubuntu runners to latest

GitHub is deprecating Ubuntu 18.04 runners on April 1, 2023. This commit switches all Ubuntu 18.04 used in GitHub Actions to ubuntu-latest (currently Ubuntu 20.04).

Closing then reopening to rekick CI.


Restore shuffling of the validation set

What does this PR do ?
This is a follow-up to https://github.com/NVIDIA/NeMo-Aligner/pull/112#discussion_r1506600054 to restore the shuffling of the validation set.
I implemented two versions and would appreciate feedback from @gshennvm / @gleibovich-nvidia / @trias702 on what you all prefer:

v1 (first commit 2b245502) is the more "minimal" version
v2 (second commit 1c02cdd6) enforces setting consumed_samples in the trainer manually

Personally I have a slight preference for v2 because I prefer explicit to implicit -- the implicit update of consumed_samples in the sampler can be dangerous (as we've experienced), and also leads to a weird behavior where the len() of the sampler decreases as we iterate over it (which is quite unusual for objects we typically iterate on). I realize however that this adds an extra line to the trainers and diverges from what happens within NeMo, so I'm ok with v1 as well if I'm in the minority here.
I will also add the sister PR to NeMo but I want to get some feedback first to decide on the final implementation.
(currently marked as draft until we agree and I properly test this, but please do provide feedback now)

thanks for the change. I looked over it and am ok with going with 2.
One thing that is nice is that now only our trainer is abstractly stateful, the data sampler is no longer keeping any state

Thanks @odelalleau!
I actually prefer v1, as I find this version clearer and more explicit in terms of the difference between val/train dataloader use-cases. It explicitly defines an extra parameter to the dataloader instantiation here.
For instance, for me, when I first worked with PPO with Aligner, I was surprised to see the same single batch being used for validation again and again as it turned out from the wandb experiment. Observing the explicit difference in the dataloaders parameters would be clearer in this sense, for a new user. With v2, I think  it would be harder for a new user going through the code to grasp what's going on between train and val use-cases.
I am fine with v2 as well, though maybe in this case, to make it clearer, we should document the val_dataloader irregular usage (with regard to creating a new iterator every validation run) around the dataloader instantiation or in the run_validation method?

thanks for the change. I looked over it and am ok with going with 2.
One thing that is nice is that now only our trainer is abstractly stateful, the data sampler is no longer keeping any state

Only for the validation sampler, the training sampler is still stateful, unless I'm misunderstanding something?

I have a slight personal preference for v1 as it results in less code to maintain, and removes an extra API-binding-contract which an algo writer must obey in terms of providing the update directly to the dataloader/sampler, which is a bit of an odd dynamic.
That being said, the comp sci professor in me prefers the explicit safety of v2, and notes that it is the philosophically more correct of the two.
So honestly, hard to say, I would be happy with either approach. I note that we have 1 vote for v1, 1 vote for v2, and Olivier prefers v2, so to not create a deadlock, count me in for v2 as well.

thanks for the change. I looked over it and am ok with going with 2.
One thing that is nice is that now only our trainer is abstractly stateful, the data sampler is no longer keeping any state

Only for the validation sampler, the training sampler is still stateful, unless I'm misunderstanding something?

https://github.com/NVIDIA/NeMo-Aligner/pull/123/files#diff-37bc718ace18b8050161b5dd54c54ac6fd8e58c874db0b3ca4a8649bef80095bR212
It is stateful but the trainer now overwrites the statefulness, so our trainer state determines everything.


godot.Input.MOUSE_MODE_CONFINED is undefined (probably all enum members)

given the following code:
export default class A extends godot.Node2D {
  _ready() {
    console.log(godot.Input.MOUSE_MODE_CONFINED) // logs undefined
    console.log(godot.Input.MouseMode) // logs undefined
    godot.Input.set_mouse_mode(godot.Input.MOUSE_MODE_CONFINED)
  }
}

you can see that both the enum which typescript expects, as wells as the enum constants on the godot.Input class itself are undefined. The equivalent gdscript works:
extends Node
class_name A

func _ready():
  print(Input.MOUSE_MODE_CONFINED)  // prints 3
  Input.set_mouse_mode(Input.MOUSE_MODE_CONFINED)

Here is a project containing the scripts:
ecmascript-mouse-mode-confined.zip
If the enum is not intended to be supported by the JS runtime, just typescript types, I would recommend making it a typescript const enum which would be replaced by 3 at typescript compile time so the JS runtime only needs to be aware of godot.Input.MOUSE_MODE_* not both that and  godot.Input.MouseMode.MOUSE_MODE_*

Thanks for your report again !


Need improve the error output when user type incorrect type.

Check following example:
class Foo
  property x = [] of String | Integer
end

foo = Foo.new

will get error like this:
Showing last frame. Use --error-trace for full trace.

There was a problem expanding macro 'property'

Code in 2.cr:2:3

 2 | property x = [] of String | Integer
     ^
Called macro defined in macro 'macro_140331473620992'

 630 | macro property(*names, &block)

Which expanded to:

 > 2 |
 > 3 |
 > 4 |             @x = [] of String | Integer
                   ^-
Error: can't infer the type of instance variable '@x' of Foo

Could you add a type annotation like this

    class Foo
      @x : Type
    end

replacing `Type` with the expected type of `@x`?

the expected behavior:
It should point out user typing wrong type, like this:
 > 2 |
 > 3 |
 > 4 |             @x = [] of String | Integer
                                       ^-
Error: undefined constant Integer

The same issue happen on other cases, e.g.
class Myip
  getter chan = Channel(Integer).new
end

myip = Myip.new

 ╰─ $ 1  crystal version
Crystal 1.8.2 [7aa5cdd86] (2023-05-09)

LLVM: 15.0.7
Default target: x86_64-pc-linux-gnu

Duplicate of #6727


Stop loss and take profit

Can i set take profit and stop loss to my orders?
is there any way?

Only way on KC that I know of would be to code your own OCO (one cancels other) which would require some routine ticker polling of the server to check price and then automatically post the single order according to either hi / low conditions. Binance has this built in from what I recall but KC is just better for some of us.

Sure, please check the document at https://www.kucoin.com/docs/rest/spot-trading/stop-order/place-order
For the API, please use create_limit_stop_order or create_market_stop_order and refer to the documentation to fill in the correct parameters.
If you need any further assistance, feel free to ask!


Unclear when I should be substituting template parameters

I've got the feeling that very few people use the option of creating project or item templates from Visual Studio. It is a pity because we could really use project templates where I work.
We have one main project writen about five years ago, currently in TFS 2015. From that project we've branched it into empty folders in other projects, thus creating new projects based upon that original project. The weird thing is we perform the branch with no intention of ever merging that branch back into the original TFS project. We've done this at least a half times that I can remember. Now we're considering other options for source control, involving Git. I don't want us to repeat the new project creation practice we've done in the past of branching into some other project, with no intention of ever merging them back again. And from what I understand of Git, it isn't going to work anyway.
So, this brings up the problem I have now. I don't know at what point I should try to introduce the template parameters this Microsoft Doc page talks about. Do I try to do it before I issue the Export Template Wizard, or afterwards? And if afterwards, do I unzip all necessary files, make the necessary changes to the file, then put them back into the .zip file?

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

ID: 7ffd68f8-8ba6-f868-648c-2a2b6e8899b4
Version Independent ID: 52b9100f-d71c-7e9c-303f-76d1eafcfa20
Content: Add name parameters to project and item templates - Visual Studio
Content Source: docs/ide/how-to-substitute-parameters-in-a-template.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @TerryGLee
Microsoft Alias: tglee

@Rod-in-NM -- Rod, thank you for your feedback and questions.  Please consider these resources:

Visual Studio on Q&A
Visual Studio MSDN Forum
Stack Overflow
Reddit

@TerryGLee -- Terry, please look into this potential documentation issue.

Thank you @WilliamAntonRohm


Temporarily require julia <= 1.7.1

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

requirements: host: julia <= 1.7.1 should not contain a space between relational operator and the version, i.e. julia <=1.7.1
requirements: run: julia <= 1.7.1 should not contain a space between relational operator and the version, i.e. julia <=1.7.1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Build failures

Can you publish a list of dependencies needed and linux version needed for the build environment. I seem to be in some dependency hell for all device types. rpi4_64-gui errors on gles qt5 error. on Ubuntu 20.04.1 LTS for what its worth.
make rpi4_64 results in:
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Copying files into the device: __populate_fs: Could not allocate block in ext2 filesystem while writing file "vlc.mo"
mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system
*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)
make[2]: *** [fs/ext2/ext2.mk:63: /home/osboxes/source/MycroftOS/buildroot/output/images/rootfs.ext2] Error 1
make[1]: *** [Makefile:84: _all] Error 2
make[1]: Leaving directory '/home/osboxes/source/MycroftOS/buildroot'
cp -f buildroot/output/images/sdcard.img release/OpenVoiceOS_rpi4_64.img
cp: cannot stat 'buildroot/output/images/sdcard.img': No such file or directory
make rpi4_64-gui results in:
CMake Error at src/declarativeimports/core/CMakeLists.txt:29 (add_library):
Target "corebindingsplugin" links to target "Qt5::Gui_GLESv2" but the
target was not found.  Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
I feel like I am very close to success here. Thank you for any help.

First things first: Forget about "rpi4_64" as that config is old and will be deleted. Most disk size of the image comes from all the Python packages, so there is not much difference image size wise between the GUI and non-GUI version. Therefor we decided to disregard the non-GUI configuration going forward. So...
You are indeed very close and what you see is not your fault.
At the moment there is exactly the bug that you described for us to fix, where buildroot does not properly detect the GLESv2 libs. However this is a fix for Buildroot itself, and I have not yet learned how to fix it. It is on the list to be fixed straight after the upcoming release so we can start looking at CI/CD systems.
Anyhow;
Build the "rpi4_64-gui" version till it errors out with about GLESv2 lib.
Now edit the following file;
buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
At the bottom of the file you will find this line;
_qt5gui_find_extra_libs(OPENGL "GLES" "" "")
Change it to;
_qt5gui_find_extra_libs(OPENGL "**/home/peter/Development/OpenVoiceOS**/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libGLESv2.so" "" "**/home/peter/Development/OpenVoiceOS**/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/libdrm")
Of course make sure you change "the above /home/peter/Development/OpenVoiceOS to your own path.
You can then continue the build proces with just rerunning the make rpi4_64-gui

First things first: Forget about "rpi4_64" as that config is old and will be deleted. Most disk size of the image comes from all the Python packages, so there is not much difference image size wise between the GUI and non-GUI version. Therefor we decided to disregard the non-GUI configuration going forward. So...
You are indeed very close and what you see is not your fault.
At the moment there is exactly the bug that you described for us to fix, where buildroot does not properly detect the GLESv2 libs. However this is a fix for Buildroot itself, and I have not yet learned how to fix it. It is on the list to be fixed straight after the upcoming release so we can start looking at CI/CD systems.
Anyhow;
Build the "rpi4_64-gui" version till it errors out with about GLESv2 lib.
Now edit the following file;
buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
At the bottom of the file you will find this line;
_qt5gui_find_extra_libs(OPENGL "GLES" "" "")
Change it to;
_qt5gui_find_extra_libs(OPENGL "**/home/peter/Development/OpenVoiceOS**/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libGLESv2.so" "" "**/home/peter/Development/OpenVoiceOS**/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/libdrm")
Of course make sure you change "the above /home/peter/Development/OpenVoiceOS to your own path.
You can then continue the build proces with just rerunning the make rpi4_64-gui

Success! Build running on Raspi4. Thank you. Should I point to your github as a custom skill repo?

Success! Build running on Raspi4. Thank you. Should I point to your github as a custom skill repo?

Perfect. We are in the middle of some changes for sound and expanding the sdcard partition. So if any og those bite you, you might be beter off going e few commits back.

Perfect. We are in the middle of some changes for sound and expanding the sdcard partition. So if any og those bite you, you might be beter off going e few commits back.


It is no longer possible to insert a second identical unsigned attribute into a CMS/CAdES signature

Hi All,
I'm using OpenSSL 3.0.11 (previously 3.0.8).
Since this change https://github.com/openssl/openssl/pull/21505, it is no longer possible to insert a second identical unsigned attribute into a CMS/CAdES signature (like many archiveTimestamp attributes for example).
The problem lies in the CMS_unsigned_add1_attr_by_NID function, which relies on X509at_add1_attr_by_NID.
Thanks.

OTC: Should we revert #21505 ?

OTC: We should not revert #21505 but this needs to be investigated and possibly a different fix is needed.


Perplexity is off for Llama 2-7b

Hello,
I hope this finds you well.
I was trying to prune Llama 2-7b with wanda (cloned directly from your codebase), so I ran the following command:
python main.py  --model meta-llama/Llama-2-7b-hf  --prune_method wanda  --sparsity_ratio 0.5  --sparsity_type unstructured  --save out/llama2_7b/unstructured/wanda/
but I get a perplexity of 10.27 which is way higher than what you guys are reporting. It is being pruned with c4 and tested on wikitext2 (I changed nothing in the codebase). Do you guys maybe have a guess on what I might be doing wrong?
TIA

Hi, Could you check if the performance of dense LLaMA2-7b match our number in the paper as well?

Hi,
Thanks for your prompt response.
Yes, the dense is off too. I'm getting 7.72 for LLaMA2-7b and you guys are reporting 5.12.
Can you maybe clone your repository again yourself and see if you can reproduce the results?

I'm running with context size 4096 as well (nsampels = 333). This is so weird. What version of datasets and transformers are you using?


Readme fix

📺 What
Updated README, improved code correctness.
🛠 How
First of all, I wrapped the MediaStates in README.md with backticks for good measure because the media states are code, thus they should be formatted properly as code as well, adding backticks makes it look more accurate, meaningful, and purposeful. Also added commas in objects as this is a syntax requirement.

Thanks, hope this helps, at least in those very little details!

Done.

Another tiny observation @RelentlessExploration, which you can choose to ignore if you'd like, a bit further down there's the 'Creating a plugin' section which lists some interface functions. These could also be surrounded by backticks if you wanted 😄

I hope this is what you are referring to:

🚀


[Spark Dataset runner] Skip unconsumed additional outputs of ParDo.MultiOutput to avoid caching if not necessary

If there's multiple tupled outputs in a ParDo.MultiOutput, it's necessary to cache the result to not trigger the evaluation multiple times once the dataset is split into separate datasets per output TupleTag (and these datasets are eventually lazily evaluated).
However, in some cases these outputs might just be ignored. Using the pipeline graph we can know that during translation time, allowing us to skip unused outputs. This can free us from having to cache the result of ParDo.Multioutput and then splitting it into respective datasets.
The main output is always kept as it's required to force the evaluation of the lazily evaluated datasets.
Closes #24710

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @aromanenko-dev
R: @echauchot

Run Spark StructuredStreaming ValidatesRunner

Run Spark StructuredStreaming ValidatesRunner


Added release notes for 1.3.5 and 2.2.1

Signed-off-by: vamsi-amazon<EMAIL_ADDRESS>

Codecov Report

Merging #443 (7fde6a9) into main (2e2fec3) will increase coverage by 2.89%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #443      +/-   ##
============================================
+ Coverage     74.27%   77.17%   +2.89%
============================================
  Files            94       30      -64
  Lines          3984     1923    -2061
  Branches        641      412     -229
============================================
- Hits           2959     1484    -1475
+ Misses          891      436     -455
+ Partials        134        3     -131

Flag
Coverage Δ

dashboards-reports
77.17% <ø> (+0.31%)
:arrow_up:

reports-scheduler
?

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

Impacted Files
Coverage Δ

...portsscheduler/model/GetReportDefinitionRequest.kt

...ortsscheduler/model/ReportInstanceSearchResults.kt

...sscheduler/action/GetAllReportDefinitionsAction.kt

...tsscheduler/model/GetAllReportInstancesResponse.kt

...search/reportsscheduler/model/ReportInstanceDoc.kt

...uler/resthandler/RestResponseToXContentListener.kt

...scheduler/resthandler/ReportInstanceRestHandler.kt

...rtsscheduler/action/GetAllReportInstancesAction.kt

...reportsscheduler/model/GetReportInstanceRequest.kt

...sscheduler/model/GetAllReportDefinitionsRequest.kt

... and 55 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Adjust filename of activation pdf to card owner name

Is your feature request related to a problem? Please describe.
If many maps are created at once, this leads to confusion after the download. The reason: All files have the same name or are only numbered up by -1 -2 -3 -4.
They are then renamed manually by the clerks.
Describe the solution you'd like
The file name of the PDF file should contain the name of the authorized person/applicant when downloading. The name of the PDF should contain the current year and the name. Example:
2024-Max Mustermann.pdf
If several maps are downloaded (mass import), everything remains as usual.

duplicate of #1678

close as completed in this PR: https://github.com/digitalfabrik/entitlementcard/pull/1778