Check against payloads with version ids that do not match context version id

1. Why is this change necessary?
There is a plugin in the community store that clones an entity and updates the cloned entity with a payload that still refers to the live id but has a clone version id in the context. This is actually the plugins fault and I contacted the manufacturer about it. We cool. But how to prevent this early on?
Now the existence prefetch ONLY LOADS EXISTENCE WITH CONTEXT VERSION ID see here. But the existence checks VALIDATE EXISTENCE WITH PAYLOAD VERSION ID. So we have a conflict there resulting in a mismatch of "Do I need to update or create?".
I see two ways to fix:

Trust the payload. Prefetch with the payload version ids is easy to do, not that bad actually, but as Shopware expects at a lot of places to expect the version id in the context is right, we should not go this way.
This PR to trust the context. And if the context goes: well we have this version id, then I

2. What does this change do, exactly?
Checks whether version ids are given in payload and flip tables, when they do not match the context version id.
3. Describe each step to reproduce the issue or behaviour.

Clone an entity to get a new version id
Use payload with live version id to run an update in a version scoped context
Get an exception that you run update but Shopware tries to insert
Look into DB with values from the payload
They exist. Why does Shopware THINK IT NEEDS TO CREATE?!

4. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

5. I need feedback
What does Shopware think about that? Am I approaching the issue correctly? I know, tests missing, changelog missing, exception looks like an untested IED. But I don't know what to do with it? If this plugin can fail, anyone working with the API can fail.

I received feedback (see comments). I improved deprecation message, added a test for the removal, added a changelog. I did not add a test for the feature check because I don't know how to test it. It is also now very unlikely to happen due to the removal. Anyway this is wrong and needs to be validated and therefore it should stay there.

Rebased and solved the given remarks

Please have a look at the tests that failed in the pipeline. These changes should be behind the major feature flag v<IP_ADDRESS>, since they seem to be breaking. If the tests are expected to fail after the feature flag would be removed, you may skip them accordingly: Feature::skipTestIfActive('v<IP_ADDRESS>', $this);

I will close this PR as it's inactive for a while.
Feel free to create a new one


Missing Transactions History and UTXOs

I downloaded sparrow on one computer and set up a new wallet configuring it on electrum private server. I downloaded sparrow on a second computer and am trying to restore/retrieve my sparrow wallet on my second computer. I have tried to import the wallet to my second computer using the original sparrow wallet password and 12 word passphrase. The sparrow wallet on the second computer shows no transaction history or UTXOs, even though I have had several received UTXOs from prior transactions on wallet on computer 1. I have only recieved transactions and never sent any sats from my sparrow wallet. Why no transaction history or UTXO balances showing in my restored wallet? Thanks.

