HCP is missing feature parity from rosa_classic - Some required attributes cannot be set.

For provisioning a new cluster using hosted control-planes (HCP) the following parameters which are available in classic are not available in HCP:
  aws_additional_compute_security_group_ids = [module.portworx_sg.portworx_sg_id]
  default_mp_labels                         = var.compute_machine_labels
  autoscaling_enabled                       = local.autoscaling
  min_replicas                              = local.autoscaling ? local.replicas : null
  max_replicas                              = local.autoscaling ? var.max_replicas : null
  admin_credentials = {
    password = var.admin_password
    username = local.admin_username
  }

The admin_credentials along with create_admin_user being true works form me for rhcs_cluster_rosa_hcp resource with terraform-redhat/rhcs v1.6.6


unexpected visible log output in Icingaweb2

When a service reaches warning or critical state, the log output gets visible in icingaweb2 :

I wondered if it was expected and simply set the log level to fatal instead of info as a workaround, but based on this text it seems like it's not expected :
Logging is enabled at the info level.

this output is sent to stderr by default, which Nagios ignores
this output is only seen (at least as of Nagios v3.x) when invoking the plugin directly via CLI (often for troubleshooting)

Unfortunately, I wasn't able to find information on how Icinga2 / Icingaweb2 differs from Nagios v3.x in this regard.
Do you recommend to just stay on log level fatal or do you want to develop a fix? I will provide any useful info I can in case you need some.

Thanks for the report. Most of my experience has been with Nagios Core (v3 mostly, v4 recently) and only a small exposure to Nagios XI. While Icinga has been on my list to try, I've not used it.
Nagios doesn't use stderr, so at a very basic level I relied on that across all plugins in the project (and others based on the same logic) to use stderr as a way of emitting details useful for troubleshooting.
I don't believe that fatal is used at present (though the option is valid), so using that is probably a good choice for your environment (depending on how the web UI for Icinga displays the details). However if you don't want any output emitted at all, try passing disabled for the log-level flag.
Does this accomplish what you're looking to do?

Yes that's fine I'll simply put the log level in the command template. Can be closed if you want.

@Byolock: Yes that's fine I'll simply put the log level in the command template. Can be closed if you want.

Thanks for the feedback, and for giving this project a try.
I'll close after a bit, but in the meantime will try to think of a way to convey setting --log-level "disabled" for Icingaweb2 use.

Spun off separate discussion item here for potential long-term changes:

https://github.com/atc0005/check-vmware/discussions/323

@Byolock: Yes that's fine I'll simply put the log level in the command template. Can be closed if you want.

Thanks for the feedback, and for giving this project a try.
I'll close after a bit, but in the meantime will try to think of a way to convey setting --log-level "disabled" for Icingaweb2 use.

Updated README (GH-324) to provide additional coverage regarding the use of stderr. See also GH-323 for further discussion.
Thanks again for raising the issue.


Lualib modules using a plugin to generate lualib

This PR contains two big changes:
Lualib files are now modules

Lualib sources now use import/export
Importing lualib functions now works the same as importing modules (in generated lua)
Inlining lualib files is unchanged, except the imported functionality is now local instead of global
The lualib dependency tree is no longer manually maintained, instead it is automatically generated during the lualib build.

The lualib dependency tree is distributed in our package as a json file.

Lualib output is generated with a tstl plugin to minimize lualib-generation-specific code in the main transpiler.

Plugins now provide beforeTransform and afterEmit hooks
To generate the required lualib files we used a plugin that required some extra hooks. Because of this we introduced two extra TSTL plugin functions:
beforeTansform
{
beforeTransform?: (
    program: ts.Program,
    options: CompilerOptions,
    emitHost: EmitHost
) => ts.Diagnostic[] | void;
}

This function on the plugin is called after gathering the TypeScript program and options, but before starting the transformation process. This can be used to set up stuff in the plugin, or to modify the program/options that the transpiler will act on.
afterPrint
{
afterPrint?: (
    program: ts.Program,
    options: CompilerOptions,
    emitHost: EmitHost,
    result: ProcessedFile[]
) => ts.Diagnostic[] | void;
}

This function on the plugin is run after the printing of Lua has completed. It provides the output array as one of its parameters, which can be used to modify the final output before finishing the emit.

Question: Is it possible to use the new afterPrint hook to put a comment at the beginning of the file? e.g. #1178

Question: Is it possible to use the new afterPrint hook to put a comment at the beginning of the file? e.g. #1178

Yes, that is exaclty what the added test for afterPrint does.

Woot! 🎉

Trying to re-trigger checks


AutoIncrement doesn't set the ID field

AutoIncrement doesn't set the ID field of the variable, which is making it absurdly difficult to update with the .Save() function. Couldn't we call AutoIncrement before marshaling the data and save that into the field so I don't end up with a bunch of |Key:124, Value{ID=0}| in the database?

Can you provide an example so i can reproduce the bug?

So take a bunch of inputs from the website form and shove em into a struct. If I'm editing a post, then there is an ID field which is hidden from the user, but gets sent to the program. If I'm creating a new post, then there is no ID field so auto increment can do its thing. Auto increment is working, but the ID field in the struct is left with 0 partially because the data seems to be marshaled before the ID is incremented. I proposed a really crappy code change last night before falling asleep I believe. Today I was going to test it out in my own code, but I thought this would be a common use case since go is largely used for web-services.

Also, there should be a good way to find by ID, it isn't clear in the readme, and one could just call Bolt and do it themselves, but people looking for this ORM would probably like having a simple function to call. But that's a lesser issue at this point in time.

Have you enabled the AutoIncrement feature?
As to find with ID, db.One("ID", ...) should work.

I have found the bug; the data gets encoded before the autoIncrement part so it is saved without the right ID. The encode part was taken out of the transaction to avoid having long running transactions, but the NextSequencehas to be in a transaction to work. I guess we need to move the encoding part inside the transaction if autoIncrement mode is enabled.

Does the auto increment feature other fields besides ID? I wanted an index field and use a different field for an ID.


Allow customisation of keys for logging json

When logging as json, at the moment the keys used for time, level and message are hardcoded (as t, lvl and msg respectively) in JsonFormatEx (see terminal_format.go)
I'd love to be able to customise these easily (via the LogOptions object) - how would you feel about a pull request to allow this?
Is it necessary to keep the current signature of JsonFormatEx, or would it be OK to pass a LogOptions into that?
Any thoughts on the keys to use for the options - I had thought of "timekey", "levelkey" and "messagekey" but I'm not sure if that's clear enough. (Possible alternative - jsonKeyTime, jsonKeyLevel, jsonKeyMessage)

We could - or you could derive your own formatter to handle this as well and add it to the LogFunctionMap like
	logger.LogFunctionMap["ssjson"] =
		func(c *logger.CompositeMultiHandler, options *logger.LogOptions) {
        		c.SetHandlers(logger.HandlerFunc(myJsonHandler),options)
		}
...
func myJsonHandler(message string, time time.Time, level logger.LogLevel, call logger.CallStack, context logger.ContextMap) (error) {
				stringMap := context.StringMap()
                                stringMap["time"]=fmt.Sprintf(time)
                                stringMap["message"]=message
                                stringMap["level"]=fmt.Sprintf(level)
                                b, err := jsonMarshal(props)
// TODO output the data to the file
				return nil
			}

My preference for doing this via config keys rather than writing my own function is it means I can still benefit from the rest of the built in support (e.g. not having to write my own code to point to different file names). If you'd accept the pull request, I'd rather add it into the "standard" way of doing this


ColorPicker enhancement

Description of the new feature / enhancement
There are two types of color formats:
1.hex/oct something rgb(0x7f,0xff,0xff)
2.percent something hsb(50%,75%,50%)
So, what about just ask users to write their format? For example: I want a color output which looks like RGB(%R,%G,%B), so color picker just put rgb hex in %R %G %B placeholder.
Scenario when this would be used?
For example: MFC Color reference not in support list and so on. You can't add all formats of color, otherwise the list would be very long.
Supporting information
Nothing.

@SigmaStar I think what you are asking for is tracked here: #8305 - do you agree :)?

Exactly, but it can be more simple. Just with some placeholder can satisify most use case.
---Original---
From: "Niels @.>
Date: Tue, Dec 7, 2021 20:29 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [microsoft/PowerToys] ColorPicker enhancement (Issue #14881)
@SigmaStar I think what you are asking for is tracked here: #8305 - do you agree :)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Tagging as a dup of 8305, you can add your suggestions here. :D

Same engine would power from simple to complex, chances are we'd start simple but #8305 is the tracker item

I'm no graphics designer/expert, but I think the (type of) values and ranges are (or should be) pretty connected to the format.

Here are five different Microsoft color pickers. Note how they can't even standardize on HSL ranges? Image 2 has range 0-255 and image 3 has range 0-240. Don't take it the wrong way, but this request would only create more different notations...
P.S. I've never seen something like rgb(0x7f,0xff,0xff) - rgb mixed with hex. But again, I'm no designer here.

I'm no graphics designer/expert, but I think the (type of) values and ranges are (or should be) pretty connected to the format.  Here are five different Microsoft color pickers. Note how they can't even standardize on HSL ranges? Image 2 has range 0-255 and image 3 has range 0-240. Don't take it the wrong way, but this request would only create more different notations...
P.S. I've never seen something like rgb(0x7f,0xff,0xff) - rgb mixed with hex. But again, I'm no designer here.

Ahhh, no, It's not the same thing. Color Picker is something when you need to know the actual color vector of a pixel from a picture and copy that as your work. It's not a tool that show you all possible colors and provide you a way to choose.

I know. I was talking about the formats/values. If even Microsoft can't choose a standard for one format (here HSL) then...🤷🏻♂


request; Liberation Serif

Is it possible to add Liberation Serif? It is the closest to Times New Roman.

Liberation Serif isn't fixed width and therefore unsuitable for use in Atom. There are a number of serif fonts in this package you can use though.


Can we specify the SSL certificate and Ingress in the yaml file

Is it possible to specify the SSL certificate and HTTPs ingress controller both in yaml file without having to run kubectl?
apiVersion: v1
data:
tls.crt: base64 encoded cert
tls.key: base64 encoded private key
kind: Secret
metadata:
name: aks-ingress-tls
namespace: default
type: Opaque
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:

hosts:

demo.azure.com
secretName: aks-ingress-tls
rules:

host: demo.azure.com
http:
paths:

path: /
backend:
serviceName: aks-helloworld
servicePort: 80
path: /hello-world-two
backend:
serviceName: ingress-demo
servicePort: 80

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

ID: 597ba957-9501-5919-73a0-6d47b1ca2c6d
Version Independent ID: 6345fa19-b3f2-ffd6-f526-908f845b51f6
Content: Use your own TLS certificates for ingress with Azure Kubernetes Service (AKS) cluster
Content Source: articles/aks/ingress-own-tls.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@anushreeringne I hope you are mentioning about the kubectl command which created a secret here.
We can create a secret from YAML file as well. Using command is easier for most users than constructing an YAML with Certificates. For simplicity we have provided with commands instead of YAML.

@anushreeringne  Did the above comment help

Yes that was helpful. Thankyou :)


