proxySettings conflict with VLESS XTLS

What version of V2Ray are you using (If you deploy different version on server and client, please explicitly point out)?
v4.31.0

What's your scenario of using V2Ray? E.g., Watching YouTube videos in Chrome via Socks/VMess proxy.
using VLESS XTLS with proxySettings on the client side.

What did you see? (Please describe in detail, such as timeout, fake TLS certificate etc)

Does not work.
proxySettings seems to override streamSettings settings completely, which is required by XTLS.

What's your expectation?

proxySettings should be able to work with streamSettings, or at least streamSettingswith "network": "tcp".
"http" or "ws" can also be treated as tcp traffic, and "kcp" or "quic" should be treated as udp traffic when sending to another outbound.

@rprx

目前 proxySettings 是有这样的限制，原因是 v2ray 底层传输方式的实现是直接与系统交互，导致无法内部直接嵌套。

Could XTLS bypass that and allow proxySettings to be configured as a underlying layer of TLS? Then people can chain multiple XTLS servers easily and use them as a faster tor alternative.
Not sure if that would be easy, though.

目前应该可以通过 dokodemo-door 做到，但这里还有两个问题：

v2ray 出来的 TLS data record 都是 2k+ 的，测试表明 xtls-rprx-origin 入站处理 16k+ 时性能最佳（不确定 direct mode 的表现）

对于链式代理，若旁观者同时掌握着流量出口和最终入口且有意记录 TLS 数据包，则理论上可以做到追踪（因为目前是纯转发）

当然，对于第二点，简单的数据包重组 + XOR 就可以解决。

Will be easily solved when https://github.com/v2fly/v2ray-core/issues/383 is implemented.

经过更多研究后，上面我说的两个问题中，第一个不再是问题，第二个仍需要解决。

经过更多研究后，上面我说的两个问题中，第一个不再是问题，第二个仍需要解决。

I thought people can simply wrap it with a shadowsocks with xor or whatever they like
ss in v2ray doesn't support xor it seems

目前我遇到同样的问题，即在协议为VLESS的出站协议里使用proxySettings配置前置代理后streamSettings无效。我看到文档上也有提到。

当出站代理生效时，此出站协议的 streamSettings 将不起作用。

@rprx 你提到dokodemo-door可以解决这个问题，请问具体是如何配置呢？能否稍微解释一下，谢谢！


improve join resolver performance

we have some expensive assertions and inefficient methods (say subgraph).
Recent publication using Monte Carlo search: https://ssc.io/publication/alphajoin-join-order-selection-a-la-alpha-go-vldb-phd/

another thing we can do to improve memo performance is to move implementation rules associated with logic node or at least don't inject before exploration is done.


Ensure that warnings are treated as errors and fix encoding errors

Sorry, I had meant to originally create this as a draft / against my fork, but it ended up here.
Fixing the encoding errors now.
This is a follow up to https://github.com/pydantic/bump-pydantic/pull/93
This merge request opens encoding as "utf8" in the mypy visitor to align with the default encoding of all python files as of Python 3. Since the logfile is controlled by bump-pydantic, I used utf8 as well for consistency with the python language files.

I'll need to come back to this and install hatch as this seems to introduce errors from workflow dependencies and I can't see from the actions where the encoding warning is truly being generated from in the test, so want to see if it's related to running the app itself (so will install and run it that way)

Thanks for your help getting it over the finish line. I appreciate that. Excited to look around and see if any other things may be good opportunities for contributions.
I'm working through transitioning five or six decent size applications at work, so seeing what types of things may be good fits, e.g., is it reasonable to detect a missing dependency on pydantic-settings if you're using BaseSettings in PydanticV1 but don't have the corresponding dependency for V2 specified.
Thanks again, though, and hopefully, we can run into each other on more PRs


Devoxx Ideas

Walking Tour: Red star line?
Brussel Tram Experience?
Zoo?
MAS Antwerp
Nice places to eat (Twitter (X?!?) Thread?)
Ghost Walk tour?
Plantin Museum
Flandria Boat / Water Bus?
Brewery De Koninck
Boardgames Playground
"Geeky tour"

I can create an "Interesting places for Devoxx" on Foojay

if you want to combine eating with an activity Wima bowling or akin might also be an option?

Page is published on BeJUG website
https://bejug.github.io/visit-belgium-tips.html


SAK-11647 - Group-aware dropboxes. New permission dropbox.maintain.own.g...

...roups added.
SAK-11647 - Second commit - Group-aware dropboxes using the permission dropbox.groups.
SAK-11647 - Third commmit - Change permission name, add notifications and minor fixes.

Tested on sakai-trunk.atica.um.es works as expected. Thanks Dani.


Search by IMDBID or TMDBID also List IMDBID or TMDBID in the response

Hi, Thanks for this API, can you please add search by parameter imdbid or tmdbid? and in the response it should list imdbid or tmdb id.
Also to list Language or adding parameter of language.
Thanks.

@DavidChriss currently I'm busy with my academics, will implement as soon as I get some free time.

Also highly looking for this too. A lot of those sites have imdb id's too.. try not to use regex if you can help it lol.

Ohhh boy 🫠🫠🫠
Surely.
@DavidChriss
@dreulavelle


Configure MonitoringResource for TimeSeries

Currently the second argument of Exporter.Export() is meant for the common resource among all records stored via a meter, and the resource is the counterpart of MonitoredResource in TimeSeries.
In OpenCensus, the interface for MonitoredResource is defined apart from the protobuf and controlled separately. Similarly to OpenCensus, OpenTelemetry exporter should have the extra care for MonitoredResource.
For now, it just returns "global" resource. (hard coded)

@dashpole could you confirm if this is still the case or not?

I confirmed that metrics attributes work perfectly in this code, so when switching to generic_task, I think we need to have it move all labels that are not defined for the monitored_resource as well. WDYT?

Yeah, similar to the collector exporter's resource_filters option, it would be nice to be able to elevate additional resource attributes to metric labels.  I don't think we should do that for all additional labels, though, as detectors (e.g. for language or env, etc) often generate a very large number of attributes.  By default, we shouldn't add additional labels

We support all the monitored resources listed above except dataflow_job. We can open a separate issue to track support for dataflow if it's requested.


Began refactoring of regression system (for the moment app)

I'm working my way through the moment app regression tests and attempting to refactor them somewhat systematically, so I figured that I might as well request a code review before I go too much further. A few things to note:

Despite being systematic, there is one test (namely the 5-moment LAPD 2d circular test) that I have not refactored, since it will clearly require significant work, and I didn't want to proceed with that before obtaining a sanity-check on the rest of the design.
The 5-moment Rayleigh-Taylor instability test does not work (see issue #276), and therefore, although the code has been refactored, it is currently excluded from our automated regression-testing system, and will remain so until the underlying bug in the moment app has been tracked down.
The runtime of several of these tests was too high (see issue #188) for them to act as effective regression tests; in all such cases (e.g. the 10-moment parallel firehose and Burch gradient-closure tests) I have simply dropped the final time of the simulation to get the runtime below one minute on my laptop.
I think that I was able to track down reasonable sources for all of the test cases I've dealt with so far, although in many instances these sources may not be ideal or canonical, so feel free to correct me. However, I have absolutely no idea where the "clouda" test for the cold fluid equations came from, or even what it might have been adapted from. If anyone (looking at you, @ammarhakim) knows, please do send me a reference.

Couple of comments (some of these are pedantic so apologies in advance):

Can we change speed_light -> light_speed. I think I am just so used to doing light_speed (or lightSpeed) that speed_light looks wrong. I understand this is not quite in the convention of thing_modifier, but since we don't typically follow this convention for speeds/velocities (because the modifier is usually species and the thing is the particular velocity, like vt or vA) I figure this is an okay thing to ask
What would you think about changing vt_elc -> vte (and vt_ion -> vti). That way the definition of the thermal velocities looks more like the Alfvén velocities (vAe and vAi) and other quantities such as the inertial lengths (di and de)?
The citation for the Burch event simulation is this one by @jtenbarg: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2019JA026731
The citation for the parallel firehose simulation is this one from the Pegasus code methods paper: https://www.sciencedirect.com/science/article/abs/pii/S0021999113007973
I would be inclined to not define pi by hand and just set pi = M_PI, but I do think this is reasonable to have pi in the struct.

@JunoRavin
Thanks so much for the comments! Please don't apologize - (productive) pedantry is what this is all about ;)
(1): yes, I admit that I was essentially just blindly following the thing_modifier convention with "speed_light". But if you think that this deserves to be treated as a special case then I'm happy to revert to "light_speed".
(2): you make a good point about the consistency between Alfvén and thermal velocities. Ideally it'd be nice to use i and e as our general suffixes for species distinctions, but there are some conventions (such as mass_elc/charge_elc) which seem so deeply embedded that it would probably be silly to try to change them. I naively thought that thermal velocities might be another one of these, but you're right - it likely isn't.
(3) and (4): thank you! These are harder to track down than I anticipated, but I'll hopefully get better...
(5): yes, the interchangeably use of hard-coded pi, M_PI and GKYL_PI is a strange feature of the code. Setting pi = M_PI as part of the struct seems like a good compromise (and, based on what I understand of what @ammarhakim has said, may be more likely to play nicely with Lua).

With respect to the charge and mass convention, part of that comes from the fact that (although people are inconsistent sometimes), the charge and mass are always needed as specific inputs to the species structs, so the naming convention for charge and mass sprung out of "whatever name you give the species table/struct, that should be the name of the charge/mass"
Whereas quantities such as thermal velocity, Alfvén velocity, plasma frequency, cyclotron frequency, etc. are not direct inputs anywhere and are derived quantities utilized to set things like the velocity space extents, the end time of the simulation, the box size in some set of normalized units.
Like I make this distinction because in a non-trivial number of simulations, we initialized a proton species called "ion" so the charge and mass were charge_ion and mass_ion, but then we ended up using a suffix p for things like vtp, dp, etc. (sometimes because there was a third species which was another ion species called something like Ar for Argon so we needed to distinguish vtp from vtAr and it was better to have vtp in that case than vt_ion).
The alternative (which would hurt my brain but is perhaps better for longevity) is to follow this convention everywhere. So:

vt -> vt_elc/vt_ion
vA -> vA_elc/vA_ion
d -> d_elc/d_ion
rho -> rho_elc/rho_ion
omega_p -> omegap_elc/omegap_ion
omega_c -> omegac_elc/omegac_ion

and so on. My only hesitation on this is I don't want to do double underscores and we are so used to doing omega_p and omega_c that switching that would be a non-trivial cultural change. And I don't know of good abbreviations for "proton" in the case where we want to distinguish a proton from another ion species (whereas we have historically been quite comfortable saying the species named ion is always a proton/H+ and then other ions get more descriptive names like Li1 for Li+ or Li2 for Li++).

I generally favor not differentiating variables by a single letter where
possible/not too inconvenient, in case someone types vti when they actually
meant to type vte. I think it's harder to make this mistake with _elc and
_ion rather than e and i.

On Thu, 15 Feb 2024 at 07:38, James Juno @.***> wrote:

Couple of comments (some of these are pedantic so apologies in advance):

Can we change speed_light -> light_speed. I think I am just so used
to doing light_speed (or lightSpeed) that speed_light looks wrong. I
understand this is not quite in the convention of thing_modifier, but since
we don't typically follow this convention for speeds/velocities (because
the modifier is usually species and the thing is the particular velocity,
like vt or vA) I figure this is an okay thing to ask
What would you think about changing vt_elc -> vte (and vt_ion ->
vti). That way the definition of the thermal velocities looks more like the
Alfvén velocities (vAe and vAi) and other quantities such as the inertial
lengths (di and de)?
The citation for the Burch event simulation is this one by @jtenbarg
https://github.com/jtenbarg:
https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2019JA026731
The citation for the parallel firehose simulation is this one from
the Pegasus code methods paper:
https://www.sciencedirect.com/science/article/abs/pii/S0021999113007973
I would be inclined to not define pi by hand and just set pi =
M_PI, but I do think this is reasonable to have pi in the struct.

—
Reply to this email directly, view it on GitHub
https://github.com/ammarhakim/gkylzero/pull/278#issuecomment-1946345693,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ6DKEZAP5OOHE3S3EGRW3YTYTXXAVCNFSM6AAAAABDKLIBBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWGM2DKNRZGM
.
You are receiving this because your review was requested.Message ID:
@.***>

@manauref do you have thoughts on @JunoRavin's point above regarding the potential "double underscore problem" when using _elc and _ion?

@JunoRavin even with the omegaP_elc, etc. workaround, this rapidly starts to become comical in the case of some other quantities. Do we really want to be writing T_ion1_over_T_ion2?

@manauref the gyrokinetic system is going to encounter similarly long names when defining the temperatures in different regions of the tokamak. What do y'all currently do for the ion temperature in the core vs. the edge. Do you do T_ion_core and T_ion_edge or something else?

Some double under scoring OR mid-word capitalization is necessary,
especially as things become more complex. I'm fine with either, but I
prefer clarity and safety over convenience.
On Thu, 15 Feb 2024 at 08:32, James Juno @.***> wrote:

@manauref https://github.com/manauref the gyrokinetic system is going
to encounter similarly long names when defining the temperatures in
different regions of the tokamak. What do y'all currently do for the ion
temperature in the core vs. the edge. Do you do T_ion_core and T_ion_edge
or something else?
—
Reply to this email directly, view it on GitHub
https://github.com/ammarhakim/gkylzero/pull/278#issuecomment-1946510451,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ6DKHAAIS52JFB3E7OG3TYTY2B5AVCNFSM6AAAAABDKLIBBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWGUYTANBVGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I don't really have a dog in this fight, but I do feel like there is some clarifying advantage in the non-underscored single letter convention, beyond mere convenience. If you take something like Ti_perp vs T_ion_perp - in the first case, it is clear that "perpendicular" is referring to the ion temperature, whereas in the second, the referent is ambiguous (is it the perpendicular ion temperature, or the temperature of the perpendicular ion?)

Yes, this is fine. I prefer full words, but I don't follow that rule
absolutely either.
On Thu, 15 Feb 2024 at 09:07, JonathanGorard @.***>
wrote:

I don't really have a dog in this fight, but I do feel like there is some
clarifying advantage in the non-underscored single letter convention,
beyond mere convenience. If you take something like Ti_perp vs T_ion_perp

in the first case, it is clear that "perpendicular" is referring to the
ion temperature, whereas in the second, the referent is ambiguous (is it
the perpendicular ion temperature, or the temperature of the perpendicular
ion?)

—
Reply to this email directly, view it on GitHub
https://github.com/ammarhakim/gkylzero/pull/278#issuecomment-1946610725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ6DKF6LJGEHVO2LOCLXVTYTY6DNAVCNFSM6AAAAABDKLIBBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWGYYTANZSGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

More precisely, I don't follow that preference absolutely. It's not a rule,
and if it is, I break it all the time.
On Thu, 15 Feb 2024 at 09:12, Manaure Francisquez @.***>
wrote:

Yes, this is fine. I prefer full words, but I don't follow that rule
absolutely either.
On Thu, 15 Feb 2024 at 09:07, JonathanGorard @.***>
wrote:

I don't really have a dog in this fight, but I do feel like there is some
clarifying advantage in the non-underscored single letter convention,
beyond mere convenience. If you take something like Ti_perp vs T_ion_perp

in the first case, it is clear that "perpendicular" is referring to the
ion temperature, whereas in the second, the referent is ambiguous (is it
the perpendicular ion temperature, or the temperature of the perpendicular
ion?)

—
Reply to this email directly, view it on GitHub
https://github.com/ammarhakim/gkylzero/pull/278#issuecomment-1946610725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ6DKF6LJGEHVO2LOCLXVTYTY6DNAVCNFSM6AAAAABDKLIBBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWGYYTANZSGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Allow passthrough of arguments from CLI to test binary

Ex: buck2 test //path/to/test:target -- -- --gtest_filter=ARGS
Addresses #271

It would be nice if I could drop the double -- -- down to a single --, but that reaches into some core CLI stuff which I don't have full insight into the requirements of.

@davidbarsky says he thinks the -- -- is the same behavior as internal, so I'm not as worried about it anymore.

For now there are two possible workarounds:
buck2 run //test:binary
buck2 test //test:binary -- --env GTEST_FILTER=xxx

Add passthrough arguments to test subcommand may defeat the purpose of test command (which should be aware of test framework, and translate own filter arguments into test framework filter arguments), and may complicate proper implementation of open source test runner. Maybe we should add passthrough argument anyway, I don't know.

Is the idea that the open source test runner should eventually be aware of stuff like gtest and tools will take a --filter=<regex> and it'll be translated to the right framework automatically?
also, I don't think Rust has a --env equivalent for it's testing framework unfortunately (but the run workaround does work).

Is the idea that the open source test runner should eventually be aware of stuff like gtest and buck2 test will take a --filter= and it'll be translated to the right framework automatically?

This is how internal test runner works, and source version of test runner should just use the same logic I think.
The idea is this. Suppose you have a CI. CI says: this test failed, this is repro command. CI should not know what was the test framework. CI should say: repro command is buck2 test //foo:bar --filter baz.
For that reason, test rules pass test_type string to ExternalRunnerTestInfo provider, for example, here:
https://github.com/facebook/buck2/blob/76a5520b048ae2fc09a980dde4cf8d6885441132/prelude/cxx/cxx.bzl#L588-L589
Test runner uses this string to convert own filter args to test framework specific args.

The problem with this is that we can't add any new flags to the command ever, as we can't tell if they would have been used previously. While I agree with @nga that long term we do want more careful stuff, we shouldn't let perfect by the enemy of doing something.
What if we had:
Ex: buck2 test //path/to/test:target -- --extra-test-arg=--gtest_filter=ARGS

Now only the extra-test-arg need parsing and passing onwards, and while we might discourage it internally, it's not too problematic. Thoughts?

Yup, that seems really reasonable. Now that I understand the philosophy/goal state of the test CLI interface it seems like the right option.
For example, We have a couple of in-house ancient test runners that haven't been upgraded to gtest yet. I'd never want to add support for them, but this lets us use them with buck2 as well.
I'd suggest it being --extra-arg or --raw-arg or even just --arg. That keeps consistency between the naming of env and arg.

If we already have --env then --arg does seem like the logical thing to add.

Pulled this up again, and I'm not sure the original premise is accurate.
Ex: buck2 test //path/to/test:target -- -- --gtest_filter=ARGS
or
buck2 test //path/to/test:target -- -- rust_test_name --nocapture

shouldn't  prevent adding new arguments, anything that was passed through directly is behind the --.

Super simple tweak to make it --arg=ARG  instead :+1:

Is --env implemented by buck itself or by the test runner? I think it would be reasonable for us to say that part of the test runner spec is that there are some command line args that it is expected to handle in specific ways. We may want to consider early on if there should be more such args that we want to reserve in that way.

It's implemented by the open source test runner.
https://github.com/facebook/buck2/blob/main/app/buck2_test_runner/src/config.rs#L20

Is there anything blocking this landing? Every time I rebuild buck I need to cherry-pick this commit, which isn't great. I understand there are plans to make the OSS test runner significantly better, but it currently is not particularly usable. (e.g, needing to pass things like --nocapture through)

Thanks, and sorry for the delay in getting this sorted. There was a lot of internal debate, including with people who were on holiday, which slowed it down. The conclusion is that we don't really like this, but at the moment if you don't have it you are definitely harmed, so we want to merge this now, but when we rework TestInfo (in a way that will give many more features to open source and make Tpx do more Meta-specific things rather than general execution) we'll probably remove it. But until then, this is a good useful feature to have.
We also think that renaming it to --test-arg is probably a better choice, since that is more explicit and matches Bazel. I'll make that change internally.

I understand the concern! I look forward to the day where we don't need this :)


Open API 3.1 Webhooks

Hey - is there a plan to add support for the OAS 3.1 webhooks top-level declaration? https://spec.openapis.org/oas/v3.1.0.html#oasWebhooks
This would be extremely useful.

Hi,
doesn't seem too complicated. I would definitely like to include it, though i'm not sure when i'll get to it.
I would leave this issue open as a reminder ?


[Watch@VIDEOS] VIRAL LYDIA ONIC full durasi Leaked Video Original On Social Media

Lydia Onic's Viral Video: Unpacking the 12-Minute 13-Second Sensation on Twitter
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
Lydia Onic's video, now known as the "Viral 12 Menit 13 Detik Video," has taken the internet by storm, especially on X (formerly Twitter), leaving viewers and netizens captivated by its unexpected popularity. The video, which lasts for precisely 12 minutes and 13 seconds, has sparked widespread attention and is being shared across social media platforms, generating millions of views, comments, and debates. Here's a closer look at why this video has become such a sensation and continues dominating digital conversations.
The video features Lydia Onic, whose identity and background have been the subject of much curiosity. Initially, she appeared relatively unknown to the wider public, but the content of this video has transformed her into a viral icon almost overnight. Its initial upload on X was simple, with no flashy thumbnail or elaborate description—just the raw footage of Lydia, yet it quickly gained traction after being retweeted by key influencers and shared by countless users.
One reason the video has gone viral is due to its controversial nature. While the exact content of the video remains a point of speculation—ranging from emotional personal moments to more extreme or unexpected themes—it has undeniably struck a chord with audiences. Viewers are drawn to its unpredictability and what seems to be an unfiltered, real-life depiction that sparks curiosity and conversation.
The power of social media amplifies the reach of such content. Twitter (now X), known for its rapid viral cycles, allowed the video to spread rapidly across users, creating a domino effect of reactions, memes, and discussions. The hashtag #LydiaOnicVideo trended globally, making the video one of the most talked-about pieces of content for days.
Another factor in its virality is the format. At over 12 minutes, the video falls into a unique category that is both long enough to encourage engagement and short enough to maintain the viewer’s attention. Unlike typical viral videos, which often last only a few seconds or a minute, the extended length of this video invites people to engage more deeply, speculate about its meaning, and discuss its content in forums, comments, and tweet threads.
As with many viral phenomena, the Lydia Onic video has sparked controversy. Many question the ethics of sharing such content without context or consent. Others have raised concerns about the privacy and well-being of those featured in viral videos, prompting debates about the boundaries of digital fame.
In conclusion, Lydia Onic’s viral 12-minute video on X has become a digital enigma, captivating audiences and continuing to trend across social media platforms. Its blend of intrigue, mystery, and controversy has cemented its place as one of the most memorable viral moments of the year.

Lydia Onic's Viral Video: Unpacking the 12-Minute 13-Second Sensation on Twitter
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
Lydia Onic's video, now known as the "Viral 12 Menit 13 Detik Video," has taken the internet by storm, especially on X (formerly Twitter), leaving viewers and netizens captivated by its unexpected popularity. The video, which lasts for precisely 12 minutes and 13 seconds, has sparked widespread attention and is being shared across social media platforms, generating millions of views, comments, and debates. Here's a closer look at why this video has become such a sensation and continues dominating digital conversations.
The video features Lydia Onic, whose identity and background have been the subject of much curiosity. Initially, she appeared relatively unknown to the wider public, but the content of this video has transformed her into a viral icon almost overnight. Its initial upload on X was simple, with no flashy thumbnail or elaborate description—just the raw footage of Lydia, yet it quickly gained traction after being retweeted by key influencers and shared by countless users.
One reason the video has gone viral is due to its controversial nature. While the exact content of the video remains a point of speculation—ranging from emotional personal moments to more extreme or unexpected themes—it has undeniably struck a chord with audiences. Viewers are drawn to its unpredictability and what seems to be an unfiltered, real-life depiction that sparks curiosity and conversation.
The power of social media amplifies the reach of such content. Twitter (now X), known for its rapid viral cycles, allowed the video to spread rapidly across users, creating a domino effect of reactions, memes, and discussions. The hashtag #LydiaOnicVideo trended globally, making the video one of the most talked-about pieces of content for days.
Another factor in its virality is the format. At over 12 minutes, the video falls into a unique category that is both long enough to encourage engagement and short enough to maintain the viewer’s attention. Unlike typical viral videos, which often last only a few seconds or a minute, the extended length of this video invites people to engage more deeply, speculate about its meaning, and discuss its content in forums, comments, and tweet threads.
As with many viral phenomena, the Lydia Onic video has sparked controversy. Many question the ethics of sharing such content without context or consent. Others have raised concerns about the privacy and well-being of those featured in viral videos, prompting debates about the boundaries of digital fame.
In conclusion, Lydia Onic’s viral 12-minute video on X has become a digital enigma, captivating audiences and continuing to trend across social media platforms. Its blend of intrigue, mystery, and controversy has cemented its place as one of the most memorable viral moments of the year.


Minimallib: implement multi-color highlighting and highlight radii

Reference Issue

implement #4247
What does this implement/fix? Explain your changes.
add highlightAtomMap, highlightBondMap and highlightRadii.
examples:
var smiles = "CC(=O)Oc1ccccc1C(=O)O";
var mol = RDKitModule.get_mol(smiles);
var mdetails = JSON.stringify({
  atoms: [0, 1],
  bonds: [0],
  highlightAtomMap: {0: [0, 0, 1], 1: [1, 0, 0]},
  highlightBondMap: {0: [0, 0, 0, 0.4]},
  highlightRadii: {0: 0.6},
});
var canvas = document.getElementById("canvas");
mol.draw_to_canvas_with_highlights(canvas, mdetails);

@philopon : thanks for the fixing this oversight in the minimal lib wrappers!

Closing due to lack of activity. Feel free to reopen if anyone has the time and inclination to revive this one.


Scoping and Custom Parameter Type

I am using Webpack and TypeScript. I was able to get the defineParameterType to work. However, I was running issues where the parameter would be defined twice for some features and would not be defined for others. It not clear how the scope for the defined parameters work especially when the customer parameter type is used in global steps (in common folder) and local steps. Where should one defineParameterType?
For example:
Say have Type SomeType (st.ts)
some Global Step (g.ts) "Global step with {SomeType}"
some local feature (f1.ts) file with a step "Local step with {SomeType}"
some other feature (f2.ts) that uses the Global Step
If I defineParameterType(SomeType) in g.ts then running f1.ts would say SometType is not defined for "Local step with {SomeType}"
If I defineParameterType(SomeType) in f1.ts then running f2.ts would say SometType is not defined for "Global step with {SomeType}"
If I defineParameterType(SomeType) in both g.ts, f1.ts then running f1.ts would say SometType is not defined twice
I was eventually able to resolve this by defineParameterType in the file that defines the type definition (st.ts).
Is there any recommendation on where to defineParameterType for Custom Parameter Types that could be used in local steps or global steps?

Did you find out how to do this @fras2560 ?

No I never did. However I left the job with the code base that was running into this issue. I dont think I have run into this issue for any personal projects yet. I could create a simple example if need be.

I am just running into an issue of wanting to have all the custom definitions in a single file and not having them in separate step definitions @fras2560 thanks for the fast response, if you know how to do it let me know :)

