python controller shuts down without pairing over BT on a nordic DK

python controller shuts down without pairing over BT on a nordic DK
$ chip-device-ctrl
CHIP:IN: TransportMgr initialized
CHIP:IN: local node id is 112233
CHIP:DL: CHIP task running
Chip Device Controller Shell
chip-device-ctrl > set-pairing-thread-credential 15 1234<PHONE_NUMBER>5566778899aabbccddeeff
Thread credential set
chip-device-ctrl > connect -ble 3000 12345678 12344321
Device is assigned with nodeid = 12344321
CHIP:DL: TRACE: Bluez mainloop starting Thread
CHIP:DL: TRACE: Bus acquired for name C-0ea5
CHIP:DL: PlatformBlueZInit init success
CHIP:BLE: BLE scanning through known devices.
CHIP:BLE: Device C2:02:86:8F:C5:29 does not look like a CHIP device.
CHIP:BLE: BLE initiating scan.
CHIP:BLE: Device 5C:61:C4:91:B4:DA does not look like a CHIP device.

CHIP:BLE: Device 58:4F:B7:2E:C0:B6 does not look like a CHIP device.
CHIP:BLE: Device 27:B7:A0:15:C4:43 does not look like a CHIP device.
CHIP:BLE: Device 4B:E0:8F:1A:D9:A6 does not look like a CHIP device.
CHIP:BLE: Device F3:33:19:1E:96:07 does not look like a CHIP device.
CHIP:BLE: Device 71:6E:82:CF:A9:A6 does not look like a CHIP device.
CHIP:BLE: Device 08:66:98:91:F5:27 does not look like a CHIP device.
CHIP:BLE: Device 76:87:EB:24:0D:45 does not look like a CHIP device.
CHIP:BLE: Device 08:66:98:91:66:E3 does not look like a CHIP device.
CHIP:BLE: Device 6B:82:87:6B:E2:1D does not look like a CHIP device.
CHIP:BLE: Device 74:72:CF:3C:E3:4E does not look like a CHIP device.
CHIP:BLE: Device 48:80:18:72:53:1E does not look like a CHIP device.
CHIP:BLE: Device 15:93:98:EA:8D:B4 does not look like a CHIP device.
CHIP:BLE: Device 5E:E1:5A:40:D2:7E does not look like a CHIP device.
CHIP:BLE: Device 47:AC:0D:64:6A:75 does not look like a CHIP device.
CHIP:BLE: Device 42:D8:8A:E2:C2:EB does not look like a CHIP device.
CHIP:BLE: Device 2C:0D:FD:CB:AB:0A does not look like a CHIP device.
CHIP:BLE: Device 54:97:80:15:13:58 does not look like a CHIP device.
CHIP:BLE: Device 65:7A:75:8E:FA:3A does not look like a CHIP device.
CHIP:BLE: Device 65:19:47:A0:9C:63 does not look like a CHIP device.
CHIP:BLE: Device 18:28:9B:86:C3:B5 does not look like a CHIP device.
CHIP:BLE: Device 6E:AA:91:7A:77:94 does not look like a CHIP device.
CHIP:BLE: Device 60:CC:75:13:1C:7C does not look like a CHIP device.
CHIP:BLE: Device 24:3C:A9:2E:9B:33 does not look like a CHIP device.
CHIP:BLE: Device 5C:C8:65:19:2D:C3 does not look like a CHIP device.
CHIP:BLE: Device 50:33:D8:C1:F0:27 does not look like a CHIP device.
CHIP:BLE: Device 54:38:B3:A4:A1:5C does not look like a CHIP device.
CHIP:BLE: Device FB:67:AC:AE:05:8A does not look like a CHIP device.
CHIP:BLE: Device 1B:BB:9A:40:7B:D3 does not look like a CHIP device.
CHIP:BLE: Device F8:7D:40:2B:61:38 does not look like a CHIP device.
CHIP:BLE: Device 5C:61:C4:91:B4:DA does not look like a CHIP device.
CHIP:BLE: Device 7A:AA:3C:10:6E:41 does not look like a CHIP device.
CHIP:BLE: Device 08:66:98:91:F5:27 does not look like a CHIP device.
Failed to establish secure session to device: 4050
Device temporary node id (this does not match spec): 12344321
chip-device-ctrl > connect -ble 3000 12345678 12344321
Device is assigned with nodeid = 12344321
Error 4011 (0x00000FAB)
chip-device-ctrl > quit
CHIP:CTL: Shutting down the commissioner
CHIP:CTL: Shutting down the controller
CHIP:DL: System Layer shutdown
CHIP:DL: Inet Layer shutdown
CHIP:IN: Async DNS worker thread woke up.
CHIP:IN: Async DNS worker thread exiting.
CHIP:IN: Async DNS worker thread woke up.
CHIP:IN: Async DNS worker thread exiting.
CHIP:DL: BLE layer shutdown

Few questions:

Have you pushed button 4 on the DK?
I see you use discriminator value of 3000 instead of default 3840, have you changed it in the code?
If above does not work, what are you using for controlller - RaspPi, Linux, macOS? For Linux it seems to work quite smoothly.


Active function?

If the active function is not the callback of the event handler whose type is fetch, then:

Active function of what? This is a specification algorithm that sits behind IDL and cannot just invoke JavaScript stuff. This is the wrong way to make this requirement.

The way this should work is that you set a flag, dispatch the event, then unset the flag. And only allow the method to be used while the flag is set. I think I mentioned this once.

Also, it needs to be a flag on the event object. We wouldn't want other event objects to suddenly become reusable.

Which means you can probably reuse the "dispatch flag" in some way.

Yeah, "dispatch flag" seems a good fit here. Wanted this but didn't understand how to back then. ;) Thanks for revisiting it!


Integrate in existing project

Hi. Is there any way to integrate this library into our existing project? Thank you

@simonkim Hi simmon, after days integrating this cool library, I still got error issue. All of implementation .m files in SpriteKit folder are failed to read symbol in .c file e.g ATTACHMENT_REGION.
I am using XCode 10.1 by the way.
Am I missing something here? Please let me know. Thank you!


insecure mode fails on absent public cert

See https://github.com/choria-io/go-choria/issues/306

The behaviour here:
https://github.com/choria-io/go-protocol/blob/0afaad0cee60faee2de84f04049b0b18cd724325/protocol/v1/constructors.go#L169-L175
Was not ported forward


ENH: Add FastMarchingImageToNodePairContainerAdaptor getter methods

ENH: Add FastMarchingImageToNodePairContainerAdaptor getter methods
STYLE: Use ITK_TRY_EXPECT_NO_EXCEPTION macro in tests

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

/azp run ITK.Windows


Add new collaborators

Adding new collaborators. Replaces https://github.com/ministryofjustice/github-collaborators/pull/217/files which is a fork, rather than branch of main.

Reopened to restart stalled checks.


Remove erroneous toasts on a withdrawal

The Chore
When you trigger a withdrawal you get a confusing stream of toasts which seem to indicate the withdrawal is aopproved before you have done anything in your wallet.
This is true in live ... and also for Arb.
Acceptacnce criteria

[ ] Simplify and rationalise toasts

Additional details / background info

Think this will be covered by WAGMI changes

Its sort of fixed.
I no longer get the stream of toasts including a random green one too early ... but I do get TWO toasts when my withdrawal is ready to complete for some reason.

Also when I then completed it I got the green toast but the table did not update to say complete yet.
Then when I refreshed to try to get that to update I got another orange toast saying it was ready to withdraw which was now very clearly out of date.

Checked again and definitely reproduced the dupe messages when ready to complete

Also able to reproduce the second issue too.

I think probably sinking effort into this before that transaction list work - and its impact on withdrawals - is finalised is probably pointless so I will put this back in TODO but with a blocked by front end label against it until that is done.

I still get this!
Cant close this yet...

I think this migt now be fixed!


Rerandomize instancing example data on event

Follow up on #1129

The instancing example doesn't exist anymore, is it still possible to work on this issue?

