UT2004 EAX 5.0 Issues

HI, I've come across a strange issue. This DLL appears to work to an extent with UT2004.
With the EAXEFX OpenAL32.dll placed into UT2004's System folder and 32bit OpenAL Soft <IP_ADDRESS> renamed to eaxefx_driver.dll  also placed in the UT 2004 System folder along with alsoft.ini the game will recognise EAX 5.0 and use the music and weapon sounds from the SBXF_UTPATCH_US_3369 patch for the game.
HRTF audio appears to be fine but reverb and occlusion are missing, the eaxefx_log.txt will spit out a huge list of the same error until game close.
Here's a shortened version of the log:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0)
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "DirectSound3D".
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [I] Close device.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
Strange thing is the log will come up as successful while using DSOAL but all the EAX 5.0 related parts of the game (patched music and weapon sounds) won't work, reverb and occlusion doesn't work using this method either.
-Same eaxefx_driver.dll
-Renamed EAXEFX OpenAL32.dll in UT2004 System folder to dsoal-aldrv.dll
-Pasted DSOAL r391 dsound.dll in UT2004 System folder
Here is the log while running with DSOAL:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
I have video footage of both methods in use to show some of what I'm talking about.
https://youtu.be/DBQl4n7uFLg

I saw complaints that the xfi patch actually breaks EAX in favor of other things. https://forums.beyondunreal.com/threads/x-fi-patch-and-eax.192611/

I saw complaints that the xfi patch actually breaks EAX in favor of other things. https://forums.beyondunreal.com/threads/x-fi-patch-and-eax.192611/

The problem with that post from 2010 is they were most likely using Creative Alchemy to emulate the sound which could create its own problems, there is very little info I can find on the patch and I haven't seen any video footage of it running on a pre Vista machine with the patch, because of that and the post being the only reference to issues regarding EAX being broken I'd argue makes it somewhat irrelevant.
I did however test the game without the patch using the same methods I used in the original report.
EAXEFX on its own:
Without the patch HRTF, reverb and occlusion all seem to work fine.
With the patch reverb and occlusion didn't work using this method.
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.6
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "DirectSound3D".
[EAXEFX] [I] Close device.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
DSOAL + EAXEFX:
Without the patch HRTF and occlusion works however reverb does not.
With the patch reverb and occlusion didn't work using this method.
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.6
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
The DSOAL log is exactly the same as before and doesn't open DirectSound3D but does use occlusion without the patch.
Running EAXEFX on its own it appears to work flawlessly without the patch.

UT2004 uses native openal, so... people using alchemy are doing it completely wrong.
https://www.pcgamingwiki.com/wiki/Unreal_Tournament_2004#Audio_settings

UT2004 uses native openal, so... people using alchemy are doing it completely wrong.
https://www.pcgamingwiki.com/wiki/Unreal_Tournament_2004#Audio_settings

Yes and no, it uses both OpenAL and DirectSound. EAX was largely tied to DirectSound 3D and many games at the time even if they used OpenAL natively required DirectSound to have EAX function properly including UT2004.
If this game didn't use dsound.dll it wouldn't spit out a log while using EAXEFX and DSOAL for this game with the way I named the dll files now would it?

Property buffer too small bugfix.
eaxefx_bin_win32_v1_0_6_4428006.zip

UT2004 EAX 5.0 Issues

Are you sure the game uses EAX 5.0?
Unpatched ALAudio.dll contains EAX2.0, EAX3.0 and EAX3.0Emulated extension names.
Patched ALAudio.dll contains EAX4.0 and EAX4.0Emulated extension names.

UT2004 EAX 5.0 Issues

Are you sure the game uses EAX 5.0?
Unpatched ALAudio.dll contains EAX2.0, EAX3.0 and EAX3.0Emulated extension names.
Patched ALAudio.dll contains EAX4.0 and EAX4.0Emulated extension names.

I believe so although I could be wrong, according to info I can find the Sound Blaster X-Fi cards were released with EAX 5.0 and to support 128 voices, the patch as far as I can tell was just to show off the capabilities of these new cards and explicitly state the 128 voice support https://xfi.blogspot.com/2006/07/unreal-tournament-2004-x-fi-patch.html
I'm not certain but I think EAX 4.0 supported the same amount of voices as EAX 3.0 which was 64, I can't really find info on it unfortunately.
I did just test the file you posted too, same lack of reverb and occlusion however the log does comes up nice and clean.
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.6
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "DirectSound3D".
[EAXEFX] [I] Close device.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
DSOAL still seems to hang after the Create EAXX line, it doesn't open or close the device
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.6
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
Love your work by the way.

-Same eaxefx_driver.dll
-Renamed EAXEFX OpenAL32.dll in UT2004 System folder to dsoal-aldrv.dll
-Pasted DSOAL r391 dsound.dll in UT2004 System folder

It's a strange combination.
If you wish to test how sounds the game with EAXEFX or DSOAL don't mix them.
Put DSOAL's dsoal-aldrv.dll into System directory, and then
to test EAXEFX:

Delete or rename DSOAL's dsound.dll in the System.
Put EAXEFX's OpenAL32.dll into the System.

to test DSOAL:

Delete or rename EAXEFX's OpenAL32.dll in the System.
Put DSOAL's dsound.dll into the System.

I did just test the file you posted too, same lack of reverb and occlusion however the log does comes up nice and clean.

You won't hear reverb with X-Fi patch neither with EAXEFX or DSOAL.
It's is either disabled by purpose or because ALAudio.dll checks for genuine hardware.

It may be strange but it does spit out a log for UT2004 as it still uses DirectSound, the combination seems to work flawlessly on Hitman 2 Silent Assassin and Grand Theft Auto: Vice City. which spit out logs like this
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "{E2FEF7F0-223D-4D01-A8D5-6E99874970CF}".
[EAXEFX] [I] Close device.
[EAXEFX] [I] Open device "{E2FEF7F0-223D-4D01-A8D5-6E99874970CF}".

You won't hear reverb with X-Fi patch neither with EAXEFX or DSOAL.
It's is either disabled by purpose or because ALAudio.dll checks for genuine hardware.

That could be the case and wouldn't surprise me, like I've said earlier I have never seen it in action on a period machine running Windows XP and using the Sound Blaster X-Fi so until that happens we may never know, this is why I've been trying with DSOAL as I'm under the impression that it's supposed to trick games into thinking you have the hardware so you can use the full EAX support and UT2004 still uses dsound.dll.

Yes and no, it uses both OpenAL and DirectSound.

OpenAL in turn can use directsound, so "both things being loaded" is true for 100% of games.
Still, that doesn't say anything about what gets used after device querying.
And last time I had checked, EAX5 didn't even have a directsound equivalent.

Are you sure the game uses EAX 5.0?