75% chance you entered a passphrase differing from the one of the original wallet (compare the fingerprints of each wallet to see if they're the same) or a 20% chance there's an error retrieving the wallet from your server (connection issues)

Good advice.
Closing this off, please use https://t.me/SparrowWallet for support (and not Github).


Tiny toolbar covering the content

Describe the bug
Missing the text since it floats up over the display area

@lunchin may need to add an issue to the CMS UI team?

Packages updated.


Adding the glow effect Centrifuge

In the new version of gregtech, the glow effect of the dashboard mechanisms has appeared. It is necessary to make changes for correct display

The glow effect of the control panel of this machine is not required


Error - no kind "ClientConfig" is registered for version "authentication.gke.io/v2alpha1" in scheme "pkg/runtime/scheme.go:100"

After loading kind:ClientConfig yaml, we see below issue:
Below is the code(with invalid kubernetes cluster URL - 10.xx.xx.xx sitting in google cloud) :
package main

import (
	"fmt"

	"k8s.io/client-go/kubernetes"
	"k8s.io/client-go/tools/clientcmd"
)

func NewK8sClient(masterUrl, kubeconfigPath string) (kubernetes.Interface, error) {
	// use the current context in kubeconfig
	fmt.Println("NewK8sClient() - Invoke BuildConfigFromFlags()")
	config, err := clientcmd.BuildConfigFromFlags(masterUrl, kubeconfigPath)
	if err != nil {
		return nil, err
	}

	// create the clientset
	return kubernetes.NewForConfig(config)
}

func main() {
	fmt.Println("main() - Invoke NewK8sClient()")
	clientSet, err := NewK8sClient("https://10.xx.xx.xx:443", "./conf.yaml")
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(clientSet)
}

to recognize kind:ClientConfig config yaml(./conf.yml) for authentication:
kind: ClientConfig
apiVersion: authentication.gke.io/v2alpha1
spec:
  name: dev-corp
  server: https://10.x.x.x:443
  certificateAuthorityData: ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  authentication:
  - name: oidc
    oidc:
      clientID: aaaaad3-9aa1-33c8-dd0-ddddd6b5bf5
      clientSecret: ccccccccccccccccc-
      issuerURI: https://login.microsoftonline.com/aaaa92-aab7-bbfa-cccf-ddaaaaaaaa/v2.0
      kubectlRedirectURI: http://localhost:12345/callback
      cloudConsoleRedirectURI: http://console.cloud.google.com/kubernetes/oidc
      scopes: offline_access,profile
      userClaim: upn
      userPrefix: '-'
      groupsClaim: groups
  preferredAuthentication: oidc

Below is the error:
$ go run main.go
main() - Invoke NewK8sClient()
NewK8sClient() - Invoke BuildConfigFromFlags()
error loading config file "./conf.yaml": no kind "ClientConfig" is registered for version "authentication.gke.io/v2alpha1" in scheme "pkg/runtime/scheme.go:100"
<nil>
$

As mentioned here:
kubectl and other Kubernetes clients require an authentication plugin, gke-gcloud-auth-plugin, which uses the Client-go Credential Plugins framework to provide authentication tokens to communicate with GKE clusters.
So, we are using client-go library, in the  above code: https://github.com/kubernetes/client-go

How to decode kind:ClientConfig config yaml for authentication(OIDC based authentication)?
Just to add more info... kind:Config config yaml is working, which is certificate based authentication(not OIDC based authentication)

@fisherxu @sttts
Please provide some inputs on the usage of kind:ClientConfig yaml that provide OIDC based authentication information

Unfortunately, I'm not familiar with that apiVersion / kind... BuildConfigFromFlags expects to deal with kubeconfig files, which have apiVersion: v1, kind: Config


Video writing with supervision

@AyushExel currently, video reading from supervison does not support batch operation. So making changes for video saving only.
ref: https://supervision.roboflow.com/latest/utils/video/#supervision.utils.video.get_video_frames_generator

Have you tested this manually? Could there any perf. slowdowns due to this? If not, I'll merge this

@AyushExel I haven't tested it atm. I will do it tonight.

@AyushExel Found issue in model name, difference between - and _ in release checkpoint.
Failed to download dfine-n.pth: 404 Client Error: Not Found for url: https://github.com/ayushexel/trolo/releases/download/0.1.1/dfine-n.pth

@hardikdava its most like a verbose logging issue. It should check for both - and _ variants so the code should work even after this error. Or does it not work for you at all?

Small glimps of saved video
https://github.com/user-attachments/assets/bcd2694a-8fc9-4510-8c4f-a6cd8b1316b1

@AyushExel This PR ready to review.

Awesome! Is it ready to be merged?

@AyushExel Yes


RFC: Your PGV Wishlist

The team at @bufbuild are excited to begin maintaining PGV.
This project fills a huge gap in the protobuf ecosystem and deserves careful stewardship. As a company, our incentives are well-aligned with the PGV community's. We want protobuf to be feature-complete and easy to use for personal projects, tiny startups, and giant megacorporations alike, because wider protobuf adoption increases the market for our paid schema registry product. We will take care not to break existing PGV users, and we can devote enough time to the project to clear out the issue backlog and possibly support additional languages. We will, of course, keep everything under an Apache 2 license.
We appreciate the PGV community's continued paitence whilst we iron out a detailed transition plan and thank the @envoyproxy team for all that hard work they've put in to date.
Right now, we want to hear from you - What do you want to see from PGV? What major bugs have you run into and would like to see fixed? Or better yet, what have you already fixed that you'd like merged?
[UPDATE]: Announcing protoc-gen-validate v1.0 and our plans for v2.0

would love to see ruby support!

Some more color on the Ruby ask by Sarah. We use protobuf schemas heavily at Chime in general, and have lots of Ruby on Rails services that we actively want to move to Protobuf + Twirp. Autogeneration of parameter validation code will really DRY-up our APIs and help with better documentation too by making the semantic rules explicit. We'd greatly appreciate you prioritizing building support for Ruby in this tool. Thank you for taking ownership of PGV and really excited about its evolution!

I would love to see issue https://github.com/envoyproxy/protoc-gen-validate/issues/74 resolved.

IMO the most upvoted issues is a good start.

Not having all valid issues closed without any resolution, since those were wishes. 😝

Should or could we re-open specific issues that had good context and we're good wish list items, for example: https://github.com/bufbuild/protoc-gen-validate/issues/405

Hi everyone! This is my fault, after recently taking over maintenance of PGV with 100 issues and 30 open PRs, trying to get a grasp of the current state of the project has been tricky and after a month of fixing various bugs, some tickets I thought were stale or resolved may have been caught up in the mix.
I'll go back the issues I closed a reopen any that stand out. If i miss any, please don't hesitate to reopen any of particular interest yourself.
But this is a good thing, whilst jagged, all of this helps me and the team develop a deeper understanding of where the project should go and where we should focus our attention immediately.

Node, Deno Support
If connect-node and PGV can be combined, great!

Swift support 🙏🏻

I would love to see official plugin for buf and more string rules such as alphanumeric etc. Thank you for your hard work! Love the project <3

Better structure for validation errors. When validation fails on a deeply-nested message instead of a massive string it'd be great to see JSONSchema-style errors with structure that can be handled by client code.

Combined validations. E.g. if name = John, then age must > 50. Silly example, but it explains the idea.
message Person {
  string name = 1;
  int32 age = 2;
}

Real world example , we have an enum that determines whether this repeated should have size 1 or not.

Custom error message!!!

make it possible to have a validation rule on both map keys and values. currently, only one of them is honored.
typescript support, ideally so it can be used in combination with connect-web and/or ts-proto.

I would like to be able to generate a JSON schema that includes validation rules specified using validate.rules.
Some options I can thing of:

Generate some language neutral output that can be used from protoc-gen-jsonschema
Change protoc-gen-jsonschema to understand the rules specified with validate.rules.
Change protoc-gen-validate to generate JSON schema.

None of these options are great though. Would like to know what others think.

I would like to be able to validate a stream of protobuf messages using protoc-gen-validate  annotations without writing some custom code.

Export of validation rules to JSON-schema is the most needed feature in my opinion. I would like to use this so that front-end developers get the validation rules from the proto, and not duplicate them themselves.

@elliotmjackson any timeline for new release?

@aucampia I'd be open to supporting this in protoc-gen-jsonschema for sure

Hello everyone!
I am excited to announce the release of protoc-gen-validate (PGV) v1.0! After half a decade of being labeled “alpha,” we’ve decided it’s time to promote PGV to v1.0, ensuring stability for all current workflows. 🎉
But that’s not all! We’re also announcing the imminent release of the future of validation: v2.0 of PGV, soon to be known as protovalidate. This new version, with its first release candidate coming in early June, will be based on Common Expression Language (CEL) and provide a much better foundation for validation going forward. :rocket:
In our latest blog post, we reflect on PGV’s history, discuss its limitations, and give you a sneak peek into the exciting features we’re working on for protovalidate. Check it out here: Announcing protoc-gen-validate v1.0 and our plans for v2.0
As always, your feedback is invaluable to us. So please, take a moment to read the blog post and let us know your thoughts. Feel free to share your ideas or feature requests in this wishlist GitHub issue.
Thank you for your ongoing support, and we look forward to hearing from you as we continue to shape the future of Protobuf validation together!

In terms of feature requests/wishlists, have you given any thought to message-level rather than field-level validation?  For example, google.type.Date says:
// This can represent one of the following:
//
// * A full date, with non-zero year, month, and day values
// * A month and day value, with a zero year, such as an anniversary
// * A year on its own, with zero month and day values
// * A year and month value, with a zero day, such as a credit card expiration
// date

It would be nice to be able to write a message option to express/enforce this, e.g. (year > 0 && month > 0 && day > 0) || (month > 0 && day > 0 && year == 0) || (year > 0 && month == 0 && day == 0) || (year > 0 && month > 0 && day ==0).

Validation rules on methods!
Without this, it makes it really hard to define validation rules on messages that are intended to be shared between more than one endpoint, even if said messages only form part of a request.
Validation transferral
Really just throwing this idea out there. I would like the ability to say "Copy the validation rules from {name}", where name is the symbol of a proto message, eg: foo.bar.v1.Message.field.

A way to provide sample values would be great.  These are useful for e.g. generating sample code snippets for APIs.
Arguably this is beyond the scope of validation, but on the other hand it does feel somewhat related, in the sense that the sample values should certainly pass the validation rules (and an API linter might want to validate such a thing).

Our team would love to have support for the C#/.Net ecosystem
gRPC and proto files are cross-platform and supported in many languages but, so far, PGV does not support C# despite being one of the most popular languages.
Having PGV support C# would greatly help in making gRPC a modern alternative to SOAP when it comes to interoperability across technical stacks for services that needs to be defined with rich data validation rules like it is possible in XSD for SOAP.

This is great news! Some ideas I've been chewing on:

Some sort of ternary logic similar to SQL check constraints where evaluating a null (missing field) is ignored.

Define validation on methods, messages, and fields. Defining validation on methods and messages supports cross-field validation.

An optimizing expression compiler. A validation like val > 10 should compile into an if statement. Alternately, use reflection to keep generated code size down.

Support custom CEL methods.

Support #74

python support pydantic

We'd benefit from C#/.NET support at Roblox as well.

That looks promising !
I had a similar approach in my protoc-gen-cel-validate validation plugin built around CEL. Here are some features that I was able to implement and that might be useful here:

Add the possibility to validate nested messages from CEL directly
Support partial validation functions, with something like fieldmasks
Support function overloads (registering functions in the CEL runtime from code)
Having a way to reuse CEL constants / variables / functions to avoid duplication

dart + typescript support 🙏

Required validation for scalar types
https://github.com/bufbuild/protoc-gen-validate/issues/745

Hi Everyone! 🎉
Exciting times! Protovalidate's beta release for Go is now out! We’re making strides with C++, Java, TypeScript, and Python implementations too.
As we’re in beta, your feedback is critical to shape protovalidate. Please, give it a whirl and share your insights and suggestions. Your support is invaluable in this phase.
Thank you for your ongoing support, and we look forward to hearing from you as we continue to shape the future of Protobuf validation together!

This is fantastic! Congrats for this milestone! 💪🏻💪🏻
Just one question, where should I raise issues about the way of defining expressions/validation that are not tied to specific language? I have a question about why not infer the id in cel expressions.
Keep up the good work!

Hey @glerchundi! Design discussions around protovalidate will get the most coverage in their issues. Would love to chat about decisions and explore other options there!

For the .NET users out there, I just provided a starting point C# implementation of CEL.  I don't expect to be able to maintain this, but I'm happy for someone else to pick up where I left off.  The README describes the known gaps (and there may be unknown ones).  @Alfus FYI

Now that the following runtime implementations of protovalidate can be found in their own repositories, I'm going to close this issue.

Go: protovalidate-go (beta release)
C++: protovalidate-cc (beta release)
Java: protovalidate-java (beta release)
Python: protovalidate-python (beta release)

I'd like to thank everyone here for getting involved and letting us know what your wanting out of protobuf validation. Its because of you that we made some of the decisions that shaped protovalidate into what it is today. For that, we are grateful.
I've gone through the comments here and tried to create somewhat of a summary. If i have missed your suggestion, this was not intentional please feel free to open a feature request over at protovalidate.
Features we support in protovalidate today:

Better structure for validation errors
Combined validations
Custom error messages
Validation rules on both map keys and values
Ternary logic for null evaluation in validation
Define validation on messages and fields
Custom CEL methods
Validate nested messages from CEL directly

Features we will consider support for in the future:

Reuse CEL constants, variables, and functions #51
TypeScript support #67
Ruby support #68
C# support #74
Swift support #71
Validation rules on methods #72

Features we don't currently plan to support or don't have a clear path to support:

Generate JSON schema with validation rules
Export validation rules to JSON-schema
Sample values for validation rules
Optimizing expression compiler
Python support with pydantic

Thank you again and hope to see your handles over at the new project.

For the .NET users out there, I just provided a starting point C# implementation of CEL.

Another CEL implementation for C# is here.


[release-1.9] istioctl verify-install: fix empty revision

This is an automated cherry-pick of #30613

@googlebot I consent


fix #187 - Remove extra comma when deleting sequence item.

At a higher level the problem is that, when we have a a sequence of comma separated items in our grammar (like - arguments, parameters, enum constants), Piranha fails to cleanup the associated , resulting in an incorrect tree.
This PR fixes this problem, by handling the error using a strategy that deletes the extra comma.
Before the PR :
enum XTestExperimentName {
    STALE_FLAG,
    SOME_FLAG
}

to
enum XTestExperimentName {
   , SOME_FLAG
}

Note this is an incorrect syntax tree.
After the PR :
enum XTestExperimentName {
    STALE_FLAG,
    SOME_FLAG
}

to
enum XTestExperimentName {
   SOME_FLAG
}

Note the extra , has been removed.

Merging the PR.


Fix argument name for ArugmentNullException

Description of Change

Fixed a typo in the event name passed to ArgumentNullException.

@xin9le: Your kindness will improve the development experience for others who would have been confused by a mistake that we made.  It may not have been a difficult change, but it will have a wide impact.   Thank you!


chore: use mintPayments instead, also linted

Not yet tested

manual tests passed, will merge

Thanks for testing!


Validate email adresses

What's the problem this feature will solve?
When you go to the PyPI project page (example page), you can see "Author" and "Maintainer" with an email address. There are two potential issues:

Typo: The address is wrong and nobody notices. People cannot contact the maintainer.
Malicious: The author / maintainer might be used as an indicator if one can trust the package. For example, an<EMAIL_ADDRESS>I would trust the package not to be malicious.

At the moment, I can just enter any Author / Maintainer.
Describe the solution you'd like
When a package is uploaded and the author / maintainer data is extracted, one could send the mail addresses a confirmation email. If they confirm, PyPI adds a checkmark next to it. As a tooltip-text, there should be something like this:

The uploaded email address was confirmed. However, the name was not automatically checked!

The is for sure a better phrasing.
Additional context
This feature request is similar to https://github.com/pypa/warehouse/issues/8462

Thanks for the feature request! This shoulds like an interesting idea.
Another thing we could do is determine if the email provided is already associated with any of the maintainers/owners of the project, since PyPI allows multiple emails to be associated with an account. That way we can just reuse the existing validation flow.

I would like to work on this issue.


1.10.2 - Electric Pump (Mekanism) will not send water via Fluid Conduit (Ender IO)

Issue Description:
Ender IO's energy conduit will connect to all machines needed for tier 2 ore processing and the electric pump (haven't tried anything else yet). Ender IO's Fluid Conduit (also tried Pressurized and Ender Fluid Conduits with same results) will seemingly connect to the Mekanism Electric Pump but no water will be transfered (with a complete line or without). The same configuration with a Mekanism Basic Mechanical pipe will transfer water.
What happens:
When Ender IO's Fluid Conduit is connected to the Mekanism Electric Pump no water is transferred.
What you expected to happen:
Water be transferred from the Mekanism Electric Pump through the Ender IO's Fluid Conduits.
Steps to reproduce:

Hook up Ender IO's Fluid Conduit to a Mekanism Pump

Affected Versions (Do not use "latest"):
MC: 1.10.2
Forge: <IP_ADDRESS>3
Mekanism + Generators + Tools: <IP_ADDRESS>0
Ender IO: <IP_ADDRESS>_beta
Ender Core: <IP_ADDRESS>-beta
Your most recent log file where the issue was present:
Manually crashed game for the following report
https://gist.github.com/viper2g1/573a98d3d78c7b52a66fbe98546c32b1

https://github.com/aidancbrady/Mekanism/issues/3710

No problems here, it was user error :(


[webview_flutter] Video plays inline when allowsInlineMediaPlayback is true stopped passing

This test was added in https://github.com/flutter/plugins/pull/3334, but it doesn't seem to pass in https://github.com/flutter/plugins/pull/3342
I have disabled this test temporarily.
Logs: https://api.cirrus-ci.com/v1/task/6645013176123392/logs/build.log

Dumb question: How do I run this test locally? :)

https://github.com/flutter/flutter/issues/73768#issuecomment-813611070 probably because of this


Header Hierarchy Jump on Catalog Import Page

