IPMI in-band network configuration test

BMC Setup using in-band network setup via IPMI.

https://github.com/openbmc/phosphor-host-ipmid/blob/1500a64704cf558a1d08d1cf0db7a4a3d550989a/docs/ipmitool-commands-cheatsheet.md

[ ] Test to set the static IP via in band

Set the interface mode

ipmitool lan set <channel> ipsrc static
Set the IP Address

ipmitool lan set <channel> ipaddr <x.x.x.x>
Set the network mask

ipmitool lan set <channel> netmask <x.x.x.x>
Set the default gateway

ipmitool lan set <channel> defgw ipaddr <x.x.

Fancy taking this one up @ssombar

U can use the https://github.com/openbmc/openbmc-test-automation/blob/master/lib/ipmi_client.robot#L296 code to do the trick for u.
So create a test case to set the IP and call this with the parameters

is this still needed?

Yup @ssombar we will need this one.

Review completed:
https://gerrit.openbmc-project.xyz/#/c/openbmc/openbmc-test-automation/+/24340/


Fix semantic check for pbr

Copied from the same area in processModelMaterialsCommon. This change must have been added there but forgot to be added to processPbrMetallicRoughness.
Discovered through a bug report on the forum: https://groups.google.com/forum/#!topic/cesium-dev/qMKvqBUGsoE

Coverage decreased (-0.01%) to 86.399% when pulling b666d83aee8e7441dce7ba6fdb705194fa33becc on semantic-fix into b98685963a0afe7f5c5e7f834901951734ec39c5 on 2.0-cesium.

Confirmed to work with the data in the issue linked. Thanks @lilleyse!


Required chart installation name field not validated

When installing a chart, the "name" field is marked as a required field (red asterisk). But when clicking on "Install" the chart is installed even when the name is left empty.

rancher master  https://github.com/rancher/rancher/commit/5aa39182429d810be1278b294aeb396a70fe28aa
CATTLE_DASHBOARD_UI_VERSION v2.5.2-rc5

Removed the star since it's not actually required.

Tested with Rancher server rancher\rancher:master-head version ff16903 and rancher\rancher:v2.5-head version 8d759be
There is no longer a star next to name field. Charts can be installed without a name:


IEnhancedPlugin#Filter doesn't work correctly for Download version of the PlayClub / PlayClubStudio.

Download version of the PlayClub and PlayClubStudio runs "PlayClub.bin" instead of "PlayClub.exe".
For this case, System.Diagnostics.Process.GetCurrentProcess().ProcessName returns "PlayClub.bin" instead of the "PlayClub" that supposed to be returned for the PlayClub.exe.
Here is the quick hack on IllusionInjector.dll, which to be working with both normal version and DL version.
namespace IllusionInjector
{
static class PluginManager
{
    public static IEnumerable<IPlugin> LoadPlugins()
    {
        string pluginDirectory = Path.Combine(Environment.CurrentDirectory, "Plugins");
        string exeName = (System.Diagnostics.Process.GetCurrentProcess().ProcessName);

        if (exeName.EndsWith(".bin"))
        {
            //For DL version
            exeName = exeName.Substring(0, exeName.Length - 4);// Just remove .bin
        }

Can you try if this version works with the DL edition?
IllusionInjector.zip

Thank you so mush , and sorry for delayed response.
I tried, however, it didn't work unfortunately.
Inserting a debug code, I found that the DL version has its install directory name PlayClub"DL", so the StartupPath also returns PlayClubDL.

Aaah, yes, you're right. Does it work with the change you proposed?

Yes. Only changing to "return stringBuider.ToString();", the plugin worked in smoothly.

Thanks a bunch for your assistance!


Tune base.org/learn welcome page for SEO

What changed? Why?
I've followed the AIO SEO report on docs.base.org to apply the feedback for docs.base.org to base.org/learn

Improved the title to have better keywords
Add keywords to the meta description
Add a script to automatically pull the learning objectives for all documents in the program, add them to the page, and crosslink to those documents
Add keywords suggested by ChatGPT from the welcome page and LO list

Notes to reviewers
How has it been tested?

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Next.js integration

This is a placeholder to track the next.js integration work

Related issues:

https://github.com/scalar/scalar/issues/1564
https://github.com/scalar/scalar/issues/495


cannot start using systemd

Hi all, I managed to start the conduwuit server from directly running the binary. But it didn't work when starting with systemd. My system is Ubuntu with x86-64 and the output of journalctl -xe reads as follows

Sep 19 21:56:53 perfect-cats-2.localdomain conduwuit[20839]: 2024-09-19T13:56:53.421930Z  INFO conduit::server: 0.4.6 (8f7ade4) server_name= database_path="/var/lib/conduwuit" log_levels=info
Sep 19 21:56:53 perfect-cats-2.localdomain conduwuit[20839]: 2024-09-19T13:56:53.662172Z  INFO start:open: conduit_database::engine: Opened database. columns=82 sequence=0 time=232.724588ms
Sep 19 21:56:53 perfect-cats-2.localdomain conduwuit[20839]: 2024-09-19T13:56:53.693556Z  INFO start: conduit_database::engine: Closing database... sequence=0
Sep 19 21:56:53 perfect-cats-2.localdomain conduwuit[20839]: 2024-09-19T13:56:53.702451Z ERROR conduit: Critical error starting server: Request error: builder error
Sep 19 21:56:53 perfect-cats-2.localdomain conduwuit[20839]: Error: Request error: builder error
Sep 19 21:56:53 perfect-cats-2.localdomain systemd[1]: conduwuit.service: Main process exited, code=exited, status=1/FAILURE

What'is the problem? I am using the default configuration file with only the server-name changed. The version of conduwuit 0.4.6.

Can you try using the main branch? This might be a bug we have fixed, would like to rule it out first. Artifacts (binary) are at the bottom: https://github.com/girlbossceo/conduwuit/actions/runs/10875974517

Also please try using a debug build from there, and post the logs from that.

Can you try using the main branch? This might be a bug we have fixed, would like to rule it out first. Artifacts (binary) are at the bottom: https://github.com/girlbossceo/conduwuit/actions/runs/10875974517

This solves my problems! It works fine now. Thanks very much!


Add one expm1 test case to cover 0x1p1023

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo<EMAIL_ADDRESS>

What is 0x1p1023 and why does it need extra coverage? Furthermore, why is the negated value not tested?

What is 0x1p1023 and why does it need extra coverage? Furthermore, why is the negated value not tested?

What is 0x1p1023 and why does it need extra coverage? Furthermore, why is the negated value not tested?

Refer to https://github.com/jerryscript-project/jerryscript/blob/8e83638daa24b9f9ffffc83e61d55063e2e9d490/jerry-math/expm1.c#L268

What is 0x1p1023 and why does it need extra coverage? Furthermore, why is the negated value not tested?

Refer to https://github.com/jerryscript-project/jerryscript/blob/8e83638daa24b9f9ffffc83e61d55063e2e9d490/jerry-math/expm1.c#L268

BTW, kind of answer-to-self: 0x1p1023 is a hexadecimal floating point literal with the value of 0x1 * 2**1023. I haven't used them, like ever.

BTW, kind of answer-to-self: 0x1p1023 is a hexadecimal floating point literal with the value of 0x1 * 2**1023. I haven't used them, like ever.


Excercise 6: Error Message

Not sure why I got this error message... It is following the convention that was stated in the question.

Oh I see. Thank you!


FIXED & Updated the UI of Travel Itinerary

Fixes : #2002
Description
I removed the extra h1 heading Travel Itinerary
and changed the flex direction of Itinerary list as Row-wise from Column-wise.
Type of PR

[*] Bug fix
[*] Feature enhancement

Screenshots / videos (if applicable)
Before
https://github.com/user-attachments/assets/d32b507f-8e73-44ca-9cf7-065c2de8f0a5

After
https://github.com/user-attachments/assets/84413fa3-9adb-4431-8f66-8fb5bd3845b5
Checklist:

[*] I have made this change from my own.
[*] My code follows the style guidelines of this project.
[*] I have performed a self-review of my own code.
[*] My changes generate no new warnings.
[*] I have tested the changes thoroughly before submitting this pull request.
[*] I have provided relevant issue numbers and screenshots after making the changes.

@PriyaGhosal Please review it, when you're available


install-latest-npm installs incompatible npm version for node 14.17

Operating system and version:
Fresh Ubuntu 20.04.5 container (though this also occurs on my macOS 12.6 host)
nvm debug output:

nvm --version: v0.39.3
$SHELL: /bin/bash
$SHLVL: 1
whoami: 'root'
${HOME}: /root
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v14.17.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 5.0.17(1)-release (aarch64-unknown-linux-gnu)'
uname -a: 'Linux 5.15.82-0-virt #1-Alpine SMP Mon, 12 Dec 2022 09:15:17 +0000 aarch64 aarch64 aarch64 GNU/Linux'
checksum binary: 'sha256sum'
OS version: Ubuntu 20.04.5 LTS
random-funcs:       srandom/random
regex-funcs:        internal
compiled limits:
sprintf buffer      8192
maximum-integer<PHONE_NUMBER>
awk: /usr/bin/awk, mawk 1.3.4 20200120
curl: /usr/bin/curl, curl 7.68.0 (aarch64-unknown-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
wget: not found
git: not found
grep: /usr/bin/grep (grep --color=auto), grep (GNU grep) 3.4
sed: /usr/bin/sed, sed (GNU sed) 4.7
cut: /usr/bin/cut, cut (GNU coreutils) 8.30
basename: /usr/bin/basename, basename (GNU coreutils) 8.30
rm: /usr/bin/rm, rm (GNU coreutils) 8.30
mkdir: /usr/bin/mkdir, mkdir (GNU coreutils) 8.30
xargs: /usr/bin/xargs, xargs (GNU findutils) 4.7.0
nvm current: v14.17.0
which node: ${NVM_DIR}/versions/node/v14.17.0/bin/node
which iojs:
which npm: ${NVM_DIR}/versions/node/v14.17.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v14.17.0
npm root -g: ${NVM_DIR}/versions/node/v14.17.0/lib/node_modules

nvm ls output:

->     v14.17.0
default -> 14.17.0 (-> v14.17.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v14.17.0) (default)
stable -> 14.17 (-> v14.17.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.2 (-> N/A)
lts/gallium -> v16.19.0 (-> N/A)
lts/hydrogen -> v18.13.0 (-> N/A)

How did you install nvm?

Using the install script in a fresh Ubuntu 20.04.5 container:
Host:
docker run --rm -it ubuntu:focal bash

Container:
apt-get update -qq && apt-get install -yq curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc

What steps did you perform?
Ran the following in the container:
nvm install 14.17.0 --latest-npm
nvm install-latest-npm

What happened?
The first command installed node v14.17.0 and npm v6.14.13.
The second command updated npm to v9.3.1.
What did you expect to happen?
The first command works as expected. However, install-latest-npm should not have updated the npm version to v9.3.1, which is incompatible with the current node version v14.17.0. It should have been a no-op, keeping the version of npm at v6.14.13.
Is there anything in any of your profile files that modifies the PATH?

Nope, reproduces in a bare docker environment.

The first command, due to the --latest-npm, should have updated npm such that the second nvm install-latest-npm line is a noop.
That said, on node 14.17, npm 9 is indeed supported, and if it's not working, please file a bug with npm - you can verify this by running npm show npm engines which shows that npm 9 latest supports ^14.17, which matches your node version.

Ah, sure enough - you can see the issue in the arg parsing while loop of the install command. It more or less assumes that the version is passed last, as it will break out immediately if the version is passed before then since it doesn't match any of the cases.
Hence why the current test passes with NVM_DEBUG=1 nvm install --latest-npm 4.2.2. It would seem there are even some tests that are likely false positives.
I'd be happy to put together a PR with updated tests for this, if that'd be alright.

ah, gotcha - so the first command should have been nvm install --latest-npm v14.17.0 :-) either way tho, npm 9 is expected.
More than happy to review a PR with additional tests, thanks!


doc: fix typo

What this PR does / why we need it:
Fixes a typo
Which issue(s) this PR fixes:
(no open issue for this)
Special notes for your reviewer:
Thanks for this awesome project!

Thank you @dattito for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.


Add to bower

ethjs is currently in NPM
It would be great if it was in bower also.

oh, great idea, currently I only really push to npm on a regular basis but I could support it. Does that only intake .dist files though?

A PR is welcome for this @ethernomad ?


MIP-M21 Unwrapper Adapter Upgrade

command:
forge script src/proposals/mips/mip-m21/mip-m21.sol:mipm21 --fork-url moonbeam -vvv

output:
== Logs ==
  deployerAddress:  0x3073fCAD986fbE9F94CC6Caa44f76c12e34516d4
  Governance proposal with 2 actions.
  [encoded data, 15498 characters]
  governor calldata
  [encoded data, 15498 characters]

------------------ Proposal Actions ------------------
  1). Upgrade wormhole bridge adapter to wormhole unwrapper adapter
  target: 0xb0eE65140C89a24Db5931D7DDF2c2a7c6f1d9f5B
value: 0
payload
  0x99a88ec4000000000000000000000000734abbce07679c9a6b4fe3bc16325e028fa6dbb700000000000000000000000085b6cb73b076309616dba529fa2b20e2a0a9eee9

  2). Set lockbox on wormhole unwrapper adapter
  target: 0x734AbBCe07679C9A6B4Fe3bC16325e028fA6DbB7
value: 0
payload
  0x435350b70000000000000000000000000d45033775b290d69462944289b7a402a651b460

