"This binary expression is never nullish" errors due to the way I format my code

🔎 Search Terms
This binary expression is never nullish
🕗 Version & Regression Information

(Pretty confident that) this changed in commit or PR #59217

⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.6.0-beta#code/KYOwrgtgBACghgJwC4HkBmAROBPKBvAWACgBIAOQEsBzACySQomCgF4oAmKAKi6gAYANMRJYA7iFYduvAIxDSAZTAgEFAM7M2nHh3kicDJpO28AzHqUgNSY9KgAWPRjBqA1rZ0BWecICCAG38sbENNKDEJAB8oS1UNKGjg0ISY5Ws9AP9KWnpGMOc3FOy6UIz-URw1SUykvJTM4tymeQBfYmIAE2AAY39EZm6AeysbKgRBsAAHAC4oACUewYQOgB54ZHRggShwCAAjYAQAbQBdU5TlLrQKEGAOgD4Abk6evoQB4bUbScRUTBxZus-sFnkRiEMRlBrFU2JdgNdbh1hAB6ZFQJAIXBjODgN5QH7IKCDNBQDo4KDXBBfYQAfhpUDGE0mRwJwJwJxRaKQNFAUG6PO67goJO5zGxuMQ+N+RJJZNw6igONwrJlO2oJTy2xxHSgwqhg3RmMVgTVOShP3Ealp9IAFEDNjgAHQNdVNZgAMilG3+uHpjKmR3tPudgUaoROUFmcIRdwAlJz0TyJPyekKRTyGQgcWA8SriaTyQqlV6bPm5aVFSAdXq1AaMbg4Ca5ea4JbrVA7b8HdgQ0EDHVPazu1A-eMA0Hgr3akwI1Gq-CbnGE2hG-49nBBeiDauC7g1BarO3-cyJ06AhVsGoTqCgA
💻 Code
const sets = undefined
	// try granular part of day first
	?? group[partOfDay]
	// then check if the granular part of day is any part of nighttime, and if so try all night spawns
	?? (PartOfDay.AllNighttime & partOfDay ? group[PartOfDay.AllNighttime] : undefined)
	// then check if the granular part of day is any part of daytime, and if so try all day spawns
	?? (PartOfDay.AllDaytime & partOfDay ? group[PartOfDay.AllDaytime] : undefined)
	// fallback to all day spawns
	?? group[PartOfDay.Always];

🙁 Actual behavior
My codebases have a number of instances of things similar to the above — undefined is used to put the actual potential results each on their own line, all formatted the same way. However this no longer works in TS 5.6.0 due to it throwing an error. I think this is an over-eager error message.
🙂 Expected behavior
I should be able to format the code how I want to still
Additional information about the issue

Other examples of code in my codebases broken by this
let plugs: PlugRaw[] = undefined
	?? (this.state ? refresh.plugs ?? [] : undefined)
	?? this.plugs?.slice()
	?? (!this.plugSetHash ? undefined : (await DestinyPlugSetDefinition.get(this.plugSetHash))?.reusablePlugItems)
	?? (this.plugSetHash ? undefined : (await DeepsightSocketExtendedDefinition.get(this.item?.definition.hash))?.sockets[this.index]?.rewardPlugItems)
	?? [];

Component.create()
	.classes.add(ItemTooltipSourceClasses.ActivityName)
	.text.set(undefined
		?? Display.name(lostSectorDisplay)
		?? Display.name(source.dropTable.displayProperties)
		?? Display.name(activity))
	.appendTo(activityComponent);

.setRefreshMethod(() => undefined
	?? (status === UiStatusType.Cut ? this.human?.getStatusLevel(StatusType.Bleeding) === BleedLevel.Minor : undefined)
	?? (status === StatusType.Bleeding ? this.human?.getStatusLevel(StatusType.Bleeding) === BleedLevel.Major : undefined)
	?? !!this.human?.hasStatus(status as StatusType))

Also, this still works for true && conditions and false || conditions — would be nice if it stayed consistent:
const inRange = true
	&& gatherTile.x - treasureRange <= treasure.x && gatherTile.x + treasureRange >= treasure.x
	&& gatherTile.y - treasureRange <= treasure.y && gatherTile.y + treasureRange >= treasure.y
	&& executor.z === map.position.z;

const needsAuthView = false
	|| (viewRequiredAuth === "required" && !ProfileManager.isAuthenticated())
	|| (viewRequiredAuth === "spy" && !ProfileManager.get());

I wouldn't call this a formatting issue, since the line breaks aren't involved.  Writing it all on the same line doesn't change the error.
Note that whether or not this is intentional behavior, the error message is bizarre. Right now it's flagging undefined with the error "This binary expression is never nullish. Are you missing parentheses?" 😕

That's true. I guess I was a little hyperfocused on the formatting aspect because I wouldn't do this kind of thing a single line, since it's just noise in that case

Note that whether or not this is intentional behavior, the error message is bizarre. Right now it's flagging undefined with the error "This binary expression is never nullish. Are you missing parentheses?" 😕

And you can't even work around it using a type assertion, which IMO would be a suitable solution to the OPs issue.

The error message needs to be fixed but I'd still consider this a correctly-issued error. This doesn't seem to be an idiomatic pattern and honestly, as a human, honestly that code does look like it has a bug. It's not really distinguishable from other cases which absolutely do represent bugs. As a workaround you could write something like
const seeBelow = undefined;
const p = seeBelow
  ?? a
  ?? b
  ?? c;

since the check is entirely syntactic on undefined.
true and false don't get the "static truthiness" check applied since things like while (true) or do { } while (false) are reasonable to write.

Since you've added Help Wanted and put it in the Backlog, does that mean it won't be fixed in 5.6.0 unless I PR to fix it? I can try, I suppose.
Regarding the comment:
In the one project I had to port over to 5.6.0-beta due to a teammate, I changed about 30 instances of code like this to use a new _ global I set up instead. I probably could've also done something like Undefined. Either way is in my opinion pretty terrible, but it was what I had to do here.
I have been using TypeScript and doing this for a number of years and would not be exaggerating to say there are hundreds of instances of this in my code. I would really rather not have to change all of them. It's probably at least a thousand if we're including the true && and false || variants, which I see as functionally the same thing. It's really bizarre to me that it would work for those but not for this. In practice they all work the same, even if they're classified differently — && uses the right if the left is truthy, || uses the right if the left is falsy, and ?? uses the right if the left is undefined or null.
In an ideal world, I would be able to put nothing on the first line and have ?? or || or && work fine without something on the left, like how TypeScript supports starting types with a leading | or & for consistent formatting of the components of the type on each line (clearly at some point your design you all have seen the benefit of that?) But yeah, that does not work in JavaScript and will probably never work in JavaScript, because teams writing code with an extraneous line like this is not particularly common even if it is arguably easier to read when you're used to it due to all relevant lines being formatted identically.
So since JavaScript will probably never support this, I've been doing this alternative. (And like all programming things, if you haven't been doing it you're not used to code like this so it looks confusing. I promise, for people doing this consistently, it's not!)
As far as this not being idiomatic — when exactly does something become idiomatic? SQL commonly has people write WHERE 1=1 or 1=0 so that every subsequent AND condition or OR condition line can be more quickly commented out or added/removed entirely. No, I don't normally see this in JavaScript, but I don't really know why? In the case of undefined ?? at least, ?? is a fairly new construct so it makes sense to me that people don't use that operator like that yet.

I imagine the PR that would be accepted is a correction on the error message. Setting aside the specific error message, that there is an error under these circumstance is "working as intended." Branching on a known/constant condition is indicative of a mistake and should be called out. It wouldn't make sense to get rid of that useful functionality to suit a coding style.

In an ideal world, I would be able to put nothing on the first line and have ?? or || or && work fine without something on the left

ts-ignore seems suitable for this purpose? Since you wouldn't have a type error on the left side

As far as this not being idiomatic — when exactly does something become idiomatic?

"idiomatic" means "in common use". We ran this check on 800 repos and found zero instances of this pattern; everything the check did find was a bona fide bug. At some point it's worth the 0.1% false positive rate to find the other 99.9%.

I've cloned the latest commit and I've been playing with predicateSemantics.ts.
const p01 = null ?? 1; // This expression is always nullish.
const p02 = null ?? null; // This expression is always nullish.

const p10 = cond ?? null ?? 1; // OK
const p11 = cond ?? null ?? null; // OK
const p12 = cond ?? (null ?? 1); // This expression is always nullish.
const p13 = cond ?? (null ?? null); // This expression is always nullish.

To me it seems like the actually useful error would be on p10 and p11 here, since that could be indicative of missing parentheses, but they're apparently fine right now? And meanwhile I can't see any reason why null ?? at the start of an expression would ever exist unintentionally, since it wouldn't be affected at all by being wrapped in parentheses and null is a literal

This also doesn't error but probably should?
declare let opt: number | undefined;
declare let opt2: number | undefined;

const p19 = opt ?? (opt2 ? null : undefined) ?? 1; // OK

Well, I have it working as I think it should locally, so I could make a PR. But I think we're still not on the same page so maybe this isn't helpful? Thoughts appreciated though