It should AFAIU?
To be fair, I cannot find any *explicit* official mention whatsoever of its version, but "128 voices" seems the hallmark of eax5.
Also, it doesn't really make much sense to call something "xfi patch" if you aren't using the whole of it.
https://satsun.org/audio/
https://youtu.be/qn9qRuKLNaI
https://web.archive.org/web/20061216041050/http://www.soundblaster.com/products/x-fi/technology/ut2004/
For as much as I can tell, you don't have to use the built-in dll, if you want all effects.

this is why I've been trying with DSOAL as I'm under the impression that it's supposed to trick games into thinking you have the hardware

Putting aside you really don't seem to have understood how openal works, checking for EAX support and version is not really the same about checking for some specific hardware (just wild speculation here for the moment, though it is demonstrably true they have such discrimination inside their own ALchermy)

The https://satsun.org/audio/ link you commented has this in the extended comments section.

Unreal Engine 2.5 games (Example: UT2004, Killing Floor) typically have an audio option to use the 'system driver'. If you >uncheck this box, the game is supposed to use its own OpenAL driver which should be the most compatible solution; >theoretically, it should be able to provide environmental effects and surround sound through OpenAL. I've found that if I check >the 'system driver' box (and restart the game) that I lose surround sound and EAX effects, but if I then use ALchemy, surround >sound and EAX are restored (with "H/W 3D + EAX" selected); this basically means that the game is then using DirectSound >instead of OpenAL. As for UT2004, when using the game's OpenAL driver, there were some issues with sound effects not >playing and the EAX effects were either very dull or weren't functioning. I felt like the audio experience was much better using >'system driver' and ALchemy together. Results may vary so test on your own system and find what works best for you. Also, if >you have an X-Fi card that likes to BSOD with OpenAL games, using 'system driver' with ALchemy can resolve that problem; >that's how I have to play Killing Floor.

This shows that DirectSound can definitely be a factor in weather or not EAX works properly for this game, if it can be relevant to the X-Fi patch too I have no idea.
The https://youtu.be/qn9qRuKLNaI link you commented doesn't have all the effects working, reverb is clearly missing.
Yes I definitely don't understand how OpenAL works, my experience over the years has largely involved using various forms of dsound.dll to OpenAL wrappers and that's it.
Many years ago I had UT2004 running EAX with Alchemy which came as a standard program on my ASUS VX7 Laptop, if that Alchemy dsound.dll wasn't in the game folder EAX simply did not work for me back then.

On my winxp system all UE2 games ship with a openal to dsound wrapper,  suggesting the games were never meant to be primarily openal accelerated.  This default driver works even when openal is not installed on the machine.   It doesn't work with any openal games outside of UE2. This is on an audigy2.

Good jesus.
All openal installs comes with the directsound wrapper.
That's the fallback for when the you don't use the native openal driver implementation.
It doesn't mean the games were supposed to use the "generic hardware" device as their main path (like, there's no point in shipping openal at all otherwise)
And efx-less openal-soft in 2018 didn't support eax, so of course reverb was broken.

Openal games predate the openal installation package from creative. The device isn't even classified as generic hardware, but directsound3d.

Well, the earliest instance of the documentation page on the windows enumeration is december 2004, so I think it's pretty safe to say it at least applies here.
Also, those names are equivalent.

Updated "Known issues" in README for UT2004 with X-Fi patch.

Tested UT2004 with X-Fi patch on Sound Blaster X-Fi HD hardware.
There are no any EAX effects.

Lmaooo.
Did you try both "system driver" settings?

Yes, I did.

Ok so, assuming you also had "H/W 3D Audio + EAX".. did you try the 32-bit game version?
And if that also doesn't work, I'm afraid like I was hinting in the PR conversation, that you are gonna need older drivers.

Ok so, assuming you also had "H/W 3D Audio + EAX".. did you try the 32-bit game version?
And if that also doesn't work, I'm afraid like I was hinting in the PR conversation, that you are gonna need older drivers.
EDIT: see also here

I did not use 64-bit patch for UT2004 at all.
Tried all available drivers from official site - same result.

Even the oldest one they have on the website still seems newer than the "cut off date" of the supposed openal bug.
So, I'd try this or this.
Also, it is argued effects may be tied to CMSS-3D for some reason.

Even the oldest one they have on the website still seems newer than the "cut off date" of the supposed openal bug.
So, I'd try this or this.
Also, it is argued effects may be tied to CMSS-3D for some reason.

Same result for USB Support Pack (the first link).
A driver from the second one (XUHD_PCDRV_1_02_0021.exe) could not detect the hardware.
Non-system driver in UT2004 resets CMSS setting to OFF.

That's very odd, since it's like supposed to be the first driver for your soundcard.
Maybe you also need the older firmware... or maybe exactly the fact that it predates the W8/W10 code, is also why you aren't able to install it now.

That's very odd, since it's like supposed to be the first driver for your soundcard.
Maybe you also need the older firmware... or maybe exactly the fact that it predates the W8/W10 code, is also why you aren't able to install it now.

The oldest working version on the official site is XUHD_PCDRV_L11_1_02_0021a.exe (already tested earlier).
Firmware can not be applied.

Well, then I'd just hope somebody else could test this with an EMU20K1 card...

Not sure if this will be helpful at all to track down any reasons behind this not working but Mass Effect 1 (not the remaster) will use EAXEFX natively however reverb will not work.
EAXEFX only log:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "DirectSound3D".
[EAXEFX] [I] Close device.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
While running through the DSOAL wrapper it does seem to work correctly.
DSOAL + EAXEFX log:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "{2B104E4C-8563-4533-907B-12F8B67D43AE}".
[EAXEFX] [I] Close device.
[EAXEFX] [I] Open device "{CA2E0DD5-C24F-4800-A9AB-75C075C46663}".
[EAXEFX] [I] Close device.
[EAXEFX] [I] Open device "{2B104E4C-8563-4533-907B-12F8B67D43AE}".
[EAXEFX] [I] Close device.
[EAXEFX] [I] Open device "{2B104E4C-8563-4533-907B-12F8B67D43AE}".
[EAXEFX] [I] Close device.
[EAXEFX] [I] Open device "{2B104E4C-8563-4533-907B-12F8B67D43AE}".
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
I figured since they are both running some form of Unreal Engine and use EAX 5 it could be helpful information. I'm not sure how to tell if Mass Effect was actually using EAX 5 with DSOAL + EAXEFX or falling back to 3 but all I know is it definitely worked with that configuration.
Also it appears that UT2004 does indeed use EAX 5 with the patch https://en.wikipedia.org/wiki/List_of_games_with_EAX_support

