Standardize and simplify docker workflow

It's high time we get Docker figured out. The existing Dockerfile was created in the 0.3 era of postgrest and as written won't work with 0.4. There are more than one way to fix it. In particular there are two PRs currently open (#738, #762), and I appreciate the work that went into them. I'd like to propose a simpler way to use Docker though.
Proposal: provide images on Docker Hub for tagged version releases only, remove nightlies, have a "latest" alias for the newest tagged version.
Here's why:

Docker support is crucial for people deploying postgrest to Kubernetes, but are these people deploying nightlies?
I would prefer that support requests from Docker users be on a known version. It's easier than debugging a problem in a random build.
We can avoid complicated build machinery and its maintenance.
Stack builds postgrest from source reliably on all platforms that I'm aware of, so contributors can already play with the newest build without needing Docker.

Also, for the design of the Dockerfile:

Continue having the Dockerfile download a binary from the Github releases. I build these binaries anyway, so no extra work there.
Require mapping in a configuration file rather than accepting env vars. The dockerfiles of nginx and apache do it this way, and postgrest is a web server too so is it that weird?

All except the last point about  env vars.
This is a situation where you can totally have your cake and eat it too :)
start with an image that has the binary and a default conf file and the CMD is postgrest -c /....
then add an entrypoint script that checks if an env var like POSTGREST_ANON exists then it does something like
echo "anon-user=$POSTGREST_ANON" > /etc/postgrest.conf
with this way the user will have the option to either bake the config file in, provide it with a mapping or override a specific config parameter using a env var

Proposal: provide images on Docker Hub for tagged version releases only, remove nightlies, have a "latest" alias for the newest tagged version.

Docker support is crucial for people deploying postgrest to Kubernetes, but are these people deploying nightlies?

Only if they are developers contributing to the postgrest project in the context of their own applications.  I think it makes sense to try to make things easy for developers both in and out of the Docker environment.

I would prefer that support requests from Docker users be on a known version. It's easier than debugging a problem in a random build.

Agreed.

We can avoid complicated build machinery and its maintenance.

Agreed.

Stack builds postgrest from source reliably on all platforms that I'm aware of, so contributors can already play with the newest build without needing Docker.

If we don't add the code to stack.yaml to enable building the Docker image, then we expect those contributors who need to test nightlies or their changes within the Docker environment to maintain their own custom Docker build system for taking the built binary and putting it into an image to test.

Also, for the design of the Dockerfile:
Continue having the Dockerfile download a binary from the Github releases. I build these binaries anyway, so no extra work there.

In PR #762, the dockerfiles/Dockerfile is basically a minimal shell with dependencies.  It would work just as well with shoving a binary downloaded from releases as with one copied from a build.  If there is any negative to running stack --docker build as part of the release process to get the official build, then having the Dockerfile download the binary from releases would be a fine alternative.

Require mapping in a configuration file rather than accepting env vars. The dockerfiles of nginx and apache do it this way, and postgrest is a web server too so is it that weird?

There are several cases where it is much easier or even better to use environment variables rather than just a config file.  I don't think we should completely eliminate that without careful consideration.
The nginx image documents how to use envsubst to allow using variables in its config file.  This is a viable alternative, but it requires the user to create and maintain a template config file.
The approach in #762 removes the need for a template.  You can either pass in a config file if you have one, or you can use environment variables if you wish.  This functionality is documented in the dockerfiles/postgrest-docker-usage file.
In summary:

I am fine with focusing on only officially released builds available on hub.docker.com.  Nightlies are right for some projects, but not all by any means.
I think that accepting the stack --docker build functionality of #762 doesn't get in the way of that desired release plan.  It can be used to create the released Docker image, or it can just be left in as a tool for a subset of the contributors.  The additions to stack.yaml look like a lot, but that is just because I put a lot of doc comments in there.  It is only 20 or so actual code lines, and reviewing them, the only one that would ever likely need to be touched is the variable for the release version number.
I think we should consider keeping the postgrest-env wrapper script from #762 as it gives the user more flexibility and it doesn't have to be used if it isn't needed.

@ruslantalpa can you take a look at the dockerfiles/postgrest-docker-usage in #762 and see if it serves the purpose you describe above?

@deinspanjer there is something there but it's much more complicated then i was thinking.
My idea was that on startup entrypoint would look if env vars exist and append their values to the postgrest conf, something very very simple.

@deinspanjer there is something there but it's much more complicated then i was thinking.
My idea was that on startup entrypoint would look if env vars exist and append their values to the postgrest conf, something very very simple.

@ruslantalpa I don't understand what is off with it.  That is exactly what the postgrest-env script does.  If it finds any of the possible environment variables, it will use them in the postgrest.conf.  The only thing the user has to do is set those variables in their docker-compose file or with -e arguments to docker run.

Sorry for the late reply.
If i read that file correctly you have to supply all the config settings using env vars (at least the ones that are mandatory) and after that it creates the config file, I however was saying something else.
Let the base come from a baked in config file, it can be the one provided by postgrest or it can be baked in by the users that create a new image based on the official one and just add their own config file, but, once the image is ready, you should be able to override any config property in that file using an env var when you start the container.

I see.  so you want a mode where if there is an existing config file, it will be used but it can also be overridden with any environment variables that are passed in.
That can be added to the postgrest-env wrapper.  Let's see what @begriffs thoughts are about continuing with that PR, and if he is interested, I can make that change.

What about this...

Bundle a config template in the container at /etc/postgrest.conf
Include the envsubst command in the container
Make an entrypoint likeenvsubst < /etc/postgrest.conf | postgrest -

Then the user can interact with docker in three ways

All environment vars. Don't map a config file in, rather pass vars like -e DB_SCHEMA=public etc.
No environment vars. Map in a fully specified config file to /etc/postgrest.conf (i.e. no variables to be substituted). Then envsubst is a no-op.
Mixed mode. Mapping in a config file that has most values hard-coded and the option to pass in a few variables.

I'm good with that, especially if the config template becomes a first class citizen in the project where it is maintained over time as new features/config options are added.
If it is agreed that we want to use the rest of #762 and just replace the postgrest-env wrapper with this template file and a simple wrapper that calls envsubst, then I am happy to work on that change in the PR.

@deinspanjer i think this task can (should) be accomplished through the entry point shell script which can look something like this.
#!/bin/bash

#available config options
config_settings=(
	db-uri
	db-schema
	db-anon-role
	# add the rest
)

for conf in "${config_settings[@]}"; do
	var="POSTGREST_${conf^^/-/_}"
	val="${!var:-}"
	if [ "$val" ]; then
	 	echo "${conf}=${val}" >> /etc/postgrest.conf
	fi
done

exec "$@"

if you want to take it over from here ... :)

Hm I see, the config can't have keys with blank values like
foo =

It doesn't parse. I had hoped the missing value would have the same effect as omitting the foo line altogether. So we can't fill in a template config file when any variables are missing because that would leave a blank value and fail to parse.
So Ruslan's script to loop over the available settings is probably the way to go, even though it will require maintenance whenever we add new properties to the config file.

If the default config file woyld contain all settings (live ore commented) the script could be devised to read them from the conf instead of hardcoding them. But i think it's not worth the complication for now

The postgrest_env script I currently have parses the config options out of the usage text you get with postgrest --help.  It could just as easily parse those out of an official postgrest.conf.dist instead.  I don't think it should parse the option names out of a live /etc/postgrest.conf file though because it may not be in an expected state.  See below.
Once it has a list of the available options, it converts the names to something that looks like an environment variable.
Finally, the current code then builds a config file from each of those env variables that is set.
As I understand it, we want new logic that replaces that last step with the following at a minimum:

Start with the existing config
If an environment variable exists which overrides one of the current values in the config, update the config with the value from the environment variable.
If an environment variable exists which defines a variable for a setting that doesn't exist or is commented out in the config, add a line with the value from the environment variable.
After processing, run postgres with the possibly modified postgrest.conf.

Here are some questions and possible additional requirements:

If we want to continue using the postgrest --help text as the canonical list, that is fine.  If we don't like that, we should make an official distribution conf file, i.e. postgrest.conf.dist that is maintained with the full list of valid settings so the script can parse that.
I don't think we can parse the existing /etc/postgrest.conf file for the list of settings because the user might not have all of the available config options in there, commented out or otherwise.
Do we want to allow the user to unset a config value via the environment? If so, what would the syntax be?
Do we want to overwrite the starting config file or generate a new file with the overrides and run with that instead?

Check this out, the library we use to parse the config file allows env variables to be interpolated: https://hackage.haskell.org/package/configurator-<IP_ADDRESS>/docs/Data-Configurator.html#g:4
That means we don't need envsubst at all, we can do stuff like
# inside postgrest.conf

db-uri = $(POSTGREST_DB_URI)

This would allow us to follow my idea of having a default config in /etc/postgrest.conf that uses environment variables, with the option to map a new config file into the container if desired.

This is great, that will definitely make things much easier.
Does that mean that you don't want to consider adding the configuration to stack.yaml to enable building the docker image from the stack command?

I for one have not looked exactly ant what the relationship between docker and stack is but i see one benefit if this is what i think it is.
Currently if you want to build a docker image on something like circle where the base is something else the ubuntu, then you have to have a second "build" image where you build the executable, extract it then add it to the production image using copy. If the need for this "build" image is removed if we do this stack thing, then i am all for it.

There is still a build image, but it is a very simple template container that just has the pg dependencies installed so we can copy the resulting build into it rather than having to build from scratch.  Very easy to maintain and explore

Sure, we can include the extra Docker configuration for the stack.yml.

@deinspanjer any progress on your "v2" docker setup in stack.yml?

My progress was blocked by PR 826 a couple of weeks ago, and I did not notice that it was merged.
I'm a bit swamped at work at the moment, but I'll try to get the PR updated by this weekend.

Just another friendly reminder about this. If you no longer feel like doing it let me know and I'll stop bugging you -- no pressure! 😁

