Removing clang from the Cilium agent image ('clang-free')

This issue is for tracking work on removing the LLVM compilation toolchain from the Cilium agent runtime image and shipping prebuilt eBPF ELFs embedded in the agent binary. In short, this will provide a more natural developer experience (if (feature_foo) { ... } instead of #ifdef FEATURE_FOO), avoids high CPU consumption due to datapath (re)compilations during upgrades and reconfigs, allows for using real datapath ELFs in tests, and is a massive step in general towards shipping a distroless container image, the benefits of which won't be outlined here.

[ ] Replace #ifdefs in BPF C code with variables populated at load time (https://github.com/cilium/cilium/issues/27320)
[ ] Remove the ELF cache (https://github.com/cilium/cilium/issues/25004)
[ ] Datapath configuration plane for wiring values into ELFs before loading. #ifdefs currently written to node_config.h can be converted to a special feature flag variable. All flags need an equivalent field in a Go struct that can be passed to the loader. This could be autogenerated based on BTF, after building the ELF, but before building the agent.
[ ] Remove or change __declare_tailcall_if_*, as it makes a compile-time decision to either inline or emit as a tail call. We need to investigate why specifically this was  introduced and if it's still a necessary optimization.
[ ] ...

Will this issue solve
https://github.com/cilium/cilium/issues/21907 and https://github.com/cilium/cilium/pull/27829?

@aanm No. :sweat_smile: We'll always need clang, the goal is to build the datapath when building Cilium and not having to recompile it after.


IP management enhancement with using either static or DHCP

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Steps to reproduce (least amount of steps as possible):

adding a second NIC on the create VM page
config the network settings on the advanced section with either using DHCP or static IP e.g. when using the Ubuntu cloud-init image:

version: 1
config:
  - type: physical
    name: enp1s0
    subnets:
      - type: dhcp
  - type: physical
    name: enp2s0
    subnets:
      - type: static
        address: <IP_ADDRESS>/24
        gateway: <IP_ADDRESS>

either the static or DHCP IP can't be retrieved directly from the UI since it is not stored in any places and the user has to check it manually through the server console.

Result:

should help to retrieve the second NIC network IPs and save them to the annotations field, therefore the user can access it directly without login into the server console.

Validated


Update GE plugin to 3.11.1

Update Gradle Enterprise Gradle plugin to 3.11

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Thanks @wolfs, if this unblocks you, let's merge it.  We'll follow up with #13955

@bot-gradle test and merge

No milestone for this PR. Please set a milestone and retry.

Pre-tested commit build failed.

@bot-gradle test and merge

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

Pre-tested commit build failed.

@bot-gradle test and merge

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

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


Enable spellcheck

See

Out of Refined GitHub scope. If you want spellcheck use a global extension or switch to a OS that has  😅

@bfred-it I think he just wants us to change the attribute spellcheck="false" to spellcheck.

Where exactly though? My spellcheck works in comments and commit messages. Needs to be more specific than "look here"


🚧 Support AssetRipper v<IP_ADDRESS>

Fixes #90
Blocked until https://github.com/AssetRipper/AssetRipper/issues/525 is solved.

Closed in favor of #93


CSV parser dynamic fields

Description of Changes
Added the ability to detect headers from an entry's labels in order to support a W3C plugin. This is intended to work in conjunction with File input label regex.

File input parses headers and adds them to an entry's labels
CSV reads the user defined label to determine which field names to use during CSV parsing

This works by reworking how the parse function is implemented. Switched to a first class function that is initially generated based on headers, and re-generated on every entry if header_label is set.
Updated test cases to:

Test dynamic field names
Test Build() failures
Test Process() failures

Please check that the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] Add a changelog entry (for non-trivial bug fixes / features)
[x] CI passes

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.5172398
+0.03443432
128.01051
+0.25364685

1
5000
5.2413397
+0.08608246
136.1887
-2.958252

1
10000
10.689671
+0.60338116
149.19249
+0.67430115

1
50000
49.36044
+1.9482651
173.14264
-2.720642

1
100000
100.48366
-6.050041
240.17618
-1.0517273

10
100
2.1380184
+0.08625555
134.87553
-1.5665436

10
500
6.155176
-0.1725769
140.06749
+2.5184631

10
1000
12.982623
-0.72458744
146.64682
+0.5818939

10
5000
54.091236
-6.116295
178.79526
-0.73046875

10
10000
103.57033
+0.4658203
214.41298
-5.3492737

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.3965747
-0.086230755
127.61045
-0.14641571

1
5000
5.0000715
-0.1551857
137.55388
-1.5930786

1
10000
10.586165
+0.49987602
145.8762
-2.641983

1
50000
49.310806
+1.898632
175.38806
-0.47521973

1
100000
106.36772
-0.16597748
239.67673
-1.551178

10
100
2.000059
-0.05170393
135.81775
-0.6243286

10
500
5.9655747
-0.36217833
140.36827
+2.8192444

10
1000
11.586253
-2.1209574
148.5101
+2.4451752

10
5000
54.72421
-5.483322
183.11476
+3.589035

10
10000
105.89894
+2.7944336
228.84146
+9.079208


pull request for e2e test at 12/07/2016 17:45:01

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[CI testing - do not merge] Native prebuilds

Codecov Report

Merging #383 (6268d9a) into main (c2483c8) will decrease coverage by 0.56%.
The diff coverage is 91.34%.

@@            Coverage Diff             @@
##             main     #383      +/-   ##
==========================================
- Coverage   93.63%   93.07%   -0.57%
==========================================
  Files           9       12       +3
  Lines         330      433     +103
  Branches       87      104      +17
==========================================
+ Hits          309      403      +94
- Misses         21       30       +9

Impacted Files
Coverage Δ

src/options.ts
98.09% <88.88%> (-0.88%)
:arrow_down:

src/metrics/index.ts
90.80% <90.80%> (ø)

src/instrument.ts
100.00% <100.00%> (ø)

src/metrics/memory.ts
100.00% <100.00%> (ø)

src/metrics/native/index.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Selenide runs slowly when setting Configuration.fileDownload = PROXY

The problem
In order to be able to download the file without the href attribute (https://github.com/codeborne/selenide/issues/196), I installed the configuration Configuration.fileDownload = PROXY. After that, I noticed significant performance degradation. For example, if you fill fields using $ (". selector") .setValue (" somevalue "), the program may stop for a few seconds, then tests continue, and there may be several such delays.
Tell us about your environment

Selenide Version:4.12.1
Chrome:67.0.3396.99
OS Version:window 7

@p-nikolaichik how can I help? I also use proxy in my work projects, and don't see any performance degradation. It's apparently your project specific.

Closing due to inactivity


invalid value "run" ?

just built an octohost and got this when pushing the default harp repo at it
remote: Adding http://harp.<IP_ADDRESS>.xip.io
remote: invalid value "run" for flag -H: Invalid bind address format: run
remote: See 'docker --help'.
remote: invalid value "inspect" for flag -H: Invalid bind address format: inspect
remote: See 'docker --help'.
remote: invalid value "inspect" for flag -H: Invalid bind address format: inspect
remote: See 'docker --help'.
remote: Usage: octo service:set {container} {ip_address} {port} {tags}
remote: Not killing any containers.

I might have messed something up, but wanted to see if anyone else saw anything similar?

If you take a look at the log in /var/log/octohost/octohost do you see the command it's trying to run?

Sounds like it's trying to launch a container and it doesn't have DOCKER_HOST in the /etc/default/octohost file:
https://github.com/octohost/octohost/blob/master/bin/default#L56

ya glad I asked here before I rebuilt again, I had an old version of that I was overwriting with that indeed did not have your latest changes.  All good now, I just finished testing, thanks for the quick and always helpful response @darron


feature: content functional tests

[x] The PR title is descriptive.
[x] The PR doesn't replicate another PR which is already open.
[x] The PR has self-explained commits history.

[x] The code is mine or it's from somewhere with an Apache-2.0 compatible license.
[x] The code is efficient, to the best of my ability, and does not waste computer resources.
[x] The code is stable and I have tested it myself, to the best of my abilities.
[x] If the code introduces new classes, methods, I provide a valid use case for all of them.

Changes:
Implement functional tests for the following RPC calls:

getcontent
getcontentsstatistic
getrandomcontents
getcontentactions
getevents
getactivities
getnotifications
getnotificationssummary

There are many changes in content_collections.py due to the execution of black linter, there are no any additions/deletions.


UpdateRecipientsOptions resendEnvelope not working

Is there an issue with the resendEnvelope property in the UpdateRecipientsOptions object.
I am calling the envelope API UpdateRecipients method with UpdateRecipientsOptions { resendEnvelope = "true" }.
Recipients that have correct emails are getting the resent envelope notifications.
Updating recipients with a status of auto responded to use a correct email are not being resent.
Seems to be only happening with the API call, seems to be working fine when I click resend in the DocuSign portal.
FYI, using a developer account. Version 5.9.0 NuGet package

Try this code instead:
options.resendEnvelope = "true";
Envelope envelope = new Envelope();
envelope.EnvelopeId = envelopeId;
envelopesApi.Update(accountId, envelopeId, envelope, options);

@InbarGazit Is it better practice to update the entire envelope and not just the list of recipients?

@InbarGazit If I call UpdateRecipients twice then the resend goes through.  It's behaving like the resend is happening before the updating of recipients happens, so the resend is still being sent to the old recipient data.

@InbarGazit

Try this code instead:
options.resendEnvelope = "true";
Envelope envelope = new Envelope();
envelope.EnvelopeId = envelopeId;
envelopesApi.Update(accountId, envelopeId, envelope, options);

I'm seeing the same result with the code you suggested.
When I initially send an envelope with a recipient that has an invalid email and Update the envelope recipients to contain a correct email the DocuSign portal show the updated recipient info but the Auto Responded error message is still showing.

Hi @Bgosse1, Could you please let us know if you are still facing the issue with the mentioned scenario? We would be happy to help you out.

Closing this issue due to no further response from customer.
Please feel free to reopen this issue or create a new one in case you feel the need.
Thank You.


IVSHMEM with ACRN not working

We are trying to use the IVSHMEM Device with following setting:
Hardware:
EHL A0 Board
Software:
Logical Partition Mode with Yocto
VM0:
Zephyr
VM1:
RT Linux
The xml scenario file regarding ivshmem looks like this:
<IVSHMEM desc="IVSHMEM configuration">
	    <IVSHMEM_ENABLED desc="Enable Share Memory between VMs by IVSHMEM.">y</IVSHMEM_ENABLED>
            <IVSHMEM_REGION desc="the name, size, colon separated IDs of communication VMs of share memory region, separated by comma like this: hv:/shm_region_0, 2, 0:2">hv:/shm_prl1_prl2, 2, 0:1</IVSHMEM_REGION>
            <IVSHMEM_REGION desc="the name, size, colon separated IDs of communication VMs of share memory region, separated by comma like this: hv:/shm_region_0, 2, 0:2">hv:/shm_prl2_prl1, 2, 0:1</IVSHMEM_REGION>
	    </IVSHMEM>

Zephyr prj.conf file:
CONFIG_PCIE=y
CONFIG_PCIE_MSI=y
CONFIG_PCIE_MSI_X=y
CONFIG_PCIE_MSI_MULTI_VECTOR=y
CONFIG_VIRTUALIZATION=y
CONFIG_IVSHMEM=y

Zephyr Kconf in drivers/virtualization:
# Virtualization drivers configuration options

# Copyright (c) 2015-2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig VIRTUALIZATION
	bool "Virtualization guests drivers"
	help
	  This contains various drivers meant to support and expose features
	  when Zephyr is running as a guest in a virtualized or emulated
	  environment.

if VIRTUALIZATION

config IVSHMEM
	bool "Inter-VM shared memory device (ivshmem)"
	depends on PCIE
	help
	  This will enable support of qemu's ivshmem device, which is also
	  present in ACRN hypervizor, and lets VM sharing memory with each
	  other.

if IVSHMEM

config IVSHMEM_DEV_NAME
       string
       default "IVSHMEM"

module = IVSHMEM
module-str = ivshmem
source "subsys/logging/Kconfig.template.log_config"

config IVSHMEM_DOORBELL
	bool "Support interrupt based ivshmem (doorbell version)"
	depends on PCIE_MSI_X && PCIE_MSI_MULTI_VECTOR
	help
	  This will enable support of ivshmem-doorbell, i.e. the interrupt
	  based ivshmem.

config IVSHMEM_MSI_X_VECTORS
	int "How many notification vectors should be pre-allocated?"
	default 2
	depends on IVSHMEM_DOORBELL
	help
	  MSI-X vector holders must be pre-allocated. One can pre-allocate
	  more or less than necessary. Depends on how many VMs will connect
	  with each other. These are know to be the notification vectors in
	  ivshmem.

config IVSHMEM_INT_PRIORITY
	int "Interrupt priority"
	default 2
	depends on IVSHMEM_DOORBELL
	help
	  Interrupt priority used for the MSI-X generated interrupts.

config IVSHMEM_SHELL
	bool "Enable IVshmem shell module"
	depends on SHELL
	help
	  This is mostly a module to help getting info the ivshmem and/or
	  quickly testing your ivshmem client application (from another VM).

endif # IVSHMEM

endif # VIRTUALIZATION

Zephyr user application c code:
#include <zephyr.h>
#include <drivers/virtualization/ivshmem.h>
#include <sys/printk.h>
#include <string.h>
#include <device.h>

int main()
{
	printk("IVSHMEM_TEST\n");
	struct device *ivshmem;
	printk("1\n");
	uintptr_t mem;
	printk("2\n");
	size_t size;
	printk("3\n");
	char message[] = "Hello from Zephyr!";
	printk("4\n");
	ivshmem = device_get_binding(CONFIG_IVSHMEM_DEV_NAME);
	printk("5\n");
	size = ivshmem_get_mem(ivshmem, &mem);
	printk("6\n");
	if (size < 0){
		printk("Could not get Shared Memory Adress %s\n", CONFIG_BOARD);
		return -1;
	}
	else{
		strcpy((char*)mem, message);
		printk("Memory written, Message: %s \n", message);
	}

	return 0;
}

When we run this application on qemu it works without problems, on acrn instead it gets stuck in
size = ivshmem_get_mem(ivshmem, &mem);
We are not quite sure how we must edit the xml or Kconfig files in ACRN or Zephyr.

With the following code we checked if the device is being found. Turns out Zephyr can not find the ivshmem device.
if (!ivshmem) {
printk("IVshmem device cannot be found");
return -1;
}

missed that issue. But #32020 is fixing it.

fixed by  #32020


Fixes configure usage

please run jet steps --tag=master

Regardless of whether the build works, this fixes the broken usage of configure. We should either strip out the broken jet implementation, and work through all of this in a branch, or be happy to merge this in without the deploy piece passing

ok I added debug output, which yields this on a run:
***WARNING*** linux detected, --no-remove is recommended to be set to docker bug with linux https://github.com/docker/docker/issues/9665
{StepStarted=step_name:"shipscope_bin/xvfb-grunt-test"}
{BuildImageStarted=image_name:"codeship/shipscope" service_name:"shipscope"}
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 0 : FROM node:4.0
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> c9baaf3a0792
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 1 : MAINTAINER Codeship<EMAIL_ADDRESS>{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> a57258adfb19
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 2 : RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - &&   echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> c57e3cc1b5fa
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 3 : RUN apt-get update && apt-get install -y   google-chrome-stable   unzip   xvfb
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> 2e9a8cee9456
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 4 : WORKDIR /app
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> 41fcadcd2cc1
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 5 : ADD package.json ./package.json
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> b9130aafdb7f
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 6 : RUN npm install
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> e26f447c88bf
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 7 : RUN npm install grunt --save-dev
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> 7d783692adf5
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Step 8 : ADD . ./
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> Using cache
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}:  ---> 568bfd807d4e
{BuildImageStdout=image_name:"codeship/shipscope" service_name:"shipscope"}: Successfully built 568bfd807d4e
{BuildImageFinished=image_name:"codeship/shipscope" service_name:"shipscope"}
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: /app
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: total 80
-rw-rw-r--  1 root root  1421 Sep 15 12:33 CODE_OF_CONDUCT.md
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: -rw-rw-r--  1 root root  1579 Sep 15 12:33 CONTRIBUTING.md
-rw-rw-r--  1 root root   200 Sep 16 17:51 Dockerfile.deploy
-rw-rw-r--  1 root root  1906 Sep 15 14:16 Gruntfile.js
-rw-rw-r--  1 root root 11324 Sep 15 12:33 LICENSE
-rw-rw-r--  1 root root  1775 Sep 15 12:33 README.md
drwxrwxr-x  7 root root  4096 Sep 15 12:33 app
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: -rw-rw-r--  1 root root   252 Sep 16 14:11 aws-deployment.env.encrypted
drwxrwxr-x  2 root root  4096 Sep 16 17:45 bin
-rw-rw-r--  1 root root   294 Sep 16 17:45 codeship-services.yml
-rw-rw-r--  1 root root   168 Sep 16 17:43 codeship-steps.yml
-rw-rw-r--  1 root root    45 Sep 16 14:11 codeship.aes
-rw-rw-r--  1 root root  2317 Sep 15 14:29 karma.conf.js
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: drwxrwxr-x  2 root root  4096 Sep 15 12:33 mockship
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: drwxr-xr-x 21 root root  4096 Sep 16 17:48 node_modules
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: -rw-rw-r--  1 root root   871 Sep 15 14:35 package.json
drwxrwxr-x  4 root root  4096 Sep 15 12:33 test
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: drwxrwxr-x  2 root root  4096 Sep 15 12:33 webstore
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: Running "clean:0" (clean) task
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: >> 0 paths cleaned.
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}:
Running "clean:1" (clean) task
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: >> 0 paths cleaned.
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: Running "clean:2" (clean) task
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: >> 0 paths cleaned.
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}:
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: Running "uglify:shipscope" (uglify) task
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: >> 2 sourcemaps created.
>> 2 files created.
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}:
Running "karma:unit" (karma) task
                                                                                Chrome 45.0.2454 (Linux 0.0.0): Executed 40 of 49 (skipped 9) SUCCESS (0.093 secs / 0.018 secs)
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}:
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: =============================== Coverage summary ===============================
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: Statements   : 51.33% ( 116/226 )
Branches     : 51.16% ( 44/86 )
Functions    : 51.47% ( 35/68 )
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}: Lines        : 51.8% ( 115/222 )
================================================================================
{ContainerRunStdout=step_name:"shipscope_bin/xvfb-grunt-test" service_name:"shipscope"}:
Done, without errors.
{StepFinished=step_name:"shipscope_bin/xvfb-grunt-test" type:STEP_FINISHED_TYPE_SUCCESS}
{StepStarted=step_name:"shipscope_bin/deploy"}
{BuildImageStarted=image_name:"codeship/shipscope" service_name:"shipscope"}
{BuildImageFinished=image_name:"codeship/shipscope" service_name:"shipscope"}
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: /checkout_volume
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: total 184
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000  1421 Sep 15 12:33 CODE_OF_CONDUCT.md
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000  1579 Sep 15 12:33 CONTRIBUTING.md
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   433 Sep 16 17:48 Dockerfile
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   200 Sep 16 17:51 Dockerfile.deploy
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000  1906 Sep 15 14:16 Gruntfile.js
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000 11324 Sep 15 12:33 LICENSE
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000  1775 Sep 15 12:33 README.md
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: drwxrwxr-x 7 1000 1000  4096 Sep 15 12:33 app
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   252 Sep 16 14:11 aws-deployment.env.encrypted
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: drwxrwxr-x 2 1000 1000  4096 Sep 16 17:45 bin
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   294 Sep 16 17:45 codeship-services.yml
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   168 Sep 16 17:43 codeship-steps.yml
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000    45 Sep 16 14:11 codeship.aes
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000  2317 Sep 15 14:29 karma.conf.js
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: drwxrwxr-x 2 1000 1000  4096 Sep 15 12:33 mockship
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: -rw-rw-r-- 1 1000 1000   871 Sep 15 14:35 package.json
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: drwxrwxr-x 4 1000 1000  4096 Sep 15 12:33 test
{ContainerRunStdout=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: drwxrwxr-x 2 1000 1000  4096 Sep 15 12:33 webstore
{ContainerRunStderr=step_name:"shipscope_bin/deploy" service_name:"shipscope"}: bin/build: line 5: node_modules/.bin/grunt: No such file or directory
{ContainerRunError=step_name:"shipscope_bin/deploy" service_name:"shipscope" exit_code:1}
{StepFinished=step_name:"shipscope_bin/deploy" type:STEP_FINISHED_TYPE_ERROR}

notice that when we run the tests, there's a node_modules folder and pwd is /app. But when we are running the configure build there's no node_modules and pwd is /checkout_volume.
So, the configure section doesn't contain the contents of the built shipscope service, it just contains the original checkout.
So we don't have grunt and so we can't build the artifact.

Closing, we should eventually move this to using volumes


Binary file support

If the cache target is a binary file such as wasm, it cannot be restored if saved as text.
Any plans for this?

This is specifically for stuff in the module graph and not a general purpose caching library. Once Deno supports Wasm imports then Wasm files will become part of the module graph and be stored in here.


Cleanup NetBeans license header for module html.editor.lib

Review and cleanup the license header in html.editor.lib
Oracle donated NetBeans to the Apache Software Foundation.
Your task now is to replace the old license header that has Oracle (and/or Sun Microsystems
and/or NetBeans) in it with the standard Apache Software Foundation license header.
For an empty file that supports headers you must add the Apache license header.
Note that you have to use the proper license header for Java, .properties or HTML files.
Look at the nearby files for templates and copy-paste the license header.
When done commit the changes with a commit message that starts with first line
"[NETBEANS-54] Module Review " and a message body describing your review.
See a longer explanation about what we are doing here: https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review
Please announce in a comment when you have started work.
Files that need to be looked at in html.editor.lib:
html.editor.lib/src/org/netbeans/modules/html/editor/lib/api/ProblemDescription.java
html.editor.lib/src/org/netbeans/modules/html/editor/lib/api/elements/Node.java
html.editor.lib/test/unit/data/input/HTMLCompletionQueryTest/index.html
html.editor.lib/test/unit/data/input/HTMLCompletionQueryTest/truncated_netbeans_front_page.html
html.editor.lib/test/unit/data/input/HTMLSyntaxSupportTest/index.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/issues145821.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/list.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/missingEndTag.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/table.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/tagCrossing.html
html.editor.lib/test/unit/data/testfiles/syntaxtree/trivial.html

@emilianbold I'll take this one.

@martypowell any updates?

See #300


adding North Dakota medicare exclusions crawler

never mind, I've wrapped things up here.
Consider this style next time:

I think it's a bit more concise, without losing meaning, making it a bit easier to read. Basically pop the first time you access it, then that's done, and assign to a meaningful variable name


v13.1.7 fix JS typo

Current coverage is 98.61%

Merging #269 into master will not affect coverage as of 3e652a2

@@            master    #269   diff @@
======================================
  Files           24      24
  Stmts          362     362
  Branches         0       0
  Methods         77      77
======================================
  Hit            357     357
  Partial          0       0
  Missed           5       5

Review entire Coverage Diff as of 3e652a2

Powered by Codecov. Updated on successful CI builds.


add indention options

you use 2 spaces indention while vs code default is 4 so i need to re-indent the snippets

@WadhahEssam Sorry for late response, I will today investigate this if this is possible with snippet extension :)

