New package: JohnnyTech.Bluebook.AbbFixer version UNKNOWN

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

@jhi2 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Automatic Validation ended with:

Executable C:\Program Files (x86)\JohnnyTech\JohnnyTech Bluebook Cite Abbriviation Fixer 6.0\exe.exe returned exit code: 9009

(Automated response - build 895.)

Verify:
The Desktop shortcut didn't seem to do anything. The Start Menu shortcut gave:

After pressing y:

The installer didn't seem to add any Registry entries.

@wingetbot waivers Add Validation-Executable-Error

Verify: The Desktop shortcut didn't seem to do anything. The Start Menu shortcut gave:  After pressing y:  The installer didn't seem to add any Registry entries.

Verify: The Desktop shortcut didn't seem to do anything. The Start Menu shortcut gave:  After pressing y:  The installer didn't seem to add any Registry entries.

This one dosent need to add registry


small caps

According to http://ctan.forsale.plus/fonts/amsfonts/doc/amsfndoc.pdf cmcsc10 is used for small caps.

Tracked in https://github.com/KaTeX/KaTeX/issues/471.


wlr-input-inhibitor support

Description
gtklock depends on this protocol to keep the environment secure in case it crashes/gets killed.

IIRC it's been supported forever. I need a bug repro case if it's not working

https://github.com/hyprwm/Hyprland/assets/36706276/33ccaba4-0147-4a17-bb21-452d42decba5

how would gtklock use a protocol if it's killed? I don't see an issue?

It uses it when it's launched. Killing it would then lock down Hyprland, just like swaylock does.

would it? does sway behave like that?

Gonna check.

Looks like gktlock behaves exactly the same on sway. Weird.

Because it does not use ext-session-lock so killing it won't lock down the compositor, see https://github.com/jovanlanik/gtklock/issues/53

Cool, let's hope it will be fixed soon.

input-inhibitor was never meant for the issue explained in the original post, so yes

any updates ?
$ gtklock

** (gtklock:19059): CRITICAL **: 02:32:11.972: Your compositor doesn't support wlr-input-inhibitor

on gentoo linux ~amd64
hyprland 0.33.1
gtklock 2.1.0

any updates ?
$ gtklock

** (gtklock:19059): CRITICAL **: 02:32:11.972: Your compositor doesn't support wlr-input-inhibitor

on gentoo linux ~amd64 hyprland 0.33.1 gtklock 2.1.0

i have the same issue since the latest update on arch linux

swaylock supports ext-session-lock. Update from your 2 years out-of-date fork.
wlr-input-inhibitor support was dropped in wlroots and hyprland because it's long deprecated.

swaylock with swayidle works amazing, thank you :)