  New addresses after deploy:
  New addresses after deploy:

I got the same proposal actions when I run it on my machine:
------------------ Proposal Actions ------------------
  1). Upgrade wormhole bridge adapter to wormhole unwrapper adapter
  target: 0xb0eE65140C89a24Db5931D7DDF2c2a7c6f1d9f5B
value: 0
payload
  0x99a88ec4000000000000000000000000734abbce07679c9a6b4fe3bc16325e028fa6dbb700000000000000000000000085b6cb73b076309616dba529fa2b20e2a0a9eee9

  2). Set lockbox on wormhole unwrapper adapter
  target: 0x734AbBCe07679C9A6B4Fe3bC16325e028fA6DbB7
value: 0
payload
  0x435350b70000000000000000000000000d45033775b290d69462944289b7a402a651b460

Verifying calldata:
== Logs ==
  deployerAddress:  0xc191A4db4E05e478778eDB6a201cb7F13A257C23
  Governance proposal with 2 actions.
  [encoded data, 15498 characters]
  governor calldata
  [encoded data, 15498 characters]

----------------- Proposal Actions ------------------
  1). Upgrade wormhole bridge adapter to wormhole unwrapper adapter
  target: 0xb0eE65140C89a24Db5931D7DDF2c2a7c6f1d9f5B
value: 0
payload
  0x99a88ec4000000000000000000000000734abbce07679c9a6b4fe3bc16325e028fa6dbb700000000000000000000000085b6cb73b076309616dba529fa2b20e2a0a9eee9

  2). Set lockbox on wormhole unwrapper adapter
  target: 0x734AbBCe07679C9A6B4Fe3bC16325e028fA6DbB7
value: 0
payload
  0x435350b70000000000000000000000000d45033775b290d69462944289b7a402a651b460

New calldata:
== Logs ==
  deployerAddress:  0xc191A4db4E05e478778eDB6a201cb7F13A257C23
  Governance proposal with 2 actions.
  [encoded data, 14666 characters]
  governor calldata
  [encoded data, 14666 characters]


implement wrappers for agents

implement wrappers to run agents as scripts by executor job. the following are list of desired agents:

Cluster fence operation - E.g: 1) cordon node 2) cleaning resources - deleting pods from apiserver.
https://github.com/ClusterLabs/fence-agents/tree/master/fence/agents/aws - Cloud provider agent for rebooting ec2 machines.
https://github.com/ClusterLabs/fence-agents - Scripts for executing pm devices.
https://github.com/ClusterLabs/fence-agents/blob/master/fence/agents/compute/fence_compute.py -
Fence agent for the automatic resurrection of OpenStack compute instances.
https://github.com/ClusterLabs/fence-agents/tree/master/fence/agents/vmware_soap - Cloud provider agent for rebooting vmware machines.
https://github.com/ClusterLabs/fence-agents/tree/master/fence/agents/rhevm - Cloud provider agent for rebooting oVirt hosts.

Current implementation uses hard-coded implementations in fence-scripts folder, in agent.go we define map entry for each agent script. This map should be loaded dynamically from specific path /usr/libexec/fence-agents/. all fence scripts should be copied to this dir for executor pod\job. when executor starts it loads all scripts and create agents map.


logging: add log gathering scripts

fixes #783

Since the terraform scripts are the ones that run e2e, can we add this there too?
This is the jenkins configuration for those without access
#!/bin/bash
set -euo pipefail

#build bootkube
./build/build-release.sh

cd hack/terraform-quickstart

# install terraform
curl -L -O https://releases.hashicorp.com/terraform/0.9.6/terraform_0.9.6_linux_amd64.zip
unzip terraform_0.9.6_linux_amd64.zip
export PATH=$PATH:$PWD

export TF_VAR_access_key_id=$ACCESS_KEY_ID
export TF_VAR_access_key=$ACCESS_KEY
export TF_VAR_instance_tags="bootkube-pr-e2e"
export TF_VAR_resource_owner="bootkube-pr-e2e"
export TF_VAR_ssh_key="jenkins-core-services"
export TF_VAR_additional_masters=0

# these are default values but lets be explicit
export TF_VAR_num_workers=1
export TF_VAR_self_host_etcd="false"
export TF_VAR_region="us-east-1"

# bring up compute
./terraform apply

# sleep so ssh works with start-cluster
sleep 30

#avoid some IPs being blank bootkube/issues/552
./terraform refresh

#launch bootkube via quickstart scripts
./start-cluster.sh

#run tests -- mount /tmp for access to ssh agent
BOOTKUBE_ROOT=$(git rev-parse --show-toplevel)
sudo rkt run \
    --volume bk,kind=host,source=${BOOTKUBE_ROOT} \
    --mount volume=bk,target=/go/src/github.com/kubernetes-incubator/bootkube \
    --volume tmp,kind=host,source=/tmp \
    --mount volume=tmp,target=/tmp \
    --set-env SSH_AUTH_SOCK=$SSH_AUTH_SOCK \
    --insecure-options=image docker://golang:1.8.3 --exec /bin/bash -- -c \
    "cd /go/src/github.com/kubernetes-incubator/bootkube/e2e && \
    go test -v -timeout 45m \
    --kubeconfig=../hack/quickstart/cluster/auth/kubeconfig \
    --expectedmasters=1 \
    ./e2e/"

good idea. will do

We might also want to add a post-build action step to jenkins.

@rphillips maybe add something to the pod-build script like:
if [ -f "gatherlogs" ]
then
  ./gatherlogs
fi

Then use this PR to test your changes?

@rphillips I don't see anything in the jenkins job to actually run these scripts

@ericchiang all your comments addressed

coreosbot run e2e

coreosbot run e2e

coreosbot run e2e

coreosbot run e2e

tests are finally green... I'm going to do one more test with a tweak to the environment to set the ttl duration to 30 minutes or so.

coreosbot run e2e

coreosbot run e2e

e2e failed again :/
17:07:38 [211647.616257] golang[6]: --- FAIL: TestReboot (716.16s)
17:07:39 [211647.619712] golang[6]: 	reboot_test.go:25: rebooting 2 nodes
17:07:39 [211647.620132] golang[6]: 	reboot_test.go:43: waiting for control plane: get pods in kube-system: Get https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods: dial tcp <IP_ADDRESS>:6443: getsockopt: connection refused

I'm inclined to merge because we've still been seeing these failures and more logs are better than fewer.
Any thoughts?

I agree


Device name doesn't work properly (at least in Ubuntu)

I'm using this great library in Ubuntu 12.04. I don't know if this is an issue in Ubuntu or Bleno, but here I go:
The name specified using Bleno seems to be used only in the advertisement, but it is not the name provided bythe  0x1800 primary service. The service replies 'ubuntu' as the name.
More specifically:
If I define the name 'myName' using:
bleno.startAdvertising('myName', ['fff0']);
I get the next result:

In LightBlue (iOS):

It detects a peripheral showing the name 'ubuntu', although in a small typography it also indicates 'myName'. I guess the small typography shows the contents of the advertisement, but LightBlue considers the name to be ubuntu.

In nRF Master (Android)

It shows 'myName' as the name before connecting.
However, if I request the value of the characteristic 0x2A00 (Device Name) in the primary service 0x1800, I get the value 'ubuntu'.

Considering these observations, it seems that ubuntu adds its own 0x1800 primary service to my peripheral.
I have tried to overwrite this service defining my own 0x1800 primary service, with my own 0x2A00 (Device Name) and 0x2A01 (Appearance) characteristics. However, it doesn't work. nRF Master detects two 0x1800 services, the 'ubuntu' service is still there.
Do you think this could be a bug in Bleno? or Ubuntu will always define its own name characteristic?

@SynerG a791a99 addresses this ...

Great @sandeepmistry, I see you have finally solved it using an environment variable. Thank you