@WadhahEssam Unfortunately I did not found anything for snippets option, If you have any advice on that related especially for snippets just leave a comment.


Configurable offline mode

I'd like to see a configurable setting that makes it possible to disable all network traffic for image downloading, and restrict loading images to cached images only. If a user is on a limited data plan, they may want to opt out of image downloading, but cached images should still be loaded.

It's very easy to do with a newest prerelease version. You have different options:

provide your own IDownloadCache implementation when setting custom configuration options.
provide your own IDataResolverFactory implementation when setting custom configuration options. Something like:

public class CustomDataResolverFactory : IDataResolverFactory
{
	public IDataResolver GetResolver(string identifier, ImageSource source, TaskParameter parameters, Configuration configuration)
	{
		switch (source)
		{
			case ImageSource.ApplicationBundle:
				return new BundleDataResolver();
			case ImageSource.CompiledResource:
				return new ResourceDataResolver();
			case ImageSource.Filepath:
				return new FileDataResolver();
			case ImageSource.Url:
			{
				if (offline)
					return new OfflineUrlPlaceholder();
				return new UrlDataResolver(configuration);
			}
			case ImageSource.Stream:
				return new StreamDataResolver();
			default:
				throw new ArgumentException("Unknown type of ImageSource");
		}
	}
}