@GabrielMajeri I guess not, unless you want to work on the pre-ll branch (https://github.com/gfx-rs/gfx/tree/pre-ll/examples/instancing). Is it still maintained or used?

Used but not maintained, let's close it.


[REEF-892] Add javadocs and remove redundant modifiers in Wake

This PR:

Adds javadocs in Wake
Removes redundant public in inner classes of Clock interface.
Replace a few statemes to use diamond expressions
Remove a few comment-out codes

JIRA:
REEF-892
Pull request:
This closes #

I've done a pass. There are a couple minor comments not worth doing an extra iteration over them; I'll fix them and merge.
Thank you for doing this! We're one step closer to closing REEF-519
P.S. I still don't understand why DiamondOperatorForVariableDefinition doesn't catch places where diamond operator can be used.

Thank you, @tcNickolas . Initially, I tried to finish REEF-519, but it's difficult due to TODOs.
For the your last question, Wake's pom.xml file does not have maven-checkstyle-plugin. So, Check-Style is turned off for Wake module. I found several other modules also were.
What about having a new rule without TODO check?
lang/java/reef-common/src/main/resources/checkstyle-strict-without-TODO.xml

Checkstyle in general is enabled for modules which don't have maven-checkstyle-plugin in their pom.xml. Its configuration is inherited from reef-project's pom file. Just try to violate some check from standard set of checks, for example, add a line over 120 characters long to one of the files in Wake, and it will dutifully fail build due to checkstyle violation. However, there might be some weird configuration issue related to use of check which is not part of standard checks set.
I don't really like cloning checkstyle settings for each combination of issues we've fixed, as this makes adding new checks harder. I hope to be able to triage some more TODOs next week. For Wake project, we need to summon @bgchun to help triage https://issues.apache.org/jira/browse/REEF-535.

Yep. I agree with you. The best way is to resolve REEF-535, and eventually all sub-issues of REEF-519.


Snapshot delete with the API race

Required information

Distribution: Ubuntu
Distribution version: 22.04.2
The output of "lxc info" or if that fails:

Kernel version: 5.19.0-38-generic
LXC version: 5.12
LXD version: 5.12
Storage backend in use: zfs

Issue description
I hit the single-snapshot-delete API endpoint with 50 parallel requests 1.0/instances/foo/snapshots/bar DELETE and fetch the operations for each of them 1.0/operations/my-id/wait?timeout=10.
For many of the operations, I get an error back:
"Instance snapshot record count doesn't match instance snapshot volume record count"
This seems like a race condition due to the many parallel requests.
Eventually, after some time, all 50 snapshots are removed successfully.
I'd expect no error in that case.
Steps to reproduce

Create a lot of snapshots for an instance
Trigger 50 parallel delete snapshot requests on that instance via the HTTP API
Fetch the operation for all 50 delete requests via the HTTP API
See some operations return the error "Instance snapshot record count doesn't match instance snapshot volume record count"

@tomponline indeed, I don't see any lock mechanism based on the snapshot name between  DeleteInstanceSnapshot and GenerateInstanceBackupConfig (both in lxd/storage/backend_lxd.go). Is there a reason for it ?

@gabrielmougard yes I think we should make use of something like this:
parentName, _, _ := api.GetParentAndSnapshotName(d.name)
unlock := locking.Lock(context.TODO(), fmt.Sprintf("instance_delete_%s_%s",d.Project().Name, d.Name()))
defer unlock()

at the top of func (d *lxc) delete(force bool) and func (d *qemu) delete(force bool).

@tomponline While working on a test scenario, I discovered something else : Having an instance, let's say I want to concurrently create 100 snapshots of like so :
...
// Create a lot of snapshots for an instance
var wg sync.WaitGroup
for i := 0; i < 100; i++ {
	go func(i int) {
		wg.Add(1)
		fmt.Println(fmt.Sprintf("Creating snapshot snap-%d", i))
		snap := api.InstanceSnapshotsPost{
			Name: fmt.Sprintf("snap-%d", i),
		}

		opCreate, err := srv.CreateInstanceSnapshot("snap-del-api-race", snap)
		if err != nil {
			panic(err)
		}

		err = opCreate.Wait()
		if err != nil {
			panic(err)
		}

		wg.Done()
		fmt.Println(fmt.Sprintf("snap-%d created", i))
	}(i)
}

wg.Wait()
fmt.Println("All snapshots created")

I aslo end up panicking in the snapshot creation after a random Wait() with the exact same mentionned error Instance snapshot record count doesn't match instance snapshot volume record count

@tomponline should I apply your comment for startCommon() as well ?


Using a no baked model without Clip,T5 and VAE in SwarmUI

Your question
"All available backends failed to load model" is the message I receive when I try to use Flux-Dev-Kijai11Gb FP8 without Clip_L, T5FP8 and ae VAE, despite I set up it in the add ons options in the swarmUI interface and it also appears in the model´s list. Running backend: StabilityMatrix ComfyUI Self-Start. Must the Kijai model be put in a special place?. Other than Stablediffusion/Flux with the other baked models which work fine there? Using ComfyUI I must use LoadDiffusionModel because Kijai is only a model, not a checkpoint, the SwarmUI tab with a ComfyUI workflow only has an example for loading a checkpoint to generate images. Besides simple models there are more and more Flux1 GGUFs and bnbNF4 also. How to use a simple model in SwarmUI?
Logs
No response
Other
No response

Those models go in the (Swarm)/Models/unet folder


[contrail-controller] RabbitMQ has the Web Management console enabled with default credentials

Contrail-controller charm Revision 8.
Contrail-controller charm installs RabbitMQ in a docker container.
An outward facing Web Application, RabbitMQ management portal, was detected, using default
credentials with administrative privileges. Presenting this service increases the threat surface of the
application.
The management console is at
http://CONTRAIL-CONTROLLER-IP:15673/
and default credentials are guest/guest
Password should be at least 10 characters and it must meet at least 3 out of the following 4 complexity rules;

At least 1 uppercase character (A-Z)
At least 1 lowercase character (a-z)
At least 1 digit (0-9)
At least 1 special character (punctuation) — do not forget to treat space as special
characters too

Or the administrative console should be accessible only on localhost to mitigate the risks.

Is it a charm's bug? It's a general contrail issue from my point of view.
Also user can change the password right after deployment.

Charm should install the software without presenting security risks. Either set a strong password, disabling the web console or allowing access only on localhost.

how it can help to user if charm will set password that is unknown by user?

There are several approach to workaround that: writing the password on a file accessible locally on the unit or the charm can implement an action to retrieve that password.


feat: add multi-arch images amd64, arm64, arm32v7

What this PR does / why we need it:
This PR add steps for creating images per architecture per Dockerfile, and then grouping those images with docker manifest to create multi-architecture Docker images.
Also, changes the GITHUB_TOKEN for titlechecktitlecheck in an attempt to resolve the issue Error: Resource not accessible by integration.
For reference: https://github.com/aslafy-z/conventional-pr-title-action/issues/119

Edit: I reverted this change, because it did not solve the issue. Instead, there was another error: Error: Bad credentials.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #374
Full commit message:
"feat: add multi-arch images amd64, arm64, arm32v7, add DOCKER_CLI_EXPERIMENTAL flag, add Set up QEMU step, and which to GH_PAT for titlecheck"

Turns out we cannot merge this until these dependencies have been updated:

https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/
https://github.com/Azure/kubelogin/releases/

Also, there is a make instruction for testing the release locally:

make release-local

Verified kconnect is running as non-root user
$ docker run -it --rm --entrypoint sh kconnectcli/kconnect:0.5.4-alpine-with-deps-arm64
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested
/app $ ps aux | grep kconnect
    1 kconnect  0:00 {sh} /usr/bin/qemu-aarch64 /bin/sh
    9 kconnect  0:00 /bin/ps aux
   11 kconnect  0:00 {grep} /usr/bin/qemu-aarch64 /bin/grep kconnect

$ docker run -it --rm --entrypoint sh kconnectcli/kconnect:0.5.4-alpine-amd64
/ $ ps aux | grep kconnect
    1 kconnect  0:00 sh
   13 kconnect  0:00 ps aux
   14 kconnect  0:00 grep kconnect

Verified that the new binaries exist
$ docker run -it --rm --entrypoint sh kconnectcli/kconnect:0.5.4-alpine-with-deps-arm64
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested
/app $ ls -al
total 174152
drwxr-xr-x    1 root     root          4096 Mar  4 20:24 .
drwxr-xr-x    1 root     root          4096 Mar  4 20:27 ..
-rwxr-xr-x    1 root     root      45547520 Mar  3 22:49 aws-iam-authenticator
-rwxr-xr-x    1 3434     3434      36634624 Feb  4  2021 helm
-rwxr-xr-x    1 root     root      18546688 Mar  4 20:24 kconnect
-rwxr-xr-x    1 root     root      37158912 Mar  3 22:49 kubectl
-rwxr-xr-x    1 root     root      40434362 Mar  3 22:49 kubelogin
/app $ aws-iam-authenticator version
{"Version":"0.5.5","Commit":"768f976bcadac89cceb31c357a0f55e460c446a2"}
/app $ kubelogin --version
kubelogin version
git hash: v0.0.11/01c6495400f0374b261d1f9dfe46114534805f7a
Go version: go1.16.14
Build time: 2022-02-11T18:44:58Z


bungeecord

Can I use Bungeecord?

MelodyMine does not need Bungeecord; it can support any number of servers on its own. All the servers where the MelodyMine plugin is installed just need to be connected to the MelodyMine websocket server.
https://docs.sayandev.org/melodymine/guide/features#proxy-less


[TCE] normalize variable images

When different languages have different images, we swap
between them by using a convention with the image paths.
e.g.
english version:

https://cloudfront.crimethinc.com/tce/images/revolt-large.jpg

spanish version:

https://cloudfront.crimethinc.com/tce/images/rebelarte-large.jpg

This requires the same image variations to be uploaded for every language,
otherwise one language will look fine, the other will have an image missing.
I noticed that for espanol we have:

<EMAIL_ADDRESS>
But we do not have the equivalent file in the english version.
@veganstraightedge, can you please upload revolt-large.jpg to the CDN with a filename of<EMAIL_ADDRESS>

@astronaut-wannabe  Done.
<EMAIL_ADDRESS>


Scraped europython-2018

minimal download executed for #527 (See #517 for further explanation)

From looking at their Youtube history, this conference seems to have two playlists for the conference every year: The live streams which, of course, get instantly published and the edited videos which come out later. If you want to push this to the site, please make a note somewhere to remove these entries once the edited videos become available. Personally, I would vote for not merging this PR at all and just wait until the edited videos arrive.

When I started as a pyvideo user my main use case was as new events alarm.
I think that the stream is good as minimal download and is good as a reminder that this needs further work.
That make sense to you @jonemo?

I gave it a go with the edited videos: see https://github.com/pyvideo/data/pull/581


Fix code scanning alert - DOM text reinterpreted as HTML

Tracking issue for:

[ ] https://github.com/basf/bscience-gui/security/code-scanning/2

@Valexr should we simply ignore it?

Tracking issue for:

[ ]  https://github.com/basf/bscience-gui/security/code-scanning/2

@Valexr should we simply ignore it?

I don’t see where it…🤷🏻♂but for more security we can sanitize string before pass to server…🤔on client side it’s hasn’t any risks…

Fixed https://github.com/basf/bscience-gui/pull/19/commits/6ebbcfd143621ae5e1ef91ac0e0c9c66c77b909e


new rule: react-a11y-access-keys

Accesskey attribute values should be unique
• http://oaa-accessibility.org/wcag20/rule/1/
Accesskey attribute values should not interfere with IE shortcuts
• http://oaa-accessibility.org/wcag20/rule/2/
Enforce that the accessKey prop is not used on any element to avoid complications with keyboard commands used by a screenreader. From  no-access-key.md
• https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-access-key.md
Partially implemented in no-access-key.md - https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-access-key.md

💀 It's time! 💀
TSLint is being deprecated; therefore, it and tslint-microsoft-contrib are no longer accepting pull requests for major new changes or features. See #4534. 😱
If you'd like to see this change implemented, you have two choices:

Recommended: Check if this is available in ESLint + typescript-eslint ✅
Not Recommended: Fork TSLint or tslint-microsoft-contrib locally 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!


Better message for 'null'-response from metals/treeViewReveal

Describe the feature
When metals/treeViewReveal responds with null, nvim-metals logs the following message: "You recieved a node for a view nvim-metals doesn't support"
I'd expect a message which either encourages to open an issue in Metal (is it a case, when we should report to Metals?) or clarifies the impossibility of this action due to Metals lacking some information
Reproduction steps:

in a scala 3 project open scala.quoted.Quotes
invoke lua require('metals.tvp').reveal_in_tree()<CR>
look at lsp.trace.json

[Trace - 00:23:28 AM] Received request 'metals/treeViewReveal - (9)'
Params: {
  "textDocument": {
    "uri": "file:///..../.metals/readonly/dependencies/scala3-library_3-3.2.2-sources.jar/scala/quoted/Quotes.scala"
  },
  "position": {
    "line": 24,
    "character": 35
  }
}

[Trace - 00:23:28 AM] Sending response 'metals/treeViewReveal - (9)'. Processing request took 90ms
Result: null

Potential ways to implement
No response

Hey @susliko, thanks for creating this! Yes, I think we can do better here. I have a feeling I didn't even think of this because it was created before Scala 3, so I never experienced the null response (it happens here because there is no Scala 3 support for the tree view).


Github Auth Popup not closing after User cancels at the Oauth screen in it

Expected Behavior
Enabled Login with github. If the user logs rejects the auth request, The popup should also closed.

Actual Behavior
When the user "cancel" the oauth request the popup redirects to the /api/auth/github with errors description in URL and does not close itself.

Steps to Reproduce

Step 1
Step 2
...

Context

Your Environment

Browser Information:

Output of yarn backstage-cli info:

Does login work? It looks like your redirect URL is incorrect as it's taking the user back to the frontend rather than the backend auth endpoint. The path should be something like /api/auth/github/handler/frame


Patch he names

What is the problem / what does the code in this PR do
Explicitly call high energy Plugins ...HighEnergy instead of ...HE

Hi Daniel, in principle looks fine. Will test it on Monday if we don’t change anything unintendedly.
Also in d951245  I added a small preamble for all HE plugins. I assume you are fine with that.

@WenzDaniel I just checked and I don't see any problems. I think we do need approve of @feigaodm as the lineage of records_he  and beyond changes. @feigaodm, if we change this now (for readability) we need to reprocess the following plugins:

Thanks @WenzDaniel and @jorana , it looks fine to me. I guess we will need to reprocess every run when this is merged. So far I see everything from normal and HE boards are separately processed and analyzed. We shall think about how can we connect the two together nicely, but this might be more natural when we have good S2s, especially when it's related to positions. These comments are not directly related to this PR though, but I want to put it here as a reminder for us ;-)


How to correctly configure the concurrency of a single function?

We hardware is 12vCPU and 32GB RAM K8s cluster, 3 nodes.
My problem is that whenever I try to configure the container concurrency, such as setting the -c parameter to 2, 5, 10, 50, etc., but now it seems that OpenWhisk can only work correctly when the concurrency is 1.
The specific performance is that the error of preheating the container directly occurs in the function call, as follows：

And the test program also shows a large number of timeouts, and this test runs normally when -c is configured as 1, I don’t know how to set up concurrency：

I have configured value.yaml according to the suggestion you gave in the previous issue, as follows：

At the same time, I also found an obvious problem, that is, when the number of preheated containers reaches 200, it is difficult to configure upwards, and there will be an error that the api gateway resource cannot be found. This is in the previous issue.
My current difficulty is that it is difficult to use OpenWhisk to cope with a large amount of load. The data I currently get is only 200TPS, which is a very bad value. My function is very simple, just remotely calling a python3 runtime function of a redis database.
Could you give me some advice?

this is my helm chart value.yaml file:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This file defines the default values for all variables
# used in the OpenWhisk Helm Chart.  The variables are grouped
# by component into subtrees.
#
# You _MUST_ override the default value of some of the whisk.ingress variables
# to reflect your specific Kubernetes cluster.  For details, see the appropriate
# one of these files:
#   docs/k8s-docker-for-mac.md
#   docs/k8s-aws.md
#   docs/k8s-ibm-public.md
#   docs/k8s-google.md
#   docs/k8s-diy.md (for do-it-yourself clusters).
#
# Production deployments _MUST_ override the default credentials
# that are used in whisk.auth and db.auth.
#
# The file docs/configurationChoices.md discusses other common
# configuration options for OpenWhisk and which variables to override
# to enable them.
#
# The file values-metadata.yaml contains a description of each
# of these variables and must also be updated when any changes are
# made to this file.

# Overall configuration of OpenWhisk deployment
whisk:
  # Ingress defines how to access OpenWhisk from outside the Kubernetes cluster.
  # Only a subset of the values are actually used on any specific type of cluster.
  # See the "Configuring OpenWhisk section" of the docs/k8s-*.md that matches
  # your cluster type for details on what values to provide and how to get them.
  ingress:
    apiHostName: <IP_ADDRESS>
    apiHostPort: 31001
    apiHostProto: "https"
    type: NodePort
    annotations:
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"
    domain: "domain"
    awsSSL: "false"
    useInternally: false
    tls:
      enabled: true
      createsecret: true
      secretname: "ow-ingress-tls-secret"
      secrettype: "type"
      crt: "server.crt"
      key: "server.key"
  # Production deployments _MUST_ override these default auth values
  auth:
    system: "789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP"
    guest: "23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP"
  systemNameSpace: "/whisk.system"
  limits:
    actionsInvokesPerminute: "50000000"
    actionsInvokesConcurrent: "50000000"
    triggersFiresPerminute: "50000000"
    actionsSequenceMaxlength: "50000000"
    actions:
      time:
        min: "100ms"
        max: "5m"
        std: "1m"
      memory:
        min: "16m"
        max: "4096m"
        std: "64m"
      concurrency:
        min: 1
        max: 2000
        std: 1
      log:
        min: "0m"
        max: "10m"
        std: "10m"
    activation:
      payload:
        max: "1048576"
  loadbalancer:
    blackboxFraction: "100%"
    timeoutFactor: 2
  # Kafka configuration. For all sub-fields a value of "" means use the default from application.conf
  kafka:
    replicationFactor: ""
    topics:
      prefix: ""
      cacheInvalidation:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      completed:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      events:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      health:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      invoker:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      scheduler:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
      creationAck:
        segmentBytes: ""
        retentionBytes: ""
        retentionMs: ""
  containerPool:
    userMemory: "65536m"
  runtimes: "runtimes1.json"
  durationChecker:
    timeWindow: "1 d"
  testing:
    includeTests: true
    includeSystemTests: false
  versions:
    openwhisk:
      buildDate: "2022-10-14-13:44:50Z"
      buildNo: "20221014"
      gitTag: "ef725a653ab112391f79c274d8e3dcfb915d59a3"
    openwhiskCli:
      tag: "1.1.0"
    openwhiskCatalog:
      gitTag: "1.0.0"
    openwhiskPackageAlarms:
      gitTag: "2.3.0"
    openwhiskPackageKafka:
      gitTag: "2.1.0"

k8s:
  domain: cluster.local
  dns: kube-dns.kube-system
  persistence:
    enabled: true
    hasDefaultStorageClass: true
    explicitStorageClass: openwhisk-nfs

# Images used to run auxillary tasks/jobs
utility:
  imageName: "openwhisk/ow-utils"
  imageTag: "ef725a6"
  imagePullPolicy: "IfNotPresent"

# Docker registry
docker:
  registry:
    name: ""
    username: ""
    password: ""
  timezone: "UTC"

# zookeeper configurations
zookeeper:
  external: false
  imageName: "zookeeper"
  imageTag: "3.4"
  imagePullPolicy: "IfNotPresent"
  # Note: Zookeeper's quorum protocol is designed to have an odd number of replicas.
  replicaCount: 1
  restartPolicy: "Always"
  connect_string: null
  host: null
  port: 2181
  serverPort: 2888
  leaderElectionPort: 3888
  persistence:
    size: 256Mi
  # Default values for entries in zoo.cfg (see Apache Zookeeper documentation for semantics)
  config:
    tickTime: 2000
    initLimit: 5
    syncLimit: 2
    dataDir: "/data"
    dataLogDir: "/datalog"

# kafka configurations
kafka:
  external: false
  imageName: "wurstmeister/kafka"
  imageTag: "2.12-2.3.1"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  connect_string: null
  port: 9092
  persistence:
    size: 2Gi

# Database configuration
db:
  external: false
  # Should we run a Job to wipe and re-initialize the database when the chart is deployed?
  # This should always be true if external is false.
  wipeAndInit: true
  imageName: "apache/couchdb"
  imageTag: "2.3"
  imagePullPolicy: "IfNotPresent"
  # NOTE: must be 1 (because initdb.sh enables single node mode)
  replicaCount: 1
  restartPolicy: "Always"
  host: null
  port: 5984
  provider: "CouchDB"
  protocol: "http"
  # Production deployments _MUST_ override the default user/password values
  auth:
    username: "whisk_admin"
    password: "some_passw0rd"
  dbPrefix: "test_"
  activationsTable: "test_activations"
  actionsTable: "test_whisks"
  authsTable: "test_subjects"
  persistence:
    size: 5Gi

# CouchDB, ElasticSearch
activationStoreBackend: "CouchDB"

# Nginx configurations
nginx:
  imageName: "nginx"
  imageTag: "1.21.1"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  httpPort: 80
  httpsPort: 443
  httpsNodePort: 31001
  httpNodePort: 31005
  workerProcesses: "auto"
  certificate:
    external: false
    cert_file: ""
    key_file: ""
    sslPassword: ""

# Controller configurations
controller:
  imageName: "openwhisk/controller"
  imageTag: "ef725a6"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  port: 8080
  options: ""
  jvmHeapMB: "4096"
  jvmOptions: ""
  loglevel: "INFO"

# Scheduler configurations
scheduler:
  enabled: false
  imageName: "openwhisk/scheduler"
  imageTag: "ef725a6"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  endpoints:
    akkaPort: 25520
    port: 8080
    rpcPort: 13001
  options: ""
  jvmHeapMB: "4096"
  jvmOptions: ""
  loglevel: "INFO"
  protocol: "http"
  maxPeek: 10000
  # Sometimes the kubernetes client takes a long time for pod creation
  inProgressJobRetention: "600 seconds"
  blackboxMultiple: 100
  dataManagementService:
    retryInterval: "1 second"
  queueManager:
    maxSchedulingTime: "600 seconds"
    maxRetriesToGetQueue: "60"
  queue:
    idleGrace: "60 seconds"
    stopGrace: "60 seconds"
    flushGrace: "120 seconds"
    gracefulShutdownTimeout: "15 seconds"
    maxRetentionSize: 1000000
    maxRetentionMs: 6000000
    maxBlackboxRetentionMs: 3000000
    throttlingFraction: 1.0
    durationBufferSize: 100
  scheduling:
    staleThreshold: "100ms"
    checkInterval: "100ms"
    dropInterval: "10 minutes"

# etcd (used by scheduler and controller if scheduler is enabled)
etcd:
  # NOTE: external etcd is not supported yet
  external: false
  clusterName: ""
  imageName: "quay.io/coreos/etcd"
  imageTag: "v3.4.0"
  imagePullPolicy: "IfNotPresent"
  # NOTE: setting replicaCount > 1 will not work; need to add etcd cluster configuration
  replicaCount: 1
  restartPolicy: "Always"
  port: 2379
  leaseTimeout: 1
  poolThreads: 15
  persistence:
    size: 5Gi

# Invoker configurations
invoker:
  imageName: "openwhisk/invoker"
  imageTag: "ef725a6"
  imagePullPolicy: "IfNotPresent"
  restartPolicy: "Always"
  runtimeDeleteTimeout: "30 seconds"
  port: 8080
  options: "-Dwhisk.spi.LogStoreProvider=org.apache.openwhisk.core.containerpool.logging.LogDriverLogStoreProvider"
  jvmHeapMB: "4096"
  jvmOptions: ""
  loglevel: "INFO"
  containerFactory:
    useRunc: false
    impl: "kubernetes"
    enableConcurrency: true
    networkConfig:
      name: "bridge"
      dns:
        inheritInvokerConfig: true
        overrides:          # NOTE: if inheritInvokerConfig is true, all overrides are ignored
          # Nameservers, search, and options are space-separated lists
          # eg nameservers: "<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>" is a list of 3 nameservers
          nameservers: ""
          search: ""
          options: ""
    kubernetes:
      isolateUserActions: true
      replicaCount: 1

# API Gateway configurations
apigw:
  imageName: "openwhisk/apigateway"
  imageTag: "1.0.0"
  imagePullPolicy: "IfNotPresent"
  # NOTE: setting replicaCount > 1 is not tested and may not work
  replicaCount: 1
  restartPolicy: "Always"
  apiPort: 9000
  mgmtPort: 8080

# Redis (used by apigateway)
redis:
  external: false
  imageName: "redis"
  imageTag: "4.0"
  imagePullPolicy: "IfNotPresent"
  # NOTE: setting replicaCount > 1 will not work; need to add redis cluster configuration
  replicaCount: 1
  restartPolicy: "Always"
  host: null
  port: 6379
  persistence:
    size: 2Gi

# User-events configuration
user_events:
  imageName: "openwhisk/user-events"
  imageTag: "ef725a6"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  port: 9095

# Prometheus configuration
prometheus:
  imageName: "prom/prometheus"
  imageTag: v2.14.0
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  port: 9090
  persistence:
    size: 1Gi
  persistentVolume:
    mountPath: /prometheus/

# Grafana configuration
grafana:
  imageName: "grafana/grafana"
  imageTag: "6.3.0"
  imagePullPolicy: "IfNotPresent"
  replicaCount: 1
  restartPolicy: "Always"
  port: 3000
  adminPassword: "admin"
  dashboards:
  - https://raw.githubusercontent.com/apache/openwhisk/master/core/monitoring/user-events/compose/grafana/dashboards/openwhisk_events.json
  - https://raw.githubusercontent.com/apache/openwhisk/master/core/monitoring/user-events/compose/grafana/dashboards/global-metrics.json
  - https://raw.githubusercontent.com/apache/openwhisk/master/core/monitoring/user-events/compose/grafana/dashboards/top-namespaces.json

# Metrics
metrics:
  # set true to enable prometheus exporter
  prometheusEnabled: false
  # passing prometheus-enabled by a config file, required by openwhisk
  whiskconfigFile: "whiskconfig.conf"
  # set true to enable Kamon
  kamonEnabled: false
  # set true to enable Kamon tags
  kamonTags: false
  # set true to enable user metrics
  userMetricsEnabled: false

# Configuration of OpenWhisk event providers
providers:
  # CouchDB instance used by all enabled providers to store event/configuration data.
  db:
    external: false
    # Define the rest of these values if you are using external couchdb instance
    host: "<IP_ADDRESS>"
    port: 5984
    protocol: "http"
    username: "admin"
    password: "secret"
  # Alarm provider configurations
  alarm:
    enabled: true
    imageName: "openwhisk/alarmprovider"
    imageTag: "2.3.0"
    imagePullPolicy: "IfNotPresent"
    # NOTE: replicaCount > 1 doesn't work because of the PVC
    replicaCount: 1
    restartPolicy: "Always"
    apiPort: 8080
    dbPrefix: "alm"
    persistence:
      size: 1Gi
  # Kafka provider configurations
  kafka:
    enabled: true
    imageName: "openwhisk/kafkaprovider"
    imageTag: "2.1.0"
    imagePullPolicy: "IfNotPresent"
    # NOTE: setting replicaCount > 1 has not been tested and may not work
    replicaCount: 1
    restartPolicy: "Always"
    apiPort: 8080
    dbPrefix: "kp"

busybox:
  imageName: "busybox"
  imageTag: "latest"

# Used to define pod affinity and anti-affinity for the Kubernetes scheduler.
# If affinity.enabled is true, then all of the deployments for the OpenWhisk
# microservices will use node and pod affinity directives to inform the
# scheduler how to best distribute the pods on the available nodes in the cluster.
affinity:
  enabled: true
  coreNodeLabel: core
  edgeNodeLabel: edge
  invokerNodeLabel: invoker
  providerNodeLabel: provider

# Used to define toleration for the Kubernetes scheduler.
# If tolerations.enabled is true, then all of the deployments for the OpenWhisk
# microservices will add tolerations for key openwhisk-role with specified value and effect NoSchedule.
toleration:
  enabled: true
  coreValue: core
  edgeValue: edge
  invokerValue: invoker

# Used to define the probes timing settings so that you can more precisely control the
# liveness and readiness checks.
# initialDelaySeconds - Initial wait time to start probes after container has started
# periodSeconds - Frequency to perform the probe, defaults to 10, minimum value is 1
# timeoutSeconds - Probe will timeouts after defined seconds, defaults to 1 second,
#                  minimum value is 1
# for more information please refer - https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
# Note - for now added probes settings for zookeeper, kafka, and controller only.
#        in future all components probes timing settings should be configured here.

probes:
  zookeeper:
    livenessProbe:
      initialDelaySeconds: 5
      periodSeconds: 10
      timeoutSeconds: 1
    readinessProbe:
      initialDelaySeconds: 5
      periodSeconds: 10
      timeoutSeconds: 1
  kafka:
    livenessProbe:
      initialDelaySeconds: 5
      periodSeconds: 10
      timeoutSeconds: 1
    readinessProbe:
      initialDelaySeconds: 5
      periodSeconds: 10
      timeoutSeconds: 5
  controller:
    livenessProbe:
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 1
    readinessProbe:
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 1
  scheduler:
    livenessProbe:
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 1
    readinessProbe:
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 1

# Pod Disruption Budget allows Pods to survive Voluntary and Involuntary Disruptions.
# for more information refer - https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
# Pod Disruptions budgets currently supported for the pods which are managed
# by one of Kubernetes built-in controllers (Deployment, ReplicationController,
# ReplicaSet, StatefulSet).
# Caveats -
# - You can specify numbers of maxUnavailable Pods for now as integer. % values are not
# supported.
# - minAvailable is not supported
# - PDB only applicable when replicaCount is greater than 1.
# - Only zookeeper, kafka, invoker and controller pods are supported for PDB for now.
# - Invoker PDB only applicable if containerFactory implementation is of type "kubernetes"

pdb:
  enable: false
  zookeeper:
    maxUnavailable: 1
  kafka:
    maxUnavailable: 1
  controller:
    maxUnavailable: 1
  invoker:
    maxUnavailable: 1
  elasticsearch:
    maxUnavailable: 1

# ElasticSearch configuration
elasticsearch:
  external: false
  clusterName: "elasticsearch"
  nodeGroup: "master"
  # The service that non master groups will try to connect to when joining the cluster
  # This should be set to clusterName + "-" + nodeGroup for your master group
  masterServiceValue: ""
  # Elasticsearch roles that will be applied to this nodeGroup
  # These will be set as environment variables. E.g. node.master=true
  roles:
    master: "true"
    ingest: "true"
    data: "true"
  replicaCount: 1
  minimumMasterNodes: 1
  esMajorVersionValue: ""
  # Allows you to add any config files in /usr/share/elasticsearch/config/
  # such as elasticsearch.yml and log4j2.properties, e.g.
  #  elasticsearch.yml: |
  #    key:
  #      nestedkey: value
  #  log4j2.properties: |
  #    key = value
  esConfig: {}
  # Extra environment variables to append to this nodeGroup
  # This will be appended to the current 'env:' key. You can use any of the kubernetes env
  # syntax here
  #  - name: MY_ENVIRONMENT_VAR
  #    value: the_value_goes_here
  extraEnvs: []
  # Allows you to load environment variables from kubernetes secret or config map
  # - secretRef:
  #     name: env-secret
  # - configMapRef:
  #     name: config-map
  envFrom: []
  # A list of secrets and their paths to mount inside the pod
  # This is useful for mounting certificates for security and for mounting
  # the X-Pack license
  #  - name: elastic-certificates
  #    secretName: elastic-certificates
  #    path: /usr/share/elasticsearch/config/certs
  #    defaultMode: 0755
  secretMounts: []
  image: "elasticsearch"
  imageTag: "latest"
  imagePullPolicy: "IfNotPresent"
  podAnnotations: {}
  labels: {}
  esJavaOpts: "-Xmx1g -Xms1g"
  resources:
    requests:
      cpu: "1500m"
      memory: "4Gi"
    limits:
      cpu: "3000m"
      memory: "8Gi"
  initResources: {}
  sidecarResources: {}
  networkHost: "<IP_ADDRESS>"
  volumeClaimTemplate:
    accessModes: [ "ReadWriteOnce" ]
    resources:
      requests:
        storage: 30Gi
  rbac:
    create: false
    serviceAccountName: ""
  podSecurityPolicy:
    create: false
    name: ""
    spec:
      privileged: true
      fsGroup:
        rule: RunAsAny
      runAsUser:
        rule: RunAsAny
      seLinux:
        rule: RunAsAny
      supplementalGroups:
        rule: RunAsAny
      volumes:
        - secret
        - configMap
        - persistentVolumeClaim
  persistence:
    annotations: {}
  extraVolumes: []
  # - name: extras
  #   mountPath: /usr/share/extras
  #   readOnly: true
  extraVolumeMounts: []
  # - name: do-something
  #   image: busybox
  #   command: ['do', 'something']
  extraContainers: []
  # - name: do-something
  #   image: busybox
  #   command: ['do', 'something']
  extraInitContainers: []
  # The default is to deploy all pods serially. By setting this to parallel all pods are started at
  # the same time when bootstrapping the cluster
  podManagementPolicy: "Parallel"
  # The environment variables injected by service links are not used, but can lead to slow Elasticsearch boot times when
  # there are many services in the current namespace.
  # If you experience slow pod startups you probably want to set this to `false`.
  enableServiceLinks: true
  protocol: http
  connect_string: null
  host: null
  httpPort: 9200
  transportPort: 9300
  service:
    labels: {}
    labelsHeadless: {}
    type: ClusterIP
    nodePort: ""
    annotations: {}
    httpPortName: http
    transportPortName: transport
    loadBalancerIP: ""
    loadBalancerSourceRanges: []
  updateStrategy: RollingUpdate
  podSecurityContext:
    fsGroup: 1000
    runAsUser: 1000
  securityContext:
    capabilities:
      drop:
      - ALL
    # readOnlyRootFilesystem: true
    runAsNonRoot: true
    runAsUser: 1000
  # How long to wait for elasticsearch to stop gracefully
  terminationGracePeriod: 120
  sysctlVmMaxMapCount: 262144
  readinessProbe:
    failureThreshold: 3
    initialDelaySeconds: 10
    periodSeconds: 10
    successThreshold: 3
    timeoutSeconds: 5
  # https://www.elastic.co/guide/en/elasticsearch/reference/7.8/cluster-health.html#request-params wait_for_status
  clusterHealthCheckParams: "wait_for_status=green&timeout=1s"
  ## Use an alternate scheduler.
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  schedulerName: ""
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  nameOverride: ""
  fullnameOverride: ""
  # https://github.com/elastic/helm-charts/issues/63
  masterTerminationFix: false
  lifecycle: {}
    # preStop:
    #   exec:
    #     command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
    # postStart:
    #   exec:
    #     command:
    #       - bash
    #       - -c
    #       - |
    #         #!/bin/bash
    #         # Add a template to adjust number of shards/replicas
    #         TEMPLATE_NAME=my_template
    #         INDEX_PATTERN="logstash-*"
    #         SHARD_COUNT=8
    #         REPLICA_COUNT=1
    #         ES_URL=http://localhost:9200
    #         while [[ "$(curl -s -o /dev/null -w '%{http_code}\n' $ES_URL)" != "200" ]]; do sleep 1; done
    #         curl -XPUT "$ES_URL/_template/$TEMPLATE_NAME" -H 'Content-Type: application/json' -d'{"index_patterns":['\""$INDEX_PATTERN"\"'],"settings":{"number_of_shards":'$SHARD_COUNT',"number_of_replicas":'$REPLICA_COUNT'}}'
  sysctlInitContainer:
    enabled: true
  keystore: []
  # Deprecated
  # please use the above podSecurityContext.fsGroup instead
  fsGroup: ""
  indexPattern: "openwhisk-%s"
  username: "admin"
  password: "admin"

akka:
  actorSystemTerminateTimeout: "30 s"

@style95 Boss, I would like to ask you how to configure concurrency correctly. At present, as long as we use the -c parameter to configure an Action concurrency greater than 1, a large number of errors will occur.

The performance is highly related to the duration of your action.
Let's say, your action takes 1 second to finish and you have 200 containers.
Then your TPS will be just 200 TPS.
If your action completes in 100ms, your TPS will be 2000 TPS.
And you said, your machines have 32Gb of memory but you configured around 65GB of memory for runtime containers.
It will exceed the limit of your machine and might cause OOM.
Since core components like invokers should be running as well, you need to configure less than 32GB for runtime containers.
And take a look at the duration of your activations.

The performance is highly related to the duration of your action. Let's say, your action takes 1 second to finish and you have 200 containers. Then your TPS will be just 200 TPS. If your action completes in 100ms, your TPS will be 2000 TPS.
And you said, your machines have 32Gb of memory but you configured around 65GB of memory for runtime containers. It will exceed the limit of your machine and might cause OOM. Since core components like invokers should be running as well, you need to configure less than 32GB for runtime containers. And take a look at the duration of your activations.
You can refer to this guide for intra-concurrency. There are still some known issues with it though.

Sorry, I have 3 nodes, so actually I have 32*3GB=96GB memory available, in K8s 2 work nodes have 64GB, and we also config it pool as 48GB, But it look like not good, Although the execution time of Action is very short, only 100ms,etc:

But the result is very confusing, My K6 test very unstable and poor performance, this is 300uvs and get 200TPS:

We also find some internal error:

But, I appreciate your comments, I will study the guide in the link carefully, I think I should turn to nodejs functions to support concurrent access, thanks!
In the future, I will pay more attention to how to improve the TPS of OpenWhisk and solve some existing problems, which will be very helpful to academia and industry.

ok, so you are running only one invoker.
Since the invoker communicates with runtime containers, it's generally better to have more than one invoker in terms of performance. And the userMemory config applies per invoker, so if you add more invokers, you need to decrease the value.
And I can see the "internal error" in activations, do you have any logs regarding that?
And it seems the error has changed from "developer error" to "internal error".

On the whole, most hot starts are successful, but a small number of continuous internal errors:

It seems that the container failed to start or the scheduling failed. I seem to have disabled the activation log:

I use kubectl to check the pod's log, and it turns out that the node is overwhelmed, but in fact, I set the kubelet to have 400 pods per node, but the scheduling still cannot be completed.

errors message is Pod event for failed pod 'wskowdev-invoker-00-1481-prewarm-nodejs16' null: 0/3 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 2 Too many pods.、Pod event for failed pod 'wskowdev-invoker-00-1484-prewarm-nodejs16' null: Successfully assigned openwhisk/wskowdev-invoker-00-1484-prewarm-nodejs16 to work2 and failed starting prewarm, removed

So this is not an OpenWhisk issue.
Your K8S cluster does not have enough resources.

So this is not an OpenWhisk issue. Your K8S cluster does not have enough resources.

Thank you, I need update my cluster!


Document advanced network topology

Is your feature request related to a problem? Please describe.
I am trying to better understand how the Azure SignalR service works together with Blazor Server running on top of Azure App Service  sitting behind Azure Front Door.
Describe the solution you'd like
I'd like to see a detailed diagram showing the communication flow from the starting point of a user opening the web page, ideally with Azure AD based auth steps as well, while making it clear which components initiates the connections to where.
I know that Azure Front door doesn't support WebSockets this is why Azure SignalR service must be used, which means SignalR can never just connect to the App Service behind front door, right? You see this is really not clear to me :)
Additional context
I've found this slide, but it is not detailed enough for me: signalr-deep-dive like what happens after step 5?
Thank you!!

This document describes the architecture when using Azure SignalR https://learn.microsoft.com/en-us/azure/azure-signalr/signalr-concept-internals

After step 5, the client establishes a persistent connection with Azure SignalR, and Azure SignalR routes the traffic to your App Server through the established "server connections".
For your scenario, it is:


Deserialization for PCA model seems to be broken. Failed to find a default value for "k"

I have created a PCA model and able to serializeToBundle without any issues. However, after deserializeFromBundle and trying to transform, I am encountering below error:
py4j.protocol.Py4JJavaError: An error occurred while calling o278.transform.
: java.util.NoSuchElementException: Failed to find a default value for k
at org.apache.spark.ml.param.Params.$anonfun$getOrDefault$2(params.scala:756)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.ml.param.Params.getOrDefault(params.scala:756)
at org.apache.spark.ml.param.Params.getOrDefault$(params.scala:753)
at org.apache.spark.ml.PipelineStage.getOrDefault(Pipeline.scala:41)
at org.apache.spark.ml.param.Params.$(params.scala:762)
at org.apache.spark.ml.param.Params.$$(params.scala:762)
at org.apache.spark.ml.PipelineStage.$(Pipeline.scala:41)
at org.apache.spark.ml.feature.PCAParams.validateAndTransformSchema(PCA.scala:55)
at org.apache.spark.ml.feature.PCAParams.validateAndTransformSchema$(PCA.scala:51)
at org.apache.spark.ml.feature.PCAModel.validateAndTransformSchema(PCA.scala:122)
at org.apache.spark.ml.feature.PCAModel.transformSchema(PCA.scala:156)
at org.apache.spark.ml.PipelineStage.transformSchema(Pipeline.scala:71)
at org.apache.spark.ml.feature.PCAModel.transform(PCA.scala:146)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.lang.Thread.run(Thread.java:750)
However, I have passed value of k while initialization the model and serializing it.
model = PCAModel(k=3, inputCol="features", outputCol="pca")
It seems to be very similar to the issue: https://github.com/combust/mleap/issues/481 where certain variables are missed to be set.

Can you tell us a bit about your environment.  What mleap and spark version do you have?

Well, I can see that we aren't storing k in spark.ml.bundle.ops.feature.PcaOp, so storing then loading back into Spark will crash like you observed.  Looking through changelogs on the files I think it has always been this way 😢 .  Should be an easy fix here https://github.com/combust/mleap/blob/master/mleap-spark/src/main/scala/org/apache/spark/ml/bundle/ops/feature/PcaOp.scala if you feel up to making a PR?
Stepping back a bit you're doing something a bit unexpected (and which is not tested in mleap) by trying to serialize then deserialize back into spark.  Normally for that code flow people just use Spark's built in serialization/deserialization capabilities.  MLeap does test parity between spark->mleap via doing:

transform in spark
serialize to bundle
deserialize to mleap
transform in mleap

Testing to deserialize back to spark is a good idea but I'm not really sure how many other transformers will also have missing values.


Drag Around Container.js file i don't change es6

@DragDropContext(HTML5Backend)
@DropTarget(ItemTypes.BOX, boxTarget, connect => ({
connectDropTarget: connect.dropTarget()
}))
together use i don't know
this code change es6?

sorry help me
I can not switch to a grammar es6

I'm not 100% sure what you're asking here. Can you clarify?

I can not switch to a grammar es6
These syntax @ and   static propTypes = {
connectDragSource: PropTypes.func.isRequired,
isDragging: PropTypes.bool.isRequired,
id: PropTypes.any.isRequired,
left: PropTypes.number.isRequired,
top: PropTypes.number.isRequired,
hideSourceOnDrag: PropTypes.bool.isRequired,
children: PropTypes.node
};

Is the ES version selector broken? If so, on what page are you seeing this?
Those are experimental proposals, not yet part of the standard language. On the site, you should be able to click the ES5/ES6 version of the code previews to see what the equivalent is.


Sync

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 67.05202% with 57 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

src/main/java/seedu/address/model/ClientBook.java
36.84%
18 Missing and 6 partials :warning:

...in/java/seedu/address/logic/parser/ParserUtil.java
72.72%
2 Missing and 7 partials :warning:

...a/seedu/address/model/client/UniqueClientList.java
75.86%
0 Missing and 7 partials :warning:

...rc/main/java/seedu/address/model/ModelManager.java
70.00%
4 Missing and 2 partials :warning:

...eedu/address/logic/commands/ListBuyersCommand.java
57.14%
1 Missing and 2 partials :warning:

...edu/address/logic/commands/ListClientsCommand.java
66.66%
0 Missing and 2 partials :warning:

...du/address/logic/commands/ListMeetingsCommand.java
75.00%
0 Missing and 2 partials :warning:

.../address/logic/commands/ListPropertiesCommand.java
75.00%
0 Missing and 2 partials :warning:

...edu/address/logic/commands/ListSellersCommand.java
71.42%
0 Missing and 2 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines
Coverage Δ
Complexity Δ

...eedu/address/logic/commands/AddMeetingCommand.java
71.42% <100.00%> (ø)
13.00 <0.00> (ø)

.../address/logic/commands/DeletePropertyCommand.java
90.62% <100.00%> (ø)
14.00 <0.00> (ø)

...java/seedu/address/logic/commands/ListCommand.java
100.00% <ø> (ø)
2.00 <0.00> (ø)

...du/address/logic/parser/AddBuyerCommandParser.java
93.33% <100.00%> (ø)
5.00 <0.00> (ø)

...u/address/logic/parser/AddSellerCommandParser.java
93.33% <100.00%> (ø)
5.00 <0.00> (ø)

...ddress/logic/parser/FilterClientCommandParser.java
92.30% <100.00%> (ø)
5.00 <0.00> (ø)

.../seedu/address/logic/parser/ListCommandParser.java
83.78% <100.00%> (+11.28%)
10.00 <3.00> (+1.00)

src/main/java/seedu/address/model/Model.java
100.00% <100.00%> (ø)
3.00 <1.00> (ø)

...rc/main/java/seedu/address/model/client/Email.java
92.85% <ø> (ø)
6.00 <0.00> (ø)

.../seedu/address/model/client/NameWithoutNumber.java
64.28% <ø> (ø)
6.00 <0.00> (ø)

... and 10 more


[low-power] implement enhanced-ack based probing

This PR implements Enhanced-ACK Probing (on simulation platform).
An overview of the PR:

Add a new public API otLinkMetricsConfigEnhAckProbing which sends Link Metrics Management Request to configure the probing. This is called on Probing Initiator side.
Add a new radio platform API otPlatRadioConfigureEnhAckProbing. This API should be called on Probing Subject side when handling the requests from Initiators. This API notifies the radio to start/stop aggregating link metrics info and include the data into Vendor IE in enhanced-ACK for the specific neighbor. As discussed in #5746, the code for doing such thing should be put in radio driver.
Add a util module util/link_metrics, which provides a group of APIs to implement Probing Subject side logic for Enh-ACK Probing. Any platform could use this module to implement the feature easily in radio driver.
Add new util APIs in util/mac_frame to generate Enh-ACK Probing IE (Vendor IE with Thread OUI and SubType = 0) and set value for this IE.
Update the implementation in simulation/radio.c to support Probing Subject side logic for Enh-ACK Probing, using APIs in util/link_metrics and util/mac_frame.
Add a test v1_2_LowPower_7_1_01_SingleProbeLinkMetricsWithEnhancedAcks.py for testing.
Misc:

Add check for all the public Link Metrics APIs (Initiator side) to ensure that the Subject is a neighbor of the Initiator. If the address is not link-local or the neighbor is not found, an error UNKNOWN_NEIGHBOR would be returned.
Update PrepareEmptyFrame so that when it's called for reference device, its frame version would be set to 2015.

Thanks for the changes @Irving-cl.
Overall it looks good (apart from the nits in the comments), but I believe there is a key missing piece: how is the Probing Initiator supposed to trigger the retrieve of the data aggregated by the Probing Subject? At the moment it's only possible by sending an empty data frame as reference device, or by using CSL.
There should be a way for non CSL Receiver devices to make use of this feature. Please correct me if I missed something.

@edmont
I think the idea of Enhanced-ACK Based Probing is that the Initiator could avail of the regular messages (for example, in real world, the application would send some messages) to get Link Metrics data instead of sending a specific message to retrieve the data and thus reduce power consumption. After the Initiator successfully configured it at a Subject, any other frames (with version 2015) sent by it would get an Enhanced Ack with Vendor Specific IE.

@Irving-cl yes, I agree there is no need for extra frames, but at the moment the application in the Probing Initiator has no way for telling the MAC to set kFcfFrameVersion2015 other than using CSL (apart from optional Time Sync and reference device empty frames).
In order for this functionality to be useful there should be a mechanism to select when to trigger an 802.15.4-2015 frame. Probably we don't want all sent frames to be 2015 version, so at least we could establish that 1 every N frames it's. Thoughts?

@edmont
That makes sense. From the spec, it feels like, when the application wants to know the Link Metrics information, then it sends a 2015 frame. Imagine that we are application users and using OpenThread with this feature, we may want to get the Link Metrics information after the Initiator sends a specific number of frames, say, 10. So maybe we can provide a new API that enables users to set the number N. And then every N frame, one frame's version would be set to 2015. If the API was not called, there would be a default N. Thoughts?

For simplicity we could even start with just a build time configuration for N and add the API in the future if needed. Or even assume N=1 and force 802.15.4-2015 data and command frames whenever Enhance Ack probing is configured. Maybe the overhead is not so big and at the end the important thing is what the application does with otLinkMetricsEnhAckProbingIeReportCallback.
However, not sure if this would break Thread Certification somehow.

@edmont

About the your second paragraph, I don't think there should be other way than injecting the IE data for the last frame, as requested by the spec. If the Probing Subject can't achieve it, then it can't support this feature.

Yeah, I mean it's unclear to me how we should use OT_RADIO_CAPS_AUTO_ENH_ACK. If it indicates the support of IE injection, then I think the current nRF platform actually satisfies this requirement (it does use this for CSL IE). However it doesn't support to include the link metrics data for the latest frame.
I think CSL IE injection is a MUST requirement for platforms. If a platform doesn't support it, then it doesn't support OpenThread 1.2. For latest link metrics data, I think we can make it optional for a platform. If a platform doesn't support it, then it always include the data for previous frame.

So if we make it compulsory to support 'latest link metrics data', then a platform must support all these things. Otherwise it doesn't support OpenThread 1.2. Then OT_RADIO_CAPS_AUTO_ENH_ACK doesn't indicate anything meaningful. (If it's not true then the platform doesn't suppport 1.2 at all, clearly we have enough information about if a platform supports 1.2 and we don't need this flag.)
If we make it optional to support 'latest link metrics data', then we need a specific flag to indicate this information. It's only for 'latest link metrics data', not related to CSL IE and other IEs. However, even we add a new flag for this information, this information is on Probing Subject. And if the Probing Initiator want to know this, it may need to send some messages to get this information. I.E. the Probing Initiator then knows if the link metrics data it gets is for the latest frame or the previous frame.

So from my point of view, I think OT_RADIO_CAPS_AUTO_ENH_ACK is something compulsory for OpenThread 1.2 and we don't need to add a flag to indicate that. Simply if a platform doesn't support it, then it doesn't support OpenThread 1.2. And since we have enough information about if a device supports 1.2, we don't need to use this flag.
And for the capability of 'latest link metrics data', I think there's some workaround. We'll allow a platform to include the data for previous frame. And if that is the case, then it should send some special value in the first enh-ack to the Initiator and the n the Initiator knows that. (First enh-ack don't have any meaningful data if 'latest link metrics data' is not supported).
Thoughts?

@edmont

As for supporting this in the current nRF platform, I believe we would only need a way to temporary store the LQI and RSSI when processing the received frame (nrf_802154_received_timestamp_raw) and retrieve that information when filling the IE data (nrf_802154_tx_ack_started).

I had the same idea in issue #5746. But as hubertmis commented, this seems not work because the timing is undeterministic. So we cannot ensure received is called before tx_ack_started.

I had the same idea in issue #5746. But as hubertmis commented, this seems not work because the timing is undeterministic. So we cannot ensure received is called before tx_ack_started.

You are right, I realized about that later on. However we could easily overcome this issue by gathering RSSI and LQI within nrf_802154_tx_ack_started:

RSSI: nrf_802154_rssi_last_get()
LQI: making lqi_get() (https://github.com/openthread/openthread/blob/master/third_party/NordicSemiconductor/drivers/radio/nrf_802154_core.c#L297) public

@edmont
That sounds good to me! Thanks.

We are still missing a way to retrieve the metrics. Can we go the easy path and just force all frames to be 802.15.4-2015 whenever enh-ack probing has been configured with that neighbor?

@edmont
SGTM. I'll update it soon.

@edmont
Just updated to enforce the Initiator to send 2015 frames to Subject after configuring Enh-ACK Probing.
I've verified it locally:

No.56 is a Link Management Request (Enh-ACK Probing). No.42 is a ping before the request, its frame version is 2006. And No.64 is a ping after the request, its frame version is 2015. And the IE is contained in the ACK No.65.

Skipped LGTM.com here because it has some problems now: https://github.community/t/lgtm-cannot-spot-issue-in-checkout/148935


How can I change the  message template  of  DingDing

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
How can I change the  message template  of  DingDing , such as @ someone by DingDing bot or  change the massage type
✔ Solution
How can I change the  message template  of  DingDing , such as @ someone by DingDing bot or  change the massage type
❓ Alternatives
No response
📝 Additional Context
No response

Duplicate of #975 and #646

User notification was merged in https://github.com/louislam/uptime-kuma/pull/4718
The rest (templating) a duplicate of https://github.com/louislam/uptime-kuma/issues/646
this issue is resolved if I subtract the duplicate
=> closing as resolved


[BUG] A use after free bug in test/cipherlist_test.c

File: test/cipherlist_test.c
Bug Function: test_default_cipherlist_explicit
Version: Git master
Description:
In function test_default_cipherlist_explicit, the fixture is freed by the callee tear_down(fixture) via OPENSSL_free() at line 209.
But the freed fixture is still used in the macro function EXECUTE_CIPHERLIST_TEST() which defined as
if (fixture !=((void*)0)) { result =execute_test(fixture); tear_down(fixture); }.
Code Description:
static int test_default_cipherlist_explicit(void)
{
    SETUP_CIPHERLIST_TEST_FIXTURE();
    if (!TEST_true(SSL_CTX_set_cipher_list(fixture->server, "DEFAULT"))
            || !TEST_true(SSL_CTX_set_cipher_list(fixture->client, "DEFAULT")))
 209:       tear_down(fixture);
 210: EXECUTE_CIPHERLIST_TEST();  //if (fixture !=((void*)0)) { result =execute_test(fixture); tear_down(fixture); }
    return result;
}

This doesn't look like master to me:
https://github.com/openssl/openssl/blob/d1a770414acd34c774248ce8efbe202fd7a44041/test/cipherlist_test.c#L206-L214

Oh, i'm sorry, i have used a master version at 2021-4-18.    This bug was fixed so quickly by your team.


Update API docs for internal code to align with message from analyzer

See https://github.com/aspnet/EntityFrameworkCore/pull/15087#discussion_r270992793
Specifically, the message we have does not really convey how we think about internal code. Proposal:

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

Re-opening since it looks like a lot of the type summary comments were not updated.

Oops, looks like my search-and-replace-fu wasn't strong that morning... Submitting another PR.


[core] Adding React-Native user agent platforms

Packages impacted by this PR

@azure/core-rest-pipeline
@typespec/ts-http-runtime

Issues associated with this PR

#30065

Describe the problem that is addressed by this PR
Adds more support for user agents for browser and fixes React-Native implementation to import "react-native".
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Invalid argument supplied for foreach(), models/config/timeslots.php:44

To reproduce:

I set a limitation of 1 order selecting days, location, and times. I save and close.
I notice that I do not set the type of order so I open limitation again I set delivery as order type and I save again. The system ask me to select covers element too.
Since I do not want category limitation I go back without saving. Sys error:

ErrorException: Invalid argument supplied for foreach()
in /home/info/domains/info.info/public_html/d2clone/extensions/thoughtco/maxorders/models/config/timeslots.php:44

Thanks, fixed here:
https://github.com/thoughtco/ti-ext-maxorders/commit/09bb89f87897410ba2b3028241fb7662c7ca841f

Testing right now ;)

To reproduce:

I set a limitation of 1 order of type delivery. I save and close.
I make a delivery order and then I change the status to received (my default status is NOT received).
If I want to make another order. Sys error:

ErrorException: array_intersect(): Argument #2 is not an array
in /home/info/domains/info.info/public_html/d2clone/extensions/thoughtco/kitchendisplay/controllers/Summary.php:142

The limitation is applied to all statuses except completed and cancelled right?

This is an error on kitchen display, not max orders, i'll transfer the issue there.

Sorry wrong place

ErrorException: Undefined property: stdClass::$order_type
in /home/info/domains/info.info/public_html/d2clone/extensions/thoughtco/maxorders/listeners/MaxOrders.php:102

Do not transfer I wrongly copy/pasted

This should fix it: https://github.com/thoughtco/ti-ext-maxorders/commits/master

I will test again ;)

So if I have a restriction to max 1 order and I have 3 timeslot of 30 m
10:00 10:30 11:00
and I do 1 order for 10:30 that timeslot is removed... correct.
But if I change the parameters that generate the timeslots (for example I switch from delivery to pick-up or change the lead time) and the 10:30 timeslot is not present any more, another one is removed (NOT always the closest one).

Can you give me steps to reproduce with all settings please?

On 18 Nov 2020, at 10:04, BreakSecurity<EMAIL_ADDRESS>wrote:

So if I have a restriction to max 1 order and I have 3 timeslot of 30 m
10:00 10:30 11:00
and I do 1 order for 10:30 that timeslot is removed... correct.
But if I change the parameters that generate the timeslots (for example I switch from delivery to pick-up or change the lead time) and the 10:30 timeslot is not present any more, another one is removed (NOT always the closest one).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

These are the parameters set to generate the timeslots

these are the timeslots that are generated

I create this limitation of orders

I make an order for 3:40pm

If I try to place another order, as expected, the 3:40 pm timeslot is hidden

At this point, I change the parameters that generate the timeslots again

I try to place an order again: the 3:40 pm timeslot is no longer generated; the 3:28 pm timeslot is removed in its place. If the closest were removed, the 3:45pm one would have to be cancelled I guess

I try to make a pickup order (with timeslots generated differently) and the problem is the same. Of the new timeslots, the 3:33 pm one is removed

I don't understand the criterion with which this happens. Restaurants often ask to change their hours during the evening, and I would like to understand better how it works.

Ok, for me this is correct behaviour, so I’ll try to explain :)
Think of the slots as a window of time with a start and end time.
So Wed 3.28pm until 3.44pm is the window that gets removed as the order you placed falls within that window.
Then 3.33 to 3.46 is removed as the order you placed falls within that window.
Does that help make sense of it?

On 18 Nov 2020, at 11:08, BreakSecurity<EMAIL_ADDRESS>wrote:
These are the parameters set to generate the timeslots
https://user-images.githubusercontent.com/38836022/99522496-058ea600-2996-11eb-8a16-1ea6f481da95.png
these are the timeslots that are generated
https://user-images.githubusercontent.com/38836022/99522532-1212fe80-2996-11eb-8d2e-83060798cdb2.png
I create this limitation of orders
https://user-images.githubusercontent.com/38836022/99522577-22c37480-2996-11eb-9f58-176c948c78fc.png
I make an order for 3:40pm
https://user-images.githubusercontent.com/38836022/99522661-37a00800-2996-11eb-86c0-1cb4119e457c.png
If I try to place another order, as expected, the 3:40 pm timeslot is hidden
https://user-images.githubusercontent.com/38836022/99522716-47b7e780-2996-11eb-9122-97776ab76aa6.png
At this point, I change the parameters that generate the timeslots again
https://user-images.githubusercontent.com/38836022/99522772-5900f400-2996-11eb-9868-3b877b19c252.png
I try to place an order again: the 3:40 pm timeslot is no longer generated; the 3:28 pm timeslot is removed in its place. If the closest were removed, the 3:45pm one would have to be cancelled I guess
https://user-images.githubusercontent.com/38836022/99522976-b137f600-2996-11eb-894a-a883edefae8d.png
I try to make a pickup order (with timeslots generated differently) and the problem is the same. Of the new timeslots, the 3:33 pm one is removed
https://user-images.githubusercontent.com/38836022/99523028-c0b73f00-2996-11eb-998b-13e5d36b82c2.png
I don't understand the criterion with which this happens. Restaurants often ask to change their hours during the evening, and I would like to understand better how it works.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/thoughtco/ti-ext-maxorders/issues/5#issuecomment-729608186, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMVO5TRBPYIZSOTUC5JSDSQOTMLANCNFSM4TYKYILA.

Everything clear thanks. I think I have tested max-orders enough now I will switch to display kitchen V2.
Thanks for all the efforts @ryanmitchell


Update script.js

Changes made:

Wrapped the code in DOMContentLoaded to ensure it runs after the DOM is fully loaded.
Added a check to ensure left, right, and container elements are present before adding event listeners.
Improved formatting for readability and consistency.

Hi @Imran-imtiaz48,
Thanks for your contributions!
The changes you made are great:
Wrapping the code in DOMContentLoaded ensures the code runs only after the DOM is ready, making it more reliable.

Adding the check to ensure the necessary elements exist before adding event listeners prevents potential errors and makes the code more robust.
And the improved formatting makes the code much easier to read and understand.
It's awesome that you're thinking about these details!

Just one more thing - I'm seeing some linter errors. Could you please address those before I merge the pull request?
Kindly Run this command to solve the error.
`npx eslint . --fix`

Once those are resolved, I'll be happy to merge them. Thanks again!

To address the linter errors, you can follow these steps:

Ensure you have ESLint installed: If ESLint is not already installed in your project, you can install it by running:
bash
Copy code
npm install eslint --save-dev
Run ESLint with the --fix option: This will automatically fix many of the common linting errors.
bash
Copy code
npx eslint . --fix
This command will run ESLint on your project and attempt to fix any linting issues it finds.


Current API Issues

One of the issues we need to address ASAP is the lack of communication between Ability and Sequence. Currently, there is no way to access the Events/Actions that caused them. For example, this is a big problem for abilities that want to immediately damage a target.
Proposed solution: We will catalog each event reference in a custom list (EventList<T extends Event> or something) and pass that along with the current Player reference into createInstance().
This Gist outlines the proposed changes to Ability and AbilityProvider, and a few features of EventList.
As of now, the current idea is to simply have a get(<T extends Event>) method which will return the first instance of the passed Event or null. In addition, we can also have overloaded get(<T extends Event>, int) method which will return each subsequent Event the EventList contains or null.

#7: addressed.


namespace creation reexec command failed: exit status 1

Filing this before I forget, I have seen this on master and 1.7.1
root@build-box:~# uname -a
Linux build-box 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
root@build-box:~# docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64
root@build-box:~# docker info
Containers: 1
Images: 87
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 89
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.19.0-22-generic
Operating System: Ubuntu 15.04
CPUs: 8
Total Memory: 15.67 GiB
Name: build-box
ID: 2OEW:PWQO:DQ4D:UUDB:JYAF:2UML:NM6Y:KCZ7:UEQN:6BSG:U4Y7:6BFK
WARNING: No swap limit support

Also have seen it w static binary and with the dynamic ones.

shouldn't block 1.8.0-rc but we should fix it

running containers w --net host will fix it, but builds will still error out this way

ping @mrjana who is already aware of it ;)