Expected Behavior
The header tags should go in order of H1 to H6. In the catalog-import page, the infocard title should be encapsulated in an
, and the text headers under it should use

Actual Behavior
The infocard text uses h6 and breaks header hierarchy.
Steps to Reproduce
go to the

In a vanilla Backstage instance, go to the /catalog-import page
You can inspect the "Link to an existing entity file" text or the "Link to a repository" text and you will see that they are

Context
This is an accessibility issue where headers should go in incremental order.

Created a PR to fix the header hierarchy while keeping the same existing style https://github.com/backstage/backstage/pull/11622

Closing as merged


Invoice repository to follow sylius standard

Invoice repository should be called by sylius_invoicing_plugin.repository.invoice not Sylius\InvoicingPlugin\Repository\InvoiceRepository

Hello Vytautas!
See https://github.com/Sylius/InvoicingPlugin/issues/95#issuecomment-465188860 and let me know what do you think.

Hello @tautelis !
How do you want to proceed with this PR?


Support for Webpack bundle (#33)

Support for bundling code with Webpack.
Requirements:

working Node.js environment
working Yarn installation

Gradle build creates additional directories in META-INF directory of JS executor. Requires working Yarn. If not available falls back to current behavior with a warning message.
New input project property bundleType with values:

none (default, no bundling, current behavior)
plain (Webpack processing without optimizations, fast but generates large output)
minimized (Webpack processing with optimizations, generates minimized output but is quite slow)

Thanks for contributing!
But this PR is closed, because there are no plans to support Webpack on Kotlin playground


Detection if gmaps api sdk is already async loaded?

Can we detect if already is google maps api sdk already lazy loaded? I want to (lazy) load gmaps javascript file only first time (when my controller is initialized first time). Every time after that in console i have following error:
You have included the Google Maps API multiple times on this page. This may cause unexpected errors.

Have seen this error with older versions. Can you send me a plnkr so that I can debug it?

tested with this page. https://rawgit.com/allenhwkim/angularjs-google-maps/master/testapp/map-lazy-load.html. it works fine. Unless you provide a plnkr, I may close this later.

Sorry, i used old version (1.4.2)


Quality property

I have this image http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2016/03/1458102922pEaSWms-1024x387.png
Code:
                       imagemin.buffer(buferImg, {
                            plugins: [
                                imageminPngquant({quality: '40-55'})
                            ]
                        }).then(function(file){
                            console.log('Optimize img...: ');

                        })

With other png images this code works, but with this image the flux never end. The code stop and don't enter on .then.
the code work if i remove property quality, but i need  this property. Anyone can help me why this img block my  imagemin code.
Thanks.

I make some tests and realized property quality don't influence image conversion, this property only decide if is generate new image?

Could you try adding a .catch block to see if it errors out somewhere?

I have encountered this problem I used numbers instead of string

Hi, I got the same problem with a few images (and it work fine if I don't set any quality settings).
I tried this:
try {                 imagemin(myImagePath, getParentDirectory(myImagePath), {                     plugins: [                         imageminPngquant({quality: '90'}),                     ]                 }).then(files => {                     console.log(": finished!");                 });             }             catch(err) {                 console.log(err);             }
Have you any idea what can I do to fix this?
Thanks

With a catch I got this:
`Error in file: temp/OPS/widgets/step-slider-oceans-influence-climate/images/NGL_ES_G5_Earth_116-117_poster.png
Command failed: /pathOfMyProject/node_modules/imagemin-pngquant/node_modules/pngquant-bin/vendor/pngquant --output /var/folders/q7/vgqkvn0n62l2rxhbcp_plbx80000gn/T/a66c5775-abee-4163-8b59-d2e2ac88c226 /var/folders/q7/vgqkvn0n62l2rxhbcp_plbx80000gn/T/9f1dd948-b9cd-463b-8d17-9f5c962180e7 --quality 85-90
]
killed: false,
code: 99,
signal: null,
cmd: '/pathOfMyProject/node_modules/imagemin-pngquant/node_modules/pngquant-bin/vendor/pngquant --output /var/folders/q7/vgqkvn0n62l2rxhbcp_plbx80000gn/T/a66c5775-abee-4163-8b59-d2e2ac88c226 /var/folders/q7/vgqkvn0n62l2rxhbcp_plbx80000gn/T/9f1dd948-b9cd-463b-8d17-9f5c962180e7 --quality 85-90',
stdout: '',
stderr: '' }
`

Adjust your quality option. https://github.com/pornel/pngquant#--quality-min-max.


Use a Github friendly Apache 2 License

It has the same legal effects but GH will recognise it and use more user friendly UI for the repo.

Sweet, didn't know that. Thanks very much!


how to programatically trigger or filter a search via a custom function

How can I do a custom search from a method in a vue component, instead of only using the widgets within ?
When I do this:
const search = useMeilisearchClient()
search.search('test')

I get the js error: searchRequest.indexName is undefined
I can't seem to find how to set the index via this method.
How would one do this in Nuxt Meilisearch?:
const client = algoliasearch('YourApplicationID', 'YourSearchOnlyAPIKey');
const index = client.initIndex('contacts');

// Search for "query string" in the index "contacts"
index.search('query string').then(({ hits }) => {
  console.log(hits);
});

Hi @matiyin
Thanks for your questions
two options for you:
1 - you want to use Algolia Vue 3 component lib , so stick to docs
https://nuxt-meilisearch-docs.netlify.app/setting/frontend
2 - you want to do it as raw , without Algolia ...lib
So in nuxt , you can use useFetch with url
OR
use JS client
as explain here https://docs.meilisearch.com/reference/api/search.html#example

HI @matiyin
is it right for you or you need some help ?


kserve v0.11.2 has outdated dependencies

/kind bug
What steps did you take and what happened:
I'm having difficulty installing kserve with poetry:
❯ poetry add kserve
Configuration file exists at /Users/me/Library/Preferences/pypoetry, reusing this directory.

Consider moving TOML configuration files to /Users/me/Library/Application Support/pypoetry, as support for the legacy directory will be removed in an upcoming release.
Using version ^0.11.2 for kserve

Updating dependencies
Resolving dependencies... (3.3s)

Package operations: 19 installs, 2 updates, 0 removals

  • Downgrading protobuf (4.25.1 -> 3.20.3)
  • Downgrading grpcio (1.51.3 -> 1.49.1)
  • Installing attrs (23.1.0)
  • Installing frozenlist (1.4.0)
  • Installing multidict (6.0.4)
  • Installing sniffio (1.3.0)
  • Installing aiosignal (1.3.1)
  • Installing anyio (4.1.0)
  • Installing yarl (1.9.4)
  • Installing aiohttp (3.9.1)
  • Installing h11 (0.14.0)
  • Installing starlette (0.27.0)
  • Installing fastapi (0.95.2)
  • Installing prometheus-client (0.13.1)
  • Installing python-dotenv (1.0.0)
  • Installing python-rapidjson (1.13)
  • Installing uvicorn (0.19.0)
  • Installing uvloop (0.19.0)
  • Installing ray (2.4.0): Failed

  RuntimeError

  Unable to find installation candidates for ray (2.4.0)

  at ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/chooser.py:73 in choose_for
       69│
       70│             links.append(link)
       71│
       72│         if not links:
    →  73│             raise RuntimeError(f"Unable to find installation candidates for {package}")
       74│
       75│         # Get the best link
       76│         chosen = max(links, key=lambda link: self._sort_key(package, link))
       77│

Cannot install ray.

So what's confusing to me is that the ray dependency in kserve's pyproject.toml is 2.8.0 - so why is it looking for 2.4.0 ??
What did you expect to happen:
It should install Ray 2.8.0  since that is specified in the source code requirements.toml
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
I pulled the tarball from pypi and indeed the dependencies are outated:
ray = { version = "~2.4.0", extras = ["serve"] }
grpcio = "^1.49.1"

Environment:

KServe Version: 11.2.0

OS (e.g. from /etc/os-release): M2 mac

I see what's goin on -- these updates haven't been released yet.
kserve = { git = "https://github.com/kserve/kserve.git", subdirectory = "python/kserve", rev = "c1c5efe" }

That is workaround until the changes get released

So I guess this upgrade to ray hasn't made it into the 0.11.2 release, but I think this is still a problem since we can't install kserve with poetry

Please use the patched 0.12.1 version


Upgrade jaguarjs-jsdoc Template

Forked jaguarjs-jsdoc to @pixi/jsdoc-template which adds a bunch of improvements to the existing docs template:

Fixes bugs in search
Changes colors to match website/examples/etc
Better spacing for improved legibility
Deep-links next to each API
Responsive layout to display better on large mobile devices

Existing Docs: https://pixijs.download/release/docs/PIXI.CanvasRenderer.html

New Template: https://pixijs.download/new-jsdoc-template/docs/PIXI.CanvasRenderer.html

#amaze

Thanks @themoonrat, welcome comment here. I've been working on some tweaks this morning which fixes weird scrolling issues on iOS and a layout for small mobile devices with a collapsable navigation.

Cool, those changes fixed the gripes I had. There's only so much you can do on a portrait mode phone, and those tweaks this morning vastly improves that experience.
A couple of changes I'd like is
(1), seeing whether a member is inherited, or if it's overrides a base class, and
(2) Sort members so that class members are up top, and then anything inherited is listed below. It makes it far easier to see what is unique to the class you are looking at, rather than a sea of inherited container properties.
I'll add a PR for both of those onto the new jsdoc repo, to discuss / add / not add, and approve this in the meantime.


Improving XMLProfiles example [6288]

Allow continuous sending on the publisher, so this example can be used to reproduce communication issues easily.

Build status:

Linux
Mac
Windows

Failing tests are unrelated, as this PR only updates one of the C++ examples.


Support WINDOW clause (reuse OVER window)

Is your feature request related to a problem? Please describe.
https://arc.net/l/quote/hktvlmzf

When a query involves multiple window functions, it is possible to write out each one with a separate OVER clause, but this is duplicative and error-prone if the same windowing behavior is wanted for several functions. Instead, each windowing behavior can be named in a WINDOW clause and then referenced in OVER. For example:

SELECT sum(salary) OVER w, avg(salary) OVER w
  FROM empsalary
  WINDOW w AS (PARTITION BY depname ORDER BY salary DESC);

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

Is this a good first issue?

kindly cc @stdrc in case you are interested and don't know this feature. 😄

kindly cc @stdrc in case you are interested and don't know this feature. 😄

I knew it but I didn't know we have this issue🤣


Build an krte image which uses Go 1.22

/kind enhancement
What this PR does / why we need it:
With this PR we build a version of krte image which uses Go 1.22, so that we can validate Gardener with Go 1.22.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @rfranzke

/lgtm
/approved

/approve


feat: add support for perspectives

Adds support for perspectives to the PHP client.

I ended up here after trying to set up perspectives. Any chance of this getting finalized and merged? I see the docs provide a workaround, but it'd be awesome to have support for this new functionality.

@paulstraw Thanks for the reminder, 1.5.2 is available now, and includes support for perspectives.


After update from 2.0.0 to 2.0.1 jobs not started

grails clean did not help, no errors.
Can I give any information, or else all of this problem?

Apparently stopped working without parameters in the configuration.

The same is for 2.0.3 and 2.0.4. 2.0.1 works incorrectly.

2.0.13 also doesn't start


no shadowing variable warning from vars initialized in loop declaration

Hi, something like this will produce a warning
var x
func foo():
    var x
    x = 3

but this will not
var blahblah = ["blah"]
var x
func bar():
    for x in blahblah:
        x = "Bleh"

I feel like it probably should make the same warning?

@paulmyers-0 When reporting bugs, please fill in the issue template so we can know which Godot version is affected.


Gamecore failed to start on Windows 10 (inner version: 19044.2006)

I have copyed licence.dat to hok_env_gamecore/gamecore/core_assets, thanks for your kindly help on that. Then I add the folder " hok_env_gamecore/gamecore/core_assets" to the system environment variable "PATH" as some dll files needed by sgame_simulator_remote_zmq.exe are stored in the folder core_assets.
There is no directory named ai_simulator_remote in hok_env_gamecore folder.  I do nothing here.
Then I start the gamecore by first "cd hok_env_gamecore/gamecore", and then ".\sgame_simulator_remote_zmq.exe "2022" .\sgame_simulator.conf"
I get the following output on my screen:
PlayerNum:2
AbsPath:./1V1.abs
PlayerInfo [CampID:0][HeroID:146][Skill:80121][AutoAi:0][AiServer:<IP_ADDRESS>:35300:1000] [Symbol 0 0 0] [Request:-1]
PlayerInfo [CampID:1][HeroID:146][Skill:80121][AutoAi:0][AiServer:<IP_ADDRESS>:35301:1000] [Symbol 0 0 0] [Request:-1]
SGame Simulator Begin
init_ret:0
seed: 3417
Symbols:
inHeroId: 146
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
inHeroId: 146
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
start_ret:0
Hero[0] inHeroId:146; outPlayerId:148
Hero[1] inHeroId:146; outPlayerId:149
frame no:0
begin_ret:0
[Hero Info] [HeroID:146] [RuntimeID:8] client_id:<IP_ADDRESS>_1859_0_20221003174931_148
[Hero Info] [HeroID:146] [RuntimeID:9] client_id:<IP_ADDRESS>_1859_0_20221003174931_149
zmq socket init success
addr: tcp://<IP_ADDRESS>:35300
zmq socket connect success
recv failed2: -1

The zmq socket for the second hero failed to start. Then I changed the port 35301 written in .\sgame_simulator.conf  to some other ports (in order to avoiding port confliction),  the gamecore still print the same error messages.
Do you know what is wrong here, and how can we fix the above issue?

I had the same problem .I run ".\sgame_simulator_remote_zmq.exe "2022" .\sgame_simulator.conf" in the powershell locally and get "recv failed2: -1". How to solve this problem

I am having the same problem here and I would suggest an updated README.md, which would be a great help.
Further to hongyangqin's reply, I wonder where do I start the mentioned simulator ?

I had the same problem .I run ".\sgame_simulator_remote_zmq.exe "2022" .\sgame_simulator.conf" in the powershell locally and get "recv failed2: -1",and I have copyed licence.dat to hok_env_gamecore/gamecore/core_assets,  Then I add the folder " hok_env_gamecore/gamecore/core_assets" to the system environment variable "PATH" .the begin_ret:0 shows that the license.dat worked.I would like to ask for your help in solving this problem，You can also suggest some suggestions that might work。Thank you for your help on hok-env.
My input command line is shown below
PlayerNum:2
AbsPath:./1V1.abs
PlayerInfo [CampID:0][HeroID:146][Skill:80121][AutoAi:0][AiServer:<IP_ADDRESS>:35300:1000] [Symbol 0 0 0] [Request:-1]
PlayerInfo [CampID:1][HeroID:146][Skill:80121][AutoAi:0][AiServer:<IP_ADDRESS>:35301:1000] [Symbol 0 0 0] [Request:-1]
SGame Simulator Begin
init_ret:0
seed: 3417
Symbols:
inHeroId: 146
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
inHeroId: 146
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
start_ret:0
Hero[0] inHeroId:146; outPlayerId:148
Hero[1] inHeroId:146; outPlayerId:149
frame no:0
begin_ret:0
[Hero Info] [HeroID:146] [RuntimeID:8] client_id:<IP_ADDRESS>_1859_0_20221003174931_148
[Hero Info] [HeroID:146] [RuntimeID:9] client_id:<IP_ADDRESS>_1859_0_20221003174931_149
zmq socket init success
addr: tcp://<IP_ADDRESS>:35300
zmq socket connect success
recv failed2: -1
（My system version：WIN11 Pro version 21H2）

I am having the same problem here and I would suggest an updated README.md, which would be a great help.
Further to @hongyangqin 's reply, I wonder where do I start the mentioned simulator ?

I have the same problem..... Sorry for not knowing what's the mentioned simulator. @hongyangqin

We commit a fix this week, please retry.

We commit a fix this week, please retry.

The recent updates seemingly only involves updates in README.md. Retrying according to new instructions does not help. It still yields outputs including recv failed2: -1 as this issue's original poster reports.
Recalling previous replies in this thread, @hongyangqin mentioned something called simulator. My appreciation if maintainers could elaborate more over this matter. Like, Is simulator openly available? It is no where to be found in this repo at the moment.

We commit a fix this week, please retry.

yeah same issue here. Tried with the latest gamecore downloaded from https://aiarena.tencent.com/aiarena/en/open-gamecore. But still getting recv failed2: -1

Mark+1. I find that when I choose the "sgame_simulator_common.conf", it can work successfully.

@liyuxuan-academic @TownYan https://aiarena.tencent.com/aiarena/en/open-gamecore

@hongyangqin

Upon running this command, my system (Win10 21H2 19044.2251) shows the problem.
Please update the README.

We commit a fix this week, please retry.
Sorry, I still met this issue:
Read Conf file Error: .\sgame_simulator.common.conf
Error,Parse Simulator Conf -2
BTW, please @hongyangqin  update the README
(there no folder named ai_simulator_remote, maybe named gamecore ???)
Thank you so much.

@Amberjay18 Yes, It is the gamecore. We provide the gamecore-server after this commit.

@Amberjay18 Yes, It is the gamecore. We provide the gamecore-server after this commit.

hi, @hongyangqin
I have resolved this problem!!!thank you so much.
BTW, how I am resolved it as below.

First, I changed the sgame_simulator_remote_zmq.conf.example file content according to docuement, and renamed the file to sgame_simulator.common.conf.
Second,I added the path of gamecore bin,lib folders to the system environment variables.
Third,I started the gamecore-server.exe in the CMD before go ahead to gamecore bin folder.

Maybe this solution not suit for everyone, but you can try.


MSSQL connector supports secure connection between Secretless and target service

Description
MSSQL connector supports configuring secure connection between Secretless and target service
AC:

[ ] The security of communication between Secretless and the target service is configurable via Secretless configuration
[ ] Secure connections between Secretless and the target service can be configured to require verification, similar to how mysql or postgres do but in a way appropriate to mssql

Closed as duplicate of #1032


Tutorial changes

In order to successfully follow along in the tutorial guide (for libxml2), I needed to run export LDFLAGS=-lpthreads before the configure line, otherwise xmllint would fail to run because of a missing pthreads_getspecific symbol (along with others probably).
Additionally, the configure script specifies the disable shared flag should be --disable-shared instead of -disable-shared (two dashes instead of one).
Could you please update the tutorial, so that others can more easily follow along?

Additionally, I needed to install pydot (in addition to pydotplus):
sudo pip3 install pydot

Done. Thanks for pointing this out.


Remove installation/security warnings by using an Extended Validation Code Signing Certificate (MacOS: done, Windows: todo)

https://www.electron.build/code-signing

Status of the Apple certificate progress
The objective is to enroll in the Apple Developer Program as an organization.
For this I need:

[x] an Apple ID with 2FA

originally I tried to bind my primary Apple ID to the DAISY organization, but this wouldn't work since this ID already was registered as an Apple Developer Program account holder (for the now-deprecated Apple Safari Extension Developer Program). Quoting the reply from Apple:

you need to create a new Apple ID or use a different Apple ID for the new company enrollment.
One Apple ID cannot be the Account Holder of two developer programs at one time. Since your Apple ID is already the Account Holder of your individual account it cannot be used for a new company account

I then created a new Apple ID with a daisy.org email address, that I would use to enroll in the ADP as an organization.
I enabled 2FA to this new Apple ID, by linking it to one of my devices.

[x] a D-U-N-S number identifying the organization

“US Fund for DAISY”, the public charity registered in the US for the DAISY Consortium as a D-U-N-S, which I retrieved from the Dun & Bradstreet lookup tool.
the idea is to enroll as “US Fund For DAISY” so that we can be eligible to the non-profit fee waiver (requires to be a non-profit in one of the eligible countries, including the US).

[ ] legal entity status (“Your organization must be a legal entity so that it can enter into contracts with Apple.”)

This seem to currently not be verified. Quoting an email from Apple support:

I was unable to determine the legal entity type of your company because your Dun & Bradstreet (D&B) profile is incomplete.

I filed a case to Dun & Bradstreet to check that our information is complete and see if they can update it. They're supposed to get back to me in 1-2 business days.

[x] legal binding authority (“you must have the legal authority to bind your organization to legal agreements”)

this should be OK, Apple says the application can come from a “senior lead developer” (in addition to the founder, owner, CEO, etc), and of course I got the go-ahead from the executive team at DAISY 😊.
if ever this cause any issue, we can ask Richard to file this for us.

[x] a website

Once DAISY is finally enrolled in the APD as an organization, I will be able to add our Apple ID to it, and to get a certificate.
I'll update this comment as the process moves forward!

Thanks Romain! :)
PS:
s/APD/ADP

Status of the Windows certificate progress
On Windows, according to the electron-builder doc:

To sign an app on Windows, there are two types of certificates:

EV Code Signing Certificate
Code Signing Certificate
Both certificates work with auto-update. The regular (and often cheaper) Code Signing Certificate shows a warning during installation that goes away once enough users installed your application and you’ve built up trust. The EV Certificate has more trust and thus works immediately without any warnings. However, it is not possible to export the EV Certificate as it is bound to a physical USB dongle. Thus, you can’t export the certificate for signing code on a CI, such as AppVeyor.

We'd need to buy a cert from the following authorities, which are trusted by Windows: Symantec, Certum, Entrust, GlobalSign, Comodo, DigiCert. The cost seem to be around 300/400 USD per year.
Certum provides an Open Source Code Signing Certificate which is much cheaper (~30 USD). But I'm not sure it fits our needs. One of the difference with the standard certificate is that the open source one is not "cross-certified by Microsoft". Looking deeper, it seems it doesn't support Microsoft's Authenticode technology. I don't know if it's an issue for us…
Also, the Certum certificates seem to rely on a physical USB token and cryptographic smart card. So it's not ideal in our distributed environment. They do propose cloud-based certificates (a bit more expensive).
For now, I'm asking around if DAISY has any existing certificate plan or services that we could use for Ace.
I'll update this comment as the process moves forward!

For Windows, a USB device is required to transport and authorize the cryptographic information related to the certificate (secure hardware token). The shipping delay may therefore be consequential. Further, using Windows virtual machines in order to build and test the Ace app (which is my current setup / workflow) might be problematic when using a USB crypto key.
Regarding costs, the base price at Certum goes from 25 EUR to 69 EUR due to the need for the hardware device, but this is still reasonably cheap (note that the certificate would only be valid for a year). However, note that a proper EV certificate costs 359 EUR per year at Certum (or a bit less when buying 3 years upfront). Such EV cert would be needed to cover "Deleting the Microsoft SmartScreen Filter® system message" (trust based on instant reputation), otherwise the non-EV certificate (for open-source software) only  "Eliminates system messages like: "Unknown publisher" and "Unsafe software" (trust builds up over time ... I'm not sure how that works in practice).
https://en.sklep.certum.pl/data-safety/code-signing-certificates/open-source-code-signing-1001.html
https://www.certum.eu/en/cert_offer_cert_comparision_cs/

Ah, Romain beat me to it :)
So yes, Certum is not the only option, see:
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-code-signing-certificate
GlobalSign is a ton more expensive:
https://www.globalsign.com/en/code-signing-certificate/microsoft-authenticode/