[BUG] Blob Trigger Scan continuously firing, and processing the same blobs

Library name and version
Azure.Storage.Blobs 12.15.1
Describe the bug
I have a blob trigger set up to montitor one of my containers in Azure Storage. The associated scan over the blobs is firing non-stop, looping over the same blobs again and again, causing excessive operations on the storage account.
Expected behavior
Would expect blobs already processed to be skipped.
Actual behavior
A scan is firing immediately after the last one has finished. I'm not sure if that's expected behaviour, but what is not expected, is that the same blobs are being detected by the scan over and over again.
I have noticed that at the start of each scan, this log message is printed to the function logs:
[Verbose]   Poll for blobs newer than '0001-01-01T00:00:00.000' in container '<container>' with ClientRequestId 'xxx' found 1839 blobs in 302 ms. ContinuationToken: False
Comparing with other blob triggers, I have discovered that the relevant scaninfo file seems to not have been created/updated. If I manually create the scaninfo file with a date/time, then the next scan will poll for blobs newer than that time, but the scaninfo file is then not updated again automatically.
Blob receipts are being created, and each blob is processed with a message similar to the following:
[Verbose]   Blob '<blob name>' will be skipped for function 'FillBlobMetaData' because this blob with ETag '"0x8D8798F7B192688"' has already been processed. PollId: '566d148e-11d0-4a80-86a0-c7d4cfab3b58'. Source: 'ContainerScan'.
Reproduction Steps
Enable my function within the function app on the Azure Portal.
Environment
.NET 6.0 app
Azure Functions, runtime version <IP_ADDRESS>96
Microsoft.Azure.WebJobs.Extensions.Storage.Blobs v5.1.1

@chriscartled Apologies for the late reply. Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.

Adding Service team to look into this.
@ahmedelnably @fabiocav Could you please provide some pointers on this? Thanks in advance.

+1 to this problem, also applies to Node.js based functions

Also in java Blob Trigger. The message shows every 10s.
My code is very simple.
package com.function;

import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;

public class BlobExample {

    @FunctionName("BlobExample")
    @StorageAccount("AzureWebJobsStorage")
    public void run(
        @BlobTrigger(name = "content", path = "container/{name}", dataType = "binary") byte[] content,
        @BindingName("name") String name,
        final ExecutionContext context
    ) {
        context.getLogger().info("Java Blob trigger function processed a blob. Name: " + name + "\n  Size: " + content.length + " Bytes");
        //context.getLogger().info("Java Blob trigger function processed a blob. Content: " + content);
    }
}

I encountered the same issue with my dotnet function. I eventually tracked it down to the ScanBlobScanLogHybridPollingStrategy.PollNewBlobsAsync method.
The logic gets blobs with paging hint size of 10,000. You'll get all your blobs back in a single page, however after the final page it is supposed to store the containerScanInfo.LastSweepCycleLatestModified value which determines which blobs have been modified after that date.
The page continuation token check used null as a way to determine if that was the final page, whereas the paging api returns an empty string. Thus LastSweepCycleLatestModified is always DateTime.Min
I noticed someone else fixed the issue here:
https://github.com/Azure/azure-sdk-for-net/commit/a69839f4a33ab39a7d1441e36415f08e00b76ff0

+1
NodeJs 20
Windows
Same behaviour. It's even stranger, since new blobs are also skipped,with the same message
const { app, output } = require('@azure/functions');
const csv = require('csvtojson');
const { v4: uuidv4 } = require('uuid');

const eventHubOutput = output.eventHub({
    eventHubName: 'mut-admin-detalle-tabla-dividendo',
    connection: 'EventHubConnection',
});

app.storageBlob('mut-admin-detalle-tabla-dividendo', {
    path: 'landing/mut-admin-detalle-tabla-dividendo/{name}',
    connection: 'StorageConnection',
    return : eventHubOutput,
    handler: async (blob, context) => {
        context.log(`Storage blob function processed blob "${context.triggerMetadata.name}" with size ${blob.length} bytes`);
        const stringBlob = blob.toString("utf8");
        const batchId = uuidv4().toString();
        const landedTimestamp = new Date();
        const blobUri = context.triggerMetadata.uri;
        const jsonBlob = await csv({'delimiter': '|'})
                                .fromString(stringBlob)
                                .subscribe((json => {
                                    return new Promise((resolve, reject) => {
                                        try {
                                            json['batch_id'] = batchId;
                                            json['message_id'] = uuidv4().toString();
                                            json['landed_out_dateTime'] = landedTimestamp;
                                            json['blob_uri'] = blobUri
                                            resolve();
                                        } catch(e) {
                                            reject(e);
                                        }
                                    })
                                }));

        context.log(`Sending ${jsonBlob.length} messages to Event Hubs`)
        return jsonBlob;
    }
});


fix: change default focus from end date to start date

Changes

Change default to start date

looks good to me


Obfuscating a Flutter app can cause plugins to fail