Well, looks like I can close this issue. If there are particular problems with the docker setup nowadays we can open new issues for them.


Fix Cilium reconciler flaky tests

Description of changes:
Add util to create objects with a kube client and wait until the client
cache gets refreshed with them. This avoid race conditions where the
tested code gets executed before those objects are available, making it
seem like they don't exist.
Testing (if applicable):
Ran all the package tests in loop 200 times.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


amc-844 - usage of Histogram Metric to measure Reads Size with SelectStatements

What this PR does:
This creates a new Metric  persistence_dse_[clusterVersion]_org_apache_cassandra_metrics_client_request_read_size_histogram exposed under xxx:8084/metrics
This PR also contains an associated test which test the right presence of this Metric in Metrics list.
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated
[ ] CLA Signed: DataStax CLA

What is the issue this PR fixes, and that explain what is being added and why?
(yes, adding new metric, histogram, but details, reasoning etc)

/cc @jeffreyscarpenter not sure if we have any concerns about adding histogram metrics like this?

What is the issue this PR fixes, and that explain what is being added and why? (yes, adding new metric, histogram, but details, reasoning etc)
As this Metric is missing from Cassandra metrics, the idea is to add it on Stargate side.


Method of FDR

Could you please specify what is a method for False Discovery Rate calculation? Is it Benjamini-Hochberg or Benjamini-Yekutieli?
Thank You

@shelkmike, neither. This particular implementation of FDR is based on this study:
http://www.biomedcentral.com/1471-2105/6/168
A few of us (@dvklopfenstein) have talked about implementing the more popular Benjamini-Hochberg at some point but this has not happened yet.
Thanks,
Haibao

Thank you for your reply, Haibao. Just want to mention, that If you will implement another FDR method, it will be better to use Benjamini-Yekutieli, because Benjamini-Hochberg demands independence of tests which is not the case for GO (for example, increasing a number of proteins with DNA helicase activity (GO:0003678)  you automatically increase a number of proteins working in the nucleus (GO:0005634))

@shelkmike thanks for the important note. I'll keep this in mind.


test-branch/execute-job/quoted-authorization/6861bc74-df4f-40dd-be22-7b05a99978fc

PR for testing 6ade462748acc28021c108848b6e4482e1c830ab

/canonical/self-hosted-runners/run-workflows 6ade462748acc28021c108848b6e4482e1c830ab


[Bug]: Subscribe Button Appearance is Disruptive

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The appearance of the "Subscribe" button in the subscription section is not aligned with the rest of the design. The button looks disruptive and visually inconsistent.
Expected behavior
The "Subscribe" button should be visually consistent with the design theme.
Have proper alignment and spacing.
Add ScreenShots/Videos

On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a  KWOC 2024 contributor
[X] I have starred the repository

Hello Sir,
I would like to work upon this issue. Please assign it to me. Thank you

@Atharvverma1234 u are assigned , u can start working on this issue

@sanjeevnikumari as this issue has already been assigned to another contributor , so i can't assign u this issue , but u can still make new issues on which u want to work on


Passing undefined object to  throws an error

Hey there,
I recognized the following error-message binding undefined to [options] to sui-select:

Why do I need sui-select to handle undefined
When options are loaded asynchronuously we have a state where options are undefined for a short amount of time.
Where is the issue located
I think it is missed to check whether options is undefined: https://github.com/edcarroll/ng2-semantic-ui/blob/master/components/select/select.ts#L82
That's why an error is thrown.
Benefit of the fix
If <sui-select> accepts undefined values the async-Pipe would work with this compoennt.
Can you have a look on this issue?
Thanks & Kinds
Greg

This is now sorted in 0.5.0. Apologies for the delay!


Load services that are configured in Kubernetes

Add the ability to load service bindings that are configured in Kubernetes environments with Kubernetes Service Bindings

In my view, this feature is effectively providing support for working with Service Catalog and various open service broker api implementations but I'm not clear on how in-demand this functionality is.
If this feature is important to you (the reader of this message) please give a thumbs up or comment on this issue with how you'd like to use it or if you've got other related ideas

I code in .NET core. I would like to load the default settings from appSetting.json and as we are doing that in cloud foundry I would like to override the environment-specific backing services from Config map and secrets.

@VenkateshSrini that (general) scenario should be supported by #304, provided you use the same config keys for values you want to override and add your config providers in the desired order.
This feature expects there to be some alternative format for providing service credentials, where a simple config key-based environment override isn't directly applicable

@TimHess ,
Thanks for the clarification. Since the description is so lean, I thought it was linked the issue to 304.

More relevant links:

https://github.com/buildpacks/spec/blob/master/extensions/bindings.md
https://github.com/spring-projects/spring-boot/issues/21322
https://github.com/dsyer/spring-boot-bindings

All this is true if we use buildpacks to create our container even in case of k8s. But that will not be the case when a more descriptive and more flexible Docker file approach is available. This is just my take

Support for Cloud Native Bindings (in 3.2 and 4.0/main) and a significant overhaul to connectors (in main) have been completed. Further effort in this area, such as support for "more flexible Docker file approach" would need further definition. If desired, please open a new issue with more information about what should be supported


[tags]: The application looks for tags.json in the .bos directory

LndBoss looks for tags in the .bos directory instead of .bosgui.

https://github.com/alexbosworth/balanceofsatoshis/pull/335


When I open the hyper app, its just a black screen, it was just working yesterday. tried restarting

[ ] Your Hyper.app version is 2.0.0. Please verify your using the latest Hyper.app version
[ ] I have searched the issues of this repo and believe that this is not a duplicate

Any relevant information from devtools? (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere):

Is the issue reproducible in vanilla Hyper.app?

Issue

Hyper version: undefined "2.0.0"

OS ARCH VERSION: win32 x64 10.0.16299

Electron: 1.8.4  LANG: undefined

SHELL: undefined   TERM: undefined

 ~/.hyper.js contents

          {
  "updateChannel": "stable",
  "fontSize": 12,
  "fontFamily": "Menlo, \"DejaVu Sans Mono\", Consolas, \"Lucida Console\", monospace",
  "cursorColor": "rgba(248,28,229,0.8)",
  "cursorShape": "BLOCK",
  "cursorBlink": false,
  "foregroundColor": "#fff",
  "backgroundColor": "#000",
  "borderColor": "#333",
  "css": "",
  "termCSS": "",
  "showHamburgerMenu": "",
  "showWindowControls": "",
  "padding": "12px 14px",
  "colors": {
    "black": "#000000",
    "red": "#ff0000",
    "green": "#33ff00",
    "yellow": "#ffff00",
    "blue": "#0066ff",
    "magenta": "#cc00ff",
    "cyan": "#00ffff",
    "white": "#d0d0d0",
    "lightBlack": "#808080",
    "lightRed": "#ff0000",
    "lightGreen": "#33ff00",
    "lightYellow": "#ffff00",
    "lightBlue": "#0066ff",
    "lightMagenta": "#cc00ff",
    "lightCyan": "#00ffff",
    "lightWhite": "#ffffff"
  },
  "shell": "C:\\Program Files\\git\\git-cmd.exe",
  "shellArgs": [
    "--command=usr/bin/bash.exe",
    "-l",
    "-i"
  ],
  "env": {
    "TERM": "cygwin"
  },
  "bell": "SOUND",
  "copyOnSelect": false
}
      {

"plugins": [
"hyperterm-material",
"hyperpower",
"hypercwd",
"hyperborder",
"hyperterm-tab-icons",
"hyper-blink",
"hyperterm-cursor",
"hyper-transparent",
"hyperterm-tabs"
],
"localPlugins": []
}

Does it work correctly if you disable your plugins? I had hyperborder installed and disabling it fixed the issue for me.

I also got it working again by disabling hyperborder.

Same bug here and hyperborder was the cause.

same, all my screen is black 😔

@xoagop Do you have any idea why hyperborder doesn't work with new version of Hyper? I have to keep downgrading to 1.4.8 everyday so I can keep using my plugins

@pash90 follow hyperborder issue at https://github.com/webmatze/hyperborder/issues/43

Hyperborder was the issue for me! Thank you for all the responses! I just
disabled and it and reenabled it as of now and that seems to have fixed it.
On Wed, Apr 18, 2018 at 4:21 AM, Albin Ekblom<EMAIL_ADDRESS>wrote:

Hmm, thanks @webmatze https://github.com/webmatze maybe we need to
re-visit that and change something from hyper's side?
@timothyis https://github.com/timothyis what was the reason to prefix
everything with #hyper?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zeit/hyper/issues/2845#issuecomment-382322638, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ah5tDAQTLbQhDndmSESxyMbAPka1SVUyks5tpwWdgaJpZM4TXhZQ
.

@xoagop @jordandev23 @andeersg @nagman @adaolima @albinekb @nfmontenegro
New plugin hyper2-border has been created for Hyper2, https://github.com/lacymorrow/hyper2-border
You can install it by adding it to your .hyper.js configuration:
plugins: ['hyper2-border']

@lacymorrow, may I ask why you didn't contribute to the existing plugin rather than publish a new fork?

@Xapphire13 A few reasons, I didn't start the plugin as a fork, but I ended up using heavily from @webmatze and wanted to credit him.
I don't intend to support any of the features or write any tests like the original (although I love Ava) and I didn't want to mangle the repo in a PR. The only reason I included the random color feature is due to the wonderfully reusable code by the original author.
I also don't think this is backwards compatible with Hyper1, I wanted it to be searchable on it's own, and Now requires unique NPM package names for plugins.

That makes sense. I just wondered if you were planning on taking it in a new direction or something =]

I just released version 1.0.1 of hyperborder!
It should fix the problems with Hyper v2.x.x and is backward compatible with older versions.
Would be great if you could upgrade and report any problems.

 If there is no update, disable for the time being. We are working towards a better solution in #2633