Both the GlobalSign certificate types appear to offer Azure Key Vault storage options, which presumably would be much faster and would provide the central storage solution we need.
https://www.globalsign.com/en/code-signing-certificate/

Romain, also note that the Ace app will need to pass Gatekeeper on recent versions of MacOS, so there are additional notarization steps in addition to code signing:
https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/
(useful article from early June 2019)

Dave, good point about the Azure Key Vault. However because of 2FA (Two Factor Authentication) I wonder if a mere developer like myself will be able to access the crypto key / code signing certificate "owned" by the DAISY account.

I've not used it before, but I would anticipate access being made available through the O365 credentials - but if it requires more I'm sure we can resolve that.

Another aspect to be aware of: timestamping. We might want to make sure that code signing certificates remain valid after the duration for which they were purchased (1 to 3 years). This way, in the future, even if the Ace app has not been updated for a while (and the cert would normally have expired), users will continue to be able to install the app and use it.

Also note that Lets Encrypt unfortunately cannot issue Code Signing Certificates (OV or EV) due to prioritizing automation in order to be cost effective (i.e. no human verification of identity / trust).
https://community.letsencrypt.org/t/do-you-support-code-signing/370/18

Certum actually provides a cloud-based crypto service which removes the need for the USB secure token. The SimplySign app must be used to operate the system:
https://en.sklep.certum.pl/data-safety/code-signing-certificates/open-source-code-signing-on-simplysign.html