When calling invokeMethod, some plugins use a method name along the lines of $ClassName#MethodName. When trying to obfuscate the dart code in a flutter app, this may inadvertently change the class names on the dart side, but not the native side.
For example invokeMethod('$Adder#add') would be replaced with invokeMethod('$zza#add').
I'm not sure of all plugins that would be affected by this, but firebase_ml_vision and firebase_performance use this format.
This could be solved by just removing the $ in front of the method name.
Related comment: https://github.com/flutter/plugins/commit/90ed52d7431f511d89cac0939f3f368c77e08a19#commitcomment-34121822

I am experiencing this issue with Dart code obfuscation.
Do you have a workaround or a way to resolve this as soon as possible, while keeping obfuscation on?

@axel-op In the short term, you could fork the plugin and then change all the invokeMethod calls to not use the $. If you have time, you could create a PR from that and I could review it and merge it.
Unfortunately, I don't have time to work on it right now.

@axel-op In the short term, you could fork the plugin and then change all the invokeMethod calls to not use the $. If you have time, you could create a PR from that and I could review it and merge it.
Unfortunately, I don't have time to work on it right now.

Done: flutter/plugins#1874.

This is resolved in the last version 0.3.0+3 of the plugin. This issue can be closed.

@bparrishMines
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/358. Any further collaboration will be done there.


Bug: Invalid or unsupported zip format. No END header found

Bug: Invalid or unsupported zip format. No END header found

Steps to reproduce the issue:

docker scan nextgenhealthcare/connect
Invalid or unsupported zip format. No END header found

Describe the results you received:
Invalid or unsupported zip format. No END header found
Describe the results you expected:
Scan results or a better error message tell me what's wrong.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
$ docker -v
Docker version 20.10.11, build dea9396

Output of docker scan --version:
$ docker scan --version
Version:    v0.14.0
Git commit: 3f7dbd1
Provider:   Snyk (1.801.0 (standalone))

Output of docker info:
$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.7.1)
  compose: Docker Compose (Docker Inc., v2.2.1)
  scan: Docker Scan (Docker Inc., v0.14.0)

Server:
 Containers: 10
  Running: 7
  Paused: 0
  Stopped: 3
 Images: 91
 Server Version: 20.10.11
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.4.72-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 50.06GiB
 Name: docker-desktop
 ID: Y5NW:WOQ3:VBX3:BSUK:VG7O:3LUA:BC5E:YCMB:GTUK:WSKS:SCH5:MMBM
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Additional environment details (AWS, VirtualBox, physical, etc.):
Have tried both PowerShell and WSL2. Have not tested on linux box.

Thanks for the report. With Docker Desktop 4.4.x we updated to scan cli plugin 0.16.0 with snyk 1.809.0. I ran docker scan nextgenhealthcare/connect and it shows me a scan result.
I think images on hub can use a newer compression type that is maybe not supported by older versions of snyk.

I'm going to close this ticket as it is fixed in the current version.


[Guide] Completed Dominohook guide and added dependabot for version updates, security updates and alerts

Completed the Dominohook guide with a full installation tutorial and what Dominohook is.
I also added dependabot

uhhhhhhhhhhhhhhhhhhhhgfgvjhkhugitzfgvjbk


Remove deprecated code in vector store

Description
Clean up

Do you think there's any way for us to provide a method for upgrading existing vector stores? Fetch all nodes and re-insert them?
Low key a little worried by how many people this will impact 🤔

my claim is that the impact will be minimal: any code that's using the legacy representation would be using a client many minor versions behind. So either version is pinned or there would've been many breaking changes along the way which result in updating the code and re-indexing.

Actually, they could be impacted if they have any nodes indexed using old clients. They could be on the latest version today but still hit this issue.
I can think of a few people using LlamaIndex in production who might get hit by this 🤔 And re-indexing might not be an option when they are operating with user-uploaded data

Good point, maybe the right approach is to start raising deprecation warnings and provide migration tool as first step.
Let's not do this for 0.9 then


Not All videos are playable

The videos in question would be found here.

Some videos, for example this and this work fine.

However, some videos like this and this don't load. Sometimes, there is a black screen and the video doesn't load(only audio works).

I suspect it has something to do with encoding and/or codecs? could support for additional codecs be added?

Not all video codec are supported in browsers. Check https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs


Regression issue : the authorization_server endpoint in the offer is not taken into account anymore

That is the first authorization_endpoint to use if it exists
In the following case the authorization_server endpoint is in the offer and the token endpoint is in the authorization server metadata
test with

The offer:
{"credential_issuer":"https://openid-dts-dev-features.dev.adaptivespace.io/issuers/01930812-df79-76d0-889b-3d05cc423889","credential_configuration_ids":["PhotoId-3-with-sd_VC+SD-JWT"],"grants":{"authorization_code":{"issuer_state":"019398bf-9eac-774f-a909-68d8cdab7bdf","authorization_server":"https://authk.dev.adaptivespace.io/realms/pid-issuer-realm"}}}
The url we are launching:
https://authk.dev.adaptivespace.io/realms/pid-issuer-realm/authorize?response_type=code&redirect_uri=https%3A%2F%2Fapp.altme.io%2Fapp%2Fdownload%2Fcallback&state=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2RlVmVyaWZpZXIiOiJjbVRiT21RdzZ3SnM4RlpqLUluMkFwQk1zbm9kOXlQQkxaUGdsVmlVZk8wIiwiY3JlZGVudGlhbHMiOlsiUGhvdG9JZC0zLXdpdGgtc2RfVkMrU0QtSldUIl0sImlzc3VlciI6Imh0dHBzOi8vb3BlbmlkLWR0cy1kZXYtZmVhdHVyZXMuZGV2LmFkYXB0aXZlc3BhY2UuaW8vaXNzdWVycy8wMTkzMDgxMi1kZjc5LTc2ZDAtODg5Yi0zZDA1Y2M0MjM4ODkiLCJpc0VCU0kiOmZhbHNlLCJwdWJsaWNLZXlGb3JEUG9wIjoie1wiY3J2XCI6XCJQLTI1NlwiLFwiZFwiOlwicEdSMWxZUFNpeDdLLXNmRGRQV3MybG9JRjJXbGxINDR2ci1SeTVORTBfMFwiLFwia3R5XCI6XCJFQ1wiLFwieFwiOlwia3VLeWpjd3Uyclc0aXdLdk55aUltdTV1cUo1ZWZybzY3dktDaC1CUC1Lc1wiLFwieVwiOlwib1hmMHg5ejhBRURHWVN5d1REUVp5MlBDUFdYU3llaGs5NTA2OXBvY0dWRVwifSIsImNsaWVudF9pZCI6ImRpZDprZXk6ejZNa3JZdFlrR3g3ZlNxWVpBeGNTZThINVhTWENkVXRBSFR3YlVwaGNmV1VRcXJFIiwiaWF0IjoxNzMzNTgzNTIzfQ.fb6RsdcafeOXD6Q2QXVpQMskMwb2KJ72jUtBa1COGEU&nonce=1cf35f74-4ecd-4c41-ae60-4e496b51f2a3&code_challenge=gRD9exFLHttbI5M4VC772huLpGseSjz6AbKswg1C3g4&code_challenge_method=S256&issuer_state=019398bf-9eac-774f-a909-68d8cdab7bdf&wallet_issuer=https%3A%2F%2Fapp.altme.io%2Fwallet_issuer&client_id=did%3Akey%3Az6MkrYtYkGx7fSqYZAxcSe8H5XSXCdUtAHTwbUphcfWUQqrE&scope=openid&authorization_details=[{"type"%3A"openid_credential"%2C"format"%3A"vc%2Bsd-jwt"%2C"vct"%3A"PhotoId-3-with-sd"}]

the should look for the authorization server metadata on the authorization_server + "/.well-known/oauth-authorization-server" endpoint as it is defined here https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-ID1.html#name-credential-issuer-metadata-p

authorization_servers: OPTIONAL. Array of strings, where each string is an identifier of the OAuth 2.0 Authorization Server (as defined in [RFC8414]) the Credential Issuer relies on for authorization. If this parameter is omitted, the entity providing the Credential Issuer is also acting as the Authorization Server, i.e., the Credential Issuer's identifier is used to obtain the Authorization Server metadata. The actual OAuth 2.0 Authorization Server metadata is obtained from the oauth-authorization-server well-known location as defined in Section 3 of [RFC8414]. When there are multiple entries in the array, the Wallet may be able to determine which Authorization Server to use by querying the metadata; for example, by examining the grant_types_supported values, the Wallet can filter the server to use based on the grant type it plans to use. When the Wallet is using authorization_server parameter in the Credential Offer as a hint to determine which Authorization Server to use out of multiple, the Wallet MUST NOT proceed with the flow if the authorization_server Credential Offer parameter value does not match any of the entries in the authorization_servers array.

Obtaining Authorization Server Metadata

Authorization servers supporting metadata MUST make a JSON document
containing metadata as specified in Section 2 available at a path
formed by inserting a well-known URI string into the authorization
server's issuer identifier between the host component and the path
component, if any.  By default, the well-known URI string used is
"/.well-known/oauth-authorization-server".  This path MUST use the
"https" scheme.  The syntax and semantics of ".well-known" are
defined in RFC 5785 [RFC5785].  The well-known URI suffix used MUST
be registered in the IANA "Well-Known URIs" registry
[IANA.well-known].
Different applications utilizing OAuth authorization servers in
application-specific ways may define and register different well-
known URI suffixes used to publish authorization server metadata as
used by those applications.  For instance, if the example application
uses an OAuth authorization server in an example-specific way, and
there are example-specific metadata values that it needs to publish,
then it might register and use the "example-configuration" URI suffix
and publish the metadata document at the path formed by inserting
"/.well-known/example-configuration" between the host and path
components of the authorization server's issuer identifier.
Alternatively, many such applications will use the default well-known
Jones, et al.                Standards Track                    [Page 8]