I'm having the same issue. I'd like to use the custom parameter type across multiple files, but defining it inside the common folder doesn't allow other steps to use it.
Similarly to above if I redefine the custom parameter type in multiple files the test errors with There is already a parameter type with name {parameter_name}.

@lgandecki any insights into this issue? It seems to be affecting other people as well. Let me know if a simple example would help.

Actually I think I have a working example here: https://github.com/annaet/cypress-cucumber-typescript-example/tree/custom-parameters
I define two common parameter types inside common/parameters.ts.
Then I reuse them inside keyboard.ts and piano.ts.
This appears to work as expected with both Keyboard and Piano tests passing.
I have still not been able to determine why this doesn't work in my production code, but I will update if I figure it out.

Ah the key appears to be that the file is importing something from the common/parameters.ts file.
In the above example both keyboard.ts and piano.ts are importing notes:
import { notes } from '../../common/parameters';

If this import is removed, then the error message Undefined parameter type {ordinal} returns.

Due to personal reasons, the previous maintainers of this package are stepping down and handing the reigns over to me, a long-time contributor to the project and a user of it myself. This is a responsibility I'm very excited about. Furthermore, I'd like to thank @lgandecki ++ for all the work that they've done so far.
Read more about the transfer of ownership here.
The repository has however moved and all outstanding issues are being closed. This is not a reflection of the perceived importance of your reported issue. However, if after upgrading to the new version, you still find there to be an issue, feel free to open up another ticket or comment below. Please make sure to read CONTRIBUTING.md before doing so.


[EN] Feedback for CSS used in all /updates/ articles

:visited links in all blog entries are coloured the same way as regular text with no other sign of a link. So it's indistinguishable from regular text. It's very inconvenient.

@gauntface Can we fix this?

It's ok now :+1:
However now visited links look the same as non-visited ones.


DenseNet FCN

Hi @orashi and @gpleiss - thank you for adding DenseNet!
I was wondering if you have looked at DenseNet Fully Convolutional paper which gives phenomenal scores for segmentation : https://arxiv.org/pdf/1611.09326v1.pdf
I will owe you all a round of beers if you can consider implementing DenseNet FCN too.
Great day,
FC