I have contacted Certum. In the meantime, here are some useful reads:
https://markheath.net/post/code-signing
https://blogs.msdn.microsoft.com/ieinternals/2015/01/28/authenticode-in-2015/

The EV certificates cost a little more, but removing the MS smart screen warning is probably worth it when we can then apply the certificate across all DAISY tools. Note the open source certificate linked above is NOT Microsoft certified - so won't achieve the intended objective.
App access to the certificate management might be too restrictive for us to fully benefit from the certificate. Centralised key storage makes a lot more sense for flexible use by a number of people.

The EV Code Signing Certificate is definitely the best option in that regard: instant trust assertion, removal of all warning messages on Windows (SmartScreen when downloading, as well as UserAccountControl when installing). Caveat: this requires a hardware token (i.e. secure USB key provisioning of the crypto package) in order to offer further guarantee that the private information used to sign products cannot be used by unauthorized entities. Consequently, the certificate cannot be exported and used in Continuous Integration scenarios, or in automated build workflows locally on via virtual machines. Certum's product line now provides a cloud authentication service (and a local app named SimplySign) which is meant to be an alternative to the physical hardware device for the purpose of establishing identity. However, I am pretty sure that the same build workflow limitations apply, due to the provisioning method requiring human intervention (I have asked them for clarifications, waiting for reply).
If I understand correctly, the OV Code Signing Certificate (e.g. Certum's "standard" product) removes the UAC "unidentified publisher" warning, but the SmartScreen will continue to be triggered initially, due to trust needing to build-up over a period of time. This is compliant with Microsoft Authenticode for both user-level and kernel-level code. USB hardware token remains obligatory, or in the case of Certum there is the aforementioned cloud-based alternative.
The Certum's "Open Source" Code Signing Certificate seems to be a lightweight version of the "standard" OV Code Signing Certificate, in the sense that it is bound to an individual instead of an organisation, thereby requiring fewer checks to prove identity during the registration phase. I have asked Certum whether or not the user experience is the same as with their "standard" product (with respect to the the SmartScreen and UAC warning messages). There is some ambiguity with regards to the compliance with Microsoft Authenticode too.

A hardware token seems to be required by most providers, with the exception of GlobalSign who support the Azure Key Vault.
The reputation building process for Standard certificates isn't clear, and we risk not having sufficient instances to build the required "reputation".
The challenge with EV will be the time it takes to pass the organization validation process for the certificate to be issued, but the longer term gain is probably worthwhile.

If I understand correctly, the decision-making is about:

deciding on OV vs. EV certificate
deciding on the certificate provider

And then each point can be broken down in smaller decisions:

deciding on OV vs. EV certificate means:

[x] do we consider that getting rid of the SmartScreen warning is important? Yes.
[ ] do we know how long it would take to build trust with our estimate user base?
[x] is the cost acceptable? Yes (from what we heard from DAISY's C-level. to be confirmed before purchasing of course).

deciding on the certificate provider

[ ] what are acceptable Cryptographic options? Ideally we'd like to avoid a physical cryptographic token. We then need to check if the given technology is compatible with our build workflow.

[ ] Certum provides EV Code Signing in the cloud. Would it fit our needs?
[ ] GlobalSign allows EV code signing certificates to be installed in Azure Key Vault. Would it fit our needs?
[ ] any other option?

[ ] compare the cost of the various certificate providers.

[ ] Should we compare all the certificate authorities?
[ ] Some certificates can be acquired from intermediaries (i.e. not directly from the CA) at a lower cost (for instance comodosslstore, ksoftware, etc…); is that an option?
[ ] do we buy for 1 year or more?

It seems to me we're moving towards getting an EV certificate. But there are still a few decisions to make and offers to compare. Thoughts?

Some clarifications / confirmations received:
Most Code Signing Certificate retailers or Certification Authorities (including Certum) will not provide direct access to *.p12 or *.pfx files, i.e. to the private keys used for signing resources. This is standard practice. Only the public part of the certificate can be used directly. The private part is accessed via an authentication proxy, i.e. the signing keys are provisioned via a cryptographic engine that connects to a hardware or a virtual token (a-la Azure Key Vault, or Certum's SimplySign cloud solution).
This is fine, as far as we are concerned. The DAISY Ace GUI app installers are created using the ElectronBuilder set of utilities, which connects to the key provisioning subsystem via an explicitly-specified certificateSubjectName (see https://www.electron.build/configuration/win#WindowsConfiguration-certificateSubjectName ). This is not dissimilar to MacOS's KeyChain.

I have received confirmation that the only difference between Certum's "Open Source" Code Signing Certificate and the "standard" product (besides the kernel-level software option afforded by the "certificate cross-certified by Microsoft" feature) is that the former includes "Open Source Developer" in the CN, but they otherwise have the same capabilities / limitations (i.e. basic Microsoft Authenticode, building reputation over time in order to gain SmartScreen trust).

Also, the certificates issued by Certum are time-stampable, using Certum's own http://time.certum.pl  or any other, e.g. http://timestamp.digicert.com

So, it looks like the two top options are EV Code Signing Certificates from:

GlobalSign (key provisioning via Azure Key Vault account), costs in € are 1 year: 309, 2 year: 569, 3 year: 709 (plus taxes)
Certum (key provisioning via cloud authentication/validation, and SimplySign local app), costs in € are 1 year: 379 (466 inc. tax), 2 year: 599 (736 inc. tax), 3 year: 825 (1015 inc. tax)

Apparently Sectigo (formerly Comodo CA) also offers [a cloud option (PDF link)] (called "Cloud Service Module" or "Code Signing on Demand"). The cost is 399 USD for 1 year, 897 USD for 3 years.

Note that support for Azure Key Vault entails additional costs:
https://azure.microsoft.com/en-gb/pricing/details/key-vault/
https://azure.microsoft.com/en-gb/pricing/calculator/?service=key-vault
...so although GlobalSign appears to be slightly cheaper (assuming the taxes are at about the same level as Certum), there would be a financial overhead with the Azure account and the Key Vault transactions. Further, I am wondering about the potential difficulties in setting up Azure Key Vault on developers' environments, especially Virtual Machines).

Many times the software, especially the large software are distributed offline, and are also installed on computers without internet connection. Will this solution work for them.

Many times the software, especially the large software are distributed offline, and are also installed on computers without internet connection. Will this solution work for them.

Yes. The cloud solution is to sign the code (on the developers side), not to verify the signature (on the users side).
As long as our certificate is issued from one of the Microsoft-approved certificate authority, that would work well offline if I understand correctly.

there would be a financial overhead with the Azure account and the Key Vault transactions

that might be included in the Azure package we already have.
We can describe a shortlist of solutions which we're confident would work for us, and then inform @DaveGunn and the management so that we can pick the best option wrt cost and infrastructure.

Thank you Romain for the Sectigo PDF. The step-by-step instructions reveal what I feared: in order to sign our Electron app, we would have to introduce a manual step consisting in uploading the resource to sign, or alternatively the resource hash (in which case we would then have to integrate the signature digest back into the resource ourselves).
In other words, we would not be able to rely on ElectronBuilder's built-in support for signing (i.e. in-line, as part of the installer creation process).

in order to sign our Electron app, we would have to introduce a manual step consisting in uploading the resource to sign, or alternatively the resource hash

it seems they have an API, so it should be possible to ultimately integrate that in a custom build, if not in electron-builder itself…

Just to confirm any Azure Key Vault costs would be covered by our existing Azure infrastructure account.

Good to know Dave, thanks.

Romain, good to hear about the possibility of using an API to securely communicate with the GlobalSign Code Signing service.
In ElectronBuilder there is a "sign" step which can be used to invoke an external shell script (thereby bypassing the default Windows signing method which consists in automatically querying the key provisioning subsystem via the certificateSubjectName):
https://www.electron.build/tutorials/code-signing-windows-apps-on-unix

Another thing to note about obtaining an EV Code Signing Certificate: the DAISY organisational identity, as well as that of the person registering, will need to be asserted by the Certificate Authority in order to establish trust. We will therefore be required by the accredited retailer to provide documents that prove identity, which usually involves a Notary.
I am not totally sure about GlobalSign, but I imagine they do business in the USA, where DAISY has representatives. I think (based on the PDF linked by Romain) that the expectation is to have somebody from the management team registering and acting as the primary contact point + platform administrator. Then, developers like myself can obtain credentials to authenticate into the secure cloud signing solution.
Certum is based in Poland. Although they accept digital scans for their lower-tier products, I imagine the prerequisites for issuing EV certs are more stringent. I have asked about their SimplySign cloud solution, so I have a better idea of the key-provisioning + resource-signing workflow (and whether it is compatible with ElectronBuilder).

Romain, good to hear about the possibility of using an API to securely communicate with the GlobalSign Code Signing service.

Just a clarification: the PDF was from Sectigo (formerly Comodo), not GlobalSign. I don't know if GlobalSign also have an API, they probably do but this would need to be verified.

Ah yes thank you Romain (typo on my part).

As mentioned before, the process of applying for an EV Code Signing Certificate requires providing proof of identity, either via a Notary, or remotely by sending appropriate documentation, like Romain did to setup an Apple Developer Program for an organization (not an individual), DUNS number, etc.
Here are the instructions provided by Certum:
https://www.certum.eu/en/support/cert_expertise_tsupp_cs_requaired/

I now have confirmation that Certum's SimplySign cloud+app -based virtual hardware token system integrates well with the signtool command line executable (short video tutorial):
https://www.certum.eu/en/support/cert_expertise_activate_cs_certificate_on_simplysign/
This is good news, it will integrate well with ElectronBuilder's default signing process on Windows, and can even be integrated as a custom step if we face issues with the default implementation. Basically, the virtual hardware token seems to behave just like a physical USB device.
I imagine that Sectigo's ad-hoc suite of tools operates in a very similar way, and that GlobalSign's Azure Key Vault provides a similar integration path.

Another technical thing to note about Certum's SimplySign: the signtool command line instructions are based on the certificate's thumbprint (whereas ElectronBuilder integrates via certificateSubjectName), which means that we might indeed have to use the custom sign step in order to invoke our own custom script. Still, the process seems very simple using a temporary token.
I had another look at Sectigo's PDF (Code Signing on Demand (CSoD) + CCM Comodo Certificate Manager), and I don't see an integration path with signtool, so this might be problematic.

The MacOS app / DMG code-signed with the DAISY certificate works when launched locally without any warning messages, but the app indeed fails to launch when downloaded from an external source (GateKeeper blocks it due to not being notarized):
“Ace by DAISY.app” can’t be opened because Apple cannot check it for malicious software.

This software needs to be updated. Contact the developer for more information.

Safari downloaded this file today at 00:45.

Positive progress:
spctl -a -v /Applications/Ace\ by\ DAISY.app
=>
/Applications/Ace\ by\ DAISY.app: accepted
source=Notarized Developer ID

The Gatekeeper message is now:
“Ace by DAISY.app” is an app downloaded from the Internet. Are you sure you want to open it?
Safari downloaded this file today at 01:53. Apple checked it for malicious software and none was detected.

(with the "open" button, so no need to right-click + open menu)

codesign -dvvv --verbose=4 /Applications/Ace\ by\ DAISY.app
=>
Executable=/Applications/Ace by DAISY.app/Contents/MacOS/Ace by DAISY
Identifier=org.daisy.ace
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20500 size=1753 flags=0x10000(runtime) hashes=46+5 location=embedded
VersionPlatform=1
VersionMin=657920
VersionSDK=658432
Hash type=sha256 size=32
CandidateCDHash sha1=a2f037a9844147925510c5d6e2c9db64d22d78f5
CandidateCDHash sha256=ff61ac272a690ba6b2cb645a2a58b63a28d99a19
Hash choices=sha1,sha256
Page size=4096
CDHash=ff61ac272a690ba6b2cb645a2a58b63a28d99a19
Signature size=9064
Authority=Developer ID Application: US Fund for DAISY (SAMG8AWD69)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=19 Jul 2019 at 01:39:20
Info.plist entries=23
TeamIdentifier=SAMG8AWD69
Runtime Version=10.12.0
Sealed Resources version=2 rules=13 files=17520
Internal requirements count=1 size=176

I tested the app with the default notarization entitlement com.apple.security.cs.allow-unsigned-executable-memory, all the features in the app seem to work fine.

Awesome! Thanks for the hard work Dan 👍🎉

Related issue: v

I have a call with a Microsoft MVP on Thursday, who is helping out with code review and advice for the WordToEPUB proof of concept. I will be asking about code signing to remove the scary messages for the not so technical users of this tool. I've read this thread in preparation, and will report back. It may be that some learnings can be useful for ace-gui.

A 3 year EV Code Signing Certificate has been ordered through GlobalSign Ltd. Verification will probably take a couple of weeks after which it will be available for use through the Azure Key Vault.

This is wonderful news! Thank you for taking care of this.
Let's hope this will integrate with the Ace App build workflow! :)
Fingers crossed.

The security around hosting a central EV certificate means it probably won't be a simple add-on process. We may need a VM build platform with access to the Vault - so obtaining the certificate is only step one in establishing a certification process.

Hi Ace team! it seams we're on the same journey! what a tedious and horrible experience... It has been a good reading this issue, has we had hit the same walls too 😅
We also acquired the EV certificate from globalsign, and now we are trying to figure it out on how to integrate it with electron-builder.. if you have any progress on this would be very helpful! btw this should be featured on electron-builder docs, because it haves all the process of decision on witch certificate to buy and why, I wish I've seen this before..

Hello @labsforge I am glad to hear that you managed to extract useful information from this messy / organic conversation thread! :)
We're using an ad-hoc environment variable SKIP_NOTARIZE to make sure that the afterSign NPM task (which is part of the electron-builder process) is not invoked when the app is built from the Continuous Integration server (in our case, Travis).
https://github.com/daisy/ace-gui/blob/41c3fb511165543d95e0ab7c39b273f3bf85f033/package.json#L143
https://github.com/daisy/ace-gui/blob/41c3fb511165543d95e0ab7c39b273f3bf85f033/package.json#L50
https://github.com/daisy/ace-gui/blob/41c3fb511165543d95e0ab7c39b273f3bf85f033/build/notarize.js#L6
Extra tip: in another project we also use the CSC_IDENTITY_AUTO_DISCOVERY=false environment variable to ensure that electron-builder does not automatically discover a locally-installed signing certificate when building from a developer computer. This allows us to build production-grade apps (i.e. code-signed and notarized), as well as "preview" / test apps (not signed) on the same computer.

...as for the Windows code-signing process: we are currently looking into how to make this work as part of our electron-builder workflow. Unlike our current MacOS setup which relies on KeyChain to supply the private signing certificate / key to ElectronBuilder, the Windows setup will probably involve a physical USB "token" key. Personally I hope that we will be able to use a remote / online authenticated vault instead, as this would be a much more convenient (not least, because I tend to build the Electron app from a VirtualBox Windows 10 VM, rather than from a physical computer).

The macOS part with notarization we figure it out too, the windows part I'm still thinking on how to...
We have the usb already.. and I'm waiting on instructions on how to setup the Azure Key Vault. Then I think I can do something like this https://github.com/jfatta/KeyBall, but will take ages to sign all the dll's because we have some native modules 😓

Windows signing is implemented via a manual step (not automated through Electron Builder). Closing this issue now.

this was is a useful thread. Thank you all !


Code Samples

Solves #31
I added 3 code samples:

LogAnalytics.Client.Examples\BlazorDemo
LogAnalytics.Client.Examples\ApiDemo
LogAnalytics.Client.Examples\ConsoleAppDemo

I also commented every step. In console application everything happens in Program.cs. In Web API and Blazor, only files Startup.cs and WeatherForecastController/WeatherForecastService were modified.
I also updated appsettings.json to show how to configure LogAnalytics.Client.

Closes #31


Add UI support

fixes #69, but not error-free and active personcard no color, for now.
spent damn long trying to implement event listeners but i resorted to this way cos it was simpler, but using this method really doesn't practise OOP, as i just passed the mainwindow to the relevant classes such that when the button is clicked, it executes the responding CLI command i.e. clicking a button is like entering a command in the CLI. this way the resultdisplay is also updated whenever the button is clicked. this is probably not the best method but idk how to fireevent/catchevent/eventdispatcherchain... regarding the personcard button to show the corresponding person on the right pane, there is no color as of right now because i had to disable the selection behaviour. they used some list cell/list view class such that if i did not disable the selection behaviour, i would have to click at least twice on the same personcard to execute the function of loading the person on the right pane. disabling this prevented it from using the stylesheet to update its color, that's why there's no color right now. also, disabling the selection behaviour also creates a nullpointerexception somewhere, although everything works, when i click on the personcard there will be some ugly error message and a nullexception printed in the console, but it won't affect the user. also probably not the best method but could not find any better alternatives for now.

Looks good! I have some edits to make, maybe we can make a separate branch and merge it there first?


[cognitivelanguage] remove unused test dependency

We're failing mindep because of a test dependency on azure-mgmt-cognitiveservices. Thing is, we don't actually use this library in tests so we can safely remove it.

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


react-error-overlay breaks code hot reload throwing Expected options to be injected. error when stopReportingRuntimeErrors was used

Describe the bug
Calling stopReportingRuntimeErrors from react-error-overlay produces Expected options to be injected. error wich breaks hot reload. Error overlay does not show up on errors as expected but when any change done in code - Expected options to be injected. shows up in console and hot reload is broken
Steps to reproduce

Call stopReportingRuntimeErrors from react-error-overlay package at the beginning of the project ike this:

import { stopReportingRuntimeErrors } from "react-error-overlay";

if (process.env.NODE_ENV === "development") {
  stopReportingRuntimeErrors();
}

Then make any changes in code

Expected behavior
Hot reload is working and updating bundle
Actual behavior
Error is thrown in console Expected options to be injected. and hot reload is broken.
Investigation
By investigating the source code it looks like that stopReportingRuntimeErrors is setting currentRuntimeErrorOptions  = null here: https://github.com/facebook/create-react-app/blob/master/packages/react-error-overlay/src/index.js#L116
while updateIframeContent function has check for it which throws an error: https://github.com/facebook/create-react-app/blob/master/packages/react-error-overlay/src/index.js#L158
I'm wondering does this check makes sense there ? I don't see currentRuntimeErrorOptions is used in scope of updateIframeContent function.

FYI: A workaround (or maybe the intended usage) is to put your stopReportingRuntimeErrors() in the callback you hand off as the second argument to module.hot.accept. e.g.
module.hot.accept(‘App’, () => {
   // …some rendering…
  stopReportingRuntimeErrors()
}


feat(release-please): uses factory from latest version

uses factory from latest version
use release-please@next
fixes tests with factory usage

Tested it here: https://github.com/remoteday/rd-api/releases

Release PR: https://github.com/remoteday/rd-api/runs/1899038891
Release Tag: https://github.com/remoteday/rd-api/runs/1899041119
Commit SHA: https://github.com/remoteday/rd-api/blob/main/.github/workflows/release-please.yml#L10

It's currently using @next so if you want to merge it, I can just put the latest workable version in v10 so it would fix @v2.


Error running created production build after upgrading to angular-cli 1.5

Versions

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.5.0
Node: 8.9.0
OS: win32 x64
Angular: 5.0.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.0.0-rc0
@angular/cli: 1.5.0
@angular/flex-layout: 2.0.0-beta.10-4905443
@angular/material: 5.0.0-rc0
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.36
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.5
typescript: 2.4.2
webpack: 3.8.1
Windows 10

Repro steps

run command ng build --prod --aot=false
deploy the output to a webserver
open page

Observed behavior
When opening the web page after deploying the production build I receive the error
Uncaught Error: Can't resolve all parameters for e: (?, ?, ?, ?).
    at c (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at t._getDependenciesMetadata (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at t._getTypeMetadata (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at t._getInjectableMetadata (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at t.getProviderMetadata (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at main.f351f1c9f54ee60a63a8.bundle.js:1
    at Array.forEach (<anonymous>)
    at t._getProvidersMetadata (main.f351f1c9f54ee60a63a8.bundle.js:1)
    at main.f351f1c9f54ee60a63a8.bundle.js:1
    at Array.forEach (<anonymous>)

Interesting is that when I run ng serve --aot=false the application is working as expected.
Desired behavior
Before the upgrade to angular 5 and angular cli 1.5 production builds were running without any problems. I am just wondering what is wrong now
Mention any other details that might be useful
the package.json looks like this:
{
  "name": "bmc-web-app",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build-onpremise": "ng build --environment onpremise",
    "build-prod": "ng build --environment prod",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:watchall": "jest --watchAll",
    "test:ci": "jest --runInBand",
    "test:coverage": "jest --coverage",
    "karma": "karma start karma.conf.js --browsers Chrome_with_debugging",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "json-server": "json-server --watch src/db/json-server-db.json --routes src/db/json-server-routes.json",
    "onpremise": "ng serve --environment onpremise",
    "node-watch": "nodemon --watch src/db/mocks src/db/json-server.js",
    "serve": "concurrently \"ng serve\" \"npm run node-watch\""
  },
  "jest": {
    "preset": "jest-preset-angular",
    "setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts",
    "transformIgnorePatterns": [
      "node_modules/(?!@ngrx|angular2-ui-switch)"
    ],
    "moduleNameMapper": {
      "@bremacon/beschaffungen/(.*)": "<rootDir>/src/app/features/beschaffungen/$1",
      "@bremacon/entnahmestellen/(.*)": "<rootDir>/src/app/features/entnahmestellen/$1",
      "@bremacon/importe/(.*)": "<rootDir>/src/app/features/importe/$1",
      "@bremacon/kunden/(.*)": "<rootDir>/src/app/features/kunden/$1",
      "@bremacon/lieferanten/(.*)": "<rootDir>/src/app/features/lieferanten/$1",
      "@bremacon/mandanten/(.*)": "<rootDir>/src/app/features/mandanten/$1",
      "@bremacon/modifikationen/(.*)": "<rootDir>/src/app/features/modifikationen/$1",
      "@bremacon/portfolios/(.*)": "<rootDir>/src/app/features/portfolios/$1",
      "@bremacon/vertraege/(.*)": "<rootDir>/src/app/features/vertraege/$1",
      "@bremacon/(.*)": "<rootDir>/src/app/$1"
    },
    "transform": {
      "^.+\\.(ts|js|html)$": "<rootDir>/node_modules/jest-preset-angular/preprocessor.js"
    },
    "moduleDirectories": [
      "node_modules",
      "<rootDir>/src"
    ],
    "globals": {
      "ts-jest": {
        "tsConfigFile": "./src/tsconfig.spec.json"
      },
      "__TRANSFORM_HTML__": true
    }
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.0.0",
    "@angular/common": "^5.0.0",
    "@angular/compiler": "^5.0.0",
    "@angular/core": "^5.0.0",
    "@angular/forms": "^5.0.0",
    "@angular/http": "^5.0.0",
    "@angular/platform-browser": "^5.0.0",
    "@angular/platform-browser-dynamic": "^5.0.0",
    "@angular/router": "^5.0.0",
    "@angular/flex-layout": "^2.0.0-beta.10-4905443",
    "@angular/material": "5.0.0-rc0",
    "@angular/cdk": "5.0.0-rc0",
    "ngrx-forms": "^1.1.1",
    "@ngrx/effects": "^4.1.1",
    "@ngrx/entity": "^4.1.1",
    "@ngrx/router-store": "^4.1.1",
    "@ngrx/store": "^4.1.1",
    "@ngrx/store-devtools": "^4.1.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.2",
    "zone.js": "^0.8.14",
    "bootstrap": "^4.0.0-beta",
    "d3": "4.9.1",
    "d3-selection-multi": "1.0.1",
    "file-saver": "^1.3.3",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "jquery": "^3.2.1",
    "json-server": "^0.12.0",
    "moment": "^2.18.1",
    "ng2-file-upload": "^1.2.0",
    "popper": "^1.0.0",
    "propper": "^1.0.2",
    "reselect": "^3.0.1",
    "roboto-fontface": "^0.8.0",
    "simplify-js": "^1.2.1",
    "tether": "^1.3.7",
    "angular2-moment": "^1.7.0",
    "text-encoding": "^0.6.4"
  },
  "devDependencies": {
    "@angular/cli": "1.5.0",
    "@angular/compiler-cli": "^5.0.0",
    "@angular/language-service": "^5.0.0",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "@types/d3-array": "^1.0",
    "@types/d3-axis": "^1.0",
    "@types/d3-brush": "^1.0",
    "@types/d3-chord": "^1.0",
    "@types/d3-collection": "^1.0",
    "@types/d3-color": "^1.0",
    "@types/d3-dispatch": "^1.0",
    "@types/d3-drag": "^1.0",
    "@types/d3-dsv": "^1.0",
    "@types/d3-ease": "^1.0",
    "@types/d3-force": "^1.0",
    "@types/d3-format": "^1.0",
    "@types/d3-geo": "^1.2",
    "@types/d3-hierarchy": "^1.0",
    "@types/d3-interpolate": "^1.1",
    "@types/d3-path": "^1.0.5",
    "@types/d3-polygon": "^1.0",
    "@types/d3-quadtree": "^1.0",
    "@types/d3-queue": "^3.0",
    "@types/d3-random": "^1.0",
    "@types/d3-scale": "^1.0.8",
    "@types/d3-selection": "^1.0.5",
    "@types/d3-selection-multi": "^1.0.5",
    "@types/d3-shape": "^1.0",
    "@types/d3-time": "^1.0.5",
    "@types/d3-time-format": "2.0.4",
    "@types/d3-timer": "^1.0",
    "@types/d3-transition": "^1.0",
    "@types/d3-voronoi": "^1.0",
    "@types/d3-zoom": "1.2.0",
    "@types/jest": "^21.1.5",
    "codelyzer": "~3.2.1",
    "concurrently": "^3.5.0",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "jest": "^21.2.1",
    "jest-preset-angular": "^4.0.1",
    "jest-zone-patch": "^0.0.8",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-jest": "^21.1.3",
    "ts-node": "~3.2.0",
    "tslint": "~5.3.2",
    "typescript": "2.4.2"
  }
}

I already googled for this issue. Some issues state that this can be caused by circular dependencies which is not the case (at least the cli is not showing any warning). Any help would be appreciated.
Thanks in advance.

I have almost the same error after migration from angular 4 to angular 5:  Uncaught Error: Can't resolve all parameters for e: (?, ?, ?, ?). for command: ng build --prod --aot=false
With command command ng build --dev--aot=false all works fine.
Some guys told that possible reason of issue in build-optimizer.
I didn't try yet this command, but you can try:
ng build --prod --aot false --build-optimizer false

That's true! I ran the build with parameter to disable the build optimization. Now I can load the page but I get a different error. Will post that later, on phone now.

Heya, I'd like to look into this but really need a repro I can tinker with.
Can you setup a minimal repro please? You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.

Hey @filipesilva cool, ty!
Will do so tonight and let you know when I am done.

So....
I did not manage to reproduce the exact error but I did some observation and noticed that every build with JIT leads to an error when using --prod. Though error is now different
Uncaught TypeError: Object prototype may only be an Object or null: undefined
    at setPrototypeOf (<anonymous>)
    at ct (main.62eb1713f4fa1a18cbf2.bundle.js:1)
    at main.62eb1713f4fa1a18cbf2.bundle.js:1
    at Object.cDNt (main.62eb1713f4fa1a18cbf2.bundle.js:1)
    at n (inline.ebaf15cb24718b53b396.bundle.js:1)
    at Object.0 (main.62eb1713f4fa1a18cbf2.bundle.js:1)
    at n (inline.ebaf15cb24718b53b396.bundle.js:1)
    at window.webpackJsonp (inline.ebaf15cb24718b53b396.bundle.js:1)
    at main.62eb1713f4fa1a18cbf2.bundle.js:1

You can find the repository here https://github.com/SamiAl90/angular-cli-issue-8576
I ran following commands
AOT ENABLED BUILD OPTIMIZER DISABLED
app.component.ts => import * as fromRoot from '@app/reducers';
ng serve --aot=true --build-optimizer=false --> works
ng serve --prod --aot=true --build-optimizer=false --> works

app.component.ts => import * as fromRoot from '../../reducers';
ng serve --aot=true --build-optimizer=false --> works
ng serve --prod --aot=true --build-optimizer=false --> works

AOT DISABLED BUILD OPTIMIZER DISABLED
app.component.ts => import * as fromRoot from '@app/reducers';
ng serve --aot=false --build-optimizer=false --> works
ng serve --prod --aot=false --build-optimizer=false --> doesn't work

app.component.ts => import * as fromRoot from '../../reducers';
ng serve --aot=false --build-optimizer=false --> works
ng serve --prod --aot=false --build-optimizer=false --> doesn't work

AOT ENABLED BUILD OPTIMIZER ENABLED
app.component.ts => import * as fromRoot from '@app/reducers';
ng serve --aot=true --build-optimizer=true --> works
ng serve --prod --aot=true --build-optimizer=true --> works

app.component.ts => import * as fromRoot from '../../reducers';
ng serve --aot=true --build-optimizer=true --> works
ng serve --prod --aot=true --build-optimizer=true --> works

When removing the barrel from app/src/reducers/index and paste the code directly from app/src/reducers/public_api into app/src/reducers/index the JIT prod builds are working.
Thanks in advance.

https://github.com/angular/angular-cli/issues/8434#issuecomment-346664305  - this comment save my time. Maybe it will be useful for you too.

In the sample repo I provided this is not that case.

Any news on this? We really would love to upgrade to angular 5.x


time: IST is incorrectly parsed in Europe/Dublin

What version of Go are you using (go version)?

$ go version
go version go1.13.4 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?

go envGOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPROXY="https://proxy.golang.org,direct"
GOSUMDB="sum.golang.org"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build876647815=/tmp/go-build -gno-record-gcc-switches"
$ go env

What did you do?
I wrote a parser to parse time with 3-letter timezones in Europe/Dublin. I tried variations of IST/GMT/UTC/BST. All of those work fine except for IST when Daylight Savings is off. See example code: https://play.golang.org/p/3iNUKCLFC2l
What did you expect to see?
IST should be parsed similar to BST or at the very least not be partially parsed into an offset that doesn't exist.
2020-01-12 09:30 IST should be equal to 2020-01-12 08:30:00 +0000 GMT
What did you see instead?
2020-01-12 09:30 IST is parsed as 2020-01-12 08:55:21 +0000 GMT

This does work as expected when I pick a time when Daylight savings is actually on. For example, changing the month to June.

A colleague pointed this out to me. From tzdata:
# The following is like GB-Eire and EU, except with standard time in
# summer and negative daylight saving time in winter.  It is for when
# negative SAVE values are used.
# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
Rule	Eire	1971	only	-	Oct	31	 2:00u	-1:00	-
Rule	Eire	1972	1980	-	Mar	Sun>=16	 2:00u	0	-
Rule	Eire	1972	1980	-	Oct	Sun>=23	 2:00u	-1:00	-
Rule	Eire	1981	max	-	Mar	lastSun	 1:00u	0	-
Rule	Eire	1981	1989	-	Oct	Sun>=23	 1:00u	-1:00	-
Rule	Eire	1990	1995	-	Oct	Sun>=22	 1:00u	-1:00	-
Rule	Eire	1996	max	-	Oct	lastSun	 1:00u	-1:00	-

# Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
Zone	Europe/Dublin	-0:25:00 -	LMT	1880 Aug  2
			-0:25:21 -	DMT	1916 May 21  2:00s
			-0:25:21 1:00	IST	1916 Oct  1  2:00s
			 0:00	GB-Eire	%s	1921 Dec  6 # independence
			 0:00	GB-Eire	GMT/IST	1940 Feb 25  2:00s
			 0:00	1:00	IST	1946 Oct  6  2:00s
			 0:00	-	GMT	1947 Mar 16  2:00s
			 0:00	1:00	IST	1947 Nov  2  2:00s
			 0:00	-	GMT	1948 Apr 18  2:00s
			 0:00	GB-Eire	GMT/IST	1968 Oct 27
# The next line is for when negative SAVE values are used.
			 1:00	Eire	IST/GMT
# These three lines are for when SAVE values are always nonnegative.
#			 1:00	-	IST	1971 Oct 31  2:00u
#			 0:00	GB-Eire	GMT/IST	1996
#			 0:00	EU	GMT/IST

Looks like the offset is coming from when there used to be a DMT.

/cc @rsc

Go's time package simply reflects the local system's timezone data.  As far as I can tell, that is what is happening here, and there is no bug in Go.  The data needs to be changed in tzdata instead.  If you think there is a bug in Go, could you describe it more precisely?  Thanks.

I'm unsure whether there is a problem in Golang parser or not. Here's an example with the date command:
 $ TZ=Europe/Dublin date -d '2019-01-12 09:30 IST'
date: invalid date ‘2019-01-12 09:30 IST’
$ TZ=Europe/Dublin date -d '2019-06-12 09:30 IST'
Wed 12 Jun 2019 09:30:00 AM IST

The date command "correctly" rejects that when Daylight Savings is not "on", IST is an invalid timezone. The Golang parser on the other hand, converts it into Dublin Mean Time. Is that expected behavior? My quick read of the tzdata rules isn't comprehensive enough to understand whether this is expected.

I also don't know what is correct.  Currently what Go does is look up the name "IST" in the location, and check whether it is valid for the given date.  In this case it is not, so Go simply looks for the first occurrence of "IST" in the time zone, which is the one with the 25:21 offset.  Usually that algorithm seems like a decent guess at what the user meant.  In this case it's not so good.
Perhaps we should use the last occurrence of the name in the time zone.

That would still be a bad idea if you tried to use the Parser for times in the past. It may need more careful parsing based on the actual time. Is that supported or in scope?

We don't currently have an API for asking whether a time is supported in a given timezone.  And we don't reject dates because their timezone seems invalid, we just try to handle them as best we can.

unfortunate but i don't see any way for this to be fixed?


update ssh keys

remove former teammates, add @gmasgras and @stongo

Do you want me to redeploy to all?

Let's touch base in Barcelona and we can through a deploy together. :)

thanks @Kubuxu !


License: Update License file and Third Party Notices

@dotnet-bot test Ubuntu shared_ubuntu_linux_debug please

@dotnet-bot test Ubuntu shared_ubuntu_linux_debug please

/cc @mmitche I'm unable to trigger failed test (due to CI)

@dotnet-bot test Ubuntu shared_ubuntu_linux_debug

@obastemur Ubuntu shared_ubuntu_linux_debug is for a PR only targeting master. The reason it showed up here is most likely that the hash of this PR matched the hash of another PR against master.  When the other PR asked GitHub to put a status check for hash abcd, the check showed up in two places.
If you push another ref here, it should disappear.

(or you could just ignore it)

@mmitche Thanks! for instant response. I will try.

This PR was previously approvedby legal d. @dilijev thanks for the additional review and suggestions.


Support context in KeyVault services - Keys and Secrets

Currently, KeyVault service interfaces in track 2 don't support passing context to the service. Update KeyService and SecretService interfaces to include Context for every API.

Done in PR - https://github.com/Azure/azure-sdk-for-java/pull/4438


Services API

There doesn't seem to be any way to pull down service information. IMHO, the key/value stuff is pretty minor compared to what Consul is meant to do. Will there be an integration to get a service definition?

What would you like it to look like?

I actually had to roll my own implementation with the Web API client library due to the dependency on Service Stack. At any rate, thanks for being so responsive on this.


Teams ACLs

As mentioned in https://github.com/cesanta/docker_auth/pull/115#issuecomment-234074177, once #115  is merged, it would be great to be able to use teams in the ACLs, something along the lines of:
- match: {account: "/.+/", name: "${team}/*"}
  actions: ["push", "pull"]

where team would be matched against something like regexp.QuoteMeta(strings.Join(ai.Teams)).
As you mentioned in #115, it would be good if this was not specific to GitHub. Here's a suggestion. Currently, AuthServer#Authenticate() has the following signature:
func (as *AuthServer) Authenticate(ar *authRequest) (bool, error) {

Instead of returning a boolean, we could make it return a structure containing information about the authenticated user, so any authn provider could provider that information.
type AuthAccount struct {
  Name    string
  Email   string
  Teams   []string
}

func (as *AuthServer) Authenticate(ar *authRequest) (*AuthAccount, error) {
  ...
}

func (as *AuthServer) doAuth(rw http.ResponseWriter, req *http.Request) {
  ...
  		ares, err = as.Authorize(ar, authnResult)
}

and authz.go could thus access this information from the authn provider, and filter on Email, Teams, etc.
@rojer  What do you think of this architecture?

@raphink so, i found a bit of free time over the weekend and put together #139
with that, all you need is add some code to github_auth to assign gh_team labels.
label is a string -> []string map, so multiple teams will be ok and matching will check all of them.


[CLI-1133] Update dependencies

JIRA: https://jira.appcelerator.org/browse/CLI-1133
Brings all dependencies to an up to date version.

LGTM.


Nodes API fix

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

This is a fixes #2240
The regex would match more than it should.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.04%) to 76.418% when pulling 044e1bb45d9057df05becc5cc240e9bd68c57880 on hardillb:node-api-fix into 8bb7b2e88b550ea05b2bfd58d9219ee7db44fe5a on node-red:master.

Thanks @hardillb
I've cherry-picked the actual fix commit from this PR into master - didn't want to pull in all those empty merge commits with it.