Limit Python.gitignore to 79-character line length

Improves readability of notes, also matches Python line length standard
Reasons for making this change:
There are currently 2 optional lines in Python.gitignore that are accompanied
with commented notes explaining reasons why you might want to enable them.
However, these notes are somewhat long and may decrease readability
for persons using 80-column terminals that want to inspect the file.
Before, using nano:

After, the user can immediately read the note in its entirety:

Why specifically 79 instead of 80?
Because 80-column Emacs windows start wrapping at 79:

This is also "supposedly" why PEP8 enforces 79 chars instead of 80
Lastly, if you're OC like I am 😅, you might prefer all the project's source
files to follow the same max line length standard, not just python files
Links to documentation supporting these rule changes:
Some reasons why to keep the 80-column rule
Why 80-column rule is still worth sticking to even today

Thank you for the contribution. I assume a macro or script is available to update line lengths for nano and eMacs. This change does not seem justifiable.
At least, to what end? The focus on this repo is source control and not on ergonomics.
Let me know if there is a consensus or justification for 80 chars in the Python community.

After polling the community, it seems if most folks use 120 chars due to that being the VS Code default. This request does not cover a broad enough member of the Python/Dev community.
Feel free to reopen if you can prove otherwise.

[ ] @@@


staging config

Is there a way I can setup the environment manually? the dev/prod thing is not enough for me, I have some builds that are built as release (public betas) and I need to separate dev, staging and production.

This might not be a great solution, but my suggestion is that you could keep different .env files and add a script to copy it to root folder based on different build environment.

Sadly, I think the use case is a bit complex and scripts would not be the best option here... I tried using react-native-config and that adapted better to this use case, so I'll close this.


redis proxy: auth not work when using file monitor cds

Title: redis proxy: auth not work when using cds
Description:

What issue is being seen? Describe what should be happening instead of
When I using cds to dynamic config my cluster config, auth is failed.

Repro steps:

run docker-compose up --build -d at examples/redis/ dir with below config.
I put the configs into my branch
Config:

Include the config used to configure Envoy.

envoy-dynamic.yaml

node:
  id: id_1
  cluster: test

dynamic_resources:
  cds_config:
    path: "/etc/cds.yaml"

static_resources:
  listeners:
  - name: redis_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 1999
    filter_chains:
    - filters:
      - name: envoy.filters.network.redis_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.redis_proxy.v3.RedisProxy
          stat_prefix: redis
          prefix_routes:
            catch_all_route:
              cluster: redis_cluster
          settings:
            op_timeout: 5s
          downstream_auth_password:
            inline_string: "123"

admin:
  access_log_path: "/dev/null"
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 8001

cds.yaml

version_info: "0"
resources:
- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster
  name: redis_cluster
  connect_timeout: 1s
  type: STRICT_DNS # static
  lb_policy: MAGLEV
  typed_extension_protocol_options:
    envoy.filters.network.redis_proxy:
      "@type": type.googleapis.com/envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions
      auth_password:
        inline_string: "123"
  load_assignment:
    cluster_name: redis_cluster
    endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 6379

Logs:

Include the access logs and the Envoy logs.

$ redis-cli -h localhost -p 1999
localhost:1999> auth 123
OK
localhost:1999> set x y
(error) NOAUTH Authentication required.

seems solved by recent commit.


X button doesn't work on terminal window.

The x button to close the terminal window doesn't seem to be working right now.

Thanks for logging these issues, @jordwalke - actually got to this one already (fixed w/ https://github.com/onivim/oni2/pull/3556)


BACKEND: Generates state and national data from county data

Description

changes Vera flow to iterate over national and state in addition to county
higher level data is generated from the county values by summing raw cols and recalculating the per_100 as group_condition_count / group_population * 100_000
[ ] updates test mocking to allow for mocked merging of state names in addition to the county names

Motivation and Context

closes #2025
#1699
Has this been tested? How?

python tests updated to expect time-based data across multiple years in multiple counties in multiple states
Screenshots (if appropriate):
Types of changes

New feature (non-breaking change which adds functionality or updates content)

Which of our user persona(s) will this feature primarily benefit and how?

Informer: helps everyday people understand important current events (e.g. journalists working in storytelling settings)
Persuader: passage of legislation by presenting concise and compelling arguments (e.g. staff members, policy advisors in legislative or nonprofit settings)

Providing NATIONAL and STATE level time-data makes it that much more accessible to the general user

UPDATE: called DC office phone number and left a message regarding our intention to do more with the county level data; hoping to receive direct contact with Vera and can walk through our questions re: summing the county data and ask about updating the GitHub and/or accessing their internal API


Theme accessibility

Web accessibility is very important. For a syntax highlighting library this is particularly relevant when it's used for a website that is meant to be used by many users, some of whom may not have perfect vision and struggle to read code highlighted with themes that have a low contrast. The WCAG web accessibility standard  defines the following AA success criteria:

The visual presentation of text and images of text has a contrast ratio of at least 4.5:1

Currently highlight.js already comes with several themes that meet this criteria. However most themes that come with highlight.js do not meet WCAG AA. I don't think that this is a problem per se, since highlight.js might be used just for e.g. just a personal application where the user chooses can choose their own color theme as they wish.
I do however think that highlight.js should address two things:

If highlight.js comes with themes that do not meet WCAG AA, the Demo should raise awareness about which themes have a high contrast and which themes don't. This could be as simple as dividing the themes list in Themes with high contrast, Themes with lower contrast and linking some informative web page that explains when/why this matters.

I find it problematic that the Default theme does not meet WCAG AA. I think either it's colors should be changed to meet WCAG AA or it should be renamed to something else (maybe Legacy Default). This is important because accessibility by default is important. (And also because the README currently suggests using default.css).

To get this started I opened the pull request #3390 which calculates the minimum WCAG contrasts for each theme and asserts that they are the same as defined in test/contrast/min_contrasts.json. (Contrasts can still be decreased but not accidentally).

I find it problematic that the Default theme does not meet WCAG AA.

This for sure seems like a valid criticism.   I don't think we can majorly change our default theme in a minor release, but if it would only require some smaller contrast changes I could imagine slipstreaming into the next v11 release.
How far off are we exactly currently?

The worst contrast of the default theme currently has a ratio of 2.4:1 (as you can tell by looking at the JSON file of my PR). Contrasts can be easily improved with Chrome's developer tools (which let you snap colors to the most similar color that fulfills WCAG AA).

@not-my-profile Have you visited the https://prismjs.com project yet?  If you have an issue open over there (or on any other code highlighters) I'd love a link.   In some quick playing around it seems 4.5:1 is actually pretty hard to hit in some cases without severely limiting color selection (I was playing around with our default theme).  Before you brought it up I would not have guessed that "most themes that come with highlight.js do not meet WCAG AA"...  I'd be very curious to hear some other highlighters perspectives on WCAG AA accessibility and how the standard should be applied to code highlighting (as a sub-genre of text).
Have you done any study of the full Base16 themes I wonder?    They should be trivial for you to analyze.  I wonder how many of those would be WCAG AA.  Perhaps another project for you to look at next that could have a large impact (on many sites, editors, etc) - if you got the theme designers to care.
I think your laser focused bullet points here were good.  Having a more accessible default theme certainly can't hurt - users are after all always free to discard it if they don't like it - so it forces no ones hand.  I'll make an issue to tighten it up a bit for the next release, though perhaps not fully to 4.5:1... I've added a TODO for making both our light and dark default themes WCAG AA compliant to for version 12. #3219

the Demo should raise awareness about which themes have a high contrast and which themes don't

I'm thinking this could quite likely be 100% done on the client-side be analyzing the colors real-time when a theme is selected so the UI could say "high contrast" or "low contrast" or even show the range... that doesn't "divide" anything but ti does make it immediately clear at a glance what the contract of an individual theme is.
Side note: It's also impossible for us to know the size (or weight, or font) the code is ultimately going to be rendered at in the wild (our CSS doesn't force size), which obviously provides some wiggle room I think - this is obviously a "spectrum" out in the real world (where the themes are used) - it's impossible to look at our CSS alone and pass/fail it - you'd need to also know how it was deployed (font size, weight, font itself, etc)... I'm not sure WCAG takes all those things into consideration but obviously it's clear they all impact accessibility with regards to contrast and readability.
I say that only to point out that any contrast numbers calculate off of just the colors alone are going to be subject to some wiggle room...

and linking some informative web page that explains when/why this matters.

I'm not opposed to a small blurb in the README (or link in the demo), but I ultimately this is an implementors issue (and always has been) - doubly so if we implement the two bullets points you suggest above.

So if your goal here is having some immediate impact:

I've just created #3393 for improving our default themes, which should land in the next release or two, even if it's not "perfect" WCAG AA. This will improve accessibility for anyone who version bumps and uses our default themes.
How about providing a suggested blurb for the README about theme accessibility... (or a PR with just that single doc fix)
I'll still circle back to your other PR, but right now I'd be a lot more open to doing this high/low contrast analysis on the client-side in the Demo live (as suggested above). IE, simply telling people when clicking thru random themes how accessible the theme they are looking at may or may not be.

If you have an issue open over there (or on any other code highlighters) I'd love a link.

I have previously raised the same issue with Pygments (https://github.com/pygments/pygments/issues/1718) and they have been very responsive.

Have you done any study of the full Base16 themes I wonder?

No, I haven't.

I've added a TODO for making both our light and dark default themes WCAG AA compliant to for version 12.

Thanks!

I'm thinking this could quite likely be 100% done on the client-side be analyzing the colors real-time when a theme is selected so the UI could say "high contrast" or "low contrast" or even show the range... that doesn't "divide" anything but ti does make it immediately clear at a glance what the contract of an individual theme is.

You have 242 styles. I really don't think that users should have to click through each of them to find the ones that have a high contrast. I believe highlight.js should make it as easy as possible for implementors to pick an accessible style (if they choose to care about that). (Hence my PR).

It's also impossible for us to know the size (or weight, or font) the code is ultimately going to be rendered at in the wild (our CSS doesn't force size)

