Replace & selector with :host

Currently, this plugin uses a custom character, &, to represent styles for the containing component.  However, this is not according to the spec, and I suggest that this be replaced with the new web component shadow DOM selector, ::host, as mentioned here.
Another problem present with the current approach is that preprocessors understand the & character differently than browsers parsing normal CSS.  For example, take the following SASS code:
& {
    color: #fff;
}

In this case, the & character resolves to the current context (which is null), and therefore produces nothing.  Currently, to circumvent this, the user must escape the selector:
#{"&"} {
    color: #fff;
}

But by replacing this with ::host, we regain compatibility with all preprocessors, and we are aligned with the spec:
::host {
    color: #fff;
}

This is a duplicate of #2 & #3. I'm interested in discussing this further, but as I said before:

I'm a bit hesitant to use officially proposed syntax because that raises people's expectations of the behavior and I don't want to expend a lot of effort on an emulation layer. I'd rather just passthrough this kind of stuff to Sass/Less so they can support the syntaxes.

@jayphelps didn't end up responding, but I'm interested in exploring this suggestion with you, as long as we can alleviate my concerns :)

@ebryn :stuck_out_tongue_closed_eyes: there wasn't a question you raised. Since it was closed with the description to punt on it. I'm definitely willing to help. For summary, what are the concerns and where does this current differ from the spec'ed :host?

@jayphelps fair point :stuck_out_tongue:
Well, for one, this isn't shadow DOM. I'm hesitant to borrow syntax & give people the impression that this is trying to somehow polyfill shadow DOM. It's also not clear to me that this syntax is going to actually exist in the final shadow DOM spec.

The :host pseudo-class, when evaluated in the context of a shadow tree, matches the shadow tree’s host element. In any other context, it matches nothing.

http://drafts.csswg.org/css-scoping/#host-selector

@ebryn IMO :host on it's own isn't Shadow DOM specific in theory. It has a self-explanatory meaning that just happens to be included in that spec (and implemented as such in Chrome/Firefox flag). If the spec doesn't change, it's future-proof (bonus!), but if it does we'd be in the same situation as using &. I only see a possible WIN?
In some ways, whether you want to admit it or not, you are polyfilling one feature of Shadow DOM.  :smile:

Arguably, these shadow piercing psuedoselectors shouldn't even exist in Shadow DOM if you believe in strong style encapsulation

@ebryn Are you referring to ::shadow? I personally think it's just another !important.......The use case it aims to solve makes sense, but I'd rather have a way for a shadow dom to opt-into letting the parent dom override.

From my reading of the spec, it seems like ::host is piercing through the shadow DOM and selecting the light DOM element. ::shadow seems to be how you pierce from light to shadow.

@ebryn, well this blew up fast.  I still side in favour of @jayphelps; regardless of what you intend here, you are polyfilling the web component spec, so it's only a win.  And don't forget about CSS preprocessors.

As a WebKit developer, I agree with @ebryn that using :host syntax here is dangerous/premature for two reasons:

Browser vendors haven't agreed upon the exact semantics of :host just like the rest of shadow DOM and web components features.
Ember component doesn't use shadow DOM so it would be confusing to use :host syntax.