In 2023, March, still the same problem. I have removed the hyperborder and it appears to be working well :)


Move WideCharToMultiByte and GetCPInfo into Common

Move two Pinvoke definition to Common folder to allow other project to use

Are these files not needed in CoreCLR/CoreFX?
The deletes under src\System.Private.CoreLib\shared will mirror to CoreCLR/CoreFX as per the shared README.

abandon this PR..

@MichalStrehovsky , you are right.. These files are shared across coreclr/corefx. so revert my changes


Expose Dimensions template paramter for {nd_}range, {nd_,h_}item and id

In the newest revision of the SYCL 2020 spec, a static constexpr int dimensions member was added to a few classes to expose their Dimensions template parameter. In our case, the template parameter was typically lowercase, so I had to change it to Dimensions (with an uppercase D). I also changed it to uppercase in place where it wasn't strictly necessary (for instance in forward declarations) just to make the names of the template parameters consistent.

I added it to sp_item, sp_group already has it :)


Simple & Compound Interest Calculator

Is your feature request related to a problem? Please describe.
When we go to bank or some banker who calculates simple or compound interest on anything it becomes difficult for him to calculate them as in normal calculator it is difficult to  remember what was the principle value how much rate was and etc.
Describe the solution you'd like
So here I want to make an Calculator which is only made up for calculating Simple and Compound Interest with separate field for principle value, rate, duration and etc.
Steps Followed✅
Check the box with [x] If you followed all the steps.

[x] Is your feature request related to a problem? Please describe.
[x] Describe the solution you'd like

Code of Conduct✅

[x] I agree to follow this project's Code of Conduct.
[x] I checked the current issues for duplicate problems.
[x] I have gone through project README.

Consider this issue under GSSOC'22

Label was not getting added

Labels will be added by us.

So sorry @Astrodevil sir that I've closed the issue and opened a new one can you please check #296 issue no. That is also opened by me consider that one. Please


Failed to install rustyvibes

Hi, i just tried installing rustyvibes using cargo install rustyibes on windows and got tons of errors
The issue seems like to be coming from link.exe returning the error code of 1181
pastebin

So, i managed to fix the issue
seems like the problem was that rust msvc compiler required at least visual studio 2013 (visual studio is required for c++ build tools and windows 10 sdk though i'm not sure 2013 will work or not) and i had visual studio 2012, i tried to switch to gnu compiler but there was also compiling problems so i just uninstalled visual studio 2012 and installed 2022 with CMake, build tools, win10 sdk and switched back to the msvc compiler, rustyvibes seems to work just fine now

glad to hear, I'm actually not maintaining this project anymore, so appreciate you posting your fix here :)


hyprbars: add bar_color & title_color windowrules

Fixes https://github.com/hyprwm/hyprland-plugins/issues/72
Adds two windowrules, for setting bg and fg color.
Some cool use cases:

When interacting with remote hosts (e.g. SSH, waypipe), make the bar match the host's colorscheme (my personal one)
Make sudo tint the bar red (like gnome's)
Get a different color when visiting your favorite site
Tint focused windows (#72)

https://github.com/hyprwm/hyprland-plugins/assets/5727578/180da41f-3955-4091-ab3a-579a337dabf0

windowrulev2=plugin:hyprbars:bar_color 0xdd1e1010, title:^\[pleione\]
windowrulev2=plugin:hyprbars:title_color 0xeef8dcdc, title:^\[pleione\]
windowrulev2=bordercolor 0xaaf6adfe 0xaa473535, title:^\[pleione\]

windowrulev2=plugin:hyprbars:bar_color 0xdde36f6f, title:sudo
windowrulev2=plugin:hyprbars:title_color 0xeeeeeeee, title:sudo
windowrulev2=plugin:hyprbars:bar_color 0xdde36f6f, title:root@
windowrulev2=plugin:hyprbars:title_color 0xeeeeeeee, title:root@

windowrulev2=plugin:hyprbars:bar_color 0xee651b96, title:Gabriel Fontes
windowrulev2=plugin:hyprbars:title_color 0xeeeeeeee, title:Gabriel Fontes

I tried my best to make it consistent with surrounding code. I've refactored nobar so that hyprbars windowrules are applied similarly to hyprland's (i.e. with a dedicated applyRule(SWindowRule) function). Please let me know if there's anything that can be improved!

Hey, sorry for the delay. Just formatted it.


set location should not use comma

using comma instead of dot will cause fbsimctl to fail.

Hi again,
Please rebase your branch so we can make sure tests pass.

ok. done. no conflict & all test passed

Thanks, merged


[flaky ci][test_id:1355]Cloner Test Suite Should clone data across different namespaces

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
[rfe_id:1277][crit:high][vendor:cnv-qe@redhat.com][level:component]Cloner  Test Suite [test_id:1355]Should clone data across different namespaces
/go/src/kubevirt.io/containerized-data-importer/tests/cloner_test.go:110 Unexpected error:     <*errors.errorString | 0xc0002d7340>: {         s: "timed out waiting for the condition",     }     timed out waiting for the condition occurred /go/src/kubevirt.io/containerized-data-importer/tests/cloner_test.go:992
Failing job -https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_containerized-data-importer/1252/pull-containerized-data-importer-e2e-k8s-1.17-ceph/1275841397643022336
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/triage build-officer

Another failing jobs: https://storage.googleapis.com/kubevirt-prow/pr-logs/pull/kubevirt_containerized-data-importer/1261/pull-containerized-data-importer-e2e-k8s-1.17-ceph/1276320429924945920/build-log.txt

/close duplicate

Duplicate


maxLength does not work when input type is a number

After investigating this issue, I realized that maxLength is normally used for strings and displays a counter at the bottom right corner describing the total number of characters entered/total number of characters allowed.
Furthermore, MDN states that maxLength is only applied to text, email, search, password, tel or url. There is a max property for input type='number', but that still allows users to enter numbers greater than the max specified.
If you want to display an error to the user, you can use the error property for the input component. Here's a snippet which you can modify to suit your needs.
<Input
  type='number'
  value={this.state.number}
  label='Number'
  hint='Enter Your Favourite Number'
  onChange={(value) => this.setState({number: value})}
  error={this.state.number > 12 ? 'Enter a number less than 12' : ''}
  max={12}
/>

If you're still confused, please reply back with a better description of your problem. Otherwise, please close this issue.

Does the issue resolve? maxlength is not working with number.

@sitaramyadav Issue is not related to react. So it doesn't resolved. Maybe we can ask smart :P people at w3 consortium.

It does not work for me as well. There is no constraint on the input length.

Any thoughts?

This is not related to React. maxLength is an HTML property that applies to input of strings, not of type number:
https://www.w3schools.com/Tags/att_input_maxlength.asp
read here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
If you want to prevent the user from entering a large number use the "max" property

For anyone else coming across this, here's a quick solution:
handleChange = (e) => {
    const val = e.target.value
    const max = 1000
    const maxLength = max.toString().length-1
    const newVal = val < max ? val : parseInt(val.toString().substring(0, maxLength))
    // setState, etc.
}

The above works for maximum digits. For maximum values, replace parseInt(val.toString().substring(0, maxLength)) with max

i have simple :

I tried the same with Ant design ,it dosn't work for type ="number".I removed type and the maxLength property worked for me .I think it a react issue.

It's because default value for type is 'text'.

Simple solution is. If we want to set min length 10 then set min="1000000000" as well as max length, if we want to set max length 20 then add max="99999999999999999999". It's will keep the input length in "number" between 10-20 digit.

sample:
`
[...]
handleInputChange = (e) => {
let val = e.target.value
let maxLength = 6 // <===
let newValue = val < maxLength ? val : parseInt(val.toString().substring(0, maxLength));
this.setState({ myProp: newValue });
}
[...]
[...]
<input
type="number"  // <=== number  ; )
onChange={ e => this.handleInputChange(e) }
name="MyProp"
value={this.state.myProp}
className="form-control" />
[..]
`

A simple solution where you can have the maximum length and you can't write any text just numbers:-
<input
type="number"
placeholder="Contact no."
value={phone}
onChange={(e) => {
if(e.target.value.length == 11) return false;
setPhone(e?.target.value);
}}
/>

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv


Case-insensitive version of unitconvert

In issue 267 "Better names for mt2mhz and mhz2mt", Stefan suggested that unitconvert should be case insensitive. This is now the case by using the function lower to convert the input to lower case. I needed to adapt the statements in the case structure to lowercase.

Thanks for proposing this PR!
I know I suggested this in #267, but thinking about it now, I don't think it is appropriate, for two reasons: (1) According to all the standard bodies (IUPAC, etc,), units are fundamentally case-sensitive - for example, it's 1 Hz and not 1 hz. (2) There are actual ambiguities that could be introduced by being case-insensitive: is mt a millitesla or a megatesla? Is ev an electron-volt or an exavolt? Is kg a kilogram or a kilogauss?
Therefore, I suggest we don't implement case insensitivity. Rather, can you extend the otherwise branch in the switch statement to do a case-insensitive comparison to the supported conversions and offer the corrected version if there's a (case-insensitive) match:
You provided 'mhz-mt'. Did you mean 'MHz->mT' ?

If there's no match, an error should be issued of course..

Thanks for your comments. I agree that it makes more sense to keep the case-sensitivity. I completely rewrote the whole function to include error messages depending on the input.
Instead of the switch - case structure, I use a cell array with the conversions (like a dictionary) instead. It passes the test on my machine.

Thanks for this PR!


Audio Commentary (AudiKom)

AudiKom
Feature Description
Audio commentary are handled similiar to text comments.
Creating a comment
By clicking on an annotation a dialog pops up asking the user to add either text or audio comments (as visualized in mockup).
After the user chose audio comment the dialog for recording an audio file opens up. The dialog contains two buttons for recording and playing the comment. As long as no audio is recorded the play button should be disabled.
Clicking on the record button starts recording and the button turns into a stop recording button. Recordings can be limited to 5 minutes, if this adds something to stability.
The dialog can be closed by hitting „save/Speichern“ for adding the comment to the annotation or the dialog can be dismissed by clicking „cancel/Abbrechen“
Reading/Listening to comments
All comments for a single annotation can be viewed by clicking on the annotation. All associated comments are listed below the „create new“-Buttons. This was not part of the mockup so far. The users can click on an entry in the list to view and listen to the comments.
Audio comments in the list are displayed with a play/pause toggle at the right end of the line in order to be able to play the comment right from this place. Text comments extend the dialog to the right and text is shown in the space there.
Deleting a comment
Only the creators of a comment. Therefore list of comments contains a red „x“ at the beginning of the line.
Session archive/delete

Moving a session to the archive keeps all comments available.
Deleting a session hard deletes all associated comments.

Comment handling in the session

Comments to annotations are indicated by a small speech bubble. In the mockup the comments were symbolized by a "T" or a speaker icon. This can be simplified by just having one icon indicating that there are comments.
The owner should be able to activate/deactivate all the comment functionality (create/read/delete) for all participants in a session at any time. This should be part of the session preferences (Session Einstellungen)

The owner always sees the existing comments and can view/play them.

First version of audio comment part of 0.9.26 (deployed today). Missing part is visualization of existing audio comment (or text comment for that matter) on the annotation

Audio comment and visualization of existing comment (audio or text) is completed.


Configuration/Setup is accepted/verified as valid but challenge fails

Hi,
first of all, nice work. Unfortunately, I am failing to acquire the wildcard certificate.
I am using v0.2 client release and certbot 0.40.0 and https://hub.docker.com/layers/joohoi/acme-dns/latest/images/sha256-dd671a4fc86863f9dc9bace1dee7c986034aa3946e36f079fbd9ed58a4f3c639?context=explore (from january 2021).
As one can see the acme-dns-client reports everything is set up correctly. The hook updates the txt records in the acme-dns (I checked the log from acme dns server, and verified with dig -> see below).
I am a bit lost now and would appreciate any help. Is there A) an error in the setup verification of the client and the setup is actually incorrect, or B) did just call the client/cerbot in an incorrect way?

Challenge failed for domain tools.dbpedia.org
dns-01 challenge for tools.dbpedia.org
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: tools.dbpedia.org
   Type:   unauthorized
   Detail: No TXT record found at _acme-challenge.tools.dbpedia.org

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

acme client check
root@APP-DBpedia ~/configs/dns # ./acme-dns-client list
Number of acme-dns accounts found on this system: 1
Performing CNAME checks...

Working:
[*] tools.dbpedia.org

root@APP-DBpedia ~/configs/dns # ./acme-dns-client check
Checking acme-dns configuration for domain tools.dbpedia.org
 [*] Registered acme-dns account found!
 [*] CNAME record found and set up correctly!
  It seems to be missing the mandatory NS record. The acme-dns-client only checks for the validity of the client configuration, and not one of the servers.
See https://github.com/joohoi/acme-dns#dns-records for more information about this.

Ah I see. Thanks a lot. It might be still a bit confusing, and it could be potentially useful if the client would check also for this mandatory NS record in case the cname entry would not use the default acme-dns provider. But from my side this could be closed.

it could be potentially useful if the client would check also for this mandatory NS record in case the cname entry would not use the default acme-dns provider.

Yeah I agree. There are however bunch of corner cases in that as well, that might cause confusion. I'll keep this in back of my head going forward. Have a great weekend!


If rule compilation fails, return immediately

There's no need to populate rulesets with the output if compilation failed.

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

/kind release

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area tests

/area proposals

/area CI

What this PR does / why we need it:
If rule compilation fails, there's no need to pass any (partial) set of rules to the rulesets. Just return the (failing) result immediately.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

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

Needs approval from an approver in each of these files:

OWNERS [mstemm]

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

This PR may bring feature or behavior changes in the Falco engine and may require the engine version to be bumped.
Please double check userspace/engine/falco_engine_version.h file. See versioning for FALCO_ENGINE_VERSION.
/hold

False positive
/unhold

LGTM label has been added.  Git tree hash: 399a1277e6f16b01fbc769a267b823a5462e3351

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

Needs approval from an approver in each of these files:

OWNERS [leogr,mstemm]

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

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

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr,mstemm]

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