RFC 8414         OAuth 2.0 Authorization Server Metadata       June 2018
URI string "/.well-known/oauth-authorization-server", which is the
right choice for general-purpose OAuth authorization servers, and not
register an application-specific one.
An OAuth 2.0 application using this specification MUST specify what
well-known URI suffix it will use for this purpose.  The same
authorization server MAY choose to publish its metadata at multiple
well-known locations derived from its issuer identifier, for example,
publishing metadata at both "/.well-known/example-configuration" and
"/.well-known/oauth-authorization-server".
Some OAuth applications will choose to use the well-known URI suffix
"openid-configuration".  As described in Section 5, despite the
identifier "/.well-known/openid-configuration", appearing to be
OpenID specific, its usage in this specification is actually
referring to a general OAuth 2.0 feature that is not specific to
OpenID Connect.
3.1.  Authorization Server Metadata Request
An authorization server metadata document MUST be queried using an
HTTP "GET" request at the previously specified path.
The client would make the following request when the issuer
identifier is "https://example.com" and the well-known URI suffix is
"oauth-authorization-server" to obtain the metadata, since the issuer
identifier contains no path component:
 GET /.well-known/oauth-authorization-server HTTP/1.1
 Host: example.com

If the issuer identifier value contains a path component, any
terminating "/" MUST be removed before inserting "/.well-known/" and
the well-known URI suffix between the host component and the path
component.  The client would make the following request when the
issuer identifier is "https://example.com/issuer1" and the well-known
URI suffix is "oauth-authorization-server" to obtain the metadata,
since the issuer identifier contains a path component:
 GET /.well-known/oauth-authorization-server/issuer1 HTTP/1.1
 Host: example.com

Using path components enables supporting multiple issuers per host.
This is required in some multi-tenant hosting configurations.  This
use of ".well-known" is for supporting multiple issuers per host;
unlike its use in RFC 5785 [RFC5785], it does not provide general
information about the host.
Jones, et al.                Standards Track                    [Page 9]

RFC 8414         OAuth 2.0 Authorization Server Metadata       June 2018
3.2.  Authorization Server Metadata Response
The response is a set of claims about the authorization server's
configuration, including all necessary endpoints and public key
location information.  A successful response MUST use the 200 OK HTTP
status code and return a JSON object using the "application/json"
content type that contains a set of claims as its members that are a
subset of the metadata values defined in Section 2.  Other claims MAY
also be returned.
Claims that return multiple values are represented as JSON arrays.
Claims with zero elements MUST be omitted from the response.
An error response uses the applicable HTTP status code value.
The following is a non-normative example response:
 HTTP/1.1 200 OK
 Content-Type: application/json

 {
  "issuer":
    "https://server.example.com",
  "authorization_endpoint":
    "https://server.example.com/authorize",
  "token_endpoint":
    "https://server.example.com/token",
  "token_endpoint_auth_methods_supported":
    ["client_secret_basic", "private_key_jwt"],
  "token_endpoint_auth_signing_alg_values_supported":
    ["RS256", "ES256"],
  "userinfo_endpoint":
    "https://server.example.com/userinfo",
  "jwks_uri":
    "https://server.example.com/jwks.json",
  "registration_endpoint":
    "https://server.example.com/register",
  "scopes_supported":
    ["openid", "profile", "email", "address",
     "phone", "offline_access"],
  "response_types_supported":
    ["code", "code token"],
  "service_documentation":
    "http://server.example.com/service_documentation.html",
  "ui_locales_supported":
    ["en-US", "en-GB", "en-CA", "fr-FR", "fr-CA"]
 }

Jones, et al.                Standards Track                   [Page 10]

RFC 8414         OAuth 2.0 Authorization Server Metadata       June 2018
3.3.  Authorization Server Metadata Validation
The "issuer" value returned MUST be identical to the authorization
server's issuer identifier value into which the well-known URI string
was inserted to create the URL used to retrieve the metadata.  If
these values are not identical, the data contained in the response
MUST NOT be used.

String Operations

Processing some OAuth 2.0 messages requires comparing values in the
messages to known values.  For example, the member names in the
metadata response might be compared to specific member names such as
"issuer".  Comparing Unicode [UNICODE] strings, however, has
significant security implications.
Therefore, comparisons between JSON strings and other Unicode strings
MUST be performed as specified below:

Remove any JSON-applied escaping to produce an array of Unicode
code points.

Unicode Normalization [USA15] MUST NOT be applied at any point to
either the JSON string or the string it is to be compared
against.

Comparisons between the two strings MUST be performed as a
Unicode code-point-to-code-point equality comparison.

Note that this is the same equality comparison procedure described in
Section 8.3 of [RFC8259].

Compatibility Notes

The identifiers "/.well-known/openid-configuration", "op_policy_uri",
and "op_tos_uri" contain strings referring to the OpenID Connect
[OpenID.Core] family of specifications that were originally defined
by "OpenID Connect Discovery 1.0" [OpenID.Discovery].  Despite the
reuse of these identifiers that appear to be OpenID specific, their
usage in this specification is actually referring to general OAuth
2.0 features that are not specific to OpenID Connect.
The algorithm for transforming the issuer identifier to an
authorization server metadata location defined in Section 3 is
equivalent to the corresponding transformation defined in Section 4
of "OpenID Connect Discovery 1.0" [OpenID.Discovery], provided that
the issuer identifier contains no path component.  However, they are
different when there is a path component, because OpenID Connect

it fauils with Sicpa test

pb dans le redirect du browser du wallet vers le authorization endpoint


WIth 2 images upload (png) is lagging

My Setup

Linux:

1.3.1:

[x] I have tested with the latest application version

[x] I can simulate the issue easily

Description
We uploaded 2 and other 2 images with a low resolution (under 2000x) but the client is lagging while the browser don't have this issue.
Current Behavior

Expected Behavior
No lagging

I'm unable to re-create this issue on the latest client version (2.14.1) on Debian Stretch 9.5
I believe this has been worked out since 2017, though I'm not sure exactly where :)

Please test if the problem persists with our latest release. I will be closing the issue but if there is any problem yet, we will open it again.


On race retry via item - no SFX nor music stop/restart

Blizz changed the way auras are handled during the race restart. Now the racing aura stays active when player clicks the item to restart the race. This means that there should be an additional check in handleAuraUpdate() to handle this situation. Currently the race start is handled by detecting the race aura's appearance. Since it's not removed, something else should be checked to see if the race got restarted.
Best way would be to trigger sounds and music on race countdown aura drop instead of race aura. Otherwise it would require a bit of if-ology to handle the corner cases.
What happens on race activation:

Race countdown aura appears and counts down.
Race countdown drops.
Race aura appears.

What happens on item click:

Race aura does NOT drop - it stays there.
Race countdown aura appears and counts down.
Race countdown drops.

TODO:

On addedAuras: Check for the appearance of race countdown aura.
If it's there, set raceCountdownInstanceID to its auraInstanceID.
On removedAuraInstanceIDs: Check for the removal of countdownRaceInstanceID.
If it's detected, run the code that handles race start - handleDragonRaceStart().
On addedAuras: Remove handleDragonRaceStart() from race start detection.
On addedAuras: Check if raceInstanceID is set.
If yes, then handle race restart to restart the music without some other random things - we don't need victory SFX to play for restart, for example.

 It's so many... UGHHHHHHH

Done.


builder: darwin/arm broken

(I have been working on this for a few days now, creating a bug for the curious.) There are several problems with darwin/arm builder.
Fixed:

go_darwin_arm_exec: needs to serialize access to ios-deploy
go_darwin_arm_exec: not passing test arguments (in particular, -test.short=true)
cmd/go: tests need to be compiled with cgo
iOS 8.1.3: required a different Entitlements.plist format (discovered via trial and error)
crypto/x509: no access to certs

Still to do:

go_darwin_arm_exec: get it reviewed and submit
go_darwin_arm_exec: check that testdata is being copied into the app properly
on an iPhone 4S builder, sometimes: fatal error: runtime: cannot reserve arena virtual address space
considering falling back to a 128mb heap, trying to determine the consequences

virtual memory allocation: https://github.com/golang/go/commit/85d09574fd2ed789eb5550a04eae1d261aaf4d17

We also need to make lldb don't stop on most signals
(e.g. lldb stopping on SIGPIPE is causing the net tests
to timeout.)
On gdb, we can do that with "handle SIGPIPE nostop noprint pass",
I assume lldb also has an equivalent way of specifying that.

The darwin/arm builder has now done 20 ok runs with no flakes.


correctly fall back to all numeric polars cols when y is not specified

Fixes #1246

Failing tests are likely to be because of https://github.com/conda-forge/polars-feedstock/issues/205
Can you make a polars pin in setup.py for now?

The failing test is because of the change in this PR.
The test should be fixed, either with:

Update the instance to be checked for NdOverlay
Update the plot call with only a y argument

I don't have any preference for the two options.


Cannot include stdgpu to an existing OpenMP/HIP project

I'm working on an OpenMP/HIP code and trying to include stdgpu as a subproject. What I need is to

compile stdgpu with hipcc/hcc,
compile my HIP sources with hipcc/hcc,
compile the rest with gcc/clang, and
leave all the linking things to gcc/clang

It seems like stdgpu needs to pass -DCMAKE_CXX_COMPILER=hcc to cmake to build HIP backend but hcc doesn't support -fopenmp yet. So the OpenMP libraries are missing when a find_package(OpenMP) is encountered. Is there any way to workaround this?
I've tried to set the compiler to clang. The compiler complains that -hc is an unknown argument. It looks like this is an hcc argument required by the  rocthrust::rocthrust target.
clang++  -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP -Dstdgpu_EXPORTS
...
-isystem /opt/rocm-3.3.0/hip/include -isystem /opt/rocm/include  -stdlib=libc++ -O3 -DNDEBUG -fPIC   -hc -fPIC -std=c++14 -o CMakeFiles/stdgpu.dir/impl/iterator.cpp.o -c /external/stdgpu/src/stdgpu/impl/iterator.cpp
clang-9: error: unknown argument: '-hc'