same issue here as well on Manjaro. currently i am not able to lock my screen at all :(
 $ gtklock

** (gtklock:40293): CRITICAL **: 09:57:47.945: Your compositor doesn't support wlr-input-inhibitor

$ swaylock
2023-12-14 09:57:43 - [main.c:1824] Compositor does not support the input inhibitor protocol, refusing to run insecurely

Gtklock no longer works. Please use swaylock or waylock.

same issue here as well on Manjaro. currently i am not able to lock my screen at all :(
 $ gtklock

** (gtklock:40293): CRITICAL **: 09:57:47.945: Your compositor doesn't support wlr-input-inhibitor

$ swaylock
2023-12-14 09:57:43 - [main.c:1824] Compositor does not support the input inhibitor protocol, refusing to run insecurely

try swaylock-effects-git if you are using swaylock-effects. otherwise, regular swaylock works now but looks bad

@prometheaus many thanks for the hint! swaylock works again after replacing swaylock-effects with swaylock-effects-git  :tada:

i found a solution to the ** (gtklock:63438): CRITICAL **: 18:07:41.283: Your compositor doesn't support wlr-input-inhibitor issue, it seems that running gtklock with the -i flag (makes gtklock not use wlr-input-inhibitor) makes it work again.

i found a solution to the ** (gtklock:63438): CRITICAL **: 18:07:41.283: Your compositor doesn't support wlr-input-inhibitor issue, it seems that running gtklock with the -i flag (makes gtklock not use wlr-input-inhibitor) makes it work again.

Thanks, works flawlessly. I cannot find any -i flag in the man pages or there github. Any idea what it does?


Support for G/gg

It would be great to be able to do things such as yG/ygg/dG/dgg.
Currently it doesn't seem like we can do it and selecting whole documents and such is a little difficult.

yeah looks like those motions are not properly handled when key buffering.

I guess I managed to solve this.
Can you try the current master branch with ipm install inkdropapp/inkdrop-vim?

no response

Hey, thanks for the fix, it's working nicely!
Sorry for the late reply, my github notifications are too busy to be able to catch individual ones like this.

Great, thanks for letting me know!


failed test restyle

http://webreflection.github.io/

I've seen that. Which problem are you having, specifically?


Publish updates from master

Publish the latest updates from the master branch

Sure. We can update the release note as part of https://github.com/docker/docker.github.io/pull/12664


Minimum/Maximum values for InitialSilence and EndSilence timeouts for Speech SDK for Python

Hello, I am using Speech SDK for Python version 1.13.0 and I am getting the error: No speech could be recognized: NoMatchDetails(reason=NoMatchReason.InitialSilenceTimeout).
Is there a way of setting silence timeout via Python SDK API?
I only found this availability regarding C# and Java SDKs as mentioned in https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/131 and https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/502, respectively.

I'm facing the same issue here. Do we have a roadmap for supporting this feature in the Python SDK?

You could set the two parameters via an endpoint as below for SpeechRecognizer:
https://region.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1? format=simple&initialSilenceTimeoutMs=60000&endSilenceTimeoutMs=60000
Replace region with your own region, and the 60000 with your own value.
Please note that these two parameters change how the speech recognizer behave a lot. It is OK to play with them for a few utterances. But to get the best values for a general usage in real apps, you would need design a general dataset and have them thoroughly tested. In fact, the default values are the ones our speech scientists picked after balancing all needed datasets.

Hi @lisaweixu, What should I do in this case?
My endpoint on the portal is very different from the one you mentioned above.
https://westus.api.cognitive.microsoft.com/sts/v1.0/issuetoken

Hello,
I faced the same issue and I solved it simply by converting my audio sample rate from 48kHz to 16kHz.
It worked well after that.

you can use
speech_config.set_property(PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs, "600000")


View on hover Sidebar doesn't display submenus

Describe the bug
A minimized class Sidebar which opens on hover does not display sub menus even when hovering
To Reproduce
Steps to reproduce the behavior:

Click on one of the down chevrons to open the namespaces submenu on the sidebar
Click the left chevron to minimize the side bar
Hover over the side bar
When it "opens" observe that the namespaces submenu is both not rendered and that all the chevrons are gone.

Expected behavior
The minimizable sidebar should behave like a pinned sidebar when a hover action opens the sidebar.
Screenshots

Environment (please complete the following information):

Lens Version: 3.6.0-rc2
OS: [e.g. OSX] macos
Installation method (e.g. snap or AppImage in Linux): download

@Nokel81 This is done on purpose because of unclear user experience caused by always-expanded-submenus. Main question was - where to expand submenus: imagine if they're all expanded initially you will see huge unexplainded gaps between an icons. Those gaps would be clear for users only if they hovered over sidebar and wait for second.
If we decide to expand submenus after Sidebar opening animation stops (which itself a tricky task) then your cursor most likely would point to completely different item, not you supposed to click. Just because all menu items expand their children and most icons will jump to another vertical position.

I can completely understand why expanding them all would be a bad idea (the visual argument is strong).
But I think that there should still be the option to expand them even in the non-pinned mode and I could see an argument for expanding the menu that is currently being hovered over if it was expanded (in pinned mode)


html doc build for dmd

Works in conjunction with https://github.com/D-Programming-Language/dmd/pull/5352.

@CyberShadow do you know why this might have happened? http://dtest.thecybershadow.net/results/57c4402ecd7285277ea0da611679fc83f4e490e0/dd10bb6137ed229bcb872c6611942ae183a0a031/build.log

I'm guessing you didn't specify whichever dependency generates .generated/2.069.2.ddoc for the dmd documentation target.

Ah, it depends on the entire $(STD_DDOC_PRE). Fixed.

@CyberShadow thx!!

"All checks have passed"

Looks like the tools section is generating broken HTML

@andralex @CyberShadow so what's the status here?

The tools section is still generating broken HTML. Look at the top of any generated file.

Seeing as Andrei seems to be busy with more important things, does anyone want to adopt this PR?

OK, fixed. This + https://github.com/D-Programming-Language/dmd/pull/5617 = win

Looking good :+1:
This is missing one thing however, there needs to be a link somewhere on the site, perferably in the navbar, to these docs.

Here it is in all its glory: http://dlang.org/dmd-prerelease/

Better than nothing I guess


React Tutorial

Description
Hi! :wave:
This project is the fruit of a walkthrough of the extensive introduction to React by ibaslogic.
Milestones
The tutorial project was built following these milestones:

[x] React tutorial: The beginner's guide to learning React in 2020.

[x] Working with React form and handling event.

[x] How to implement CSS in Reactjs app.

[x] How to edit to dos items.

[x] Getting started with React lifecycle methods.

[x] Getting started with React hooks.

[x] How to use SVG icons in React.

[x] Routing with React Router.

[x] How to add hamburger menu in React.

[x] Deploying React app to GitHub Pages.

General requirements

[x] There are no linter errors.
[x] Followed the Gitflow.
[x] The documentation is professional.

JavaScript requirements

[x] Followed the list of best practices for JavaScript

Additional notes

Please find here the live link to the application

Please find hereafter a recorded demo of the project:

Thank you for taking the time to review this pull request.

Hi @souad988! :wave:
I totally forgot about the linters. I'll add them promptly and ask for another review.
Thank you for the feedback.

Hi @souad988
I did the requested changes.
Can review this project again?
Best,

Hi @souad988
Thank you again for the feedback

@souad988
Thank you for the approuval.
I learned a lot from this activity thanks to our interaction.
Best


Initial port to Swift 4

What's in this pull request?
Initial migration of library to Swift 4. (Minor changes but lib required by Swiftz which has more extensive changes)
Why merge this pull request?
Migrates library to latest version of Swift. All tests passing with the Swift 4 version of SwiftCheck that I submitted as a PR earlier.
What's worth discussing about this pull request?
This PR focuses on getting the build compiling without warning and passing all tests. I will have missed anything not picked up by these! There may be some wider changes you have in mind to take advantage of Swift 4.
What downsides are there to merging this pull request?
Uses temporary refs to my personal SwiftCheck forks with Swift 4 migration. Will need updating to point to official SwiftCheck repos.

Alright, I merged the SwiftCheck PR -- so now we can point to that and then we can merge this one!

Nice one. I've updated Operadics to SPM v4 too. Once that's in we can cascade the rest up!

Xcode 9 redid the file paths so they match the project structure.  This is undesirable given that I would like to support just a package build in the future.  Could you please try to keep everything in their original positions (modulo moving things into the target directory)?

Resolved by the merge of #68


Documentation about use of SSL with Vert.x is missing some critical information

If someone wishes to create a web client that connects to Vert.x Web using HTTPS, there is the danger of the developer seeing "handshake failures" due to cipher suites that don't match.  While the documentation on how to get a Vert.x server to communicate over SSL is fairly straightforward, there are no instructions or examples on how to configure a Vert.x based server so that it can access and use cipher suites that match with the one(s) used by the desired client. Such a description or example is needed so that someone can create working client programs that can complete the handshake.

@RobertBrown3 are you interested in contributing such doc ?

Actually:
I would love to -- except that I have no idea how to do it.
I am trying to find out, and have performed a few failed experiments, but before I can document how to set ciphers in a Vert.x server I need to find or figure out how to do so...
-Robert Brown III
---- On Tue, 09 Apr 2019 13:15:41 -0700 Julien Viet<EMAIL_ADDRESS>wrote ----
https://github.com/RobertBrown3 are you interested in contributing such doc ?
—
You are receiving this because you were mentioned.
Reply to this email directly, https://github.com/vert-x3/issues/issues/455#issuecomment-481417687, or https://github.com/notifications/unsubscribe-auth/AM9k4wDcxuOqE2lJZnLBDc24pvkhQVNmks5vfPTtgaJpZM4clI-p.

@RobertBrown3 actually when you connect to a remote server, you don't want to specify cipher suites that matches the server, you want to specify cipher suites that matches your own criteria, i.e you don't want to match all ciphers including weak ones.
You said there is the danger of the developer seeing "handshake failures" due to cipher suites that don't match, actually this is a feature and not a danger.
That being said, vert.x won't prevent you using any cipher suite you want, so you can set on WebClientOptions the cipher suites. To configure this list you can get the list of all cipher suites supported by your JDK, e.g https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider

Thank you for the information you provided. It is very useful.
It does not, however, solve the problem I am pointing out.
I recognize that the "danger" I am pointing out is a feature of the cipher system. I called the handshake failures a "danger" because there is no documented way to match the "criteria" that you want to match between the client and server.
The problem isn't about the need to match all cipher suites. The problem is (a) determining which cipher suite(s) should be used on the client or server, and (b) how to make the client and server use one that matches.
Some facts relevant to this problem:

For various technical reasons, the client I am using is implemented on a different version of the JVM (JRE 1.7). I have no control over this as it is part of what those I am working for have made available.

The clients are not implemented using Vert.x. They are implemented using a different HTTP library. Consequently the use of Vert.x's WebClientOptions class to set cipher suites is irrelevant.

Debug information provided when running my client (using -Djavax.net.debug=ssl:handshake:verbose) provides information about the cipher suites used by the client. Debug information generated for the Vert.x server lists a number of disabled or unavailable cipher suites, but does not appear to list any available cipher suites. In fact, the server appears to list client and server suites as "null".

While the list of supported cipher suites provided in the link is interesting from the theoretical perspective for the JSSE, the information is of little use since it is unclear which if any of these suites is actually being used by the Vert.x server. In other words, without the list of actual supported suites which I state in (3) is missing from the debug trace, even if I was using a Vert.x client on a 1.8+ JVM I have no way of knowing what to configure the WebClientOptions to use so that the client could match the server suite.

What is needed in the documentation is information on how to insure that the cipher suites used by the client and Vert.x server match. Whether we do it from the client side or the server side doesn't matter. We need to be able to find out what actual suites are being supported by a given Vert.x server and have some idea how to either get the client to match them or set the server to use one that would match.
Otherwise, it won't matter what you do with clients. No one wil be able to use SSL on any Vert.x server...
-Robert Brown III
---- On Tue, 09 Apr 2019 14:45:52 -0700 Julien Viet<EMAIL_ADDRESS>wrote ----
https://github.com/RobertBrown3 actually when you connect to a remote server, you don't want to specify cipher suites that matches the server, you want to specify cipher suites that matches your own criteria, i.e you don't want to match all ciphers including weak ones.
You said there is the danger of the developer seeing "handshake failures" due to cipher suites that don't match, actually this is a feature and not a danger.
That being said, vert.x won't prevent you using any cipher suite you want, so you can set on WebClientOptions the cipher suites. To configure this list you can get the list of all cipher suites supported by your JDK, e.g https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider
—
You are receiving this because you were mentioned.
Reply to this email directly, https://github.com/vert-x3/issues/issues/455#issuecomment-481452125, or https://github.com/notifications/unsubscribe-auth/AM9k42iRVSQxTpGonPjrg3bbW-djzjKZks5vfQoQgaJpZM4clI-p.

when you said "web client" I though it was vertx WebClient
On the server side you can also set the list of cipher suites that your server will use.
If you don't set any enabled cipher suite then it will use all the ciphers the JVM provides.

Actually:    I would love to -- except that I have no idea how to do it.    I am trying to find out, and have performed a few failed experiments, but before I can document how to set ciphers in a Vert.x server I need to find or figure out how to do so...
…
-Robert Brown III
---- On Tue, 09 Apr 2019 13:15:41 -0700 Julien Viet<EMAIL_ADDRESS>wrote ---- https://github.com/RobertBrown3 are you interested in contributing such doc ? — You are receiving this because you were mentioned. Reply to this email directly, #455 (comment), or https://github.com/notifications/unsubscribe-auth/AM9k4wDcxuOqE2lJZnLBDc24pvkhQVNmks5vfPTtgaJpZM4clI-p.

hi,
out of curiosity are you using infinispan cluster manager?
We're observing a similar issue but it only happens with inifinispan cluster manager and not hazelcast.
Setting ssl debug we noticed many ciphers suite were disabled while using infinispan cluster manager
Ignoring disabled cipher suite: TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: SSL_RSA_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
Ignoring disabled cipher suite: SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
The list of unsupported ignored cipher suites is the same.
We put that issue on hold for the moment since it's pretty tricky to debug (and moved to hazelcast).


Fix missing asset

Fixes https://github.com/artsy/eigen/issues/1833

The required RCTImage subspec was only added to the Emission Example app, not the Emission podspec which meant that Eigen did not include that module.
It turns out that RN does look in the Emission framework bundle when integrated into Eigen, so these assets can be included in the pod as normal.

          1 Warning

:warning:
The following files do not have tests: lib/components/home/artist_rails/artist_rail.js & lib/components/home/artwork_rails/artwork_rail.js

  Generated by :no_entry_sign: danger

👌


Make official install instructions use curl instead of wget

YOU GO CURL
Fixes #14650

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "wgetcurl" git@github.com:ankushagarwal/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Reviewers :
Docs : @moxiegirl @thaJeztah
Infra maintainers : @jfrazelle @crosbymichael

LGTM I like curl because I can remember the -sSL :-)

Me too :)

LGTM hahaha love the title

Shouldn't we add a little "If you don't have curl and/or have/like wget, the equivalent is wget -qO-" ?
But other than that, yeah curl -sSL is easier to remember :blush: so :+1:

but wget is cooler!

Right-click the URL in your webbrowser and choose "save linked file as..."  😜

LGTM thanks @ankushagarwal

@calavera cherry pick?

cherry picked into #15091

Next person to crack at this ought to add -f to all those curl invocations. :innocent:


Fix typo

Hi @lupino3, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Add new metric APIs

We added new metric APIs in .NET 6 and we need to tell customers about them.
These pages should introduce the new APIs, describe how they differ from existing APIs, and provide guidance how to instrument and collect.

cc @dotnet/dotnet-diag

cc @tarekgh

@noahfalk would make sense to make this as draft PR till it is ready for review?

@noahfalk would make sense to make this as draft PR till it is ready for review?

Yeah, but I think I missed the button when I filed it and I didn't see a way to convert it to draft afterwards. Is there a way?

As far as I know, no. This is a one way street.

0.0 magic. @tarekgh Where is the option to? It used to not be possible

@noahfalk I converted it to a draft PR. I pasted the image for the UI place to convert the PR to draft.

Thanks @tarekgh !