rebooting fixes as well for like a few runs, then it reappears

@jfrazelle Hey Jess. +1 to this issue as well. No fix on restart for Ubuntu 15.04.

Error log here:
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.469209464-07:00" level=error msg="Couldn't run auplink before unmount: exit status 13"
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.673205335-07:00" level=info msg="POST /v1.20/containers/e3e4f7bf0135ff7d349aa586056290d8ef8e72e90311a08b593b616b6a3caeb
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.676351894-07:00" level=info msg="POST /v1.20/containers/e3e4f7bf0135ff7d349aa586056290d8ef8e72e90311a08b593b616b6a3caeb
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.698002160-07:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external serve
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31-07:00" level=fatal msg="permission denied"
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.721273330-07:00" level=error msg="Leave all failed for  e3e4f7bf0135ff7d349aa586056290d8ef8e72e90311a08b593b616b6a3caeb
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.736391797-07:00" level=error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container e
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.736460828-07:00" level=error msg="HTTP Error" err="Cannot start container e3e4f7bf0135ff7d349aa586056290d8ef8e72e90311a
Jul 26 00:05:31 Desktop-3 docker[8116]: time="2015-07-26T00:05:31.737343013-07:00" level=info msg="DELETE /v1.20/containers/e3e4f7bf0135ff7d349aa586056290d8ef8e72e90311a08b593b616b6a3ca
Jul 26 00:06:16 Desktop-3 docker[8116]: time="2015-07-26T00:06:16.600475647-07:00" level=info msg="GET /v1.20/containers/json?all=1"
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24.489484616-07:00" level=info msg="POST /v1.20/containers/create"
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24.652973172-07:00" level=info msg="POST /v1.20/containers/8adafb3471967ff9304d7795cda3a205dc8ad776f68d1a878e8b07ef674e8a9
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24.655465708-07:00" level=info msg="POST /v1.20/containers/8adafb3471967ff9304d7795cda3a205dc8ad776f68d1a878e8b07ef674e8a9
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24.660307092-07:00" level=warning msg="Failed adding service host entries to the running container: open /var/lib/docker/c
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24.660959980-07:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external serve
Jul 26 00:06:24 Desktop-3 docker[8116]: time="2015-07-26T00:06:24-07:00" level=fatal msg="permission denied"