[FLINK-27298] in sqlClient.md, table name inconsistency problem.

What is the purpose of the change
This pull request fix table name inconsistency problem in sqlClient.md.
Brief change log
fix table name inconsistency problem in sqlClient.md.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
yes
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no

@MartijnVisser OK, I'm excited to fix this.


How to build a Snake Game in JavaScript

Article checklist
Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

This closes #6037

The following sentences seem to show some plagiarism. Please correct them. Thanks

@WanjaMIKE  I have incorporated the changes
cc @jumamiller

Hi, kindly run this submission on a grammar checker. Unfortunately, it has a couple of mistakes.

Hello @Kamau-ke kindly fix the article!

@jumamiller  I have made the changes. Please have a look.

Also,  this tag is everywhere, kindly check on the markdown syntax!

We'll close this for now. Submit a new PR when ready to be published! Thank you.


Move code tests to code dirs (attempt 2)

The idea is that the tests for a specific community code (which is available as a separate package) should be included with that code, and not in a centralised place.

If this PR is merged, the tests for a code will be available under src/amuse/community/{codename}/test_{code}.py.
Maybe it should be even simpler, src/amuse/community/{codename}/test.py?

Assuming the tests will all be in Python, then making a src/amuse/community/{codename}/tests/ directory with one or more test_<something.py files would be the standard way to do it. Pytest will auto-discover this, and we could set it up so that you can run pytest from the root to run all tests, or from a community code subdirectory to only run its tests.

Hmm, I think this is a good idea, and it's tempting to do it while working on the new build system. I will want to test things anyway to reduce the chances of breaking anything, and since I'm setting up a new system to build and install, I might as well add running tests to it. If it's just moving the files...

This is now being done as part of the move to the new build system.  So I propose we close this?


Pre-release version precedence broken (osx)

Given a single released version 1.0.0-alpha.2 and the application running at the same version, I expect the /update/osx/:currentVersion endpoint to return 204 No content. What I get back instead is the same version.
This does not conform Semver 11:
"Precedence for two pre-release versions with the same major, minor, and patch version MUST be determined by comparing each dot separated identifier from left to right until a difference is found as follows: identifiers consisting of only digits are compared numerically and identifiers with letters or hyphens are compared lexically in ASCII sort order."
Example: https://gist.github.com/salomvary/25fd60240ea32ce6ac2698430bf56586

I'm running in to this as well... Does anyone know how I might fix this? Thanks!

I believe, the change that broke this is discussed here.
I'm currently trying to get that back working on my own fork (Pretty much WIP)

It may be a naive (and/or temporary) fix, but missive/nuts@2089abfd1cde67f377fe344e7d8624bd55d55f39 seems to have fixed that for us.

I've cherry-picked https://github.com/missive/nuts/commit/2089abfd1cde67f377fe344e7d8624bd55d55f39 and indeed confirm this fixes the issue of the latest channel update wanted to download itself (e.g. /update/osx/2.0.0-beta pointing to 2.0.0-beta, instead of returning a 204).
However, this introduces a new issue, where a stable version does not take precedence over its channel (e.g. beta) counterpart:
/update/channel/stable/osx/2.0.0-beta returns a 204 whereas I was expecting a download of 2.0.0.

Update: I've tested PR #100, which seems like the exact answer to my scenarios (at least fixes what I've observed looks exactly like #95 and #102).


Help - dealing with multiple selection

How would you recommend when dealing with multiple selected objects ?
I like that the current implementation does not affect selected object structure, but for dealing with multiple selected objects , I dont see any other way than upon selection , adding the selected object to a group and then selectize on the group.
But this is:

changing the document structure which is not desirable
have unknown transform effects

What do you think ?
I would take this path as SVG.js is still very light compared to Konva or Fabric that include such methods, but It is hard to just use browser's inspect element that I so like when using SVG.js

That is a question I am dealing with since years!
I first hat this issue when I wrote the resize plugin. Upon resizing a shape, is it just changing the with and height (or coordinates) or is it a transformation (scale)? The same goes for selecting multiple elements. When you put them together in a group and move them around: should I move all objects in that group separately or just transform the whole group? I think programs like pfotoshop differentiate between those too. There is an explicit transformation mode while any other movement is done directly in coordinates.
Translates to your problem: it depends. For the sake of simplicity it might be easier to add a group, do whatever you need to do and call ungroup() when it's done. When you don't want changes in the object structure you would need to rewrite the plugin to allow multiple selections


Refactored alpine-pod.yaml file to make the chart work.

Changes made to alpine-pod.yaml file in helm/cmd/helm/testdata/testcharts/alpine/templates directory to make the helm chart work according to the values.yaml file.
Signed-off-by: Etash Singh<EMAIL_ADDRESS>

Please review and merge this PR for the chart to work without any error.


fix(template tags): fixes issues with tags specified with uppercase

Hey, I just made a Pull Request!
While running yarn lerna run mock-data an error appeared around tags specified with uppercase. This PR changes how tags are validated using normalizeToLowercaseAlphanum instead of isValidDnsLabel to allow uppercased tags.
Feel free to suggest any other fix to this but right now its not possible to mock templates.
:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[ ] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

We can also change how tags are specified in the templates if it should follow the dns label validations.

Right now it is build to only allow lowercase tags. We should update the spec documentation, too if we want uppercase tags. There is also a test that explicitly checks that only lowercase tags are allowed.

@Fox32 Thanks for fast response. Did you see the tags in the metadata on templates when you changed this? And was there any reason you restricted it to lowercase?

No I didn't see that the template entity specifies additional fields in metadata (but I know what you mean https://github.com/spotify/cookiecutter-golang/blob/master/template.yaml/#L7-L9). That an entity kind defines own fields in metadata isn't something I expected.
I choose lowercase based on the comment by @stefanalund here: https://github.com/spotify/backstage/issues/1997#issuecomment-675523456

@Fox32 Alright, I see! We added a new suggested validator to use for metadata tags but @spotify/backstage-core let us know if this is unwanted and we will just update the template configs.

@spotify/backstage-core before I continue this, any comments?

Hey! So,
At the very least, tags must be either equal to, or a subset of, what can be put in metadata.name. This is because we may extend the tag model some day into actually be references to Tag kind entities that contain more info about the tag.
I honestly do not have a super strong opinion on the casing etc. It can be argued that lowercase-only plus dashes gives less space for mistakes. The drawback is of course that they are rendered verbatim in front of users so it may look less pleasing with forced dashified words etc.
Still I think that the argument about mistakes, and the possible future where these are "just references", wins in the long run. If we keep forcing them to be lowercase-and-dashes, we can make them prettier sometime down the line instead.
I like that you did break out the isValidMetadataTag validator, we should keep that. But maybe it should per default just call out to CommonValidatorFunctions.isValidDnsLabel.
Does that make sense? Or does this cause problems somewhere the uppercasedness was strongly desired or even needed?

Hey! So,
At the very least, tags must be either equal to, or a subset of, what can be put in metadata.name. This is because we may extend the tag model some day into actually be references to Tag kind entities that contain more info about the tag.
I honestly do not have a super strong opinion on the casing etc. It can be argued that lowercase-only plus dashes gives less space for mistakes. The drawback is of course that they are rendered verbatim in front of users so it may look less pleasing with forced dashified words etc.
Still I think that the argument about mistakes, and the possible future where these are "just references", wins in the long run. If we keep forcing them to be lowercase-and-dashes, we can make them prettier sometime down the line instead.
I like that you did break out the isValidMetadataTag validator, we should keep that. But maybe it should per default just call out to CommonValidatorFunctions.isValidDnsLabel.
Does that make sense? Or does this cause problems somewhere the uppercasedness was strongly desired or even needed?

I don't think it's really needed, but it's something we noticed when we tried to run the mock scripts for templates. They already have their own implementation of tags which allows uppercase which caused a validation error when trying to add them to the catalog.

Sure, and this is the internal example ones right? In that case we should probably fix those to the lowercase-and-dashes form but keep the nice dedicated validation code.

Again, maybe I don't have 100% context, so this is a gut feeling based response :) Let me know if the response helped or not.

Thanks @freben yeah as @hooloovooo mentioned we don't have a strong opinion on whether to allow uppercase tags or not. More us trying to find a fix for the errors that are logged when running yarn lerna run mock-data for the templates since all of them includes Tags with uppercase. And when looking into a solution the "isValidDnsLabel" looked like a validator that would be great to use for dns related things but for this one, nothing related (as far as I know) to dns validation is needed. But can also be me not knowing much about how the dns label validation should be used. xD
We will then update this PR and make a change of the templates that contains uppercased tags.

Oh you removed the new nice code for explicitly checking tags - well ok, we can reintroduce that some other time. Thank you for fixing!

Oh you removed the new nice code for explicitly checking tags - well ok, we can reintroduce that some other time. Thank you for fixing!

Yesss I actually did, because I felt a further discussion were needed about what the isValidDnsLabel  should be used for. To have a validator isValidTag that uses  CommonValidatorFunctions.isValidMetadataTag that then calls CommonValidatorFunctions.isValidDnsLabel in the end anyway sounded like isValidTag could instead just use the isValidDnsLabel directly. But yes we can introduce it again if needed in the future. Thanks for feedback 😄


Inherited stdout for child process crashes forever-monitor