@tarekgh @reyang @tarekgh @cijothomas @shirhatti @hoyosjs @gfoidl  - just pinging to make sure you see the changes. I'm expecting small updates on the PR to be much more frequent now. Thanks all!
I'm still doing some revision/editing, but I think the overall structure is complete and content is filled in. If you have any suggestions big or small, now is probably a good time to take a look. I see you guys made a few comments on my early draft that I have not yet reviewed. Promise I'm not ignoring it, just haven't gotten there quite yet : )
My plan was to merge the PR no earlier than when the official RTM builds of DiagnosticSource are available because the text doesn't refer to the .NET portions as being preview builds.
@hoyosjs - I am planning to go through all that great feedback you wrote during the exploration a few months ago and cross-check if the docs adequately offer guidance for the places you found confusing. Probably there are still some gaps that I'll need to work on addressing.

@noahfalk this looks great to me.

Thanks for all the review feedback. Most of the feedback I commented on now has changes present but I noticed that I messed up some of the changes and reverted or overwrote them accidentally. I am fixing it, but need to sleep for now. I'll ping again as soon I get it all fixed.

OK, I think I've got all the changes in place for feedback so far and I removed all the WIP markers. If there is more feedback I'm glad to address it.
@dotnet/docs - could someone take a look at this? Thanks!

@Anipik - sorry I should have added you earlier. You are welcome to look at anything but in particular I wanted to see if you had any concerns about the statements on the PerformanceCounter APIs in the API comparison.

Thanks for the great feedback everyone! I've attempted to incorporate all of it in the most recent changes.

Does anyone need more time to review further or should I go ahead and merge? Thanks all!

Does anyone need more time to review further or should I go ahead and merge? Thanks all!

:shipit:

Does anyone need more time to review further or should I go ahead and merge? Thanks all!

I'll take another look in the next couple hours - thanks!

Thanks for the thorough review @gewarren : ) All the changes you suggested should be reflected now.

@noahfalk I hope you don't mind that I made some direct commits. It was much easier to work with the articles holistically than line-by-line in the GitHub editor. I reordered the TOC a bit (nested the reference article under EventCounters) and renamed "Understanding metric APIs" to "Compare metric APIs". I also ran Acrolinx (our grammar checker).

@gewarren - The first two commits look great but I am a little concerned about renaming EventCounters. We have used "EventCounter" as both the name of a specific type (System.Diagnostics.Tracing.EventCounter) and as the name of the overall feature, a group of related APIs (EventCounter, PollingCounter, IncrementingEventCounter, IncrementingPollingCounter). It feels odd to retroactively change the naming from EventCounter -> "event counter".

@gewarren - The first two commits look great but I am a little concerned about renaming EventCounters. We have used "EventCounter" as both the name of a specific type (System.Diagnostics.Tracing.EventCounter) and as the name of the overall feature, a group of related APIs (EventCounter, PollingCounter, IncrementingEventCounter, IncrementingPollingCounter). It feels odd to retroactively change the naming from EventCounter -> "event counter".

Yes, after reading the "compare metrics APIs" article again, I realized I should change it back too. It was just odd to me to use an upper case name that looks like a type to refer to something bigger than a specific type.
I think the only remaining thing for me is that there is a section ".NET diagnostics tutorials" that has, for example, a tutorial on EventCounters. Should we move that tutorial under the Metrics parent instead? Or should we move the new collection and instrumentation tutorials under that Tutorials node?

I think the only remaining thing for me is that there is a section ".NET diagnostics tutorials" that has, for example, a tutorial on EventCounters. Should we move that tutorial under the Metrics parent instead?

That makes sense to me. I think the original intent of that ".NET diagnostics tutorials" was to offer troubleshooting guides for different types of issues, but over time a few other tutorials have slipped in that aren't troubleshooting in nature.

It was just odd to me to use an upper case name that looks like a type to refer to something bigger than a specific type

Yeah the naming evolved organically rather than being explicitly decided. In .NET 4.7.1 we created EventCounter the type, so EventCounters at that time referred to having multiple instances of the type. Later we created some closely related types (PollingCounter, IncrementingEventCounter, etc) but continued to refer to the group of them as 'EventCounters'. At that point 'EventCounters' implicitly became a proper noun referring to a feature as a whole. For example people would say "The EventCounters feature helps developers monitor their applications", or "I suggest you use the EventCounters API for that job."
I'm entirely trying to find a definition that matches pre-existing usage, but hopefully it seems workable? Thanks!

Merged! 🚀


Add autoConfigure

I've added a method to allow quick configuration of the midpoint and noise level based on taking readings. I'm finding that in my circuit the 5V line isn't always 5v (it's 5.1 when connected to my Mac USB), hence the midpoint isn't where it's expected and the easiest way for me to configure is to capture actual ADC values with no current running.

BTW - feel free to remove my name from author and update version! I hadn't realised you be so quick to respond to things and thought I'd end up leaving this on Github for a while...
I picked version 0.2.0 since I've added API functions

The autoconfigure code looks OK, some questions:
The code assumes midpoint = (minread + maxread) / 2;
Makes good sense.
Would it be better to take the average of all readings as midpoint?
In your proposed code a single glitch could influence the midpoint quite a bit.
opinion?

You co authored the code, so credits where credits are due 👍
Please check the library.json file to mention you as coauthor too