Logo & Graphics

Hi there! I'd love to get started on graphics. If you visit our app market you'll see that each app has an icon/logo.
Additionally on Sandstorm (Oasis) each app also has a launcher icon and a small mini grain icon on the left sidebar:

You're also free to use any graphics I produce for your project for non-Sandstorm related things. Let me know if you have any ideas, else I'll spend some time looking at your app and come up with something appropriate. :)

Well actually, Polytunes does have a logo!

Okay, I made in five minutes using... Polytunes. So it sure can be improved! Especially, it doesn't work well as 16x16 favicon, it just look like a black square. I like the idea of using pixel art, though, as that's what you end up with when you play Polytunes. But if you have other ideas, no problem. Surprise me!

! That's wonderful. I can work with this. The favicon can be very similar just with fewer pixels and less padding around the edges. Could you share the source file / larger image?

Well the source file is just a screen capture of Polytunes and it's not very large, but here it comes!

Perfect! This will do. :hatched_chick:

Quick & easy when you have your own graphics:

Let me know if this looks good, if not I can be more creative.

I guess the favicon actually has less contrast/ the yellow is not as visible. I might increase the contrast with a brighter yellow or get rid of the black grid altogether (but this option sounds boring because I like the grid).

Exactly my thoughts. Maybe using white instead of yellow would make it more readable ?

The yellow one looks great!


Nothing apears when I use Notify() and I receive no errors

I have the css and js files included, I added the cgNotify to my app dependecies, As well as injected it into the controller Im using. ??

Same problem with me , i think its due to angular  version .

Same problem here!!!

@direwolf424  My comment was a while ago, but thinking back to what I was working on, it looks like I was using 1.5.7 at the time

also the last commit on this project was 2 years ago..

$http.get returns a different format now, which breaks angular-notify. As @chevalierc already noted, this project seems abandoned but to get your project working again until someone can take over, please try:

replace .success with .then in line 39 (and correspondingly further down the .error with a comma for the .then)
replace in line 41:   $compile(template) with $compile(template.data)

This got it working for me again,


[BUG] An error pops up saying that One or more errors occurred, the key 'content-platform-dictionaries.zip' was not present in the dictionary. An error occurred while running bloxstrap, this prevents me from installing it. What should I do?

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.5.7 I think
What problem did you encounter?
When pressing install, it just does this error message.
Bloxstrap Log
System.AggregateException: One or more errors occurred. (The given key 'content-platform-dictionaries.zip' was not present in the dictionary.)

[Inner Exception]
System.Collections.Generic.KeyNotFoundException: The given key 'content-platform-dictionaries.zip' was not present in the dictionary.

update
https://bloxstraplabs.com/

update https://bloxstraplabs.com/

thanks so much man


Fix incorrect virtual function in VideoStream.set_paused

Fixes: #79709

Thanks!

Thank you!

Realized that this error existed in 4.1 as well so marked for cherry picking

Cherry-picked for 4.1.3.


Fix prange utils

Hello @1e-to! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/utilities/prange_utils.py:

Line 94:27: W292 no newline at end of file

Let's hang @sdc_register_jitable on get_chunks and call the function inside of the overload implementation to avoid code duplication.

@sdc_overload(get_chunks)
def get_chunks_overload(size, pool_size=0):
    def get_chunks_impl(size, pool_size=0):
        return get_chunks(size, pool_size=pool_size)

    return get_chunks_impl