It should work when setting the C++ compiler to hcc. Have you properly set the backend to HIP?
You can do this

either by passing -DSTDGPU_BACKEND=STDGPU_BACKEND_HIP to CMake when building stdgpu,
or set(STDGPU_BACKEND ${STDGPU_BACKEND_HIP} CACHE STRING "") before add_sudirectory(stdgpu) if you embedded it.

During CMake configuration, it should print a summary which contains a line mentioning the chosen backend. That should be STDGPU_BACKEND_HIP if configured correctly in your case.
OpenMP is not used by the HIP backend, so find_package(OpenMP) will not be called by stdgpu. If you need to use the HIP backend and also use OpenMP at the same time in your code, you may try hip-clang instead and see whether this works.

Thanks.
The cmake flag for HIP backend was set properly in my previous post. Eventually, I get around this by adding include directories manually using target_include_directories other than using cmake targets.
The configuration file hip-config.cmake (ROCm 3.3 with HCC) provides several targets required by rocthrust::rocthrust and rocprim::rocprim_hip. On my system, the include directories taken by these targets are always set to the default ROCm installation path under /opt/rocm. Once I removed find_package(hip) and these targets, everything was fine.

Thanks for the detailed description of your problem.
It looks like that you have multiple versions of ROCm installed, i.e. /opt/rocm-3.3, /opt/rocm-3.x, etc., and the one you would like to use is not the one the default path /opt/rocm points to. Is that correct?
You are right that stdgpu chooses the targets and include directories in the default path /opt/rocm. The related lookups are here. We could improve our module to only let it search in the user-provided path to ROCm (via variables like HIP_PATH) for the targets and the HCC/HIP-Clang compiler and to fall back to the default path if HIP could not be found there. I will take a look at this.

Yes. There are multiple ROCm installations managed by my administrator. I think it's quite usual for cluster users.

I can only test the installation on ROCm 3.3 with HCC & GCC since I don't have many platforms or compilers at hand.
FYI, I take this simple configuration to find HIP and rocThrust.

Thanks for the pointer. That's exactly the direction I had in mind. We could also try to set the correct compiler effectively simulating CMake's compiler detection to a certain degree. This way, the user would only need to set the path to ROCm to select the corresponding compiler, includes, and targets.
You may have already noticed that we bumped the minimum ROCm version to 3.5 (see #188) since HCC has been deprecated for a long time and is removed in more recent versions like ROCm 3.8. Instead, out HIP backend now relies on HIP-Clang which seems to be in a much better shape and does not need the workarounds for HCC.

That's great. I'll take this update and move on to hip-clang as long as ROCm 3.5+ is available on my system.

The ROCM_PATH regular and environment variables are now honored to select the desired ROCm installation. Simulating the compiler detection is a bit more complicated. I guess you have to explicitly set the compiler in your project anyways, so maybe this change is sufficient. Let me know if this solves your problem or we have to improve further.

Yes, it is sufficient. I think this is closed.


Add in CI workflow for generating and deploying documentation to github.io site

This leverages GHA to do three things:

Convert the markdown files under Docs/ into html using Jekyll
Run Doygen to automatically generate C++ documentation
Run LDoc to automatically generate Lua documentation

After doing so, all of the content will be hosted on etterna.github.io/etterna automagically :)
Currently, only _fallback is documented with LDoc because it's the only one actually documented right now.
9a7a41f demonstrates how to add documentation for additional files as desired, although I revert it in the following commit as Rebirth's Scripts do not actually have documentation right now and so just add clutter.

https://bluebandit21.github.io/etterna_doc_testing/ demonstrates what the content generated by this PR looks like :)

This PR has a problem that I'm unsure of the root cause of -- the Contributing.md is not actually converted into html properly by Jekyll during the Jekyll build phase.
I don't have any clue why that markdown file in particular is being treated differently and the logs don't seem to say anything helpful.

This PR has a problem that I'm unsure of the root cause of -- the Contributing.md is not actually converted into html properly by Jekyll during the Jekyll build phase.
I don't have any clue why that markdown file in particular is being treated differently and the logs don't seem to say anything helpful.

Fixed in ed098cb . For some reason Jekyll has to be specifically told to build that file, I don't know why but it's fixed now.


[SP-3661] Backport of PDI-16312 - JSON Input step ignores the trim type (7.1 Suite)

@pamval @mchen-len-son @mdamour1976 please review

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f plugins/kettle-json-plugin/build.xml clean-all resolve jacoco && ant -f plugins/kettle-json-plugin/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  plugins/kettle-json-plugin/src/org/pentaho/di/trans/steps/jsoninput/JsonInputField.java
  plugins/kettle-json-plugin/test-src/org/pentaho/di/trans/steps/jsoninput/JsonInputMetaTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.steps.jsoninput.JsonInputField

Instruction Change:  + .08%
Line Change:  + .12%


feat(BaseConfig): copied over current sahat/satellizer settings

@msalman86 i copied over the current settings from sahat/satellizer . they should work for linkedin as well without extra encoding. can you test if those work for you

👍

i'll double check and then merge

@doktordirk I apologize for not being able to respond earlier. I have verified that the linkedin is working with new changes without extra encoding. 👍

👍  :)


Invalid Hyperlink for Test Data Location URL

The URL displayed on the test page for Data location is currently invalid.
For example, I enter the URL as:
collab://CA1 pyramidal cell validation/test_observations/feat_CA1_int_bAC.json and the hyperlink created is for https://validation-dev.brainsimulation.eu/url

p.s. the text on the hyperlink is OK, it is the hyperlink target URL which is incorrect.

fixed in #102


Update OpenVINO notebook dockerfile clinfo link

This PR:
Updates clinfo rpm link in OpenVINO dockerfile as the current link fails with forbidden errors
The new link rpm -ivh https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/c/clinfo-<IP_ADDRESS>.21-4.el8.x86_64.rpm installs clinfo

The docker image is building again. Thanks, @vbedida79.

Thank you for the review!


Application is self-contained by default (docs state the opposite)

The documentation for the controller states the following:
https://github.com/dotnet/crank/blob/main/src/Microsoft.Crank.Controller/README.md
--[JOB].selfContained <true|false>
Whether to deploy the app as stand-alone. **Default is false**.
Is is forced to 'true' if either runtimeVersion or aspnetVersion is defined as the SDK versions would be used otherwise.