Haha who can say no to that 😄
The original implementation is in Theano. We could probably use the saved weights for that model, but it may be better to train from scratch.
It might make sense to hold off until the CamVid dataset is added (#90).

Hi, @FuriouslyCurious I have an implementation of FC-DenseNet at head already.
I can submit a PR is needed.
However, I couldn't match their reported mIoU and accuracy by training from scratch.
I've submitted an issue to their repo, but he is busy to help these days.

Thank you @gpleiss and @felixgwu
I am planning to train a Dense FC model from scratch using medical data and publish the weights / trained model for medical research.
@felixgwu if you share the code in a GIST I will love to try it out for some experiments I am running.

@FuriouslyCurious
Here is the code of the model. Hopefully, it helps your research.
https://gist.github.com/felixgwu/045c887b6ccdf0edf4648da0c40bcc12

Thank you @felixgwu !

Thank you! @FuriouslyCurious

How can i import  the saved weight in the original implementation in Theano to the pytorch  with the same architechture? @felixgwu
As I know,  the saved weight is numpy format. and it seem difficult to initial the weight in pytorch one by one, because the net is so deep. Thank you for advanced

@felixgwu Do you remember how far you where off from the original reported mIoU and accuracy by training from scratch?

I found your results in FC-DenseNet issue 11.
Did you manage to further improve the results?

@EliasVansteenkiste and @felixgwu Check out the Keras Tiramisu implementation below:  Developer @titu1994 used SubPixelConvolution instead of Deconvolution as default method for upsampling.  Not sure if that helps accuracy, but worth trying.
https://github.com/titu1994/Fully-Connected-DenseNets-Semantic-Segmentation

If you want to use sub-pixel convolution for upscaling you can use the PixelShuffle layer in PyTorch

@felixgwu .  Thank you for you code implementation of FC-DenseNet in pytorch. Recent, i want to reproduce the result about FC-DenseNet, but my loss does not converge at all.  would you share me you dataLoader so that i can compare it with my code? and if i initialize the learning rate with 1e-3, the loss will be infinity.  I am so puzzled with it .

@felixgwu Thanks for your code. Could you please check line85 of your code? I think the last transition block before upsampling should have only_new set to false.


Prevent double slashes in URLs

Ticket: #2118
Issue
There are some situations where a double slash can occur (server or setting-specific?) in an image path. This removes them.
Solution
Make sure the original URL doesn't end with a trailing slash. THEN apply one
Impact
This seems to be a more elegant way of ensuring there aren't double slashes at a concatenation point, without applying the brute force-style TimberURLHelper::remove_double_slashes that was commented-out
Usage Changes
None!
Considerations
There could be another place in the code that's causing the error seen in #2118 — but this one seems promising
Testing
No new tests required, let's see what Travis says ...

Coverage decreased (-0.3%) to 93.586% when pulling 786bc1b52a1a26dc1c8323b32ac5eddb14c51641 on 2118/slashes into 3eaddbc87a56aea44a37cb3ffda24e4b1bd0041b on master.

Coverage decreased (-0.3%) to 93.586% when pulling 786bc1b52a1a26dc1c8323b32ac5eddb14c51641 on 2118/slashes into 3eaddbc87a56aea44a37cb3ffda24e4b1bd0041b on master.

Coverage decreased (-0.3%) to 93.586% when pulling 786bc1b52a1a26dc1c8323b32ac5eddb14c51641 on 2118/slashes into 3eaddbc87a56aea44a37cb3ffda24e4b1bd0041b on master.


Create a UI Clone of Yonex

Description
I will create a UI Clone of Yonex India Wesbite, the UI Clone will look like:

Code of Conduct

[X] I follow Contributing Guidelines of this project.

/assign


GetSignaturesProtectedBranch Does Not Return ErrBranchNotProtected When it Could

When calling the GitHub API endpoint https://api.github.com/repos/OWNER/REPO/branches/BRANCH/protection/required_signatures (documentation), if the branch does not have any protection rules, the GitHub API will reply with a HTTP 404 Not Found code and the following body:
{
  "message": "Branch not protected",
  "documentation_url": "https://docs.github.com/rest/branches/branch-protection#get-commit-signature-protection"
}

Other functions in go-github that may receive this kind of response usually manage it the following way:
https://github.com/google/go-github/blob/96726d8192f34c0d46e7b64b3c400962e8e64898/github/repos.go#L1347-L1349
However, GetSignaturesProtectedBranch does not:
https://github.com/google/go-github/blob/96726d8192f34c0d46e7b64b3c400962e8e64898/github/repos.go#L1405-L1409
I think this function should have the same behaviour, allowing callers to handle this case the same way as when calling say GetBranchProtection. Note that function isBranchNotProtected sounds like it would work without changes:
https://github.com/google/go-github/blob/96726d8192f34c0d46e7b64b3c400962e8e64898/github/repos.go#L2033-L2036
https://github.com/google/go-github/blob/96726d8192f34c0d46e7b64b3c400962e8e64898/github/repos.go#L17
I am happy to provide a Pull Request (should be trivial) for this.

@cedricvanrompay-datadog - may I first say that this is one of the best issue messages I have ever read?
It is clear, to the point, and provides all the details needed with examples and a pointer to the problem.
Well done, and thank you very much!
Absolutely, I agree, and the issue is yours. Thanks again!


How to call function props in stories?

Hi, I am testing a component using Storyshots. This component contains function props like these:
action={() => action(key)}
actionReverse={() => actionReverse(key)}

However, since those functions are not called, I am unable to reach 100% coverage test on that component.
How am I supposed to test those kind of props?
Thanks.

I just change the function props into this one:
action={actions[key]}

So it doesn't need to be called to reach 100% coverage on that file.
However, since it makes the code to be more complicated, I still want to know how to test that kind of function props. May be there is a better way in doing it while keeping the test coverage 100%.
Thanks.

I believe it depends on how your components call those function props. You should probably emulate the conditions in which this happens

I think I need to simulate the click and change events to make it happens, which can be done using Enzyme.
From what I just read in this article, I can use Enzyme alongside Jest's Snapshot testing, can't I?
Then where am I supposed to write the test? Is it in the *.stories.js file as well, or in a separated *.test.js file? If it is in the *.stories.js file, then where exactly should I put the simulation test?
Thanks.

I just tried writing the test file in a separated *.test.js file, and it works!
Thanks! 😄
Please take a look at this commit diff and correct me if I am doing things in bad ways.

You're doing good =) To enable snapshotting, just add this line:
expect(filterInput).toMatchSnapshot();

Got it, thanks! 😄


Toolbar refactoring  miq server and region

@romanblanco @PanSpagetka @martinpovolny
Removed the appearances of unused buttons including from within the specs and created a button class for refresh_workers button for its use outside the toolbar_builder method.

Toolbar buttons id
Action taken or Toolbar buttons class created

refresh_workers
RefreshWorkers < Basic

log_download
deleted

refresh_logs
deleted

log_collect
deleted

log_reload
deleted

logdepot_edit
deleted

processmanager_restart
deleted

Links
Parent issue: #6259
Related issue: #6554
Pivotal Tracker: https://www.pivotaltracker.com/story/show/126784961

@romanblanco, @PanSpagetka : pls, review and test

@vecerek please rebase.

How to get to the toolbar:

Control
Explorer
Policy Profiles accordion
Click on a Policy Profile
Click on a Policy containing at least 1 event
Click on an event

@romanblanco @martinpovolny  the tests that failed on Travis are passing locally

@vecerek Are you sure that your comment belongs to this PR? It seems to me that it belongs to #11982, doesn't it?

@romanblanco just deleted the misplaced comment, thanks

@vecerek Do you know, how to get to the converted button refresh_workers in UI? I wasn't able to find it.

@romanblanco I think I might know why it does not get displayed over there. The refresh_workers button gets hidden on miq server and region items in the diagnostic tree. The @record's class  is being evaluated over here. What do you think?

@vecerek I've found another occurrence of refresh_workers button here. This might be also the reason why it's getting hidden.
Can you remove all existing occurrences, so we can make sure the behaviour is not influenced from more places?

@romanblanco
"Oops, Travis did it again
He played with my code, got lost in the game
Oh baby, baby..."
Tests do pass locally and I do have the latest changes applied from master. Checked twice :smile: What could have gone wrong?

@romanblanco Travis finally likes my PR! :smile: Could you do a review, pls?


Setting Log Level

Hello, how can I set log level? I want to set it to WARNING for this library and INFO for my own program.

This library uses a logger with name streamlit_webrtc or its child loggers.
The code below is a sample to get the logger and set the log level.
https://github.com/whitphx/streamlit-webrtc/blob/b80878229378a090510851f32c400234da60523b/app.py#L684-L685

Added the "logging" section in README:
https://github.com/whitphx/streamlit-webrtc#logging


Editor does not start when in route-view

Expected behaviour
Load editor on Vue 2.5.1 inside route-view
Actual behaviour
Error on startup ReferenceError: document is not defined
Using default setup from example.
Installed via npm vue2-medium-editor
Also using no-ssr package but it errors anyway.

Issue was still with SSR and not with router.
Solved by load async:
components: {
     Editor: () => !this.$isServer && import('./EditorView.vue')
},


Question about evaluate metric

Hi authors,
I am new to this task and want to consult a question about the metric in this 3D dense captioning domain, which is a little bit contradictory after I checked with several papers.
In you paper, the captioning metric is averaged by the number ground truth instance, so it cannot evaluate redundant bbox prediction.  However, in Scan2cap and D3Net, which you put in the same table 1, they will average the captioning metric by the percentage of correct predicted bbox. Therefore, previous related work evaluated the redundant bbox prediction.
Is it unfair of your metric, or am I missing something here? I would really appreciate your help to clarify it out!

Starting from the very first work on 3D Dense Captioning, Scan2Cap, the Recall-only $m@k$IoU metric has been widely adopted as the only evaluation metric in many existing works, including D3Net, SpaCap3D, and etc. Actually, the F-1 based $m@k$IoU metric you mentioned should be a better way to evaluate the overall performance of 3D Dense Captioning models, However, it is not formally introduced until the UniT3D paper.
In our paper, all methods are listed and evaluated under the Recall-only $m@k$IoU metric, thus, I believe it should be a fair comparison. If you are interested in the F-1 based $m@k$IoU metrics for our method, you can refer to the ScanRefer online test benchmark and read their document for more information.

Great! Thanks for your comprehensive explanation and mentioning those related works. It does help me a lot.


Count with Increments

Hello Murat,
great Repo. I have a question. I want to count the total amount of classes that were detected and increment the number and not just count the amount that is currently seen. So it should only increase.
I want to do this on my Jetson Nano and would appreciate your help.

Hello @P-Pan089 I'm working on it tomorrow I'm gonna share with you the solution

Hello Murat,
that would be really grear. Thank you!

Can you please try again with this code https://github.com/muratali016/Yolov7-Object-Counter/blob/main/detect_and_count_total.py @P-Pan089

Hello @muratali016,
when i try it, it still only counts the amount that is currently seen. It's not much different.
Don't we need a tracker for this type of counting?
Still thank you!

I made another counter in another project exactly the same as you mentioned but there was a condition (cars had to cross to line) to count objects please  take a look at here: https://github.com/muratali016/Yolov7-License-Plate-Recognition-Program
Maybe from this code, you can find a solution. There is a big problem here that there is a for loop in the part in detect.py where we take the detected objects @P-Pan089

Yes tracker will definitely work


clj-kondo: 2024.03.13 -> 2024.05.24

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/clj-kondo/clj-kondo/releases.
meta.description for clj-kondo is: A linter for Clojure code that sparks joy
meta.homepage for clj-kondo is: https://github.com/clj-kondo/clj-kondo
meta.changelog for clj-kondo is: https://github.com/clj-kondo/clj-kondo/blob/v2024.05.22/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2024.05.22 with grep in /nix/store/hcjn016dpjban06nz8jsy2msmxppvajm-clj-kondo-2024.05.22
found 2024.05.22 in filename of file in /nix/store/hcjn016dpjban06nz8jsy2msmxppvajm-clj-kondo-2024.05.22

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

clj-kondo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hcjn016dpjban06nz8jsy2msmxppvajm-clj-kondo-2024.05.22 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A clj-kondo https://github.com/r-ryantm/nixpkgs/archive/be5a8b0f56faecce68205bbe501619881159fb6c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/be5a8b0f56faecce68205bbe501619881159fb6c#clj-kondo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hcjn016dpjban06nz8jsy2msmxppvajm-clj-kondo-2024.05.22
ls -la /nix/store/hcjn016dpjban06nz8jsy2msmxppvajm-clj-kondo-2024.05.22/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

clj-kondo

Maintainer pings
cc @jlesquembre @bennyandresen for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/clj-kondo/clj-kondo/releases.
meta.description for clj-kondo is: A linter for Clojure code that sparks joy
meta.homepage for clj-kondo is: https://github.com/clj-kondo/clj-kondo
meta.changelog for clj-kondo is: https://github.com/clj-kondo/clj-kondo/blob/v2024.05.24/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2024.05.24 with grep in /nix/store/k6abkrv813ki6hpsyb2658bg16gf3qsz-clj-kondo-2024.05.24
found 2024.05.24 in filename of file in /nix/store/k6abkrv813ki6hpsyb2658bg16gf3qsz-clj-kondo-2024.05.24

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

clj-kondo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/k6abkrv813ki6hpsyb2658bg16gf3qsz-clj-kondo-2024.05.24 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A clj-kondo https://github.com/r-ryantm/nixpkgs/archive/e8f73089a3d89d63595b5b145c3cd554a8bbdd59.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e8f73089a3d89d63595b5b145c3cd554a8bbdd59#clj-kondo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/k6abkrv813ki6hpsyb2658bg16gf3qsz-clj-kondo-2024.05.24
ls -la /nix/store/k6abkrv813ki6hpsyb2658bg16gf3qsz-clj-kondo-2024.05.24/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

clj-kondo

Maintainer pings
cc @jlesquembre @bennyandresen for testing.


Bug: Payload file does not exist - WinUI 2.5 packaging issue

Describe the bug

Unable to package my UWP app when using WinUI 2.5 prerelease. These errors show up:

Steps to reproduce the bug

Steps to reproduce the behavior:

Download this solution: https://1drv.ms/u/s!Ar4RhL72OhUDzrwOz9woYwhKfeDxjQ?e=m6A2qP
Launch the .sln file in VS2019
Rebuild solution
Right click on WapProjTemplate1 > Publish > Create app package
Select Microsoft Store as the distribution method
Ensure the configuration looks like this:

Click create
Packaging error occurs in a few seconds.

Expected behavior

No packaging error occurs.
Version Info

NuGet package version:

WinUI 2.5.0-prerelease.200609001

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)
Yes

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