+1

just started seeing this on my 15.04 workstation with 1.8.0-dev installed and even after reverting to 1.7.1. i did update my kernel a few hours ago, i wonder if that is related

@jfrazelle @ewindisch Seems like related to apparmor changes.

I dunno? I don't even have apparmor on one of the machines I saw it on but idk

A fix is already proposed in #14934

ah nice
On Mon, Jul 27, 2015 at 10:00 AM, Eric Windisch<EMAIL_ADDRESS>wrote:

A fix is already proposed in #14934
https://github.com/docker/docker/pull/14934
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/14985#issuecomment-125271613.

I do not think that will totally fix the problem tho unless that was also in 1.7.1 because I also see this in that version

@jfrazelle it could be a red herring on this issue, but @dweomer is indicating an apparmor problem in his logs.

ah ok, but i think there is something else as well, just making noise so its not over looked haha

@dweomer Confirmed that this is related to veth accumulation. I can match their creation 1-to-1 with this error in my logs with 1.8.0-dev.

I just replaced my /etc/apparmor.d/docker-engine with the fixed file from #14934 followed by
sudo systemctl daemon-reload
sudo systemctl restart apparmor
sudo systemctl restart docker

... which seems to have solved the problem for me.

Now docker stop fails (/var/log/kern.log):
Jul 28 06:15:30 JLEBC-LWS kernel: [97412.645481] audit: type=1400 audit(1438089330.235:1517): apparmor="ALLOWED" operation="open" profile="/usr/bin/docker" name="/home/jacob/.docker/config.json" pid=4644 comm="docker" requested_mask="r" denied_mask="r" fsuid=0 ouid=1000
Jul 28 06:15:30 JLEBC-LWS kernel: [97412.646324] audit: type=1400 audit(1438089330.235:1518): apparmor="ALLOWED" operation="ptrace" profile="/usr/bin/docker" pid=12847 comm="docker" requested_mask="trace" peer="docker-default"
Jul 28 06:15:30 JLEBC-LWS kernel: [97412.646359] audit: type=1400 audit(1438089330.235:1519): apparmor="DENIED" operation="signal" profile="docker-default" pid=12847 comm="docker" requested_mask="receive" denied_mask="receive" signal=term peer="/usr/bin/docker"
Jul 28 06:15:30 JLEBC-LWS kernel: [97412.646402] audit: type=1400 audit(1438089330.235:1520): apparmor="ALLOWED" operation="ptrace" profile="/usr/bin/docker" pid=12847 comm="docker" requested_mask="trace" peer="docker-default"
Jul 28 06:15:30 JLEBC-LWS kernel: [97412.646426] audit: type=1400 audit(1438089330.235:1521): apparmor="DENIED" operation="signal" profile="docker-default" pid=12847 comm="docker" requested_mask="receive" denied_mask="receive" signal=kill peer="/usr/bin/docker"