Wikipedia has the credibility of a minion here to be honest... Though anyway, as always it's unclear how else you could have "eax" and "128 voices" without the fifth version.
(side note here: I think game developers always just marketed "EAX ADVANCED HD", without any version number, because at the end of the day that's what you were buying into with the eax proprietary sdk. On the other hand, it was creative to push the 3/4/5 distinction, when talking about the cards, in order to better sell newer ones)
Anyhow, I guess maybe focusing on ME could be better than UT2004 in order to focus on eax 5 shenanigans (aside of the usual "DeviceName" glitch, it never had any big deal issue afaik).
Also, now that I think to it.. did you try to force first of all the updated openal router?

I already have OpenAL 1.1 installed from https://openal.org and have had the whole time, if I enable EAX on Mass Effect without using dsound.dll I get glitchy audio, inconsistent weapon sound volume, randomly muffled audio, no reverb etc. These are the same issues I've had on multiple systems over the years from Windows 7 to my current Windows 10 system. this will happen regardless of the default OpenAL32.dll being in the game folder, replaced or not there at all. Tried Windows XP compatibility mode with no change, you name it I've probably tried it.
As far as I understand my OpenAL installation should be fine with these in my SysWOW64 folder:
OpenAL32.dll (File version 6.14.357.24)
wrap_oal.dll (File version <IP_ADDRESS>)
soft_oal.dll (File version <IP_ADDRESS>)
The most effective setup I've had for Mass Effect was using Sound Blaster X-Fi MB3's Alchemy with sens_oal.dll renamed to ct_oal.dll in SysWOW64 to get Alchemy to work correctly and have "Using Native OpenAL Renderer" show up in the log and enable full EAX 5 support with perfectly clear audio. This was a long time ago however and Sound Blaster X-Fi MB3 isn't even something you can get from Creative anymore.

"Openal 1.1" is just the major api version since (checks notes) october 2005.
The build/minor version of the dlls providing that is a quite different thing.
And you are in fact using <IP_ADDRESS> as opposed to <IP_ADDRESS>.
Not that I really know of any actual improvement or even just change between the two, but that's what creative ships in their drivers, so.. I don't think it hurts.
With this said, back to the game at hands.. Last time I checked, you don't "enable eax".
You just have it pick up whatever implementation you have (it's a bit complex, and https://github.com/kcat/openal-soft/issues/574 could be slightly better here, but long story short just set DeviceName), and it will use the features accordingly.
What you are using can can be verified in the logs inside the savegame folders.
Did you just mean using eaxefx as opposed to just openal-soft?

Created the issue (#19) for Mass Effect.

It seems, setting EAX properties is not implemented in the X-Fi patch.

Regular ALAudio.dll.
SetEAXEffect function has some code.

ALAudio.dll from X-Fi patch.
SetEAXEffect function returns immediately, i.e. does nothing.


:bug: Fix leader elect helm chart args

What this PR does / why we need it:
Fix small typo in helm chart for leader election
related arguments
Related logs:
unknown flag: --leader-election-lease-duration
Usage of /manager:
      ...
      --leader-elect-lease-duration duration   Interval at which non-leader candidates will wait to force acquire leadership (duration string) (default 15s)
      --leader-elect-renew-deadline duration   Duration that the leading controller manager will retry refreshing leadership before giving up (duration string) (default 10s)
      --leader-elect-retry-period duration     Duration the LeaderElector clients should wait between tries of actions (duration string) (default 2s)
      ...

Would be nice if we can get a new helm chart version released after it is merged (although not critical to have)

/ok-to-test

@furkatgofurov7 The failed test seems unrelated with the changes of this PR. Specifically it fails on:
Create, upgrade, downgrade and delete providers with minimal specified configuration [It] should successfully create and delete an AddonProvider
/home/prow/go/src/sigs.k8s.io/cluster-api-operator/test/e2e/minimal_configuration_test.go:213
  [FAILED] Timed out after 180.002s.
  Deployment capi-operator-system/caaph-controller-manager failed to get status.Available = True condition
  Deployment:
  {
    "metadata": {
      "creationTimestamp": null
16 skipped lines...
  Expected
      <bool>: false
  to be true
  In [It] at: /home/prow/go/pkg/mod/sigs.k8s.io/cluster-api/test@v1.5.2/framework/deployment_helpers.go:88 @ 10/18/23 13:40:23.448Create, upgrade, downgrade and delete providers with minimal specified configuration [It] should successfully create and delete an AddonProvider
/home/prow/go/src/sigs.k8s.io/cluster-api-operator/test/e2e/minimal_configuration_test.go:213
  [FAILED] Timed out after 180.002s.
  Deployment capi-operator-system/caaph-controller-manager failed to get status.Available = True condition
  Deployment:
  {
    "metadata": {
      "creationTimestamp": null
16 skipped lines...
  Expected
      <bool>: false
  to be true
  In [It] at: /home/prow/go/pkg/mod/sigs.k8s.io/cluster-api/test@v1.5.2/framework/deployment_helpers.go:88 @ 10/18/23 13:40:23.448

This issue could be related to it => https://github.com/kubernetes-sigs/cluster-api-addon-provider-helm/issues/129, although im not sure which version of caaph is the CI trying to install

/retest

Reached out to caaph maintainers on slack to ask what is up with latest release images, xref: https://kubernetes.slack.com/archives/C05AWPWF2HL/p1697643138969759

/retest

/retest

/retest

/retest


Most of the Samples seem to be broken

Most of the sample seem to be missing:

randomScalingFactor()

window.chartColors

Add line function does not work in updates.html

https://github.com/chartjs/chartjs-plugin-annotation/pull/214


No Pokemon Showing

With the current release (0.3.4), the map SEEMS to be working, but no Pokemon show.  I have the option to show scanned areas on, and I see it move around the map, but no Pokemon icons will show up.  I've gotten the map to work a few times, but even then, it stops working after maybe 30-60 min.

Probably your IP has been banned due to high number of requests being sent from it.


No dev fee

When you say "no dev fee", does this mean that this bypasses CoinHive's 30% cut of whatever you mine using their service? As in, the funds can be mined through a completely separate mining pool that has no affiliation with CoinHive, so whatever you mine is completely owned by you? Or does this still route the mining earnings through CoinHive first, and then to the mining pool? Thanks in advance!

please see https://github.com/x25/coinhive-stratum-mining-proxy/issues/25

Thank you!


Can't use external template : Unable to parse external templates on fresh Portainer install

I'm trying to use the external template functionality to use my versioned templates however I receive an "Unable to parse external templates" error (even with the raw official source for templates.json). The issue is not similar to #2283, because it happens on a fresh Portainer install.

Steps to reproduce the behavior:

Fresh install Portainer 1.19.2
Activate external template in settings
Put the official template.json url (raw) : https://raw.githubusercontent.com/portainer/templates/master/templates.json
Go to Template : the error should appear

Technical details:

Portainer version: 1.19.2 (fresh install)

Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:24:51 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:23:15 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Hello,
This happens because in the previous version the templates used the naming convention.
"stack" , "container"  on the type field.
Now the guys changed the template and their using numbers as in:
https://portainer.readthedocs.io/en/stable/templates.html
Template type, valid values are: 1 (container), 2 (Swarm stack) or 3 (Compose stack).
So the templates repo is outdated and needs revisit.
Its normal.
You can use the build in templates. and you will be fine. No need to add the github repo.
Just disable it or change use this template , change it and attach it with the updated type.

Hi @toninis, in fact using the proper templates.json file seem to solve the issue.
https://raw.githubusercontent.com/portainer/portainer/develop/templates.json
Thank you very much; you can consider the issue closed. Just need to update the template.json at the root :)

Going to keep this open as I'd like to find a proper solution for this one.
We'll try to tackle this one and  #2283

PS : I'm the one who opened this issue yesterday with an old git account, I just deleted this account today. So my issue I solved :) Thank you anyway

@SoXX-TheFennec you cannot use localhost as it will be resolved as localhost inside the container. You'll want to use a public IP that can be reached via the container.

Yeah, that would make sense, but I tried now to make my the Server public and yet I have the same error. You can visit it here Template. It seems like that Portainer has a very hard time communicating with the Internet.

2018/10/28 08:26:12 http error: Unable to retrieve external templates (err=Get http://fenpa.ws:4040/templates.json: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)) (code=500)

2018/10/28 08:26:47 http error: Unable to retrieve external templates (err=Get http://fenpa.ws:4040/templates.json: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)) (code=500)

Hmm, I will investigate this further. But thanks for the quick response.

im having a similar issue with the new 1.20.0 release ?
i just keep getting 'unable to parse external templates'
my URL is set to 'https://raw.githubusercontent.com/portainer/templates/master/templates.json'
but also when looking at the debug is show error 500 for the 'templates' command
{"err":"Unable to parse external templates","details":"json: cannot unmarshal string into Go struct field Template.type of type portainer.TemplateType"}

@si458 use https://raw.githubusercontent.com/portainer/templates/master/templates-1.20.0.json instead.

@si458 use https://raw.githubusercontent.com/portainer/templates/master/templates-1.20.0.json instead.

BINGO, thank you! fixed straight away 👍

Cannot reproduce on 1.23.2 using the official templates url https://raw.githubusercontent.com/portainer/templates/master/templates-1.20.0.json


[HOLD for payment 2024-08-07] [$250] Android - Workspace - WS description with markdown is not shown correctly on opening preview

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.8
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4697842
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tap profile icon -- Workspaces -- workspace
Tap description
Enter ~fhjj~ 57
Tap Save
Tap description again and note markdown shown as it was entered
Now change markdown as ~😃~ 57
Tap save
Tap description again and note markdown

Expected Result:
Workspace description should be shown as ~😃~ 57
Actual Result:
Workspace description should be shown as ~😃~ 57 but displayed as ~😃~ 57
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/117ce0cc-ac28-4a6e-99cb-f9f9e93a7185
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0183f826d1418b3bc1
Upwork Job ID:<PHONE_NUMBER>451723401
Last Price Increase: 2024-07-22
Automatic offers:

gijoe0295 | Contributor | 103221829

Issue OwnerCurrent Issue Owner: @VictoriaExpensify

We think that this bug might be related to #vip-vsp

@VictoriaExpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Able to recreate. Agree this best fits under vip_vsb

@parasharrajat - were you able to identify the PR that caused this bug? Are you able to link it here? 🙏

No prob, thanks for your help and input @parasharrajat

Payment Summary
Contributor:  @gijoe0295 paid $250 via Upwork
Contributor+: @parasharrajat owed $250 via NewDot

$250 approved for @parasharrajat


fixed code snippets

Hi @v-anpasi, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

aspnetcore/client-side/angular.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/bootstrap.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/bower.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/bundling-and-minification.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/knockout.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/less-sass-fa.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/using-grunt.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/using-gulp.md
:white_check_mark:Succeeded

Details

aspnetcore/client-side/yeoman.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/advanced.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/complex-data-model.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/concurrency.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/crud.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/read-related-data.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/sort-filter-page.md
:white_check_mark:Succeeded

Details

aspnetcore/data/ef-mvc/update-related-data.md
:white_check_mark:Succeeded

Details

aspnetcore/data/entity-framework-6.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/app-state.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/dependency-injection.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/error-handling.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/file-providers.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/hosting.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/localization.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/middleware.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/owin.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/routing.md
:white_check_mark:Succeeded

Details

aspnetcore/fundamentals/servers/kestrel.md
:white_check_mark:Succeeded

Details

aspnetcore/getting-started.md
:white_check_mark:Succeeded

Details

aspnetcore/hosting/apppool.md
:white_check_mark:Succeeded

Details

aspnetcore/index.md
:white_check_mark:Succeeded

Details

aspnetcore/intro/index.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/configuration.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/http-modules.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/identity.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/mvc.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/rc1-to-rtm.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/rc2-to-rtm.md
:white_check_mark:Succeeded

Details

aspnetcore/migration/webapi.md
:white_check_mark:Succeeded

Details

aspnetcore/mobile/native-mobile-backend.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/controllers/areas.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/controllers/dependency-injection.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/controllers/filters.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/controllers/routing.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/controllers/testing.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/models/file-uploads.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/models/formatting.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/models/model-binding.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/models/validation.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/overview.md
:white_check_mark:Succeeded

Details

aspnetcore/mvc/views/layout.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@Rick-Anderson  Here you go.

@v-anpasi thanks. Did you use Atom?


Crate is not clear enough about cfg-if being limited to items

I was trying to generate a bunch of identical functions with different bodies, so I was writing them similar to this minimal example:
#[macro_use]
extern crate cfg_if;

fn a() {}

fn b() {
    cfg_if! {
        if #[cfg(target_os = "linux")] {
            a()
        }
    }
}

fn main() {
    b();
}

but this fails with:
error: expected one of `!` or `::`, found `(`
 --> src/main.rs:9:14
  |
9 |             a()
  |              ^ expected one of `!` or `::` here

error: Could not compile `playground`.

To learn more, run the command again with --verbose.

This was very confusing and I didn't see anything about this in the generated cfg-if docs. I went on the Rust IRC channel and scottmcm was kind enough to point out that in the crate description visible on Crates.io "A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted." it talks about items, which are a specific language term.
So now I understand a little bit better the limitations, I think there are two ways to better convey this to users:

Use the term item within the generated docs and be sure to link to the relevant section in the reference that I linked to above.
Emit better errors for when there isn't a macro match (not certain if this is currently possible).

Yeah I definitely think the documentation could be improved!

As of https://github.com/alexcrichton/cfg-if/pull/28 expressions and arbitrary tokens are now allowed


[Production] Set coverage thresholds

Reduced coverage thresholds in package.json coverage config so we can check that the test runner succeeds and the build compiles on travis without tests failing due to low coverage. Once greater testing coverage is introduced we need to reset the thresholds to be high (90+) again.

can do


Adapt for Conan Center Index

Consider the Conan hook conan-center, which can avoid many errors from CI jobs in Conan Center Index.

Thank you a lot! Mu knowledge about packaging libraries in Conan seems like outdated :)


{Compute} Record input location for VM creation even if the customer does not get the recommended region

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Compute location improvement in telemetry


Make multiplexing converter work with arbitrarily named acquisitions

We've generalized the handling of acquisition names with the 1.0.0 release of fractal-tasks-core. But some tasks still assume acquisitions are named "0", "1", "2". Let's generalize that.
First issue Nicole found:
TASK ERROR: Task name: Convert Cellvoyager Multiplexing to OME-Zarr, position in Workflow: 0
TRACEBACK:
Traceback (most recent call last):
  File "/path/to/python/lib64/python3.9/site-packages/fractal_server/app/runner/v2/runner_functions_low_level.py", line 116, in run_single_task
    raise e
  File "/path/to/python/lib64/python3.9/site-packages/fractal_server/app/runner/v2/runner_functions_low_level.py", line 105, in run_single_task
    _call_command_wrapper(
  File "/path/to/python/lib64/python3.9/site-packages/fractal_server/app/runner/v2/runner_functions_low_level.py", line 52, in _call_command_wrapper
    raise TaskExecutionError(err)
fractal_server.app.runner.exceptions.TaskExecutionError: 2024-07-08 13:07:15,771; INFO; START cellvoyager_to_ome_zarr_init_multiplex task
2024-07-08 13:07:15,772; INFO; [glob_with_multiple_patterns] patterns=['*.tif']
2024-07-08 13:07:15,800; INFO; [glob_with_multiple_patterns] Found 3512 items
2024-07-08 13:07:15,803; WARNING; Skipping "DC_DCAM#2_CAM4_BIN2.tif". Original error: Something wrong with filename='DC_DCAM#2_CAM4_BIN2', TFLAZC='BIN2'
2024-07-08 13:07:15,812; WARNING; Skipping "SC_BP676-29_60xW_M01_CH04.tif". Original error: Something wrong with filename='SC_BP676-29_60xW_M01_CH04', TFLAZC='CH04'
2024-07-08 13:07:15,823; WARNING; Skipping "SC_BP600-37_60xW_M01_CH03.tif". Original error: Something wrong with filename='SC_BP600-37_60xW_M01_CH03', TFLAZC='CH03'
2024-07-08 13:07:15,824; WARNING; Skipping "DC_DCAM#2_CAM4.tif". Original error: Something wrong with filename='DC_DCAM#2_CAM4', TFLAZC='CAM4'
2024-07-08 13:07:15,836; WARNING; Skipping "DC_DCAM#1_CAM3_BIN2.tif". Original error: Something wrong with filename='DC_DCAM#1_CAM3_BIN2', TFLAZC='BIN2'
2024-07-08 13:07:15,853; WARNING; Skipping "SC_BP445-45_60xW_M01_CH01.tif". Original error: Something wrong with filename='SC_BP445-45_60xW_M01_CH01', TFLAZC='CH01'
2024-07-08 13:07:15,856; WARNING; Skipping "SC_BP525-50_60xW_M01_CH02.tif". Original error: Something wrong with filename='SC_BP525-50_60xW_M01_CH02', TFLAZC='CH02'
2024-07-08 13:07:15,858; WARNING; Skipping "DC_DCAM#1_CAM3.tif". Original error: Something wrong with filename='DC_DCAM#1_CAM3', TFLAZC='CAM3'
Traceback (most recent call last):
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib/python3.9/site-packages/fractal_tasks_core/tasks/cellvoyager_to_ome_zarr_init_multiplex.py", line 521, in <module>
    run_fractal_task(
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib64/python3.9/site-packages/fractal_tasks_core/tasks/_utils.py", line 79, in run_fractal_task
    metadata_update = task_function(**pars)
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib64/python3.9/site-packages/pydantic/v1/decorator.py", line 40, in wrapper_function
    return vd.call(*args, **kwargs)
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib64/python3.9/site-packages/pydantic/v1/decorator.py", line 134, in call
    return self.execute(m)
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib64/python3.9/site-packages/pydantic/v1/decorator.py", line 206, in execute
    return self.raw_function(**d, **var_kwargs)
  File "/path/to/FRACTAL_TASK_DIR/.fractal/fractal-tasks-core1.1.0/venv/lib/python3.9/site-packages/fractal_tasks_core/tasks/cellvoyager_to_ome_zarr_init_multiplex.py", line 198, in cellvoyager_to_ome_zarr_init_multiplex
    plate = dict_acquisitions["0"]["plate"]
KeyError: '0'

Will be closed by https://github.com/fractal-analytics-platform/fractal-tasks-core/pull/812
We can't support arbitrary acquisition names, because the spec says that acquisitions need to be integers. But we now support arbitrary integers.
Additionally, the task checks that those values are actually integers.
Finally, the OME-Zarr image groups will still be called 0, 1, 2, 3 etc., independent of the acquisition integers. That will make downstream issues with tasks assuming that there will be an image 0 less likely. The well has the corresponding metadata to describe which image is which acquisition and the images are ordered by their acquisitions.


Recursive find nodes jsonrpc api endpoint

What was wrong?
Fixes #637
Fixes #628
How was it fixed?
To-Do

[ ] Add entry to the release notes (may forgo for trivial changes)
[ ] Clean up commit history

Ready for review - though for now let's just ignore the hacky NodeId type I created temporarily until we finalize our trin-types::NodeId implementation


Support for React 18 features

React 18 will bring new and exciting features that we should support:

Suspense for data fetching (including in SSR)
Server components
startTransition

Any update on this?

See the other issue for streaming SSR and suspense in SSR. For server components, the Vite community is still discussing the best way to approach it.

For RSC, also see https://github.com/facebook/react/pull/22952.

This is done in 0.6 except for server components. Server components is tracked on #38


Is it possible to add a "footer" to the bottom of each month on the vertical calendar?

Similar to the ability to add a CalendarItem to customize the month header, is there the capability to add a footer at the bottom of each month on the vertical scrolling calendar? (Example in screenshot). Or will this possibly be added if that capability doesn't currently exist? Thanks! Awesome library btw!

Hey @seanperez29 ! This is a cool suggestion, I could see us using something like this in the Airbnb app one day.
This isn't something that's currently on the roadmap, but I think this would be a great API addition if it's something you'd be interested in tackling. I've tagged this as being a good issue for first-time contributors!

If anyone wants to look into implementing this, it would probably be a new item provider on CalendarViewContent  (some kind of footer item type).
The more complicated parts are deciding how to lay something like this out. Does it have its own padding values? Does it self-size, or statically size? Is this a one-off item provider type, or part of a more general system for adding supplementary content to various parts of the calendar - a month footer being just one of several supported locations.
If we can think through a great API that will serve us well for this feature / potentially others in the future, that would be a great first step!

@bryankeller is this issue still open? I would love to help out and add the footer for the view. If so, let's brainstorm a way to make it happen

@mustiikhalil it is still open, and any help would be greatly appreciated since there are some other things I'm working on unrelated to this currently (proper RTL support being top priority for me).
The way I implemented headers was by forcing them to be self-sized. This was great for Airbnb's use case (and frankly, forces people to support dynamic / accessible type 😛), but perhaps it would be valuable to generalize the sizing of headers and footers so that people can choose their own sizing preference.
The general approach here is to copy how headers are handled at both an API and implementation level, with one caveat - we should add the ability to specify a sizing mode. My initially feeling is that the sizing mode should be specified on CalendarItemModel that way you can choose to self-size or statically-size headers and footers on a case-by-case basis, but CalendarItemModel is also used for for items, which are sized by the calendar and therefore having a sizing mode makes no sense for those.
Maybe we should decouple the sizing question / API changes needed to enable that for headers and footers in the future, from the actual footer item model provider API addition. We can treat all footers as being self-sized initially, just like we do today for headers. Once an API is decided on for self vs. static sizing, then we can enable it for both headers and footers in one change.

Sure sound great!

Sorry for the radio silence, I've been a bit busy nowadays.
So I took a look at the code, and I wanted to ask a question before writing the code;
should we return an EmptyView for the footers since, some of the code that I've seen is dependent on having a view always:
small example:
  let month: Month
      /// *** we always expect a InternalAnyCalendarItemModel
      let calendarItemModel: InternalAnyCalendarItemModel
      switch layoutItem.itemType {
      case .monthHeader(let _month):
        month = _month
        calendarItemModel = self.content.monthHeaderItemModelProvider(month)
      case .monthFooter(let _month):
        month = _month
        /// *** if we have an empty view this will not be an issue, but if we do have a nullable view, this will produce issues.
        calendarItemModel = self.content.monthFooteritemModelProvidor(month)
      case .day(let day):
        month = day.month
        calendarItemModel = self.content.dayItemModelProvider(day)
      case .dayOfWeekInMonth:
        return
      }

or we can refactor the code to have an optional view, which I wanted to ask before going on that adventure.

Hey @mustiikhalil - sorry for the delay on my end as well!
The VisibleItemsProvider provides a Set<VisibleCalendarItem> or Array<VisibleCalendarItem> to CalendarView, so if we want to include / exclude a particular item, we should just omit it from the collection of visible calendar items. I don't think we need to introduce any additional optionality.
I think the LayoutItemTypeEnumerator is going to be a key starting place. That's the type that, given a starting item, looks backwards and forwards to find other adjacent items. It's in this type that we should look to see if we have a month footer for a particular month. For some more info on the interaction between the LayoutItemTypeEnumerator and the VisibleItemsProvider (they work together), see this doc https://github.com/airbnb/HorizonCalendar/blob/master/Docs/TECHNICAL_DETAILS.md#architecture-overview

Please don't hesitate to reach out if you would like to bounce ideas off of me or discuss things more! 🙂

Sorry, but I've been too busy to actually sit down and actually work on the feature. I will take sometime next week to look at it!

Is this what you wants to achieve?

@bryankeller What was the blocker from getting #75 over the finish line? Is it just needing a contribution again to take it?


Updated test contract to work with v1.6.x of eosio.cdt

Change Description
Fixed a bug in the test_print::test_prints() function in the test_api contract that was only now exposed when compiled with v1.6.x of CDT.
Ported all the contracts in test-contracts except for test_ram_limit.wasm (because the test itself is too sensitive to changes in the size of the contract) and test_api.wasm (because it is a lot of work and so I left it for someone to do later) to work well with v1.6.x of eosio.cdt. (The test_api contract was modified to fix the print bug and some other minor changes, but it is still using a very old style of contract coding which is now deprecated with the release of eosio.cdt v1.6.x.) The tests were updated as appropriate to work with the updated test contracts. The two contracts, test_ram_limit and test_api, will eventually need to be updated along with their corresponding tests at some point in the future.
Removed test_api_mem and associated tests because they are no longer appropriate for eosio given the changes in CDT. Memory tests like this belong in CDT.
Removed multi_index_tests since it does not do a good job of testing multi_index and it is redundant anyway since the tests that do a much better job at testing multi_index are in api_tests/multi_index_tests.
The unused test contracts test.inline and integration_test were removed.
The tests compiler_builtins_tests, fixedpoint_tests, and multisig_tests were removed. fixedpoint was removed from CDT and tests of compiler builtins belong in CDT not eosio. multisig_tests were an outdated copy of the multisig tests that exist in eosio.contracts.
Improved api_tests/action_receipt_tests.
Updated the cached .wasm and .abi files of all test contracts, other than test_ram_limit, built using a patched version of eosio.cdt v1.6.0-rc1 (commit 1c9180ff5a1e431385180ce459e11e6a1255c1a4).
Consensus Changes
API Changes
Documentation Additions

Replaced by PR #6749.


favicon in webpage and alignment of elements is inappropriate: issue/128

Kindly solve merge conflict

Favicon is already added


[Question]Tesseract Limitations

Hello
I am trying to read the following image(without the black bar that is from VS):

I have tried it several time and each time it returns nothing. I am using your example code with the only modification is I am using png file instead of the tif file.
Am I just running into a limitation of the OCR or is there something else I could do to try and get it to work?
Sorry if this is the wrong place for this.
Thanks,
Nathan

Ask in the tesseract-ocr google groups instead.

Ok, I will try there. I will leave this one open for now in case someone here has an idea
Thanks,
Nathan

I already this question in tesseract GitHub repo plz check


SEO optimization, KW "keda"

Primary KW: keda
Secondary KWs: kubernetes autoscaling, event driven autoscaling
Proposed changes
Updated the metatags, the rest of the content is well optimized. Interestingly, "2020" came up in our semantic analysis, so if there is even a one-sentence update that can be made, that could be beneficial  — I'm thinking around "As of October 2019"...can we make this 2020?
@zchase @cnunciato

My suggestion is to revise the conclusion as follows:
If your company is betting on Kubernetes as the standard application
platform and you see high value in event-driven fine-grained applications,
KEDA might be an exciting option for the future.  As of March 31, 2020,
Kubernetes Event-driven Autoscaling (KEDA) has joined the CNCF as an
official sandbox project.
Pulumi is a great tool to get your KEDA application running quickly and
effortlessly.  You can combine Docker image creation, Kubernetes cluster
provisioning, Helm chart installation, and KEDA deployment in the single
program, written in your favorite general-purpose language.
On Thu, Apr 16, 2020 at 11:44 AM 97thFloor<EMAIL_ADDRESS>wrote:

Primary KW: keda
Secondary KWs: kubernetes autoscaling, event driven autoscaling
Proposed changes
Updated the metatags, the rest of the content is well optimized.
Interestingly, "2020" came up in our semantic analysis, so if there is even
a one-sentence update that can be made, that could be beneficial — I'm
thinking around "As of October 2019"...can we make this 2020?
@zchase https://github.com/zchase @cnunciato
https://github.com/cnunciato
You can view, comment on, or merge this pull request online at:
https://github.com/pulumi/docs/pull/2972
Commit Summary

SEO optimization, KW "keda"

File Changes

M content/blog/deploy-a-function-app-with-keda/index.md
https://github.com/pulumi/docs/pull/2972/files#diff-88a98a05b2c9826d6351cf9d2108bcfb
(4)

Patch Links:

https://github.com/pulumi/docs/pull/2972.patch
https://github.com/pulumi/docs/pull/2972.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pulumi/docs/pull/2972, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB77TQUGFMTUUT5ESMB5D6LRM5GYXANCNFSM4MKALOZQ
.


verify user input and update some UI

Coverage increased (+0.2%) to 69.879% when pulling 7acf1f31b80bfc1d15045ce450da442dd4ba71b9 on huangrong/paishare into 5af7024b6774cbc44bd6b8e3a369c7c15fd26232 on paishare.

Coverage increased (+0.2%) to 69.879% when pulling 7acf1f31b80bfc1d15045ce450da442dd4ba71b9 on huangrong/paishare into 5af7024b6774cbc44bd6b8e3a369c7c15fd26232 on paishare.


fexecve doesn't exist on mac/ios

For some reason it's ignored in build.rs, but my /usr/include/unistd.h on Mac OS X 10.11.6 doesn't have it. It's actually nowhere in /usr/include/. Using this results in a linking error, so I'd suggest it be removed on those platforms even if it's technically a breaking change (as nobody can possibly be using it on those platforms).
I can file a PR to remove it, but what to do about build.rs, anything? Should I change it to be if mac for fexecve to make sure it never creeps back in accidentally?

Seems fine to me yeah to remove! IIRC these are ignored b/c the exec-family of functions are really hard to verify (the signatures in C are tough for ctest to generate to match)


Docs inconsistent with code when it comes to params

The docs say that if you want to include a list in parameters, you have to append [] to the key name:

In order to pass a list of items as a value you must mark the key as referring to a list like string by
appending [] to the key:
>>> payload = {'key1': 'value1', 'key2[]': ['value2', 'value3']}
>>> r = requests.get("http://httpbin.org/get", params=payload)
>>> print(r.url)

http://httpbin.org/get?key1=value1&key2[]=value2&key2[]=value3

but, the code actually seems to support lists transparently, without using the appended brackets. I am so glad it does this, by the way. some REST APIs I make calls to are out of my control, I can't just tell them to include brackets in their keys.

75     def _encode_params(data):
76         """Encode parameters in a piece of data.
77
78         Will successfully encode parameters when passed as a dict or a list of
79         2-tuples. Order is retained if data is a list of 2-tuples but arbitrary
80         if parameters are supplied as a dict.
81         """
82
83         if isinstance(data, (str, bytes)):
84             return data
85         elif hasattr(data, 'read'):
86             return data
87         elif hasattr(data, 'iter'):
88             result = []
89             for k, vs in to_key_val_list(data):
90                 if isinstance(vs, basestring) or not hasattr(vs, 'iter'):
91                     vs = [vs]
92                 for v in vs:
93                     if v is not None:
94                         result.append(
95                             (k.encode('utf-8') if isinstance(k, str) else k,
96                              v.encode('utf-8') if isinstance(v, str) else v))
97             return urlencode(result, doseq=True)
98         else:
99             return data

To be certain: *Does requests natively support lists, or am I bonkers?*

You need to inspect to_key_val_list to get the full description. to_key_val_list will take a dictionary like {'foo': 'bar', 'biz': 'baz'} and turn it into [('foo', 'bar'), ('biz', 'baz')] (although the order may not be preserved. Alternatively, if data in this case is already of the latter form, it'll just return it. That's the kind of list that params will support. If the documentation of that has disappeared then it should be replaced, but you cannot pass ['foo', 'bar', 'bogus'].
A quick test shows that
>>> r = requests.get('https://httpbin.org/get', params=[('a', 'b'), ('a', 'c')])
>>> r.request.url
'https://httpbin.org/get?a=b&a=c'

Works fine. The above usecase, however, pertains to specific APIs that expect array-like syntax for query parameters.

The docs intimate that you can pass something like {'a':['b', 'c']} into params. That is the kind of list I am referring to: one associated with a key in a python dictionary, like so:
>>> r = requests.get('https://httpbin.org/get', params={'a': ['b', 'c']})
>>> r.request.url
'https://httpbin.org/get?a=b&a=c'

As you can see, it works fine. However, the docs say you have to add a [] to get this kind of behavior to the key:

r = requests.get('https://httpbin.org/get', params={'a[]': ['b', 'c']})
r.request.url
'https://httpbin.org/get?a[]=b&a[]=c'

which would be useless, but thankfully the correct behavior is already present. It is just that the docs need to be updated.


UP-4370 ignore IntelliJ-generated overlays directories on license check.

UP-4370 : widen the exclusion match in the licensing plugin configuration in pom.xml to ignore the IntelliJ-generated overlays directories when applying license check.
This issue tripped up the uPortal 4.2.0-M1 release process momentarily.

:+1:

:+1:


Handling server deaths in simple XREQ-XREP scenario.

I have a client (XREQ) and a server (XREP). I want to do error handling at the client, which means that the client should notice when a server is gone.
=> I cant use socket.recv() at client, as otherwise the client will block for ever when sending a msg to a death server
=> I make use of zmq.NOBLOCK
My Testcase consists of two little scripts, a server and a client: https://gist.github.com/734639
Start the client: python client.py tcp://<IP_ADDRESS>:8000 tcp://<IP_ADDRESS>:8001
Now, only start one server: python server.py tcp://<IP_ADDRESS>:8000
The XREQ socket itself does not notice that the one server is not available. As this socket is loadbalancing, every second message is send to the non-existing server. My client handles this, by resending in case it encountered a certain timout while waiting for a reply.
=> I spoke with some people at the zmq-irc and they were all like "ZMQ should notice the serverdeath and handle it for you"
=> obviously, it is not, as the client sends to server A gets a response, sends to server B (death), runs in timeout, resends the message to server A, sends the next message to server B again, gets timeout and so on.
So the question is, how to handle this properly? As far as I know, there is no way of disconnecting from one particular address manually.
Please correct me if I misunderstood something.
Thanks,

Toni

Hi,I need to use message queue in publisher/subscriber patter .Can any know whether i can use DEALER and ROUTER as intermediate.or any solution


Add the Time Travel Debugging CLI package

Closes https://github.com/mandiant/VM-Packages/issues/965.

Installs correctly and works well!
I want to make sure @Ana06 checks it over to agree that it will work with this method rather than needing to use VM-Assert-Signature like she had suggested here: https://github.com/mandiant/VM-Packages/issues/965#issuecomment-2034160190
If this URL format works for future updates, then I think it should be good to go. :)

@naacbin can you take a look at this PR? It is similar to windbg that you are refactoring in @1058, so ideally the code of the th two packages should look very similar.


BUG: stats: mannwhitneyu hits max recursion limit with imbalanced inp…

Reference issue
Fixes #14622

What does this implement/fix?
Currently, the mannwhitneyu test hits maximum recursion limit when one (but not both) of the input dimensions is large. As it will try to perform exact method. Currently, asymptotic method is only performed when both input dimensions are larger than or equal 9. Here, we also handle when one of the dimensions is large. Large was set to 81. Which is based on the earlier definition with 81 = 9*9. In addition a test for execution with one large input dimension is added.

Additional information

It sounds like the default recursion limit is 1000. Is this the recursion limit on the machine you're testing with?
If so, this looks reasonable as a quick improvement. Other ideas include calculating whether the recursion is safe given the user's actual recursion limit, or trying exact and resorting to asymptotic if the recursion limit is reached.
Maybe someday I'll rewrite this part without explicit recursion.

Thank you for your comment. Yes. I tested with the standard recursion limit of 1000.
To your suggestion. Do you think the following can be sufficient?
    if method == "auto":
        try:  # exact
            p = _mwu_state.sf(U.astype(int), n1, n2)
        except RecursionError:  # asymptotic
            z = _get_mwu_z(U, n1, n2, ranks, continuity=use_continuity)
            p = stats.norm.sf(z)
    elif method == "exact":
        p = _mwu_state.sf(U.astype(int), n1, n2)
    elif method == "asymptotic":
        z = _get_mwu_z(U, n1, n2, ranks, continuity=use_continuity)
        p = stats.norm.sf(z)
    p *= f

I had written the following:

Close, but for now, I would keep the idea that auto should use asymptotic if m and n are both sufficiently large (as the asymptotic approximation tends to be "good" - or good enough by the original author's standards, if I remember correctly).

So yes, get rid of _mwu_choose_method and add auto to the branching, but in there:

if n1 <= 8 or n2 <= 8:
   try:
      # try exact method
   except RecursionError:
      # Maybe produce a warning?
      # use asymptotic
else:
   # use asymptotic

But as I think about it now, I don't really like the idea of the warning,. I do think there should be an error if the exact method fails. How about just putting the call to the exact method in a try-except and upon exception, re-raise the exception with a more helpful error message (e.g. suggest raising the recursion limit with sys.setrecursionlimit or choosing method='asmptotic')?

Hi @mdhaber ,
I implemented your suggestion. Is this still helpful or obsolete with #14854 ? Please let me know what you think.
Best,
Alex

Hmm after gh-14854, we won't really need an error when the recursion limit is reached. So I can't think of another way to use this : / can you? Sorry about that!

Hi @mdhaber. After switching to an iterative approach I see no reason of keeping this. No worries and thank you for the feedback.

Thanks for doing this! I didn't expect we'd have the iterative version so soon!


Disambiguate sink module artifact IDs

Fixes #80

@japgolly Looks like you renamed the artifact in sinks/v1/sink/pom.xml.  I was trying to clarify with @erikmcc and @bogdandrutu in earlier post if api-sink should be the name of the more abstract artifact sdk/sink/pom.xml since it was actually being used as a dependency.

@StdVectorBool you are correct. Please rename the sdk/sink/pom.xml to api-sink or sdk-sink

Please rename the sdk/sink/pom.xml to api-sink or sdk-sink

Ok, done. Please see new PR #89


[jib-cli]: Reusable layers

Hi Team
We have started to use jib-cli and find the tool very useful. Don't know if you have any slack channel to discuss but will try to ask here.
I am wondering if jib is or is planned to support reusable layers. The idea would be to define a security layer and then share it among multiple builds within the enterprise. Like a common security layer for example... I think it is applicable on buildpacks so wondering if you plan to also introduce such feature.
thx
Tomas

Hi @tomassatka, is the common security layer your actual use case? If so, would you mind sharing more details of your project (if you can) in terms of your setup, structure, etc., (or a similar project to give details of the situation)?

Hi @diegomarquezp
Security layer was just one example of such use case.
So in that particular case it could be cacerts emitted by company that is included to all apps.
Another use cases could be agents that you can always add, for example opentelemetry for tracing, jprofiler.
The idea would be a collection of pluggable modules that could be centrally managed.
I can draw some draft of how I would imagine it
apiVersion: jib/v1alpha1
kind: BuildFile

from:
  image: foo/base-java:0.2.0

layers:
  entries:
    - name: tracing
      files:
        - src: ref://remote_layer@sha
          dest: "/opentelemetry"
    - name: security
      files:
        - src: ref://remote_layer@sha
          dest: "$JAVA_HOME/lib/security/cacerts"
    - name: envConf
      files:
        - src: "env.sh"
          dest: "/env.sh"
    - name: application
      files:
        - src: "target/app.jar"
          dest: "/app/app.jar"

cmd: ["/bin/bash", "-c", "java $JAVA_OPTS -jar /app/app.jar"]

Is that something that you consider for future?

Hi @tomassatka! Similar to @diegomarquezp, I’m curious to understand the underlying blocker / pain point you are trying to work around with this feature request.
Since layers can be specified in the jib-cli build file to point to local files as needed, what is the proposal for pulling a shared layer hosted on remote mainly to solve - simpler configuration, build time reduction across multiple builds, or different blocker that’s preventing use of jib-cli as-is?
There may be different alternatives that can be explored, depending on your use scenario. For example, to configure shared properties across builds, Jib does support creating a custom image for use as base image. If you are interested in having customized configuration of layers that Jib does not currently support, writing your own third party extension could also be an option.

writing your own third party extension could also be an option.

Unfortunately, the extension is only for the Jib Maven/Gradle build plugins.
#1877 is somewhat related, but in this case, the context is Jib CLI. Theoretically, because a layer is just a tar archive of files, a hacky workaround is a script to download and untar a layer tar, and then copy and place necessary files into some directory for Jib to pick up.

Hi @emmileaf
Happy to explain my intention on some simplified example.
Let's assume I would like to introduce an option to use tracing in our enterprise. To do that the applications devs would need to add jar & respective config file to point to server collecting the data.
By old way you would create some page and tell the teams to fetch the jar and config and add them to each team git repo. Contrary to that would be to say to use certain layer that has been pre-build and only refer to it in jib.yaml.
One way would be to say that all agents and static layers shall be part of a base image but I would see base image more like an plain alpine/ubuntu to which binaries are added by asdf/rtx. But even managing central base images for company is not manageable due to numbers of permutations required by each team. So we end up of providing a way how teams can setup base images due to their needs.
As you asked what would be the motivation, the driver would be a simpler configuration where the jib would serve as a tool to compose multiple static layers and on top place an application layer.
I was just inspired by buildpack groups..

hi @chanseokoh
In theory the layer could be something like an buildkit registry cache

Hi @tomassatka, thanks for your interest on improving Jib. Unfortunately, this is not something that we have planned or are currently planning on adding.
I'll leave this issue open so other members of the community can comment and see if this is a feature that is widely needed or has a lot of interest. For now, if you really do need this, you could always work on implementing something like this in your own fork of Jib. Thanks!


feat: parameter matrices

Description
Collected all unique inputs and outputs of the parameters to create a matrix. Then using the input output pairs found in the transitions attribute of the AMR I filled in the matrix.
https://github.com/DARPA-ASKEM/terarium/assets/28237258/5d3223df-fba9-49f0-a5c0-6c8a1c48b2fd

Per discussion

if we remove X from input we also need to remove X from the output to avoid asymmetric relations later on. Order need to be preserved
input/output do not form product relations, e.g. they are like parallel arrays.