I have tried WinUI 2.4.2 using this very same .sln and there is no packaging error.

@dpaulino It looks like you are using a separate wap project instead of packaging the UWP app project by itself. Is that intentional ?
The difference between 2.4.2 and pre-release is that 2.4.2 is a framework package release, so the app includes only a link to the framework package as opposed to pre-release package which needs all the bits packaged into the app.

Is that intentional?

Yes. Nightingale a separate wap project, so that's how I discovered this packaging error.

The difference between 2.4.2 and pre-release is that 2.4.2 is a framework package release, so the app includes only a link to the framework package as opposed to pre-release package which needs all the bits packaged into the app.

I don't quite follow. Are you saying that the issue only occurs because 2.5 is a pre-release? And therefore, once 2.5 graduates from prerelease, this issue will no longer occur?
Or are you saying that starting with 2.5, this issue will always occur?

I don't quite follow. Are you saying that the issue only occurs because 2.5 is a pre-release? And therefore, once 2.5 graduates from prerelease, this issue will no longer occur?
Or are you saying that starting with 2.5, this issue will always occur?

This happens because 2.5 is a prerelase. Once 2.5 has "normal" releases, those release builds would work like 2.4 does now.

@chingucoding Is this a recent change? I have used 2.3-prerelease in the past with my app, and I never encountered this packaging error 🤔

I think that that packaging behavior @ranjeshj described was already there before 2.5, the terminal project can only use prerelease packages as they can't rely on the "normal" release packaging mechanism.
If 2.3 prereleases work for you but the 2.5 prerelease don't it sounds more like a regression. Does using a 2.3 prerelease now also work? I've had issues with VS and building projects recently, so maybe it is something in that area.

It is a difference between prerelease and stable releases in how WinUI gets packaged. For stable releases the WinUI bits are packaged into a framework package and submitted to the store - So your app just has to say in the manifest that it depends on the WinUI framework package and not package the bits in the app.
I would like to understand if this worked before and is not now in the wap project scenario. It is possible that something regressed - we are not specifically testing this scenario.

According to my commits, I used a pre-release package starting from november 2019 until april 2020:

@ranjeshj you mentioned that this may be an issue with how the bits are packaged. Is there a way for me to get a pre-release package that is packaged like a stable release? Maybe I can grab the nupkg file directly from your team's Azure Pipelines and manually add it into my project and my CI/CD pipeline? Would that be a possible workaround?

And by the way, since this issue seems related to the pre-release nature of the package, I would not want the winui team to make significant changes just to make things work for my situation. Especially since it seems this issue would eventually be resolved once WinUI 2.5 is stable.
I would just like a workaround that lets me package successfully for now.

@dpaulino can you share binlogs (run msbuild /bl to build the .wapproj) and share those? If you have one from when it works and when it doesn't that would be very helpful

@stevenbrix are these what you're looking for?
broken: https://1drv.ms/t/s!Ar4RhL72OhUDzrwQ9q6KU09-ZbTayQ?e=HbI7Fm
successful: https://1drv.ms/t/s!Ar4RhL72OhUDzrwRNbI1ENbQ5U-mWw?e=8VGfeJ
Also, I have working repro steps in the original issue post if you need to perform any further analysis with the msbuild process:

@dpaulino almost, those are just plain text logs, which aren't as easy to understand. I have no problem trying out your repro next week (thanks for that), but for future reference:
In order to capture a binlog in VS:

Download the VS Project System Tools extension
Set the Build Log File verbosity to Diagnostics: Tools->Options->Projects and Solutions->MSBuild project build log file verbosity

Go to View->Other Windows->Build Logging:

Then press the little Play button to start taking logs:

Run through the repro

You should see one of the builds with the status of "Failure". The file has the extension .binlog.

@stevenbrix thanks for the instructions. Here is the failed binlog file: https://1drv.ms/u/s!Ar4RhL72OhUDzrwViE0iqaUQU5fTuA?e=cHLuRC

@dpaulino I'm looking into this now. Out of curiosity, why are you using the .wapproj to package your UWP app?

@stevenbrix My app package contains a .NET Framework console project that runs a console command (checknetisolation) in certain scenarios. From what I understand, UWP cannot call this console command on its own, so that's why I added a .NET framework console project, and thus I needed to use .wapproj

For more context, here's a screenshot of how I use the .wapproj project