However, running a minimal example like the following defaults to publishing the application as self-contained (it runs as Benchmarks.exe).
crank --config "https://raw.githubusercontent.com/aspnet/Benchmarks/master/scenarios/json.benchmarks.yml" `
    --config C:\test.yml `
    --profile "foo" `
    --scenario "json" `
    --output "foo\bar.txt" `
    --session "foo"

Manually setting this option to false with --application.selfContained false disables the self-contained behavior as expected (it runs as dotnet.exe).
Thanks

Correct


ccm: explicitly use Python3 interpreter

On some (all?) modern Linux distros /usr/bin/python
still points to python2.
At the same time our code uses some Python3-specific features
like f-strings.
Hence we (still) need to be explicit about Python3.
Fixes #336
Signed-off-by: Vlad Zolotarov<EMAIL_ADDRESS>

@scylladb/ccm-maint ping


Add link to research

Add a link in the documentation for the step by step navigation component to the research and testing done during its development.
Trello card: https://trello.com/c/Ax13WPYH/574-add-link-to-evidence-from-step-nav-component-guide

@nickcolley you can't see the link? I thought it should be open to anyone in GDS.

@andysellick I think you need an atlassian login, which is only a GOV.UK thing.


Update to get v0.1.5 working

Hi @pksohn, hope you're doing well!! The latest version of this library never made it onto conda-forge, so i'm seeing if i can fix it. I think you'll have to merge this, once the tests pass, since you're currently listed as the maintainer.
@conda-forge-admin, please rerender

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy
[x] Ensured the license file is being packaged.

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.

Ok, it looks like one of the problems is that the license file wasn't properly packaged into the latest release. We'll take care of that and then come back to this next week.

Hey @smmaurer! :wave:
Sounds good, let me know when it's ready to go. I'm poking around to figure out how I can transfer this repo to you as well.

@pksohn If we replace your user name with mine in meta.yaml, i think the ownership will automatically transfer after a successful merge!

@smmaurer Got it, so no to-dos for me other than to merge this. Just let me know when it's ready.

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.


Create a level of support statement

Since NUnit V2 is legacy, we need a document that tells people what kind of issues are in scope and will be accepted on this project. Should probably go in the root.

:tada: This issue has been resolved in version 3.9.0 :tada:
The release is available on:

GitHub Release
NuGet Package
Chocolatey Package


Update sites.json

add kookma resource to sites.json

Thank you @kookma that's great except that you also need to add a comma after the previous entry to make it valid JSON.

I've added your site, and your links are now live at:
https://links.tiddlywiki.com/contributors/kookma/
Thank you for volunteering so quickly, it's a great help.


rty: improve draw performance a lot when there are nested frames

Hello @landism,
Please review the following commits I made in branch nicks/perf:
c40edfd66f36d237b9a9665304c20ab45a9a9467 (2019-04-08 11:08:38 -0400)
rty: improve draw performance a lot when there are nested frames

(the rty interactive differences are cases where the foreground changed colors, but the foreground is a space so it doesn't matter anyway)

yes. after this change, resource usage goes down substantially


How/Will the SDK support obtain tokens Companion App and refresh Tokens

Im trying to obtain tokens from Companion App in replace of AuthServer.py, I modify the Companion App to request refresh tokens and create AlexaClientSDKConfig.json and send to device. it works. But I dont think this the right way, just hate change much to the SDK and when be covered   when you have update,
I wonder how/will you support this function in future.  Will be great if you share me some information. I have some questions：
1 Will you support services discover in the SDK to make Companion App to discover Alexa-Enabled device?
2 Will support request and refresh tokens in the SDK, I suppose it needs OAuth, which library will use support OAuth?

Hi @chenxiaoqun,
Thanks for your questions.

I'm not sure what you mean exactly.  Could you please clarify?
Please take a look at our AuthDelegate component of the SDK, which takes care of refreshing the auth token periodically.  This component interacts with LWA (Amazon's OAuth2 server) on the user's behalf.  After your initial interaction with LWA (which AuthServer.py helps with), you should not need to do this again.

-David

HI dhpp,
Please clarify me.
How long the refresh token will be valid ?
if it expires do we need to again execute the following or will AVS SDK automatically update the refresh token in AlexaClientSDKConfig.json.
python AuthServer/AuthServer.py

Hi Satish,
Refresh tokens are valid indefinitely, unless the user has removed the website or mobile app from the list of allowed apps for their account. You may find more details here:
https://developer.amazon.com/docs/login-with-amazon/refresh-token.html
Andrey.


Add ability to detect and cleanup failed deployments

collector thread gets the initial pod information and monitors for updates
deployments with 1+ terminated container(s) and sum of restarts > 5 are "failed"

STILL VERY MUCH WIP.
TODO:

[x] Mutex around read/writes
[x] Ensure the pod collector thread is running/restarted
[ ] Guard against monitoring/killing deployments for things such as postgresql, memcached, httpd, etc. To do this, we'll label all of the worker pods that are managed by the orchestrator so the orchestrator will only monitor and kill failed pods it's monitoring.  This will require new images to be tested to ensure the labels are set correctly and that the orchestrator can monitor this subset of pods that it's managing as represented by this label.
[ ] Fix some thread safety issues identified below.
[x] More nuanced detection of failed deployments (5+ restarts and terminated status) as we might flag pods that often hit memory/cpu limits over days/months.. This is basic and doesn't conflict with liveness checks failures since those will be restarted, and not remain in terminated lastState.  Any pod that has 5 or more container restarts and remains in terminated state will get removed as a deployment.
[x] Manual tests are great but we'll need some tests
Fixes: https://github.com/ManageIQ/manageiq/issues/20147

@Fryguy @agrare @brandon I think this is ready for review.  In terms of a surgical change, I think this is the basics and can't really remove any of the functionality.
There are still things to do but it feels like we can have separate discussions on that.  Perhaps I can make this logic optional to start and we can get this in and discuss the future items.
Note, I've tested this on pods by injecting the code into a rails console in the orchestrator so I'll need to retest or show others how to test when we have an image they can run this with.
Some of the items remaining that we might want to include here or just do later (YAGNI):

[ ] Label pods on deployment so we can identify/search just for deployments we care to kill and let be recreated.  Do we want to support killing httpd deployment?  Or memcached?  Or postgresql?  Or just pods that are in the miq_workers table?  Or just ems based workers? We can choose to have a hardcoded opt-in or opt-out list to start and use labels in kubernetes for more future work.
[ ] What do we want to do with the miq_workers table?  This PR doesn't address the fact that pods still doesn't create the worker row at orchestrator deployment time in the orchestrator but instead as the pod initializes and starts from within the pod.
[ ] Looking for terminated lastState + >+ 5 container restarts across the pod is pretty naive but seems to work for the situations we care about.  Additionally, maybe there isn't a big downside to redeploying a pod that manages to get included as a false positive?  Basically, if the pod is restarted and fails enough, it will hit this state and could be removed and redeployed.

@Fryguy @agrare I've implemented the changes we discussed yesterday in the 4 most recent commits.  I'll test what I can without an image update (namely the thread safety/monitor_pods (first 3 of those commits) and then test the most recent "label" commit once those work.

@jrafanie Can you fix the rubocops?  Some of them are legit.

@jrafanie Can you fix the rubocops? Some of them are legit.

Yeah, I'm doing one more full build to make sure it fixes the whole end-to-end process and I'll clean those up.

Ok, final tests were successful. I added screenshots in the description to hopefully better document what this PR does.
The final style issues are meh:

get_pods is the kubeclient method, so I'm naming our caller of that the same.
@start_pod_monitor isn't any better than @monitor_thread... we can address a more appropriate name when we extract this concept with what we're doing very similar things elsewhere

Thanks @agrare @Fryguy @bdunne @simaishi for all the help with reviews/image building.

@jrafanie backporting this to jansa conflicts as https://github.com/ManageIQ/manageiq/pull/20420 is not in jansa branch. Not sure if we want to take #20420 as well. If not, please create a separate PR for jansa branch.

@agrare I'm ok with bringing back #20420 to jansa, what do you think?   I think there isn't much risk since systemd wasn't working correctly anyway, right?
Thanks @simaishi

Yeah I'm :+1: with that

@simaishi Can you let me know if you are able to backport #20420 in order to backport this PR?  Thanks!

@jrafanie I can backport #20420, followed by #20444 without conflicts.

Sounds good @simaishi.  We're both comfortable with bringing back both PRs to jansa.


Fail to compile example integration_opengl/

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
When running the integration_opengl example, I'm met with the following error:
error[E0432]: unresolved import `iced_winit::application::Application`
 --> glutin/src/application.rs:6:9
  |
6 | pub use iced_winit::application::Application;
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Application` in `application`

error[E0433]: failed to resolve: could not find `State` in `application`
   --> glutin/src/application.rs:201:34
    |
201 |     let mut state = application::State::new(&application, context.window());
    |                                  ^^^^^ not found in `application`
    |
help: consider importing one of these items
    |
2   | use crate::overlay::menu::State;
    |
2   | use crate::program::State;
    |
2   | use crate::user_interface::State;
    |
2   | use crate::widget::button::State;
    |
      and 32 other candidates
help: if you import `State`, refer to it directly
    |
201 -     let mut state = application::State::new(&application, context.window());
201 +     let mut state = State::new(&application, context.window());
    |

error[E0425]: cannot find function `run_command` in module `application`
   --> glutin/src/application.rs:204:18
    |