I've been talking to @rniwa from the Safari team and @dglazkov from the Chrome team about this. They both agree that it seems like a bad idea to use :host for both of the reasons @rniwa states above.
The question now is: what, if any, syntax should we use? My original plan was to use whatever your specific CSS preprocessor preferred, hence why I chose & (as I'm a Sass guy primarily).
@jayphelps @srsgores Thoughts?

@ebryn, though I still don't see the merit in both points presented by @rniwa, I think if we can't use ::host, then perhaps the closest solution would be to not use any selector at all.  For example:
/* component-level CSS */
color: #fff;

.message {
    color: #000; /* 'shadow-dom' element*/
}

The obvious problem with this is that it's not proper CSS.  But since when was & { either?

You should ask @tabatkins for syntactic sugar ideas. He's good with sugar. Especially stylish sugar. :candy:

@srsgores That was actually my original implementation, but I ended up shying away from it because I thought Sass's & selector would be more palatable by folks.
The merit is simple: if we use syntax that isn't 100% equivalent, then it's misleading and will confuse users. When/if :host becomes an actual standardized psuedo-selector, then our semantics will not be 100% correct. I don't want to be short-sighted and not plan for the foreseeable future.

Another point comes to mind: if we hijack :host, it potentially prevents people from using it with Shadow DOM legitimately.

@ebryn, well as I showed in this issue description, & has its own set of problems.  I would like to see what everyone else thinks about the non-selector proposition.  What do you guys think about that?

@srsgores That issue would be solvable fairly easily I believe when proper preprocessor support is added.

@ebryn, can you describe what preprocessor support might look like?  I'm not sure I understand.

@srsgores For Sass, at the simplest level, it means I'll preprocess the scss input to include the generated class nested around the CSS defined in the input file.
For example:
.foo { color: blue; }
will be rewriten as:
.my-component-af13fd { .foo { color: blue; } }

@ebryn what about something like :pod it gives an idea that it is scoped to this pod definition and nods toward the shadow DOM spec, but it gives future interop.

@rniwa :+1:
I like it.

Also @ebryn is the plan for preprocessors to come in before or after the pod processing?

@rtablada :pod isn't really accurate, as we're talking about components, so :component would be more applicable.
The thing is, if you understand my above Sass example, & would fall through to Sass and just work without this addon needed to rewrite it at all... example: http://sassmeister.com/gist/c1fc5e9903dcb4705577

I also just realized, the same will be true for LESS as well!

@ebryn :component sounds good for me.
In terms of the & passthrough that could be slick and works for SASS and LESS, but idk on how it plays with Stylus and other preprocessors.

Seems stylus works with &... Just still hesitant vs something that can be replaced with a language aware nesting selector...

@rtablada That's why the syntax would be based on your chosen preprocessor. I don't really want to define any syntax at all, but need something for folks not using any preprocessor, which is pretty unlikely and maybe I should just use Sass by default.

@rtablada I don't want to be in the game of defining new syntaxes, I want to let people use their preprocessor's syntax

Hmm... I see...
I'm still a bit on the side of make something more future looking, but not a future interop issue (I know we could guess about the future standards till all of our burndowns run out...)
Other idea is document it well so if someone wanted to create a native CSS adapter to replace the built in one, the could replace & with :i-am-a-teapot

I've learned the lessons of LESS, creating syntax is very risky, as that syntax could be standardized and have different semantics.

@srsgores Note that :host is a pseudo-class, not a pseudo-element; it has only one colon.
I agree that using :host here isn't a great idea; the implementations aren't identical, and things you can assume about the host element (like that it is guaranteed to not match any class/etc selector) aren't true here.  Using another pseudo-class, or sticking with & and assuming you can preprocess it away, is better.
(Note that you can go ahead and use a custom pseudo-class by starting it with --, like :--foo, and be guaranteed you won't later collide with official syntax.)

@tabatkins Thanks for the advice!

So it sounds like we've got a plan forward:
If you're using a preprocessor, we're going to use a "wrap and passthrough" strategy and you'll use & in Sass, LESS, and Stylus. It should be easy for people to add their own passthrough strategies if necessary.
If you're not using a preprocessor, you can still use & for now, and we can add a future proof, although more verbose, :--component psuedo-class if people like that instead.

@ebryn, ok.  So just to confirm, by passthrough, you mean top-level CSS without a selector?  Or will you absolutely need the & selector to reference the component?

@srsgores I mean exactly what I've detailed here: https://github.com/ebryn/ember-component-css/issues/10#issuecomment-84761386

@srsgores To be clear: you will need the & or whatever your preprocessor of choice requires.


Sonora enclave functions are not easily discoverable

Describe the bug
The SGX enclave entry functions for Sonora are not easily discoverable
To Reproduce
Try grepping for sinaloa_init_remote_attestation_enc in the project directory. You will find calls to it but not an implementation
Expected behaviour
To aide newcomers to the project, functions should be easy for them to find the implementations of.
Additional context
As part of the build process for SGX enclaves, the SGX tool sgx_edger8r is executed. It has an option --use-prefix, which adds the name of the source edl file to all of the generated symbols. This means that functions such as init_remote_attestation_enc are translated to sinaloa_remote_attestation_enc.
We should stop using the --use-prefix option and instead name the functions in the edl  file and the source with the name they will be called with.

With the removal of support for Intel SGX this is now irrelevant.


Image upload

Add a generic image-upload component and integrate it into the user form.
NOTE: This adds a dependency on imageMagick 😞

Coverage decreased (-2.4%) to 84.685% when pulling b017d5d3d15b87193c5b8aa0bff964b16cf21fdd on image-upload into 8f7ae2077b7b0d612f9162411304fa21bc991d62 on master.


Update AMI versions

This updates the AMI versions to the latest released version which includes a security fix.
In addition the eu-west-2 and ca-central-1 regions are added.

Thanks @wichert!


Templatize ToTopLevelNode and ToExprNode

We have defined ToTopLevelNode and ToExprNode structs with operator() to upcast variants. I am sure there's a way to simplify this in C++.
This should be a NFC enhancement.

Fixed in https://github.com/pmatos/nora/commit/fcdbefade782b67eb034b417b16debb9506b4066


Restore hash_head != 0 checks

This is the simplest fix I could come up with, but I have to admit I didn't fully understand where exactly violating hash_head != 0 leads to trouble. But the comments in deflate_slow, deflate_medium, deflate_fast and LONGEST_MATCH repeat that this invariant is important :-) I also haven't checked the performance implications of this fix. @nmoinvaz maybe you could come up with a better solution?

Commit bc5915e2dec7 ("Fixed unsigned integer overflow ASAN error when
hash_head > s->strstart.") removed hash_head != 0 checks in fast,
medium and slow deflate, because it improved performance [1].
Unfortunately, the attached test started failing after that.
Apparently, as the comments suggest, the code implicitly relies on
matches with the beginning of the window being skipped. So restore the
check.
[1] https://github.com/zlib-ng/zlib-ng/pull/772#issuecomment-710760300

It is probably good that the hash_head != 0 check is at the end of the if statement for performance reasons since I don't think that  case is hit very often. It makes since that we don't want to match the beginning of the window.
This reminds of https://github.com/zlib-ng/zlib-ng/commit/446c6974fec0d3b8a55eef7ce36a249a9eb601ea#diff-7e5fd0aa55941ed3e3c9c564a713b3841f20f7defc549277cdf94f6c90882af8. I think we should revert that commit and now check against this PR to see if that commit is warranted anymore. Because it was also intended to fix the same issue.

I had a very close look at this the other day when you told us about this potential bug, and this was the only potential fix I could come up with, but I too had no success explaining why it matters.
@nmoinvaz Will you do the testing of that PR reversion? Sounds like a good idea to investigate its necessity.

@Dead2 I verified it and it still needed.


Adds support for v1.2.0 (card revocation)

Move dev tools to v1.2.0, following spec update. Add card revocation tests, to check new vc.rid field and CRLs.

Tests are failing because the example-02 series of files have been modified by mistake in the v1.2.0 spec update (my bad); spec PR 217 fixes this, and will in turn fix the failing tests here.

Need to keep this branch around until I regenerate the badcrl card examples (living in the v1.2.0-0 tree); otherwise the tests fail.

Need to keep this branch around until I regenerate the badcrl card examples (living in the v1.2.0-0 tree); otherwise the tests fail.

Fixed by #187


Navigate to Import Sample Data Page without Refresh when New Home is Enabled

Description
This PR addresses the issue of navigating to the import sample data page without causing a page refresh when the new home page and workspace are enabled.
Changes:

Modified the CreateIndex component to check if the new home page and workspace are enabled.
Added an onClick handler to the "Add Sample Data" link when the new home page and workspace are enabled.
In the onClick handler, called application.navigateToApp with import_sample_data to navigate to the import sample data page without causing a page refresh.

Issues Resolved
#456
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Hi @sejli , Yes. I think this changes should be backport to 2.x branch. Feel free to help me add the label, thank you.


[Bug]: Kubernetes Client-go informers getting "Unauthorized" error after 15 mins

What happened?
Kubernetes client-go informers getting unauthorized error after 15 mins.
As per Kubernetes Client Go blogs and discussion we see the client go wil refresh the token after 15 mins but it is not happening. Any way to refresh the token without stopping the informer?
`
gen, err := token.NewGenerator(false, false)
if err != nil {
	return token.Token{}, err
}

opts := &token.GetTokenOptions{
	Region:               cluster.Region,
	ClusterID:            aws.StringValue(&cluster.Name),
	AssumeRoleARN:        cluster.AssumeRoleConfig.RoleArn,
	AssumeRoleExternalID: cluster.AssumeRoleConfig.ExternalId,
	SessionName:          "testsession",
	Session:              awsSession,
}
token, err := gen.GetWithOptions(opts)
    clientConfig := &rest.Config{
	Host:        cluster.Endpoint,
	BearerToken: token.Token,
	TLSClientConfig: rest.TLSClientConfig{
		CAData: ca,
	},
}
    dynamicClient, err := dynamic.NewForConfig(clientConfig)

    factory := dynamicinformer.NewFilteredDynamicSharedInformerFactory(dynamicClient, 60*time.Minute, "", nil)
    gvr := schema.GroupVersionResource{Group: "apps", Version: "v1 ", Resource: "deployments"}

informer := factory.ForResource(gvr).Informer()

informer.AddEventHandler(cache.ResourceEventHandlerFuncs{
	AddFunc: func(obj interface{}) {
		fmt.Println(obj)
	},

	UpdateFunc: func(old, new interface{}) {
		fmt.Println(old)
		fmt.Println(new)
	},
})

factory.Start(ctx.Done())

`
What you expected to happen?
The Kubernetes Auth Token created by aws-iam-authenticator should be refreshed automatically.
Anything else we need to know?
No response
Installation tooling
other (please specify in description)
AWS IAM Authenticator server Version
AWS EKS Managed service
Client information
- OS/arch: Darwin/arm64 & Linux/amd64
- kubernetes client & version: k8s.io/client-go v0.25.2
- authenticator client & version: sigs.k8s.io/aws-iam-authenticator v0.5.9

Kubernetes API Version
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.0", GitCommit:"a866cbe2e5bbaa01cfd5e969aa3e033f3282a8a2", GitTreeState:"clean", BuildDate:"2022-08-23T17:36:43Z", GoVersion:"go1.19", Compiler:"gc", Platform:"darwin/arm64"} Kustomize Version: v4.5.7 Server Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.15-eks-fb459a0", GitCommit:"be82fa628e60d024275efaa239bfe53a9119c2d9", GitTreeState:"clean", BuildDate:"2022-10-24T20:33:23Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"} WARNING: version difference between client (1.25) and server (1.22) exceeds the supported minor version skew of +/-1
aws-iam-authenticator YAML manifest
No response
kube-apiserver YAML manifest
No response
aws-iam-authenticator logs
No response

@nckturner Do you have any idea or do you suggest any way to refresh the tokens?
I see you have added this expiration feature to aws-iam-authenticator module.

thanks @jeevanragula @fengshunli for your feedback.
have you tried the client-go-credential-plugins?  It works for me. client-go informers keeps running.
You can find doc https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
a kubeconfig sample with aws-iam-authenticator link is https://github.com/kubernetes-sigs/aws-iam-authenticator/blob/master/hack/dev/kubeconfig.yaml. (also pasted below)
go code sample https://github.com/kubernetes-sigs/aws-iam-authenticator/blob/master/tests/e2e/tests.go#L69
Thank you
users:
- name: kind-authenticator
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args:
      - token
      - -i
      - {{CLUSTER_NAME}}
      command: {{AUTHENTICATOR_BIN}}
      env:
      - name: AWS_STS_REGIONAL_ENDPOINTS
        value: regional
      - name: AWS_DEFAULT_REGION
        value: {{REGION}}
      interactiveMode: IfAvailable
      provideClusterInfo: false


Add support for encoding/decoding bech32 addresses using iterators

(Friendly note: @clarkmoody unless you are just loving all this iterator stuff I suggest you don't bother reviewing this one (or #113) until @apoelstra acks :)
This is a slightly different approach to #113. Done on top of #116, so just the last patch.

Conversion to/from bytes/fes by way of the extension traits as in #113 (still in iter.rs)
Checksum iter adapter as in #113
Decoding by way of three structs depending on usage.
Encoding by way of a new struct Encoder, uses a builder-like pattern to construct the encoder and then one can call chars() to get a character iterator or fes() to get a field-element iterator (over all the fes that go into the checksum).

This should mean:

Cleaner API i.e., easier to use but also easier to not use incorrectly
Incorrect use of iterator adaptors should now be harder

IMNSHO the bech32 spec is convoluted as f**k, hiding all the details is not totally possible but this new API attempts to make it possible to correctly use the API without having to spend two weeks reading and re-reading bips 173 and 350.
PR currently does not use the new API
For example usage see:

the unit tests in decode and encode
the module level rustdocs in encode.rs and decode.rs
BIP-173 and BIP-350 test vectors in tests/

Done reviewing 5c9b549a3738cec82f633c14e274854b82edce45. This is definitely shaping up.

Thanks for the review @apoelstra, I read your comments but didn't get to work on this today. I'm good to implement all suggestions except unsure about the thing I commented on.

I pushed up what I've done. Currently there is no invariant on the checksum being in data (decode::Hrpstring).  Perhaps we should pull out a Parsed type again from decode::Hrpstring that is the pre-parsed concept we had before. I had a play but didn't get anything I really liked.

ooo, I've come up with something mad. Converting to draft while I polish it, will push shortly.

Hey @apoelstra check this re-write of the decode module out. I'm not happy with the three type names but I'm super happy with the abstractions - let me know what you think. (Its in a separate patch, will squash once you've had a look.)

@tcharding looks great! I'm unsure whether KnownHrp is worth the reduction in flexibility, since we don't really use it for anything.
Agreed that the names are no good. I suggest

Parsed becomes UncheckedHrpString or maybe Unchecked
Base32 becomes HrpString
Segwit can stay as Segwit, or maybe it should be SegwitHrpString.

I dug some more into the whole hrp <-> network thing and came up with something different, added a module called network_kind and functions is_valid_on_mainnet (on Segwit and Hrp). I haven't tried using the new bech32 in bitcoin for a while, perhaps I'll try and see if this new stuff adds any vaule.

Used UnvalidatedHrpString instead so as not to overload "check" and SegwitHrpString, I think we should err on the side of explicitness with this module.

Removed KnownHrp and inlined the check.

Just the padding thing left to do.

Ok, I changed two of the validate functions that convert from one type to another HrpString to SegwitHrpString to consume self, can you think of any reason why this might be too restrictive?
I found some bugs in the len methods I wrote, now fixed.

Ok, i'll stop polishing it now :)

UnvalidateHrpString sounds wrong because we do validate that it's an HRP string: it has an HRP, the character set is correct, etc. We just don't check any checksums. What word would you use rather than "check" for a checksum?

Yeah I agree with everything you said, its really hard to write this so that it can be used as the bip says and be actually useful in real life and easy to use. The bips are really hard to write a clean API against. I'll have another go today.

Ill try and get it to a state where its only naming that is borked, then perhaps we can move on to writing the higher level api and see if bettter name fall out. Also I think that basically no-one should ever use this decode API directly, perhaps I'll add a big comment saying that if one is planning on using this module they should expect to spend a bunch of time reading the bips, if they do not want to do that then do not use the module, its too convoluted.

Lol, well, if you avoid SegwitHrpString then I think it's pretty sensible.

On the drive home from school drop off just now I was thinking about this, I'm not keen on the HrpString bit because all three are hrpstrings (as you say, guaranteed to have valid bech32 characters etc.). When writing docs, and still in there, I kept using the word "parsed" for the initial stage of parsing the string and checking the characters - hence Parsed. The other two are exactly designed to mirror the bip statement

We first describe the general checksummed base32 format called Bech32 and then define
Segregated Witness addresses using it.

What I tried to model before using the modules and I tried to use names that were terse but matched that sentence - hence Base32 and Segwit. But again we are back to a place where one has to know the bips inside out to use the API.

UncheckedHrpString, CheckedHrpString, and SegwitHrpString

I like this one. As you say, in this module it's better to be explicit, since we don't expect it to be directly used much. So it's okay to have the verbose/repetitive suffixes.
Another thing we should bikeshed is whether Hrpstring is one word or not -- if so, the S should be lowercase. If not, we should stick a _ into all the snake case versions of it. My vote is for Hrpstring.

Oh woops, yes I had settled on hrpstring in local variables but, well observed, I messed up using HrpString - will change to Hrpstring.

I don't really like these "valid HRP" checks, but I guess they're necessary to pass the test vectors in the BIP, so whatever. But it's an extra error variant and codepath to manage that provides zero value because nobody ever wants a "HRP string where the HRP is bc or tb, but I don't care which".

Yeah I toyed briefly with the idea of adding separate functions that include this hrp stuff and then not bothering with it for the "normal" code path.

CheckedHrpstring::validate_segwit_strict
SegwitHrpstring::new_strict
SegwitHrpstring::new_bech32_strict

I had a quick go at implementing this, its ugly.

Changes in force push:

Added a bunch more rustdocs incl. examples
Removed the with_checksum function from BytesIterExt (I added it recently and it is no good).

Changes in force push (all to decode:

Fixed stale local variable names (after all the type naming churn)
Fixed an error variant (also stale)
Fixed incorrect docs on error types (cut'n'pasta fails)

@clarkmoody this one is ready for review if you have the cycles to spare please. Take your time.

While depending on this branch in rust-bitcoin I noticed one error variant was misnamed, renamed SegwitError -> SegwitHrpstringError

Ah sorry @clarkmoody, might want to wait some more ...
@apoelstra this HRP ("bc", "tb", "bcrt") thing is pernicious. I attempted to use this branch today in rust-bitcoin and its basically unusable because of the HRP checks, so one cannot parse a get any segwit checks done. Push a quick Friday afternoon fix to get the discussion started.

ACK e3d62d4bd11eba39d801e40ac4546bf63e74d9d1 except that the last commit should be cleaned up (at least, fix the CI message and remove 'WIP' from the commit message).

Cleaned up and squashed! Note also the additional functions on Hrp commented on above.

Ok @clarkmoody, now its ready for you please if you have time.

If/when this merges should we consider releasing a new version at this stage? The benefit is that the primitives module is in place so if we release we can use it in rust-bitcoin and the play around with it and improve it as needed. Also I do not think that we can get much more done in time for the next release of rust-bitcoin and it would be super nice to be using this stuff already so we can start work on other address improvements in rust-bitcoin. Is there any downsides of doing so that I'm overlooking?

@tcharding we should look at the diff and see how many APIs we've deleted already, and consider trying to make best-effort replacements of those as a stop-gap.

Actually, I think we should release this with a -alpha0 suffix or something rather than trying to emulate the old API. Then people can use it but nobody will feel forced into it.

I think we should release this with a -alpha0 suffix

Good idea.

If you are interested @clarkmoody there is a PR in rust-bitcoin showcasing usage of this branch.
https://github.com/rust-bitcoin/rust-bitcoin/pull/1951

Thanks man, we worked hard on this one.


Schema is available, but query returns no results

I used the sample to send a few hundred events with different types to log analytics. In the Azure portal I can see each type appended with _CL as expected and the schema has correctly identified the various data types and names of each of the properties. But I can't query any of the data - no matter which time range I try the query returns "No results found". I guess the data must be there, though, or how would log analytics have inferred the schema?

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

ID: 1295e1b3-5aed-3aee-4331-8b81e7a7e544
Version Independent ID: 3c00a5ee-7093-1e8b-9004-8fed3f82960e
Content: Log Analytics HTTP Data Collector API
Content Source: articles/log-analytics/log-analytics-data-collector-api.md
Service: log-analytics
GitHub Login: @bwren
Microsoft Alias: bwren

@stubarrpriest Thanks for the feedback! We are currently investigating and will update you shortly.

@stubarrpriest could you describe your issue in more detail in the forums:
https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=opinsights
We might have to enable a support case for you if you do not have a support plan.  I'll be watching for your thread if you open one.

Thanks for pointing me at the forum, I hadn't discovered that.  My issue was exactly the same as the one described in this question and had the same solution: https://social.msdn.microsoft.com/Forums/azure/en-US/2d7e150f-d4d1-491b-950a-c4bb163fd727/http-api-data-not-showing-up-in-log-search?forum=opinsights


Quorum App API: Implement POST /api/v1/container

Description
As a developer I want to use API to run createContainer on Quorum network so that I can integrate with frontend.
Accepts a JSON body in the following format:
{
"misc": {"name": "Pharma Insulin container"},
"trackingID": "17219ad9-3e8b-4c79-ab55-79f6ada4a2d6",
"counterparties": ["PartyB","PartyC","PartyD"]
}

It should return HTTP 400 if any of the fields are missing.
It should return any errors received from the SDK.
Otherwise it should return the generated Container ID in the following format:
{
  "generatedID": "17219ad9-3e8b-4c79-ab55-79f6ada4a2d6"
}

Acceptance Criteria

This should be executed only by manufacturer

Closed with PR #346


[FEATURE] How to ensure that assert messages are logged?

Is your feature request related to a problem? Please describe.
Currently, all messages from the assert conditions flush to the console, which is fine but it does not present a unified logging interface.
Describe the solution you'd like
It would be great if those messages could get flushed to the log file (perhaps in addition to the console).
Describe alternatives you've considered
N.A.
Additional context
Perhaps this could be a solution: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertLogs

Assign to me 😁

@sarthakpati
I think that we can use the  sys.excepthook  and create a customized function that handles the exceptions.
For example
def gandlf_excepthook(exctype, value, tb):
  logging.exception(value)

sys.excepthook = gandlf_excepthook

In this case, do all the assertions need to be of the type AssertionError? What would happen with other types of assertions and the simple assert message?
Any thoughts, @VukW?

This PR is false. Sorry for that..!


Update log message after successful blob storage upload to not refer to a specific blob storage provider

When running an indirect migration, after finishing the upload of
the archives to blob storage, the CLI outputs the following line
to the logs:

Archives uploaded to Azure Blob Storage, now starting migration...

It's great to tell the user that the blob storage upload is done,
but we now support Amazon S3 as well as Azure Blob Storage, but
this log line always mentions Azure.
This updates the log output to just refer to "blob storage" rather
than a specific provider. Previous lines in the logs will make it
clear which provider was used, e.g.:

Uploading archive 2022-11-16_22-24-14-10-metadata_archive.tar.gz to AWS S3

Fixes https://github.com/github/gh-gei/issues/740.

[x] Did you write/update appropriate tests
[x] Release notes updated (if appropriate)
[x] Appropriate logging output
[x] Issue linked
[ ] Docs updated (or issue created)

@dylan-smith Thanks for the review and for updating the PR. Any idea why this is blocked? It looks like all of the checks passed.

@dylan-smith Thanks for the review and for updating the PR. Any idea why this is blocked? It looks like all of the checks passed.

it's because I kicked off a bunch of other actions triggering stuff at the same time, and sometimes int tests get cancelled (since only 1 can run at a time, and actions has no queuing concept for this).  when that happens we just need to rerun it, I'll do it now


Progress-Fill-Bar

What is the change?
Added a component under Progress-bar folder
Related issue?
closes: #331
How was it tested?
tested in local machine
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelineswhile contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[x] Have you made corresponding changes to the documentation?
[x] Have you tested the code before submission?
[x] Have you formatted your code ? (You can use any html,css beautifier)
[x] My changes generates no new warnings.
[x] I'm Diversion2k23 contributor.
[x] I have commented my code, particularly in hard-to-understand areas.

GIF/video of the working of component you created:

the blank space in the gif is not included in the code

the blank space in the gif is not included in the code

Resolve conflicts


Example code in Migrate to Qiskit Runtime is not functional

URL to the relevant documentation
In both here and here we get this line of code
from qiskit_ibm_runtime import QiskitRuntimeService

# IBM Quantum channel; set to default

QiskitRuntimeService.save_account(channel="ibm_quantum", token="<IQP_TOKEN>", overwrite=True, default=true)

which does not run at all.
Select all that apply

[ ] typo
[X] code bug
[ ] out-of-date content
[ ] broken link
[ ] other

Describe the fix.
Should be
QiskitRuntimeService.save_account(channel="ibm_quantum", token="<IQP_TOKEN>") instead.

Thank you @austingmhuang for flagging this! The overwrite=True should work just fine, but default has errors, which I will open a PR to fix. It should be set_as_default=True


Calendar date is not correct

Thanks for your feedback.
It turns out HCalendar's canvas wasn't trimmed properly. I've fixed it in [56f2f51](https://github.com/ashfinal/awesome-hammerspoon/commit/56f2f5191bc983eeb8db1b5c60b3041814e08f3d], please run cd ~/.hammerspoon && git pull, and reload the config.


In addition to triggers, provide the same functionality as @InvocableMethod so it can be used in Flows.

Is your feature request related to a problem? Please describe.
DLRS provides its functionality by deploying triggers.
Describe the solution you'd like
Instead or in addition to deploying a trigger providing the actual RollUp Summary, also provide an Apex Class with an @Invocable Method that can be plugged into a record triggered flow.
Describe alternatives you've considered
None.
Additional context
More and more automation is moved to or built directly in Flows. Also, an invocable method instead of trigger might add less overhead for people working with flow debugger mainly.

Value Proposition: Might reduce deployment issues in context of test coverage which is needed to deploy DLRS triggers.
Currently blocked due: Apex Actions are currently (Summer 21) not supported in Record Triggered Flows

Maybe I'm a bit confused. I thought this was already available using the "Process Builder" mode, though poorly named it should work in Flow. Is there some aspect of the functionality that isn't available or working correctly, @Szandor72?


Preferences are opened in notepad.exe on Windows, mangling line endings

On Windows, the settings are opened in notepad.exe which does not support line breaks. You should either use \r\n in your settings or open the settings with wordpad or any other app that supports Linux-style link breaks.

Not a bad idea, but honestly most people won't have changed their default text editor.

@mqudsi I agree. If you've got notepad++, atom, vs code, etc. configured that'd be best, but that'd be a tiny percentage of users. Lauching with wordpad is probably the best option right now.
Longer term, a fancier solution would be to check if the user has configured a text editor (look up reg key, if it's not notepad.exe use it, otherwise use wordpad) but wordpad would probably be fine.

It's too bad that .js files don't have a default text editor association on windows, it'd be much easier if shell.openItem(fullPath) would do a sane thing by default.

@tivac There is a default .js editor on Windows, and it's configurable. It's just that very few people seem to change it, and code editors (like VS Code) don't seem to set it either. The reg setting is HKEY_CLASSES_ROOT\JSFile\Shell\Edit\Command

A good recommendation in the comments on the PR is to use shell.showItemInFolder() to just show the file in the folder (shell.showItemInFolder()) and allow the user to open via context menu.

Why not simply add it as a configuration option in .hyper.js? That would be the easiest way to configure it.

I am in complete agreement with @tmr232 . There should be an editor: property of the config{} object where the executable (with or without path) can be entered.
It wouldn't hurt to first default to an ENV variable first like %EDITOR% but that is much less common on windows.

I think that is a little bit circular, setting editor in a config that is supposed to be opened by editor.
Ultimately, opening the config is a once-a-month thing, no need to over complicate it. shell.showItemInFolder() is a simple and adaptive solution.

I would suggest to either use HKEY_CLASSES_ROOT\JSFile\Shell\Edit\Command to get the default editor for js files, and if not defined, fall back to Wordpad.
But avoid using notepad since loaded file is unusable as @mqudsi pointed out.

Why don't we just add Windows line endings to the default configurations file?
On Tue, Dec 13, 2016 at 10:57 AM -0600, "Nicolas Ramz"<EMAIL_ADDRESS>wrote:
I would suggest to either use HKEY_CLASSES_ROOT\JSFile\Shell\Edit\Command to get the default editor for js files, and if not defined, fall back to Wordpad.
But avoid using notepad since loaded file is unusable as @mqudsi pointed out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Problem is even if a default editor for .js is defined (which maybe a lot of devs and so users of Hyper do anyway) Hyper still opens it in Notepad :(
If I open it manually in VCSCode (my default .js editor and which handles lines too) it is just fine.

There are three solutions:

Make .hyper.js use CR+LF line endings on Windows. This is trivial.
Check registry for default js editor, and open .hyper.js with that. Fallback to wordpad (see this comment).
Ship with a default text editor (perhaps a plugin) that is a simple textarea with a save button.

Can't see any reason not to use both (1) and (2).

This directly inspired the development and release of the open source betterpad, a plain-text editor for Windows that doesn't suck. Fork on github.


[UI] fix delete domain

Description
When deleting a domain, the UI shows an error, but successfully deletes the domain. This happens because the UI does not refresh the domain list and requests the deleted domain's information, thus ACS would return an error. This was partially fixed on PR #5710, but the changes were insufficient.
In case there is only 2 domains, for example: 'ROOT' and 'A', when deleting 'A' the UI does not show the previous error, but it still shows the deleted domain's information. The proposed solution to this problem is to force the UI to refresh the component that shows the domain information. Therefore, this PR is intended to introduce these changes.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[X] Trivial

How Has This Been Tested?
This was tested in a local lab:

Make the domain list have only the ROOT and any other domain;
Delete the domain;
The ROOT information should be shown, and the ROOT should be selected.

Hi @JoaoJandre Can you rebase this PR with 4.16 please. Thanks.

@blueorangutan ui

@utchoang a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/5882 (SL-JID-1045)

Hi @JoaoJandre Can you rebase this PR with 4.16 please. Thanks.

If it only goes to main its ok for me :)

Hi @JoaoJandre Can you rebase this PR with 4.16 please. Thanks.

If it only goes to main its ok for me :)

The PR #5710 changes are into 4.16.1 already. If you rebase this with 4.16, I'll forward merge the changes to main.

I see, thanks for the tip, but to me it is fine going to main only. We do not use those minor versions.

Hi @JoaoJandre Can you rebase this PR with 4.16 please. Thanks.

If it only goes to main its ok for me :)

The PR #5710 changes are into 4.16.1 already. If you rebase this with 4.16, I'll forward merge the changes to main.

I see, thanks for the tip, but to me it is fine going to main only. We do not use those minor versions.

ok @JoaoJandre

Merging this one base in the approvals and test results.


fix for breaking config file in A/B test version of science sleuth game

What's this PR do?
This PR fixes two errors in the config file of the A/B test version of science sleuth.
How should this be manually tested?
Tested full game run-through with Postman, worked. Will continue to test today all branches of gameplay.

:+1:


Labels change with breakpoints

It would be great if I could specify a column header label to use at each breakpoint. For example "Current Pressure (PSI)" is fine for desktop views, but down at mobile width that's some valuable space being used up for a label that could easily just be "Pressure"
The current workaround I guess is to define 2 columns that are exactly the same, apart from the breakpoints that they appear at and their labels, but this seems superfluous
Perhaps something like this would be good;
{
  label: "Current Pressure (PSI)", // Used for any breakpoints that don't have a label defined
  valuePath: 'pressure',
  resizable: true,
  draggable: true,
  breakpoints: {
    'mobile': {
      label: 'Pressure'
    },
    'tablet': {
      label: 'Pressure (PSI)'
    },
    'desktop': {
      label: 'Current Pressure (PSI)'
    }
  }
}

Once this is working, we could work towards allowing this structure to then be used to define/replace other column properties at each breakpoint.
Just an idea for a future feature.

Another way to implement this would be to write  custom column type / component, one where
it leverages the media service to hook into the different responsive breakpoints
this.get('media.isMobile'); (see https://github.com/freshbooks/ember-responsive)
Then you could write a computed property that reads from an object similar to what you did above.
^ I'd be curious to see how ergonomic this is for your usecase (instead of the separate columns)

Ah thanks, that works quite well!
For anyone else wanting this, here's how I did it;
{
  label: "Current Pressure (PSI)", // Used for any breakpoints that don't have a label defined
  valuePath: 'pressure',
  resizable: true,
  draggable: true,
  type: 'custom-column',
  breakpointOverrides: {
    'mobile': {
      label: 'Pressure'
    },
    'tablet': {
      label: 'Pressure (PSI)'
    },
    'desktop': {
      label: 'Current Pressure (PSI)'
    }
  }
}

//app/components/light-table/custom-column.js
import { computed } from '@ember/object';
import { inject as service } from '@ember/service';

import Column from 'ember-light-table/components/columns/base';

export default Column.extend({
	screenSize: service(),  // This is my own screen size service implementation, instead of ember-responsive... one day I should replace this with ember-responsive

	label: computed('column.label','column.breakpointOverrides','screenSize.getSizeClass', function() {
		let sizeClass = this.get('screenSize.getSizeClass');
		let breakpointLabel = this.get('column.breakpointOverrides.'+sizeClass+'.label');
		if(breakpointLabel)	return breakpointLabel;
		return this.get('column.label');
	})
});

If I also wanted to override say the column's format attribute per breakpoint, how would I go about that? I tried a similar approach with no luck.

While this approach is great and works for label, I keep wanting to override more column fields at each breakpoint (like format and width) but it seems to be more complicated than I thought to do these

I also wrote a custom column type, that switches between two (or more) valuePaths on click. Maybe a more general approach—not only for media breakpoints—for changing column properties would be better suited.


Make onScroll on event on MessageList component

Make onScroll on event on MessageList component: I have a float button to scroll bottom. If scroll is not in bottom, will display this button, if not this button will be hide.

Referenced issue: https://github.com/chatscope/chat-ui-kit-react/issues/70


docs: add email list subscribe guide

issue #257
Add mail subscribe way in README

Hi, @iLern, you could refer this to link pr with associated issue, once the pr is merged the issue will be closed automatically.

I committed to my branch issue#257 but saw 1 workflow awaiting approval. Does it normal? Or did I do anything wrong?

For First-time contributors, CI will not be triggered automatically, it needs the manager of the repository to help trigger, just wait.

Hi, @imbajin, should we update "Community" page at the same time?

Some translation could be improved by GPT/New Bing, try to paste the phrase and ask it for the improvement~ 🤖

GPT Improvement Example
Here are some suggestions for improving the markdown English description:

In the first sentence, you can use "an email list" instead of "email list" to be more grammatically correct.
In the second bullet point, you can use "for both development and user discussions" instead of "for development and users discussions" to avoid confusion between singular and plural forms.
In the third sentence, you can use "the following steps" instead of "following steps" to be more specific.
In the fourth sentence, you can use "a reply" instead of "the confirmation email" to avoid repetition.
In the fifth sentence, you can use "another confirmation email" instead of "another email" to be more clear.
In the seventh sentence, you can use "anytime you want" instead of "anytime you want" to be more natural.
In the ninth bullet point, you can use "send an email" instead of "send mail" to be more consistent with the rest of the text.
In the last sentence, you can use "More information about subscribing to mailing lists can be found at:" instead of "More information of mailing subscribe can be found at:" to be more grammatical and accurate.

The improved paragraph is:
Subscribe to the mailing list
HugeGraph offers an email list for development and user discussions.

hugegraph-dev<EMAIL_ADDRESS>for both development and user discussions.

Subscribe to the mailing list by following these steps:

Email<EMAIL_ADDRESS>from your email account, and then you will receive a confirmation email.
Reply to the confirmation email to confirm your subscription. Then, you will receive another confirmation email.
Now you are a subscriber of the mailing list. If you have more questions, just email to the mailing list and someone will reply to you soon.
If you want to unsubscribe from the mailing list, just email<EMAIL_ADDRESS>and follow the steps in the confirmation email.

You can subscribe to the mailing list anytime you want. Additionally, you can check historical emails / all emails easily (even if you are not subscribed to the list).
Some notes:

If you don't receive the confirmation email, please send an email after 24 hours later.
Don't send an email to dev until you subscribe to the mailing list successfully (otherwise the email will be banned).

More information about subscribing to mailing lists can be found at:

http://apache.org/foundation/mailinglists.html#subscribing

BTW, could click Resolve Conversation after u addressed the comment.

Nice Prompt, for easier reference, copy it here.
检查上面的markdown英文描述，是否有语病或可以改进的地方，请指出具体的点，最后输出改进后的完整段落（注意保留原格式）


[ERROR] Top-level await is not available in the configured target environment ("chrome87", "edge88", "es2020", "firefox78", "safari14" + 2 overrides)

When I build my app with vue-pdf , I got the build error below.
How can I solve the error?
VITE v5.0.11  ready in 495 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
X [ERROR] Top-level await is not available in the configured target environment ("chrome87", "edge88", "es2020", "firefox78", "safari14" + 2 overrides)

node_modules/@tato30/vue-pdf/node_modules/pdfjs-dist/build/pdf.mjs:19764:53:
  19764 │ /******/ __webpack_exports__ = globalThis.pdfjsLib = await (globalThis.pdfjsLibPromise = __webpack_exports__);
        ╵                                                      ~~~~~

C:\dev\Vue\examples\vue3app1\node_modules\esbuild\lib\main.js:1651
  let error = new Error(text);
              ^

Error: Build failed with 1 error:
node_modules/@tato30/vue-pdf/node_modules/pdfjs-dist/build/pdf.mjs:19764:53: ERROR: Top-level await is not available in the configured target environment ("chrome87", "edge88", "es2020", "firefox78", "safari14" + 2 overrides)
    at failureErrorWithLog (C:\dev\Vue\examples\vue3app1\node_modules\esbuild\lib\main.js:1651:15)
    at C:\dev\Vue\examples\vue3app1\node_modules\esbuild\lib\main.js:1059:25
    at C:\dev\Vue\examples\vue3app1\node_modules\esbuild\lib\main.js:1527:9
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errors: [Getter/Setter],
  warnings: [Getter/Setter]
}

Node.js v18.17.0

package.json {
"name": "vue3app2onsenui",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"test:unit": "vitest",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
"format": "prettier --write src/"
},
"dependencies": {
"@tato30/vue-pdf": "^1.10.0",
"@vuepic/vue-datepicker": "^7.4.1",
"@vueup/vue-quill": "^1.2.0",
"firebase": "^9.23.0",
"jssha": "^3.3.1",
"onsenui": "^2.12.8",
"pinia": "^2.1.7",
"vue": "^3.3.11",
"vue-onsenui": "^3.0.0",
"vue-router": "^4.2.5"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.3.3",
"@vitejs/plugin-vue": "^4.5.2",
"@vue/eslint-config-prettier": "^8.0.0",
"@vue/test-utils": "^2.4.3",
"eslint": "^8.49.0",
"eslint-plugin-vue": "^9.17.0",
"jsdom": "^23.0.1",
"prettier": "^3.0.3",
"unplugin-auto-import": "^0.17.5",
"unplugin-vue-components": "^0.26.0",
"vite": "^5.0.10",
"vitest": "^1.0.4"
}
}

That error come comes from an update of pdfjs-dist that started to use await operator in top-level that is a "new" feature of ECMAScript. If you are aware about browser compatibility you could check it here (practically all browsers support it): https://caniuse.com/?search=top level await
The solution is set this config in your vite.config.ts:
export default defineConfig({
  optimizeDeps: {
    esbuildOptions: {
      supported: {
        'top-level-await': true,
      },
    },
  },
  plugins: [vue()],
})

Thanks for prompt response, the error solved with adding the setting to vite.config.

thanks a lot!


Select/TextField should be able to deselect selection

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
I use the Textfield select instead of the Select directly.
When a value is already selected, clicking on it a second time should allow for it to be deselected.
I understand why from a design standpoint you may not want to do this.
But alternatively, please offer a boolean for deselectable for this kind of usage.
I can see when trying to do it manually, that the onChange trigger is not fired when the current selection is clicked. Making that fire in the event of a click is the update I would recommend when this boolean value is passed to allow for deselect.
Thank you for all that you do!
Examples 🌈
No response
Motivation 🔦
In our UI we have 3 horizontal dropdowns that are for layers of hierarchy. Not all 3 layers are required. So if a user clicks 2 or 3 in nesting, they do not have the ability to remove that value if they just want to only use the first layer.

Can you provide an example in a CodeSandbox or a link to the docs demo for a clear understanding? Also providing some steps to replicate your requirement would be great.


Resize Nearest Neighbor does not convert

Hello again! I am attempting to adapt tiny yolo v3 to the edge tpu. My model quantizes and compiles, but it has inference times of ~1.5s. According to the logs, the RESIZE_NEAREST_NEIGHBOR op is not mapped to the edge device, which may account for the slowdown. What should I do to make the mapping successful and improve performance?
I am also using the newest compiler version with tensorflow 2.3.
model
compiled model
logs

@rajansaini691 Thanks for reaching out!
We are actually in the experimentation stage with the yolo models also so I don't know enough to give you too much details. However there are some experimental features that I can use to allow more ops to be mapped to the tpu (not released).
Here is the compiled model with 22/25 ops mapped to the tpu it should be fast enough for real time (this is what I can offer at this time):
tiny_yolo_edgetpu.tflite.tar.gz
tiny_yolo_edgetpu.log
I'm also interested on your approach to this model, would be awesome if you could share :)

@rajansaini691
FYI, the resize nearest neighbor for yolo is 4 dimensions, currently our compiler can only support 3 :(
https://coral.ai/docs/edgetpu/models-intro/#supported-operations

@Namburger You'll find this very interesting. It turns out that the edgetpu compiler fully compiles the tflite model here, which goes on to run in 27 ms! I then followed their instructions to create a retrained model for our dataset. It was a very convoluted process, but I ended up with a tflite model that was nearly identical node-for-node. The only difference was that my ResizeNearestNeighbor op has half_pixel_centers set to true, while theirs is set to false. I'm not sure what this does, other than that theirs compiled while mine didn't, causing a butterfly effect and a massive performance gap.
I am not sure why this is the case. I am guessing they used an older version of the TOCO converter, but my attempts at reverse-engineering their dev environment were not very fruitful. Anyway, if either of us can figure out how to set half_pixel_centers to false, or if your team can support it being set to true, we'll be able to get tiny yolo v3 running insanely quickly and reliably.
Also, your modifications really helped. Unfortunately we are still in the process of retraining and validating our model, so I may need to send you another file in a week or so :)

@rajansaini691 I see, I have also been following that same guide, but have not been able to produce the same model :(
I believe it must be related to the tensorflow version changes and how the tflite model were produced, which all comes down to experimenting at this stage.

Also, your modifications really helped. Unfortunately we are still in the process of retraining and validating our model, so I may need to send you another file in a week or so :)

Totally, keep posting the model here, I'll help you compile it!

@Namburger You'll find this very interesting. It turns out that the edgetpu compiler fully compiles the tflite model here, which goes on to run in 27 ms! I then followed their instructions to create a retrained model for our dataset. It was a very convoluted process, but I ended up with a tflite model that was nearly identical node-for-node. The only difference was that my ResizeNearestNeighbor op has half_pixel_centers set to true, while theirs is set to false. I'm not sure what this does, other than that theirs compiled while mine didn't, causing a butterfly effect and a massive performance gap.
I am not sure why this is the case. I am guessing they used an older version of the TOCO converter, but my attempts at reverse-engineering their dev environment were not very fruitful. Anyway, if either of us can figure out how to set half_pixel_centers to false, or if your team can support it being set to true, we'll be able to get tiny yolo v3 running insanely quickly and reliably.
Also, your modifications really helped. Unfortunately we are still in the process of retraining and validating our model, so I may need to send you another file in a week or so :)

@rajansaini691
FYI, the resize nearest neighbor for yolo is 4 dimensions, currently our compiler can only support 3 :(
https://coral.ai/docs/edgetpu/models-intro/#supported-operations

But Why TF2.1 can support 4-D, I am confused.

@ZhouKai90 do you mean tflite converter?
Because that's a separate process from the compiler:
Input/output is a 3-dimensional tensor. Depending on input/output size, this operation might not be mapped to the Edge TPU to avoid loss in precision

@ZhouKai90 do you mean tflite converter?
Because that's a separate process from the compiler, here's the current doc:
Input/output is a 3-dimensional tensor. Depending on input/output size, this operation might not be mapped to the Edge TPU to avoid loss in precision
If you want me to compile your model with some experimental features, you can post here, I'll gladly compile it for you!

I means if I install TF2.3 and use python script 'tf.lite.TFLiteConverter.from_saved_model()' to convert savedmodel to xxx.tflite.  I got the "RESIZE_NEAREST_NEIGHBOR Operation version not supported" error info when i used edgetpu_compiler to compile the  xxx.tflite . But if I downgraded the TF2.3 to TF2.1，the convert and compile worked perfectly without any error.

@ZhouKai90 do you mean tflite converter?
Because that's a separate process from the compiler, here's the current doc:
Input/output is a 3-dimensional tensor. Depending on input/output size, this operation might not be mapped to the Edge TPU to avoid loss in precision
If you want me to compile your model with some experimental features, you can post here, I'll gladly compile it for you!

I means if I install TF2.3 and use python script 'tf.lite.TFLiteConverter.from_saved_model()' to convert savedmodel to xxx.tflite. I got the "RESIZE_NEAREST_NEIGHBOR Operation version not supported" error info when i used edgetpu_compiler to compile the xxx.tflite . But if I downgraded the TF2.3 to TF2.1，the convert and compile worked perfectly without any error.

In addition, I noticed the converter between TF2.3 and TF2.1. TF2.1 is TOCO, but TF2.3 is MLIR.

Hi @Namburger thanks for your help. Would it be alright if you could convert this model with the new compiler? Also, if it isn't too much trouble, would it be alright if you could post its inference time? I want to make sure that my environment maximizes the detection speed.
tiny_yolo_test.zip

Here it is: tiny_yolo_test.tar.gz

Hi @Namburger , would it be alright if you could compile this model as well?
tiny_yolo.zip
Also, I'm experimenting with different quantization strategies, so I may end up sending you a few (not more than 1 or 2 per day) in the near future. Is there anything I can do to make the process more streamlined for you? Or perhaps compile it myself, if the team's okay with that?

tiny_yolo.tar.gz
@rajansaini691 how about send me an email?
<EMAIL_ADDRESS>

@rajansaini691 Where you able to fix this issue. Our model also takes around 2 secs to inference.

Any news on this issue?
I'm using  Edge TPU Compiler version 15.0.340273435 (tf.version =>2.4.0) and it still gives me the message "Operation version not supported" if I try to use RESIZE_NEAREST_NEIGHBOR and RESIZE_BILINEAR.

Any news on this issue?
I'm using  Edge TPU Compiler version 15.0.340273435 (tf.version =>2.4.0) and it still gives me the message "Operation version not supported" if I try to use RESIZE_NEAREST_NEIGHBOR and RESIZE_BILINEAR.

Hi @Namburger , @ZhouKai90
In my case, even if I use TF 2.0.0, 2.1.0 or 2.2.0, the converter was MLIR.
Apparently, default converter is MLIR. (Please reference link below.)
https://github.com/tensorflow/tensorflow/issues/43247
I solved the RESIZE_NEAREST_NEIGHBOR problem by correcting gen_image_ops.py code.
･･････\Anaconda3\envs\yolov3_3\Lib\site-packages\tensorflow\python\ops\gen_image_ops.py
Correcting points are below.
half_pixel_centers=half_pixel_centers → half_pixel_centers=False
half_pixel_centers = _execute.make_bool(half_pixel_centers, "half_pixel_centers")→half_pixel_centers=False

This is still an issue with current versions, but one possible issue is input sizes. I have a UNet model that fails to map fully with a 256x256 input, but works fine with a 128x128.
For reference, I tried exporting my model with Tensorflow 2.2 and compilation just fails without any reason:
Edge TPU Compiler version 16.0.384591198
Started a compilation timeout timer of 180 seconds.
Compilation child process completed within timeout period.
Compilation failed!

Here's the output from v15 , note none of the layers are mapped and also the log message is basically false?
Edge TPU Compiler version 15.0.340273435

Model compiled successfully in 12614 ms.

Input model: unet_quant.tflite
Input size: 7.51MiB
Output model: unet_quant_edgetpu.tflite
Output size: 10.75MiB
On-chip memory used for caching model parameters: 5.73MiB
On-chip memory remaining for caching model parameters: 1.27MiB
Off-chip memory used for streaming uncached model parameters: 1.73MiB
Number of Edge TPU subgraphs: 4
Total number of operations: 26
Operation log: unet_quant_edgetpu.log

Model successfully compiled but not all operations are supported by the Edge TPU. A percentage of the model will instead run on the CPU, which is slower. If possible, consider updating your model to use only operations supported by the Edge TPU. For details, visit g.co/coral/model-reqs.
Number of operations that will run on Edge TPU: 23
Number of operations that will run on CPU: 3

Operator                       Count      Status

MAX_POOL_2D                    3          Mapped to Edge TPU
CONV_2D                        15         Mapped to Edge TPU
CONCATENATION                  3          Mapped to Edge TPU
QUANTIZE                       2          Mapped to Edge TPU
RESIZE_BILINEAR                3          Operation version not supported

And now 16 - which at least manages to map one of the layers and gives a cryptic error about the other 2:
Edge TPU Compiler version 16.0.384591198
Started a compilation timeout timer of 180 seconds.

Model compiled successfully in 6286 ms.

Input model: unet_quant.tflite
Input size: 7.51MiB
Output model: unet_quant_edgetpu.tflite
Output size: 10.22MiB
On-chip memory used for caching model parameters: 5.20MiB
On-chip memory remaining for caching model parameters: 257.50KiB
Off-chip memory used for streaming uncached model parameters: 2.26MiB
Number of Edge TPU subgraphs: 3
Total number of operations: 26
Operation log: unet_quant_edgetpu.log

Model successfully compiled but not all operations are supported by the Edge TPU. A percentage of the model will instead run on the CPU, which is slower. If possible, consider updating your model to use only operations supported by the Edge TPU. For details, visit g.co/coral/model-reqs.
Number of operations that will run on Edge TPU: 24
Number of operations that will run on CPU: 2

Operator                       Count      Status

RESIZE_BILINEAR                1          Mapped to Edge TPU
RESIZE_BILINEAR                2          Operation is otherwise supported, but not mapped due to some unspecified limitation
MAX_POOL_2D                    3          Mapped to Edge TPU
QUANTIZE                       2          Mapped to Edge TPU
CONCATENATION                  3          Mapped to Edge TPU
CONV_2D                        15         Mapped to Edge TPU
Compilation child process completed within timeout period.
Compilation succeeded!

@Namburger perhaps the compiler is failing to recognise situations where the input size is too large? Or is this symptomatic of another issue with the model?


Stun Expiration

Starting on fixing the removal logic of stun (the stunning fist version; possibly some monster effects).
This commit should restore the intention of the original logic, which tries to actually match the way the P&P rules say you should count the rounds. It was being fouled up because there's an extra initiative signal sent when the turn wraps around with arguments it didn't account for.
However, the logic is still slightly faulty if the attacker and target have the same initiative number. If the tie is broken with the target going first, they won't actually lose a turn. I'm still trying to figure out how best to solve that, because I don't think enough information is actually stored for the precisely correct behavior.

So, I've been thinking a while about how to make the ticking more precise, but I don't have any ideas that won't be a lot more fiddly and complicated in various ways. The logic that's in there right now is only a problem if you're stunning someone with the same initiative number, or if a lot of people have that initiative. That isn't a likely occurrence unless you go wild delaying turns, so I'm inclined to leave it.
The other option would be to completely replace the ticking with the usual ticker that runs on the target's turn. But I'm not sure I have the right information for that (e.g. the address of the Stunned cond struct).

Well the way the game resolves same initiative is through sub initiative. If there isn't a spare arg you could pack it with bitmasking.
Alternatively, maybe consider an aux ticker condition for wider usage... though I suppose that could get hairy.

You're pretty sure that this is the only condition that actually listens to the signal currently?
If I made the initiative tick on every transition with some packing scheme with the subinitiative, that might work. And some logic could be used to try to catch cases where people saved in the middle of combat while someone was stunned. My concern with that was just what other stuff it would affect.

Yeah, pretty sure (are you familiar with the conditions list on the wiki? https://github.com/GrognardsFromHell/DllDocumentation/wiki/Conditions-(List)  )

Both args are already taken unfortunately. It sends the old and the new initiative. And I think that's necessary, because even if every turn sends a signal, delayed turns might end up with the exact number being skipped.

Ah ok.
So here's a little trick: you can add fields to event objects 🙂 As long as they come after the original fields of course.

It's a D20 signal, though, so it'd probably be better not to add fields to that event object, right?
I don't think it's a big deal to pack the values. You'd have to be doing something seriously degenerate to have an initiative and subinitiative that don't fit in 16 bits each. I think the game uses something like 100*dex for initializing the subinitiative, so you'd need a dexterity score of 655 for it to be a problem.

That's true, I just hate bit packing, always feels so hacky 😛
Adding fields that are after the existing ones shouldn't be an issue. We already hooked all the places that actually create the object, and vanilla code always takes it as a pointer, blissfully unaware that it's a larger struct now.
However, the best approach is probably to make the signal arg a pointer to a suitable struct containing all the relevant info. You could even add time stamps and whatnot.

So, I've been studying this a bit, and there's an additional complication.
The stuff that's been pulled into Temple+ just calls an original function with the relevant initiatives. That function is actually responsible for some BeginRound stuff too, for instance, so it's more complicated than just sending the initiative step signal.
However, initiative stepping in combat also isn't the only place that function is called. When out of combat, the function that handles world time also tries to count initiatives from 25 to 0 every 6 seconds. And that doesn't appear to be replicated, either. Without replacing that, the old sort of signal would still be sent out of combat.
So, obviously, that's a lot more complicated than just sending one different signal that is only listened to by one condition.


Use g2 points from spec in minimal preset

The g2 points in the minimal preset (trusted_setup_4.txt) had different points than the spec for g2_points[4:]. This was fine, because only the first 4 get used, but I think it's something we should fix regardless.
See minimal testing_trusted_setups.json in the specs.

LGTM!


Dev server continues to run after aborting npm run dev (Ctrl+C)

Description
I had to restart the dev server after pulling in a package. In my terminal, where npm run dev command was being executed, I pressed Ctrl+C to abort it. Then I ran npm run dev again and it failed with some reference to localhost:8080, and from what I understood, the port was already occupied. Indeed, when I went to localhost:8080 the app was still running even though npm run dev was terminated and the terminal was closed.
Steps

npm run dev
Ctrl+C
npm run dev

Results

Expected: it should restart the dev server
Actual: it fails with an error; the server isn't halted and continues to run on localhost:8000

Brute-force fix
Kill the process manually. In WIndows, you can kill Node.js: Server-side JavaScript from Task Manager.

Could you give some information about your environment?

What OS are you using?
What terminal are you running the command in?
Which version of Node.js?
Do you have the same issue with a fresh copy of the template?

I have the same thing.
npm run dev
press Ctrl-C
reload page and its still running
In order to really stop it I have to run taskkill /F /IM node.exe
Windows 10
Git bash
node 8.1.4
webpack 3.3.0
webpack-dev-middleware 1.11.0

@MaxMilton Same setup as @Christilut except I got node 6.11.1 and webpack 2.6.1. I noticed that this issue doesn't occur with webpack-simple template.

I have the same issue.
Windows 10
Git bash / cmd
node 8.1.4
webpack 2.6.1
webpack-dev-middleware  1.10.0
webpack-hot-middleware 2.18.0
Only "npm run dev" is used.

same issue

os:  windows 10
terminal: git bash
but It's OK in power shell
node: 8.3.0
npm: 5.3.0

    "webpack": "^2.6.1",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-middleware": "^1.10.0",
    "webpack-hot-middleware": "^2.18.0",

This is very possibly this issue from git for windows: https://github.com/git-for-windows/git/issues/1248

Doesn't seem to be directly related to this template. Plus we will be switching to webpack-dev-server in the coming days (#975), so this would have to be re-evaluated after that.

i had the same issue on windows solved it using the commands below remember these commands will only work in cmd not in gitbash
this command will give you the process id of the process running on that specific port

$ netstat -ano | find ":3000 "

this command will tell you which program is using this port
$ tasklist /fi "pid eq {process-id}"
and this will kill that process
$ taskkill /pid {process-id} /f

or you can simple run task manager and kill node's process

I have the same thing.
npm run dev
press Ctrl-C
reload page and its still running
In order to really stop it I have to run taskkill /F /IM node.exe
Windows 10
Git bash
node 8.1.4
webpack 2.3.3
webpack-dev-middleware 1.11.0
Edited: meant webpack 2.3.x

Worked for me.. thanks @Christilut

i had the same issue on windows solved it using the commands below remember these commands will only work in cmd not in gitbash
this command will give you the process id of the process running on that specific port

$ netstat -ano | find ":3000 "

this command will tell you which program is using this port

$ tasklist /fi "pid eq {process-id}"

and this will kill that process

$ taskkill /pid {process-id} /f

Thank you! It works in both Ubuntu and Windows CMD


AZ - New Users

Is your feature request related to a problem? Please describe.
Name: Christina Pickering & Janet White
Job title: Health Reporting Specialist
Organization: Premier Lab Solutions
Email address<EMAIL_ADDRESS>Phone number:<PHONE_NUMBER>
Organization that referred me to ReportStream: Websites Department of Health
Current reporting method(s): CSV generated file via state provided spreadsheet / template.
Describe the solution you'd like
Would like users to be added

@Adrian-Brewster Can we close this ticket. This ticket should not have been created.  The user wanted to create a reportstream account and we are waiting for them to provide more information.

No problem @sliu1000 I can close this out.  Thanks!


Demo Alphabetical Order

Is there currently a way to list the icons in alphabetical order in the demo? If not, this would be great feature to have in the future. It's not a big deal if you only have a small number of icons but when you have a large number of icons, it may be difficult for the user to find the type of icon they are looking for. For example, if they are looking for a facebook icon, instead of manually looking through a potentially large list, they would just scroll to the icons beginning with "f" to find it.
If this is not possible, maybe a search tool could work?
Kudos on a great tool!

there's a search box right on the top left of the website. :) Unless you mean in the icon set you have made.
I do agree though, if we could have an alphabetical option that would be cool, although most icons have multiple tags, I guess the first could be used.

Yes, I meant on the icon set. I ended up adding a simple search script found at http://www.javascripter.net/faq/searchin.htm. Works like a charm!

I originally imported our SVG in alphabetical order but I've found that any new icons that I import are added to the end of the list in both the CSS and the demo.
I haven't dug into any code but my assumption is that the ordering is based on the unicode character sets?
I would love the option to generate the CSS classes and the demo listing in alphabetical order.

I made the macro for the Far Manager Editoe (LUA), which stylizes the fontello demo-file and also sorts the icons alphabetically. If anyone is interested, I can share it.

Standard answer for all such request is: "use fontello API, and then build any customizations from config.json as you wish".
Some examples https://github.com/fontello/fontello/wiki/How-to-save-and-load-projects#advanced-importexport.
Fontello itself use this method too for icons update.


Update Link of Inventory in Install k8s doc

In Installing Kubernetes with deployment tools the link for inventory was updated from: https://github.com/kubernetes-sigs/kubespray/blob/master/docs/ansible.md#inventory to: https://github.com/kubernetes-sigs/kubespray/blob/master/docs/ansible/inventory.md
It was necessary as it shows "404-Page not found".

/lgtm


Ability to ignore unlicensed packages

Hi, we currently have azure sdk dependencies that have direct dependencies with internal packages which doesn't contain license. As it's a indirect dependency on our side, we can't just bump to a version that contains a license file, we need to have the ability to avoid checking license of those dependencies. In other terms, we want to avoid having errors for packages on which we don't have any control.
Examples
$ go-licenses save . --save_path=./acknowledgements \
  --filter github.com/Azure/azure-sdk-for-go/sdk/internal/log \
  --filter github.com/Azure/azure-sdk-for-go/sdk/internal/diag \
  --filter github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo \
  --filter github.com/Azure/azure-sdk-for-go/sdk/internal/uuid

$ go-licenses save . --save_path=./acknowledgements --filter github.com/Azure/azure-sdk-for-go/sdk/internal/*

# Another option would be to provide an option to ignore all packages that doesn't contain a license file.
$ go-licenses save . --save_path=./acknowledgements --ignore-unlicensed
# or
$ go-licenses save . --save_path=./acknowledgements --skip-missing

It would be especially nice to be able to exclude the current project.


Can we passing additional parameter from rendertron server

this is my domain of rendertron server
http://<IP_ADDRESS>:3000
when i fetch below URL of our site
/https://xyz.com
so the request should be following
http://<IP_ADDRESS>:3000/render/https://xyz.com
i need to append static additional parameter like ?rt=true
it should look like following always
http://<IP_ADDRESS>:3000/render/https://xyz.com?rt=true
where rt=true is always there for any request with above rendertron request

You can do this by URL encoding the parameters.
For your example, the render URL would be: http://<IP_ADDRESS>:3000/render/https://xyz.com%3Frt%3Dtrue


Fixed #31013 -- Removed jQuery dependency from SelectBox.js

https://code.djangoproject.com/ticket/31013

buildbot, test on selenium.

buildbot, test on selenium.

buildbot, test on selenium.

buildbot, test on selenium.


Incorrect results returned by dl_matrix3dff_conv_3x3

Hi team,
I compared the dl_matrix3dff_conv_3x3 and dl_matrix3dff_conv_common functions, but the dl_matrix3dff_conv_3x3 function gives incorrect output, when n > 1.
Attached is the test example to reproduce the error.
The output of the example code is printed below.
Please note that the results are incorrect for the case n > 1 (n - number of filters in convolution kernel).
conv_test.txt

Could you show me your code? I can't get your results in my project.

Hello @TiramisuJ,
My code is in conv_test.txt file.
conv_test.txt
#include <stdio.h>
#include <stdlib.h>
#include "dl_lib_matrix3d.h"
#define HEIGHT 4
#define WIDHT 4
const static fptp_t Conv3D_bias_item_array[] = {
0.0f, 0.0f
};
const static dl_matrix3d_t Conv3D_bias = {
.w = 1,
.h = 1,
.c = 2,
.n = 1,
.stride = 2,
.item = (fptp_t *)(&Conv3D_bias_item_array[0])
};
const static fptp_t Conv3D_kernel_item_array[] = {
0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f
};
const static dl_matrix3d_t Conv3D_kernel = {
.w = 3,
.h = 3,
.c = 1,
.n = 2,
.stride = 6,
.item = (fptp_t *)(&Conv3D_kernel_item_array[0])
};
void printData(dl_matrix3d_t);
void app_main()
{
dl_matrix3d_t *input = dl_matrix3d_alloc(1, HEIGHT, WIDHT, 1);
float inputData[] = { 1.0f, 1.0f, 1.0f, 0.0f, \
					  0.0f, 1.0f, 1.0f, 1.0f, \
					  0.0f, 0.0f, 1.0f, 1.0f, \
					  0.0f, 0.0f, 1.0f, 1.0f
};

input->item = inputData;

puts("Input Data");
printData(*input);

puts("Conv3d Kernel");
printData(Conv3D_kernel);

puts("Conv3d Bias");
printData(Conv3D_bias);

dl_matrix3d_t *Conv3D_1 = dl_matrix3dff_conv_common(input, &Conv3D_kernel, &Conv3D_bias, 1, 1, PADDING_VALID);

dl_matrix3d_t *Conv3D_2 = dl_matrix3dff_conv_3x3(input, &Conv3D_kernel, &Conv3D_bias, 1, 1, PADDING_VALID);

puts("dl_matrix3dff_conv_common");
printData(*Conv3D_1);

puts("dl_matrix3dff_conv_3x3");
printData(*Conv3D_2);

}
void printData(dl_matrix3d_t data)
{
int n = data.n;
int w = data.w;
int h = data.h;
int c = data.c;
for (int b = 0; b < n; ++b) {
	printf("n = %d\n", b);
	for (int k = 0; k < c; ++k) {
		printf("c = %d\n", k);
		for (int j = 0; j < w; ++j) {
			for (int i  =0; i < h; ++i)
				printf("%.1f\t", data.item[b * w * h * c + j * h * c + i * c + k]);
			puts(" ");
		}
	}
	puts(" ");
}
puts(" ");

}
Regards,
Vvard

Hi, The "stride" parameter in "dl_matrix3d_t" structure is equal to w * c. So the initial value of the "stride" in "Conv3D_kernel" is wrong, and the correct value is 3. You can try again after fixing this bug.

Another tip. When you use the "dl_matrix3d_alloc" function, it will malloc a space for the "item". Then you change the address of the "item" pointer. If you want to free your "input", don't forget to free the item space that "dl_matrix3d_alloc" function applies.

Hi @TiramisuJ,
Thanks a lot for your assistance.
That helped.
Actually I ported a code implemented by dl_matrix3dff_conv_common, which seems does not require correct assignment for stride parameter, which mislead and caused the incorrect understanding of "stride" parameter.
This might not be crucial, but you might consider fixing it in future.
Thanks again.
Have a nice day)

Hi @Vvard ,
The implementation of the "dl_matrix3dff_conv_common" function and the "dl_matrix3dff_conv_3x3" function is different. For a 3x3 convolution calculation, using "dl_matrix3dff_conv_3x3" is faster.
Thanks for your advice. I will fix it in future.

Hi @TiramisuJ
Thank you for advice)
Regards,
Vard


[Event Request] - SalesPost.Codeunit.al - OnPostATOAssocItemJnlLineBeforeRemainingPost

We like to request the following Event:
Object: SalesPost.Codeunit.al
Where is the event placed:
local procedure PostATOAssocItemJnlLine(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var PostedATOLink: Record "Posted Assemble-to-Order Link"; var RemQtyToBeInvoiced: Decimal; var RemQtyToBeInvoicedBase: Decimal)
var
    DummyTrackingSpecification: Record "Tracking Specification";
    IsHandled: Boolean;
begin
    IsHandled := false;
    OnBeforePostATOAssocItemJnlLine(SalesHeader, SalesLine, PostedATOLink, RemQtyToBeInvoiced, RemQtyToBeInvoicedBase, ItemLedgShptEntryNo, IsHandled);
    if IsHandled then
        exit;

    with PostedATOLink do begin
        DummyTrackingSpecification.Init();
        if SalesLine."Document Type" = SalesLine."Document Type"::Order then begin
            "Assembled Quantity" := -"Assembled Quantity";
            "Assembled Quantity (Base)" := -"Assembled Quantity (Base)";
            if Abs(RemQtyToBeInvoiced) >= Abs("Assembled Quantity") then begin
                ItemLedgShptEntryNo :=
                  PostItemJnlLine(
                    SalesHeader, SalesLine,
                    "Assembled Quantity", "Assembled Quantity (Base)",
                    "Assembled Quantity", "Assembled Quantity (Base)",
                    0, '', DummyTrackingSpecification, true);
                RemQtyToBeInvoiced -= "Assembled Quantity";
                RemQtyToBeInvoicedBase -= "Assembled Quantity (Base)";
            end else begin
                if RemQtyToBeInvoiced <> 0 then
                    ItemLedgShptEntryNo :=
                      PostItemJnlLine(
                        SalesHeader, SalesLine,
                        RemQtyToBeInvoiced,
                        RemQtyToBeInvoicedBase,
                        RemQtyToBeInvoiced,
                        RemQtyToBeInvoicedBase,
                        0, '', DummyTrackingSpecification, true);

                OnPostATOAssocItemJnlLineBeforeRemainingPost(SalesHeader, SalesLine, PostedATOLink, RemQtyToBeInvoiced, RemQtyToBeInvoicedBase, ItemLedgShptEntryNo);

                ItemLedgShptEntryNo :=
                  PostItemJnlLine(
                    SalesHeader, SalesLine,
                    "Assembled Quantity" - RemQtyToBeInvoiced,
                    "Assembled Quantity (Base)" - RemQtyToBeInvoicedBase,
                    0, 0,
                    0, '', DummyTrackingSpecification, true);

                RemQtyToBeInvoiced := 0;
                RemQtyToBeInvoicedBase := 0;
            end;
        end;
    end;
end;

Event Code:
[IntegrationEvent(false, false)]
local procedure OnPostATOAssocItemJnlLineBeforeRemainingPost(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var PostedATOLink: Record "Posted Assemble-to-Order Link"; var RemQtyToBeInvoiced: Decimal; var RemQtyToBeInvoicedBase: Decimal; var ItemLedgShptEntryNo: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


[8.x] Solve Socket Blocks when Specify Timeout on Worker

TCP/UDP etc. connections blocking IO, we can solve this with forking worker process. Solves specify Timeout IO blocking problems on socket connection workers.

Related Issue: https://github.com/laravel/framework/issues/34153.

What do you think about pnctl_fork solution?

We have tried forking before it leads to more problems.


Issue sending link with Custom URL scheme

Hi. Thank you Eddy for this wonderful plugin: it works like a charm in Cordova 6.3.1.
I'm trying now to share not a web link but a link which should open my app. I have installed your Custom-URL-scheme plugin too and I try to send links to mycoolapp, in order to allow the recipient user to tap the link and get my app (if installed) open up... but it looks like links to 'mycoolapp' are never recognized as links nor by Whatsapp, nor by Gmail and so on... They are just plain text and they don't open the app.
Can you tell me if it is just an unsupported feature or if I have to adjust code someway?
Thank you in advance

I solved using https://github.com/nordnet/cordova-universal-links-plugin and removing custom-url-scheme.


chore: sync release branch 0.11.x

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
This PR syncs the release branch with these PRs:

[x] https://github.com/falcosecurity/libs/pull/1116
[x] https://github.com/falcosecurity/libs/pull/1117

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

LGTM label has been added.  Git tree hash: 79f632d07063f9417877182343d1e4a7b1079e56

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Day88

Resolves #185.

Pull Request Test Coverage Report for Build 363

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 361:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls

Pull Request Test Coverage Report for Build 368

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 361:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls


Add user component define for extensions path

Auditors: @bridiver @darkdh

we should follow-up later and see if there is a way to keep this in electron


Why this implementation takes up much more memory than equifold?

Hi, great work! I find this library very memory-intensive. How can I reduce the memory usage? Do you have any plans to reduce the occupation of GPU memory?
When I run the following code, I will get CUDA out of memory Error on RTX4090 which have 24GB gpu memory.
import torch

from equiformer_pytorch.equiformer_pytorch import Equiformer

model = Equiformer(
    dim=128,
    depth=2,
    l2_dist_attention=True,
    reduce_dim_out=True
).to('cuda')

feats = torch.randn(2, 64, 128, device='cuda')
coors = torch.randn(2, 64, 3, device='cuda')
mask = torch.ones(2, 64, dtype=torch.bool, device='cuda')

out = model(feats, coors, mask)

and error is
...
File "/xxx/equiformer-pytorch/equiformer_pytorch/equiformer_pytorch.py", line 426, in forward
    out = out + R[..., i] * B[..., i]
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.66 GiB (GPU 0; 23.99 GiB total capacity; 21.60 GiB already allocated; 0 bytes free; 22.44 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Looking forward to your reply, thanks!

I try to use this hyper-param to save the memory:
model = Equiformer(
    dim=32,
    depth=6,
    l2_dist_attention=True,
    reduce_dim_out=True,
    dim_head=4,
    heads=4,
    single_headed_kv=True,
    radial_hidden_dim=32,
    num_neighbors=128,
)

But it still takes up much more memory than equifold.

Hi, I met with the same issue. My experiments show that the number of neighbors, the input length and the number of degrees influence a lot on GPU usages. I have been keeping track of this issue but see now it is closed. Any successful trick that you would kindly share to reduce the GPU usage? Thanks.


Update Introduction page with new high level image

Introduction page [1] needs a new high level image and new description based on the image.
https://ei.docs.wso2.com/en/next/ballerina-integrator/getting-started/introduction/

Fixed.
https://github.com/wso2/ballerina-integrator/pull/475
https://github.com/wso2/ballerina-integrator/pull/466/files


warn: where_clauses_object_safety when adding default implementation for async_trait

Description
Getting warning #[warn(where_clauses_object_safety)] when adding default implementation for async_trait
Sample Case
use tokio::time;

#[async_trait::async_trait]
trait Waiter {
    async fn wait_inner_sec(&self, name: &str);
}

struct Walker {
    inner: u64,
}

impl Walker {
    fn new(inner: u64) -> Self { Self { inner } }
}

#[async_trait::async_trait]
impl Waiter for Walker {
    async fn wait_inner_sec(&self, name: &str) {
        println!("waiting for: {}", name);
        time::sleep(time::Duration::new(self.inner, 0)).await
    }
}

#[tokio::main]
async fn main() {
    let walker = Walker::new(1);
    let dyn_walker: Box<&(dyn Waiter)> = Box::new(&walker);
    dyn_walker.wait_inner_sec("plane").await;

}

This example works properly and there is no issue with object-safety here!
Now, if I add a default implementation for the trait
#[async_trait::async_trait]
trait Waiter {
  async fn wait_inner_sec(&self, name: &str) {
    println!("waiting for: {}", name);
    time::sleep(time::Duration::new(5, 0)).await
  }
}

After this change, I suddenly get 1 warning and 1 error.

The Error

error[E0277]: `dyn Waiter` cannot be shared between threads safely
  --> src/main.rs:31:5
   |
31 |     dyn_walker.wait_inner_sec("plane").await;
   |     ^^^^^^^^^^ -------------- required by a bound introduced by this call
   |     |
   |     `dyn Waiter` cannot be shared between threads safely
   |
   = help: the trait `Sync` is not implemented for `dyn Waiter`
note: required by a bound in `Waiter::wait_inner_sec`
  --> src/main.rs:5:5
   |
5  |     async fn wait_inner_sec(&self, name: &str) {
   |     ^^^^^ required by this bound in `Waiter::wait_inner_sec`

This can be solved with
- let dyn_walker: Box<&(dyn Waiter)> = Box::new(&walker);
+ let dyn_walker: Box<&(dyn Waiter + Sync)> = Box::new(&walker);

The Warning

warning: the trait `Waiter` cannot be made into an object
 --> src/main.rs:5:14
  |
5 |     async fn wait_inner_sec(&self, name: &str) {
  |              ^^^^^^^^^^^^^^
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue #51443 <https://github.com/rust-lang/rust/issues/51443>
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
 --> src/main.rs:5:14
  |
4 | trait Waiter {
  |       ------ this trait cannot be made into an object...
5 |     async fn wait_inner_sec(&self, name: &str) {
  |              ^^^^^^^^^^^^^^ ...because method `wait_inner_sec` references the `Self` type in its `where` clause
  = help: consider moving `wait_inner_sec` to another trait
  = note: `#[warn(where_clauses_object_safety)]` on by default

The warning doesn't provide the whole context
In my implementation I haven't used any where clause.
After expanding the macro turns out the function has a where clause, where self is referenced Self: Sync
This problem can be solved by trait Waiter: Sync, but should this warning even occur?

It's a false positive https://github.com/rust-lang/rust/issues/51443#issuecomment-1374847313.
You can use #![allow(where_clauses_object_safety)] in your crate for now.

This is fixed in Rust 1.69.0 by https://github.com/rust-lang/rust/pull/107082.

Awesome! Thanks a lot


Tidy up "status_wireless.php"

Remove closing FONT tags

Looks like someone removed half of an unneeded font tag set :(
Thanks


Replace implicit imports with explicit imports

Fixes #134
As title says, the implicit imports are replaced with explicit imports in test_estimators.py.
It was a bit hard to find some of them from scikit-learn. Let's see if it improves code coverage.

Well it does not. I will try to replace them in sklearn_patches.py too.

For some reason, test_estimators.py is not listed on the coverage report, which probably explains why sklearn_patches.py is almost not covered. It is unclear to me why test_estimators is ignored

Well, it is explicitly ignored in travis. Im not sure why, though. Could you check in this direction ?

That may be a better explanation. I will try to remove it and see how things go.

With the current travis configuration file, the doctests are not run, because it is specified to run only the tests in the tests folder: pytest -v tslearn tslearn/tests/
It seems like an unintended behavior imho.

The clustering algorithms do not pass the tests. I am a bit tired, so I may say something stupid, but predict returns the argmin of the cross-similarity matrix:
https://github.com/rtavenar/tslearn/blob/eb37c4fbebc2e575c16a955c4bb895cf016faf29/tslearn/clustering.py#L1102
So an array of non-negative integers. So the smallest label can never be -1, and may be 1 when there is noise?
https://github.com/rtavenar/tslearn/blob/eb37c4fbebc2e575c16a955c4bb895cf016faf29/tslearn/tests/sklearn_patches.py#L117-L118

Never mind, it seems like the tests pass for some configurations, and lead to a more reasonable code coverage. A bit weird...

test_all_estimators should be refactored with pytest.mark.parametrize: it would make the output cleaner and it would avoid the runtime issues.

OK, so the failing tests are related to clustering algorithms that do not assign data to every possible cluster. Maybe adding a bit more samples to the dataset could make this more stable?
And I agree with your remark on pytest.mark.parametrize.
I can try to implement fixes, but I am not sure I can push to your master. Let me know what is best for you.

I will try to fix this and get back to you later on.

Locally, if I just set the number of time series per class (for the clustering tests only) to 15, all tests pass.

Locally, if I just set the number of time series per class (for the clustering tests only) to 15, all tests pass.

Did you change the number of time series in _create_small_ts_dataset()?

My code with pytest.mark.parametrize doesn't seem to work on Python 2.7...
One issue I faced during this PR: a lot of the functions used in sklearn_patches.py and test_estimators.py are not part of the public API of scikit-learn. I have the master branch installed and some functions were removed. I copy pasted them, but overall I don't think that it will be easy to maintain them, because these functions can be removed without any deprecation warning.

Locally, if I just set the number of time series per class (for the clustering tests only) to 15, all tests pass.

Did you change the number of time series in _create_small_ts_dataset()?

I did the following :
def _create_small_ts_dataset(n_ts_per_class=5):
    return random_walk_blobs(n_ts_per_blob=n_ts_per_class, n_blobs=3,
                             random_state=1, sz=10, noise_level=0.025)

So I removed the @ignore_warnings() decorator, which enables the code to run on Python 2. KShape test fails on Python 2 only, with the predicted clusters being [0, 2] instead of [0, 1, 2]...
https://travis-ci.org/rtavenar/tslearn/jobs/578251283#L822-L836

One issue I faced during this PR: a lot of the functions used in sklearn_patches.py and test_estimators.py are not part of the public API of scikit-learn. I have the master branch installed and some functions were removed. I copy pasted them, but overall I don't think that it will be easy to maintain them, because these functions can be removed without any deprecation warning.

Argh, this is an important point indeed. Not sure how to deal with it in the future...

Seems like we have an issue here: There are failing tests but the Travis indicator for those jobs is green :/

My code for pyts is slightly different, I don't know if that would solve this:
https://github.com/johannfaouzi/pyts/blob/5b4310f581af774eb9d4575c0e40251ef707b5c8/.travis.yml#L32-L39

I know nothing about bash, but the if else loop seems weird, doesn't it ?
https://travis-ci.org/rtavenar/tslearn/jobs/578251283#L1029
Unix always exits with the status of the last command in the pipeline, so if there are several commands and the last one succeeds, it doesn't matter that previous commands failed.

Do you agree with the way the noise is added @rtavenar ?
https://github.com/rtavenar/tslearn/blob/eb37c4fbebc2e575c16a955c4bb895cf016faf29/tslearn/tests/sklearn_patches.py#L78
Right now it adds new points that are noise, instead of adding noise to existing points.

Do you agree with the way the noise is added @rtavenar ?
https://github.com/rtavenar/tslearn/blob/eb37c4fbebc2e575c16a955c4bb895cf016faf29/tslearn/tests/sklearn_patches.py#L78
Right now it adds new points that are noise, instead of adding noise to existing points.

Hum, this is not noise imo, this is a new dataset that includes the previous one. Not sure why we should do that instead of adding white noise to the original dataset.

My code for pyts is slightly different, I don't know if that would solve this:
https://github.com/johannfaouzi/pyts/blob/5b4310f581af774eb9d4575c0e40251ef707b5c8/.travis.yml#L32-L39

I agree that doing it this way is probably better (and is much more readable), and I guess the exit code we get is the one from the command that sends the coverage report rather than the one that corresponds to the tests themselves.

By the way, @johannfaouzi : all your commits are assigned to johann.faouzi (unknown github user) and hence you do not appear as a tslearn contributor, which is a pity

By the way, @johannfaouzi : all your commits are assigned to johann.faouzi (unknown github user) and hence you do not appear as a tslearn contributor, which is a pity

Thanks! I was wondering why, and the issue is that I was using another ID (because I once worked on GitLab and had to use my email from the institute I work in) and never changed it back to my GitHub ID...

I tried to ignore warnings by modifying the setup.cfg file but it didn't work. All the tests are passing (I think), but the output is ugly. I had to remove the @ignore_warnings decorator because it wasn't working well with @pytest.mark.parametrize for Python 2.7.
Let me know what you think about the current state of the PR.

Have you tried options described there ?
Like, for example, would it be a problem to disable warnings while running tests using --disable-warnings? Or use the dedicated decorator @pytest.mark.filterwarnings?

Thanks for the links @rtavenar! I think that it works quite well right now. I disabled:

DeprecationWarning,
PendingDeprecationWarning,
sklearn.exceptions.SkipTestWarning, and
UserWarning

There are a few RunTimeWarnings for Python 3.5 that could be worth looking at (but out of scope for this PR), and I'm not sure why it's happening for this version only.