I encountered this same in my project.
// OK
const a = false || obj["key1"] || obj["key2"];

// NOK
const b1 = undefined || obj["key1"] || obj["key2"];
const b2 = undefined ?? obj["key1"] ?? obj["key2"];

we had b - because at the time of writing it seemed better - since obj[] can return undefined, lets start with undefined.
It just seems slightly strange to see the special handling for false, but not null or undefined literals?

From the PR description:

The expressions false, true, 0, and 1 are excluded from this check, since code like while (true) {, while(1) {, do { } while (false), if (true || i_am_just_debugging) { are common and unlikely to represent programmer errors.


[Enhancement]: add level button in minesweeper game

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
Game enhancement : add level button in minesweeper game . user can set level of game : easy , meduim , hard.
Describe the solution you'd like
Solution steps : add level button in minesweeper game . user can set level of game : easy , meduim , hard.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Vipullakum007 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

@kunjgit Could you please assign this issue to me under the GSSOC'24 label?

@kunjgit  Can you please assign this to me....??? I would like to work on it.

/assign

/assign

Hey @Vipullakum007 ! , This issue is already assigned to @dnyandeepchute. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @Vipullakum007 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Another PR for #591: Add Deconvolution2D

I added some commits from #591 according to the comments from @delta2323.

The hard thing is to adapt this function to the reorganized function style..

@delta2323 do you have any idea?

I sent you the PR that make Deconvolution2D function support the latest master branch. Could you check it?

@delta2323 Ok, I will.

A problem I'm concerning about is the return value get_deconv_outsize here can differ from the input of get_conv_outsize.
Because, get_conv_outsize ignores decimal values at here by // s.
So the usecase may be limited because of this.

Would you like to be able to use the output size option?

I agree with your idea, that kind of option is necessary in most cases if s is not 1.
I'm adding that option.

The original test was not actually tested deconvolution_2d but convolution_2d, so fixed.
And I added outsize as optional argument.

Just to be sure. I guess outsize is expected to be the value that satisfies get_conv_outsize(outsize[0]) == in_h and get_conv_outsize(outsize[1]) == in_w where in_h and in_w is the input height and width of deconvolution layer, respectively. The reason I think so is that the output size of deconvolution layer is expected to be same as input size of convolution layer when they are used as the building blocks of "convolutional autoencoder".
But the implementation allows the case when the equalities do not hold, too. Is this behavior agree with your intention?

Good catch, thanks. I think it should be asserted.

I think I have done, please review.

Thank you very much!
LGTM.


Allow creation of multiple network ranges (CIDR) when creating new routes

Here is a great feature request or suggestion that I think is great
I think we can add a feature in the next version when we Create New Route When adding multiple Network Ranges at once, as shown in the following figure

Hello @MrChenhtlss, based on the example you provided, the main requirement for this would be to configure more specific routes? We have network routes access controls coming soon and that could solve the problem.

Maycon Santos @.***>于2024年3月15日 周五19:02写道：

Hello @MrChenhtlss https://github.com/MrChenhtlss, based on the example
you provided, the main requirement for this would be to configure more
specific routes? We have network routes access controls coming soon and
that could solve the problem.
—
Reply to this email directly, view it on GitHub
https://github.com/netbirdio/netbird/issues/1707#issuecomment-1999418548,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BC6T5SDMC6E3CQ65GFL5QKTYYLILZAVCNFSM6AAAAABEXILKXSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJZGQYTQNJUHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

For example, I have a Linux netbird client that
can be routed, <IP_ADDRESS>/24 <IP_ADDRESS>/23Or more reachable routes can be
added uniformly, instead of having so many messy routing entries like now

Hello @MrChenhtlss, based on the example you provided, the main requirement for this would be to configure more specific routes? We have network routes access controls coming soon and that could solve the problem.

Or maybe I have a lot of routing entries that need to be routed through software peers. If so, I can only add one route at a time and need to come up with multiple network identifiers. This is very inconvenient.

您好@MrChenhtlss，根据您提供的示例，主要要求是配置更具体的路线？我们即将推出网络路由访问控制，这可以解决这个问题。

Hello @MrChenhtlss, based on the example you provided, the main requirement for this would be to configure more specific routes? We have network routes access controls coming soon and that could solve the problem.
May I ask if there is a possibility of my proposal being implemented


Code to download AddOn is faulty in README.md

Downloading the add on using the code provided in the README.md file fails with Download failed: Error downloading: 404. However, the one provided here,<PHONE_NUMBER> works for installing conveniently.
Just out of curiosity, I cannot find the add ons folder from anki to save the ir package manually.
I installed anki in /usr/local/share/anki/.

Hi Sebastian,
Since you're using Anki 2.0, the older branch of IR is what you're looking for (here). That page has instructions for locating your add-ons folder.
I believe you also were getting an error from IR because of the European character in your name. I've updated the add-on to address that. Just download the latest zip file (here) and let me know if that helps.


removed repeat buttons from scrollbar for a more minimalistic style

Read through #646 and figured i give you something to play with.

Is this something you'd like to pursue, or does this not quite hit the spot? @ButchersBoy

Personally, I like where this is going, but would prefer if it was slightly thinner.

The style uses the default windows size for scrollbars. I feel the same though. Making the scrollbar thinner would improve the look and feel.

I gotta agree, this looks really good.

Maybe I would add a bit of border radius to both ends too, otherwise it looks more like Metro and not in place when Material Design has these slightly details at whole.

@Insire Do you have the style template for this scrollbar for sharing by any chance?

@Insire oops my bad found it....I am fairly new to Github :)

Putting this in the 2.6.0 release as I would like to see this issue revisited and brought forward.

Would it be possible to add a property that shows/hides the RepeatButtons? Outright removing them seems a little too much, at least to me :-)

Thank you for this work. I referenced it while getting the current styles in and done. See the work on PR #1270. Let me know if there is anything I have missed.


tweepy.error.TweepError: [{u'message': u'Bad Authentication data.', u'code': 215}]

Hello.
I get this error - "tweepy.error.TweepError: [{u'message': u'Bad Authentication data.', u'code': 215}]". I would be really grateful for helping me at fixing that issue.

This error means that Twitter doesn't recognize the keys you're sending. The code in the Hello Tweepy section of the docs is the simplest example of getting things set up. Also, make sure that the twitter application you've set up has the proper permissions.

Thank you. I will check this out.

I had the same problem. Regenerating the Keys and tokens solved the problem.

I had the same problem. Regenerating the Keys and tokens solved the problem.

how please

Please don't necrobump old closed issues.
See https://developer.twitter.com/en/docs/basics/apps/guides/the-app-management-dashboard.


Add TlsEngineType enum

Motivation:
Add TlsEngineType to let users choose the type of tls engine. (Using Flags)
Modifications:

Add TlsEngineType enum
Deprecate useOpenSsl

Result:

Related to #<4949>.
Related to https://github.com/line/armeria/pull/4962#discussion_r1252718359
TlsEngineType is added
useOpenSsl is deprecated

We still have BaseFlagsProvider which sets useOpenSsl to false by default, so only modifying DefaultFlagsPRovider#useOpenSsl method to return null won't work.

BaseFlagsProvider is for an integration test, I'm not sure I follow the reasoning 😅
I think the current approach is fine for this iteration though

Oh yeah, I think I've missed that point. Thank you for helping better understanding. 🥺

@ikhoon Just a ping 😄.

@minwoox (Not urgent) Could you take another look? I've re-requested a review.


Issue in identifying proper subsets

Description:
type ABC "A"|"B"|"C";

type AB "A"|"B";

public function main(string... args) {

    AB A = "A";

    ABC B = A;

}

AB is a proper subset of ABC. But when we run the above code snippet, it produces below error.
error: .::main.bal:9:13: incompatible types: expected 'A|B|C', found 'B|A'

Fixed with https://github.com/ballerina-platform/ballerina-lang/pull/11212.


Added a Update Option

This isn't very clear. Is it to add an "Update" item in the title screen that opens the browser in EO's download page?
This might be a good idea. I'm not fully convinced. There should also be discussion as to weather this should link to EO or to the GH's releases page

Idea taken from SM 1.64, requested by someone in my stream

I feel like if we wanted to do this we should make it check if it actually needs to update (We could use http requests to somewhere that would hold the last version, and compare), and then either offer a download link OR the ability to update ingame (Probably the first one considering the work it'd take)

If youre still interested, in the branch "expRelease" there's this (https://github.com/etternagame/etterna/blob/expRelease/src/DownloadManager.cpp#L1185). Basically DLMAN requests the last version from the server in preferences (Defaults to EO) as a string on startup. I think you could compare that to the current version (You can see an example of how to get it in til death/bganimations/_PlayerInfo.lua iirc or something like that) to see if displaying something like "Old version, needs updating" is needed. You can contact me in discord if you want help, you can find me in the EO or EDG discord servers.

I'm closing this for now since it's been over two months with no response


Confusion regarding kube-aws update in docs

Hey, I'm a little confused regarding how I'm supposed to approach updating my cluster using kube-aws update. I've read the docs many times over to clear this up and this is my understanding so far. Every time I make changes to cluster.yaml only, there's no need to call kube-aws render stack. All I need to do is call kube-aws update immediately. And then if I make direct changes to template.json, I should call kube-aws render stack, kube-aws render credentials, then kube-aws update.
Upon experimenting with cluster updates, it turns out that when I change the number of workers, instance types, etc in cluster.yaml, that's the time I need to call kube-aws render stack first to manually update template.json (otherwise I get cloudformation error). On the other hand, when I directly mess with template.json (to change iam role), I should NOT call kube-aws render stack, otherwise my manual changes will be overwritten in template.json. Am I missing something? If this is the intended behavior the docs seem very misleading.
On a related note, how should I do stuff like modifying the iam role if template.json gets overwritten every time I call kube-aws render stack anyway?
Thanks.

we are using inhouse tool for that backed by git. Idea is to render only to "upstream" branch and then merge it into your branch where your changes to previously rendered template.json are. that way when you update kube-aws it will render new version of the cluster config, which can be neatly merged with your customizations.
Also I am not convinced that changing number of workers in cluster.yaml result in any change in rendered json files, what error do you see?

04:12:32 UTC+0800 	UPDATE_ROLLBACK_IN_PROGRESS 	AWS::CloudFormation::Stack 	ae-cluster 	The following resource(s) failed to update: [AutoScaleController].
04:12:31 UTC+0800 	UPDATE_FAILED 	AWS::AutoScaling::AutoScalingGroup 	AutoScaleController 	MinInstancesInService must be less than the autoscaling group's MaxSize
04:12:28 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::AutoScaling::AutoScalingGroup 	AutoScaleController
04:12:23 UTC+0800 	UPDATE_COMPLETE 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationController
04:12:23 UTC+0800 	UPDATE_COMPLETE 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationWorker
04:12:23 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationController 	Resource creation Initiated
04:12:23 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationWorker 	Resource creation Initiated
04:12:22 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationController 	Requested update requires the creation of a new physical resource; hence creating one.
04:12:22 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::AutoScaling::LaunchConfiguration 	LaunchConfigurationWorker 	Requested update requires the creation of a new physical resource; hence creating one.
04:12:12 UTC+0800 	UPDATE_IN_PROGRESS 	AWS::CloudFormation::Stack 	ae-cluster 	User Initiated

This is what happened when I attempted to change number of workers from 1 to 2 without rerendering json template

Interesting, it complains that in your cluster.yaml  controller.autoScalingGroup.maxSize <= controller.autoScalingGroup.rollingUpdateMinInstancesInService, are you sure calling kube-aws render solves it somehow? Can you provide a diff of stack-template.json before and after render, please?

I may be able to help. Which kube-aws release are you using? When you changed the worker count, did you change workerCount or worker.autoScalingGroup or both in cluster.yaml?

Hi all, I was using V0.9.1 when I faced this issue. I've since updated to 0.9.3-rc.2 and have not faced this issue since. Although I did spend an entire day frustrated over #199 but that's a different story :)
Thanks everyone.

Great, glad a later version is working better for you.


Uf 7542 documents

Should it be possible to set this attribute when creating a file (add a file to an existing document)?


Query with regexp selector =~ is not returning any value (context canceled?)

For example I have query:
query_range?query=sum(rate(grpc_server_handled_total%7Bjob%3D~%22XXX%22%7D%5B5m%5D))%20by%20(job)&start=1489670714&end=1489681514&step=30

So just query_range for this:
sum(rate(grpc_server_handled_total{job=~"XXX"}[5m])) by (job)

For time range exactly 3h wide.
Call takes long time (~40s) and after that time I am getting 502 from nginx with log line:
2017/03/16 16:25:53 [error] 10#10: *4173078 upstream prematurely closed connection while reading response header from upstream, client: <IP>, server: , request: "GET /api/prom/api/v1/query_range?query=sum(rate(grpc_server_handled_total%7Bjob%3D~%22XXX%22%7D%5B5m%5D))%20by%20(job)&start=1489670714&end=1489681514&step=30 HTTP/1.1", upstream: "http://<IP>:80/api/prom/api/v1/query_range?query=sum(rate(grpc_server_handled_total%7Bjob%3D~%22XXX%22%7D%5B5m%5D))%20by%20(job)&start=1489670714&end=1489681514&step=30", host: "nginx.cortex.svc.eu1-testing.k8s.improbable.io", referrer: "http://localhost:3000/dashboard/db/cortex-validation?from=now-3h&to=now&var-job=XXX&editorTab=Metrics&panelId=4&fullscreen&edit"

The same result I can find for plain HTTP request. (above log line is a call from Grafana)
Nothing really from querier log.
If I just remove the ~ from query - I have proper results after 2683ms

Changing time range to smaller does not change anything.

Something weird is happening on ingesters. Getting lots of these (probably unrelated though)
2017/03/16 13:35:18 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 13:46:17 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 13:57:39 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 13:57:54 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 13:58:34 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:07:34 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:11:24 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:12:23 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:14:32 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:18:26 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:18:48 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:19:09 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:19:09 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:19:33 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:21:16 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:22:22 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:22:22 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:22:22 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:26:27 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:27:27 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:31:34 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:32:18 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:32:27 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:39:17 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:41:19 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:46:24 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:46:36 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:51:41 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:58:18 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 14:59:24 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:09:41 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:14:31 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:16:15 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:18:44 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:19:18 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:19:41 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:20:31 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:20:31 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:22:21 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:24:51 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:24:56 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:26:16 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:26:16 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:32:21 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:53:30 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 15:54:41 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:00:25 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:03:15 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:04:33 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:05:25 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:05:38 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:10:24 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:12:18 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:22:31 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"
2017/03/16 16:34:55 grpc: Server.processUnaryRPC failed to write status stream error: code = 1 desc = "context canceled"

Context cancelled errors can be ignored; they are because we only wait for 2 out of three reads or writes before returning to the user - thats how the dynamo-style consistency works, and gives you better tail latency.

Can you try out the v6 schema?  it should make these kind of queries significantly faster.

Closing for now, with v6 schema I cannot repro.

Cool, thanks.  I think this was probably just a timeout you were hitting.


[#1122] hotfix for collection: publish btn shows up when contained res are not published

just one line changed, removing the "not" in this logic statement.
@pkdash @hyi please review, thanks

Can one of the admins verify this patch?

logic update +1


Repeater isn't saving one of the text fields

Issue description:
I am using the repeater control and every other field is being saved but the p_item_fancy_name isn't saving and I don't know why.
Version used:
(Did you try using the develop branch from GitHub? There's a chance your issue has already been addressed there)
Using theme_mods or options?
Code to reproduce the issue (config + field(s))

<?php
$portfolio_title = get_theme_mod('fp_portfolio_title', true);
$portfolio_items = get_theme_mod('fp_portfolio_items', true);
?>

            <?php foreach( $portfolio_items as $p ) : ?>

                        <img src="<?php echo wp_get_attachment_url($p['p_item_img']); ?>" alt="">

<?php echo esc_html($p['p_item_fancy_name']); ?>

<?php echo esc_html($p['p_item_title']); ?>

            <?php endforeach; ?>

// Portfolio Items

Kirki::add_field( 'lemongrass_id', [
	'type'        => 'repeater',
	'label'       => esc_html__( 'Portfolio Items', 'kirki' ),
	'section'     => 'fp_portfolio_section',
	'priority'    => 10,
	'row_label' => [
		'type'  => 'field',
		'value' => esc_html__( 'Portfolio Item', 'kirki' ),
	],
	'button_label' => esc_html__('Add New Portfolio Item', 'kirki' ),
	'settings'     => 'fp_portfolio_items',
	'fields' => [
		'p_item_title' => [
			'type'        => 'text',
			'label'       => esc_html__( 'Item Title', 'kirki' ),
			'default'     => '',
		],
        'p_item_fancy_name' => [
			'type'        => 'text',
			'label'       => esc_html__( 'Item Fancy Sub Name', 'kirki' ),
			'default'     => '',
		],
		'p_item_url'  => [
			'type'        => 'text',
			'label'       => esc_html__( 'Item URL', 'kirki' ),
			'default'     => '',
		],
        'p_item_img'  => [
			'type'        => 'image',
			'label'       => esc_html__( 'Item Image', 'kirki' ),
			'default'     => '',
		],
	]
] );

Hello and thank you for reporting this issue.
We are closing most open GitHub issues with the release of Kirki 4 to start fresh with this major release.
If you are still running into issues after you have tested your theme with Kirki 4, please let us know so we can reopen the issue.
Please note that Kirki 3 is no longer actively supported. Moving forward, we will only provide support the very latest version of Kirki.
Thank you for your understanding.
Best,
David


HHH-13619

Proposed solution introduces new CollectionSizeNode and CollectionPathNode types and hooks them in to grammars and walking

Made and pushed some changes based on the review.  Thanks @dreab8


Navigate between code examples - the menu and middle panes scroll to random content

We have code samples in 6 languages, when you navigate between the examples the menu and middle panes scroll to random  content. There seems to be an issue with ReDoc displaying the code samples. When you click on the different language tabs, the screen sometimes jumps around - potentially even to a completely different part of the API Reference. This makes for a pretty bad user experience.
We were able to reproduce the bug by using an example from ReDoc, so we're fairly sure that this issue is caused by ReDoc and is not caused by our yaml file. It might be caused by the length of the code samples, or maybe the number of languages - we are not sure yet.
Any help is appreciated

@TracyZuora thanks for reporting.
I can confirm the issue. Will let you know once I manage to fix it

This issue is fixed in the latest v1.5.1 release


Ignoring personal .vscode/ settings

Generally I prefer seeing these user-specific ignores placed in the user's own global .gitignore, and leave the project's .gitignore for project-specific files and folders that are generated by the project's build process or runtime generated outputs. Curious on others thoughts on this at it relates to this project.

Generally I prefer seeing these user-specific ignores placed in the user's own global .gitignore, and leave the project's .gitignore for project-specific files and folders that are generated by the project's build process or runtime generated outputs. Curious on others thoughts on this at it relates to this project.

That's fair.   Not opposed to going that route.


Configuration without groups

Hi,
I am starting to create a new terraform setup for Juniper devices. When I started to test the the code I see that it is by groups. Is there any way to do it without these?
For example I have a description in ge-0/0/0 which is "My description" and when I try to modify it via terraform it creates a new group with a "New description" description but doesn't override the current information.
This is an easy test but I am worried in the future about going through the code manually when we run into a problem.  it's a bit complex with groups instead of directly modify the option.

This approach simplifies the implementation of the terraform providers by taking advantage of the JUNOS apply-groups feature. In order to implement a different approach we would have to parse the YANG schema locally and perform an XML merge locally. This is a significant effort but we may have to do it this way for efficiency reasons. For now, you can see the resulting config by using the command: show configuration | display inheritance no-comments

@vinpatel24
This is actually something we have done internally by forking and modifying this generator. I am just trying to find cycles to contribute everything else up stream here.
I have also moved everything to a pure go implementation from a generation aspect  and making use of go-templates for everything.
If i can find some cycles in the next few weeks i should be able to push something up.  When I was bench-marking this I think it was about 60,000 changes with a fully commit check in around 1.5 min.

Hi @a-chartier,
I am very glad to see that you have been able to work on this type of approach and I look forward to seeing what changes you are able to contribute.

That would be a fantastic update @a-chartier
My current problem with the groups is that they don't always seem to be reflected in the web-ui - address book entries are effectively added with the groups (show configuration | display inheritance no-comments shows them, and they work in, say NAT rules) but they are not shown in the plain address book (show security address-book or the web UI address book page)


stacks and queue folder

Hi
I want to add stacks and queue data structure folder
with some good question on stacks
please assign this issue to me

please assign issue to me under hactoberfest2022


Custom resources are broken on older clusters

Describe the bug
While attempting to test #693 on master I was not getting any results for the CRD list. I fixed the results by changing the version handling in the original PR #718 however that deferred the problem to the drawer that appeared empty. Upon further investigation there are additional API changes related to the use of the v1 custom resource API vs the v1beta as was previously used.
I updated the PR to correctly handle the remaining API changes and for my newer clusters running kubernetes 1.17+ the custom resources appear fine.
I have a couple older clusters running kubernetes 1.15 that no longer show any custom resources in master vs 3.5.3.
This issue is to highlight the backwards compatibility angle and either require newer clusters for this aspect or we work out what version of the cluster is and switch API to beta depending on cluster version.
Note PR #718 works with the beta API if I manually switch the relevant crdApi to crdBetaApi across the board.

We could probably use /apis endpoint for resolving a preferred API version:
$ kubectl get --raw /apis
...
      "name": "apiextensions.k8s.io",
      "versions": [
        {
          "groupVersion": "apiextensions.k8s.io/v1",
          "version": "v1"
        },
        {
          "groupVersion": "apiextensions.k8s.io/v1beta1",
          "version": "v1beta1"
        }
      ],
      "preferredVersion": {
        "groupVersion": "apiextensions.k8s.io/v1",
        "version": "v1"
      }
    },

@jakolehm your suggestion was great here - I have implemented that in #718

I'm running 3.6.0-beta.1 against a 1.17.9 k8s cluster and the individual CRD listings are all empty / 404ing.
The Definitions listing does work however.
URL: http://e93de209-6be3-4bfd-b9fb-08e0fe1137b8.localhost:57451/api-kube/apis/apiextensions.k8s.io/v1/customresourcedefinitions?
Status Code: 200 OK

Request URL: http://e93de209-6be3-4bfd-b9fb-08e0fe1137b8.localhost:57451/api-kube/apis/monitoring.coreos.com/undefined/servicemonitors?
Status Code: 404 Not Found

Request URL: http://e93de209-6be3-4bfd-b9fb-08e0fe1137b8.localhost:57451/api-kube/apis/monitoring.coreos.com/undefined/prometheuses?
Status Code: 404 Not Found

Request URL: http://e93de209-6be3-4bfd-b9fb-08e0fe1137b8.localhost:57451/api-kube/apis/monitoring.coreos.com/undefined/prometheusrules?
Status Code: 404 Not Found

I should also note that I see the exact same behavior in 3.6.0 against a 1.16.13 k8s cluster ...
Reporting this here, mostly as FYI, hoping the #718 patch fixes it in beta3 😄

@arohter yes I strongly suspect this is the same issue.


Introspection.php::_enumValue, missing 'value' field?

I'm using GraphQLite implementation that relies on webonyx/graphql-php.
I have an Enum like:
class Gender {
    const MEN = 'm';
    const WOMAN = 'w';
}

Introspection.php seems to not contain 'value' field when generating _enumValue ObjectType.
As far as I understood I should be able to define an enum that has different values than key names, and still be able to generate schema for it just like here: https://github.com/IgorDePaula/laravel-graphql/blob/master/vendor/webonyx/graphql-php/docs/type-system/enum-types.md
$episodeEnum = new EnumType([
    'name' => 'Episode',
    'description' => 'One of the films in the Star Wars Trilogy',
    'values' => [
        'NEWHOPE' => [
            'value' => 4,
            'description' => 'Released in 1977.'
        ],
        'EMPIRE' => [
            'value' => 5,
            'description' => 'Released in 1980.'
        ],
        'JEDI' => [
            'value' => 6,
            'description' => 'Released in 1983.'
        ],
    ]
]);

These values 4/5/6 I should be able to retrieve by calling introspection:
enumValues(includeDeprecated: true) {
                        value # but this is missing
                        name
                        description
                        isDeprecated
                        deprecationReason
 }

Thank you in advance and sorry if this is my mistake and implementation is correct.

Those values are only meant for internal use in PHP. From a client perspective, GraphQL enum types only contain the names, see http://spec.graphql.org/draft/#sec-The-__EnumValue-Type

Thank you.


Chaining with slots creates a loop

Describe the bug
If I set up 2 QNA documents, with the first chaining to the second, there are no issues.
When I add a slot to the first document (and perform a Lex Rebuild), the chain loops on the first document and never reaches the second.
To Reproduce
Import the following test configuration:
{
  "qna": [
    {
      "a": "ChainHead",
      "slots": [
        {
          "slotName": "Number",
          "slotPrompt": "Give me a number",
          "slotRequired": true,
          "slotType": "AMAZON.Number"
        }
      ],
      "enableQidIntent": true,
      "conditionalChaining": "'QID::TST-ChainTarget'",
      "type": "qna",
      "qid": "TST-ChainHead",
      "q": [
        "ChainHead"
      ]
    },
    {
      "a": "ChainTarget",
      "type": "qna",
      "qid": "TST-ChainTarget",
      "q": [
        "ChainTarget"
      ]
    }
  ]
}

Expected behavior
The bot should elicit the slot, then chain to the second document.
Please complete the following information about the solution:

[x] Version: v5.4.5
[x] Region: **us-west-2
[x] Was the solution modified from the version published on this repository? No
[x] If the answer to the previous question was yes, are the changes available on GitHub? N/A
[x] Have you checked your service quotas for the services this solution uses? Yes
[x] Were there any errors in the CloudWatch Logs? No

Screenshots

Additional context
Add any other context about the problem here.

Hi @amendlik Thanks for reporting this
We'll look into this and get back to you

Hello @jangidms - any updates on this? I can work on the fix if you can point me in the right direction.

@bobpskier I've been testing a solution that just deletes qid from the structure by adding this code to evaluateConditionalChaining()
    if(req.hasOwnProperty('qid')) {
        delete req['qid'];
    }

It's working fine so far. I have not encountered any negative effects.

@amendlik I'd probably implement something similar in evaluateConditionalChaining.js starting at line 100
if (next_q) {
        req.question = next_q;
        if (next_q.toLowerCase().startsWith('qid::')) {
            _.set(req,'qid', next_q.substr(5));
        } else {
            _.set(req,'qid', undefined);
        }
        [req, res, hit2, errors] = await getHit(req, res);
    }

This updates req.qid to be the actual target qid of the chaining config if it is specified as a "qid::" or removes qid if not specified in that format.
The intent/slot mechanism is not a good citizen in the word of QnABot chaining. It looks like it can only be used in the first qid that kicks off a series of chained qids. If in the middle of the chain of questions, a qid is specified that also uses intents/slots, the chaining mechanism will skip right over asking to resolve the slot values. The intent/slot mechanism only works at the beginning of the chain when Lex can call QnABot fulfillment using a DialogCodeHook with the intent/slots as the context.
If you want to conditionally ask for values in one of more qids via chaining, it is better to use ElicitResponse bots as they  support the concept of chaining.

This fix is working well for us. @bobpskier, do you want to upstream that, or would you like me to do it?

Closing this

I have opened a PR on this: #721

Great. Thanks.


CUDA graph optimizations

Branch for making CUDA graphs runnable. Reference: https://github.com/NX-AI/mlstm_kernels/pull/46

I think we should keep the improvements on mamba2 / mamba, right?

Yes, we would need these small changes to allow others to reproduce our benchmarks. Otherwise Mamba/FalconMamba cannot use CUDA Graphs.


Add mongodb support

@creactiviti
Here is the implementation of the mongodb support I did. Sorry, 😓 I did not see that you had closed the issue #24 in favour of #25. But I think the support of such a NoSQL database is still interesting, even with JSON support for PostgreSQL. For a professional use case, I intend to use piper with mongodb.
I let you judge. :smile:

I like it. Looks really good. Thanks @ccamel!


Dracula.json file is missing

Hello!
I'm stuck at step number 1: "Place Dracula.json theme in the iSH theme folder;"
There is no Dracula.json file in the repo.

the file should b there now my apologies.
https://github.com/dracula/ish/blob/main/Dracula.json

Thank you! 👍


Investigate/Implement slack notifications and github PR hooks etc in JenkinsFiles.

some activity in the Build/ansible/playbooks dir in openjdk-tests repo, is there an issue/enhancement that this work belongs to @bblondin so we do not duplicate/overlap effort?  example, we can add slack notification re: test builds directly from Jenkinsfiles for test build failure/success

good reference: https://jenkins.io/blog/2016/07/18/pipline-notifications/

Looking at this, wondering what is being asked.  We can add notifications when there are test failures.  It will create a lot of noise at the moment (due to excessive test failures - tests which we should consider excluding until fixes can be applied), but we can try it out and see what volume of notifications is useful.  As an example of too much noise, I find the auto-notifications in the infrastructure channel to not be useful, and in fact detrimental to finding any info there.

Agreed - this should only be switched on once we have an all green base line.


C#: Improve diagnostic messages and add help link

Reword diagnostic messages.
Add help link to diagnostics.

Depends on https://github.com/godotengine/godot-docs/pull/7781.

We merged the docs counterpart PR.

Thanks!


Deprecate loaOf

types.loaOf only exists for backwards compatibility, and it's kind of a hack and doesn't merge well. We should fix all modules that set a list instead of an attribute set in nixpkgs, then once that's done add a trace message when a config is encountered that uses a list instead of a set.

Usages:
As type = types.loaOf types.optionSet:
nixos/modules/config/users-groups.nix: users.users, users.groups
nixos/modules/security/pam.nix: security.pam.services
nixos/modules/services/logging/logcheck.nix: ignore, ignoreCron
nixos/modules/services/networking/i2pd.nix: outTunnels, inTunnels
nixos/modules/services/networking/prosody.nix: virtualHosts
nixos/modules/services/networking/tinc.nix: networks
nixos/modules/services/web-servers/zope2.nix: services.zope2.instances
nixos/modules/system/etc/etc.nix: environment.etc
nixos/modules/system/upstart/upstart.nix: jobs
nixos/modules/tasks/filesystems.nix: fileSystems
nixos/modules/tasks/network-interfaces.nix: networking.interfaces
nixos/modules/virtualisation/containers.nix: bindMounts

Others:
nixos/modules/programs/ssh.nix: knownHosts
nixos/modules/services/networking/tinc.nix: hosts

Is it still relevant?

The file systems and users/groups are used in a lot of places in NixOS. It would be a lot of work to change them, but possible. Personally I like have the list / attribute set choice.
I still wonder what @shlevy meant by "doesn't merge well", as that seems to be the key point.

I still wonder what @shlevy meant by "doesn't merge well", as that seems to be the key point.

The problem is that you cannot make list element modular.  Using list in NixOS breaks the modularity.

This issue is still valid.

I still wonder what @shlevy meant by "doesn't merge well", as that seems to be the key point.

Uniqueness of names can be nicely enforced by the set too.

I have made PR #63103 that should safely deprecate loaOf but I need help with testing.
I'm trying to get attention and hopefully speeding this up because maintaining the branch up-to-date is getting complicated as time goes on.

https://github.com/NixOS/nixpkgs/pull/63103 was merged.


No Smelting/Blasting Recipes for Pigsteel Chunk -> Iron Nugget

Version
5.0.0
Problem
No recipes exist to smelt pigsteel chunks
Expected behaviour
A recipe exists (the changelog says it should)

Oooppss 😅
Gonna fix both problems you mentioned later, not gonna comment on both tho.
Thanks for reporting this!


Crash when playing a chart editor song (unknown if its just a song with that character in it)

Describe your bug here.
I added in my character to the game and when I tried opening a song with him in it crashed with an undocumented crash report.
Command Prompt/Terminal logs (if existing)
C:\HaxeToolkit\haxe\std/cpp/_std/sys/io/File.hx (line 30)
Song.hx (line 104)
editors/ChartingState.hx (line 2957)
editors/ChartingState.hx (line 434)
Prompt.hx (line 44)
flixel/ui/FlxButton.hx (line 521)
flixel/ui/FlxButton.hx (line 507)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)

Uncaught Error: [file_contents,assets/data/neo/neogen.json]
Please report this error to the GitHub page: https://github.com/ShadowMario/FNF-PsychEngine

> Crash Handler written by: sqirra-rng

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, I added a modded character.

Character has nothing to do with it, this is a missing chart file
No clue why the song and the chart have different names though


Link for adding the stylesheet is not here

Thanks for creating and sharing new.cs!
There's a issue on https://newcss.net/usage. The code that you're supposed to copy to add new.css to your website is invisible. Here's what it looks like in Chrome:

By inspecting the page, I saw that the two links are not quoted text, which the HTML in 1. is, and I think it might be the issue.

Good catch, thanks. Fixed in https://github.com/xz/new.css-site/commit/3666d03f3e52d0cece16ac0f851d1350a22b1f6c.


new domains deployments for kodadot

currently we will have new stuff

mint.kodadot -> hyper-mint branch where we try not break things for while so we have working stuff
alpha.kodadot -> cf-pages? to have consistency probably is good idea for opengraph and others but I would set canary.kodadot to netlify to mitigate some builds or so
beta.kodadot will move to cf-pages probably.

Happy line

[x] onboarding -> hello.kodadot -> gitbook for easier manuals focused on better onboarding
[x] https://canary.kodadot.xyz - Netlify main
[x] https://beta.kodadot.xyz - Netlify beta
[x] fandom.deno.dev -> fandom.kodadot.xyz - to demonstrate our first collection with custom store front and upsell kodadot easier

onboarding.kodadot -> hello.kodadot?

uff, cf getting complicated bit

It's temporary and it's working, we will be breaking more Canary which is still love beloved main so nothing changes here

main - https://canary.kodadotx.xyz
beta - https://beta.kodadot.xyz

Flow will be main -> beta -> hyper-jpeg

https://hello.kodadot.xyz

https://beta.nft-gallery-5ci.pages.dev
https://main.nft-gallery-5ci.pages.dev
both seems works but 522
https://canary-cf.kodadot.xyz
https://beta-cf.kodadot.xyz

uff, cf getting complicated bit

well doesn't work
but I've also made surprise

[x] https;//rmrk2.kodadot.xyz

uff, cf getting complicated bit

well doesn't work
but I've also made surprise

[x] https://rmrk2.kodadot.xyz

https://hello.kodadot.xyz

Love it 😍

[x] rmrk2.kodadot.xyz

yup, something wrong with dns & certs 🤔 works now!

another branch deploys

[x] - https://main--koda-nuxt.netlify.app/
[x] - https://beta--koda-beta.netlify.app/

updated netlify deploy from

to
pnpm run generate:pnpm as netlify supports it finally!

summary
CF deployment
beta.nft-gallery-5ci.pages.dev
main.nft-gallery-5ci.pages.dev
Netlify

main--koda-nuxt.netlify.app
beta--koda-beta.netlify.app

Fandom
fandom.kodadot.xyz
Testing

canary.kodadot.xyz - Netlify main
beta.kodadot.xyz - Netlify beta
rmrk2.kodadot.xyz pointing now on main

cc
@daiagi

summary
dev flow is
main -> beta -> production canary.k -> beta.k -> kodadot.xyz
onboarding materials
* https://hello.kodadot.xyz (gitbook)

CF deployment
* [beta.nft-gallery-5ci.pages.dev](https://beta.nft-gallery-5ci.pages.dev/)

* [main.nft-gallery-5ci.pages.dev](https://main.nft-gallery-5ci.pages.dev/)

Netlify
* [main--koda-canary.netlify.app](https://main--koda-canary.netlify.app/)

* [beta--koda-beta.netlify.app](https://beta--koda-beta.netlify.app/)

Fandom
* [fandom.kodadot.xyz](https://fandom.kodadot.xyz/)

Testing
* [canary.kodadot.xyz](https://canary.kodadot.xyz/) - Netlify main

* [beta.kodadot.xyz](https://beta.kodadot.xyz/) - Netlify beta

* https://rmrk2.kodadot.xyz pointing now on `main`

This need to be somewhere in doc


About OpenMP dependencies

Cc'ing @dszeto2
On Linux, when mxnet is built using just make, the library shows a dependency from libiomp5. When built through cmake, additional dependencies for libomp and libgomp show up. Can someone please explain this difference? What are the various omp dependencies needed for?

libiomp5 has been removed from master if you’re not using MKL BLAS. The problem of two omp runtimes in cmake build is discussed at the end of #11417.

Ah ok thanks for the explanation, and sorry for not having checked existing issues


Fulfillment Media Type *_app

The osdm.io code list page includes RETAILER_APP for FulfillmentMediaType, but the openapi contains ALLOCATOR_APP.
What is correct name given we now have retailer and distributor roles?

The correct value is DISTRIBUTOR_APP and RETAILER_APP, deprecate ALLOCATOR_APP.


statuses: status field not optional when media_ids[] present

I encountered this issue while creating a request with curl.
In the Mastodon API,  the status field is optional when media_ids[] is present, however even in this case it appears to be required in Takahe.
Against mastodon.social (results in a successful post):
$ curl -H "Authorization: Bearer <snip>" \
    -X POST -H "Content-Type: multipart/form-data" \
    https://mastodon.social/api/v1/media \
    --form<EMAIL_ADDRESS>| jq

$ curl -k -X POST     \
     -H "Authorization: Bearer <snip>"   \
    -F 'media_ids[]=<from above>'  \
    https://mastodon.social/api/v1/statuses

A similar request against a Takahe instance returns the following error:
{
  "error": "invalid_input",
  "error_details": [
    {
      "loc": [
        "details",
        "status"
      ],
      "msg": "field required",
      "type": "value_error.missing"
    }
  ]
}

Yup, I guess that makes sense. This will be a good first bug for someone to fix.


Fails if open-vm-tools is already installed

This is failing to run on my server because open-vm-tools is already installed. My suggestion is to add a test for open-vm-tools first. Or make an option for open-vm-tools or vmware tools to install so you could select which version/distribution you would like to use instead of the fallback method you are using now.

Hello. You are right - the installation of the vmware-tools will most probably fail if open-vm-tools are already installed.
I'll look at it...
Thank you

I added task to remove open-vm-tools before actual vmware-tools installation.


✨ Added Giscus discussions and reactions

Relates to #1567

Added Giscus package
Added Giscus discussion on top of Disqus comments
As per this comment https://github.com/SSWConsulting/SSW.Rules/pull/1382#issuecomment-2205143272 from old PR that adds Giscus, Adam suggested we have Giscus and Disqus for now.
Removed custom <Reactions /> component and it's css
Mapped discussion with rule using GUID, and I was able add reaction to rule locally (please see screenshot below)
Added GitHub secrets

Also, to link existing discussions from the Chewing the Fat, we can add computed sha1 of rule GUID to the discussion body in below format.
<!-- sha1: dcbb7fedfd3bd7f69fe677a3d5e60a6f211646ba -->

Figure: Giscus is added on top of Disqus

As per this comment https://github.com/SSWConsulting/SSW.Rules/pull/1382#issuecomment-2205143272 from old PR that adds Giscus, Adam suggested we have Giscus and Disqus for now.

Not sure this is amazing.... but I understand we don't want to lose the information... Can we hide Disqus it for now and slowly add it back later?


Revert "boards: 96b_carbon: Enable NET_L2_BT by default"

This reverts commit 6019bcaee58fd1362a18a32763d7ccadfa991a0d.
Bluetooth is no more the only network interface since Network
over usb is now operational (CDC-ECM). This fix network samples
with CDC-ECM where bluetooth is considered as the default iface.

@jukkar Isn't there a way to configure the default interface? I guess that would be needed if there are multiple interfaces active on the system.
@pfalcon I agree that it is not a good idea to start disabling things just for the sake of making a sample behave properly, the sample should have means to detect what interfaces are available and switch to whatever interface it wants to use.

@pfalcon, you're right, this patch is breaking the current default sample behavior for 96 carbon, because no more iface will then be available by default. What is disturbing for me is that with a same sample config, enabled features will be different depending the board (even the similar ones, BT boards...). I expected that board Kconfig only enables hw related capability symbols.
Today, enabling networking on 96b_carbon automatically selects the Bluetooth stack and make it the default iface even if BT is not voluntary selected.
After all, maybe this is more a network/sample issue and the way iface is selected.
P.S. yes, my bad, I thought you were automatically notified by github in case of revert.

@Vudentz , @loicpoulain : To remind, the motion in that direction wasn't started by me, but by @nashif instead. It was spread over several commits, but here's example: b92733d47a69cf6d0fac523ef48775ab23507cdb . The idea behind it is: for any network sample, there should be the "default" prj.conf, which should build and work for any board support networking. To make that work like that, there should be designated a default network interface for each board (in its config). Apparently, the criteria for the selection should be: a) it's a builtin hardware; b) among builtin features, the most prominent, most interesting to users feature should be selected.
I hope all so far makes sense - we can't make users wonder how to build a particular network sample for their board, not having a gazillion on board-specific prj*.conf's scale. It all should just work out of the box, to offer users a smooth starting curve with Zephyr.
But then how to support non-default network config? Well, one would need to disable the default interface (potentially, disable features it depends on, BT in this case), then enable something else. Sorry, but that's the price to pay for a smooth start described above. The only alternative is to make a user dig into board-specific options right from the start, then repeat for each new board. Instead, we offer an easy start to let a user rejoice that it works and motivate to study the configuration process next.
Finally, we can add non-default configs in-tree for easy start too, let it be e.g. prj_96b_carbon_usb_eth.conf. Per @nashif work, that shouldn't be spread around, just choose one sample (echo_server/echo_client are canonical ones for that).
Again, hope it all makes sense, if not, we need to open a separate ticket for discussion and extending/adjusting existing requirements.

@pfalcon, thanks for explanation. It makes the sample configs generic/scalable by absorbing 'complexity' in each board config. It indeed makes sense from user perspective, so I assume I can live with that.


Display params are not remembered when switching between charts

As a <user type>, I want to <task> so that <goal> (make this the title)
Expected behavior
Display params should immediately be remembered after switching between charts
Actual behavior
Display params are lost. Only when the cell is re-run that the params are remembered
Steps to reproduce the behavior
-Run display api in a brand new cell
-Go to bar chart, options dialog is automatically opened which is expected
-Select line chart, notice that the option dialog is automatically opened again as if the previous settings are lost
-Only when the cell is re-run that the params are remembered correctly.

Fixed in PR #169


Collapse - Content resizing within a Collapse-Component

Discussed in https://github.com/mdbootstrap/TW-Elements-React/discussions/171

Originally posted by SergejGleithmann May 19, 2024
Hello, I observed, that the Collapse-Component makes use of style attributes instead of using Tailwind classes for showing and hiding the Collapse-Component. Maybe I am missing the point, but imo this is bad, because the height is set to an absolute px value and therefore does not adjust if content within the collapse comonent changes size. I think it would be better, if the height is not set via the style tag or at least omit the positiv height in case of an opened Collape-Component.

Hello, I think I might have a solution: The Collapse Element handles the resize event correctly. Now as far as I can tell it would be sufficient to trigger the handleResize function, when the children of the element are changing. I am not familliar with TypeScript, so I feel unqualified to implement this.


support Terraform lxc/incus provider 0.1.2 renaming of incus_volume to incus_storage_volume

The Terraform provider lxc/incus v0.1.2 release has renamed some of the resource names used in Terraform resulting in the incus-deploy repo referencing resources that do not exist if you upgrade the provider, or install it for the first time.
https://github.com/lxc/terraform-provider-incus/releases/tag/v0.1.2

storage: Refactor storage volume resource names

https://registry.terraform.io/providers/lxc/incus/latest/docs/resources/storage_volume
I don't have a fully functional environment where I can spin all this stuff up on yet to confirm all the details of what this needs, though I'm getting closer, this was just one of the things I hit along the way of getting things working.
I think this just involves renaming incus_volume to incus_storage_volume in terraform/baremental-incus/main.tf, and then updating terraform/versions.tf to reflect the new minimum version of 0.1.2.

Just got through watching the most recent youtube video "Incus Q&A - #3" and see that there is some work in progress related to these change, they just haven't made it into this repo yet. Thanks for the work and improvements on this!


Do not incorrectly add line separators for non-synthetic nodes when emitting node list

As of 3c32f6e, a line separator is added between nodes if the nodes are
not synthetic and on separate lines. This is wrong and previously only
happened if the non-synthetic nodes were on different lines but had the same parent.
Fixes #44068.

@typescript-bot perf test this — I know I made this code path cheaper than it used to be, but I think we still want to avoid it during regular emit.

Hm, that actually seems ok.

@andrewbranch Thanks for reviewing. I've updated the logic to never call siblingNodePositionsAreComparable when preserveSourceNewlines is set to false. I've refactored the check slightly so that the intended behavior is more obvious. We still need the check to getOriginalNode but that shouldn't have a large impact on performance, but is needed for correctness.
Also I've explicitly added the fallback case for PreferNewLine instead of it magically being respected through the synthesizedNodeStartsOnNewLine else clause (which returns true even if the nodes are not synthesized).

@typescript-bot perf test this

@rbuckton can you take a quick look?
@typescript-bot perf test this

@typescript-bot cherry-pick this to release-4.3

@DanielRosenwasser this is ready to go, right? From reading your comment, it sounds like we want to get this into the nightlies as soon as possible in order to decide whether to publish a 4.3 patch.

@DanielRosenwasser @sandersn Is there any update on this change? It would be great to see this change in the nightly builds, given it being a change that could be considered a regression (at least in perspective of the printer as it preserves non-existent lines between list items).

Let’s do it 👍


Make has_been timezone aware

This PR ensures that if dt has to be created it has the same timezone as the since arg (or no timezone if that's the case).
I've added a test for this and also to test that it raises if both dt and since are provided but only one is timezone aware.
Fixes #3.

Thanks :+1:
https://github.com/kipe/pycron/commit/c7992998245ee1ef148fcbb493d5ea83eca0bdc3 should fix Travis CI.


[SPARK-9386][SQL] Feature flag for metastore partition pruning

Since we have been seeing a lot of failures related to this new feature, lets put it behind a flag and turn it off by default.

Merged build triggered.

Merged build started.

Test build #38593 has started for   PR 7703 at commit 8447835.

Test build #38593 has finished for   PR 7703 at commit 8447835.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #38595 has started for   PR 7703 at commit 6ad128c.

Test build #38595 has finished for   PR 7703 at commit 6ad128c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
 public static class IntervalWriter

Merged build finished. Test PASSed.

LGTM. Merging to master.


Hanoi Tower tests

Hanoi Tower:
I think that it is necessary to reduce the accuracy of the check, because there are 16 decimal places here, which exceeds machine accuracy. Reduce to at least 12 will be good I think :)
{
-  "seconds": 1.6502813140731935e+217
+  "seconds": 1.6502813140731933e+217
"turns": 3.6147378671465184e+221
}

For example, you can check that the number is close enough to the solution (the difference between the values is less than 10 ** -12)

At the moment, various valid solutions to this task will pass the tests. For the future, this needs to be considered. Do you mean using something like closeTo instead of a strict comparison?

I don't know exactly how this is implemented)
Like Math.abs (value - realValue) <= 10 ** -10

Have the same issue with accuracy. My solution seems to be correct as fifference is negligible.
       {
      -  "seconds": 1.6502813140731935e+217
      +  "seconds": 1.6502813140731933e+217
         "turns": 3.6147378671465184e+221
       }

Do I nead to amend my solution in any way? Or test accuracy will be reduced?

Have the same issue with accuracy. My solution seems to be correct as difference is negligible.
       {
      -  "seconds": 1.6502813140731935e+217
      +  "seconds": 1.6502813140731933e+217
         "turns": 3.6147378671465184e+221
       }

Do I nead to amend my solution in any way? Or test accuracy will be reduced?

You should submit the solution that passes the tests. Changes to the tests will be made after the deadline.

Solved


[SPARK-29548][Core] Redirect system print stream to log4j and improve robustness

What changes were proposed in this pull request?
In a production environment, user behavior is highly random and uncertain.
For example: Users use System.out or System.err to print information.
But the system print stream may cause some trouble, such as: the disk file is too large.
In my production environment, it causes the disk to be full and let [NodeManager] works not fine.
A method of threat is to forbid the use of System.out or System.err. But unfriendly to the users.
A better method is to redirecting the system print stream to Log4j and Spark can take advantage of Log4j's split log.
Why are the changes needed?
Improve robustness about system PrintStream.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Exists UT.

Test build #112451 has started for PR 26204 at commit 010f960.

Test build #112451 has finished for PR 26204 at commit 010f960.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112451/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17418/
Test PASSed.

Test build #112454 has started for PR 26204 at commit 6461007.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17421/
Test PASSed.

cc @srowen

Test build #112454 has finished for PR 26204 at commit 6461007.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112454/
Test PASSed.

Maybe ... I'd rather not add this complexity though. Apps should log where they intend to log.

Maybe ... I'd rather not add this complexity though. Apps should log where they intend to log.

Thanks for your reply. This PR not affects the behavior of log.
This PR is consistent with the origin behavior default.
This PR provides a config to improve robustness.

This does change the behavior; I'm not sure what you mean that it restores a default?

My previous description is somewhat ambiguous. Let me explain again.
org.apache.spark.deploy.yarn.Client.createContainerLaunchContext exists the code as below:
    // Command for the ApplicationMaster
    val commands = prefixEnv ++
      Seq(Environment.JAVA_HOME.$$() + "/bin/java", "-server") ++
      javaOpts ++ amArgs ++
      Seq(
        "1>", ApplicationConstants.LOG_DIR_EXPANSION_VAR + "/stdout",
        "2>", ApplicationConstants.LOG_DIR_EXPANSION_VAR + "/stderr")

This code redirect the output of console to disk file.
If the user uses a lot of System.out or System.err, it will lead to stdout or stderr is too large.
In my production environment, it causes the disk to be full and let [NodeManager] works not fine.
This PR redirect System.out or System.err to log4j and easy to split log.

@srowen Could you help me to review this PR again? Thanks!

I would not merge this, myself. I don't think it's worth it.


Allow backbone to be any functional, preprocessor any callable

The main change this allows is passing arbitrary functional models as a backbone to a task and arbitrary callables as preprocessing for a task. This should allow a lot more flexible API usage.

Passing Rescaling layer or a Pipeline as preprocessing for a ImageClassifier task.
Running augmentation on the GPU by retracing the backbone with augmentation layers included.
Doing more custom surgery of a backbone.

I also moved our saving routines to a PresetSaver class, but this is really just to be parallel with the PresetLoader we added for transformers/timm conversion. You can still override save_to_preset on a model if you need to. Probably more cleanups to do.

Merging this! The last failure is unrelated, and has to do with image preprocessing on the torch backend and gpu <> cpu errors. I will fix up on the other PR.


NISHTHA- Different metrics shown in District Wise Status vs Course Wise Status

In the District Wise Status, we are showing data on Total Enrolments and Certifications whereas in Course Wise Status we are showing Total Enrolments and Completion. We need to ensure consistency across the two dashboards.

@abhineetsingh10
Could you please mention which column needs to be integrate in both the visuals to make consistency?

@abhineetsingh10
Could you please mention which column needs to be integrate in both the visuals to make consistency?

@TLSravani - We need to use Enrollment and Certification for both the visuals.

ok. Thank you

Previously we showed total completion in course wise status visual.
Now we integrated Certification column to make consistency in both state wise status and course wise status visuals - Taken Abhineet Inputs here.
This Issue has been resolved.


docs: add message concepts doc

Description
This PR add the new message concept doc
Related issue(s)

Fixes #941

Hey, @derberg here is the proper PR, thank you 😅
I need help in defining the purpose of the message concept as well as the diagram.
cc. @smoya

@thulieblack

I'm not sure it is possible to represent message concept with a diagram. Can't think of any example
I do think it would be a good place to address a question about what is the difference between event and message 😄 maybe even title could be Message vs Event. I'm not sure I want to be part of this academic discussion 😆

I recommend looking at:

https://developer.lightbend.com/docs/akka-platform-guide/concepts/message-driven-event-driven.html
https://bradirby.com/difference-between-event-and-message/
https://www.reactivemanifesto.org/glossary#Message-Driven

Also, I could not help myself, and dragged community into discussion, let's see if they catch a bait 😃

https://www.linkedin.com/feed/update/urn:li:activity:6975192181678436352
https://twitter.com/AsyncAPISpec/status/1569426365903953921

Also, a question I always wanted to ask @fmvilas
"do you recall why we talk about making it easier to work with event-driven architectures, but in spec we have Messages and not Events" 🍿

Also, a question I always wanted to ask @fmvilas
"do you recall why we talk about making it easier to work with event-driven architectures, but in spec we have Messages and not Events" 🍿

@derberg Does this reply to your question? https://www.asyncapi.com/docs/tutorials/getting-started/event-driven-architectures#why-event-driven-and-not-message-driven

@fmvilas not really. I'm more interested if there was some specific reason why we picked to use two terms. Maybe some old issue about it? or maybe you remember 😄

Haha! I do know why. Strictly speaking, it's all "messages". A message can be an event, a command, and maybe something else (although I never found a 3rd kind). The spec is a formal document so "message" seems appropriate here. Now that said, event-driven architectures have become more popular in recent years (with the rise of RabbitMQ, Kafka, etc.). And yeah, I mean "event-driven" architectures. Using events only. However, the more popular it got, the more people started doing not-just-events-driven architectures. See, for instance, the case of CQRS (Command-Query Responsibility Segregation). Again, strictly speaking, these are message-driven architectures but the reality is that this name never got popular and most of us are just using event-driven architectures to refer to both, message-driven architectures and event-driven architectures 🤷♂ I guess it sounds cooler with "event" and that won 😄
So for strict stuff like the spec, it's "message" and for communication or marketing, it's "event" because that's what people tend to use the most.

Okay so now my question @fmvilas is, should we still go ahead and define the message spec concept or ....?

@thulieblack we need message as this is what we have in spec. But we also need to address these "event vs message" definitions, to make it clear where to draw the line. So we explain the message, and also add event 😄
btw, I got you lots of ideas 😄 -> https://twitter.com/AsyncAPISpec/status/1569426365903953921 and https://www.linkedin.com/feed/update/urn:li:activity:6975192181678436352?commentUrn=urn%3Ali%3Acomment%3A(activity%3A6975192181678436352%2C6975358655713980416) (I did not expect such a great response from the community 🚀 )

Looks good to me, @thulieblack. I think we should keep it as simple as possible on this page. Maybe you want to mark this PR as ready for review?

Looks good to me, @thulieblack. I think we should keep it as simple as possible on this page. Maybe you want to mark this PR as ready for review?

Done 👌

@alequetzalli over to you 🤓

@alequetzalli I think this is also ready for a final review. Hey @derberg and @fmvilas 😊😊

/rtm

@alequetzalli please always make sure you align the Prev and UpNext buttons properly for adjacent pages also, before merging the PR. I see that with this PR, we again have an issue in Channel page and Tutorials - Overview page. Since we are adding new pages to the documentation, it can't be possible to make separate issue for each page and someone else should come to resolve the error. These buttons should be thoroughly checked until some automation is established for this.

I revised this and all of the buttons work, there is no problem in this PR.

@alequetzalli Look into the screenshots below, they are of Channel and Tutorials - Overview page. The UpNext button of Channel page and Prev Button of Tutorials - Overview.
Prev Button of Tutorials - Overview page:

UpNext Button of Channel page:

These buttons has to be updated in this PR, while adding new page in between.

@alequetzalli Yeah, I agree that she added buttons in the page in correct way, it has to be ensured that every time, a new page is added in docs, it shouldn't break the sequence of the pages linked. For every new page created and added, the buttons should be added on that page and should be updated for the immediate next and previous page.
I can't say that this is the job of who created Channel page because it was added earlier, so if anyone adds any new page in the docs, he has to make changes in the buttons of 3 pages exactly: present new page, immediate next page and previous page.

every page pushed/added to the website someone needs to update the previous
page buttons so they align properly.

Exactly :+1:


CNDB-11434: Refactor tests to mitigate https://openjdk.org/jeps/416

What is the issue
The issue stems to https://openjdk.org/jeps/416
There was a temporary workaround to use -Djdk.reflect.useDirectMethodHandle=false, which is
removed in JDK22.
https://bugs.openjdk.org/browse/JDK-8305104
As a consequence TrieMemtableIndexTest and SegmentFlushingFailureTest fail on JDK22
The refactored tests pass when run on top of jdk22-october-for-poc branch and the respective final fields are not touched.
What does this PR fix and why was it fixed
...
Checklist before you submit for review

[ ] Make sure there is a PR in the CNDB project updating the Converged Cassandra version
[ ] Use NoSpamLogger for log lines that may appear frequently in the logs
[ ] Verify test results on Butler
[ ] Test coverage for new/modified code is > 80%
[ ] Proper code formatting
[ ] Proper title for each commit staring with the project-issue number, like CNDB-1234
[ ] Each commit has a meaningful description
[ ] Each commit is not very long and contains related changes
[ ] Renames, moves and reformatting are in distinct commits

@blambov , I believe I addressed your feedback and this is ready for a new review pass. Thanks

Thank you for the review. It seems CI errored out, I suspect Jenkins was restarted or so. There is ongoing work there these days. I will rebase and trigger new CI run.

CI LGTM, all known old failures/timeouts. Merging to main.


Please create new device profile - Aldi (Australia) CasaLux Corner Lamp

Hi,
I have this Aldi (Australia) CasaLux Corner Lamp.
It show Tuya firmware v1.0.0 - BK7231N
Attached is the firmware for it.
firmware.zip
Many thanks.

Added as Aldi Casalux Corner Lamp
A few notes.  The device configuration included with this is almost certainly for a demo light (how tuya starts most of their light firmwares) and does not apply to the actual device in this case.  I couldn't identify a device class (the basis for the firmware), so I assigned the product key as the device class.  Following your teardown thread, this it looks like this has addressable RGB and PWM warm white, and support on 3rd party firmware will be limited.


Add hash-transaction advanced command

$ _build/default/src/app/cli/src/mina.exe advanced hash-transaction -help
Compute the hash of a transaction from its transaction ID

  mina.exe advanced hash-transaction

=== flags ===

  --transaction-id ID  ID of the transaction to hash
  [-help]              print this help text and exit
                       (alias: -?)

Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

!approved-for-mainnet

@mrmr1993 where did you get tx ID?
From the PaymentPayload?
I need the feature to get tx_hash from the signed transaction body.
Like described here https://github.com/MinaProtocol/mina/issues/9378
Maybe you can help with it, please)


Include tests for new-style entry points

Includes tests of the new-style entry points used by Dask & Dask-CUDA. Also keeps the old-style entry points in the tests. Though notes them as such.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Fixes https://github.com/conda-forge/dask-cuda-feedstock/issues/17

@conda-forge-admin, please re-render


An exception in a handler can halt message processing

Currently the code for _connect_receiving_queue looks like this (and _connect_internal_queue has the same problem):
    async def _connect_receiving_queue(self) -> None:
        self._receiving_loop_running.set()
        while self._running:
            (item, config) = await self._receiving_queue.get()
            event = self._decompress_event(item)
            self._process_item(event, config)

The problem is twofold.

If _process_item encounters an exception (which is particularly likely in one of the handlers since those are provided by the user) this function will stop processing events.
Because asyncio.gather(asyncio.ensure_future(self._connect_receiving_queue(), ...)) is used, that exception will not be logged until the program exits, messages will be silently dropped.

Here's a failing test:
class RemoveItem(BaseEvent):
    def __init__(self, item):
        super().__init__()
        self.item = item

@pytest.mark.asyncio
async def test_exceptions_suppressed(endpoint) -> None:

    the_set = {1, 3}
    def handle(message: RemoveItem):
        the_set.remove(message.item)

    endpoint.subscribe(RemoveItem, handle)

    endpoint.broadcast(RemoveItem(1))
    await asyncio.sleep(0.05)
    assert the_set == {3}

    endpoint.broadcast(RemoveItem(2))
    await asyncio.sleep(0.05)
    assert the_set == {3}

    endpoint.broadcast(RemoveItem(3))
    await asyncio.sleep(0.05)
    assert the_set == {}   # it fails here

Do you see a way we could use asyncio.wait((thing_that_could_fail for .. in ...), return_when=concurrent.futures.FIRST_EXCEPTION) to make the exceptions show up faster?

Spent some time looking at this and opened a PR. I think asyncio.wait() would work, but that requires calling it from a coroutine. After playing with asyncio it looks like asyncio.gather() actually does the right thing, but only if it's awaited from inside a coro. Since these things are spawned from start_serving_nowait, which is not a coroutine, it looks like turning this into a call to ensure_future does what we need.


Should not fail and let director retry on vcloud bosh account limitation

vcloud Iaas provider typically limit the number of simultanous request for a given vcloud user
In that case we get this type of API Error

As the error is not permanent, CPI should retry, or let Bosh Director know that he can retry the vm creation.

@poblin-orange currently we set https://bosh.io/jobs/director?source=github.com/cloudfoundry/bosh&version=207#p=director.max_threads to 4 for vcloud to avoid overwhelming vcloud. do you already do that?

@cppforlife yes we limit on director side. However, we used a single bosh account for our deployment (1 microbosh => 1 master bosh => 2 cloudfoundry/ service bosh ). In that case, vcloud requests can exceed the 4 per bosh director configuration.

Ah makes sense. Also github hid the error returned -- fixed it.

Related material found on google: http://infrastructureadventures.com/2012/08/11/vcloud-director-policies-part-2-quotas-limits/

Raising this one again.
In an on-premises installation of vCloud Director, there can be a low user quota assigned. In these cases, failing on user quota being exceeded results in a overall failure both in deployment and cleanup. In cleanup, several vApps are left some empty, and some with powered off guests.
As an example, our user quota is currently 2. Any user attempting to submit more operations than allowed will receive a temporary error until other queued jobs finish.
Defining the director threads at 1 does not alleviate the issue as it appears the CPI is firing many more request at once than the defined thread count.