If the "stdout" option for new Monitor( ..., options ) is set to "inherit", forever-monitor crashes on plugins/logger.js:67 because monitor.child.stdout is null (the child simply inherits the parent's process.stdout instead). This causes the logger to fail.
I propose to either use process.stdout.on("data", ...) if child.stdout is null, or disable this event if stdout: "inherit" is passed in the options (which is required in order for colors and other ANSI escape codes to work from child processes).

Actually, upon further investigation, this appears to be more of an oversight with Node's child_process.spawn which doesn't expose the child's stdout if "inherit" is set. My proposition fixes the error, but causes further issues with output. Closing this issue.


protos and protos-go updates

This change-set does the following:

It updates the go_package to specify the full path
It updates the proto package to remove the dots
It modify the proto go build process to split the compilation in multiple calls to protoc, one for each folder
This way, the protos that can be compiled the same version of protoc used for Fabric
Update the go module for the protos-go

Signed-off-by: Angelo De Caro<EMAIL_ADDRESS>

Protos build for Java/KT, and JS are failing. (Also please merge our latest  commit to add some bug fixes, like one in common/protos-java-kt/gradle.properties). After deleting last line in common/protos-java-kt/gradle.properties, to reproduce the error:
cd common/protos-java-kt
make build

Error:
sh ../get-fabric-protos.sh ../..
Updating local copy of fabric-protos directory
Already up to date.
Already on 'release-2.1'
Your branch is up to date with 'origin/release-2.1'.
./gradlew clean jar
> Task :generateProto FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateProto'.
> protoc: stdout: . stderr: common/verification_policy.proto:18:10: "common.Policy.type" is already defined in file "common/policies.proto".
  common/verification_policy.proto:17:9: "common.Policy" is already defined in file "common/policies.proto".
  common/verification_policy.proto:27:3: "common.Policy" seems to be defined in "common/policies.proto", which is not imported by "common/verification_policy.proto".  To use it here, please add the necessary import.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

For JS:
cd common/protos-js
make build

Error:
sh ../get-fabric-protos.sh ../..
Updating local copy of fabric-protos directory
Already up to date.
Already on 'release-2.1'
Your branch is up to date with 'origin/release-2.1'.
npm install
audited 103 packages in 1.809s
found 0 vulnerabilities

npm run build

><EMAIL_ADDRESS>build /data/dlt-interop/weaver-a/common/protos-js
> grpc_tools_node_protoc --proto_path=../protos --proto_path=../fabric-protos  --js_out=import_style=commonjs,binary:./ --grpc_out=grpc_js:./ --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` ../protos/relay/datatransfer.proto ../protos/networks/networks.proto ../protos/driver/driver.proto ../protos/common/interop_payload.proto ../protos/common/asset_locks.proto ../protos/common/ack.proto ../protos/common/query.proto ../protos/fabric/view_data.proto ../protos/corda/view_data.proto ../protos/common/state.proto ../protos/common/proofs.proto ../protos/common/verification_policy.proto ../fabric-protos/msp/identities.proto ../fabric-protos/peer/proposal_response.proto ../fabric-protos/peer/proposal.proto ../fabric-protos/peer/chaincode.proto ../fabric-protos/common/policies.proto ../fabric-protos/msp/msp_principal.proto && protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=./ -I ../protos -I ../fabric-protos ../protos/relay/datatransfer.proto ../protos/networks/networks.proto ../protos/driver/driver.proto ../protos/common/interop_payload.proto ../protos/common/asset_locks.proto ../protos/common/ack.proto ../protos/common/query.proto ../protos/fabric/view_data.proto ../protos/corda/view_data.proto ../protos/common/state.proto ../protos/common/proofs.proto ../protos/common/verification_policy.proto ../fabric-protos/msp/identities.proto ../fabric-protos/peer/proposal_response.proto ../fabric-protos/peer/proposal.proto ../fabric-protos/peer/chaincode.proto ../fabric-protos/common/policies.proto ../fabric-protos/msp/msp_principal.proto

common/policies.proto:23:11: "common.Policy.type" is already defined in file "common/verification_policy.proto".
common/policies.proto:16:9: "common.Policy" is already defined in file "common/verification_policy.proto".
peer/chaincode.proto:12:1: Import "common/policies.proto" was not found or had errors.
peer/chaincode.proto:117:5: "common.SignaturePolicyEnvelope" is not defined.
peer/chaincode.proto:127:5: "common.SignaturePolicyEnvelope" is not defined.
peer/proposal.proto:13:1: Import "peer/chaincode.proto" was not found or had errors.
peer/proposal.proto:211:5: "ChaincodeID" is not defined.
peer/proposal.proto:253:5: "ChaincodeID" is not defined.
/data/dlt-interop/weaver-a/common/protos-js/node_modules/grpc-tools/bin/protoc.js:41
    throw error;
    ^

Error: Command failed: /data/dlt-interop/weaver-a/common/protos-js/node_modules/grpc-tools/bin/protoc --plugin=protoc-gen-grpc=/data/dlt-interop/weaver-a/common/protos-js/node_modules/grpc-tools/bin/grpc_node_plugin --proto_path=../protos --proto_path=../fabric-protos --js_out=import_style=commonjs,binary:./ --grpc_out=grpc_js:./ --plugin=protoc-gen-grpc=/data/dlt-interop/weaver-a/common/protos-js/node_modules/.bin/grpc_tools_node_protoc_plugin ../protos/relay/datatransfer.proto ../protos/networks/networks.proto ../protos/driver/driver.proto ../protos/common/interop_payload.proto ../protos/common/asset_locks.proto ../protos/common/ack.proto ../protos/common/query.proto ../protos/fabric/view_data.proto ../protos/corda/view_data.proto ../protos/common/state.proto ../protos/common/proofs.proto ../protos/common/verification_policy.proto ../fabric-protos/msp/identities.proto ../fabric-protos/peer/proposal_response.proto ../fabric-protos/peer/proposal.proto ../fabric-protos/peer/chaincode.proto ../fabric-protos/common/policies.proto ../fabric-protos/msp/msp_principal.proto
common/policies.proto:23:11: "common.Policy.type" is already defined in file "common/verification_policy.proto".
common/policies.proto:16:9: "common.Policy" is already defined in file "common/verification_policy.proto".
peer/chaincode.proto:12:1: Import "common/policies.proto" was not found or had errors.
peer/chaincode.proto:117:5: "common.SignaturePolicyEnvelope" is not defined.
peer/chaincode.proto:127:5: "common.SignaturePolicyEnvelope" is not defined.
peer/proposal.proto:13:1: Import "peer/chaincode.proto" was not found or had errors.
peer/proposal.proto:211:5: "ChaincodeID" is not defined.
peer/proposal.proto:253:5: "ChaincodeID" is not defined.

    at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `grpc_tools_node_protoc --proto_path=../protos --proto_path=../fabric-protos  --js_out=import_style=commonjs,binary:./ --grpc_out=grpc_js:./ --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` ../protos/relay/datatransfer.proto ../protos/networks/networks.proto ../protos/driver/driver.proto ../protos/common/interop_payload.proto ../protos/common/asset_locks.proto ../protos/common/ack.proto ../protos/common/query.proto ../protos/fabric/view_data.proto ../protos/corda/view_data.proto ../protos/common/state.proto ../protos/common/proofs.proto ../protos/common/verification_policy.proto ../fabric-protos/msp/identities.proto ../fabric-protos/peer/proposal_response.proto ../fabric-protos/peer/proposal.proto ../fabric-protos/peer/chaincode.proto ../fabric-protos/common/policies.proto ../fabric-protos/msp/msp_principal.proto && protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=./ -I ../protos -I ../fabric-protos ../protos/relay/datatransfer.proto ../protos/networks/networks.proto ../protos/driver/driver.proto ../protos/common/interop_payload.proto ../protos/common/asset_locks.proto ../protos/common/ack.proto ../protos/common/query.proto ../protos/fabric/view_data.proto ../protos/corda/view_data.proto ../protos/common/state.proto ../protos/common/proofs.proto ../protos/common/verification_policy.proto ../fabric-protos/msp/identities.proto ../fabric-protos/peer/proposal_response.proto ../fabric-protos/peer/proposal.proto ../fabric-protos/peer/chaincode.proto ../fabric-protos/common/policies.proto ../fabric-protos/msp/msp_principal.proto`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/sannish/.npm/_logs/2021-07-22T06_53_54_070Z-debug.log
Makefile:3: recipe for target 'build' failed
make: *** [build] Error 1

Added this fix via PR: #117


Reuse materials when creating glTF

Describe the problem
When a gltf is built, it instantiates a new material for each mesh, even if the glTF shares a material. This means that materials cannot be dynamically batched and that materials are unnecessarily re-created.
See
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/mrtk_development/Assets/MRTK/Core/Utilities/Gltf/Serialization/ConstructGltf.cs#L214
Describe the solution you'd like
I'm not entirely sure where to cache this data, but somewhere, we should be able to cache materials by their materialId then retrieve them if they have already been created.
Something like:
        private static async Task ConstructMaterialAsync(this GltfObject gltfObject, GltfMaterial gltfMaterial, int materialId)
        {
            if (gltfObject.UseBackgroundThread) await Update;

            if (!MaterialCache.TryGetValue(materialId, out var material))
            {
                material = await CreateMRTKShaderMaterial(gltfObject, gltfMaterial, materialId);
                MaterialCache[materialId] = material;
            }

This of course won't quite work because ConstructMaterialAsync is static, and the cache would need to be associated with an instance of a gltf.

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visithttps://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!


For a 2.1.3 release

#151

Codecov Report

Merging #152 (5b4c7f4) into master (1aa5bbf) will decrease coverage by 0.34%.
The diff coverage is n/a.

:exclamation: Current head 5b4c7f4 differs from pull request most recent head c03a3cb. Consider uploading reports for the commit c03a3cb to get more accurate results

@@            Coverage Diff             @@
##           master     #152      +/-   ##
==========================================
- Coverage   94.53%   94.19%   -0.35%
==========================================
  Files           7        7
  Lines         293      293
==========================================
- Hits          277      276       -1
- Misses         16       17       +1

Impacted Files
Coverage Δ

src/convention/scitype.jl
78.37% <ø> (ø)

src/schema.jl
97.14% <0.00%> (-2.86%)
:arrow_down:

Continue to review full report at Codecov.

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


Song: Remove duplicate dbus blocks

Description
Title.
TODO

[ ] Testing

[x] GNOME-Music
[ ] Lollypop
[ ] Clementine
[x] Spotify

[x] Possibly include Spotify on Linux.

[x] Move the dbus command to a function.

@konimex, can you test this out?

After the second commit it works. I can only test this with GNOME Music though.

I'll install the others. Thanks :+1:

While we're at it, I think we can delete all $state functions in get_song() as I think it's completely useless. Users' default behaviour when a music player stops playing its music, the music player will be closed (effectively killing the process), and as a result, there will be no output in $state.

Sounds good :+1:.


Fix #2528: Check top-level export conflicts in analyzer

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/4347/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/5845/
Test PASSed.

Updated.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/4351/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/5850/
Test PASSed.


可以对指定的volume服务设置只读？

您好！现在有多个volume服务，只想对其中几个服务做只读限制？是否哪里可以配置呢？

You can use this command in "weed shell"
$ weed shell
master: localhost:9333 filers: [<IP_ADDRESS>:8888]
> help
Type:	"help <command>" for help on <command>. Most commands support "<command> -h" also for options.

  volume.mark                   	# Mark volume writable or readonly from one volume server


How can i send new write command to existing connection?

Hi, I have created a socket server and it works fine when i use telnet to connect and communicate. Now i am trying to build a client using laravel. But i am not sure what to follow or have an idea to implement. I know i can connect to server and send and receive data for the first time but not sure how can i send new commands  to that existing connection when some events happened.
To make it more clear:

There is a Remote Socket server (Laravel App) (running as daemon)
There is a Local Socket Client (Laravel App) (running as daemon)
Socket Client did connect to Socket Server using php artisan command and said "hi"
Socket Server got this message and said "hi back"

Until here every thing is fine. My issue starts when:
Let's say sometime in future one of the API request needs to send a request to Socket server and get response from it. How can i reference the existing connection from API controller to send it a write command ?
For now i am brainstorming as:
<?php
namespace App\Services;
use React\Socket\Connector;
use React\EventLoop\Factory;
use React\Socket\ConnectionInterface;
class SocketClient
{
    public $client;
    public function __construct()
    {
        $loop =  Factory::create();
        $connector = new Connector($loop);
        $connector->connect(env('SOCKET_SERVER', '<IP_ADDRESS>:9000'))
            ->then(function (ConnectionInterface $connection) {
                $this->client = $connection;
            }, function (Exception $e) {
                $this->client = $e->getMessage();
            });
        $loop->run();
    }
}

Thanks

brainstorming v2:
Let's imagine our Socket Server has a Pool and all the new connections are added to the pool by a unique id. Let's say every client connection request has an api token so we can save it to the pool when we add them. So now we can map each connected clients from the pool.
Since i am not so sure how can i reference the existing connection to the server, instead i can create a Temporary Client which holds a trigger command and same api token which will response to existing client. And existing client will trigger the event depends on what has been requested. To make it more clear:

Socket Server starts. Let's call this Socket Server
Socket Client connects with an api token. Let's call this one Socket Client
Socket Server adds Socket Cient with api token key map to the SplObjectStorage  pool
Connection established and waiting for events
From same Socket Client application, a new Temporary Client connection starts with the same api token. Let's call this one Temporary Client
Temporary Client will make a new request and close the connection once request has been made.
Socket Server will send the response to Socket Client since Socket Server will check the api token and map the Socket Client to send back the response.
Do this loop for each new request

I have tried and it kind of works but i believe this is totally wrong way. Shouldn't be this complicated :) Since i can't find an answer, currently struggling around..

I have tried and it kind of works but i believe this is totally wrong way. Shouldn't be this complicated :) Since i can't find an answer, currently struggling around..

Can you gist a slimmed down version of this, without the business logic here?: https://gist.github.com/
Feels like I'm missing some context. You've mentioned API controllers, are those controllers handling HTTP calls from fpm or react/http?

I could write gigs but it's a bit complicated without some business logic. Let me know if this helps:
API Requests are first Handled by Laravel and forwarded by Reactphp.

The main request enters to Laravel application via API request.
Laravel application uses Reactphp Client to forward this request to remote via Socket client, and Remote server which is runing React Socket server handles the request and forwards it to the its Laravel API.
API does its job and give the response to the Socket server to response all the way back.

Feels like I'm missing some context. You've mentioned API controllers, are those controllers handling HTTP calls from fpm or react/http?

here is the gist
https://gist.github.com/nemrutco/84355599ab6798bcc3019ce091672e00

@nemrutco Thanks for the detailed description and the gist. I'm not sure I follow exactly what you're trying to achieve, but form the details you've posted it seems like you might be overthinking the problem.
Here's how I understand your problem: Your web application (Laravel) handles an incoming HTTP request, forwards some JSON data to a ReactPHP-based server and should wait for its response data?
In this case, your problem can be split into two independent problems:

Your traditional application has to "talk" to your ReactPHP server, send data and wait to receive a response
Your ReactPHP application needs to accept this data and send back a response.

This means you have to find a communication protocol between both parts that allow this communication. Unless you have more specific requirements, I would highly suggest sticking to HTTP because there are existing implementations for pretty much any situation, including existing HTTP client for your traditional application and an HTTP server for ReactPHP.
If you want to get started with HTTP communication, I would suggest taking a look at https://github.com/reactphp/http which includes examples for common scenarios and more complex ones such as streaming.
I'm mentioning this because your application seems to implement some kind of streaming mechanism where the connection from your client to your application is meant to be kept open for a longer period of time? In this case, a traditional framework like Laravel is probably a bad fit, because it builds on top of PHP's request-response semantics. You may want to use ReactPHP's HTTP server component linked about to build a streaming server and/or using WebSockets (https://github.com/beyondcode/laravel-websockets).
I hope this helps :+1:
I believe this has been answered, so I'm closing this for now. Please come back with more details if this problem persists and we can still discuss and/or reopen this :+1:


Transitions prop validation

When I specify the transitions prop with an object, I get a console warning of:
"Invalid prop: type check failed for prop "transitions". Expected Boolean, got Object"
I'm specifying the prop as:
:transitions="{ next: 'fade', previous: 'fade' }"

Will correct it, this is left from the original when only the toggle was supported.


Operation not supported chromium-56.0.2924.87 Fedora 25

I'm trying to solve Operation not supported issue on chromium. If somebody have any thoughts please let me know
Fedora 25 (Workstation Edition) chromium-56.0.2924.87-3.fc25.x86_64
journalctl output:
Mar 28 00:11:25 magnolia.local chromium-browser.desktop[10055]: gio: org-protocol://capture:/p/https%3A%2F%2Fstackoverflow.com%2Fquestions%2F11494232%2Fwhy-is-chrome-browseraction-onclicked-undefined/javascript%20-%20Why%20is%20chrome.browserAction.onClicked%20undefined%3F%20-%20Stack%20Overflow/-%20Use%20variables%20or%20functions%20defined%20by%20their%20extension%27s%20pages%0A: Operation not supported

Stupid me. I forgot about: update-desktop-database ~/.local/share/applications/. Now it works.

Glad it worked out :-)


Process platform report metrics when extn is lagging

The current extension will drop the platform.report logs if the platform report metrics are reported in an invocation that does not immediately succeed in the invocation generating the platform report. To prevent the logs from getting dropped the PR does the following changes:

Updates the lifecycle of the cached invocation data to be cleared on receiving platform.report metric for its corresponding request ID.
Query the cached invocation data instead of using the previous event and drop the log event if the prev event doesn't match the event's request ID.

Part of #334

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-01-10T07:22:28.627+0000

Duration: 8 min 46 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
204

Skipped
2

Total
206

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

Apologies for the push after marking it ready for review. I realized there was an edge case when on shutdown there might be more than one platform.report pending. I have fixed this now.

/test


installing shipyard breaks ipv6

On a CentOS 7.2 host I instantiate a swarm.
docker swarm init --advertise-addr "$(hostname -I | cut -d" " -f 1)"
Curl and wget work at this point.
I then install shipyard.
curl -sSL https://shipyard-project.com/deploy | bash -s
Wget and curl no longer work. They do work with ipv4 however.
wget -4 google.com
Works.

Dear dnordberg
Can You Help Me To Install Shipyard On Centos 7 Step by Step Documentation , I Appreciate That.
Best Regards

Try this:
# required for curl to work after shipyard install
ip -6 route add 2004::3 dev eth0

# needs to be enabled
sysctl net.ipv4.ip_forward=1

service network restart

systemctl restart docker


Correct the semester which is pulled

Allow the semester pulled to automatically be the next fall or spring semester.

LGTM! In the future, it might also be cool to add an additional "menu" to the CLI to choose from the past say 4 semesters (including the current one). Although, definitely a QOL feature 😄


Messaging: Contributors

#13 is a pretty high-fidelity mockup with a bunch of ideas that need fleshed out. This pulls out just the messaging for contributors so we can talk through it.
Before discussing the specific words in this doc, I'd like to go through these steps to make sure we agree on:

[x] Who is the audience?
[x] Why should they care?
[x] How should they get started?

And only after those three things are done:

[x] wordsmith all the things

cc @MikeMcQuaid @nayafia @kytrinyx

Wanted to add the following straight from the electron mini-summits Eventbrite, I think @groundwater did a great job summarizing why is important for companies to allow and encourage participation.
"I want to sell this to my manager, help me!
Great question! I hope this helps
We at $COMPANY are making a large investment in Electron.  GitHub_ is making almost all of their team's process transparent to the community, and this event is their biannual team planning session. Our voice can make a big difference here, and we should send both management and developers. Managers will get the chance to have 1-1 discussions with the GitHub engineering and product managers. Developers will get to talk and pair with core Electron developers, along with other community members."

Closing in favour of copy in https://github.com/ossfriday/ossfriday/pull/28.


unnecessary_breaks quick-fix/assist should run when converting switch statement to if-case statement

Consider the following code sample:
void main() {
  final v = 1;
  switch (v) {
    case 1:
      print('1');
      break;             // <- unnecessary_breaks
    case 2:
      print('2');
    default:
      print('default');
  }
}

The suggested assists for the switch are:

When we select the first option to convert to an if-case statement this is the code we get:

void main() {
  final v = 1;
  if (v case 1) {
    print('1');
    break;            // <- break_outside_of_loop
  } else if (v case 2) {
    print('2');
  } else {
    print('default');
  }
}

So I believe the unnecessary_breaks assist should be run before the actual assist for the if-case statement transformation.

I believe that the unnecessary_breaks quick-fix should be an option at the switch keyword for old switches with multiple breaks and also for cases like the above which would make them more self-explanatory.

If you think I should create more than one issue for these requests, tell me and I'll do so.

@fshcheglov I think this is a good issue for you to solve.

https://dart-review.googlesource.com/c/sdk/+/383931
It will remove unnecessary breaks while converting to if/else chains.
I don't believe activating quick fix for unnecessary break on the switch statement itself is useful, however. There is already a quick-fix option to remove all unnecessary break statements in the file.

I agree that associating the removing unnecessary break quick fix with the switch keyword is not useful.

My point in asking for the assist on the switch keyword was because for me it makes no sense to remove breaks individually. Maybe we could have a new issue about it? I'm not sure we have any lints or similar that only solve that for the whole file.

We can run the quick fix on the whole file as @fshcheglov mentioned.
You should enable unnecessary_breaks lint.
void f(int x) {
  switch (x) {
    case 0:
      0;
      break;
    case 1:
      0;
      break;
  }
}

I know I can. Sorry if I'm not clear enough. My point is that there should be no use for the Remove break option just above. There is no reason for someone to remove only one break at a time. That's what I was trying to say. Removing that stand-alone option would do as well. That's why:

I'm not sure we have any lints or similar that only solve that for the whole file.

Focus on the only in this phrase.

I agree, there is little use in removing just one break, and not all of them.
Consider opening a separate issue to exclude individual Remove break from UI.

Created https://github.com/dart-lang/sdk/issues/56680. Thanks!

Hey! A follow-up on this. Missing breaks when converting back from empty if-case to switch statement: https://github.com/dart-lang/sdk/issues/56682.


CSS Modules support

PR includes

[x] DX

Related issues
Resolve #622
QA Instructions, Screenshots, Recordings
// In root file, for example, _app.tsx
import<EMAIL_ADDRESS>// Import styles

// Harmony components available here
import { Button } from '@taskany/bricks/harmony'; // Import components

npm run build сreates a harmony folder with the following structure:

harmony

index.js
index.d.ts
component

component.js
component.d.ts

/canary

/canary

/canary

/canary

/canary

/canary

/canary

/canary

/canary


add tnua.edu.tw

add tnua.edu.tw

@antyyeh I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host newmedia.tuna.edu.tw not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Vehicle Counter Using OpenCV

Is your feature request related to a problem? Please describe.
The roads are filled with vehicles all over, which causes traffic.
Describe the solution you'd like
I would like to make a counter of the vehicles to make it easy to know the traffic and whether it is worthy to take that route.
Describe alternatives you've considered
No response
Additional context
Under GSSOC'23, please assign me this task.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Tisha6661 - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.

@khusheekapoor  I have created a pull request regarding this task, please verify and merge it.


Simperium Not Saving 1-To-Many Relationship

@jleandroperez
I have a team object, that has many player objects... When I save the team none of the players get saved to simperium. They are indeed saved locally however...
There are no errors, in fact, simperium does not seem to even be trying to send up the Player object, when I turn on verbose logging enabled, All I see is
Simperium marking object for sending more changes when ready (Player): 07383333b7714e058e62992059babf0c

Hello there Luke,
Hope you're doing great!. Please, set a breakpoint here, and check the following flags:
p _indexing
p _authenticated
p (BOOL)processor.reachedMaxPendings

One of the above is causing the change to get enqueued, instead of processed. However, the change should get processed once the lib gets authenticated (OR) indexing finishes (OR) the pendings get cleared out.
Thanks!

@jleandroperez Here are the results
(lldb) p _indexing
(BOOL) $0 = NO
(lldb) p _authenticated
(BOOL) $1 = YES
(lldb) p processor.reachedMaxPendings
(BOOL) $2 = NO

@jleandroperez Also, things to be working perfectly fine now, after I logged in on a new account... Is there anyway to precent this from happening in the future on my end?

@lukegeiger i'm afraid there's nothing we can do, without more debug info. We'd need to reproduce it, and grab the status of those flags at the moment in which the relationship doesn't get sync'ed.
It could have been a networking glitch, heavy load (+200 pending changes), or maybe the lib was reindexing. But whatever it was, it should have recovered after a while (except if it was a networking issue!)

@jleandroperez gotcha... So then the objects that weren't synced, will eventually get synced then? The only way a user would lose data is if they logged out when they had objects enqueued, correct?

@lukegeiger right, signing out with pendings could cause that.
That is, of course, as long as this wasn't caused by a bug. (Which without further debug info is quite impossible to determine). Nevertheless, the log message Simperium marking object for sending more changes when ready indicates that the entity is going to be effectively processed, when the conditions mentioned above change.

@jleandroperez ok, thank  you for the quick responses. I'll make sure to keep an eye out for it and try to grab the logs.

Awesome Luke, thank you!

Let's close this one for now. Please, feel free to reopen if you're still experiencing this, thanks!

@jleandroperez I am experiencing this issue again... What logs do you need me to send you?

@lukegeiger verbose console logs please. Thanks!

@jleandroperez ok this is all that gets printed out. Also, there is no bucket made on simperium.com either...
https://gist.github.com/lukegeiger/e9579d63d2711e686a52

@lukegeiger please, set a breakpoint here  and:

Check the contents of object.ghost.memberData
Verify if the updated fields are effectively reflected in the object instance

Also, please, set a breakpoint here and check what's the flow like, whenever a diff is calculated for one of the updated entities.
Thanks!

@jleandroperez so the second breakpoint does not get hit, and the first breakpoint the object is my League object, when I think it should be the Conference object (Conference is the object that is not getting saved)

@jleandroperez Also,
This is only occurring on my development Apps on Simperium. So for example, my live app on the app store is using version 0.7.5 and everything is working fine...
On my development app (same app just different Simperium ID and key) nothing works. I even jumped down to version 0.7.5 and it still didn't work.
So what is weird is that the same exact Simperium version is working live in the app store, but for whatever reason my development app is not.

@jleandroperez after some more research, I am still just so confused on this whole thing... I can run the exact same code base and project pointing to the app store database and it works fine. But when I delete the app and reinstall pointing to the development database, absolutely nothing will save to Simperium without touching a single line of code. It does not even have to be a 1-To-Many, its ann entity.

@lukegeiger just in case i'm not following... is this accurate? (Everything, with release 0.7.5):

AppStore version works fine
Develop build, mapped to Live Database works fine.
Develop build, mapped to Development Database, breaks.

When your Develop build breaks, nothing syncs, not just 1 to many relationships.
Is that correct?

@jleandroperez  Sorry for the confusion.
Everything is not working (no matter what build) for my development database.
Everything works fine on my live production database.
I even made a new account, and changed the API keys, and it still doesn't seem to want to work. This led me to believe maybe I changed something in my code, but whenever I change it back to the production database things work fine.
Just let me know what you need in terms of logs/debugging.

@lukegeiger Would it be possible to run a quick test?.
Please, set your environment to build in develop mode, and map your AppStore database. Once ready, please, verify if sync'ing is working.
By everything is not working you mean 'entity addition' or 'entity update' right?. Would it be possible to get verbose logs for any of those OPs, with your develop db?.
Thank you!

@jleandroperez sure, I am not sure what you mean by set the environment to develop mode, but map to app store. Can you clarify?
And yes I can not add any entities or update any entities. I will get the logs.

@lukegeiger sure!. By develop mode i mean, pick the target you usually set to run debug builds (with extra symbols, and DEBUG=1 flag).
The idea is: test exactly the same code that's breaking with your debug database, and map it to the live environment. If it just works, then we're dealing with an issue that doesn't live in the library itself.
Thanks!

@jleandroperez Here are the logs.
Production
https://gist.github.com/lukegeiger/77f14444f34e552d6076
Development
https://gist.github.com/lukegeiger/54862b8dba9456c46e72
The only difference between these two builds are a matter of what database it points to. i.e setting up simperium in the app delegate.

@lukegeiger is the Development change getting acknowledged?
2015-02-12 13:41:03.913 HM[75201:25721932] Simperium acknowledged change for ios-392b7cc4ef9043539b72f177dc4c51b2, cv=54dcf3bfa61f560f66563e56

How are you verifying this? secondary device mapped to develoment as well, right? (+ is anything showing up in those logs?).

@jleandroperez no it is not getting acknowledged. It seems like almost overtime a different combination of logs gets printed out. for example now I am getting this
2015-02-12 14:08:44.996 HM[75628:25734575] Simperium marking object for sending more changes      when ready (League): f75c7a96f61e42f6b051980d5ec6273c
2015-02-12 14:08:44.996 HM[75628:25734575] Simperium processing local object changes (User):   f6d8f017cd7145d7ad974b82c8d933a7
2015-02-12 14:08:44.997 HM[75628:25734575] Simperium entity diff found 0 changed members
2015-02-12 14:08:44.997 HM[75628:25734575] Simperium warning: no difference in call to sendChanges (User): f6d8f017cd7145d7ad974b82c8d933a7

Marking objects for sending more changes message should only be displayed when:

The library is indexing
The websocket channels has not been authenticated
There are over 200 changes that weren't acknowledged.

Please, set a breakpoint here and check the status of the ivars.
Was the User entity effectively changed? (simperiumKey = f6d8f017cd7145d7ad974b82c8d933a7).
How are you testing this? two devices, and checking if the change gets through?

@jleandroperez  here are the iVars
(lldb) po _indexing
YES
(lldb) po _authenticated
YES
(lldb) po processor.reachedMaxPendings
NO

I am testing this on one device at the moment. When I change from the Prod branch to the dev branch I delete the app and reinstall and do a fresh login.
The user was not changed.

@jleandroperez Also, I should mention that one thing is actually saving... When the user signs up, I save a "Profile" object. And that gets synced with Simperium just fine, but everything after that does not work.

@lukegeiger awesome, thanks for checking that!.
Apparently, (at least) one of your buckets is stuck indexing. This indexing process means that the client will retrieve a collection of 'last revisions per entity', and catch up with whatever is in the backend.
During the index process, sending new changes is forbidden (that's why the message says 'marking for later processing).
Problem is: the library should never get stuck indexing. Sorry about bothering you again with this, but would it be possible to capture all of the verbose logging output, starting from the moment in which you launch the app?.
Thanks again Luke!

@jleandroperez of course, here are the logs from the moment I launch to after saving an object.
https://gist.github.com/lukegeiger/3087b1398990b21464f7

@jleandroperez I just noticed this as well, when I switched devices, (testing on iPhone, now on the iPad) with the same account, Simperium seems to constantly print out the following logs.
https://gist.github.com/lukegeiger/959b302d6b57dc488392

@lukegeiger many thanks for the logs!. I've isolated this flow (in the last gist):
2015-02-12 16:38:18.447 HM[78364:25804161] Simperium initializing websocket channel 6:{
    api = "1.1";
    "app_id" = "reservist-executions-1b5";
    clientid = "ios-0b0db6112e1447f9a6d92d398f3f4cd2";
    library = ios;
    name = LineupStats;
    token = adf80e0c36e047c1847df47268dbb59b;
    version = "0.7.5";
}
2015-02-12 16:38:18.564 HM[78364:25804161] Simperium () received<EMAIL_ADDRESS>2015-02-12 16:38:18.565 HM[78364:25804161] Simperium client ios-0b0db6112e1447f9a6d92d398f3f4cd2 sending cv 6:cv:54ca848bd9b5bb0d6be4eaa4
2015-02-12 16:38:18.913 HM[78364:25804161] Simperium () received "6:cv:?"
2015-02-12 16:38:18.913 HM[78364:25804161] Simperium change version is out of date (LineupStats), re-indexing
2015-02-12 16:38:18.915 HM[78364:25804161] Simperium requesting index (LineupStats): 6:i::::500
2015-02-12 16:38:18.935 HM[78364:25804161] Simperium received index (LineupStats): {"index": []}
2015-02-12 16:38:18.935 HM[78364:25804161] Simperium processing 0 objects from index (LineupStats)
2015-02-12 16:38:18.936 HM[78364:25804161] Simperium finished processing all objects from index (LineupStats)
2015-02-12 16:38:18.937 HM[78364:25804161] Simperium client ios-0b0db6112e1447f9a6d92d398f3f4cd2 sending cv 6:cv:54ca848bd9b5bb0d6be4eaa4

That issue should be already fixed in #381. Mind updating to the latest stable release and running a quick test?.


Cannot generate latest CSV

Running make gen-latest-csv gives the following error in the latest master( commit 45969159f996d7e7369)
make gen-latest-csv
Ensuring operator-sdk
hack/ensure-operator-sdk.sh
Using operator-sdk cached at build/_output/tools/operator-sdk-v0.17.0
Generating latest development CSV version using predefined ENV VARs.
hack/generate-latest-csv.sh
=== Generating DEV CSV with the following vars ===
        CSV_VERSION=4.6.0
        ROOK_IMAGE=rook/ceph:v<IP_ADDRESS>3.g4df2549
        NOOBAA_IMAGE=noobaa/noobaa-operator:2.3.0
        NOOBAA_CORE_IMAGE=noobaa/noobaa-core:5.5.0
        NOOBAA_DB_IMAGE=centos/mongodb-36-centos7
        CEPH_IMAGE=ceph/ceph:v14.2
        OCS_IMAGE=quay.io/ocs-dev/ocs-operator:latest
cp: cannot stat 'deploy/bundlemanifests/*.yaml': No such file or directory
make: *** [Makefile:86: gen-latest-csv] Error 1

Are you working off of a clean master? What does git status say?


test/utils/git_spec: fix cherry pick test with older git

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?
[x] Have you successfully run brew man locally and committed any changes?

(e.g. system git on Mojave)

Review period will end on 2021-02-11 at 17:37:09 UTC.

Thanks again @Bo98!

Review period ended.


typescript: moment.defaultFormat leads to "cannot be a constant or a read-only property"

When using typescript I want to be able to set default format
import * as moment from 'moment';
moment.locale('sv-SE');
moment.defaultFormat = 'YYYY-MM-DD';

defaultFormat is defined as
export var defaultFormat: string;

But because of how es6 modules work, it will convert all var and let variables to read-only.
See https://github.com/Microsoft/TypeScript/issues/6751
Which means that I cannot set the defaultFormat with typescript.
It says:
error TS2450: Left-hand side of assignment expression cannot be a constant or a read-only property.

Maybe we should add a function to set the property,
export function setDefaultFormat(format: string) {}

or use setters and getters
set defaultFormat(format: string): void

Workaround is to use require instead of es6 module import
const moment = require('moment');
moment.locale('sv-SE');
moment.defaultFormat = 'YYYY-MM-DD';

I think we'd take a .setDefaultFormat() function pull request.
We technically support IE8 (we WILL get rid of it soon). As such though, the setter is a no go.

I got it to work by this way:
import * as moment from "moment";
export class MyApp {
Moment: any;
...
this.Moment = moment;
this.Moment.defaultFormat = "YYYY-MM-DDTHH:mm:ss.SSSZ";
...
}

I solved the issue using as type any
(moment as any).defaultFormat = 'YYYY-MM-DD'

any update on this?

+1

+1

+1

The following code works fine.
<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>import moment, { Moment } from "moment";
import "moment/locale/zh-cn";

moment.defaultFormat = "YYYY-MM-DDTHH:mm:ss.SSSZ";

There seem to be code workarounds for this.
See https://momentjs.com/docs/#/-project-status/


Update to the latest CRC versions and add an OpenShift 4.17 option

I needed an OpenShift environment to test cert-manager and istio-csr on OpenShift,
so I made use of the make target in this repo and took the opportunity to update it with the latest CRC versions,
and to bring the VM instance up to date and to document how I chose that VM type.
$ make crc-instance OPENSHIFT_VERSION=4.17 PULL_SECRET=${PWD}/pull-secret
: ${PULL_SECRET:?"Please set PULL_SECRET to the path to the pull-secret downloaded from https://console.redhat.com/openshift/create/local"}
gcloud compute instances create crc-4-17 \
        --enable-nested-virtualization \
        --min-cpu-platform="Intel Haswell" \
        --custom-memory 32GiB \
        --custom-cpu 8 \
        --image-family=rhel-8 \
        --image-project=rhel-cloud \
        --preemptible \
        --boot-disk-size=200GiB \
        --boot-disk-type=pd-ssd \
        --metadata-from-file=make-file=hack/crc.mk,pull-secret=/home/richard/projects/cert-manager/cert-manager-olm/pull-secret,startup-script=hack/crc-instance-startup-script.sh \
        --metadata=openshift-version=4.17
until gcloud compute ssh crc@crc-4-17 -- sudo systemctl is-system-running --wait; do sleep 2; done >/dev/null
Created [https://www.googleapis.com/compute/v1/projects/jetstack-richard/zones/europe-west1-b/instances/crc-4-17].
WARNING: Some requests generated warnings:
 - Disk size: '200 GB' is larger than image size: '20 GB'. You might need to resize the root repartition manually if the operating system does not support automatic resizing. See https://cloud.google.com/compute/docs/disks/add-persistent-disk#resize_pd for details.

NAME      ZONE            MACHINE_TYPE    PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
crc-4-17  europe-west1-b  custom-8-32768  true         <IP_ADDRESS>  <IP_ADDRESS>  RUNNING

$ gcloud compute ssh crc@crc-4-17 -- -D 8080
Last login: Fri Nov 29 17:12:08 2024 from <IP_ADDRESS>
[crc@crc-4-17 ~]$ sudo journalctl -u google-startup-scripts.service  --output cat
Starting Google Compute Engine Startup Scripts...
Starting startup scripts (version 20241031.00).
Found startup-script in metadata.
...
startup-script: curl --fail --silent --show-error --location --output build/crc-linux-amd64.tar.xz.2.44.0 https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/2.44.0/crc-linux-amd64.tar.xz
startup-script: mkdir -p  bin/
startup-script: tar --strip-components 1 --directory bin/ --extract --file \
startup-script:         build/crc-linux-amd64.tar.xz.2.44.0 crc-linux-2.44.0-amd64/crc
...
startup-script: level=debug msg="Downloading https://mirror.openshift.com/pub/openshift-v4/clients/crc/bundles/openshift/4.17.3/crc_libvirt_4.17.3_amd64.crcbundle to /home/crc/.crc/cache/crc_libvirt_4.17.3_amd64.crcbundle"
startup-script: level=debug msg="Download saved to /home/crc/.crc/cache/crc_libvirt_4.17.3_amd64.crcbundle"
startup-script: level=info msg="Uncompressing /home/crc/.crc/cache/crc_libvirt_4.17.3_amd64.crcbundle"
startup-script: level=debug msg="Uncompressing /home/crc/.crc/cache/crc_libvirt_4.17.3_amd64.crcbundle to /home/crc/.crc/cache/tmp-extract"

Hey, I tried the script, it worked after some manual fixes. For some reason, the startup script seemed to fail, I had to restart the VM twice. After that, it started working.
I liked the error message shown when I forgot to set PULL_SECRET. Very informative:
$ make crc-instance OPENSHIFT_VERSION=4.17
: ${PULL_SECRET:?"Please set PULL_SECRET to the path to the pull-secret downloaded from https://console.redhat.com/openshift/create/local"}
bash: line 1: PULL_SECRET: Please set PULL_SECRET to the path to the pull-secret downloaded from https://console.redhat.com/openshift/create/local
make: *** [crc-instance] Error 127

I did not understand the error message when PULL_SECRET wasn't found:
$ make crc-instance OPENSHIFT_VERSION=4.17 PULL_SECRET=unknown
make: *** No rule to make target `unknown', needed by `crc-instance'.  Stop.

When I gave it the right path, it started working:
$ make crc-instance OPENSHIFT_VERSION=4.17 PULL_SECRET=mine/pull-secret.txt
: ${PULL_SECRET:?"Please set PULL_SECRET to the path to the pull-secret downloaded from https://console.redhat.com/openshift/create/local"}
gcloud compute instances create crc-4-17 \
		--enable-nested-virtualization \
		--image-family=rhel-8 \
		--image-project=rhel-cloud \
		--preemptible \
		--machine-type=c3-standard-8 \
		--boot-disk-size=200GiB \
		--metadata-from-file=make-file=hack/crc.mk,pull-secret=mine/pull-secret.txt,startup-script=hack/crc-instance-startup-script.sh \
		--metadata=openshift-version=4.17

I bumped into a few gcloud error that were easy to fix:
ERROR: (gcloud.compute.instances.create) You do not currently have an active account selected.

that I fixed with:
gcloud config set account<EMAIL_ADDRESS>
and also the error:
ERROR: (gcloud.compute.instances.create) Your current active account<EMAIL_ADDRESS>does not have any valid credentials

that I fixed with:
gcloud auth login

I was surprised that the instance creation was asking for a zone:
$ make crc-instance OPENSHIFT_VERSION=4.17 PULL_SECRET=mine/pull-secret.txt
: ${PULL_SECRET:?"Please set PULL_SECRET to the path to the pull-secret downloaded from https://console.redhat.com/openshift/create/local"}
gcloud compute instances create crc-4-17 \
		--enable-nested-virtualization \
		--image-family=rhel-8 \
		--image-project=rhel-cloud \
		--preemptible \
		--machine-type=c3-standard-8 \
		--boot-disk-size=200GiB \
		--metadata-from-file=make-file=hack/crc.mk,pull-secret=mine/pull-secret.txt,startup-script=hack/crc-instance-startup-script.sh \
		--metadata=openshift-version=4.17
For the following instance:
 - [crc-4-17]
choose a zone:
 [1] africa-south1-a
 [2] africa-south1-b
...

I went ahead and used:
gcloud config set compute/zone europe-west1-b

since that's what seems to be suggested as per the example in your documentation.
It hung on:
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.

The command sudo systemctl is-system-running was returning starting with an exit code of 1.
I asked ChatGPT and it told me to look at journalctl -b, where I found the problem:
$ journalctl -b
Dec 10 12:42:03 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="retry loop: attempt 18"
Dec 10 12:42:03 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="Running SSH command: <hidden>"
Dec 10 12:42:03 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="SSH command succeeded"
Dec 10 12:42:03 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="error: Temporary error: pull secret not updated to disk - sleeping 2s"
Dec 10 12:42:05 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="retry loop: attempt 19"
Dec 10 12:42:05 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="Running SSH command: <hidden>"
Dec 10 12:42:05 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="SSH command succeeded"
Dec 10 12:42:05 crc-4-17 google_metadata_script_runner[2594]: startup-script: level=debug msg="error: Temporary error: pull secret not updated to disk - sleeping 2s"

I rebooted the VM with sudo reboot. Logs were now showing:
$ journalctl -b
Dec 10 12:46:15 crc-4-17 google_metadata_script_runner[1649]: startup-script: level=debug msg="SSH command results: err: Process exited with status 124, output: "
Dec 10 12:46:15 crc-4-17 google_metadata_script_runner[1649]: startup-script: level=debug
Dec 10 12:46:15 crc-4-17 google_metadata_script_runner[1649]: startup-script: level=debug msg="error: Temporary error: ssh command error:\ncommand : timeout 5s oc get nodes --context admin --cluster crc --kubeconfig /opt/kubeconfig\nerr     : Process exited with status 124\n - sleeping 1s"

After another sudo reboot, it started working:
$ gcloud compute ssh crc@crc-4-17 -- sudo systemctl is-system-running
running

Quick question: how can I access the OpenShift UI with this method? I need to access the UI to test the OperatorHub. The way I did it:
# Remove previous CRC hostnames that I had on my mac:
sudo perl -ni -e 'print if !/crc.testing/' /etc/hosts
# Copy the CRC hostnames from the VM:
gcloud compute ssh crc@crc-4-17 -- cat /etc/hosts | grep testing | sed 's|<IP_ADDRESS>|<IP_ADDRESS>|g' | sudo tee -a /etc/hosts
# Forward port 8080:
gcloud compute ssh crc@crc-4-17 -- -L 8080:<IP_ADDRESS>:80

then I was able to visit https://console-openshift-console.apps-crc.testing:8443/

/approve
/lgtm


Add a string field to the ABI that is arbitrary text

The intent is to use this field to contain the human readable text version of the contract.  Think Ricardian contracts.

I verified this functionality by doing the following:

Added a value for ricardian_contract to an action in an .abi file
Set the contract
Retrieved the abi using get code -a
Verified that the string was reported under the ricardian_contract field of the action


support using release or tag name in [GitHubRelease] version badge

Resolves #6763

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against 33d6e1c2b21bce01266736bb3c129070ae163f17


Optimizing dictionary data structures fails when using a partially initialized function

When passing fn=partial(my_func, arg1=arg1) to optimize, the line linked below will yield only the keys of the dictionary that my_funcreturns. I avoided the issue by not using partial for my usecase but I`d consider this a bug.
Kind regards :)
https://github.com/Lightning-AI/litdata/blob/a09de861eadcb8389d0bc3065a901113c9e72a5f/src/litdata/processing/functions.py#L138

Hey @enrico-stauss, Could you try out the latest version of litdata ?

This has been fixed.


so much [Violation] requestAnimationFrame   handler took 90ms  when render more chart instances

One-line summary [问题简述]
一个页面有N个chart,  8个以上渲染的时候..
[Violation] 'requestAnimationFrame' handler took 142ms
[Violation] 'requestAnimationFrame' handler took 113ms
[Violation] 'requestAnimationFrame' handler took 127ms
[Violation] 'requestAnimationFrame' handler took 110ms
[Violation] 'requestAnimationFrame' handler took 140ms
[Violation] 'requestAnimationFrame' handler took 110ms
[Violation] 'requestAnimationFrame' handler took 105ms
[Violation] 'requestAnimationFrame' handler took 103ms
[Violation] 'requestAnimationFrame' handler took 101ms
[Violation] 'requestAnimationFrame' handler took 104ms
[Violation] 'requestAnimationFrame' handler took 103ms
[Violation] 'requestAnimationFrame' handler took 107ms
[Violation] 'requestAnimationFrame' handler took 119ms
[Violation] 'requestAnimationFrame' handler took 93ms
[Violation] 'requestAnimationFrame' handler took 94ms
[Violation] 'requestAnimationFrame' handler took 93ms
[Violation] 'requestAnimationFrame' handler took 94ms
[Violation] 'requestAnimationFrame' handler took 91ms
[Violation] 'requestAnimationFrame' handler took 96ms
[Violation] 'requestAnimationFrame' handler took 93ms
[Violation] 'requestAnimationFrame' handler took 95ms
[Violation] 'requestAnimationFrame' handler took 92ms
[Violation] 'requestAnimationFrame' handler took 97ms
[Violation] 'requestAnimationFrame' handler took 93ms
[Violation] 'requestAnimationFrame' handler took 96ms
[Violation] 'requestAnimationFrame' handler took 93ms
[Violation] 'requestAnimationFrame' handler took 99ms
[Violation] 'requestAnimationFrame' handler took 92ms
[Violation] 'requestAnimationFrame' handler took 93ms
Version & Environment [版本及环境]

ECharts version [ECharts 版本]:  3.6
Browser version [浏览器类型和版本]: Chrome
OS Version [操作系统类型和版本]: win7

Expected behaviour [期望结果]
多个渲染的时候，性能会好些。
ECharts option [ECharts配置项]

option = {

}

Other comments [其他信息]

chrome console 会不断的 出现[Violation] 'requestAnimationFrame' handler took ** ms ......................

暂时无法满足你的需求，console 中的 log 不是 echarts 打的

应该是某一个动画库打出来的，但是这个还不是LOG。 看起来更像是调用了浏览器的某个API ，还没找到……

楼主解决了吗？我绘制echarts的时候也出现了这个情况

chrome console 会不断的 出现[Violation] 'requestAnimationFrame' handler took ** ms ......................

楼主解决了吗？我现在也遇到这个问题

就是echarts里面的动画引起的警告，有人解决了吗

一直出现这个警告，然后页面崩溃

我是在使用force的时候，如果点数比较多的情况下，就会出现不断的刷，判断是node比较多（400以上）的时候，关系图要稳定下来，需要不断刷屏，更新位置。这个估计没有办法解决吧。

一直出现这个警告，然后页面崩溃

您现在解决了吗

因为requestAnimationFrame重复调用导致的,可以手动封装一个方法来处理这个事情,就是在同一时间只执行一次就行


The issue of the postprocess_order for STOPS_AT operators.

Question
When I use multiple STOPS_AT / STOPS_BEFORE constraints in a single 'where' statement, I found that one of the constraints may does not take effect.
You can use the following code with the Llama-2-7b-hf model to reproduce this scenario.
@lmql.query
def test():
    '''lmql
    """{{"first_name": "Bruno", "last_name": "Mars", "birthday": "1985-10-0", "age": 32, "hobby": [["sing", "dance"]], "address": {{"street_address": "12345", "city": "New York", "state": "NY", "country":"US"""
    '", "children_name":[["[GEN_STR]"]]' where len(TOKENS(GEN_STR)) < 20 and STOPS_BEFORE(GEN_STR, ']')  and STOPS_BEFORE(GEN_STR, ',') and STOPS_BEFORE(GEN_STR, '"')
    '''

print(test(model = model))
LMQLResult(prompt='{"first_name": "Bruno", "last_name": "Mars", "birthday": "1985-10-0", "age": 32, "hobby": ["sing", "dance"], "address": {"street_address": "12345", "city": "New York", "state": "NY", "country":"US", "children_name":["John""]', variables={'GEN_STR': 'John"'}, distribution_variable=None, distribution_values=None)

As you can see we have STOPS_BEFORE(GEN_STR,'"'),but we got variables={'GEN_STR': 'John"'}
Log
For the above case, I found in the log (picture below) that the program processes the STOP operator in the following order

]
"
,

It seems that the result of STOPS_BEFORE(GEN_STR, ',') overrides the result of STOPS_BEFORE(GEN_STR, '"').

my understanding of this issue
I understand that LMQL orders the STOP operators through postprocess_order. If the stopping_phrase can match an index closer to the beginning, then the STOP statement should be executed later.If my understanding above is incorrect, please correct me.
For the source code in the red box in the figure, I understand that if matched_phrase_index is less than other_matched_phrase_index, then the current stopping_phrase should be processed later to avoid being overwritten by the results of other stopping_phrases. Therefore, would it be more reasonable to change the comparison operator to a greater than sign?
lmql/src/lmql/ops/ops.py

Wow, thank you so much for this very detailed ticket, you've got a great eye and understanding of the code base. I finally found the time to have a closer look myself and you are indeed correct about switching the operator. I just pushed a corresponding fix + unit test in https://github.com/eth-sri/lmql/commit/139b5e6d55dd4dff8e26d640219d2c0a68f65e6e.
Again, thanks a lot :)


Isolate name in the call stack shown as main in vs code

Whenever I try and run the example code, the call stack found in the debug panel shows it being main and not the isolate name. Is this on purpose? I tried using the inbuilt Isolate.spawn and it does show the method name in the call stack. Is there a way to programmatically check if the method to be called in the isolate is indeed being called from the isolate or the main thread?

Frankly, now that this plugin is no longer necessary because, starting from Flutter 3.7, isolates and even background isolates can directly use plugins, I didn't pay attention. I guess I'd need to mark it obsolete... Although, the "handler" part still has advantages.

There's this function in FlutterLocalNotifications plugin that cancels all scheduled notifications _flutterLocalNotification.cancelAll();. Whenever I try to run this function in either an isolate or on the main, it keeps hanging the UI. I was wondering how this can be resolved


perl530: init at 5.30.0

Motivation for this change
new version
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build perl530
@GrahamcOfBorg build perl530.pkgs.LWP
@GrahamcOfBorg build pkgsCross.armv7l-hf-multiplatform.perl530
@GrahamcOfBorg build pkgsCross.armv7l-hf-multiplatform.perl530.pkgs.LWP

perldevel is to be changed to perl-5.31.0 but it is not supported by perl-cross yet.

@rycee @aanderse @srhb

@volth I hope to be able to test this in the coming week. Thanks!


jquery mobile interference

after implementing the slider i am having issues with jquery mobile triggering tap evens while sliding, thanks for the help in advance

Would be good to see live example or JSFiddle

Thanks but choose to use framwork7 instead jquery has to many issues .
_____________________________
From: Vladimir Kharlampidi<EMAIL_ADDRESS>Sent: Saturday, June 6, 2015 8:09 AM
Subject: Re: [Swiper] jquery mobile interference  (#1305)
To: nolimits4web/Swiper<EMAIL_ADDRESS>Cc: Keenan1<EMAIL_ADDRESS>Would be good to see live example or JSFiddle
—
Reply to this email directly or view it on GitHub.


Firefox sometimes blocks the JupyterLab iframe

This seems to only happen if the policies are set too strict.
Someone had this issue on Firefox (68.10) on Windows (10). The error was

Content Security Policy: « x-frame-options » ignored due to « frame-ancestors » directive.

Using Chrome fixed it, but we can try to be as well behaving as possible when it comes to content policies (we are serving from a single nginx proxy after all).

I can't seem to reproduce this and the issue has been stale for a while.


[Question]: KnowledgeGraphIndex, FAISS and gpu search

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I suppose this is a question about the nature of a KnowledgeGraphIndex. What is it's structure and can such an object be stored as a FAISS datastore and then searched on the gpu?
How does a KnowledgeGraphIndex encode triples (head, relation, tail)? Is it as triples of vectors or as vectors?
Ideally, I would like to use the graph structure to find the k nearest neighbors. Can we use the faiss.knn_gpu function?

Can I also train LlamaIndex on a new data set to generate a KnowledgeGraphIndex?


Suggestion: Add option to remove hidden state and banked value on attack

Ideally when ever a character that is hidden attacks (or any other action that breaks stealth) it would be awesome if the banked stealth value would reset to 0 and the status of hidden be removed.
I understand this may be tricky but if you could make it work.. that would be awesome.

I understand the desire but getting that right it outside the scope of this module. I will leave it to midi-qol and the like to figure out when to drop the hidden/hiding condition. When it drops, the banked value will drop with it.

Understand.. still a very cool module! Thanks!


Dealing with skops persistence protocol updates

~This PR is a POC that is intended as a basis for discussing how we can deal with updating the skops persistence protocol.~
This is a working implementation that shows one way to deal with updates in the skops persistence protocol in a backwards compatible manner that should, hopefully, scale.
As an example, the update to how functions are persisted is rolled into this PR to show that it works. Therefore, this PR supersedes #320.
Problem description
The problem in general occurs if we make a change to the state that is stored with an object. For instance, we could store an additional field. When we try to load old state without that key, there would be an error. Therefore, we have to somehow adjust our loading code to deal with this possibility.
Rejected solution
We want to avoid having a bunch of conditionals in our loading code that checks what protocol is used and then does this or that thing. This approach would become messy and error prone quite quickly, because we intend to support old protocols for a very long time.
Proposed solution
This proposal here would allow to write a clean implementation of the new deserialization code without regard for backwards compatibility. The old code, however, would not be deleted but instead moved to a different module and registered with its old protocol number. Then, while loading, we would check the protocol stored in the schema and use the old code if there is a match for it. If there is no match, we assume we can safely use the current protocol instead. For this to work, the key used for mapping the state to the loader is changed to be the tuple (loader, protocol), instead of just the loader, as has been the case so far. This is a hopefully transparent way to "dispatch" on both the loader and the protocol.
This is just a draft and I haven't tested it on a real example. If we agree that this is the way forward, I would expand on it and test it properly. But first we should agree that this is the way to go and check if there are no problems with this approach.
Description of the mechanism for changing the protocol
Below are the instructions with how to deal with a change in protocol:
Every time that a backwards incompatible change to the skops format is made for the first time within a release, the protocol should be bumped to the next higher number. The old version of the Node, which knows how to deal with the old state, should be preserved and registered. Let's give an example:

There is a BC breaking change in FunctionNode.
Since it's the first BC breaking change in the skops format in this release, bump skops.io._protocol.PROTOCOL from version X to Y.
Move the old FunctionNode code into skops/io/old/_general_vX.py, where 'X' is the old protocol.
Register the _general_vX.FunctionNode in NODE_TYPE_MAPPING inside of _persist.py (on top of registering the current version).
Write a test in test_persist_old.py that shows that the old state can still be loaded.

Now, if a user loads a FunctionNode state with version X using skops with version Y, the old code will be used instead of the new one. For all other node types, if there is no loader for version X, skops will automatically use version Y instead.
@skops-dev/maintainers RFC

Other than adding some docs in the _general_v0.py and some tests to check for old protocol, I think this looks perfect.

One way to go about that would be that I wrap #320 into this PR and have the old + new FunctionNode code as a test case.  WDYT?

adding #320 here sounds good to me.

@skops-dev/maintainers Despite the best efforts of codecov and rtd, I managed to get CI green. Ready for review.

I'm feeling much better about our persistence now :)


kotlinx-cli is effectively unmaintained

kotlinx-cli](https://github.com/Kotlin/kotlinx-cli
This library is obsolete
It is effectively unmaintained. Please consider using other libraries.

Thanks! kotlinx-cli was present only temporarily - I thought I could control vaadin-boot via cmdline but every app needs are different, so the idea was ultimately scrapped. Please see #12 for more details. Therefore, there should be no dependency on kotlinx-cli - if there is, please let me know where exactly it's pulled in, so that I can remove it.

The kotlinx-cli has been removed from the project, closing this ticket as won't fix.


WIP: Add github actions

You forgot to remove the file ext commit from this pr. But I don't quite understand what the github action thing serves for repro?

I'm not sure why github doesn't pick up the workflows in this PR, I've tested them in my own repo.
The first action just runs make, the other one takes a list of packages and github actions then downloads and test-rebuilds that package.


The interface is not displayed in the system language （我的Vue Cli Ui界面变成了英文）

Version
3.1.1
Node and OS info
node v8.12.0 / npm v6.4.1 / MAC OS 10.14
Steps to reproduce
在命令行中输入 ：vue ui
Enter on the command line：vue ui
What is expected?
当我打开Vue-Cli 的UI 界面时，显示中文界面
When I open the UI interface of Vue-Cli, the Chinese interface is displayed.
What is actually happening?
显示为英文
Displayed in English

我用 VUE-cli 3.0.5的时候显示的是中文的，升级到了3.1.1后显示成了英文（升级过程中，删除了之前版本的VUE），且不知道在哪里可以调整配置文件。
When I use VUE-cli 3.0.5, it is displayed in Chinese.
ClientAddonLoader.vue:38 [UI] Loading client addon org.vue.widgets.client-addon (/_addon/org.vue.widgets.client-addon/index.js)...
LocaleLoader.vue:31 [UI] Locale en updated with new strings
LocaleLoader.vue:31 [UI] Locale en updated with new strings
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-webpack-components-dashboard component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-webpack-components-analyzer component
ClientAddonApi.js:53 [ClientAddonApi] Registered new routes under the /addon/org.vue.webpack route
ClientAddonApi.js:65 [ClientAddonApi] Registered new strings for locale en
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-welcome component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-kill-port component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-plugin-updates component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-dependency-updates component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-vulnerability component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-vulnerability-details component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-run-task component
ClientAddonApi.js:23 [ClientAddonApi] Registered client-addon--org-vue-widgets-components-news component
dashboard:1 GET<EMAIL_ADDRESS>net::ERR_CONTENT_DECODING_FAILED 200
i18n.js:49 [UI] No locale data was found for your locale zh.
i18n.js:53 Uncaught (in promise) TypeError: c.a.createTimeago is not a function
    at i18n.js:53
    at x (runtime.js:62)
    at Generator._invoke (runtime.js:296)
    at Generator.e.(anonymous function) [as next] (http://localhost:8000/js/chunk-vendors.1d136f45.js:16:31966)
    at r (asyncToGenerator.js:3)
    at a (asyncToGenerator.js:25)

It's network error when fetching<EMAIL_ADDRESS>maybe no network, dns error or firewall problem. Anyway, this can be improve with local locale..

Thanks, the problem is solved. Now that Chinese is normal, I upgraded vue cli from 3.1.1 to 3.1.3. The magic happened and the problem was fixed automatically. Although I don't know what happened.

我升级到了 3.1.3
@sodatea


Add instance name to Socket list command

Close #260.

Codecov Report

Merging #329 into master will decrease coverage by 0.04%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #329      +/-   ##
==========================================
- Coverage   32.79%   32.75%   -0.05%
==========================================
  Files          87       87
  Lines        2497     2497
  Branches       10       10
==========================================
- Hits          819      818       -1
- Misses       1677     1678       +1
  Partials        1        1