Yes for 18 point large text (that's 24px) a contrast ratio of 3:1 suffices to meet WCAG AA. In practice that doesn't apply to most highlighted code because:

How about providing a suggested blurb for the README about theme accessibility

Sure that wouldn't hurt. I still think that showing that information on the Demo is more important since any note in the README can be easily missed.

I wrote a small Python script to check how Pygments styles fare when judged according to the WCAG contrast standard.

Was this not possible with our CSS because of it's complexity?  Just posting a simple list like you posted on the Pygments thread would have been super useful (to kickstart the discussion) and sounds like it might have required far less of your time than your original PR.

you just inspect the offending text and click a button

Yes, the key part was "without severely limiting color selection"... I was playing with another tool and it was easy to move the slider but very quickly all the colors turn VERY dark... it seems a very limited dynamic range that fits in 4.5:1... (when your BG is white/light grey)

[Re: Base16 themes] No, I haven't.

Perhaps you'd point your script at them? Here are ones built with our template:
https://github.com/highlightjs/base16-highlightjs/tree/main/themes
These include only #000000 style html colors I believe, so I think you should find them easy to parse...  Would be curious to see the results if it's easy for you to get them.

You have 242 styles. I really don't think that users should have to click through each of them to find the ones that have a high contrast. I believe highlight.js should make it as easy as possible for implementors

I take your point.  I think we're coming at this from very different perspectives.  I imagine most implementors would find a theme they liked first visually - which kind of requires "clicking thru them all"... then perhaps they check how accessible it is... perhaps they'd be happy with 4.3:1... ...where-as you imagine someone saying "I deeply care about accessibility, show me only high contrast".  :-)
If we're going to surface this in Demo I think we we should calculate this during the Demo build process (with a smart analysis tool that doesn't force CSS rules on us and actually examines the final built CSS, not the raw source), not during CI.

Yes for 18 point large text (that's 24px) a contrast ratio of 3:1 suffices to meet WCAG AA. In practice that doesn't apply to most highlighted code because:

I was just pointing out it's technically a "sliding scale" as the WCAG even seems to acknowledge: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-large-scale The sudden jump from 3 to 4.5 is a bit well, sudden... it'd be more realistic to scale the contrast ratio with the text size...  The point of a standard is having a standard, so given an exact example you can indeed say pass/fail... but I'd suggest that if we're being honest then 23px large text that's 3.2:1 is probably within the "spirit" of the standard, even if not the letter. :-)

Ok here is what I whipped up really fast on top of our existing theme checker: #3394

It's not dealing with all the CSS variations yet (but as you pointed out the tools are out there, such as color-name, etc - we'd just need to plug them in)... and this feels much more in line with the type of tooling we'd like to use.  It'd be pretty easy to break this out into a tiny analysis lib that just takes the raw CSS... and then provides a stats object with best/worst/median/etc... which could be directly plugged into the Demo builder.
So... given that this seems easy enough to iterate on... the next step would be decided how Demo should leverage this information.

@Hirse You've played with the Demo stuff a bit I think... any thoughts on UI for this? We need a segmented list or toggle or filter or something... Is it just a dichotomy we want to offer- high vs low contrast?  Or perhaps we just leave it aptly as it us but add a tiny WCAG badge next to "winning" themes... though I imagine the original requestor here would prefer to see them grouped?
@not-my-profile Did you have any specific ideas of how to surface this on Demo?  Should I assume you think showing the actual WCAG numbers is important?  If so, which? Worst? Average? Median?
I'm still also struggling with which exact numbers to use... to me a theme isn't bad just because a single rarely-used scope is a bit low contrast if 99% of the text is still high contrast.  That's something I think we should make an effort to take into account when declaring segmenting themes.  If someone wants to be a stickler about it - that's a good reason to surface the actual WCAG numbers somewhere.

Thanks @not-my-profile for starting this conversation. I have been thinking of theme accessibility before, but never got started.
@joshgoebel, I was thinking of exposing accessibility classification (and light/dark status) as icons in the theme list. Here's a quick example using emoji where the wheelchair stands for AA/contrast>=4.5 and the guide dog for AAA/contrast>=7.

The actual contrast value is available as a tooltip.

We could then add a toggle to only show accessible themes.

(I would like to find better symbols, preferably something like , but unicode is just so easy for testing.)
For classification, I used the values calculated in #3390. Generally, I think we should be strict and use the min-value when using the calculation in #3394.

I agree with @Hirse that you should be strict.

to me a theme isn't bad just because a single rarely-used scope is a bit low contrast if 99% of the text is still high contrast. [..]  If someone wants to be a stickler about it [..]

There are certain service sectors where websites are legally required to meet WCAG AA. It's also not uncommon for WCAG AA compliance to be part of a contract for commissioned work. 99% does not cut it in those cases.

I don't think you should display a 🚫 for each stye that doesn't meet AA.

Agreed, this isn't a shaming.

There are certain service sectors where websites are legally required to meet WCAG AA.

I'm not suggesting we should misrepresent whether a theme is WCAG AA or not, but we could have our own designation too... so themes could be high contrast (in our humble opinion), AA, or AAA... but no use in arguing about that until we see what the actual breakdown looks like in the first place. :)

Yeah, maybe instead of icons just a little AA style pills could work... I think that would be an easy start.

I'm not sure I have time to push this to the home plate fully right now but I'll try to finish up the "rough shape" of things and then update my PR and someone else could pick it up and run with it the rest of the way or it could wait until I have time to circle back.
@Hirse Maybe you'd be interested, all you'd need to do is work on the client-side display/filtering pieces... should be pretty simple.  I think we could have the same "pills" (vs icons) beside the title and those serve as button "selectors" to filter for just themes matching that criterion ...
Now I'm thinking we could have "Dark" and "Light" filters also since that out to be easy to do while we're analyzing the colors, but we'll see. :-)

A beginning.  Themes in the Demo now have badges.  I updated my PR.

@Hirse The whole A display:block will have to be revisited though. :-)

Actually labeling every theme light or dark (right beside it) might be a bit much be we could decide to hide some badges and still use them for filtering... since filtering by light dark would be nice for someone who has ONLY interest in one or the other.

@joshgoebel Happy to work on the front-end. :)
I tried your badges, but it indeed gets quite busy. There's also an issue with badges wrapping to the next line:

Since every theme is either light or dark, I also tried adding a marker in the front, but I'm not sure the icon is clear enough:

How about dividing themes by light and dark?
Light themes

Theme 1
Theme 2
Theme 3

Dark themes

Theme 4
Theme 5
Theme 6

(but still having both in the same scrolling container)

I feel like that only works if they are collapsible or we have some sort of table of contents. Or maybe I'm just imagining what the UI would look like. It would have to be clear that if you scroll they were dark themes below. ￼
That doesn't necessarily solve the badge floating onto the next line problem. You could solve that with a nonbreaking space but then you might end up where the badges are so far to the right that they can't be seen at all. ￼

Ok on second thought I think that filtering is the way to go  (as opposed to always separating light and dark). Since the sidebar already feels overloaded with the two scrolling lists, may I suggest moving the language categories from the sidebar to an absolutely positioned horizontal tab list on top of the main area? Then we could easily add the theme filters above the theme list.

Also note that I think we should make the .current styling way more prominent.
Also also while you're at revamping the demo, how about making the current selection sharable by sharing the URL? That is updating the location.hash each time you change your selection (e.g. #common/default)?

how about making the current selection sharable by sharing the URL?

I don't see sharing as a common use case here...

Ok on second thought I think that filtering is the way to go

The filtering stuff looks nice... I'm not convinced any of this requires moving the language filters to the right side though... filtering could easily be added under "Themes" as it stands now. Though I wonder if Light/Dark should just be a dropdown like with contrast...

I think we should make the .current styling way more prominent.

No disagreement here.   :-)

Seeing that https://highlightjs.org/ still does not raise awareness about accessibility, maybe you can take some inspiration from https://pygments.org/ for which I have since implemented such changes.

https://pygments.org/styles/ now lists styles with a good contrast first and styles with a lower contrast only after the paragraph:

The following styles do not meet the WCAG 2.1 AA contrast minimum, so they might be difficult to read for people with suboptimal vision. If you want your highlighted code to be well readable for other people, you should use one of the earlier styles instead.

https://pygments.org/demo/ separates the styles in the <select> into two <optgroup> (good contrast & suboptimal contrast) and selecting a style with a suboptimal contrast shows the warning "style may have poor contrast".

I provided thoughts a day later on your mockup above... but the languages on the right side is bugging me less now than it was at my first glance... do you have this mockup/version actually implemented somewhere?  If so a PR that I could play around with in person might lead to some progress here...

No, sorry that was just a quick mockup, I haven't implemented it. And I am currently busy with other projects.


setup_carla.sh does not find the download files