In it's current (not this one) implementation number of chunks is equal to the pool size.
In case task size is less than pool size first chunks would contain valid information, while the last ones would have start outside of task size.
e.g. if task size is 5 and number of threads 16 first five chunks would have valid start and stop ([0,1], [1, 2], [2,3], [3,4], [4,5]). But the rest will have start and stop outside of task size ([5,5])
This is not a problem if we a doing something like this:
for i in prange(len(chunks):
    chunk = chunks[i]
    for j in range(chunk.start, chunk.stop):
        ...

In this case range(chunk.start, chunk.stop) is zero for extra chunks.
But if we need to do something like this:
for i in prange(len(chunks):
    chunk = chunks[i]
    first_item = items[chunk.start]
    for j in range(chunk.start, chunk.stop):
        ...

This could be a problem, since chunk.start could be out of range.
So, probably it is better for the case task size is less than pool size return number of chunks equal to task size. I.e. in case of task size 5 and pool size 16 return only first 5 chunks.
What is your thoughts?

What is your thoughts?

I agree.
pool_size = min(pool_size, size)


Fix pinned bitsandbytes version

What does this PR do?
Fixes https://github.com/Lightning-AI/pytorch-lightning/pull/19150#discussion_r1437127517
credit to @Andrei-Aksionov

📚 Documentation preview 📚: https://pytorch-lightning--19233.org.readthedocs.build/en/19233/

cc @borda

So many github jobs, so maybe I miss something...
From what I understand lightning-fabric (GPUs) job is the one that tests bitsandbytes precision plugin (among other things), but here it was skipped, for some reason.
So, despite 2 approvals, I recommend forcing this job to run prior to merging.
Maybe something interesting will occur 😉.

To run tests with the bitsandbytes package, the fabric requirements in requirements/fabric/test.txt should add bitsandbytes to the list so it gets installed.

the bitsandbytes was updated to 0.42.0 yesterday.

the bitsandbytes was updated to 0.42.0 yesterday.

Could you please open a PR to validate compatibility?

There is a reason why a specific version of BNB is used for now.
I believe from version 0.41.1 quant_state was changed from a list to a class.
So, for instance, if to use the latest version of BNB, this one should fail:
https://github.com/Lightning-AI/pytorch-lightning/blob/866346042335395f3b74ab8e9acd31e6416e008a/src/lightning/fabric/plugins/precision/bitsandbytes.py#L347
@carmocca is aware of it
https://github.com/Lightning-AI/pytorch-lightning/blob/866346042335395f3b74ab8e9acd31e6416e008a/src/lightning/fabric/plugins/precision/bitsandbytes.py#L42-L43
and the plan is to use the latest version of BNB with the required changes.

@carmocca is aware of it

Cool, so he will do it as he closed an attempt to bump it, ref: https://github.com/Lightning-AI/pytorch-lightning/pull/19258#issuecomment-1885358706


Issue with connectivity and replace file

Hello,
While I am trying to use import tool, I am seeing below issues. Appreciate your help
1.  The replaced recipes through "--replacefile" option are not added in blackduck project. In the below case I tried replacing busybox, linux-dey and paho-mqtt-cpp, none of them are seen on black duck project
      The replace file processing seems to be working, below are logs
               - Processing replacefile repfile: ...
                         3 replace entries processed
      Check Recipes also seems working, below logs
              Downloading KB recipes ...
                   Loaded 92578 recipes from KB
                  - REPLACED - Component meta-custom/busybox-custom/1.29.3-r0: Replaced by meta/busybox/1.29.3-r0 from replacefile
                  - REPLACED - Component meta-custom/linux-dey-custom/4.14-r0: Replaced by meta-digi-arm/linux-dey/4.14-r0 from replacefile
                  - REPLACED - Component meta-custom/paho-mqtt-cpp/1.0.1-r0: Replaced by meta-oe/paho-mqtt-cpp/1.2.0-r0 from replacefile
      However the final JSON file doesn't seem to be correct, contains the original recipes. It was listing busybox-custom, where as I guess it shall list busybox.

2. The certificate verification is failing while uploading JSON, even after disabling certificate verification through "--blackduck_trust_cert"
      When the tool is run without passing "--blackduck_trust_cert" as an argument, the  initial connection is working but not the JSON upload
            logs of initial connection
                  ssl verification disabled, connection insecure. do NOT use verify=False in production!
                  INFO: Connected to Black Duck server https://defrbdckapp101.aws.baxter.com

            logs of JSON upload
                  urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='defrbdckapp101.aws.baxter.com', port=443): Max retries exceeded with url: /api/scan/data/?mode=replace (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))

            And when I modified upload_json(), to pass "verify=False" to the requests.post() scan is successful.

      When the tool is run passing "--blackduck_trust_cert" as an argument, the  initial connection is NOT working below logs
              WARNING: Unable to connect to Black Duck server - HTTPSConnectionPool(host='defrbdckapp101.aws.baxter.com', port=443): Max retries exceeded with url: /api/tokens/authenticate (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))

3. OUTSTANDING ISSUES -  Linux Kernel
    I am little curious to know if we are planning to implement the out standing issue in near future "The identification of the Linux Kernel version from the Bitbake recipes and association with the upstream component in the KB has not been completed yet."

Please do not add multiple reports into a single issue.
Regarding 1 - an update has been applied ant version 2.4 to address this
Regarding 2 - this needs investigation as I cannot recreate
regarding 3 - The issue is that the linux kernel component name created by Yocto is custom to each project so no match can be found. To address simply add the required Linux kernel to the project manually.


enhance(grapher_helpers): combine sources of variables

If table contains variable with multiple sources, combine them into a single source ready for upsert to grapher.
I've also slightly refactored combine_metadata_sources as adapt_* methods will be soon applied to all datasets by default. I haven't changed the original logic, but to be honest I find it quite confusing how we make description fallbacks to dataset description or table description. I couldn't think of a better solution though.
@pabloarosado are you fine with the existing fallback logic? If yes then I'd say we go ahead and keep it like that until we either find it problematic or design a better schema for sources.

Hi @Marigold I think our decisions at this point depend on what happens later in grapher. It's hard for me to foresee the final outcome in a chart after these changes, so I'm going to write here two conditions that (I think) should be fulfilled:

From the visitor's perspective: Charts must have, for each variable, both the variable descriptions and the grapher-dataset description (of each variable) in the SOURCES tab*.
From the data manager's perspective: I think it makes sense that, if you don't explicitly modify anything, the metadata will combine the metadata of all sources. But if you want to replace something (e.g. the description) you can just modify that field in the corresponding metadata yaml file. Therefore falling back to the previous data step makes sense to me.

Do you agree with these conditions? If so, we could test with some dummy datasets in local grapher to see if they still work. And if so, it's all good to go.
*There is one caveat with condition 1: When you have a chart using multiple variables from the same grapher-dataset, you end up with the same description multiple times in SOURCES, like in this chart. I don't know what the best solution is. I guess keeping the description is still good, but we could collapse the descriptions to avoid them being so overwhelming.

@pabloarosado merged the original fallback heuristics and added combining sources for variables. It works ok (for key indicators for instance), but those magic fallbacks to dataset / table descriptions are confusing. Perhaps it'd be better to do this magic with anchors in yaml file instead of having implicit rules, but I'm leaving it for further discussion.


Management of ingressUrlFormat with ingresscontrollers different than nginx