I suppose if I knew anything about apparmor I could fix this myself =/

@dweomer I've replaced my apparmor entry with that referenced in #15099 and seen no further problems aside from the AppArmor warnings in logs, which are expected.

Closed by #15099.

Thanks for the help and testing.

Wanted to note that the
apparmor="DENIED" operation="mount" info="Failed name lookup - disconnected path" error=-13 profile="/usr/bin/docker" name="/run/docker/netns/2b1f6a8d74b5/" pid=8414 comm="exe" srcname="" flags="rw, bind"

error seen by @dweomer previously is related to an open bug in AppArmor.
The relevant fix has not yet made it into AppArmor, although Ubuntu distros have been patched.
It appears that the reason this issue went away for you previously was due to Docker setting the AppArmor profile in "complain" mode rather than "enforce" mode (see https://github.com/docker/docker/pull/15099).


Spellcheck filter error in parsing aspell output

When aspell is run on a raw Markdown file that contains a possessive such as pandoc's, the entire string pandoc's is returned as a misspelled word.  When the pandoc spellcheck filter is run on that Markdown file, only the suffix s is returned.  The behavior is similar for other words with apostrophes.
I noticed the spellcheck filter uses the following pattern to capture text from the aspell output
https://github.com/pandoc/lua-filters/blob/3c870cb5799fb1c4cb961b6648e5b3cddc50cfde/spellcheck/spellcheck.lua#L33
I'm not confident that is causing this behavior, but the behavior is unexpected.  It causes the spellcheck filter to always return the string suffixes that follow an apostrophe, even if those suffixes are in the aspell custom dictionary.

Changing this pattern to ([%a’]+)\n solved my initial problem.  However, that pattern still fails to match and return misspelled words that contain accents.  "Naaïve" is written as "ve", which makes it difficult to find the spelling error.
The pattern ([%S]+)\n meets my needs.  I could make a pull request to change this, but I'm not sure what the intended behavior is in general for this filter.

I think one issue with [%S]+ is that it will give bad results in cases where words abut punctuation, e.g.
dogs, cats, and ferrets.

We don't want the commas and periods included here. (Similarly parentheses, dashes, quotation marks.)
But I'm definitely open to other suggestions.

Regarding [%a']+ note that we don't want the single quotes to be included when they're functioning as quotation marks, rather than apostrophes.

The version of aspell I'm testing with (version 0.60.7) appears to strip leading and trailing punctuation.
I created a file demo.txt with spelling errors:
dogsxyz, catsxyz, and ferretsxyz.
'bearsxyz' and "wolvesxyz"?

The aspell output does not include any punctuation:
> cat content/demo.txt | aspell list
dogsxyz
catsxyz
ferretsxyz
bearsxyz
wolvesxyz

I'm not familiar enough with aspell to know how universal this behavior is across versions, modes, and languages.

ah, okay!
Why don't you go ahead and submit a PR?


Adding asynchronous evaluation of evaluator function for multi-fidelity optimization

Also did some refactoring with respect to optimization code
Tested successfully with ThreadPool Executor and MPI
Started transition to logging instead of using verbose

Thanks @roussel-ryan !


Broken on macOS Sonoma 14.1

Cant get it to work after macOS update from Ventura to Sonoma.
I always get:
skhd: must be run with accessibility access! abort..
besides having given Accessibility access and restarted.
I tried skipping the check_privileges function by always returning true. Then it runs, but also doesn't seem to register key presses.
Both brew and building from source give the same result.

maybe you need to disable SIP again after an OS upgrade?
Also, the entry in sudoers.d may need to be updated / recreated.
Have you checked those cases?

Also from the readme:

After access has been granted, the application must be restarted.
Secure Keyboard Entry must be disabled for skhd to receive key-events.

I guess you've tried skhd --stop-service, restarted the computer, etc?

Also having this issue, but not sure how it happened. Haven't updated MacOS, currently running Sonoma 14.2, with skhd v0.3.9.
Running skhd gives the error skhd: must be run with accessibility access! abort.., despite the fact that skhd has accessibility access in my system settings.
I tried enabling skhd in the input monitoring section, but no change. I also tried running skhd without a config file (renamed skhdrc to skhdrc.a).
Next steps for me:

Update to Sonoma 14.3
???

maybe you need to disable SIP again after an OS upgrade? Also, the entry in sudoers.d may need to be updated / recreated.

skhd specifically aborts when run as root; you shouldn't have to modify a sudoers file (as far as I know).

@bustinbung tried your approach but sadly didn't work for me

I found out that my commands with yabai need to end with a semicolon and causing the error. They worked before without a semicolon but now seems to be a problem.
If I add an semicolon everything works again.
e.g.
# change window focus within space
alt - down : yabai -m window --focus south;
alt - up : yabai -m window --focus north;
alt - left : yabai -m window --focus west;
alt - right : yabai -m window --focus east;

semi colons are used in bash to place separate commands on the same line.
eg
echo 'this' ; echo 'that

# is the same as

echo 'this'
echo 'that'

The semi colons are probably not the cause of your problem, unless you were inconsistent with them, and that inconsistency caused the problem
I would recommend removing them all and continue to trouble shoot. Otherwise you're introducing an external factor that will only compliate things down the track when things go wrong.

@camina-apps You may have success restarting your system after removing it.

Update to 14.3 (not sure if this helped)
Remove skhd from accessibility menu
Uninstall skhd
Restart system
Reinstall skhd
Enable accessibility

For those still struggling, I found that skhd started as a service failed to inherit the homebrew bin path -- and thus had no idea where yabai and other brew-installed binaries were. I fixed this by changing my config to use the full path to the yabai executable, like this:
rcmd + rshift + ralt + rctrl + lcmd - right : /opt/homebrew/bin/yabai -m window --space next; yabai -m space --focus next
rcmd + rshift + ralt + rctrl + lcmd - left : /opt/homebrew/bin/yabai -m window --space prev; yabai -m space --focus prev

For those still struggling, I found that skhd started as a service failed to inherit the homebrew bin path -- [...]

That's it!
This did the trick for me.
When I was trying skhd -V it worked, but not with skhd --start-service.
After switching to full path commands it started working.

@camina-apps You may have success restarting your system after removing it.

Remove skhd from accessibility menu
Uninstall skhd
Restart system
Reinstall skhd
Enable accessibility

This is what finally worked for me. For me I also had to do the following:
$ skhd

- Keyboard Interrupt (after testing that it works) -

$ skhd --start-service
$ skhd --stop-service
$ skhd --start-service

Running skhd was enough to trip the accessibility warning and add it to the list.
For some reason I had to start the service to get the system to recognize it as a service to be started, stop it manually, and then start it manually again. Just starting it didn't work and I don't know why.

I always got this error when running skhd -V from the terminal, despite skhd working if started as a service and being present and enabled on System Settings. What fixed it for me was enabling my shell application (in my particular case, Warp) on System Settings Accessibility settings. Maybe this is a Mac noob mistake, but there be noobs out there, so they may benefit from my struggle.

I don't know if this is the correct way to do this or if this can be damaging to the computer but this is how I solved the constant requests for accessibility access.
Following this thread I decided to try removing skhd from the accessibility list and see if that would help (specifically using this command sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db 'delete from access where client like "%skhd%"') and it did. After that it now works like a charm!
In any case I have no clue what other effects directly messing with such an internal data store has but I decided to go for it.

I don't know if this is the correct way to do this or if this can be damaging to the computer

As an initial reaction I would err on the side of caution to make changes like that.. Unless you're confident that it's a service that can be deleted and the OS will rebuild it fresh on reboot (which a lot of com... files adhear to from my understanding).
But messing with sql databases can be hairy, let alone databases that work with the OS. Any adverse effects may not be noticed till well down the track, by which time this change will have faded from memory..

I'm having similar issues, I've followed the steps here and here but have had no luck. Yabai starts up and works but skhd doesn't send any commands


Not working with U3818DW

Hi with the Dell U3818DW the controls are greyed out:

Its connected to a mbp 16" to display port in a CalDigit hub which connects through one of the thunderbolt 3 ports.
I'm willing to look / fix it in the code, but I'd need some sort of starting point to know where to look for the potential issue.

Ok, so actually it works! There's an option in the display's OSD, in Menu / Others, DDC/CI -> On (it was Off) previously.
The sliders in the menu dont seem to read the screen's state but the keyboard shortcuts work, which is all that really matters to me :)