Hi,
Thank you for an amazing repo! I run in to a problem when installing carla with your setup_carla.sh script.  I get the following error:
https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_<IP_ADDRESS>.tar.gz
Resolving carla-releases.s3.eu-west-3.amazonaws.com (carla-releases.s3.eu-west-3.amazonaws.com)... <IP_ADDRESS>, <IP_ADDRESS>
Connecting to carla-releases.s3.eu-west-3.amazonaws.com (carla-releases.s3.eu-west-3.amazonaws.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-02-29 08:59:44 ERROR 404: Not Found.

https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/AdditionalMaps_<IP_ADDRESS>.tar.gz
Resolving carla-releases.s3.eu-west-3.amazonaws.com (carla-releases.s3.eu-west-3.amazonaws.com)... <IP_ADDRESS>, <IP_ADDRESS>
Connecting to carla-releases.s3.eu-west-3.amazonaws.com (carla-releases.s3.eu-west-3.amazonaws.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-02-29 08:59:44 ERROR 404: Not Found

Thank you for all help!

Looks like the AWS servers for the CARLA release is just down.
Perhaps you can try the dockerhub CARLA instead (just need to run CARLA inside the docker container then).
docker pull carlasim/carla:<IP_ADDRESS>

Thank you, will do so!


Ghost can be disarmed

Description
Admin ghosts or ghosts with hand can be disarmed by normal players
Reproduction

Be an adminghost
Have a weapon in hand
Get disarmed by the Urist McPassenger

The admin should become more robust

If aghosts are invisible to players, how does this even happen?

If aghosts are invisible to players, how does this even happen?

as the person who caused lucky to discover this bug, it was in centcom while ghosts were visible to players. I was able to disarm lucky and knock the desword they were holding out of their hands.


fix: old list widgets incorrect page size (#12443)

Description
hotfix: #12438 (cherry picked from commit 50efc6)
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Manual
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=05bbbf1

/ok-to-test sha=8e6385a


[ F 6.0.4 - Tooltips ] want use tooltips as a container

I want to use the tooltips as a container to put html code in.
How can I do this ?

You can pass your own template back in an option, or alter the tooltip div via jquery/vanilla js.
var tip = new Foundation.Tooltip($('selector'),
  {template: '
Whatever you want...
'});

or
 I has tip

or
$(document).foundation();
//hurray Foundation loaded...
$('.tooltip').html('
Whatever you want...
');


Build failure: tribler

Steps To Reproduce
Steps to reproduce the behavior:

build tribler

Build log
$ sudo nixos-rebuild switch
building Nix...
building the system configuration...
error:
       … while calling the 'head' builtin

         at /nix/store/9279294brnf4ab2hw8jsd102ki9bafp7-nixos-23.11/nixos/lib/attrsets.nix:922:11:

          921|         || pred here (elemAt values 1) (head values) then
          922|           head values
             |           ^
          923|         else

       … while evaluating the attribute 'value'

         at /nix/store/9279294brnf4ab2hw8jsd102ki9bafp7-nixos-23.11/nixos/lib/modules.nix:807:9:

          806|     in warnDeprecation opt //
          807|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          808|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: asynctest-0.13.0 not supported for interpreter python3.11

Notify maintainers
@xvapx  and @viric
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.82, NixOS, 23.11 (Tapir), 23.11.5541.56528ee42526`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

According to hydra the build is successful on master.

I don't know hydra but on my fresh install of nixos Gnome 23.11, it fails with the error given above.

replicated on nixos-23.11 but not on nixpkgs-unstable.
seems like something needs backporting.

It works on 24.05.


A way to clone the suite in the same plan

The tcm suites /clone does not allow copying the suite within the same plan. This may sound weird as MTM does. And indeed this is a senseless limitation which you can easily overcome by creating a temporarily "proxy" plan, copying the source to proxy and then proxy to target within the same plan source is in.

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

ID: 89c0b4f2-6754-f147-6681-759d06027c4f
Version Independent ID: 981f81b2-3c4c-c26b-d36a-61cfe9594e0c
Content: Copying and cloning test suites and test cases
Content Source: docs/test/mtm/copying-and-cloning-test-suites-and-test-cases.md
Product: devops
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

Thank you for your feedback. I have passed this on to the product team for advice.

I'm using Azure Test Plans since MS Test Manager is now obsolete. I saw the FAQ link at the beginning of this article (https://docs.microsoft.com/en-us/azure/devops/test/reference-qa?view=azure-devops#copyclonetce).
I'm very interested in copying test suites inside the same test plan as we are using static suites for testing activities and we want to easily re-use the test cases inside those test suites without having to manually add them using "Add existing" since there can be a lot to add (100+) and they have different area path/iteration path which is why we cannot use multi-selection in the "Add existing" query window.
I will try what is suggested in the FAQ but it doesn't look that straightforward; I'll update my comment if I succeed.
"Q: Can I copy or clone test plans and test suites?
A: Yes. For test plans, use this API. For test suites, use this API. We plan to expose these capabilities through the out-of-box UI in a future release."


Undesired dedupe of StatefulSet pods across multiple clusters

Bug Description
We deploy the same StatefulSet across 3 different clusters (each cluster runs in a different AZ). All 3 clusters are connected to a remote Istio control plane. Each StatefulSet pods are labeled with app=foo. We define a ServiceEntry that select app=foo. The clients of this ServiceEntry would like to load balance across pods across 3 clusters.
Let's say there's 3 pods in each cluster:

Cluster 1 foo ns: foo-1, foo-2, foo-3
Cluster 2 foo ns: foo-1, foo-2, foo-3
Cluster 3 foo ns: foo-1, foo-2, foo-3

Clients now only see 3 endpoints for foo service, instead of 9 endpoints.
Unlike deployments, StatefulSet pods can share the same pod name across clusters. Caching by  namespace/podName resulted in at any time, only 1 foo-X pod can exist in the istio control plane.  See: https://github.com/istio/istio/blob/master/pilot/pkg/serviceregistry/kube/controller/pod.go#L210-L216
The StatefulSet is managed by kafka/TiDB operator. The same StatefulSet is deployed across 3 clusters and is of the same logical cluster. it's very difficult to assign a different StatefulSet name per cluster.
One potential fix is to append a pod's ResourceVersion as suffix to the cache key in addition to namespace/podName, but not sure if how it will affect the original problem in https://github.com/istio/istio/issues/20676 (should be okay, but cc @howardjohn to confirm).
Version
istio version: 1.12.6
k8s version: 1.18.20

Additional Information
No response

One potential fix is to append a pod's ResourceVersion as suffix to the cache key in addition to namespace/podName

How about change this cluster/namespace/podName ?

Isn't the pod cache already per cluster?

@howardjohn you are right, pod cache should already be per cluster. Hmm, then is eds deduping then?

Clients now only see 3 endpoints for foo service, instead of 9 endpoints.

What is the ServiceEntry look like?

@hzxuzhonghu
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: kafka-k8s-multi-az-test-kafka-bootstrap
  namespace: kafka-k8s-multi-az-test
spec:
  addresses:
  - <IP_ADDRESS>
  hosts:
  - kafka-k8s-multi-az-test-kafka-bootstrap.kafka-k8s-multi-az-test.svc.ea1.us.a
  location: MESH_INTERNAL
  ports:
  - name: tcp-10002
    number: 10002
    protocol: tcp
  resolution: STATIC
  workloadSelector:
    labels:
      app: kafka-k8s-multi-az-test-kafka-bootstrap

all the stateful sets pods have app: kafka-k8s-multi-az-test-kafka-bootstrap label

One potential fix is to append a pod's ResourceVersion as suffix to the cache key in addition to namespace/podName

How about change this cluster/namespace/podName ?

As far as I can tell, ClusterName is not correctly set on Pod.
	// The name of the cluster which the object belongs to.
	// This is used to distinguish resources with same name and namespace in different clusters.
	// This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
	// +optional
	ClusterName string `json:"clusterName,omitempty" protobuf:"bytes,15,opt,name=clusterName"`

This is defining a normal service.   In your case, istio serviceentry's workloadEntryHandler will call EDSUpdate for each workloadentry and then store endpoints by shard key(cluster + provider).
Service entry changes frequently, not sure is that related?

As far as I can tell, ClusterName is not correctly set on Pod.

Not related, you can see in building eds, we get them from EndpointShardsByService

There is debug interface, maybe you can curl istiodip:8080/debug/endpointShardz to check the cache

Interesting, i can see there's 4 shards, 1 shard for each cluster "cluster1", “cluster2", "cluster3", each containing 3 pods from each cluster.
There's an empty shard with "" as shard key that only contains 3 pods, these 3 pods are what client is seeing.

Maybe we can update the key to contain clusterID?
k := wi.Endpoint.Locality.ClusterID.String() + "/" + wi.Namespace + "/" + wi.Name

Does this sound like a reasonable approach? @hzxuzhonghu

/assign i will take a look at this issue


tache1 [1092]

Migrated from https://hub.jazz.net/ccm44/resource/itemName/com.ibm.team.workitem.WorkItem/1092


Test project Urvashi

Extended description would go here ! Closes #2

please correct the typo xcdbvfbf :smirk:

Ok will do :-)

@schandra47 ..Unable to update name :-1:

go for it....


[uk] Replace k8s.gcr.io with registry.k8s.io

Split from #39236
украї́нська мо́ва / Ukrainian changes only. I haven't verified that this tutorial is otherwise level with upstream (English); however, this update helps get that file closer to the English version.

/lgtm
/upprove

/approve

Дякую @MaxymVlasov


GULNetworkURLSession crash

Environment
Xcode version: 10.2
Firebase/Google Pod Instal log:
Using Firebase (6.2.0)
Using FirebaseABTesting (3.0.0)
Using FirebaseAnalytics (6.0.1)
Using FirebaseAnalyticsInterop (1.2.0)
Using FirebaseCore (6.0.2)
Using FirebaseDynamicLinks (4.0.0)
Using FirebaseInstanceID (4.1.1)
Using FirebaseMLCommon (0.16.0)
Using FirebaseMLVision (0.16.0)
Using FirebaseMLVisionBarcodeModel (0.16.0)
Using FirebasePerformance (3.0.0)
Using FirebaseRemoteConfig (4.0.0)

Using GTMSessionFetcher (1.2.2)
Using GoogleAPIClientForREST (1.3.9)
Using GoogleAnalytics (3.17.0)
Using GoogleAppMeasurement (6.0.1)
Using GoogleMobileVision (1.6.0)
Using GoogleSymbolUtilities (1.1.2)
Using GoogleTagManager (7.1.2)
Using GoogleToolboxForMac (2.2.1)
Using GoogleUtilities (6.2.0)
Using GoogleUtilitiesLegacy (1.3.2)

Problem
App crashes in GULNetworkURLSession, line 172. Code:
Steps to reproduce
We cannot reproduce it but about 8k users are affected.
Crash log from Firebase Crashlytics:
Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x181a75d04 __exceptionPreprocess
1  libobjc.A.dylib                0x180cc4528 objc_exception_throw
2  CoreFoundation                 0x181a831c8 __methodDescriptionForSelector
3  CoreFoundation                 0x181a7b6b0 ___forwarding___
4  CoreFoundation                 0x18196101c _CF_forwarding_prep_0
5  libobjc.A.dylib                0x180cc543c CALLING_SOME_+initialize_METHOD
6  libobjc.A.dylib                0x180cc5804 _class_initialize
7  libobjc.A.dylib                0x180ce0c34 objc_loadWeakRetained
8  libobjc.A.dylib                0x180ce0d3c objc_loadWeak
9  Foundation                     0x18239daa4 readARCWeakAt
10 Foundation                     0x1823854dc -[NSConcreteMapTable grow]
11 Foundation                     0x182365bc0 -[NSConcreteMapTable setObject:forKey:]
12 GoogleUtilities                0x101fa199c +[GULNetworkURLSession setSessionInFetcherMap:forSessionID:] (GULNetworkURLSession.m:699)
13 GoogleUtilities                0x101f9f688 -[GULNetworkURLSession sessionIDFromAsyncPOSTRequest:completionHandler:] (GULNetworkURLSession.m:172)
14 GoogleUtilities                0x101f9d744 -[GULNetwork postURL:payload:queue:usingBackgroundSession:completionHandler:] (GULNetwork.m:143)
15 XXXXX                       0x10418a668 -[FIRClearcutLogger sendNextPendingRequestWithCompletionHandler:]
16 XXXXX                       0x10418a8d0 __65-[FIRClearcutLogger sendNextPendingRequestWithCompletionHandler:]_block_invoke
17 libdispatch.dylib              0x1813f9088 _dispatch_call_block_and_release
18 libdispatch.dylib              0x1813f9048 _dispatch_client_callout
19 libdispatch.dylib              0x181406378 _dispatch_root_queue_drain
20 libdispatch.dylib              0x181405f10 _dispatch_worker_thread3
21 libsystem_pthread.dylib        0x18169f120 _pthread_wqthread
22 libsystem_pthread.dylib        0x18169ec20 start_wqthread

@dangthaison91 Thank you for the issue report. Would you be able to provide additional details:

What Xcode/iOS SDK version do you use to compile your app?
What Cocoapods version do you use?
Which flags do you use in your Podfile, e.g. use_frameworks!,  generate_multiple_pod_projects, etc. Ideally, the Podfile itself would help.
What are iOS versions for the crash (is it a specific iOS version)
Does the crash happen on a specific device?
Is there any Objective-C runtime logic in your app you are aware of? E.g. NSURLSession/NSURLSessionDelegate method swizzling, etc.

Hi @maksymmalyhin This bug is having Velocity Alert on our Firebase Crashlytics

Cocoapods version: We are using Cocoapods 1.7.1 with use_frameworks!, nothing special.

What are iOS versions for the crash (is it a specific iOS version)

Crash appears on every iOS version we support from iOS 10 - 12. But 86% on iOS 11 (reported by Firebase Crashlytics)

Does the crash happen on a specific device?

No specific device

Is there any Objective-C runtime logic in your app you are aware of?

AFAIK, There are no swizzle in our app.
FYI, the previous version used Swift 4.2, currently app version using Swift 5.0. We have 30-50 crash on earlier version but for now we get 14K crash logs.

Added more crash logs that may be help to trace this bug:

TagManagerContainerQueue
0  JavaScriptCore                 0x1ba9b1160 Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController(JSC::JSGlobalObject&) + 906
1  JavaScriptCore                 0x1bac53af8 JSC::JSGlobalObject::init(JSC::VM&) + 268
2  JavaScriptCore                 0x1bac6b3c4 JSC::JSGlobalObject::finishCreation(JSC::VM&) + 104
3  JavaScriptCore                 0x1bac6b320 JSC::JSGlobalObject::create(JSC::VM&, JSC::Structure*) + 160
4  JavaScriptCore                 0x1ba4e93f4 JSGlobalContextCreateInGroup + 316
5  JavaScriptCore                 0x1ba2a05e8 -[JSContext initWithVirtualMachine:] + 108
6  VinID                          0x100eb2728 -[TAGRuntime initWithContainerId:resource:hitStore:dispatchScheduler:] +<PHONE_NUMBER>
7  VinID                          0x100ea8d38 __55-[TAGContainer handleLoadOfContainerData:errorMessage:]_block_invoke +<PHONE_NUMBER>
8  libdispatch.dylib              0x1b2bd0a38 _dispatch_call_block_and_release + 24
9  libdispatch.dylib              0x1b2bd17d4 _dispatch_client_callout + 16
10 libdispatch.dylib              0x1b2b7a320 _dispatch_lane_serial_drain$VARIANT$mp + 592
11 libdispatch.dylib              0x1b2b7ae3c _dispatch_lane_invoke$VARIANT$mp + 428
12 libdispatch.dylib              0x1b2b834a8 _dispatch_workloop_worker_thread + 596
13 libsystem_pthread.dylib        0x1b2db1114 _pthread_wqthread + 304
14 libsystem_pthread.dylib        0x1b2db3cd4 start_wqthread + 4

GULMutableDictionary
0  libsystem_kernel.dylib         0x1b2d2e9d4 __ulock_wait + 8
1  libsystem_platform.dylib       0x1b2d9f348 _os_unfair_lock_lock_slow + 220
2  libobjc.A.dylib                0x1b2384604 objc_destroyWeak + 144
3  libobjc.A.dylib                0x1b236a7cc object_cxxDestructFromClass(objc_object*, objc_class*) + 148
4  libobjc.A.dylib                0x1b237a6b8 objc_destructInstance + 68
5  libobjc.A.dylib                0x1b237a720 object_dispose + 16
6  GoogleUtilities                0x1018aec4c -[GULObjectSwizzler dealloc] (GULObjectSwizzler.m:155)
7  libobjc.A.dylib                0x1b2380754 _object_remove_assocations + 468
8  libobjc.A.dylib                0x1b237a6d4 objc_destructInstance + 96
9  libobjc.A.dylib                0x1b237a720 object_dispose + 16
10 libdispatch.dylib              0x1b2bd0a38 _dispatch_call_block_and_release + 24
11 libdispatch.dylib              0x1b2bd17d4 _dispatch_client_callout + 16
12 libdispatch.dylib              0x1b2b7a320 _dispatch_lane_serial_drain$VARIANT$mp + 592
13 libdispatch.dylib              0x1b2b7ae3c _dispatch_lane_invoke$VARIANT$mp + 428
14 libdispatch.dylib              0x1b2b834a8 _dispatch_workloop_worker_thread + 596
15 libsystem_pthread.dylib        0x1b2db1114 _pthread_wqthread + 304
16 libsystem_pthread.dylib        0x1b2db3cd4 start_wqthread + 4

dangthaison91 Thank you for the provided details! The logs you added, I guess they are call-stacks of other threads at the time of the crash. It is correct?

Yes, They are some of call-stacks of other threads at the time it crashs @maksymmalyhin

Hi @maksymmalyhin , how is this going on? Could you share any progress?

@dangthaison91 I am sorry for the long wait. We haven't found the exact reason of the issue yet. Most probably, the reason of the issue is in FIRClearcutLogger which is going to be removed (estimated release M52). In the meanwhile, I'll continue the investigation to find a hot fix for the crashes while waiting for FIRClearcutLogger to be replaced.
BTW, there is a newer Firebase version available - 6.3.0. If you had a chance to check if the crash is reproducible with it?

Hi. I got the same error.
In my case occurs when loading the url in WKWebView.

@HyunjoonKo Thank you for the additional details! It looks like you were able to reproduce the crash with the debugger attached. Will it be possible to share a sample project and steps to reproduce the issue? It will help a lot.

@HyunjoonKo Another question for you. Could you share other pods you are using in your app? Do you use FirebasePerformance as well?

I have a hypothesis that can explain the crash logs. It involves FirebasePerformance and GULNetwork interactions. The most probably chain of event is:

GULNetwork creates an instance of GULNetworkURLSession and stores it into GULObjectSwizzler *_requests ivar
GULNetworkURLSession stores itself into static NSMapTable *sessionIDToFetcherMap = [NSMapTable strongToWeakObjectsMapTable]
GULNetworkURLSession creates a NSURLSession instance and sets itself as a delegate. If FirebasePerformance is used, it leads to ISA swizzling of GULNetworkURLSession by GULObjectSwizzler
Steps 1 - 3 repeat enough number of times so -[NSConcreteMapTable grow] on sessionIDToFetcherMap will be called on the next setObject:..
One of previous requests is finished, GULNetwork->_requests removeObjectForKey: is called. It schedules actual removing the GULNetworkURLSession on GULMutableDictionary ->_queue
Another set of steps 1 - 2 is performed
[sessionIDToFetcherMap setObject: forKey:] triggers [sessionIDToFetcherMap grow] under the hood which leads to reading of the stored objects.
At the same time as 7 is happening, [NSMutableDictionary removeObjectForKey:] is called from GULMutableDictionary ->_queue. It triggers the corresponding GULNetworkURLSession instance deallocation which leads to the corresponding GULObjectSwizzler deallocation, which triggers removing the GULNetworkURLSession subclass created for ISA swizzling.
When the partially deallocated GULNetworkURLSession instance is accessed at step 7, there must be no original subclass that leads to the crash.

I am still working on the validation of the hypothesis and designing a proper fix.
@dangthaison91 If my assumptions are true, then as a workaround while waiting for the fix, you can try to disable FirebasePerformance temporary in your app to avoid undesirable crashes and restore it back once the fix is released.

@maksymmalyhin Yes. I am using this feature. We are also using the following Firebase and Google services:
Using Crashlytics (3.12.0)
Using Fabric (1.9.0)
Using Firebase (6.1.0)
Using FirebaseABTesting (3.0.0)
Using FirebaseAnalytics (6.0.1)
Using FirebaseAnalyticsInterop (1.2.0)
Using FirebaseAuth (6.1.0)
Using FirebaseAuthInterop (1.0.0)
Using FirebaseCore (6.0.1)
Using FirebaseDynamicLinks (4.0.0)
Using FirebaseInstanceID (4.1.0)
Using FirebaseMessaging (4.0.1)
Using FirebasePerformance (3.0.0)
Using FirebaseRemoteConfig (4.0.0)
Using GTMSessionFetcher (1.2.2)
Using GoogleAnalytics (3.17.0)
Using GoogleAppMeasurement (6.0.1)
Using GoogleIDFASupport (3.14.0)
Using GoogleSignIn (4.4.0)
Using GoogleToolboxForMac (2.2.1)
Using GoogleUtilities (6.2.0)
Using Protobuf (3.8.0)
Using nanopb (0.3.901)
Using google-cast-sdk (4.4.1)

This problem does not always happen, so it is hard to find the exact flow.
However, the following could be found:

'GULNetwork' tried to remove the 'GULMutableDictionary _objects' with nothing(count = 0).
Problems occur if delay or timeout occurs due to bad network conditions.

@maksymmalyhin
Anyway, since it is a problem to approach the key value that has already disappeared, I would like to solve it like this.
- (void)removeObjectForKey:(id)key {
  dispatch_async(_queue, ^{
      if([[self->_objects allKeys] indexOfObject:key] != NSNotFound) {
          [self->_objects removeObjectForKey:key];
      }
  });
}

@HyunjoonKo Thank you for the provided data!
Thank you for the proposed fix as well. Unfortunately it won't work, because the crash happens at the time the object is being removed from the dictionary, which means that  the check self->_objects.count > 0 would succeed.

@maksymmalyhin Fortunately we temporary remove Firebase Performance for another reason from 2 release versions ago. Your assumption may be true as the crash goes away completely.
We will wait for the fix to add Firebase Performance again.

The issue should not be reproducible after #3322, but I'll keep the issue open until #3300 landed.
The changes from #3322 are available at GoogleUtilities 6.2.2 that has been published recently. @HyunjoonKo @dangthaison91 would you have chance to test the issue from your side and confirm if the change fixes the crash?

Sorry, we had to revert #3322 becuase GULMutableDictionary is used by other SDKs such FirebaseAnalytics which rely on its original implementation, so #3322 may cause some performance issues.
Currently we are testing #3300. We will push it once it is tested. It will be great if you have a chance to test it from your side. To do it add to your Podfile a line:
pod 'GoogleUtilities', :git =>'https://github.com/firebase/firebase-ios-sdk.git', :branch=>'mm/gul-swizzle'

and perform pod install.

Closing since #3300 has merged and released.


Pin event timing (fixes #664)

Re-works the pins API to use timing information provided by underlying drivers (in particular pigpio) so that timing events from remote pins will be considerably more accurate (also seems to improve the accuracy of some local implementations too, probably because time sampling is done "closer" to the actual event).
WARNING: Don't merge this yet - I've literally only tested it with the distance sensor and although the test suite still passes I'd be much more comfortable with this once it's been tested with a bit more "real" hardware.

Had a chance to test some more of this today and I'm happy with it, though it'd be great if someone else could have a play to? The codecov fails can be ignored; they're largely down to lots of stuff changing in native which can't be tested on Travis (but the tests pass just fine on a real Pi - sometime in the new year I must set up a permanent gpiozero test bed).


EditorPlugin intersect_ray returns empty result

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Godot v4.1.1.stable - macOS 13.6.0 - Vulkan (Mobile) - integrated Intel(R) Iris(TM) Plus Graphics 650 - Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz (4 Threads)
Issue description
I want to detect which object is under the mouse in an EditorPlugin.
When calling camera.get_world_3d().direct_space_state.intersect_ray from _forward_3d_gui_input return an empty result.
I could confirm that the query with the same coordinates returns correct result when it is executed from any _physics_process node while running the scene. But It returns an empty value when called as part of the EditorPlugin's
_forward_3d_gui_input function.
direct_space_stateget_direct_space_state() getter documentation says:
When using multi-threaded physics, access is limited to Node._physics_process() in the main thread.
But the editor behaviour is not document.
Steps to reproduce
Create an editor plugin with the following code, switch to the 3d view and move the mouse over an object.
`
@tool
extends EditorPlugin
func _enter_tree():
set_input_event_forwarding_always_enabled()
func _forward_3d_gui_input(camera: Camera3D, event: InputEvent)-> int:
var origin = camera.project_ray_origin(event.position)
var end = origin + camera.project_ray_normal(event.position) * camera.far
print(origin, end)
var query = PhysicsRayQueryParameters3D.create(origin, end)
var result = camera.get_world_3d().direct_space_state.intersect_ray(query)
print(result)
return EditorPlugin.AFTER_GUI_INPUT_STOP
`
Minimal reproduction project
bug.zip

There is NO physics while the editor is running.

Interesting. This is something we should document.
What alternatives are available to do picking?

Also when looking at other plugins it looks like it used to work: https://github.com/tomankirilov/VPainter/blob/master/addons/vpainter/vpainter.gd#L113
Does anyone have more context to share?

I don't know if you are accessing the right space, see this code:
https://github.com/godotengine/godot/blob/fba341ce44427d9515a581c19a8c98b522cef02b/editor/plugins/node_3d_editor_plugin.cpp#L4051-L4060
Don't know if the camera has the exact properties required here

In theory physics raycasting should work in editor, but sometimes it needed a bit encouragement to update the physics if you move or edit shapes. Usually changing to another tab and back fixed things. See https://github.com/godotengine/godot/issues/63964 and https://github.com/godotengine/godot/issues/43744 The behavior might have regressed at some point, assuming the example code is correct in other aspects.

Thank you.
I was able to fix it with enabling collision with areas:
query.collide_with_areas = true
Now it works as expected for a simple MeshInstance3D -> Area3D -> CollisionShape3D but it does not work for a GridMap containing the exact same structure in the library.
bug.zip


Does not work on Desktop Safari Browser

The button is not appearing.

Could you elaborate? What does not work? It works fine for me on Safari, what version are you using?

Could you elaborate? What does not work? It works fine for me on Safari, what version are you using?

MacOS Mojave
Safari 12.1.2

same thing on iOS


Finish renaming Display settings -> Preferences

Renamed Display settings to Preferences
Fixes: https://github.com/zulip/zulip/issues/26874

Self-review checklist

[yes] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[yes ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[yes] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[yes] Each commit is a coherent idea.
[yes] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

All the checks have passed.

@Shgit29, Zulip follows its own commit guidelines. You can read about the commit disciplines and clean up your commit message history.

@Shgit29, Zulip follows its own commit guidelines. You can read about the commit disciplines and clean up your commit message history.

I will make sure to follow them the next time. This was my first time submitting a PR to zulip.

Is it a must to fix it right now?

Yes, you can squash your commits in a single one, and force push to current branch, it will fix the commit history. If you are new to github or parts that I have mentioned take a look git guide.

the commit message should be setting: Rename display settings to preferences..

the commit message should be setting: Rename display settings to preferences..

Hey, so I have changed the commit history now. Thank you so much for pointing it out, and providing me with a solution.

Thanks, could you please clear the commit description also??.

Thanks, could you please clear the commit description also??.

Done.

Thanks, could you please clear the commit description also??.

When is my PR going to be reviewed?

Thanks for the fix!

Thanks for the fix!

Done.

You have just done a search-and-replace here. I'm closing this PR, because you're making changes to the logic and haven't carefully studied the impact of these changes. Once you understand the impact of your work, you're welcome to open another PR.


Deployment.Diff static analysis checking.

Adds: static analysis of Go code,
to extract a "confirmation tree" based on a struct and its struct members,
and then walking the AST of a method definition to check that
all the members are "touched" by the function.
A couple of shortcomings of the analysis:
loops in struct definitions
(trivial example: a linked list)
will never complete.
Function return values aren't considered,
so using a function to extract a sub-struct
and then operating on the result
won't be detected.
It may be that
functions that use confirmation tree nodes
as arguments (as opposed to as the method receiver)
won't be considered.
(To be clear, methods of the confirmation nodes are checked.)
Finally,
non-struct composites
(maps and slices)
are considered "leaves"
of the confirmation tree -
we don't confirm that
e.g. members of structs that are elements of a slice
are themselves checked.
This shortcomings aren't actually
surfaced by our Diff methods,
so I didn't pursue fixing them.
The static analysis has only been applied,
so far,
to Deployment.Diff().
Other valid and useful targets would be
Manifest.Diff() and
the associated Clone() methods.

Codecov Report

Merging #408 into master will increase coverage by 0.82%.
The diff coverage is 81.92%.

@@            Coverage Diff             @@
##           master     #408      +/-   ##
==========================================
+ Coverage   66.13%   66.95%   +0.82%
==========================================
  Files         144      148       +4
  Lines        8199     8719     +520
==========================================
+ Hits         5422     5838     +416
- Misses       2328     2423      +95
- Partials      449      458       +9

Impacted Files
Coverage Δ

lib/deploy_config.go
68.94% <ø> (+0.68%)
:arrow_up:

util/allfields/tester/main.go
0% <0%> (ø)

lib/deployment.go
81% <20%> (-3.22%)
:arrow_down:

util/allfields/confirmtree.go
80.96% <80.96%> (ø)

util/allfields/conftree.go
85.71% <85.71%> (ø)

util/allfields/allfields.go
86.5% <86.5%> (ø)

ext/singularity/recti-agent.go
41.71% <0%> (-5.75%)
:arrow_down:

lib/auto_resolver.go
88.05% <0%> (-1.5%)
:arrow_down:

ext/singularity/deployment_builder.go
74.77% <0%> (-0.34%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

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


Question - default handler / strategy for workbox-webpack-plugin

Library Affected:
workbox-webpack-plugin
Browser & Platform:
N/A
Issue or Feature Request Description:
There is a runtimeCaching option in GenerateSW plugin from workbox webpack module, but the doc itself doesn't tell which handler / strategy will be adopted if none provided.
Also, if I passed a runtimeCaching to match again JS assets with a strategy, e.g. networkFirst strategy for *.js files, which strategy will be used for those requests aren't matching my runtimeCaching?
Thank you!

@jeffposnick thank you for clarification, I realized my question is more about precaching handling.
If the request is precached, are they always serving from cache first?

If you're using workbox.precaching.precacheAndRoute() within your service worker (which is what GenerateSW will put into the service worker it creates) then all requests for URLs which Workbox believes it can fulfill via a precached asset will be served cache-first.
There is some logic in place to automatically fall back to the network if, due to unforeseen circumstances, the cached entry was deleted, but that's an exception rather than the expected behavior.


Slow desktop apps without hardware acceleration

The purpose of this ticket is to keep track of which apps are particularly slow without hardware virtualization - that is, software emulators like Bochs or qemu with KVM disabled. Most of these are trying to redraw their entire windows for minor changes, or have animations that aren't bound to a timer. These are all graphics related, as that's where we're expecting reasonable MMX/SSE support.

[x] Yutani animations need to use timing information so they always display at the same effective speed, instead of using framecounters.
[ ] Wallpaper needs to do small updates, rather than redrawing everything and only damaging the smaller regions. This is particularly apparent from the hover highlight on desktop icon labels.
[x] Wallpaper also has animations that suffer the same issues as the compositor - no timers. The use of manual resize and scale is also slow, consider rewriting that in Cairo.
[ ] glogin has a massive start up lag - even after we've draw the first time. Not sure what this is, possibly need to dump window events after we finish drawing, maybe we're redrawing something where we shouldn't be. Needs to be looked into.
[ ] glogin very specifically redraws everything - should just redraw the login box as needed, not the whole wallpaper.

Overall, I'm very happy with how current builds perform compared to the old compositor, but there's definitely room for improvement.

Animations are now using timing information, so they should complete in the same amount of time without acceleration, but will be less smooth.


fix: resizable max height

Description
Reported issue
In a container widget, when we switch to auto height with limits (in the property pane), then switch back to FIXED (in the property pane), we are no longer able to vertically resize the container widget to be larger.
Results of RCA
This was happening because, we set a maxDynamicHeight when we switch to auto height with limits. When we switched back to fixed, the same limits were being respected by the resizing library. This resulted in the height being capped at what was set in the maxDynamicHeight.
Code design issue:
There was also an issue where the resizing library was "aware" of the "dynamic height". Dynamic height is a platform construct and the resizing library being aware of this construct is a breach in the interface.
Solution:
We now pass the maxHeightInPx and autoHeight to the resizing library.
maxHeightInPx is the maximum height -- the resizing library can -- allow in vertical resize.
autoHeight ignores the resizing library's ability to set the height (in this scenario we handle the height using the dynamic height feature in the platform)
This allows us to keep the resizing library agnostic of the platform dynamic height feature and lets the platform code decide the max height possible.
PR fixes following issue(s)
Fixes #22439
Media
Type of change

Bug fix (non-breaking change which fixes an issue)

Testing
How Has This Been Tested?

[x] Manual
[ ] Jest
[ ] Cypress - Limitations in the testing infra makes it difficult to add a test for this

Test Plan
Issues raised during DP testing
Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview skip-tests=true

/ok-to-test

This PR works fine  @riodeuno

/ok-to-test


Fix Prometheus and Alertmanager templates to support routePrefix

Fix Prometheus and Alertmanager templates to support routePrefix.
Credit goes to @kovszilard as pretty much all information was taken from https://github.com/coreos/prometheus-operator/issues/1596
Checklist

[x] DCO signed
[x] Chart Version bumped

/assign @gianrubio

Hey @gmichels could you fix the sign-off on 68cf08a ?

Looks like this is working on my machine.
Could you fix the sign-off on 68cf08a8d1ed788ec3258ba0b7b73069de6dedff and update the chart version again? (there was a merge while your PR was open)

I am trying to find a way to sign-off on a single commit, but all I can find is a way to sign-off on all of my commits, which would result in double sign-offs on all commits except 68cf08a8d1ed788ec3258ba0b7b73069de6dedff.
Do you have a command handy to sign-off on a specific previous commit? Or if you are good with me double signing-off on all commits, that will work as well.

No matter what you do all commits will be rewritten and history will be lost so you can squash all your commits into one.
A double sign-off will not have ill effects.
You can use interactive rebase to do so git rebase origin/master -i and then add the line to the single commit.

Rebased, sign-off added and chart version bumped.

Please fix CI

Sorry, first PR ever here, so I am learning as I go.

@gmichels if you find me (vas) on kubernetes.slack.com I can help you out

@vsliouniaev thanks for the help, will do that on Monday. Or if you feel it would be better, I can simply close this and submit a fresh PR.

/ok-to-test
/lgtm

@gmichels please fix CI

@gianrubio fixed, thanks

Hey @gianrubio, just wondering if there is anything left for me to do to get this merged? Thank you

/ok-to-test
/lgtm


How can I optimize for CPU

Thanks for your awesome work! I hope to apply it on CPU. How can I optimize it for CPU ? Any suggestions？ Thanks.

Can I optimizing  trained model using openvino?
Please refer the openvino's limit:
https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_Supported_Frameworks_Layers.html

Can I optimizing  trained model using openvino?
Please refer the openvino's limit:
https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_Supported_Frameworks_Layers.html

https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_ONNX.html

https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_ONNX.html

You can give it a try and let me know how it goes.

You can give it a try and let me know how it goes.

I tried and met a error, please refer
https://github.com/openvinotoolkit/openvino/issues/3846

I tried and met a error, please refer
https://github.com/openvinotoolkit/openvino/issues/3846

Please refer the response on openvinotoolkit/openvino#3846
What should the input_shape be? Is [1,3,1080,1920] ok
What's difference between the output pha_sm  and pha? Thanks.

Please refer the response on openvinotoolkit/openvino#3846
What should the input_shape be? Is [1,3,1080,1920] ok
What's difference between the output pha_sm  and pha? Thanks.

The input shape is correct if your image is 1920x1080 resolution.
pha and fgr are the actual output. pha_sm is from the base network (You can refer to the architecture in the original research paper). It is only output for training.

The input shape is correct if your image is 1920x1080 resolution.
pha and fgr are the actual output. pha_sm is from the base network (You can refer to the architecture in the original research paper). It is only output for training.

There is a challenge to support If. Any ideas？
https://github.com/openvinotoolkit/openvino/issues/2406

There is a challenge to support If. Any ideas？
https://github.com/openvinotoolkit/openvino/issues/2406

The input shape is correct if your image is 1920x1080 resolution.
pha and fgr are the actual output. pha_sm is from the base network (You can refer to the architecture in the original research paper). It is only output for training.

Please refer :
https://blog.csdn.net/lhyyhlfornew/article/details/109562383
Can you remove If operator by modifying squeeze() using index method like the blog's method? Or how can I do it? Thanks.

The input shape is correct if your image is 1920x1080 resolution.
pha and fgr are the actual output. pha_sm is from the base network (You can refer to the architecture in the original research paper). It is only output for training.

Please refer :
https://blog.csdn.net/lhyyhlfornew/article/details/109562383
Can you remove If operator by modifying squeeze() using index method like the blog's method? Or how can I do it? Thanks.

I see. The only place squeeze() is used is in refiner.py. You can change ref.squeeze(1) in refiner.py to ref[:, 0, :, :]. Then re-export ONNX. This should get rid of the if node.

I see. The only place squeeze() is used is in refiner.py. You can change ref.squeeze(1) in refiner.py to ref[:, 0, :, :]. Then re-export ONNX. This should get rid of the if node.

Hi,Does OpenVino accelerate only on Intel CPUs? Does it work for AMD?

Hi,Does OpenVino accelerate only on Intel CPUs? Does it work for AMD?


Add a tutorial example showcasing the use of build automation tools through ReFrame

Since now we will have both EasyBuild and Spack supported, we should have a tutorial example for both.

Fixed by #1989


Latest release version v0.14.0 not available in PyPi yet !!

Hi,
Please publish the latest release v0.14.0 to PyPi, excited about the custom plugins feature.

Sorry I got distracted with other stuff yesterday. Done.


Disambiguation

Hello @wetneb,
Can the following be improved or fixed by running the classifier on a larger dataset? or is it only based on the number of statements for each entity?

Cheers,
David

It's hard to say looking at a single example! In general I would recommend training a model for a specific domain (which would also let you select more finely which entities can be annotated).

@wetneb is there a reason you're not using the edges in OpenTapioca/Wikidata to run the classifier? Did you try already?

How would you turn them into features?

I am not sure, I am trying to understand how to solve the above reference case.
I can see the Apple Inc. (Q312) has an edge to Steve Jobs (Q19837) and viceversa. I am trying to understand if we can use these edges to perform the training.
Because the training is extremely complex on larger datasets, involving first the dbpedia.org to wikidata.org item id mapping and then the classification. And I am afraid that SVM is not suitable for classification of large datasets.

Yes edges are used, not directly as features of the classifier, but to foster the score of collections of mentions that are interlinked. It's something I tried to explain in the paper but things might well be unclear there, let me know if I can clarify aspects of that.

I see. I think there some tuning to do then, take for example this scenario:
"Apple is a fruit", works nicely:

"Apple Inc has been founded by Steve Jobs", works nicely:

but "Apple has been founded by Steve Jobs", doesn't work nicely:

The only thing that's changing is that "Apple" in the second case is an alias of "Apple Inc.". As far as I understand from the paper though aliases have the same score as labels? Should the "Apple has been founded by Steve Jobs" actually yield the same results as "Apple Inc has been founded by Steve Jobs"?

Yes it's a curious result, I would definitely expect "Apple has been founded by Steve Jobs" to be understood correctly. I think the training set probably did not contain extremely famous companies or people like those, so they are outliers that aren't scored well by the classifier.

Yes, and this is the path that I followed, I thought I could find a better dataset for training, but this increases complexity. And then I thought is there a way to optimize cases similar to this one? at the end 'Apple' is just an alias of 'Apple Inc.' :-)

I don't know exactly what you mean by optimize cases similar to this one - do you mean tweaking the classifier parameters manually to adjust for those cases?

Yes, sorry. But is this a classifier issue? "Apple Inc" is detected while "Apple" as alias isn't.
Sorry, I might not be to expert with the classifier. I am asking a colleague of mine to join this thread too.

"Apple Inc" is more specific than "Apple" so it is normal that is detected more easily.

I don't know exactly what you mean by optimize cases similar to this one - do you mean tweaking the classifier parameters manually to adjust for those cases?

I think the reason of not working fine for some cases is not necessarily classification. Changing the parameters may further reduce the evaluation metrics and as a result, be less accurate about things that already work well.


Improve location of displayed error for Regex

What happened?
Using the new regex facility, this code gives a too-subtle error in the Playground:
prql target:sql.sqlite
from foo
filter bar ~= 'love'

The error indication is a red squiggly line under the word prql, which isn't very obvious.
The text of the error message itself - "regex functions are not supported by this dialect (or PRQL doesn't yet implement this dialect)" is fine.
It would be better to place that error message in red (below the query), shown in the way as if the final line was changed to the (syntactically incorrect) filter bar ~= 'love'x
Even better would be to highlight the ~= as the source of the error.
(PS Do we have a name for that red area that displays error messages?)
PRQL input
See above

SQL output
N/A

Expected SQL output
N/A

MVCE confirmation

[X] Minimal example
[X] New issue

Anything else?
No response

@max-sixty This looks excellent. Thanks.


[BUG] Vite uglify modules names

Describe the bug
Vite uglify modules names, I wrote workaround for finding module.
 let newPaneHeight =
    (await pane.modules.fitHeight.getPaneFitHeight()) as number
  let fitHeightModule = pane.modules.fitHeight
  if (!fitHeightModule) {
    for (const key in pane.modules)
      if (typeof pane.modules[key].calcFitHeight === 'function') {
        fitHeightModule = pane.modules[key]
      }
  }

  let newPaneHeight = (await fitHeightModule.getPaneFitHeight()) as number

To Reproduce
Steps to reproduce the behavior:

vite build
Expected behavior
modules not uglify

Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Thank you @bazuka5801
Maybe you have some suggestions here?

Thank you @bazuka5801 Maybe you have some suggestions here?

https://stackoverflow.com/a/62471619


PWA-255

Pull Request Test Coverage Report for Build 1545

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 37.611%

Totals

Change from base Build 1542:
0.05%

Covered Lines:
1387

Relevant Lines:
3686

💛  - Coveralls


[feature] Validate Relationships Resource Key [OSF-5268]

Purpose

Currently, there is no validation for the relationships resource key that is required in the request body when creating a relationship. This PR adds validation by requiring that the resource key matches the target type, which is followed by validation that the target type is correct.

Changes

Added validation in JSONAPIParser.flatten_relationships()

Side effects

None expected.

Ticket

OSF-5268

Is this the only problem? What about the case where you have two relationships with the same type? For example, you want to create a node with a particular parent and also with a particular node_link in the same request? Will it still work?

Based on @pattisdr's comments in the JIRA ticket, I don't believe the API currently supports multiple relationships in one request. So that would be a separate implementation issue where this validation would certainly need to be improved.

Ah, okay. Take a look at https://openscience.atlassian.net/browse/OSF-6846 and see if the id issue there can be solved now as well; I don't think I moved that detail over to this ticket when I closed the other.


minor refactoring

better doc
better benchmarks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

66 of 66 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 95.741%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
1169

Relevant Lines:
1221

💛  - Coveralls


I need to get the view.safeAreaInsets.top

My app is design programatically and I need to get the view.safeAreaInsets.top but by the way when I test to get it in a view contains the SideMenuItemContent, this code
if #available(iOS 11.0, *) {             topSafeArea = view.safeAreaInsets.top         } else {             topSafeArea = topLayoutGuide.length         }
return always a 0 value..
Basically because the view containing in the host are embed in itself...
How can I get this value ?

solved by if (@available(iOS 11.0, *)) {     UIWindow *window = UIApplication.sharedApplication.keyWindow;     CGFloat topPadding = window.safeAreaInsets.top;