Thanks Rob. Using the mean sounds a good plan - I'll have a look at trying that out one evening this week (hopefully!). I'm also tempted to try using standard deviation to calculate a value for noise, although that will involve more experimentation and some research into what standard deviation is for a simple noise signal (I found one article suggesting 6-8 * sd for noise, which sounds plausible but I'll need to play...). Might be utter overkill really!

Calculating the std deviation for the noise would be good science, however it means extra code compared to core functionality of the lib. Especially for smaller platforms this is a point of attention.
The current peak to peak approach is fast and lightweight, so I'm looking forward to the results of your experiments.
If there is little difference I prefer the current pragmatic approach as it uses less code (= assumption)

Good point - I'm spoiled coming from a background of building for servers rather than microcontrollers :) I'll play and see..

Hi Rob. I ran a test and captured 6,000 readings with no current flowing. The values generally fell nicely within 3SDs of the mean, but there were quite a few outliers (more than 250) - so you're right and the peak to peak approach for midpoint is questionable. I've updated the logic so that I calculate the mean value instead. I also decided that sticking with the data sheet value of 21mV for noise was a better plan than using the peak to peak values - in my test 3 standard deviations was almost exactly 21mV. I agree that calculating the SD during a test is overkill - the data sheet value is probably safe unless you have a defective component...
Sadly, all this has gotten me wondering if I need to worry about noise when taking AC readings. If I take lots of DC readings the noise will cancel itself out over time, but the same isn't true for AC. I'll run some tests and have a deeper think about it soon - although I think I might be overthinking all this!

Thanks, but I'm sorry to say that the code has two possible showstoppers in it
overflow
The autoMIdpoint can run about a minute max,
Although total is not expected to overflow normally an ESP32 @240 Mhz will make more than 5.7 million samples in such loop (tested). As the value of one sample = ~2048  (50% of default 12 bit mode) ==> 5.7 million * 2048  > MAX_UINT32_T
==> should be prevented in the while loop.
samples
The code has a bug as it initializes samples to 1 which is incorrect.
If the user passes timeMillis = 0 as parameter or a value small enough, then the  while loop will not be executed. total will stay zero and the result is that the midpoint will be 0, which is 100% incorrect.
If the user passes a small value and the loop executes only once, samples will be 2 and the midpoint will be wrong too.
The more iterations of loop the better it will become.
There are different solutions and I propose the following:

use a minimum nr of samples. ==> one can enforce a decent minimum (preferred)
exit the loop if total approaches an overflow condition

void ACS712::autoMidPoint(uint16_t timeMillis)
{
  uint32_t startTime = millis();
  uint32_t total = 0;
  uint32_t samples = 0;
  while ( ((millis() - startTime) < timeMillis) && (samples < 4) && (total < 0xFF000000) )
  {
    total += analogRead(_pin);
    samples ++;
  }
  _midPoint = (total + samples/2) / samples;     // better int rounding;  no big issue as this could only give +1.
}

or maybe enforce at least one sample
void ACS712::autoMidPoint(uint16_t timeMillis)
{
  uint32_t startTime = millis();
  uint32_t total = analogRead(_pin);
  uint32_t samples = 1;
  while ( ((millis() - startTime) < timeMillis) && (total < 0xFF000000) )
  {
    total += analogRead(_pin);
    samples ++;
  }
  _midPoint = total / samples;

maybe it is better to enforce a minimum timeMillis so that for AC sampling one het at least a full sinus of (50/60 Hz)
Opinion?

Thanks Rob! The samples=1 mistake was a holdover from an earlier version where I attempted to calculate mean around the initial reading to limit overflow possibilities (I never got it to work because of signed/unsigned weirdness!). Anyway, fixed that...
I've gone with a combination of your suggestions and had a little more of a think about calculating midpoint if there's an AC current flowing (my original assumption was that there was no current). I've modified the logic so that it takes readings for 2 cycles of AC, and pauses for a microsecond between readings. That way I can be sure I get a maximum of 40,000 readings and therefore won't hit an overflow. I'm getting around 2,800 samples on my ESP32 with this logic, which seems plenty to get a reasonable mean.
Hopefully I've managed to do something that makes sense!

Looks much more robust, don't see any failing scenario, so I will merge asap.
An analogRead on an UNO takes ~120 micros so that would give enough samples too.

Released 0.2.0

Excellent. Thanks Rob


Error browserSync.events.on

/node_modules/connect-browser-sync/index.js:9
  browserSync.events.on('init', function(config) {
                    ^
TypeError: Cannot read property 'on' of undefined
    at injectBrowserSync (/node_modules/connect-browser-sync/index.js:9:21)
    at Object.<anonymous> (/app.js:32:42)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/bin/www:6:11)
    at Module._compile (module.js:460:26)
[gulp] [nodemon] app crashed - waiting for file changes before starting...

Using:
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
if (app.get('env') == 'development') {
  var browserSync = require('browser-sync');
  var bs = browserSync.init([], {});
  app.use(require('connect-browser-sync')(bs));
}
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});

Same error here. Using
"connect-browser-sync": "~1.0.2"
and
"browser-sync": "~2.2.1"
Is connect-browser-sync compatible with browser-sync 2 ?

Apologies, I had some personal things come up. I will be able to look at
this issue this weekend.
On Feb 27, 2015 11:01 AM, "Alexis Hassler"<EMAIL_ADDRESS>wrote:

Same error here. Using
"connect-browser-sync": "~1.0.2"
and
"browser-sync": "~2.2.1"
Is connect-browser-sync compatible with browser-sync 2 ?
—
Reply to this email directly or view it on GitHub
https://github.com/schmich/connect-browser-sync/issues/9#issuecomment-76429182
.

Thanks!

Also do you have some suggestions on how this will work when it is being proxies? I would guess that this would allow to avoid needing to use the proxy setup? Would be great if there were some examples of this using an express generated app. Thanks again.

Sorry for the terrible delay, but connect-browser-sync should be fully compatible with BrowserSync 2.x now.
@hydrotik Yes, the purpose of this is to avoid needing a proxy at all since it's a plugin in connect that is doing the script tag injection. You can see example code in README.md or in the self-contained app in the example folder.

Thanks!


cmd/go: Unable to update dependency using insteadOf

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

$ go version
go version go1.13 linux/amd64

Does this issue reproduce with the latest release?
Only with the latest release.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/mv/.cache/go-build"
GOENV="/home/mv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/mv/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/mv/.local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/mv/.local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/tmp/testmodule/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build026595744=/tmp/go-build -gno-record-gcc-switches"

What did you do?

$ cat ~/.gitconfig
[url "git@private.gitlab.com:"]
    insteadOf = "https://private.gitlab.com/"

$ go get<EMAIL_ADDRESS>
What did you expect to see?
That the dependency got added to the go.mod.
What did you see instead?
go: finding private.gitlab.com v0.1.0
go: finding private.gitlab.com/project v0.1.0
verifying<EMAIL_ADDRESS><EMAIL_ADDRESS>reading<EMAIL_ADDRESS>410 Gone

After exporting GONOSUMDB=private.gitlab.com/project the dependency was added successfully. This is an unexpected behaviour, which is why we're currently still waiting with upgrading the go version in our environment.

Sorry for the inconvenience. I think this is working as intended.
The go1.13 release note mentions this in its very first section.

If you depend on non-public modules, see the documentation for configuring your environment.

GOPRIVATE (or GONOPROXY, GONOSUMDB) are offered to work with private repos.

We've further analyzed this issue and found out that most of our repos are working just fine without GOPRIVATE or GONOSUMDB. We could reproduce the issue by creating a module with a hyphen in the name, e.g. gitlab.com/project/test-repo, then creating a go file in the project root with a snake case version of the name, e.g. package test_repo. The error was a 410 response from https://sum.golang.org/lookup/... (the same as mentioned in this issue).

It seems this really only affects private repos, as I couldn't reproduce this issue here

Fix: export GOPRIVATE=private.gitlab.com

Yes, we know how to fix it. It's just that it doesn't work OOTB anymore. The GOPROXY env var has a direct fallback. We also tried GOSUMDB=sum.google.org,off and it worked. I don't understand why one has a fallback, while the other doesn't

@avorima It's intentional that GOSUMDB doesn't accept fallback. Otherwise, it's possible that MITM attacker blocks your communication temporarily, lets you download different version without getting noticed. By triggering failure, at least, the go command draws your attention and you can check what's going on.

Ok, I read the sumdb proposal and I understand the security implications of disabled GOSUMDB as fallback. It also answered a few other questions I had about this whole infrastructure.
Thanks for your patience.


Server gets stuck on stop

I have the following test in my XCTestCase, which should demonstrate the problem.
let mockServer = MockServer()
mockServer.start()

mockServer.router["/test"] = JSONResponse() { _ -> NSDictionary in
    print("request received")
    return [:]
}

print("Send request")
URLSession(configuration: URLSessionConfiguration.default)
    .dataTask(with: URL(string: "http://localhost:8080/test")!)
    .resume()

sleep(3) // Any action or tear down delay.
print("stop mock server")
mockServer.stop() // Never ends
print("mock server stopped")

MockServer is a wrapper I have made, which handles starting and stopping the server.
I followed your gist about running the server.
class MockServer {
    let router = Router()
    private let server: HTTPServer
    private let serverDispatchQueue = DispatchQueue(label: "com.timr.uitest.serverDispatchQueue", qos: .background)
    private let eventLoop: EventLoop
    private var eventLoopThreadCondition = NSCondition()

    init() {
        eventLoop = try! SelectorEventLoop(selector: try! KqueueSelector())
        server = DefaultHTTPServer(
            eventLoop: eventLoop,
            port: 8080,
            app: router.app
        )
    }

    func start() {
        try! server.start()
        eventLoopThreadCondition = NSCondition()
        serverDispatchQueue.async() {
            self.eventLoop.runForever()
            self.eventLoopThreadCondition.lock()
            self.eventLoopThreadCondition.signal()
            self.eventLoopThreadCondition.unlock()
        }
    }

    func stop() {
        server.stopAndWait()
        eventLoopThreadCondition.lock()
        eventLoop.stop()
        let stopEventLoopTimeout = 10.0
        while eventLoop.running {
            if !eventLoopThreadCondition.wait(until: Date(timeIntervalSinceNow: stopEventLoopTimeout)) {
                fatalError("Join eventLoopThread timeout")
            }
        }
    }
}

The problem is that the test never ends because it gets stuck at server.stopAndWait().
I get this output:
Send request
request received
stop mock server

As I digged a bit deeper I found out that the last event loop round does not finish. So the action awaited in stopAndWait, which is passed to eventLoop.call never gets called.
runOncein EventLoop gets stuck at events = try selector.select(timeout: timeout).
Would be great if you could take a look on this issue @fangpenlin. This problem is a bit too deep for me.

Hi, I had the same problem. You have to disable the swift compiler optimization. see https://github.com/envoy/Embassy/issues/31


Download from Udemy did not work

Hi,
wanna download Udemy Video course.
youtube-dl --version
2018.06.19
Command i tryed:
youtube-dl -v -u<EMAIL_ADDRESS>-p password -o "./%(playlist)s/%(chapter_number)s-%(chapter)s/%(autonumber)03d-%(title)s.%(ext)s" "https://www.udemy.com/corsename/learn/v4/content"
or
youtube-dl -v -u<EMAIL_ADDRESS>-p password "https://www.udemy.com/corsename/learn/v4/content"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-u', 'PRIVATE', '-p', 'PRIVATE', '--verbose', '--write-sub', '--cookies', './udemy-cookies.txt', '-f', 'best', '-o', '%(playlist)s/%(chapter_number)s - %(chapter)s/%(playlist_index)s. %(title)s.%(ext)s', 'https://www.udemy.com/..../learn/v4/content']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.06.19
[debug] Python version 3.6.5 (CPython) - Linux-4.14.48-2-MANJARO-x86_64-with-arch-Manjaro-Linux
[debug] exe versions: ffmpeg 4.0, ffprobe 4.0, rtmpdump 2.4
[debug] Proxy map: {}
[udemy:course] Downloading login popup
[udemy:course] Logging in
ERROR: Unable to download webpage: HTTP Error 403: Unauthorized (caused by <HTTPError 403: 'Unauthorized'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "./youtube-dl/youtube_dl/extractor/common.py", line 598, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 2211, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/usr/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.6/urllib/request.py", line 570, in error
return self._call_chain(*args)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib/python3.6/urllib/request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
If I login with the credentials on the Website: udemy.com login works
How to fix this ?

Do not mix account credentials and cookies authentication options in single command.
For any work on the issue you must provide account credentials.

I'm am getting this error too.

[download] Downloading video 34 of 233
[udemy] 9020464: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Unauthorized (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

hi choxy,
here a workaround: https://github.com/r0oth3x49/udemy-dl


Added errors handling logic to the EdgeConnect controller

Description
Based on managedByDynatraceOperator attribute the EdgeConnect controller is able to properly handle errors:

deleted edgeconnect client secret
invalid EdgeConnect.ID on the tenant

How can this be tested?

deploy EdgeConnect (provisioner mode enabled)
remember ID of EdgeConnect
remove -client secret (kubectl delete secret <name>-client)
EdgeConnect on the tenant and the -client secret should be created from scratch so ID should be different

deploy EdgeConnect (provisioner mode enabled)
change ID in the client secret (kubectl edit secret <>-client)
EdgeConnect on the tenant and the -client secret should be created from scratch so ID should be different

deploy EdgeConnect (provisioner mode enabled)
remove -client secret
delete EdgeConnect CR
EdgeConnect on the tenant should be also deleted

create EdgeConnect on the tenant
deploy EdgeConnect CR (provisioner mode enabled)
An error should be reported in the operator logs

"error":"can't delete EdgeConnect (test-ec) from the tenant because it isn't managed by the Operator"

Checklist

[x] Unit tests have been updated/added
[x] PR is labeled accordingly with a single label
[x] I have read and understood the contribution guidelines

practically LGTM, tested in my cluster.


Different required_ruby_versions: bug or feature?

$ docker run --rm -it ruby:2.7.8-alpine3.16 gem install sqlite3 -V
...
GET https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.2.gemspec.rz
200 OK
...
GET https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.2-x86_64-linux.gemspec.rz
200 OK
Downloading gem sqlite3-1.7.2-x86_64-linux.gem
GET https://rubygems.org/gems/sqlite3-1.7.2-x86_64-linux.gem
Fetching sqlite3-1.7.2-x86_64-linux.gem
200 OK
ERROR:  Error installing sqlite3:
	The last version of sqlite3 (>= 0) to support your Ruby & RubyGems was 1.7.2. Try installing it with `gem install sqlite3 -v 1.7.2` and then running the current command again
	sqlite3 requires Ruby version >= 3.0, < 3.4.dev. The current ruby version is <IP_ADDRESS>.

So what does gem see in those specs?
$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.2.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 2.7"])

$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.2-x86_64-linux.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 3.0", "< 3.4.dev"])

Or we can check out the gems themselves:
$ curl -sS https://rubygems.org/gems/sqlite3-1.7.2.gem \
| tar xfO - metadata.gz \
| gunzip \
| yq -y .required_ruby_version
requirements:
  - - '>='
    - version: '2.7'

$ curl -sS https://rubygems.org/gems/sqlite3-1.7.2-x86_64-linux.gem \
| tar xfO - metadata.gz \
| gunzip \
| yq -y .required_ruby_version
requirements:
  - - '>='
    - version: '3.0'
  - - <
    - version: 3.4.dev

In other words gem decides to install 1.7.2 because from the ruby platform spec it sees that it supports ruby 2.7. But then it tries to install sqlite3-1.7.2-x86_64-linux, which needs ruby >= 3.0, and fails.
Expected result? It should succeed installing 1.7.2.
I'm not sure why the requirements differ, but it doesn't seem like something gem expects.
$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.0.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 2.7"])

$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.7.0-x86_64-linux.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 3.0", "< 3.4.dev"])

$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.6.9.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 1.9.2"])

$ curl -sS https://rubygems.org/quick/Marshal.4.8/sqlite3-1.6.9-x86_64-linux.gemspec.rz \
| ruby -rzlib -e 'pp Marshal.load Zlib::Inflate.inflate $stdin.read' \
| grep required_ruby_version
  s.required_ruby_version = Gem::Requirement.new([">= 2.7", "< 3.3.dev"])

Sorry this is causing you problems. I'll try to explain and help.

I'm not sure why the requirements differ

This was intentional to allow users of Ruby 2.7 to compile from source using the ruby platform gem, as noted in the CHANGELOG entry for v1.7.0 (https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md#170--2023-12-27).

gem decides to install 1.7.2 because from the ruby platform spec it sees that it supports ruby 2.7. But then it tries to install sqlite3-1.7.2-x86_64-linux, which needs ruby >= 3.0, and fails

What you're describing is a rubygems bug that is fixed in more modern versions (e.g., rubygems 3.4.22 which supports ruby 2.7).
My recommendation would be to either pin your app to sqlite3 ~> 1.6.9 or upgrade rubygems to 3.4.22.


Remove json-rpc streaming service

The Streaming service isn't being used, the tests for the service are flaky and we're phasing out the jsonrpc interface so lets remove it to eliminate the maintenance burden.

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Changing JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

release binaries dependency change summary:
target packages:
  R tokio-tungstenite 0.14.0 (direct third-party, crates.io) (other versions: 0.13.0)
    * (old features: connect, default, stream)
  R tungstenite 0.13.0 (transitive third-party, crates.io) (other versions: 0.12.0)
    * (old features: [none])

:exclamation: Land has been canceled due to this PR being updated with new commits. Please issue another Land command if you want to requeue this PR.

release binaries dependency change summary:
target packages:
  R tokio-tungstenite 0.14.0 (direct third-party, crates.io) (other versions: 0.13.0)
    * (old features: connect, default, stream)
  R tungstenite 0.13.0 (transitive third-party, crates.io) (other versions: 0.12.0)
    * (old features: [none])

:broken_heart: Test Failed - ci-test

release binaries dependency change summary:
target packages:
  R tokio-tungstenite 0.14.0 (direct third-party, crates.io) (other versions: 0.13.0)
    * (old features: connect, default, stream)
  R tungstenite 0.13.0 (transitive third-party, crates.io) (other versions: 0.12.0)
    * (old features: [none])

:boom: Tests timed-out

/land

:broken_heart: Test Failed - ci-test

/land

:broken_heart: Test Failed - ci-test

release binaries dependency change summary:
target packages:
  R tokio-tungstenite 0.14.0 (direct third-party, crates.io) (other versions: 0.13.0)
    * (old features: connect, default, stream)
  R tungstenite 0.13.0 (transitive third-party, crates.io) (other versions: 0.12.0)
    * (old features: [none])


Fix: ci use local kind

Description of your changes

Fixes #
I have:

[ ] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

Codecov Report

Merging #2 (fdddeca) into master (d82f8e3) will increase coverage by 2.27%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
+ Coverage   52.42%   54.70%   +2.27%
==========================================
  Files         180      136      -44
  Lines       16723    13650    -3073
==========================================
- Hits         8767     7467    -1300
+ Misses       6916     5302    -1614
+ Partials     1040      881     -159

Flag
Coverage Δ

apiserver-unittests
?

core-unittests
54.70% <0.00%> (-0.86%)
:arrow_down:

e2e-multicluster-test
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/core/main.go
10.59% <0.00%> (-0.15%)
:arrow_down:

pkg/appfile/appfile.go
68.66% <ø> (-3.02%)
:arrow_down:

pkg/appfile/parser.go
35.08% <ø> (-9.41%)
:arrow_down:

...dev/v1alpha2/application/application_controller.go
52.61% <ø> (-10.38%)
:arrow_down:

...troller/core.oam.dev/v1alpha2/application/apply.go
63.84% <ø> (+3.25%)
:arrow_up:

....oam.dev/v1alpha2/application/assemble/assemble.go
65.24% <ø> (+2.65%)
:arrow_up:

....oam.dev/v1alpha2/application/dispatch/dispatch.go
72.67% <ø> (-1.17%)
:arrow_down:

...r/core.oam.dev/v1alpha2/application/dispatch/gc.go
67.64% <ø> (-2.85%)
:arrow_down:

...ler/core.oam.dev/v1alpha2/application/generator.go
68.25% <ø> (-2.51%)
:arrow_down:

...ller/core.oam.dev/v1alpha2/application/revision.go
69.28% <ø> (-0.41%)
:arrow_down:

... and 150 more

Continue to review full report at Codecov.

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


Decide how to release the version for PI Meeting (with prototype report feature)

See RITE pre-release v0.5.1
https://github.com/ge-high-assurance/RITE/releases/tag/v0.5.1


Create an incident using API

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I want to create incidents automatically from other systems, eg using webhooks or an API. This way Uptime Kuma can be automatically updated
🐻 Uptime-Kuma Version
1.17.1
💻 Operating System and Arch
Debian 64bit
🌐 Browser
Firefox
🐋 Docker Version
No response
🟩 NodeJS Version
No response

Related to #118

Its still relevant!

Still needed

OK i get it, this project isn't interested in issues that can't be solved in a single day. I'll find another solution, thanks

Is this done
i want create incident using API

No this is not done. We currently don't have an official api. Some work has been done by third party's on the python side. An official api is currently in the works see the open PR (can't link it from GitHub mobile)


Support for all marks

Hello, I got exception for the next json:
{
    "type": "doc",
    "content": [
        {
            "type": "heading",
            "attrs": {
                "textAlign": "left",
                "level": 1
            },
            "content": [
                {
                    "type": "text",
                    "marks": [
                        {
                            "type": "textStyle",
                            "attrs": {
                                "color": ""
                            }
                        }
                    ],
                    "text": "Some text"
                }
            ]
        }
    ]
}

I see that there is no support for marks like textStyle. I also assume for strike and highlight.

Hi, sorry for late reply,
i see you expect support for more type of blocks, please create different issue for each specific type with details, that will be easy to work on and track progress.
if you can open a PR adding support, that will be great too.
Thanks.


Not a valid commit name

Bug Report
Current behavior
I'm trying to detect affected projects between 2 branches "dev,tst"

I got an error message Not a valid commit name

and It's working locally well

I'm not sure what is wrong I've made

Hi!
 You'll have to tune your Checkout actions to pull more than the last commits using the fetch-depth option.
I use fetch-depth: 0 in my repositories to pull the whole history ; but 2 should be sufficient.

Sorry I didn't understand
What exactly I need to do to fix


Fix steps message

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/Step/ContentLoad.php  1
- src/Step/AssetsCopy.php  1

Complexity decreasing per file
==============================
+ src/Command/Build.php  -1

See the complete overview on Codacy


CMP test_connection.csv: disable localhost test as not supported on some hosts

Fixes #22870 in the way I recently suggested there:
simply disable the problematic test case involving localhost, as it is anyway not really CMP-specific.

Can I suggest that instead of disabling this test, you fix things so that everything actually uses "localhost", instead of some things using localhost and others using <IP_ADDRESS>

Can I suggest that instead of disabling this test, you fix things so that everything actually uses "localhost", instead of some things using localhost and others using <IP_ADDRESS>

I'd prefer using only <IP_ADDRESS> because this is known to work and does not require any form of domain name support,
so should be more stable/safe to use for the tests.
The whole local socket-based communication is anyway just a vehicle for testing the client-server interaction.

Rebased this PR to hopefully get rid of the two unrelated CI failures.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 92 days ago

Ping @openssl/committers for 2nd approval.
This PR is a one-liner :)

Thanks for the 2nd approval.
I guess this meanwhile should be applied also to 3.3?

@DDvO ok with me, as with your other issue, please monitor to ensure that ready to merge gets set in the next 24 hours

24 hours has passed since 'approval: done' was set, but as this PR has been  updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged to master, 3.2, and 3.3 - thanks for the approvals.


Google Cloud Translation (Independent Publisher)

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)

[X] I attest that the connector works and I verified by deploying and testing all the operations.
[X] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[X] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[X] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[X] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[X] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[X] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[X] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[X] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

@troystaylor We need to validate your submission with our engineering team as it needs google resources or subscriptions to set up an OAUTH app in the Microsoft environment. Please allow us some time to review and get back to you if we can move proceed. Thanks
@natalie-pienkowska FYI

Dear partner,
We apologize for the delay you might be experiencing while we are working on a high volume of connector requests. Rest assured that we are doing everything we can to address this volume. We are taking measures like improving our processes and hiring additional team members to guarantee resolving your connector requests in a timely manner.
Please let us know if you have any questions in the meantime.

Hi @troystaylor, we are working on Google Cloud Translation to create and account for testing purposes. Please allow us some time on this. we will prepare the connector for deployment soon.
Please let me know if you have any questions.
Thank you very much for your patience.

Hi @troystaylor, I hope you are doing well.
This is to inform you that we created the OAuth app for the connector. The certification process will start very soon.
Please let me know if you have any questions.
Thank you so much for your patience and understanding.

[[certify-connector]]

Hello @troystaylor,
I hope you are doing well.
Congratulations, we are moving forward with the certification process. We are preparing your connector for production deployment and will queue up for the next deployment schedule. Once your connector onboards the next deployment schedule, it starts to deploy your connector in our production environments that typically takes 3-4 weeks.
Please let us know if you have any questions.
Thank you very much for working with us.

Hello @troystaylor,
I hope you are doing well.
Your connector is in production deployment and queued up for the next deployment schedule. This process typically takes 3-4 weeks. Please note that the documentation for your connector will not be generated until the deployment process is in the final steps.
Please let us know if you have any questions.
Thank you very much for working with us.

@troystaylor Congratulations! The deployment of your connector and documentation page is now complete, We have a short survey on the connector certification process that we would like for you to complete. Your feedback is appreciated and will help us improve the program, Thanks.


Installation

Hi @nasirmovlamov! Sorry for reviewing the pr so late. Here is my feedback on the translation:

I think title should be changed from "Yükləmək" to "Quraşdırma" or "İnstalyasiya" as the first translation can be understood as Download as well.
Line 7 - It would be better to divide the last sentence into 2 separate sentece as it is complex and hard to understand.
Line 13-16 - İn Azerbaijani there is no space between question mark and a word.
Line 42 - translate "or" into Azerbaijani
Line 45 - This sentence can be translate like: "Ardıcıl olaraq əvvəlcə editorunuzda, sonra isə browserinizdə açın!"
Line 45 - please check exclamation mark
Line 51 - please correct "React-i"


Prepare for serenity:next and songbird:next

If there was a dev/next branch I'd merge this there for now. I got most of the easy stuff out of the way. The only obvious issues I have right now are the permissions (all of src/handlers/serenity.rs) and this weird interaction with the ComponentInteractionCollectorBuilder in src/commands/queue.rs .
I'm leaving this as a draft for now because it's not functional due to the above described issues.
Set up for #196

Getting closer. Only obvious thing left is some weird behavior when the user isn't in the same voice channel as the bot. May have mangled permissions somewhere... I'll sort it tomorrow.

@afonsojramos a review when you have time would be great!

@StaticRocket alter the workflows too to bump minimal rust version

Huh, I didn't know that information is stored repos now.

What is the best way to add cmake to the base image the docker workflow uses?

What is the best way to add cmake to the base image the docker workflow uses?

I can take a look in a bit if that's the true issue. But if it is just that, it should be easy!

 I looked at the docker file the other day to try and change the rust version and completely ignored the apt commands specifically installing necessary build tools. We should be good now, cmake is here.

It seems that it was<EMAIL_ADDRESS>that started having the cmake dependency.


Always not match reason when using CreatePushStream

Describe the bug
Hello, when I'm using the speech sdk to extract a text from a wav file I get a NoMatch reason with the CreatePushStream but when using AudioFromWavFile("Path") I get the expected result. Is it
To Reproduce
Steps to reproduce the behavior:

Create a web api in .NET 7
Create a post method with an IFormFile (to send the wave file)
The method body as follow:

public async Task<Results<Ok<string>, BadRequest>> ExtractTextFromAudio(IFormFile waveFile)
{
    var speechConfig = SpeechConfig.FromSubscription(SpeechKey, "westeurope");
    var languageConfig = AutoDetectSourceLanguageConfig.FromLanguages(new string[] { "en-US", "fr-FR" });
    var reader = new BinaryReader(waveFile.OpenReadStream());
    using var audioInputStream = AudioInputStream.CreatePushStream();
    using var audioConfig = AudioConfig.FromStreamInput(audioInputStream);
    using var recoginzer = new SpeechRecognizer(speechConfig, languageConfig, audioConfig);
    byte[] readBytes;
    reader.BaseStream.Position = 0;
    do
    {
         readBytes = reader.ReadBytes(1024);
          audioInputStream.Write(readBytes, readBytes.Length);
    } while (readBytes.Length > 0);
     var result = await recoginzer.RecognizeOnceAsync();
     switch (result.Reason)
    {
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(result);
                    Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
                    break;
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={result.Text}");
                    break;
                default:
                    break;
            }
    return TypedResults.Ok(result.Text);
}

Expected behavior
Returning the expected text same behavior when using directly:
var audioConfig = AudioConfig.FromWavFileInput(@"C:\Users\Younes\Downloads\Enregistrement.wav");

Version of the Cognitive Services Speech SDK
1.24.1
Platform, Operating System, and Programming Language

OS: Windows 10
Hardware - x64
Programming language: C#
Browser Chrome

Files
logs.txt
I converted my wave file to MP4 so I can attach it to the issue
https://user-images.githubusercontent.com/47856026/201506847-a8fb325f-5fcb-4011-a21b-a6624b7d66a8.mp4

Closed as answered and no further updates, please open a new issue if more support is needed.


Unable to run the main branch

Any help would be highly appreciated. I am running on Xcode Version 14.1

You're on the wrong repo, but it's fine, I've just pushed for fixing the build, thanks!


[Request] Customize how certain symbols are highlighted via custom hooks

Is your request related to a specific problem you're having?
Possibly.
The solution you'd prefer / feature you'd like to see added...
I would like to be able to select how certain symbols are highlighted without having to create a completely new language.
At the moment, I'm using highlight.js to highlight sample code written in C++. In all cases, this code is demonstrating how to use a particular C++ library. I would like to teach highlight.js to highlight symbols that are exposed by such library. I have all the symbols the library exposed - functions, classes, constants, etc...
What I would like to have is some kind of a hook that can be called to override the default. For example if I see a symbol "BlaBla" I would like to tell highlight.js to use a specific class for that symbol and not the default or nothing.
Any alternative solutions you considered...
I have explored highlight.js plugin API, but it seems it's not suitable for this particular feature. For example a function parameter is shown as "SomeType* parameter" - which mixes multiple tokens, so I would have to do additional parsing to separate types from variable names, etc... What I need is a token based hook instead.
I'm exploring Prism.js and monaco editor at the moment - both seem to have this feature. Not decided to switch immediately, just wanted to know whether I can hook highlight.js first.

I don't think this is something we're interested in supporting in core.
I also truly don't think it would work well for many use cases.  The lexing and parsing rules used at any given time are defined by the language's grammar file... ie much of the content in a large body of text might be skipped over entirely... the only tokens that exist are ones explicitly recognized by a grammar. Your example:
SomeType* parameter
Is a good example... if that's what the grammar declares as a single scope, then that is effectively a single token - it's not 3 (or 4) tokens you could do with as you please - without doing your own further sub-parsing.

That said there are two things perhaps worth looking into:

Language#__emitTokens - https://highlightjs.readthedocs.io/en/latest/mode-reference.html#emittokens (beta API, going public soon) [per grammar]
Configuration#_emitter (private) [global]

The first allows you to essentially build your own custom parsing/tokenizing engine inside Highlight.js... so much you can do with this... but you're starting from ground zero... you parse and tokenize code yourself - then emit those tokens into the HLJS engine.
The latter private API allows you to replace the built-in TokenTreeEmitter with a custom emitter... it would allow you to do things like easily change the type of scope that was registered for particular blocks, etc... This is all private API (though a remarkably stable one), hence not supported here, so I won't go into further detail... but the source should be reasonably easy to follow if someone really wanted to experiment at that level.

Hello, thanks for the response!
I have migrated to prism.js and I was able to do what I wanted without having to define my own language. I have just used prism.js hook interface to influence the colorization the way I needed.
I'm attaching a screenshot of what I wanted to achieve:

I think this can be closed if it's not something that is planned.

Maybe also relevant: https://github.com/highlightjs/highlight.js/issues/3493


[Exam] Variants: Data model

Checklist

[ ] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.

Motivation and Context
In order to be able to use Artemis for conducting exams, some adjustments to the data model are required.
Description

[x] We've implemented all new entities
[x] We've added DTO classes for all new entities
[ ] We've created the corresponding Liquibase change-log
[x] We've added corresponding TypeScript classes in the client
[x] We've clarified everything that has to be discussed
[x] We've added extends AbstractAuditingEntity to all new entities so that created_date, last_modified, ... are added to the database rows

Thanks for the fast creation of this PR and your initiative here. I really appreciate it!
Here are my thoughts on your discussion points:

Bidirectional mappings

StudentExam <-> User: No
ExerciseGroup <-> Exercise: No
StudentExam <-> Exercise: No

I would try out to work without bidirectional mappings for now. We could add them later on, in case they are needed

We can try out DTOs if they make things easier here.

Why would this be a security issue? I guess MediumText is fine.

We can rename this if it's not clear. Let's assume there are 6 exercise groups in one exam, but the instructor only wants to have 4 exercises in the exam. Then numberOfExercisesPerStudent (or e.g. renamed to numberOfExercisesInExam) would be 4. During the assignment (see below), this would be taken into account

I think we need at least 2 actions in the exam

Register students: upload a CSV file, it should also be possible to add/remove single students, we can reuse the functionality of the course groups here, maybe @madwau can help here, because he has programmed this --> this also means that the Exam class needs a many to many association to User (unidirectional again) so that we can store which students are registered for an exam. As we get this information from external systems (in this case TUM Online), students cannot register on their own.

Assign exercise variants: This will compute the student exams based on the preconfigured options for the exam and the defined variants in the exercise groups

Some considerations for exam:

instructors should be able to specify a visibleDate (this needs to be before the start date and defines when the exam mode will be visible to students, e.g. 5 min before the start date)
releaseDate should be renamed to startDate
dueDate should be renamed to endDate

Please further discuss which attributes we might need.

@krusche Thanks for the quick feedback! We've added some attributes and I've updated the diagram in the PR description in accordance to your comment.

We've added a title to Exam.
We've added the visibleDate.
We've changed releaseDate and dueDate to startDate and endDate.
We've added numberOfExercisesPerStudent as numberOfExerciseGroupsPerStudent.
We've added the unidirectional mapping between Exam and User.
To be discussed: We've added creationDate to StudentExam. It might be relevant when the student exam was generated.
To be discussed: We've added position to ExerciseGroup as we think that the order of the exercise (groups) is relevant for the exams.
To be discussed: Do we really need the maxScore in Exam? Wouldn't it be less error-prone to derive the maximum score from the associated exercise groups? (btw: we or at least the instructor should ensure that all combinations of optional and mandatory exercise groups lead to the same maximum score)

Why would this be a security issue? I guess MediumText is fine.

Admittedly, this was more a theoretical consideration, which is more relevant for text fields that can also be filled by non-instructors (or non-admins). @Lob with LARGETEXT means that someone can write up to 4 GB of text into the database. However, I think that we already limit the number of characters in relevant places (e.g. Q&A).

I am not sure why all column names are referenced in caps. I suggest to change them to lower case.

"The SQL standard requires identifiers be stored in all-uppercase. See section 5.2.13 of the SQL-92 as quoted from a draft copy in this Answer on another Question. The standard allows you use undelimited identifiers in lowercase or mixed case, as the SQL processor is required to convert as needed to convert to the uppercase version."
I know it will be converted to uppercase internally anyway, but by convention you should always use Uppercase

I am not sure why all column names are referenced in caps. I suggest to change them to lower case.

"The SQL standard requires identifiers be stored in all-uppercase. See section 5.2.13 of the SQL-92 as quoted from a draft copy in this Answer on another Question. The standard allows you use undelimited identifiers in lowercase or mixed case, as the SQL processor is required to convert as needed to convert to the uppercase version."
https://stackoverflow.com/questions/2029358/should-i-write-table-and-column-names-always-lower-case#:~:text=SQL standard requires names stored in uppercase&text=13 of the SQL-92,convert to the uppercase version.
if our convention is to use lower case for everything, i will change it.

I'm not sure what our convention is tbh, but it is written in lowercase in most of the other cases. Maybe we want to change that though. What is your call on this @krusche ?

I am not sure why all column names are referenced in caps. I suggest to change them to lower case.

"The SQL standard requires identifiers be stored in all-uppercase. See section 5.2.13 of the SQL-92 as quoted from a draft copy in this Answer on another Question. The standard allows you use undelimited identifiers in lowercase or mixed case, as the SQL processor is required to convert as needed to convert to the uppercase version."
https://stackoverflow.com/questions/2029358/should-i-write-table-and-column-names-always-lower-case#:~:text=SQL standard requires names stored in uppercase&text=13 of the SQL-92,convert to the uppercase version.
if our convention is to use lower case for everything, i will change it.

I'm not sure what our convention is tbh, but it is written in lowercase in most of the other cases. Maybe we want to change that though. What is your call on this @krusche ?

I think it is done lower case everywhere. I will change it :)

Thanks for the changes. I will add some feedback directly in the code

@krusche I've addressed all of your change requests and updated the diagram in the description accordingly. I've created a first version of the liquibase schema but I will have a closer look at it later.
To be discussed:

Open conversation: https://github.com/ls1intum/Artemis/pull/1581#discussion_r436391404
We have a relationship between Exercise in StudentExam. Should Set<Exercise> exercises in StudentExam also be an ordered List?

I think we need two more small changes:

Instructors should be able to specify in the exam whether the order of exercises for the randomly generated student exams should have an order (boolean flag)
To support an order, we need to store the reference StudentExam -> Exercise in an ordered list

I think we need two more small changes:

Instructors should be able to specify in the exam whether the order of exercises for the randomly generated student exams should have an order (boolean flag)
To support an order, we need to store the reference StudentExam -> Exercise in an ordered list

Just to get it right, instructors should be able to select that the exercise groups (the exercises inside of each exercise group are chosen randomly) are presented to the student in a fixed order? This would mean that we need to store the specific order somewhere. Originally we have decided to specify it as a field in exerciseGroup but I see that it was removed now.

The order is already stored, because it's an ordered list as relationship

The order is already stored, because it's an ordered list as relationship

I understand this on the Java Code level, but when the instructor creates the exam layout, this information will somehow need to be stored in the database, no? There is something like  @Ordered Column in JPA https://en.wikibooks.org/wiki/Java_Persistence/Relationships#Order_Column_.28JPA_2.0.29in
but you need a column in the database for this

The order is already stored, because it's an ordered list as relationship

I have added the annotation "@OrderColumn(name = "exercise_group_order")". This will add the necessary database columns to keep the ordering.
https://en.wikibooks.org/wiki/Java_Persistence/Relationships#Order_Column_(JPA_2.0)

Yes, exactly. The ordered column makes sure the order is persisted. It basically adds a new column for the position in the list. Have a look at how this is done for Result --> Feedback.

I added some first REST calls.
Also the courses for dashboard call now includes exams in a performant way so that they can be displayed for users in case they exist. This will be part of the exam mode team (who focuses on the student functionality on the client side) though.


V3: rewrite RangeFilterBuilder and add RangeFilter composition

This PR aims to rewrite the RangeFilterBuilder to favor the hook mechanism in v3:

[x] rewrite to simplify RangeFilterBuilder and make it work well in useRangeFilter hook.
[x] add useRangeFilter hook.
[x] add RangeFilter composition.
[x] update RangeInput component to not depend on Filter class.
[x] update docs.
[x] support non-aggregate case.
[x] fix state syncing issue and write tests.

Nice one on getting this done 👍


Replace axios with alova

axios is too big. I recommend replacing it with https://github.com/alovajs/alova or https://github.com/developit/redaxios

looks like alova is for client-side requests


link broken

Problem description

Problem location

I saw a problem on the following URL:

I couldn't find the information I wanted. I expected to find it near the following URL:

Other:

Project version(s) affected

Suggestions for a fix

Your description doesn't mention which link (and on which page); did you open this accidentally, or could you provide more details?

Hello @binascohub There's isn't any information on the ticket for us to take action on. I'm closing the issue here for that reason. Feel free to add more information on the ticket to continue the conversation.


TF1/Wat returns Erreur dans le delivery

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I'm running yt-dlp version 2023.09.24 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
france
Provide a description that is worded well enough to be understood
After #7303, some videos are ok from TF1/Wat, but some have a new error, like this one or (m)any from this page
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['https://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/quotidien-du-22-septembre-2023-40954426.html', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[088add956] (pip)
[debug] Python 3.11.5 (CPython arm64 64bit) - macOS-13.5.2-arm64-arm-64bit (OpenSSL 3.1.3 19 Sep 2023)
[debug] exe versions: ffmpeg 6.0 (setts), ffprobe 6.0, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, sqlite3-3.43.1, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1886 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[TF1] Extracting URL: https://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/quotidien-du-22-septembre-2023-40954426.html
[TF1] quotidien-du-22-septembre-2023-40954426: Downloading JSON metadata
[wat.tv] Extracting URL: wat:14020564
[wat.tv] 14020564: Downloading JSON metadata
ERROR: [wat.tv] 14020564: Erreur dans le delivery
  File "/opt/homebrew/Cellar/yt-dlp/2023.9.24/libexec/lib/python3.11/site-packages/yt_dlp/extractor/common.py", line 715, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.9.24/libexec/lib/python3.11/site-packages/yt_dlp/extractor/wat.py", line 76, in _real_extract
    raise ExtractorError(error_desc, expected=True)

From my very light analysis, the video https://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/quotidien-deuxieme-partie-du-22-septembre-2023-74941332.html is detected as wat:14020552, where in wat:b295e703-2274-4f53-8999-83c515a23b0c should be detected, and the query to json should be done using pver=5013002 too.

Isn't this the same problem as #7303 ? You could be forgiven for not having read the whole issue with its various conclusions, though.

The conclusion was essentially that any video that couldn't be extracted with the patch is DRM-protected, no?
Is there a way we can detect DRM and raise for it?

I confirm, yes

We can change the error message. I think TF1 is changing their backend, so every new videos with this error will be the result of the migration to a DRM only system.

In some other cases we ask for all the available streams, DRM or not; then it can be seen, after excluding all the DRM streams from the result, that no playable streams are available. This has the benefit that the extractor can be told to save a DRM stream, in case the user has too much free disk space, or for whatever other reason.

I have posted a bug... but it was a duplicated report... Sorry...
:-(
Has someone find a solution ?

As the content is geo-restricted,
...
[wat.tv] 14109183: Downloading JSON metadata
ERROR: [wat.tv] 14109183: Ce contenu n'est pas disponible dans votre zone géographique
This video is available in France, Guadeloupe, French Guiana, Réunion,
...

a verbose log of the failing case would be useful.

Hello, still no workaround

There will be no workaround. Read https://github.com/yt-dlp/yt-dlp/issues/8191#issuecomment-1732568883 and https://github.com/yt-dlp/yt-dlp/issues/8191#issuecomment-1732585547 again. The only reason this issue is still open is to track the addition of a more accurate error message for DRM-protected content. Replying to this issue with +1 comments will only accelerate the removal the extractor entirely


Switch to Project.toml?

This is holding back some packages from Requires 1.0.

@richardreeve time to merge https://github.com/richardreeve/Phylo.jl/pull/20 ?

Hi @asinghvi17. Yes, sorry about this. I've got the whole of tomorrow free of covid stuff, and I'll try to merge #20 and #25 then and sort all of this out.

This is fixed now in v0.4.0. I can't actually get my Diversity.jl package that depends on it to update because of some dependency hell, but we can't win every time I guess...


Directly use replace_payment_method in stripe_event_handler.

We should replace calling update_or_create_stripe_customer with replace_payment_method, customer is always created before we reach here but a lot of our test cases doesn't assume so. So, the main task to is to make the tests happy with that change.

@zulipbot claim

@amanagr  Hey would love to work on this i have experience with django and writing tests so i think i can take this task up


[checkstyle] Enable check style for all the components

Enable check style for all the modules

Codecov Report

Merging #10544 (615a9a7) into master (1fc8150) will decrease coverage by 13.93%.
The diff coverage is 31.81%.

@@              Coverage Diff              @@
##             master   #10544       +/-   ##
=============================================
- Coverage     27.80%   13.87%   -13.93%
- Complexity       58      439      +381
=============================================
  Files          2087     2049       -38
  Lines        112307   110277     -2030
  Branches      16918    16682      -236
=============================================
- Hits          31226    15305    -15921
- Misses        77988    93725    +15737
+ Partials       3093     1247     -1846

Flag
Coverage Δ

integration1
?

integration2
?

unittests2
13.87% <31.81%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...nnector/spark/common/CaseInsensitiveStringMap.java
35.41% <31.81%> (ø)

... and 977 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


attr-name-style: fatal error if tabindex present

if you have a tabindex attribute present, the linter breaks on:
Fatal error: op is not defined.
regardless of what format you choose -- even false.  I'm stuck and have to turn off linting for the time being

I'm not sure why it's griefing me, but the issue seems to be messages.js E026 that <%= op %> is not defined.  If you pull him out of the message it works fine.  If you go back to focusable-tabindex-style.js line 26 there appears to be a section where op is commented out and a question unused?
Hope that helps -- I'm good for now with some local hacking

Not so unused after all...
I should look into why our tests didn't catch this, but for now I'll just push the fix.


Avoid copy in count / logical nulls

This is a proposed improvement of  https://github.com/apache/arrow-datafusion/pull/8511  to avoid copying Null Buffers in the count aggregator.
Note this targets https://github.com/apache/arrow-datafusion/pull/8511
I will also file a proposal to upstream this change into arrow-rs
cc @joroKr21 and @Dandandan

Ok I see - it kinda makes sense, you handle the known types in a pattern match.
It's unlikely new types will be added before we can upstream this change 👍

I think this may be overkill -- https://github.com/apache/arrow-datafusion/pull/8511#pullrequestreview-1782193343
Closing this PR and let's keep the code simple unless we find some profile or benchmark where it matters

Doh, just missed it !


Make release notes templatable

Original PR in mogensen/helm-changelog

I aimed to merge it to my own fork but messed up 😞


Core - ShowHelp function hangs when "-h" flag is passed

size_t overflow due to negative value caused a long running loop in StringUtil::Pad


wikibase: Render property names in issue reports

Sometimes OpenRefine generates Wikibase issues of this form:

male population (P1540) is missing a P585 qualifier.
Statements using male population (P1540) such as the one on Katowice (Q588) are missing a mandatory P585 qualifier.

Note the fact that "P585" is written without the corresponding name ("point in time" as of today, in English).
This happens for properties which are mentioned in constraints but are not present in the candidate edits or project data.
For instance, the "male population (P1540)" property was input in the schema, so OpenRefine knows its label without having to fetch it from Wikidata, which is why it is already included in the generated issue.
Proposed solution
It would be much more user-friendly if those properties could also be rendered with the label.
This could be done either in the backend (by fetching the names for the missing properties when generating the issues) or on the frontend-side (by making an API call to the Wikibase instance to fetch them when rendering). In both cases, it would be good to cache this information for the duration of the work session (such as, the lifetime of the OpenRefine web interface) to avoid re-fetching those too often from the Wikibase instance.
Alternatives considered
Status quo
Additional context
Follow-up from the OpenRefine-Wikidata training at Wikimania

@sunilnatraj this looks great!

Thanks @wetneb Can you assign this to me.


x/net/http2: Transport hangs forever if using a pipe that has not been written to yet as req.Body

### What version of Go are you using (go version)?
Go 1.7.1
### What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\src\psg\server;D:\src\psg\server\vendor
set GORACE=
set GOROOT=C:\apps\Go
set GOTOOLDIR=C:\apps\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\lunad\AppData\Local\Temp\go-build906126950=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1

### What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
I ran the following program:
package main

import (
	"crypto/rand"
	"io"
	"log"
	"net/http"
	"runtime/debug"
	"time"

	"golang.org/x/net/http2"
)

func main() {
	// set a 10 second timer for success
	go func() {
		timer := time.NewTimer(10 * time.Second)
		<-timer.C
		debug.SetTraceback("all")
		panic("10 second test period expired")
	}()

	transport := &http2.Transport{}
	c := &http.Client{Transport: transport}

	// Get a set of pipes, we'll use these to send data to the server
	pipeReader, pipeWriter := io.Pipe()

	// Initialize the request
	req, err := http.NewRequest("PUT", "https://http2.golang.org/bidirectional-stream", pipeReader)
	if err != nil {
		pipeWriter.Close()
		log.Fatalf("Error while initializing http request: %v", err)
	}

	// Set the body of the request to the reader end of our pipe, and initiate the request.
	req.Body = pipeReader
	resp, err := c.Do(req)
	if err != nil {
		pipeWriter.Close()
		log.Fatalf("Error during http call: %v", err)
	}

	// Check that we actually got a 200 OK, if not: error out
	if resp.StatusCode != http.StatusOK {
		resp.Body.Close()
		pipeWriter.Close()
		log.Fatalf("http call got non-200 status code %d", resp.StatusCode)
	}

	// Use a 10 byte buffer
	buffer := make([]byte, 10)

	// Read some data
	dataLen, err := resp.Body.Read(buffer)
	if err != nil {
		log.Fatalf("Error while reading data: %v", err)
	}

	log.Printf("Got data: %+v", buffer[:dataLen])

	// Reply
	if _, err := rand.Read(buffer); err != nil {
		log.Fatalf("Error while reading random data: %v", err)
	}

	if _, err := pipeWriter.Write(buffer); err != nil {
		log.Fatalf("Error while writing data: %v", err)
	}
}

### What did you expect to see?
I expected to see a bidirectional http-2 stream, with the server talking first, and the client then replying to the server.
### What did you see instead?
The program hangs within http2/transport.go, in the bodyAndLength function, due to that function doing a Read(), which ofcourse hangs.

Workaround: set your Request.ContentLength to -1 after http.NewRequest, before Client.Do.

This indeed works :) Thank you

The larger issue is to remind myself why we need to distinguish between explicitly-zero and unset-so-zero in Request.ContentLength. Presumably there was a reason. Or maybe there was only a reason for HTTP/1 and it's less important for HTTP/2.
In any case, investigate.


Lockfile updates including What's New

🚀 Pull Request
Description

Replaces #5791 - have now investigated and 'actioned' the performance regression.

Consult Iris pull request check list

Add any of the below labels to trigger actions on this PR:

https://github.com/SciTools/iris/labels/benchmark_this

Thanks @bjlittle!


Wrong full-elimination on for stmt with var decl.

Given the code:
for (var { c, x: [d] } = {}; 0;);

In reality, our actual behavior is to eliminate the entire code, which is incorrect. We need to eliminate it to:
var { c: a, x: [c] } = {};

Also given:
for (var se = [1, 2]; false;);

need we handle it to:
var se=[1,2];

Related issue: https://github.com/rolldown/rolldown/pull/2426#discussion_r1798743829.
I currently don't have much time to work on this since midterms are approaching. If anyone is interested in contributing, you're more than welcome!
Possible Solutions
We could hoist the initialization expression during the DCE AST pass. Since init is either a Variable Declaration or an Expression, this could be achieved by:
// variable declaration
ctx.ast.statement_declaration(SPAN, ctx.ast.declaration_from_variable(decl))
// expression
ctx.ast.statement_expression(SPAN, ctx.ast.move_expression(expr))

This code is just for reference; you’ll need to handle borrow and move semantics properly.
You can then join these statements with block statements. The DCE pass will handle eliminating any extra blocks, so you don't need to worry about that. Later, we can replace this with more complex statement handling, but for now, I've opted to use enter_statement instead of enter_statements.


Add loop and sleep to test

Bug fix
Fixed bug
One of the tests in test_Transport.cpp in rmf_rxcpp was flaky due to a race condition between creating a subscriber to a topic and checking the count of subscribers to that topic. See here for one example of where this was failing.
Fix applied
A loop was added that sleeps briefly then checks if the subscription has been created. When the subscription exists the loop exits. The loop is limited to 10 iterations.

@mxgrey The test that's failing appears to be unrelated to the changes in this PR.