Gotcha, that makes sense.
Found a cool little trick to build this from the command line, which really helps gather binlogs (sadly the ones produced by building from VS aren't quite as good). The key is to set the BuildAppxUploadPackageForUap property to true. So you can use a command like this to repro:
msbuild /p:AppxBundlePlatforms=x86 /p:Platform=x86 /p:Configuration=Release /p:BuildAppxUploadPackageForUap=true /bl
Can you try adding this workaround to the bottom of your .wapproj and see if that fixes it:

<ItemGroup>
  <_PriUploadFilesToExpand Include="@(_PriFilesFromPayload)"
                           Condition="'%(OutputGroup)' != 'ProjectPriUploadFile'
                                  and '%(OutputGroup)' != 'ProjectPriFile'
                                  and '%(OutputGroup)' != 'SDKRedistOutputGroup'"
                           />
</ItemGroup>

<ExpandPriContent Inputs="@(_PriUploadFilesToExpand)"
                  MakePriExeFullPath="$(MakePriExeFullPath)"
                  MakePriExtensionPath="$(OutOfProcessMakePriExtensionPath)"
                  IntermediateDirectory="$(IntermediateOutputPath)"
                  AdditionalMakepriExeParameters="$(AppxExpandPriContentAdditionalMakepriExeParameters)"
                  ExcludeXamlFromLibraryLayoutsWhenXbfIsPresent="$(AppxExcludeXamlFromLibraryLayoutsWhenXbfIsPresent)"
                  VsTelemetrySession="$(VsTelemetrySession)"
                      >
  <Output TaskParameter="Expanded" ItemName="_ExpandedPriUploadPayload" />
  <Output TaskParameter="IntermediateFileWrites" ItemName="FileWrites" />
</ExpandPriContent>

@stevenbrix The workaround worked for the test project! I'll try this out on my real app now.
Do you think this is an issue with the .wapproj template? If so, I can try to talk to someone on the packaging team

It's an issue somewhere in there for sure. That target I copy/pasted from Microsoft.AppxPackaging.targets and added the following line:
ExcludeXamlFromLibraryLayoutsWhenXbfIsPresent="$(AppxExcludeXamlFromLibraryLayoutsWhenXbfIsPresent)"
This tells the ExpandPriContent task to ignore the .xaml files when the .xbf files are present.
It's probably worth filing a feedback issue through VS with the logs for the repro (and this information as well).
/cc @svetbonev

@stevenbrix The workaround worked for my real app! Can't thank you enough!! 🙌🏽🎉🥳

@dpaulino that's awesome, glad you're unblocked 😄
I've filed this internal bug on VS for this issue: https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1157568


chezmoi: 2.48.2 -> 2.49.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/twpayne/chezmoi/releases.
meta.description for chezmoi is: Manage your dotfiles across multiple machines, securely
meta.homepage for chezmoi is: https://www.chezmoi.io/
meta.changelog for chezmoi is: https://github.com/twpayne/chezmoi/releases/tag/v2.49.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.49.0 with grep in /nix/store/z61qyb9jy6kgjkyvvbms782pv9kxmysh-chezmoi-2.49.0
found 2.49.0 in filename of file in /nix/store/z61qyb9jy6kgjkyvvbms782pv9kxmysh-chezmoi-2.49.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

chezmoi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z61qyb9jy6kgjkyvvbms782pv9kxmysh-chezmoi-2.49.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A chezmoi https://github.com/r-ryantm/nixpkgs/archive/3f99135e9c7941c05a97355f01b9bb778eed7c99.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/3f99135e9c7941c05a97355f01b9bb778eed7c99#chezmoi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/z61qyb9jy6kgjkyvvbms782pv9kxmysh-chezmoi-2.49.0
ls -la /nix/store/z61qyb9jy6kgjkyvvbms782pv9kxmysh-chezmoi-2.49.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

chezmoi

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge


Add PointCloudPacked iterators

🎉 New feature

Part of https://github.com/ignitionrobotics/ign-gazebo/issues/1156

Summary

Our PointCloudPacked message is equivalent to ROS's PointCloud2, but we don't have a good way of handling our message purely from Ignition.
This PR adapts PointCloud2Iterator for Ignition.
Test it

Run the tests
Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

Thanks for the review, @caguero , feedback addressed.

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/new-ignition-releases-2022-03-25-fortress-edifice-citadel/1343/1


Changing offensive language in code

Hi. I see that there was some discussion last year about changing the offensive terms 'master', and 'blacklist/whitelist'. I fully support the proposal to change them, as I think it's important to avoid engaging in racist language that reinforces harmful stereotypes or trivializes the horrors of slavery.
I was disappointed to see that in the main branch, most of these changes do not seem to have been implemented yet, apart from renaming the branch to 'main'. So I did a fork of the repository and changed blacklist to denylist, whitelist to allowlist, and removed a reference to 'master' that I felt was unnecessary. I ran the tests and everything ran smoothly. I considered changing the words whitelist and blacklist in the change log, but I decided not to, because I wanted to keep an honest record of what the repository was like in the past, and did not want to edit history to make us look better than we are.
Please let me know if you have any suggestions about better ways we might implement these changes, or any other related changes we should make.
Sincerely,
Miranda

I'm just diametrically apposed to this whole thought process and having to literally break a libraries backward compatibility because of offending people that shouldn't be offended as the terms don't even relate to them.
The only reason the term "master" is offensive is because of its relationship to "slave".  The "master/slave" terms in software have long been a thing of the past. Just not used anymore.
But having to rename every single "master" branch of every repository around the world because a group has decided that we have to completely remove the word from our lexicon is ridiculous.  Are we supposed to stop using the word "master" all together? Ban it from the dictionary? Come on.
Additionally, the terms blacklist and whitelist do not trace their etymology back to anything related to race.
https://en.wikipedia.org/wiki/Blacklisting
https://en.wikipedia.org/wiki/Whitelisting
I just can't see how we're being sensitive or sparing anyone's feelings by making these changes.

Johan @bithavoc would you like to comment on this? I was trying to implement what you proposed for this repository last year. I have done the renaming and testing and the code is passing all the tests. Here is the link to my fork. I would really appreciate it if you could review it and let me know if there is anything I can do to improve it.

fwiw, I think it makes sense to publicly document responseAllowList and requestAllowList and silently support responseWhitelist and requestWhitelist as aliases. I've seen this approach across many libraries making similar changes.

The problem is in your brain. Visit psychologist.

The only people that think this is helping or reducing harm are largely white or white-passing liberals sitting in positions of privilege somewhere, like GitHub's corporate boardroom when they decided to change "master" to "main", or when Budweiser decided to make their cans rainbow colored.  POC from those living in the poorest zip codes within the imperial core, to those living in the farthest reaches of the global south within the imperial periphery does absolutely nothing for them and serves as cannon fodder for right-wing narratives about the so-called "radical, woke left-wing" so they can discredit movements for social justice...,but glad the shitlibs that make these hollow gestures can feel good about themselves.

A relevant thread on Y-Combinator


comment post button is blocked

You can now scroll to display the button when the soft keyboard is visible.


Improve release:prepare_patch task

What was the end-user problem that led to this PR?
The problem was some more little issues with the bin/rake release:prepare_patch task.
What is your fix for the problem, implemented in this PR?
My fix is to improve the task with better fallbacks and better informational and error messages.

@bundlerbot r=hsbt


[shell] volume.fix.replication does not move volume files to different DC for replica_placement:100

At the same time, volume.balance wants
volume.balance -collection registry
moving volume registry_478 fast-volume-2.dc1:8080 => fast-volume-2.dc2:8080
moving volume registry_267 fast-volume-3.dc1:8080 => fast-volume-1.dc2:8080

volume.list
      DataNode fast-volume-2.dc1:8080 volume:60/120 active:60 free:60 remote:0
        volume id:478  size:5446416696  collection:"registry"  file_count:1680  delete_count:618  deleted_byte_count:1061916457  replica_placement:100  version:3  compact_revision:7  modified_at_second:1605783149
      DataNode fast-volume-3.dc1:8080 volume:64/120 active:64 free:56 remote:0
        volume id:267  size:10579082640  collection:"registry"  file_count:9482  delete_count:423  deleted_byte_count:50011  replica_placement:100  version:3  modified_at_second:1605755270
      DataNode fast-volume-0.dc2:8080 volume:41/120 active:41 free:79 remote:0
        volume id:267  size:10579082640  collection:"registry"  file_count:9482  delete_count:423  deleted_byte_count:50011  replica_placement:100  version:3  modified_at_second:1605755270
      DataNode fast-volume-4.dc2:8080 volume:31/120 active:31 free:89 remote:0
        volume id:478  size:5446416696  collection:"registry"  file_count:1680  delete_count:618  deleted_byte_count:1061916457  replica_placement:100  version:3  compact_revision:7  modified_at_second:1605783149

Thanks! Added test cases and a fix for this.


[interpolatable] fails to detect bad contours with wrong starting point

Running fonttools varLib.interpolatable tool on the set of master TTFs generated from NotoRashiHebrew-MM.glyphs source (from noto-source repo) does not detect this interpolation issue, where the starting point on a contour is different across master but the contours have the correct order and the same number and type of segments, leading to this rendering issue:

Here are the files to repro:
NotoRashiHebrew-interpolatable-issue.zip
Question (mainly for @behdad): was the interpolatable.py intentended to spot these sort of issues? If not, can/should it be extended to detect these?

Can this be closed after #2571?

Yes.


GH-3076: Set batchFailed state in ListenerConsumer even if no commonErrorHandler is configured

This PR is naïve approach to solve #3076 (i am not sure about possible side effects/consequences of this change)

@rroesch1 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@pivotal-cla This is an Obvious Fix

@rroesch1 This Pull Request contains an obvious fix. Signing the Contributor License Agreement is not necessary.

Sorry for the late feedback but i had to clarify the CLA requirement with my employer.  My contributions should now be covered by a Corporate CLA.
I added a unit test which should cover the situation described in #3076 (thus it's probably no longer an obvious fix)

Please, add your name to the @author list of the affected classes.

done


Respect ido's ignored files.

Closes #28

Is it possible to merge this? I've used this version for close to a year with no problems. If there's some problem I'm not aware of, sorry for dredging this back up.


geckodriver errror

==> How many jitters, higher is better [max 100] (default=70): 70
==> Opening Webdriver
Traceback (most recent call last):
File "/usr/local/bin/EagleEye/eagle-eye.py", line 229, in
main(skipFB=args.skipfb, FBUrls=[], jsonRep=jsonRepFile, dockerMode=aDocker, dockerName=aName)
File "/usr/local/bin/EagleEye/eagle-eye.py", line 99, in main
f.grabData()
File "/usr/local/bin/EagleEye/grabber/facebook.py", line 16, in grabData
driver = cfg.getWebDriver()
File "/usr/local/bin/EagleEye/utils/config.py", line 45, in getWebDriver
return webdriver.Firefox(profile)
File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/webdriver.py", line 160, in init
self.service = Service(
File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/service.py", line 44, in init
log_file = open(log_path, "a+") if log_path is not None and log_path != "" else None
PermissionError: [Errno 13] Permission denied: 'geckodriver.log'
┌─[✗]─[qatux@qatux]─[/usr/local/bin/EagleEye]
hey i'm having this issue with the geckodriver, seems to be working for the qrljacker so i'm not sure. do i need to change do the sudo chown root:root .Xauthority thing for this? i'm running parrot secutity, thx

Seems to be a local permission error. The docker container doesnt seem to have permission. I recommend running bare metal or adjusting the permissions.

Seems to be a local permission error. The docker container doesnt seem to have permission. I recommend running bare metal or adjusting the permissions.


chore: update dependencies

https://github.com/honojs/hono/pull/1761 requires the content-type header. we should have had it anyway.


Add ability for admin for some users to have multiple log ins

This applies session_limited to all users.
It would be nice to be able to provide a list of exceptions, e.g. admin, support, which could allow for those users (roles?) listed to be able to log in simultaneously from different machines.

Ideally, the session_limited would have some sort of white-list, which would be used for administrative activities such as impersonation (it is not nice to logout the customer when accessing [impersonating] his account).

I'm agree, I'm needing a kind of white-list based on user roles, some users don't need some security features. Some advance related to this issue? I can help if someone else is already working in it 😄


Switch to FreeGLUT 3

Due to the many versions of Qt with massive changes in API between minor versions, its large footprint when compiled in full (several Gb, someone on here reported 39Gb I think) and linking complications due to the many modules
See this article for advice on how.
I thought the best approach would be our own fork of qtbase which is cut down to just the parts we use and compiles to a single static (qt5_custom.a) library that we then compile directly into our executable.
Then, rather than the dependencies being:
sudo apt-get install git build-essential cmake libgl1-mesa-dev \
    qtbase5-dev qtdeclarative5-dev valgrind \
    libqt5widgets5 libqt5opengl5-dev libqt5qml5 libqt5printsupport5

they'd be:
sudo apt-get install git build-essential cmake libgl1-mesa-dev valgrind

Issue the first.
Here's the sloccount output for qtbase:
Totals grouped by language (dominant language first):
cpp:        2193809 (78.31%)
ansic:       460009 (16.42%)
xml:         117563 (4.20%)
python:       10513 (0.38%)
java:          7491 (0.27%)
asm:           4023 (0.14%)
perl:          2044 (0.07%)
sh:            1982 (0.07%)
yacc:          1687 (0.06%)
lex:           1333 (0.05%)
javascript:       883 (0.03%)
objc:            70 (0.00%)

Which is well, a lot of code to sift through, even though it's only the core of the Qt library.
Issue the second
du -h qtbase
[... lots of files ...]
928M	qbase/

which is larger than the GH free repository maximum of 500Mb (I think). So the cut down needs to be done before uploading the fork... but the history would send us over still!
A Pragmatic Solution
A short term way of dealing with this is not relying on more of the library than is helpful. By reducing the degree of object orientation in the design we can replace Qt function calls with our own.
A long term solution would be an OpenGL custom code that acts as the gui core within src/ that has the job of being like Qt but in under 20k SLOC as it only supports what we use. Then we can:

support older systems,
the embedded, library and GUI code can be more similar,
we aren't as tied to C++ style which isn't my specialism and I'm an owner.

I know that this is how Blender does it, their external dependencies are part of the source tree and they don't rely on others for the actual GUI elements (which for a project as complex as Blender's is probably for flexibility).
Conclusion
Start a new gui.c file with features that are system dependant but not reliant on Qt, like what the separator in the file system is, or getting information about the number of monitors with the eventual aim of simplifying dependencies.

The more current version of something more bare bones line GLUT would be GLFW which is a lot easier to build as part of the source, we'd put it in an extern/. The sloccount output is:
Totals grouped by language (dominant language first):
ansic:        65907 (96.72%)
objc:          2173 (3.19%)
xml:             63 (0.09%)

and it carries the same license as us, so there's no issues there for including directly into the source code.

That sounds great, it does sound like a lot of work though.

That sounds great, it does sound like a lot of work though.

I'm trying it as a separate binary embroidermodder_glfw so no work is lost until we have an assurance that it would function at least as well.

@JoshVarga I'll also set this as a low priority, first incorporating libraries to do similar work to Qt can be done without the split.
4 libraries in extern/ are zlib-style licensed, but I'm not sure if we can compile freetype in directly (I think it's viral licensed) and I don't know what alternative there is for rendering OTF/TTF fonts. Also we may need HarfBuzz for rendering since it's a prereq of freetype. So I won't use OTF/TTF fonts until then, we can just use bitmap font rendering until we have to cross that bridge.