204 |     application::run_command(
    |                  ^^^^^^^^^^^ not found in `application`

error[E0425]: cannot find function `build_user_interface` in module `application`
   --> glutin/src/application.rs:220:40
    |
220 |         ManuallyDrop::new(application::build_user_interface(
    |                                        ^^^^^^^^^^^^^^^^^^^^ not found in `application`

error[E0425]: cannot find function `update` in module `application`
   --> glutin/src/application.rs:267:34
    |
267 |                     application::update(
    |                                  ^^^^^^ not found in `application`
    |
help: consider importing one of these items
    |
2   | use crate::widget::button::update;
    |
2   | use crate::widget::pane_grid::update;
    |
2   | use crate::widget::pick_list::update;
    |
2   | use crate::widget::scrollable::update;
    |
      and 14 other candidates
help: if you import `update`, refer to it directly
    |
267 -                     application::update(
267 +                     update(
    |

error[E0425]: cannot find function `build_user_interface` in module `application`
   --> glutin/src/application.rs:287:56
    |
287 |                         ManuallyDrop::new(application::build_user_interface(
    |                                                        ^^^^^^^^^^^^^^^^^^^^ not found in `application`

error[E0425]: cannot find function `requests_exit` in module `application`
   --> glutin/src/application.rs:408:33
    |
408 |                 if application::requests_exit(&window_event, state.modifiers())
    |                                 ^^^^^^^^^^^^^ not found in `application`

Some errors have detailed explanations: E0425, E0432, E0433.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `iced_glutin` due to 7 previous errors

What is the expected behavior?
That the examples compiles and runs flawlessly. Running the example integration_wgpu works fine.
Version
master
Operative System
Linux
Do you have any log output?
No response

cargo build --package=integration_opengl fails but cargo build --all succeeds, tested on Windows.

I can confirm that with cargo build --all there's no error. I'm on Ubuntu 22.04. Yet, even after building all examples, I'm still not able to run the specific example (using cargo run --package integration_opengl. I get the same error


make_bcs fix for bad HWSDv1.21 data in Argentina "peatland"

In GEOS bcs versions NL5 and v11 (after the introduction of PEATMAP and PEATCLSM), a small region in Argentina (~38W,60W) is wrongly classified as peatland.  The reason for the wrong classification are unrealistically high values of organic carbon content (OC) in the HWSDv1.21 input data for soil mapping unit (SMU) #12302.
make_bcs uses preprocessed soil properties data that contain merged data from HWSD and STATSGO2 for the US.  The SMU in question is spread across two of the SoilProperties_*.nc files: H12V06 and H13V06.  These two files were patched by replacing the clay, sand, and OC values for the 0-30cm and 30-100cm layers in the SMU in question with values obtained manually from v2 of HWSD.
The present PR enables make_bcs to use these revised SoilProperties_*.nc data to generate v12 bcs.

@mathomp4 :
As a side show in the present PR, we're trying to get "make_bcs.py" to work on SLES15/Milan.  My initial approach was to simply remove the #SBATCH constraint (https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/944/commits/fb06070619e4bb8061df99026102d247eca180fa).
But this only works on SLES12.  On SLES15, the job that is submitted by make_bcs.py either hangs or crashes unexplicably with library errors.  We apparently can get this to work by adding an explicit (non)-constraint
#SBATCH --constraint=sky|cas|mil  (https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/944/commits/8fd5fe311a4451859d49da1e2cfd1e5c22a766cf).  For SLES15, using just #SBATCH --constraint=mil also works.
That is, it looks like the SLES15 job won't start or run without the explicit #SBATCH constraint directive, which doesn't really make sense to me.  Maybe this is something for NCCS to sort out?
cc: @biljanaorescanin @weiyuan-jiang

@mathomp4 : As a side show in the present PR, we're trying to get "make_bcs.py" to work on SLES15/Milan. My initial approach was to simply remove the #SBATCH constraint (fb06070). But this only works on SLES12. On SLES15, the job that is submitted by make_bcs.py either hangs or crashes unexplicably with library errors. We apparently can get this to work by adding an explicit (non)-constraint #SBATCH --constraint=sky|cas|mil (8fd5fe3). For SLES15, using just #SBATCH --constraint=mil also works. That is, it looks like the SLES15 job won't start or run without the explicit #SBATCH constraint directive, which doesn't really make sense to me. Maybe this is something for NCCS to sort out? cc: @biljanaorescanin @weiyuan-jiang

You might ping NCCS, but now that I think about it, it's possible an sbatch with no constraint currently only targets sky|cas and not mil. I guess in gcm_setup/gcm_run we always specify the constraint, though that's because we ask the user what they want to run on (makes the math for oserver, etc. easier)

#SBATCH --constraint=sky|cas|mil

I don't think this is correct. The executables built on SLES12 cannot be run on SLES15.

#SBATCH --constraint=sky|cas|mil

I don't think this is correct. The executables built on SLES12 cannot be run on SLES15.

Oh yeah. That is true. That's the reason I have the BUILT_ON_SLES15 variable in CMake. I use it in gcm_setup and @weiyuan-jiang used it in the LDAS setup as well I think.
This is probably the "right" thing to do.

Thanks, @weiyuan-jiang  and @mathomp4 for the commit and advice, much appreciated.
@biljanaorescanin : When you get a chance, please run just one set of bcs on both SLES12 and SLES 15 to make sure there isn't a syntax error somewhere.

#SBATCH --constraint=sky|cas|mil

I don't think this is correct. The executables built on SLES12 cannot be run on SLES15.

Oh yeah. That is true. That's the reason I have the BUILT_ON_SLES15 variable in CMake. I use it in gcm_setup and @weiyuan-jiang used it in the LDAS setup as well I think.
This is probably the "right" thing to do.

@biljanaorescanin said the string is not replaced. Does that mean the trick does not apply to GEOSgcm_GridComp? @mathomp4

After last fix everything works now with no errors. I've run few diff sets of bcs on both sles12 and sles15

@biljanaorescanin said the string is not replaced. Does that mean the trick does not apply to GEOSgcm_GridComp? @mathomp4

Ah. You figured it out before I could reply. Yeah, it's configure_file :)

@wmputman @sdrabenh @biljanaorescanin : This PR is now ready for merging:

The PR only touches make_bcs and is trivially 0-diff for AGCM and LDAS simulations.
The PR was successfully 0-diff tested for the generation of existing bcs.
The new "v12" bcs have been verified in the offline (land-only) SMAP Nature Run system.  In the offline system, the changes are strictly limited to the small region in Argentina where the erroneous soil parameters were replaced with more sensible values.  I'm happy to share a few slides if you're interested.  In the GCM, a change in one location will obviously impact the rest of the world, but it's fair to assume that the difference between the "v12" and "v11" bcs is not going to change the GCM's climate noticeably.

cc: @rdkoster


can i add a custom sprite in a panel ?

i have try it ,  while after my_sprite:add() used ,
and try to to call  gfx.sprite.update() in the renderFunction() ,
i found out that only the sprite draw , but the layers of this panel cannot be drawn , (even i use the layer.img:draw() loop )
i am not sure is that okey i used my own sprites in the panel .  or maybe something i used not in the right way .
and thank you for your wrok , it is a quite fun tool , i had play with it for couple days . nice work !

I didn't build this with the sprite system in mind, so it may not work. I'm not that familiar with Playdate sprites. Do you have an example project I can look at?

here is the codes: ( it is base on the template from your repo ,  which the file named  4-custom-functions.lua)
i will make some comment for the code that i have tried:
4-custom-functions.lua
-- CUSTOM BEHAVIOR FOR PANEL 2
local gfx  = playdate.graphics
local maxPosition = 60
local minPosition = -100
local layerPosition = maxPosition
local img = gfx.image.new(32, 32, gfx.kColorBlack)         -- init an image for sprite usage
local my_sprite = gfx.sprite.new(img)                                 -- init a sprite with the image
my_sprite:moveTo(200, 120)                                               -- move the sprite to position
my_sprite:add()                                             -- add the sprite to the list , which will be used while  sprite.update() called
-- render is called every frame
-- render is responsible for drawing the entire panel
local function renderPanel2(panel, offset)
--gfx.sprite.update()                            -- in the official SDk , this function should be call in  playdate.update(), so the sprites can be drawn "every frame"  ,  when i put this line here , the sprite can not be seen ,  but other layers of this panel show properly .

local crankChange = playdate.getCrankChange()
layerPosition = layerPosition - (crankChange / 10)

-- constrain layer position
layerPosition = math.min(maxPosition, layerPosition)
layerPosition = math.max(minPosition, layerPosition)

-- draw all the layers in the panel
for index, layer in ipairs(panel.layers) do
	if layer.name == "head" then
		layer.img:draw(layer.x, layer.y + layerPosition)
	else
		layer.img:draw(layer.x, layer.y)
	end
end

gfx.sprite.update()             --if i put in here , the sprite show up ,  and the text "crank it up!" also show up , but other layser did not .
-- draw the text
gfx.drawText("*Crank it up!*", 280, 20)

--gfx.sprite.update()   -- if i put in here , the sprite show up , but all other layers do not show .
end
-- advance is called every frame
local function advancePanel2()
if layerPosition <= minPosition then
return true -- advance to next panel
else
return false -- stay on this panel
end
end
-- reset is called when the panel leaves the screen
local function resetPanel2()
-- reset the layer position
-- in case the user navigates back to this panel
layerPosition = maxPosition
end
-- COMIC DATA
example4 = {
-- sequence 1
title = "Ex 4: Custom Functions",
scrollType = Panels.ScrollType.AUTO,
panels = {
	{ -- panel 1 (normal panel)
		advanceControl = Panels.Input.A,
		layers = {
			{ text = "Example 4", x = 50, y = 70 },
			{ text = "Custom Functions", x = 50, y = 100 },
			{ text = "*Press A to Start...*", x = 50, y = 130,
				effect = { type = Panels.Effect.TYPE_ON, duration = 500, delay = 500 }
			}
		}
	},
	{ -- panel 2 (custom render)
		renderFunction = renderPanel2,
		advanceFunction = advancePanel2,
		resetFunction = resetPanel2,
		layers = {
			{ image = "examples/ex4/1-bg.png", },
			{ image = "examples/ex4/1-body.png", },
			{ image = "examples/ex4/1-head.png", name = "head"},
			{ image = "examples/ex4/1-collar.png"},
		},
	},
	{ -- panel 3 (normal panel)
		layers = {
			{ text = "Continue...", x = 50, y = 100,
				effect = { type = Panels.Effect.TYPE_ON, duration = 300, delay = 500  }
			}
		}
	}

}

}

I took a quick look at the Playdate docs and it seems like it's not possible to mix sprites and images like you are trying to do. Panels is all built on images (not sprites), so I'd recommend just using images. Is there a reason you need a sprite there?
I don't plan to support sprites at all if it means everything in Panels would need to be converted.

thank you for your review .  i just take some try to build a interactive comic  or maybe game combine with  . that's why lead me trying with sprites (since game always used sprites) ,  such as drawing "some rabits running randomly in the screen"  .  if Panels is build on images , is that mean i can call all image's function  ? such as  setMaskImage() , drawBlurred() , drawRotated() etc.  ,  all i need to do is update the image property and place them in the renderFunction , which is call every frame .  and can i use timers , place  playdate.timer.updateTimers() call in the  renderFunction too ?

Yes, technically that should work. But if you want to do much more than some simple interactions, you might consider creating a full game and using Panels comics as cutscenes, instead of trying to embed the game inside the comic panels.
https://cadin.github.io/panels/docs/cutscenes.html


Sample : SonarParametrizedBuild behave strand

When launching jerkar -buildClass=SonarParametrizedBuild
Logs show something like recursion with dependency resolving.


chore: audit code changes

Ideally this PR should be merged after #74, as the commits here show the ones of that branch as well.
But the PR is about solving the painpoints mentioned in #75.

Ive commited files so that each of them represent a pain point that has been solved.


[KYUUBI #3973] Fix a conf fallback for kyuubi-ctl list server when kyuubi-defaults.conf use deprecated zk key

Why are the changes needed?

To fix https://github.com/apache/incubator-kyuubi/issues/3973, we found similar problem during upgrade from 1.5 to 1.6
How was this patch tested?
Manual test on internal cluster, UT will be added later on

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #3997 (f0f167f) into master (ff6b792) will decrease coverage by 0.00%.
The diff coverage is 60.00%.

@@             Coverage Diff              @@
##             master    #3997      +/-   ##
============================================
- Coverage     52.07%   52.06%   -0.01%
  Complexity       13       13
============================================
  Files           529      541      +12
  Lines         29155    29469     +314
  Branches       3891     3939      +48
============================================
+ Hits          15183    15344     +161
- Misses        12587    12718     +131
- Partials       1385     1407      +22

Impacted Files
Coverage Δ

...main/scala/org/apache/kyuubi/ctl/cmd/Command.scala
87.09% <60.00%> (+3.76%)
:arrow_up:

...ubi/plugin/spark/authz/serde/tableExtractors.scala
82.00% <0.00%> (-11.03%)
:arrow_down:

.../kyuubi/server/mysql/constant/MySQLErrorCode.scala
13.84% <0.00%> (-6.16%)
:arrow_down:

...uubi/engine/spark/events/SparkOperationEvent.scala
88.88% <0.00%> (-5.56%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLCommandHandler.scala
77.77% <0.00%> (-4.05%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLGenericPackets.scala
76.59% <0.00%> (-2.13%)
:arrow_down:

...apache/kyuubi/service/TBinaryFrontendService.scala
48.38% <0.00%> (-1.08%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
80.74% <0.00%> (-0.63%)
:arrow_down:

...ha/client/zookeeper/ZookeeperDiscoveryClient.scala
72.10% <0.00%> (-0.53%)
:arrow_down:

...rc/main/scala/org/apache/spark/ui/EnginePage.scala
78.71% <0.00%> (-0.30%)
:arrow_down:

... and 23 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks, merged to master/1.6