It seems tha the way that:
https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/pkg/controller/sparkapplication/sparkui.go
manages ingressPath is peculiar to nginx ingress controller
For others like traefik the grouping in case of (/|$)(.*)  has to be dome differently (by adding a middleware that strips the path (for example).
But the path that is created by adding the grouping and the annotation for nginx could break the proper path interpretation.
Could be made so that is possible to state we are not using nginx so these operations are not done and the ingresspath is not altered from the things written in ingressUrlFormat?

I think I'm hitting the same issue with trying to access the Spark UI on a cluster running Traefik. @gioppoluca have you found any workarounds?

Still relevant

It would be a fairly easy change to add if ingressClassName == "nginx" to https://github.com/kubeflow/spark-operator/blob/master/internal/controller/sparkapplication/driveringress.go#L139, however this would be a breaking change as users may be implicitly relying on this annotation even if they haven't specified the -ingress-class-name argument.
How about adding if ingressClassName == "" || ingressClassName == "nginx" so that you can specify -ingress-class-name=traefik to disable this behaviour?

Could be a start, but I remember It was not only that, on vacation now but Will check It out asap. I think It should be a solution good also for other ingresso controllers

I think that there Is something also on rows 169,170 to check. Seems linked to the row you pointed out.

/reopen

/lifecycle frozen


Fix typo in creation email

Checklist

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

Motivation and Context

There was a typo in the creation email as described in #3192 .
Description

Fixed the typo in the creation email. As it is only a typo fix, no testing should be necessary.

thanks for the contribution 👍


NA: Add an API function to fetch list of corresponding providers and devices on the system

Is your feature request related to a problem? Please describe.
Currently DAOS is collecting information directly from libfabric to understand how to assign fabric interfaces appropriately to client processes. Now we are adding support for another fabric library (UCX), which we must also query directly. This is the only place where DAOS bypasses Mercury to access fabric information.
Describe the solution you'd like
A Mercury function that returns a list of all detected fabric devices and their supported providers. The device here is the OFI domain or UCX device.
I am thinking an array of structures, one per provider per device, something like:
struct fabric_dev  {
    char dev_name[MAX_DEV_LEN];
    char provider[MAX_PROVIDER_LEN];
};

That is just a suggestion though. In the end we should be able to get a list of all devices and determine which devices support which providers.
Describe alternatives you've considered
For now we are querying the fabric libraries directly, bypassing Mercury. It works but it seems like that functionality is a better fit in Mercury's responsibilities.
Additional context
fi_getinfo is the function we use to collect this info in libfabric. The UCX workflow is more complex. The ucx_info tool collects the equivalent information, and makes a good reference: https://github.com/openucx/ucx/tree/master/src/tools/info

Fixed in #680


build: Update glslang

CI Vulkan-ExtensionLayer build queued with queue ID 11719.

CI Vulkan-ExtensionLayer build queued with queue ID 11725.

CI Vulkan-ExtensionLayer build # 638 running.

CI Vulkan-ExtensionLayer build # 638 passed.

Closing in favor of:
https://github.com/KhronosGroup/Vulkan-ExtensionLayer/pull/286


Fix failing LargeUpload test

I'm not convinced this is caused by my changes but I was able to reproduce the issue by running this test in a tight loop in release mode. I'll continue to look at it in case it is an http parsing issue (maybe a bad content length header?).
Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException: Unexpected end of request content.
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.RejectRequest(BadHttpRequestException ex) in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\Frame.cs:line 1590
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.MessageBody.ForContentLength.PeekAsync(CancellationToken cancellationToken) in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\MessageBody.cs:line 363
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.MessageBody.ReadAsync(ArraySegment`1 buffer, CancellationToken cancellationToken) in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\MessageBody.cs:line 35
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameRequestStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken) in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\FrameRequestStream.cs:line 124
   at Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.RequestTests.<>c__DisplayClass1_0.<<LargeUpload>b__1>d.MoveNext() in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\test\Microsoft.AspNetCore.Server.Kestrel.FunctionalTests\RequestTests.cs:line 66
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.<RequestProcessingAsync>d__2.MoveNext() in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\FrameOfT.cs:line 148
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.<RequestProcessingAsync>d__2.MoveNext() in C:\Users\dfowler\Documents\GitHub\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel\Internal\Http\FrameOfT.cs:line 166

Edit: Content-Length header is accurate

Seems like something broke in pipes.

Fixed


1.4 backports

PR: 7031 -- doc: Update grafana dashboard and add to docs (@tgraf) -- https://github.com/cilium/cilium/pull/7031
PR: 7026 -- bpf: Fix drop notifications for local identities (@tgraf) -- https://github.com/cilium/cilium/pull/7026
PR: 7025 -- docs: fixed copy buttons icon (@geakstr) -- https://github.com/cilium/cilium/pull/7025
PR: 6969 -- Installation & upgrade guide improvements for 1.4 (@tgraf) -- https://github.com/cilium/cilium/pull/6969
PR: 6995 -- [Docs] Note about apiserver outside of cluster (@nebril) -- https://github.com/cilium/cilium/pull/6995

$ for pr in 7031 7026 7025 6969 6995; do contrib/backporting/set-labels.py $pr pending 1.4; done

This change is

test-docs-please

test-me-please

test-missed-k8s

The backport script is broken for 4b401fa67359599f4b1c9fba0a70452902b1aa1a for some reason

test-docs-please

test-me-please

test-missed-k8s


Extract class-sorting into a utility

Hi 👋🙂  For a start, thanks for working on this plugin. 💚
I recently created a rehype plugin to sort Tailwind CSS classes used in HTML documents/templates:
https://github.com/bitcrowd/rehype-sort-tailwind-classes
In a first iteration, I've gone with tailwind-classes-sorter to handle the ordering of classes. I have the impression the project is not all that active though and was wondering whether you'd be open to providing the code responsible for the sorting of class names as a separate utility module (so we could integrate this instead). 🔧
At the moment, the code for sorting (and de-duplicating…) seems to be nested inside of the classnames-order rule, making it somewhat unfeasible to use it on its own. 📦
Maybe this could be moved into it's own file and made independent of the ESLint AST? 🤔
I.e. I imagine a class/function interface which you can configure with the same/similar options as the ESLint plugin (path to tailwind.config.js, prependCustom…) and to which you then simply pass a classname string/array of classes to be sorted.
I'm happy to pitch in and up for discussing further details if you think this is feasible.
Cheers. 🙂

Hi @pmeinhardt,
sorry for the late response 😅
While I like the idea, I don't think I'll spend time on extracting the class sorting utility but:

As this project is in MIT you can reuse parts of it, no question asked.
Or if you know how to do it, you can fork this project and submit a Pull Request

At the moment, I prefer invest the rare opportunities I have on new rules or migrating the source code in typescript.


ARROW-8601: [Go][FOLLOWUP] Fix RAT violations related to Flight in Go

+1

@kszucs has a similar pr (https://github.com/apache/arrow/pull/8273) merged. There are duplicated lines in rat_exclude_files now.
Maybe revert this pr?


Unexpected indentation with newline delimited attributes

Try Coffee-React link
If I have JSX that looks like:
<Foo
  className="Foo">

  <Bar
    className="Bar">

    {expr}
  </Bar>
</Foo>

This gets compiled to:
React.createElement(Foo, { \
  "className": "Foo"},

  React.createElement(Bar, { \
    "className": "Bar"},

    (expr)
  )
)

CoffeeScript chokes on this input, claiming unexpected indentation. Strangely, if I remove either of the backslashes (or put the attributes on the same line, which makes the transform produce equivalent code), it works without a problem.

Try to keep your closing brackets in line with your opening ones. I want to remove this limitation in future but it's a big piece of work

Example

Ah I see. Forgive my ignorance but is there a specific reason why the newlines aren't simply stripped? This was the implicit behaviour I was expecting before I actually looked into what the output looked like.
For example:
<Foo
  className="Foo">

  <Bar
    className="Bar">

    {expr}
  </Bar>
</Foo>

would be converted to
React.createElement(Foo, {"className": "Foo"},
  React.createElement(Bar, {"className": "Bar"},
    (expr)
  )
)

As I haven't implemented source maps yet, the temporary (but long standing) solution was to make sure the input lines had 1 to 1 parity with output lines.

Fair enough. I don't really use source maps since the transformation is pretty trivial to work backwards to the offending line, but I can see the reasoning.
Perhaps in the short term a --ugly could be introduced to explicitly opt into a more permissive parsing mode provided that the output doesn't need to match 1 to 1?


Patch pod with subspec - wrong diff

Hello,
i tried to run pod patch create Adjust without any updates (i tried with updates too) into the adjust pod and the command line seems to generate a huge diff.
I assume it's due to subspec because i can reproduce on other pod with subspec (ie Parse)
Find the diff below.
Archive.zip
Thanks for this amazing tool !

Ho @jeremypiednoel, thanks for reporting this issue.
If you make some updates to the pod, are those changes also included in the diff?
We'll investigate the issue. As a temporary workaround: if the changes are included in the diff, you can reduce the diff to only the files that you updated and remove the rest. It should still patch correctly.

hi @dcvz,
Yes the are included among the huge diff.

Thanks for the temporary workaround i already did that :)


D3D11 Device to 2D Context?

Hey I wonder if it's possible to get to 2D Context and render elements like in here (https://english.r2d2rigo.es/2012/07/04/basic-direct2d-drawing-with-sharpdx/). In my case i have D3D11Hook from your approach so i have
SharpDX.Direct3D11.Device _device; and
SharpDX.DXGI.SwapChain _swapChain;
Is there any possibility to render in 2D using (or not) DXOverlayEngine via those variables?
Thanks for help! :)

Yes, you create your own d2d device. The only reason I haven't used that approach here is to support pre windows 8.

@spazzarama can you provide any example? And is it necessary to use your Overlay Engine? It would be pretty nice to use some easy drawing functions like DrawLine or DrawCircle, but i haven't seen any tutorial how to do it with SharpDX.Diredt3D11, maybe you can tell anything about it? :( Thanks for your time!

@bestplay9384 I use Direct2D in my book samples available here https://github.com/spazzarama/Direct3D-Rendering-Cookbook
No you do not need to use the overlay engine, although you could create a Direct2D renderer that fits within that framework if you wanted to.


some updates (closes #486)

Coverage remained the same at 97.188% when pulling 0dfaab58a56f10368ed0dc23817a02d9853c8ee5 on development into 53728f6a2c5ffe7a393a7c177210b7f4612725a7 on master.


[pyroscope.java] Clean-up JFR files left behind by previous instances of alloy to reduce risk of filling up disk when alloy's in crash loop

PR Description
Cleans-up unused JFR files that were accumulating on profiling targets' filesystem by previously terminated instances of alloy. This helps reduce the risk of files piling up if alloy is constantly restarting, like if kubernetes memory limits are too low.
Which issue(s) this PR fixes
Fixes #1960
Notes to the Reviewer
I tested this manually on our EKS cluster with amd64 linux nodes. I both manually created asprof files and used some left behind by terminated alloy pods to test that this new code is executed once during start-up.

I couldn't find any unit or integration tests for this component so let me know if there's suggestions for further testing.
PR Checklist

[x] CHANGELOG.md updated
[ ] Tests updated

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Steven Swartz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


MyEtherWallet sets invalid gas value, causes transactions to be rejected

MyEtherWallet sets an bad value to Gas field.
Steps to reproduce

Send Ether & Token

For address enter 0x381be84a2364f1a5e4b8df5c42e21b4853dae1f8

For gas enter 250000

For data enter 0xa6f2ae3a

Tab out from the data field

Expected result:
The transaction is send with a gas of 250 000.
Actual outcome:
MyEtherWallet resets the gas value to nonsensical number.

Enter the data first then set the gas value, when you enter the data it tries to automatically calculate the estimated value.

Yes. The current user interface logic is counter-intuitive, as we have instructed our users to enter the gas limit manually. They fill in the gas limit first and do not note that the gas limit automatically changes.
My suggestions are

Do not estimate the gas if the gas value field has been filled in by the user

Fix the gas estimation (I do not know how it gets the value low  as  21700, because the actual value is in 200k range)

it is not properly estimating because 0x381be84a2364f1a5e4b8df5c42e21b4853dae1f8 address is not a contract, https://etherscan.io/address/0x381be84a2364f1a5e4b8df5c42e21b4853dae1f8 and therefore data field is just considered as embedded data in the tx not a contract vm execution, please use the correct contract address

@kvhnuke Had a copy paste error in the testing, updated the recording

Looks like there is something else involved. Closing this for now. My fault.

This is still an issue on the online version, it just happened to me (and kinda screwed me a bit).
For me it reduced the gas limit (I input 300000 and it reduced it to something like 20000, causing my TX to run out of gas and be reverted). I input the gas limit manually and AFTER entering the amount. The gas limit changed when I clicked Generate Transaction just like in the gif above.

It is going to re-estimate your gas when you add data or change the value of the transaction.
If you want to manually increase the gas, do so last.

@tayvano Yes, that's how people should do it, as the last step as you mention.
However the current user interface is little confusing here because fields are in a different order and it is easy for an average user to miss this, unless they have been noted about this behavior beforehand.

Perhaps the folks who just raised 12M have a bit of extra time to write a line of code to fix it. Would have been nice if they had done it beforehand. Or not used a contract that didn't estimate correctly. Or maybe just shot us a note when they were making the tutorials.
Nah.
We'll just leave it and then blame MEW and roll around in our piles of money.
Whatever. I'll push a update tonight for the next greedfest.

Let's not get emotional :) My thoughts are that if the user fills the gas limit it shouldn't reset to something else, since he probably filled it with a reason. Also if memory serves right, the field updated for me after clicking generate transaction, which isn't that great either. To me it looked like it is not possible to use the gas limit I specified and I have no other option than to accept the new value.
Also of course we appreciate the work you guys are doing for free and I think etherwallet is a really cool project and I happily use it as my main wallet.

@tayvano Good answer! :)

Am I correct: Ultimately the estimator is in Geth/Parity and has to be fixed on little bit lower level?

@mrbrdo Feel free to open a PR. This is exactly what I have on the todo list as a temp solution. We are trying to get ENS laucnhed.
@miohtama Supposedly geth is better as they are literally brute forcing gas limits. Parity can have problems when there are multiple layers or something.


Reduce allocations for non-composite drawables' dependencies

We only ever use dependency overriding abilities at CompositeDrawable. This moves that logic out of Drawable, reducing the overhead when loading Drawables/Sprites significantly by skipping one unnecessary dependency merge operation.

Wanna port your LoadAsync changes over to this PR? Currently in https://github.com/ppy/osu-framework/pull/1794/commits/fec9de541f868d0ac11f34ac6e78393f5b17c1e9


Handling Artists using Splitting Delimiters

There are a few artists that use splitting delimiters (mainly the /) in their artist names like: Au/Ra and K/DA. The end up appearing as two different artists:

Is there any solution that can be implemented for this? The only thing I could come up with was quick and easy exception list.

@sortedcord
I'm having the same issue, so I guess it's the time to fix this.

I've already frozen the feature list for v1.4.8, so I'm moving this to v1.4.9.


Location should be removed

Why is there a location option that is required?
This could lead to an account ban if the location is wrongly entered..
Isn't it possible to remove the location all together as if logging in in "no gps" mode while still retrieving the data?

Yes this is on my TODO, I will have to check to see if the APIs can be called without the location.

I've seen this on another repo and it seemed to work, which is logical because you can sort through your pokemons even without gps signal on the app

Fixed in 24974bd4ab168c8e78dc31898d4c4fe3222387e4

Thanks


[jaeger-v2] add GRPC storage backend integration test

Which problem is this PR solving?

Resolves GRPC integration test sub-task at #5254

Description of the changes

Created a grpc-integration-test.sh script to run a jaeger remote storage and execute the end-to-end test through the OpenTelemetry Collector pipeline with the jaeger storage extension inside connected to the remote storage. To have a visualization of this architecture, see the proposal at #5254
Separate the GRPC and Badger integration test CI because GRPC need to be run twice for the v1 and v2 versions.

How was this change tested?

Run ./scripts/grpc-integration-test.sh latest and the whole remote storage and pipeline will be built and executed for you.
I also ran a jaeger-querycomponent to query traces from the remote storage for manual checks.

Checklist

[x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
[x] I have signed all commits
[x] I have added unit tests for the new functionality
[x] I have run lint and test steps successfully

for jaeger: make lint test
for jaeger-ui: yarn lint and yarn test

Am I allowed to split the grpc-and-badger CI? I need to do this because the CIT gRPC requires a matrix for Jaeger v1 and v2. But the grpc-and-badger is stuck on Expected — Waiting for status to be reported. Is this something that needs to be tinkered with in the repository settings?

The unit tests CI is failing due to jaeger storage extension goroutine leak but I still cannot find the cause. It's so hard to replicate, I can't even reproduce the error once.
[Goroutine 96 in state chan receive, with net.(*Resolver).lookupIPAddr.func2 on top of the stack:
net.(*Resolver).lookupIPAddr.func2(0xc0001107e0, 0x225ebb0)
	/opt/hostedtoolcache/go/1.22.0/x64/src/net/lookup.go:338 +0x31
created by net.(*Resolver).lookupIPAddr in goroutine 57
	/opt/hostedtoolcache/go/1.22.0/x64/src/net/lookup.go:353 +0x7dc
 Goroutine 58 in state chan receive, with net.(*Resolver).goLookupIPCNAMEOrder.func4 on top of the stack:
 ...
 Goroutine 60 in state IO wait, with internal/poll.runtime_pollWait on top of the stack:
 ...
]
FAIL	github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerstorage	6.670s

Not sure if this actually solves the issue but I've changed the TestESStorageExtensionError at extension_test.go to connect to http://<IP_ADDRESS>:65535 instead of http://badurl to avoid connecting to an external network, which caused the goroutine leaks of looking for badurl IP addr.

Not sure if this actually solves the issue but I've changed ...

This may cause the execution to go through a different code path and reduce code coverage (just guessing).

Not sure if this actually solves the issue but I've changed ...

This may cause the execution to go through a different code path and reduce code coverage (just guessing).

Hmm.. from my understanding, I believe this unit test is to cover this line of code, which both http://badurl and http://localhost:65535 failed to initialize the storage due to no elasticsearch server hosted at that URL. https://github.com/jaegertracing/jaeger/blob/b990fe91c3d863cb9b9cc3e7bc6bf467b91eeb87/cmd/jaeger/internal/extension/jaegerstorage/extension.go#L91-L93
And also, to back up my argument, I've done test coverage locally specific only to the TestESStorageExtensionError unit test, and both are exactly the same.
Or do you have any suggestions on how to fix this? Perhaps I'm doing it wrong. Because I've looked into another similar issue https://gitlab.com/gitlab-org/gitaly/-/issues/4916 and they fixed it by changing the URL to connect to localhost in the unit test too.

I've made some adjustments:

Refactor to remove the boilerplate of testbed codes and now we just need to pass the config file
I also implemented to automatically create the data receiver from that config file since the data receiver needs to host the storage extension exactly as the collector.
Fixed unit test goroutine leaking at /plugin/storage/es similar to the previous issue, instead this time fails at FAIL: TestPasswordFromFile because it contains individual goleak check which detected goroutine leaking exactly from the previous test at TestESStorageFactoryWithConfigError.

jaeger-ui sub module should not be changing in this PR, right?

This is because I merged this change #5255 from main into this branch

You used to have all kinds of diagrams explaining the set up of these integration tests, where are those? I only see one README, which is quite short.

I forgot to add the README but I have now added it. Currently, there's only one diagram for the general architecture of the integration test. For additional diagrams, I've referred to the Testbed README since they have their own diagram and another diagram will be included with the Jaeger-v2 Kafka PR.

@james-ryans can we add goleaks check?
🔴 Error(check-goleak): no goleak check in package ./cmd/jaeger/internal/integration/

@james-ryans can we add goleaks check?
🔴 Error(check-goleak): no goleak check in package ./cmd/jaeger/internal/integration/

Yes, but apparently it has a goroutine leaking from the testbed. There's no functionality to close the data sender's gRPC connection, I'll try to solve the upstream issue first then get back here.


Time spent by Azure SDK Team answering process and requirement questions

The Release Planner MVP was complete in Feb 2024 and support was extended to onboard GA products (post-APEX).   We have seen a significant drop in Info Meetings and team chats related to process and requirements.  Brownfield services are onboarding and continuing on to create and use release plans without assistance from the Azure SDK Onboarding team.
We are interested in understanding the frequency and nature of service partner inquiries regarding processes and requirements when they interact with other members of the Azure SDK team that are further downstream in the release plan process (i.e. SDK release milestone, ...).
We sent a survey in the Azure SDK PM May newsletter and directly to the Arch Board and folks in screenshot (06/12/2024) -
.
Link to the survey - https://forms.office.com/Pages/DesignPageV2.aspx?subpage=design&FormId=v4j5cvGGr0GRqy180BHbR-SRHOv9H51LkqMFimFYWbJURTBWWVFTOUVLQU02S0VYSTdGWTNUVU1RWS4u
Link to responses, only 5 responses as of July 01, 2024 - https://microsoft-my.sharepoint.com/:x:/r/personal/ladonnaquinn_microsoft_com/layouts/15/Doc.aspx?sourcedoc=%7B05E018A7-37DD-4311-9EEF-9CCC68F5F406%7D&file=Survey%20on%20process%20and%20requirements%20inquiries%20Feedback%20from%20SDK%20team%20members.xlsx&action=edit&mobileredirect=true&wdMsFormsCorrelationId=5148a950-caf0-440a-8a1a-915c21fecdc8&share=IQGnGOAF3TcRQ57vnMxo9fQGAUW1fqoSobPvX3cXVDR40gk

closing, only 5 responses.  Will add feedback for these responses to the Engagement Experience Strategy presentation.


google-genai [feature]: Support apiVersion

Privileged issue

[X] I am a LangChain maintainer, or was asked directly by a LangChain maintainer to create an issue here.

Issue Content
Gemini 1.5 requires the v1beta API Version to be specified.

+1


docs(release): add v1.3.0 release notes to the CHANGELOG

Description
Add the v1.3.0 release notes to the CHANGELOG in preparation for the upcoming release.
References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[x] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[x] I have added tests to validate that the change in functionality is working as expected

For things like
(#860)

Can we use the full path like
([#860](https://github.com/openfga/openfga/pull/860))

This allows user to click and see the exact change

Github auto-links in the release notes.


proposal: add enable-cas to storage instead of using flags in requests

Feature Request
Is your feature request related to a problem?

check-in issue: #3015
related pull request: https://github.com/tikv/tikv/pull/9770

Describe the feature you'd like:
Currently, the rawkv operation, CompareAndSwap  in TiKV is dependent on the single row transaction implemented by the transaction latch. In order to maintain linearizability, we need to ensure a raw key is modified either by atomic write operation(using latch) or normal write operation. But which way clients will use to modify a key is all up to users. This results in an inconsistent situation that one client uses atomic mode to modify a key, and the other uses normal mode to modify a key.
Teachability, Documentation, Adoption, Migration Strategy:
We may enforce TiKV operating in only one mode: atomic or normal one by introducing a new option: enable-cas

@Little-Wallace @andylokandy PTAL


Php artisan test "Option --configuration cannot be used more than once"

Laravel Version
11.0
PHP Version
8.3.1
Database Driver & Version
No response
Description
The latest version of phpunit generates a warning if you have multiple of the same command line flag.
Steps To Reproduce
Adding a --configuration flag to php artisan test will cause the warning as php artisan test already has a configuration flag set.

Sorry, mixed this one up with something else.

Seems an issue at Collision level; do you mind of PR something to Collision that allows to override the --configuration option rather than append it?


[Package Issue]: GitHub Desktop [GitHub.GitHubDesktop] Version 3.4.3

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
No applicable update found.
Brief description of your issue
Trying to run winget update GitHub.GitHubDesktop, I get the following error:
Found GitHub Desktop [GitHub.GitHubDesktop] Version 3.4.3
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://desktop.githubusercontent.com/github-desktop/releases/3.4.3-2170ce9b/GitHubDesktopSetup-x64.exe
An unexpected error occurred while executing the command:
Download request status is not success.
0x80190194 : Nieznaleziony (404).

Not able to find the release.
Steps to reproduce
Run winget update GitHub.GitHubDesktop
Actual behavior
No package is found.
Expected behavior
Package is found and winget update GitHub.GitHubDesktop command succeeds.
Environment
Windows Package Manager v1.8.1911
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3880
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.1911.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

### Screenshots and Logs

Logs pasted above.

Will be resolved by #165703.

Close with reason: Resolved;


Issue #7175 Mark cabal plugin

Can you provide a description of what the plugin does as well?
For what I can see:

it provides completion for Cabal (a build tool for Haskell)
it adds the function cabal_sandbox_info to show whether the current working directory is in a sandbox: https://github.com/robbyrussell/oh-my-zsh/commit/358b6ffcde9e3732ed08387fc176851e07c1862f#diff-72a60029f69e410b0dd2f8323a62310b

Can you add these bits of info?

Hope it looks good now. Thanks for the feedbacks.

Thanks!


Add a hidden argument to publish and dev that allows for esbuild plugins to be used

What this PR solves / how to test:
Advanced users may want to use esbuild plugins when bundling, but they probably don’t want to dig through wrangler’s source to allow for the same output while using plugins. This PR adds a hidden esbuild-plugins option to the publish and dev commands (it would probably be better to add a config option but arguments seemed easier to add, and anyone using it can just add it to their package.json scripts). I’ve tested dev with dev —-local and publish —-dry-run and plugins are applied correctly. I can upload my test worker if needed. Not sure if this would be added in minor or patch, if it’s approved.
Associated docs issues/PR:

#234

Author has included the following, where applicable:

[ ] Tests
[x] Changeset

Reviewer has performed the following, where applicable:

[ ] Checked for inclusion of relevant tests
[ ] Checked for inclusion of a relevant changeset
[ ] Checked for creation of associated docs updates
[ ] Manually pulled down the changes and spot-tested

Thanks for the contribution! In general, for advanced use cases like this we'd recommend using Custom Builds. Would that work for your use case?

I’m aware of custom builds, and that’s why it’s a hidden option. I’d like to have the same build output as if I wasn’t using a custom build, which means finding the esbuild configuration wrangler uses. There are also some esbuild plugins that can be extremely helpful for routing, since workers don’t allow for listing a directory, a plugin would allow me to do it at build time.

I've converted it to a configuration option. To elaborate more on my use case, suppose you have a worker using itty-router. You have a routes directory, with each route in the directory exporting a default function that adds the route to the router. Instead of having to manually call each function in your main file, you could use esbuild-plugin-glob-import to import the entire directory and use a for loop to call each route function. This config option would allow for much easier setup and you wouldn't have to replicate wrangler's builtin esbuild config.


Use CMake instead of Make to build the Linux package

📒 Description
This changes the package.sh script for linux to use CMake instead of plain Makefile to create the Linux tarball.
🕶 Types of changes

New feature (non-breaking change which adds functionality)

🤯 List of changes
👫 Relationships
Depends on #2696
🔎 Review hints

After reviewing this, toggl/toggldesktop-branding#14 should be reviewed/merged


feat: WIP implementation of plugin reporting

This is missing some wiring, but is a partial implementation of plugin reporting.

This is superseded by #361. Closing!


Expose Github PR Number as environment variable

Description
We should be able to get the Github PR number via environment variables.
Value
We would like to define CI steps that post comments back to Github using the PR number.

This will be rolled out in 0.4.0. The new variable will be BUILD_PULL_REQUEST_NUMBER. Here is the pr: https://github.com/go-vela/compiler/pull/52.


Sort out the pParse package

The purpose and implementations of this package are not clear.

Changed name to pWeb


load_factor appears to be using wrong units in health check (Version: 1.6.0-b8)

Issue Description
While testing the health check method (#3365) with v1.6.0-b8, I've noticed that the load_factor number it reports appears to be the server_state version which is relative to to `load_base, but the thresholds appear to be based on the server_info version of the metric.
See the source code for load_factor thresholds.
Basically, the thresholds of > 100 (warning) and >= 1000 (critical) make sense if you're using the server_info versions of load_factor where "no load" is 1, but don't make sense if you're using the server_state version of load_factor where "no load" is 256.
Steps to Reproduce
Start rippled and wait for it to sync. Compare the results of server_info and health check:
$ curl -ki https://localhost:51235/health
HTTP/1.1 200 OK
Server: rippled-1.6.0-b8
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked

{"info":{"load_factor":256}}

$ ./rippled server_info
... (trimmed) ...
         "load_factor" : 1,
... (trimmed) ...

$ ./rippled server_state
... (trimmed) ...
         "load_base" : 256,
         "load_factor" : 256,
         "load_factor_fee_escalation" : 256,
         "load_factor_fee_queue" : 256,
         "load_factor_fee_reference" : 256,
         "load_factor_server" : 256,
... (trimmed) ...

Expected Result
If the server is fully healthy, the load_factor in server_info should be 1 and the load_factor should be omitted from the health check.
Actual Result
The health check response contains {"info":{"load_factor":256}} which indicates it considers this load factor to be in a warning state.
Environment
rippled 1.6.0-b8, self-compiled, on Arch Linux
Synced to mainnet. Unit tests pass.

Just to clarify, the reported load factor should be load_factor/load_base?
And do you have recommendations for warning and critical limits?

Just to clarify, the reported load factor should be load_factor/load_base?

The reported load_factor should match the server_info load_factor. Which, yes, if you're using the "server_state" definitions, that would be load_factor / load_base.

And do you have recommendations for warning and critical limits?

I don't have enough data to make recommendations. Perhaps @mayurbhandary's StatsD collector has enough data? Otherwise, I guess the 100/1000 limits are probably fine as long as load_factor is using the server_info definition. Possibly it would be better to go with more conservative thresholds of 1000/10,000 instead to reduce the rate of false positives.
Slightly off-topic: ledger age discussion
Also, while we're on the subject of the health check, I had a realization that might be worth further discussion. Basically, I discovered that the warning-level server_state values never apply. That's because all the "warning" states are for when the server is syncing and doesn't yet have the latest validated ledger. In this case, the health check reports it in a critical state because the validated_ledger age is MAXINT.
I wasn't one of the reviewers who raised this issue at the time but now that I've seen it in action I think I agree that this isn't ideal behavior. It's mildly annoying for me to document the MAXINT behavior since it's technically architecture-dependent. If you're processing the response, there's an implicit/practical threshold between "realllly old validated ledger" and "implausibly big value must mean there is no validated ledger" but it's not obvious where that threshold is. I think the right response would be to return a string value such as "unavailable" or "none" or something instead, or to use a special value like -1 so that this field is always a consistent data type (signed int). I kind of like the implication that a negative age indicates that the validated ledger will be acquired in the future.
The bigger question is whether "no validated ledger" should automatically be a "critical" state. I think we might want the server to report a "warning" state, not critical, when the server is syncing. My intuition is that a "critical" state should prompt stronger interventions like restarting hardware or escalating to a human administrator, whereas a "warning" state might be better served by milder interventions like directing API traffic away from the affected server on the assumption that it has a good chance to recover on its own. I believe that the "no validated ledger" case only occurs during startup, before the server has synced; if the server was synced but now has lost sync, it should still have a validated ledger from back when it was synced, just an increasingly old one. So I think moving the special case of "no validated ledger" from critical to warning serves the purpose of having the server report its health status as warning, not critical, when syncing during startup; and this still preserves the critical status report if the validated ledger actually does get too old.
Thing is, if we're thinking about the health check in those terms, I think we'd want the "warning" level to report a non-200 HTTP status code so that unsophisticated load balancers could use the status code to detect the warning state in order to actually direct traffic away like that. The right code for the warning status is probably 503 Service Unavailable: in my experience, 503 is typically used for issues that are temporary and can be resolved by a "wait and retry" strategy, especially load issues. Taking this idea a step further, I think it would also make sense to change the HTTP status code for "critical" level to something else such as 500 Internal Server Error. 500 errors seem to be more often associated with configuration issues or code errors that aren't likely to resolve themselves.
Summary of my (updated) thinking on the statuses:

Health Status
HTTP Status Code
Typical Interventions

healthy
200 OK
None.

warning
503 Service Unavailable
Wait and see; redirect or reduce traffic; software restart.

critical
500 Internal Server Error
Hardware restart; automatic re-provisioning; reconfigure; escalate to higher-rank administrator.

Most of the existing thresholds, I think, lend themselves pretty well to these definitions already, so it would just be a matter of:

changing the response code for the warning level
changing the reported value for the "no validated ledger" special case from MAXINT to a different value that more explicitly indicates a special case
changing the "no validated ledger" special case from critical to warning status


forEach

Firstly, thank you! This has woken me up to a problem I knew I was encountering but couldn't define, and I'm excited to start using it.
Secondly – and this is purely stylistic, and a question rather than an issue – why did you go with foreach rather than forEach?

Thanks :) please let me know how it goes as you use it.
Regarding foreach – at the time I was probably referencing Scala which is also foreach. This isn't necessarily correct and I think it makes sense to change it to be more consistent with Array's forEach. This is the same in Swift too and it's generally a more consistent with camelCase conventions.
I'll update in the next version!

That's great, thanks – I thought it must be due to the convention in another language, but yeah I think forEach makes more sense in JS, not least because my muscle memory really struggles with foreach!


Wrong Voltage Divider for FMUv5

On FMUv5 the default voltage divider is 10.133333333f (via BOARD_BATTERY1_V_DIV), which is correct when using it with a Pixracer Power Board, but it's incorrect when using the provided Power Module. In that case it needs to be around 18.2.
I did not check the current, but it's likely wrong too.

After investigating the maximum voltage we can support with this divider I believe the current spec on FMUv5 is too limited and we need to go to a higher default divider to support 12S setups.
@bkueng Could you please change the divider to the correct value for the supplied power module and make sure we update our documentation accordingly?
Thanks!