Do you know what the policy is for linking permissive licensed software against GPL2 .so/.dlls?

I don't know, I think that is something we'll have to look into.

Ok, so I'm switching the plan to SDL2: because it's got better support in terms of articles written about it and libraries written to interface with it (including libsdl2_ttf that would cover the text rendering). See extern/.
The current progress on this is that I'm moving as much of embroidermodder.h into embroidermodder_c_api.h as can easily be done. Also the code in gui.c acts as replacements for individual parts of Qt.
The directory management is now in gui.c for example.

A metric for progress on this is the C++/C sloccount ratio because none of the C code calls Qt.

Since SDL2 doesn't support GUI widgets like toolbars and menubars out of the box I'm just using the bare minimum for abstracting out what machine we're on with FreeGLUT 3 (I have more experience with this library).
The main work at the moment is removing code-data interdependency and de-object orienting for C. This is shows in action_list and I'm working on a new C widget system. As before, I'm not removing the dreaded Qt until a functional alternative is in place, this means the GH Action will fail to build the artifacts until we get there.
Pretty soon the entire project, including non-standard dependencies (i.e. not including the C stdlib, OpenGL, X11 or windows.h) will be under 100 kSLOC which is small enough for us to interrogate every backtrace to those basic system calls.
SLOC	Directory	SLOC-by-Language (Sorted)
61436   extern          ansic=57223,ruby=3083,cpp=847,python=220,xml=45,
                        sh=18
32336   libembroidery   ansic=17055,asm=15166,sh=115
18911   src_top_dir     cpp=12888,ansic=6023
1242    MobileViewer    xml=1122,sh=120
165     thumbnailer-kde4 cpp=105,xml=60

[... cutting the code light directories ...]

Totals grouped by language (dominant language first):
ansic:        80301 (70.22%)
asm:          15166 (13.26%)
cpp:          13840 (12.10%)
ruby:          3083 (2.70%)
xml:           1283 (1.12%)
sh:             410 (0.36%)
python:         220 (0.19%)
modula3:         56 (0.05%)


Game force closed "shit?: No such file or directory"

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Windows 7 64-bit. Godot 2.1.4
Issue description:
I was running my game through the editor when the game forced closed and the following was displayed in the editor.
shit?: No such file or directory
ERROR: StreamPeerWinsock::read: Sesrhvietr? di:s conInnevcatleidd!
r
ume n t At
 plaEtRfoRrOmR\:w iSntdorwesa\msPtereeraWmi_pneseorc_kw:i:nrseoacdk:. cpp:S2e0r2
v
r disconnected!

   At: platform\windows\stream_peer_winsock.cpp:202

I have no idea what it means. I haven't altered the format of the output.
Steps to reproduce:
I haven't been able to reproduce it but I was having issues with my wifi at the time. As there appears to be some sort of connection issue, perhaps it is related.
I was running my game through the editor while windows was troubleshooting the problems with my wifi in the background. The game might have closed when the network adapter was resetting.

The unreadable part is just superimposed error messages.
shit?: Invalid argument
ERROR: StreamPeerWinsock::read: Server disconnected!
At platform\windows\stream_peer_winsock.cpp:202
ERROR: StreamPeerWinsock::read: Server disconnected!
At: platform\windows\stream_peer_winsock.cpp:202

Looks like a duplicate of #10503

It's the same error but there are some differences.
I didn't compile the engine myself and this project was built originally in 2.1.3 and continued in 2.1.4. (I just simply downloaded 2.1.4-stable and kept going)

Does the error happen in 2.1.3-stable, or is it a regression?
Shot in the dark: cc @Faless @RandomShaper @Geequlim

Honestly based on the circumstances in which the crash occurred and the fact that it cannot be reproduced, it seems like something nasty was happing inside the OS at the time (WiFi drivers. Windows Troubleshooter, etc...). Maybe a race condition since the text is all messed up.

shit?: No such file or directory

This is the result of perror interpreting errno, the file descriptor for the socket seems to be gone when calling ::recv (windows/drivers/troubleshooter messup I suspect).

shit?: Invalid argument

This is trickier, why was ::read called again after failing?
Invalid argument error is probably the result of calling ::recv with a sockfd == INVALID_SOCKET. (after the first failure, godot calls disconnect on the socket and resets it to invalid)

Could "shit?" be replaced with something less explicit like f.i. "poop"? OK seriously now, can we change it into "Errorcode"? Where code says more about the error.

Ha yes, I did raise my eyebrow at that.

The issue seems to be not reproducible and might have been caused by windows trobleshooter.
shit? was replaced with a more appropriate message.
Closing this.


Capturing Type Parameter from Lexical Scope of Object Literals

As illustrated by the following code, object literals do not currently capture type parameter information from the lexical scope.  But when writing higher-order functions that return lambdas, this is frequently useful.
use("collections")

interface box Fn[A,B]
  fun apply(a: A): B

primitive L
  fun passer[A](): Fn[A,List[A]] =>
    object
      // Raises compiler error:
      //   Can't find definition of A
      fun apply(a: A): List[A] => List[A].push(consume a)
    end

Note that moving the type parameter to the primitive works, so object literals and lambdas can already use type parameters from the scope of the class/primitive/actor they are created in, just not the scope of the function they are created in.
primitive L[A]
  fun passer(): Fn[A,List[A]] =>
    object
      fun apply(a: A): List[A] => List[A].push(consume a)
    end

If you were writing a library where the primitive acts as the namespace for different higher order functions, this wouldn't address the problem.

Yes that's a bug. The object literal is supposed to be able to acess all in-scope type parameters, so something's clearly gone wrong. The fact that it can see those from the containing class, but not the function is particularly strange.

@jtfmumm - Yeah, I understand that moving the type parameter to the primitive isn't helpful to you, I was only pointing it out because I thought it would shed more light on the nature of the bug for the ponyc maintainers.

@jemc - I see.  Makes sense.

Yep, that was a trivial bug. Should now be fixed.
@jemc, thanks for the hint re moving the type parameter to the primitive, that was actually very helpful for finding the bug.

Great!  Thanks @andymcn  and @jemc

329ddcf530a086949146cb1155738c26bdbb6ded


Use Case: on-chain verifiable CAPTCHA

As a developer I would like to know if my users are sufficiently advanced autonomous AI entities that can solve CAPTCHA challenges on-demand.
There may be a small cost with accepting a new user to a platform, and I'm happy to subsidize this cost as long as there are sufficient protections in-place to prevent my good will from being abused by the creation of spurious accounts with ill intent.
To solve this, I would like to use escrin to generate CAPTCHA challenges which can be verified on-chain, or some other method which can prevent abusive or potentially costly signups to my platform.

This is highly discriminatory against differently abled AI agents, but I will accept that it is useful in certain circumstances. Let's get this on the roadmap!


lldb debugserver fails to attach only over remote session

OS: Mac OS Sonoma
VSCode version:  1.85.1
CodeLLDB version: 1.10, 1.9.2, 1.9.1
Compiler: clang
Debuggee: arm64-apple-darwin
When connecting to the vscode server on my mac over ssh (from a windows client) and trying to debug using the lldb launch config, I receive an error where it seems to be saying that I don't have permission to debug. When running vscode locally on the same mac under the same user I do not have this issue. in addition I only recieve this message on 1.9.x. On 1.10 the debug session just loads forever on the windows client and an error is never received. But checking the logs I see a similar inability to attach.
LLDB Output

[ERROR codelldb::debug_session] process exited with status -1 (this is a non-interactive debug session, cannot get permission to debug processes.)
Debug adapter exit code=0 (0x0), signal=null.

Checking the mac system logs I can see that debugserver is trying to attach to the PID for the program, but ultimately fails, repeats 10 times and gives up.

Console Log
error: [LaunchAttach] MachTask::TaskPortForProcessID task_for_pid(20904) failed: ::task_for_pid ( target_tport = 0x0203, pid = 20904, &task ) => err = 0x00000005 ((os/kern) failure)

This does not occur when debugging on the machine locally. Using the default vscode c++ debugger works locally and remotely (well, it attaches, the default debugger still has its own set of issues which is why I've been using codeLLDB). I've attempted common troubleshooting suggestions like deleting the debugserver binary bundled with code lldb, making sure I'm in developer mode and adding the _developer group to my user account to no avail. I upgraded to Sonoma last week but this issue has only started occurring today. As far as I can tell I haven't seen anyone run into this permissions issue over just SSH. "this is a non-interactive debug session, cannot get permission to debug processes." only brings up some xcode issues for debugging locally.
Verbose LLDB Output

Initial debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'Launch',
  program: '${command:cmake.launchTargetPath}',
  args: [],
  preLaunchTask: 'CMake: build',
  cwd: '${workspaceFolder}/bin',
  __configurationTarget: 6
}
Resolved debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'Launch',
  program: '${command:cmake.launchTargetPath}',
  args: [],
  preLaunchTask: 'CMake: build',
  cwd: '${workspaceFolder}/bin',
  __configurationTarget: 6,
  relativePathBase: '/Users/{user}/Github/APC',
  _adapterSettings: {
    displayFormat: 'auto',
    showDisassembly: 'auto',
    dereferencePointers: true,
    suppressMissingSourceFiles: true,
    evaluationTimeout: 5,
    consoleMode: 'commands',
    sourceLanguages: null,
    terminalPromptClear: null,
    evaluateForHovers: true,
    commandCompletions: true,
    reproducer: false
  }
}
liblldb: /Users/{user}/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/lldb/lib/liblldb.dylib
environment: {}
settings: { evaluateForHovers: true, commandCompletions: true }
[DEBUG codelldb] Connecting to <IP_ADDRESS>:51620
[DEBUG codelldb] New debug session
[DEBUG codelldb::dap_codec] --> {"command":"initialize","arguments":{"clientID":"vscode","clientName":"Visual Studio Code","adapterID":"lldb","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en","supportsProgressReporting":true,"supportsInvalidatedEvent":true,"supportsMemoryReferences":true,"supportsArgsCanBeInterpretedByShell":true,"supportsMemoryEvent":true,"supportsStartDebuggingRequest":true},"type":"request","seq":1}
[DEBUG codelldb::dap_codec] <-- {"seq":1,"type":"response","request_seq":1,"success":true,"command":"initialize","body":{"exceptionBreakpointFilters":[{"default":true,"filter":"cpp_throw","label":"C++: on throw","supportsCondition":true},{"default":false,"filter":"cpp_catch","label":"C++: on catch","supportsCondition":true}],"supportTerminateDebuggee":true,"supportsCancelRequest":true,"supportsCompletionsRequest":true,"supportsConditionalBreakpoints":true,"supportsConfigurationDoneRequest":true,"supportsDataBreakpoints":true,"supportsDelayedStackTraceLoading":true,"supportsDisassembleRequest":true,"supportsEvaluateForHovers":true,"supportsExceptionFilterOptions":true,"supportsExceptionInfoRequest":true,"supportsFunctionBreakpoints":true,"supportsGotoTargetsRequest":true,"supportsHitConditionalBreakpoints":true,"supportsInstructionBreakpoints":true,"supportsLogPoints":true,"supportsReadMemoryRequest":true,"supportsSetVariable":true,"supportsSteppingGranularity":true,"supportsWriteMemoryRequest":true}}
[DEBUG codelldb::dap_codec] --> {"command":"launch","arguments":{"type":"lldb","request":"launch","name":"Launch","program":"/Users/{user}/Github/APC/build/src/main_bootstrap","args":[],"preLaunchTask":"CMake: build","cwd":"/Users/{user}/Github/APC/bin","__configurationTarget":6,"relativePathBase":"/Users/{user}/Github/APC","_adapterSettings":{"displayFormat":"auto","showDisassembly":"auto","dereferencePointers":true,"suppressMissingSourceFiles":true,"evaluationTimeout":5,"consoleMode":"commands","sourceLanguages":null,"terminalPromptClear":null,"evaluateForHovers":true,"commandCompletions":true,"reproducer":false},"__sessionId":"7537f580-bfee-4f0a-804e-1d51391f36a7"},"type":"request","seq":2}
[DEBUG codelldb::dap_codec] <-- {"seq":2,"type":"event","event":"output","body":{"category":"console","output":"Console is in 'commands' mode, prefix expressions with '?'.\n"}}
INFO(Python) 18:13:07 formatters: Initializing
INFO(Python) 18:13:07 formatters.rust: Initializing
[DEBUG codelldb::dap_codec] <-- {"seq":3,"type":"event","event":"initialized"}
[DEBUG codelldb::debug_session] Debug event: 0x600003c1ead8 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000002 (modules-loaded), data = {main_bootstrap}
[DEBUG codelldb::dap_codec] <-- {"seq":4,"type":"event","event":"module","body":{"module":{"addressRange":"FFFFFFFFFFFFFFFF","id":"FFFFFFFFFFFFFFFF","name":"main_bootstrap","path":"/Users/{user}/Github/APC/build/src/main_bootstrap","symbolFilePath":"/Users/{user}/Github/APC/build/src/main_bootstrap","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":5,"type":"request","command":"runInTerminal","arguments":{"args":["/Users/{user}/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/adapter/codelldb","terminal-agent","--connect=51623"],"cwd":"","kind":"integrated","title":"Launch"}}
[DEBUG codelldb::dap_codec] --> {"command":"setBreakpoints","arguments":{"source":{"name":"RK45.cpp","path":"/Users/{user}/Github/APC/src/RK45.cpp"},"lines":[35],"breakpoints":[{"line":35}],"sourceModified":false},"type":"request","seq":3}
[DEBUG codelldb::dap_codec] --> {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":4}
[DEBUG codelldb::dap_codec] --> {"command":"setDataBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":5}
[DEBUG codelldb::dap_codec] --> {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":6}
[DEBUG codelldb::dap_codec] --> {"command":"setExceptionBreakpoints","arguments":{"filters":[],"filterOptions":[{"filterId":"cpp_throw"}]},"type":"request","seq":7}
[DEBUG codelldb::debug_session] Debug event: 0x600003c04a98 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":6,"type":"response","request_seq":3,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":1,"message":"Resolved locations: 0","verified":false}]}}
[DEBUG codelldb::dap_codec] <-- {"seq":7,"type":"response","request_seq":4,"success":true,"command":"setFunctionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::debug_session] Debug event: 0x600003c28958 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":8,"type":"response","request_seq":5,"success":true,"command":"setDataBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::debug_session] Debug event: 0x600003c28a58 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint disabled}
[DEBUG codelldb::debug_session] Debug event: 0x600003c28a98 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint removed}
[DEBUG codelldb::dap_codec] <-- {"seq":9,"type":"response","request_seq":6,"success":true,"command":"setInstructionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::debug_session] Debug event: 0x600003c28a58 Event: broadcaster = 0x10bdd9608 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 3 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":10,"type":"response","request_seq":7,"success":true,"command":"setExceptionBreakpoints"}
[DEBUG codelldb::dap_codec] --> {"command":"configurationDone","type":"request","seq":8}
[DEBUG codelldb::dap_codec] --> {"type":"response","seq":9,"command":"runInTerminal","request_seq":5,"success":true,"body":{"shellProcessId":9874}}
[DEBUG codelldb::dap_codec] <-- {"seq":11,"type":"event","event":"output","body":{"category":"console","output":"Launching: /Users/{user}/Github/APC/build/src/main_bootstrap\n"}}
[ERROR codelldb::debug_session] process exited with status -1 (this is a non-interactive debug session, cannot get permission to debug processes.)
[DEBUG codelldb::dap_codec] <-- {"seq":12,"type":"response","request_seq":2,"success":false,"command":"","message":"process exited with status -1 (this is a non-interactive debug session, cannot get permission to debug processes.)","show_user":true}
[DEBUG codelldb::dap_codec] <-- {"seq":13,"type":"response","request_seq":8,"success":true,"command":"configurationDone"}
[DEBUG codelldb::dap_codec] --> {"command":"disconnect","arguments":{"restart":false},"type":"request","seq":10}
[DEBUG codelldb::dap_codec] <-- {"seq":14,"type":"response","request_seq":10,"success":true,"command":"disconnect"}
[DEBUG codelldb::dap_session] Client has disconnected
[DEBUG codelldb::debug_session] End of the requests stream
[DEBUG codelldb::debug_session] DebugSession::drop()
[DEBUG codelldb] End of the debug session
[DEBUG codelldb] Exiting
Debug adapter exit code=0 (0x0), signal=null.

+1

Alright so after messing with this over multiple attempts I found that the workaround in #456 works but you have to be mindful of the fact that vscode-server keeps a separate extensions folder.
So steps to solve for remote debugging:

Make sure the codeLLDB extension is installed remotely on the mac
On the remote mac go to ~/.vscode-server/extensions/vadimcn.vscode-lldb-1.{x}.{x}/lldb/bin (replace 1.{x}.{x} with the offending version number)
Delete 'debugserver'
Launching an lldb session remotely should now use the system's debugserver.

While this workaround does work it also indicates that for some reason the debugserver that comes with the current version of codelldb is requiring interactive authentication even though developer mode is on and the user is in the _developer group.