Make the healthcheck flags compatible with Docker CLI

Docker CLI calls the healthcheck flags --health-*, instead of
--healthcheck-*. Introduce the former, in order to keep compatibility,
and alias the later, in order to avoid breaking current usage.
See discussion on #3455.

/ok-to-test
/approve

Inside of cobra they explain how to do this.
Example #2: You want to alias two flags. aka --old-flag-name == --new-flag-name
func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName {
	switch name {
	case "old-flag-name":
		name = "new-flag-name"
		break
	}
	return pflag.NormalizedName(name)
}

myFlagSet.SetNormalizeFunc(aliasNormalizeFunc)

Thanks @rhatdan! That's what I was looking for.
I've updated the PR to use aliases instead.
Varlink and GenericCLIResults were not changed, but I'm not entirely confident, that I understand those parts correctly, so let me know if those also need a change.

Slight touchups needed on the manpages, otherwise LGTM

@csomh Mind rebasing? There are fixes for test failures on master

@mheon some are still failing. Would it make sense to rebase onto the latest green commit instead?

Checking, let me see if we're looking at flakes or real failures

[+2083s] panic: unable to find generic flag for varlink health-cmd
[+2083s]
[+2083s] goroutine 1 [running]:
[+2083s] github.com/containers/libpod/cmd/podman/shared.GenericCLIResults.Find(...)
[+2083s] 	cmd/podman/shared/intermediate_varlink.go:433
[+2083s] github.com/containers/libpod/cmd/podman/shared.GenericCLIResults.MakeVarlink(0xc000390330, 0xc0003fd770, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
[+2083s] 	cmd/podman/shared/intermediate_varlink.go:107 +0x64b1
[+2083s] github.com/containers/libpod/pkg/adapter.(*LocalRuntime).Run(0xc0000ae048, 0x1a709a0, 0xc0000aa018, 0x2a07080, 0x7d, 0x0, 0x0, 0x0)
[+2083s] 	pkg/adapter/containers_remote.go:463 +0x77
[+2083s] main.runCmd(0x2a07080, 0x0, 0x0)
[+2083s] 	cmd/podman/run.go:60 +0x164
[+2083s] main.glob..func29(0x29a4180, 0xc0003fd770, 0x2, 0x3, 0x0, 0x0)
[+2083s] 	cmd/podman/run.go:23 +0x86
[+2083s] github.com/containers/libpod/vendor/github.com/spf13/cobra.(*Command).execute(0x29a4180, 0xc0000b4020, 0x3, 0x3, 0x29a4180, 0xc0000b4020)
[+2083s] 	vendor/github.com/spf13/cobra/command.go:826 +0x465
[+2083s] github.com/containers/libpod/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x29a9900, 0xc00009ccf0, 0x7fffb074ded9, 0x3e)
[+2083s] 	vendor/github.com/spf13/cobra/command.go:914 +0x2fc
[+2083s] github.com/containers/libpod/vendor/github.com/spf13/cobra.(*Command).Execute(...)
[+2083s] 	vendor/github.com/spf13/cobra/command.go:864
[+2083s] main.main()
[+2083s] 	cmd/podman/main.go:147 +0x88

I think we might have a real panic here

Of course we had... un-did the changes in MakeVarlink().

Last failure looks like a flake, restarted

Command completions in contrib/bash/podman also need to be updated.

Do you mean completions/bash/podman?
--health-start-period was added to that one (the other --health-* flags were already there), and --no-healthcheck removed, as it's currently not an option in podman (--health-cmd=none might mean the same :confused:)
I did not update completion with the --healhtcheck-* variants, as I think this would make completing --health confusing (would bring up both variants, users might be confused which one to use), and might lead to users crafting incompatible commands as a result.
Let me know if you think otherwise.

Good on the completions. I agree on not exposing --healthcheck* at all.
Bottom line is remove it from being exposed anywhere but support it if a user used it within a script.

Removed --healthcheck-* from the docs and updated all the tests to use the documented flags.

/retest

/retest

@rhatdan @mheon could you please help me to re-run the failing tests? They don't seem to be related to the changes made. Prow does not seem to listen to my commands. Thanks!

Restarted them both - looked like known flakes

LGTM
@baude @mheon @giuseppe @vrothberg @ashley-cui @QiWang19 PTAL

LGTM and happy green test buttons.  TYVM @csomh !

Merging
/lgtm


AnfConverter flattens user defined blocks

ANF converter creates blocks internally and flattens these out. But in the process, it flattens user defined nested blocks also, which is incorrect.

Fixed by 6a82e976ac613671a1af0e044649cf098cfd49d1.


Platform as a service

Describe your changes
Added the new term Platform as a service.
Related issue number or link (ex: resolves #issue-number)
https://github.com/cncf/glossary/issues/3036
Checklist before opening this PR (put x in the checkboxes)

[x ] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x ] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

This PR is to add a new file content/en/paas-platform-as-a-service.md,
and the PR #3218 is to update existing file content/en/platform-as-a-service.md.
I suggest to close this PR and keep #3218.

Hi @jihoon-seo , sure. I will do it.
Thanks.

Closing this, have raised the PR https://github.com/cncf/glossary/pull/3218 for same.


High Network usage over 40 mbit!

If network bandwidth is less than 40 mbit, xfreerdp dont work well.
I tried 2015-11, 2016-07 and latest versions. I dont know exactly git commit but both version doesn't work good under 40mbit.
The strange part is: i'm watching with network monitor it doesnt really use this much. Without Video & Audio Xfreerdp using under 1mbit for real!
But when i limit network to under 40 mbit, just doesnt work well!!!
*Microsoft can work with 3mbit with Video & Audio.

I'm using Raspberry Pi 3 with this config:
My config="-sec-nla /cert-ignore +compression /f /drive:test,/mnt +auto-reconnect +wallpaper -window-drag -menu-anims +fonts /multimedia /sound:sys:alsa,format:1,quality:high +async-input +async-update"
I tried almost all parameters, and only this config works if connection ++40mbit.

How can i pull usage under 5mbit?
I will try anything for you, just let me know.

you need to use gfx or h264 options, but they are currently software decoding only. this means 720p at most on a raspberry, maybe less with smooth video.

@morphinz You may want to try #3619. It fixes some performance bottlenecks with /gfx related modes.

@morphinz what server are you connecting too? - Depending on the codec and available bandwidth the server (tries) to choose a proper setting. If there is bandwidth available it will be used when required. However you can limit it by using the /network option (this might also influence the codec used from the server). The following options are available:

modem
broadband
broadband-low
broadband-high
wan
lan
autodetect, auto, detect

If it's a rather resent server also try enabling the echo channel with /dvc:echo.

You can also try with /rfx. It has full quality image and should cost less than 20mbit

closing due to lack of feedback.

I did some test with the big buck bunny 720p with VLC windowed (my screen is 1920x1080 or 1600x1200 or 1280x720) :

with FreeRDP (linux) : network usage with a 2016 srv is near 17Mbit/s to 40Mbit/s with FreeRDP git.
If I test from a Win10 rdp client to the 2016 srv, network usage is between 5Mbit/s to 10Mbit/s.

The switch /network does not seem to do anything for me except with /network:modem where theme disappear, but network usage get the same.
command line used :
/usr/local/bin/xfreerdp /sec:rdp /sound:sys:alsa,format:1,quality:high /gfx /v:myserver /u:myuser /p:mypass /f /network:broadband-low /multimedia:sys:alsa,decoder:gstreamer -bitmap-cache /dvc:echo
/usr/local/bin/xfreerdp /sec:rdp /sound:sys:alsa,format:1,quality:high /gfx /v:myserver /u:myuser /p:mypass /f /network:broadband-high /multimedia:sys:alsa,decoder:gstreamer -bitmap-cache /dvc:echo
/usr/local/bin/xfreerdp /sec:rdp /sound:sys:alsa,format:1,quality:high /gfx /v:myserver /u:myuser /p:mypass /f /network:wan /multimedia:sys:alsa,decoder:gstreamer -bitmap-cache /dvc:echo
/usr/local/bin/xfreerdp /sec:rdp /sound /gfx /v:myserver /u:myuser /p:mypass /f
/usr/local/bin/xfreerdp /sec:rdp /sound /rfx /v:myserver /u:myuser /p:mypass /f

I also tried with a limited network bandwidth (10Mb/s) and it's using all the available link, video lag but it's nearly ok, sound is good.
Could FreeRDP use less bandwidth ? If yes, how can we do ?

I'm seeing substantial bandwidth usage on my end too, and I'm not even doing audio redirect. I'm just scrolling up and down a graphically rich page and the xrdp server is sending at 60mbit at peak. Considering the content that's ludicrous how much bandwidth is being used. Such a default is completely intolerable for multi-user implementations, especially over the internet!
I am unsure if it's the client, or server, but so far I have not found a way to cut down the bandwidth used.

@BloodyIron what do you get when you connect with mstsc instead of xfreerdp ?

I get a similar amount of bandwidth usage. I haven't been able to find any parameters to bring the bandwidth usage down, so at some point here I'm going to revisit what protocol version is being used on the server-end (xrdp + x11rdp).
What kind of bandwidth usage are you folks seeing? When you scroll down a graphically rich page (images, not videos).
The bandwidth used doesn't seem to change much between bit rate (bpp) or resolution.

I already tried everything guys, There is no  solution...
Now I'm using Spice.  Redirection and Video quality better and spice can work under 1 mbit.
BTW The config (coneection parameters) was the best quality & Network usage.
config="-sec-nla /cert-ignore +compression /f +auto-reconnect +wallpaper -window-drag -menu-anims +fonts /multimedia /sound:sys:alsa,format:1,quality:high +async-input +async-update"
Also you can try these 2 config either.
OK_config="-sec-nla /cert-ignore +fonts +compression /f +auto-reconnect /gdi:sw +wallpaper -window-drag -menu-anims +fonts +glyph-cache +async-channels +async-transport +async-input +async-update /clipboard /audio-mode:0 /sound /log-level:INFO"
xfree_git-config="-sec-nla /cert-ignore +fonts +compression /f +auto-reconnect /gdi:sw +wallpaper -window-drag -menu-anims +fonts +glyph-cache +async-channels +async-transport +async-input +async-update /log-level:INFO"

@BloodyIron so I guess this is an issue that should be addressed to the xrdp project then

For test from @roms2000, it is expected to have 17Mbit/s to 40Mbit/s network usage when connecting to win2016 or very updated win10 with xfreerdp because /gfx doesn't actually take effect and it is fail back to clear codec or RFX.
It seems win2016 removed support for AVC420 in gfx, but we can enable AVC444 with proper group policy.
Try /gfx:AVC444 instead of /gfx. If it still use 17-40Mbit/s, try to consult some documentation from $MS to enable AVC444 encoding.

Considering all this bandwidth usage, how exactly is this normally achieved for lots of people accessing over the internet?

Is there a fix for this issue? Anyone solved this problem?

@moiseiisus properly configure your server so that it does not send plain bitmap data ;)
other than that, use /gfx:avc444 /rfx /network:auto to help the server decide bandwidth and quality.

@moiseiisus properly configure your server so that it does not send plain bitmap data ;)
other than that, use /gfx:avc444 /rfx /network:auto to help the server decide bandwidth and quality.

So, what should I do to configure my server 2012R2/2016 properly? Is there any manuals?

Found similar situation, how should i configure freerdp-server to not send plain bitmap data ?

@moiseiisus properly configure your server so that it does not send plain bitmap data ;)

@yuanzhanghu join IRC or send a mail to the mailing list detailing your setup. Without any information it is just guessing. (assuming you have followed the advice for the client options)

@yuanzhanghu join IRC or send a mail to the mailing list detailing your setup. Without any information it is just guessing. (assuming you have followed the advice for the client options)

Dear @yuanzhanghu, what mailing list should I send the message?


Update pandas sort syntax for integration/rnaseq/test_ericscript.py

Although a tiny fix, it helps to get all test in  integration/rnaseq/test_ericscript.py finish successfully :)
The next thing is to get CheckDB.R  of the original ericrscipt  to work correctly with bcbio_nextgen bwa version. The file is in here: samtools0/share/ericscript-0.5.5-1/lib/R/CheckDB.R

Vang -- thanks much for the fix. It looks like the tests failed for an unrelated Docker reason.
For the CheckDB.R problem, I think we should do change line 36 from:
  if (curr.version.bwa != prev.version.bwa) {

to
  if (FALSE) {

so it never does an inplace update. If this works for you we can incorporate into the bioconda recipe.
Thanks again.

@chapmanb The whole R script as a whole doesn't do much, and I don't know the reason to write it in R, probably for better portability, or to work with other R scripts. Anyway, what works for me to to comment out line 31 - line 58. You can make a patch to comment the lines in the bioconda recipe.

Vang -- thanks much, I pushed this fix to the bioconda recipe so a tools update should get the fixed version. Please let me know if you run into any other issues at all. We're planning to use this on a bigger project for more testing and appreciate you working through any issues you're hitting. Looking forward to hearing how it performs.


[BUG] PDSH launcher doesn't support custom args

Describe the bug
Similar to #1924, but for PDSH launcher
PDSH launcher doesn't use the "--launcher_args". Hence not able to pass additional arguments to PDSH.
To Reproduce
Steps to reproduce the behavior:

Pass _--launcher_args "-x -y -z" with PDSH launcher
Check the logs from the run
The pdsh launcher is invoked without "-x -y -z"

Expected behavior
The pdsh launcher is invoked with "-x -y -z"
ds_report output
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
cpu_adam ............... [YES] ...... [OKAY]
cpu_adagrad ............ [YES] ...... [OKAY]
fused_adam ............. [YES] ...... [OKAY]
fused_lamb ............. [YES] ...... [OKAY]
 [WARNING]  please install triton==1.0.0 if you want to use sparse attention
sparse_attn ............ [NO] ....... [NO]
transformer ............ [YES] ...... [OKAY]
stochastic_transformer . [YES] ...... [OKAY]
async_io ............... [YES] ...... [OKAY]
utils .................. [YES] ...... [OKAY]
quantizer .............. [YES] ...... [OKAY]
transformer_inference .. [YES] ...... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/usr/local/lib/python3.8/dist-packages/torch']
torch version .................... 1.12.0a0+git664058f
torch cuda version ............... 11.3
torch hip version ................ None
nvcc version ..................... 11.3
deepspeed install path ........... ['/usr/local/lib/python3.8/dist-packages/deepspeed']
deepspeed info ................... 0.7.3+7f8f004f, 7f8f004f, graceful_exit_v0.7.3
deepspeed wheel compiled w. ...... torch 1.12, cuda 11.3

Screenshots
If applicable, add screenshots to help explain your problem.
System info (please complete the following information):

OS: Ubuntu 20.04
GPU count and types:  two machines with x8 A100s each
Interconnects (if applicable):
Python version: 3.8.10
Any other relevant info about your setup:

Launcher context
PDSH
Docker context
Additional context
Add any other context about the problem here.

@loadams Confirming the fix works. Thanks


Image support, Link support

Hello. Images and links are also being prepared. please wait a little longer.

@ps6067966
Added a tag and img tag. See how to use it in the example.

@ps6067966
Added a tag and img tag. See how to use it in the example.


Remove impl_index_newtype macro

This macro is no longer needed since we bumped MSRV to 1.29.
We can implement SliceIndex to get the Index implementations.
Idea shamelessly stolen from @elichai in this comment.

Great work! I completely forgot about this :)

I just found that we do the same thing in bitcoin_hashes. Is it better to leave the delarative macro in there and just change its implementation to use SliceIndex instead?
/// Adds [`core::ops::Index`] trait implementation to a given type `$ty`.
macro_rules! impl_index_newtype {
    ($ty:ident, $inner_ty:ty) => {
        impl_index!($ty, $inner_ty, );
    };
    ($ty:ident, $inner_ty:ty, $($gen:ident: $gent:ident),*) => {
        impl<I: $crate::core::slice::SliceIndex<[$inner_ty]>, $($gen: $gent),*> $crate::core::ops::Index<I> for $ty<$($gen),*> {
            type Output = I::Output;

            #[inline]
            fn index(&self, index: I) -> &Self::Output {
                &self.0[index]
            }
        }
    }
}

Similar to https://github.com/rust-bitcoin/bitcoin_hashes/pull/142

After a bit deeper analysis, my thoughts:

What these macros actually do  is they delegate things to .0 field.
There may already exist a good delegation crate or we could separate them to their own
Our newtype macro could just call the delegation macro
Perhaps newtype macros could be reasonably public too? I also wanted to write my own newtype crate with other things not sure if good to merge.
Maybe this doesn't matter because the code is trivial and there's little point in sharing it. As much as I'd love to make lives of other people easier by providing a good general-purpose crate we have only limited time. :(

KISS :)
I agree that it'd be cool to have a "delegate to newtype" macro. This is maybe something we should address as part of #804 when we move to proc macros. But for now, this PR is really straightforward and I don't think the amount of duplicated code here is enough to justify anything too crazy.

As suggested in the bitcoin_hashes PR lets keep the inline implementations of SliceIndex and remove the macro all together. So this one is good to go, will change the other one.

I'm good with merging before 0.28, but it needs a rebase.

Force push is rebase only, no other changes.

Changes in force push:

Change PR to implement Index instead of SliceIndex. This is functionally almost identical because the inner types use SliceIndex to implement Index in the stdlib. It does make the code less surprising to read.
rebase on master

Also edited the PR description.

Cheers @Kixunil, I learned a few things doing this one :)

Sorry to be rude; re-requested reviews to expedite the taproot release :)


Cannot run simulations with Float32

Describe the bug
In ClimaTimesteppers, the float type of the time t is Float64. In several places, we require the type of the time variable and the underlying type of the state vectors to be the same. We need to relax this. We also need to change functions where we prescribed driving data as a function of time, so that whatever is returned is converted to the right type.
Close https://github.com/CliMA/ClimaLSM.jl/issues/229 at the same time
See https://github.com/CliMA/ClimaCoupler.jl/issues/396 for discussion with more details

Can you provide a MWE? I thought that ClimaTimesteppers inherits the float type.

hey Charlie! That was our assumption too, which is why we built this in. but see this discussion:https://github.com/CliMA/ClimaCoupler.jl/issues/396

🎉

🎉 !!


Parsing information for qere

I assume there's no parsing information for qere variants, is that right? Like part of speech, number, gender, etc.

Just fyi, if you don't need to stick to the ETCBC corpus, I'm pretty sure that morphhb has parsed ketiv and qere variants and that STEPBible exposes this data. You'd probably be able to find it here: https://github.com/tyndale/STEPBible-Data

Thanks @jcuenod ! good tip

@rubiot , as you probably found out already, the ETCBC data parses only the Q reading not the K writing. If you need K parsing @jcuenod's tip is great.

Thank you @jcuenod and @oliverglanz for the help. I appreciate.


git run --animation=bloom does nothing.

It immediately returns without a message.

What?? That's supposed to do something?
Why would git run do anything?
Since when do we have --animation?

Oh... I forgot about --animation. But I'm assuming you meant bibliopixel run --animation=bloom

Well, by my way of thinking it should use the default device, default
layout, default path and default LEDtype and run the animation bloom.  :-D
But it should never do nothing at all!  Some sort of message at least:
"Nothing to do."  :-D
On Thu, Jun 29, 2017 at 12:52 PM, Adam Haile<EMAIL_ADDRESS>wrote:

Oh... I forgot about --animation. But I'm assuming you meant bibliopixel
run --animation=bloom
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/257#issuecomment-311931709,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdsl72BTm8Yoc52Cr9uikl3Ic-voFfks5sI4HSgaJpZM4OJIbj
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com


Support configuring shared local servers per project

Some of the projects I develop require sharing multiple local server ports for the guest to successfully access my local instance of the application on their machine. To make this process more straightforward it would be helpful to be able to save a set of shared local servers on a per-project basis that would either be automatically shared or shareable via a single command.

@diminutivesloop Great suggestion! One way we could enable this is via a file (say vslsconfig.json) that would allow you to set per-project/folder settings including this.  The file could then be committed to source control as well for use team wide if desired.  Would that meet the need in your view?

We haven't heard significant demand for this, and we already auto-share servers when you start them, so I'm going to close this enhancement for now. We did the auto-sharing work after this issue was initially filed, and so it would be great to revalidate that we still need it. If so, please feel free to re-open it. Thanks! 👍

There were two issues created related to this issue so I'm not going to create another one. This and #3207 they are both closed.
The proposed solution doesn't work for me. The live share auto grabbing shared servers sometimes work for web servers but most of the time doesn't work for back end services which I have multiple of. I would love to have the config file or VSCode workspace settings "liveshare.autoForwardedServers" or something like that.


solved issue#96

the navbar items all line up properly now.

something like this?

added the above changes to the player
please approve

hey, when will it get merged? I need it for hacktober fest

@samratghosh291 da, please look into it


how to set MTU

How do I request larger MTU?
How do I see what is currently MTU?

FYI Looks like this project hasn't been updated since 2016!
Seems it's been forked and updated with some MTU stuff:
https://github.com/liuxiaoy/cordova-plugin-bluetooth
(it set MTU when config a characteristic for notification (why?), but doesn't provide a way to read current MTU)
Note to switch to updated version:
cordova plugin rm cordova-plugin-ble
cordova plugin add cordova-plugin-bluetooth


WPF not working on Intel Iris graphics card

I'll be posting here as reference and information to whom is facing issues trying to open VMFOSD Voicemeeter Fancy OSD.
It seems WPF (which VMFOSD relies on) using DirectX9 cannot run applications using new generations (11th / 12th gen) of Intel processors with Iris GPU (which does not support DX9 natively).
When you try to open VMFOSD through Intel GPU nothing happens.
Here are some usefull information about:
https://community.intel.com/t5/Graphics/3D-rendering-issue-on-12th-gen-Intel-Core-i3/m-p/1407118/highlight/true#M109118
https://community.intel.com/t5/Graphics/Graphics-failure-with-WPF-3D-content-and-Iris-XE/td-p/1415196
https://github.com/microsoft/D3D9On12/issues/52
https://github.com/dotnet/wpf/issues/7076

Does program not starting at all? Or it's just UI is not displayed? If program is able to run I suggest to change/add RenderMode = SoftwareOnly under [Program] section in
PROGRAM_FOLDER/config/config.ini.

Does program not starting at all? Or it just UI is not displayed? If program is able to run I suggest to change RenderMode = Default to RenderMode = SoftwareOnly under [Program] section in PROGRAM_FOLDER/config/config.ini

It doesn't start. It just gets killed. Even using RenderMode to SoftwareOnly.

Try to disable hardware acceleration globally https://learn.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/graphics-rendering-registry-settings?view=netframeworkdesktop-4.8#disable-hardware-acceleration-option
The problem is that the RenderMode is changed at runtime. If It doesn't even start I'm not sure If I can make any workarounds. If disabling hardware acceleration helps, then maybe I can make the program use SoftwareOnly in the beginning of runtime and then switch to correct mode according to config.
Have you tried both VoicemeeterFancyOsd.exe and VoicemeeterFancyOsdHost.exe?

Try to disable hardware acceleration globally https://learn.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/graphics-rendering-registry-settings?view=netframeworkdesktop-4.8#disable-hardware-acceleration-option The problem is that the RenderMode is changed at runtime. If It doesn't even start I'm not sure If I can make any workarounds. If disabling hardware acceleration helps, then maybe I can make the program use SoftwareOnly in the beginning of runtime and then switch to correct mode according to config. Have you tried both VoicemeeterFancyOsd.exe and VoicemeeterFancyOsdHost.exe?

I did try the register to disable hardware acceleration. Doesn't work.
I have tried both .exe... still nothing.
It only works IF I do this:
1 - Windows Settings / System / Display / Graphics / add VoicemeeterFancyOsd.exe and VoicemeeterFancyOsdHost.exe to use NVIDIA RTX 3050;
2 - Windows Settings / System / Display / disable the notebook internal display (which is handled by Intel Iris);
3 - Windows Settings / System / Display / use external display from HDMI port (which uses NVIDIA RTX 3050).
But I need both display monitors for my daily use...

Maybe you could try this at code level:
https://community.intel.com/t5/Graphics/Graphics-failure-with-WPF-3D-content-and-Iris-XE/m-p/1417581/highlight/true#M110056
"...
Until a permanent solution from Intel or Microsoft arrives, I can suggest the following workarounds:
Solution in code:
Enter the following setting in the xaml code of your Window:
RenderOptions.EdgeMode="Aliased"
..."
I have try the others suggestions from there.

More reference from ModernFlyouts:
https://github.com/ModernFlyouts-Community/ModernFlyouts/issues/1066
https://github.com/ModernFlyouts-Community/ModernFlyouts/issues/1060

VoicemeeterFancyOsd-x64-<IP_ADDRESS> iGPU-workaround.zip
This is version with "Aliased" option. If it works I will need to implement option in main branch.

VoicemeeterFancyOsd-x64-<IP_ADDRESS> iGPU-workaround.zip This is version with "Aliased" option. If it works I will need to implement option in main branch.

Didn't work....
I'd trying bothe .exe, try change config rendermode to softwareonly, even try to turn off windows defender.
Still nothing...
Anyway, thanks for that, I really,really appreciate it.

This version should display several dialogs windows while program initialization:

Program start
WPF thread start
WPF startup
WPF startup finished
If none are displayed then I assume Microsoft broke something in .NET/WPF/Windows
VoicemeeterFancyOsd-x64-<IP_ADDRESS> DEBUG.zip

Hey buddy, thanks for keep trying.
Running this version, this is what I got:
Program start
WPF thread start
WPF startup
After that, the program is killed, vanished, disapears.

VoicemeeterFancyOsd-x64-<IP_ADDRESS> DEBUG2.zip
There a gonna be other dialogs now.

VoicemeeterFancyOsd-x64-<IP_ADDRESS> DEBUG2.zip There a gonna be other dialogs now. Try to check both normal exe and *Host.exe

This is what I got:
WPF startup
DPI helper init
Tray icon init
And it's gone.
Did try both exe files as usual.

This is very unexpected. If there is problem with Tray Icon it will be hard to fix because it relies on 3rd party dll.
VoicemeeterFancyOsd-x64-<IP_ADDRESS> DEBUG3.zip
Try this, most likely there will be no tray icon and you will need to kill the program manually

This is very unexpected. If there is problem with Tray Icon it will be hard to fix because it relies on 3rd party dll. VoicemeeterFancyOsd-x64-<IP_ADDRESS> DEBUG3.zip Try this, most likely there will be no tray icon and you will need to kill the program manually

Cool.
Yep, no trayicon.
I didn't need to force close the program from Task Manager.
This is what appears:
Tray icon init
TrayIcon InitializeComponent
and the process is over.

VoicemeeterFancyOsd-x64-<IP_ADDRESS> replaced tray lib.zip
I found replacement for Tray icon library, check if this version working.

VoicemeeterFancyOsd-x64-<IP_ADDRESS> replaced tray lib.zip I found replacement for Tray icon library, check if this version working.

Sorry for late response.
I did run this one, both .exe, nothing shows, nothing seems to happen...
Thanks for keep trying, you are great!

use the Arc/Iris Xe driver instead of the DCH driver.

Hey @A-tG is working now with current version. Also I did what you say here: https://github.com/A-tG/VoicemeeterFancyOSD/issues/34#issuecomment-1634445827
I'm very happy to be able to use it again, after so many months!
Thanks dude


shields -> dependencies broken

in README.md...
<!--@shields('dependencies')-->
<!--/@-->

results in...

Error: Failed to execute template code at line 5 with 'dependencies shield is not supported'
    at /Volumes/5T/ServiceData/node/need/node_modules/mos-plugin-ejs/dist/index.js:65:23

Try deps
<!--@shields('deps')-->
<!--/@-->

Here are the currently available shields. The keys are the shield names

@zkochan  yes, i realized shortly thereafter... however the docs need to be fixed...

Add this code snippet to your README.md

<!--@shields('travis', 'dependencies')-->
<!--/@-->


@ApiParam - override super class params

Greetings, I am really new to Swagger API and have some trouble here
Let's say I have two filter classes:
public class SimpleFilter {
    @ApiParam(value = "The page number, by default it is set to 0")
    private Integer page = 0;
    @ApiParam(value = "The size of the page, by default it is set to 20")
    private Integer size = 20;
    @ApiParam(value = "The field name based on which the results are ordered")
    private OrderBy order_by;
    @ApiParam(value = "The order of sorting, available values are 'asc' and 'desc'")
    private OrderByDirection order_by_direction;
}

public class AnotherFilter extends SimpleFilter {
    @ApiParam(value = "Another Order By")
    private AnotherOrderBy order_by;
}

In docs it generates order_by field twice, with OrderBy values and with AnotherOrderBy values
I am using it with JHipster generator,
Swagger version - 1.5.6

Can you please upgrade to 1.5.9 to see if the issue persists?

I believe this is addressed.  Reopen if you still see issues.


Fix Issue 21853 - std.format: formatting real.max in CTFE fails

A copy of #8001. The bot had not noticed my forced push, so I tried to restart the testers with closing and reopening, but I'm not allowed to reopen now, because there are forced pushes...
I had to remove windows from the unittest due to issed 20972, hence to forced push.

Found a way around the windows bug. That's better, because now it fixes the issue also for those computers.

This is good to go now. phew


Parse reloc sections.

The structure is described in this proposal. Rust can be used to create such modules by using a recent nightly that uses lld for the wasm32-unknown-unknown target and setting RUSTFLAGS = '-C link-arg=--relocatable'.
That said, this is not so useful without also parsing the linking metadata section described in the same doc. I implemented this one first and was going to implement that one next, but the design changed quite a bit as recently as two weeks ago so the section that Rust's version of lld emits is very different from what the document describes.
Given that all this relocation-related stuff is not finalized / standardized yet, I'll understand if you don't want to merge this as of this time. You can close it if you want.

Thanks!
Looks good, though I'll probably take some time to look into specification of this custom sections
Also binary examples and tests against them would be good

I was going to add to the roundtrip example as well, but it's producing a binary that's 8 bytes shorter than my test binary even without my changes (in the code section AFAICT). So I'm investigating that first.

False alarm. lld decided to encode two instances of i32.const 0 as 0x41 0x80 0x80 0x80 0x80 0x00, which parity-wasm round-trips as 0x41 0x00

I've added a .wasm for a test, but wasm2wat can't emit custom sections so I can't add the corresponding .wat. Should I just add the Rust source I used to generate it?

@Arnavion Cool, it's ok without .wat for this matter

@Arnavion thanks, i've browsed the spec and happy to merge


Push command line url parameters to lowest precedence.

This change pushes the command line url parameters to the lowest possible precedence so that DOTNET_* environment variables (e.g. DOTNET_Urls) can override them.
cc @wiktork

/backport to release/6.0

/backport to release/6.x


M-03.05 Public private flashcards

This is a pull request to add M-03.05 Public/private flashcards to the development branch. This merge adds the functionality for a card to be set as public or private within mentat. When a card is created, an owner is set on that card and the user creating the card can choose if the card is public or private. Private cards can only be edited by the owner. Public cards can be edited by the owner, or if another user edits the card it creates a new card with the new user as the owner. Only the owner may delete a card. The IsPrivate attribute was added and the IsCustom attribute was hidden for users.

I haven't thoroughly gone through all of the code associated with this PR, but I do have a few important points to bring up.

Creating flash cards that are not marked as private are owned by @mentat (which appears to function as intended). However, this gives users the capability to flood your main database with garbage that nobody without administrator permissions can remove.

The above issue also applies when editing a field on any card that isn't the isPrivate.

Unowned cards can be claimed by a user by changing their values. This issue is probably exclusive to legacy cards, and could be fixed by claiming all orphaned cards with @mentat

Cards cannot be deleted unless they have isPrivate flagged. Why am I required to go through this step on my own card?

Private cards are visible to all users but cannot be copied. What is the purpose of a private card if others can SEE my card but cannot copy it if they want a copy.

@jacksonmcafee Thank you for reviewing the code. I think that for some of your observations there is code that conflicts between two implementation ideas which must have made it into our pull request which is where the owner being Mentat would come from. That would be the reason for the second and third point you commented. This would need to be fixed.
For the fourth point about legacy card being claimed when edited by a user when they did not have an owner is a known behavior which resulted from the way the checks when saving a card are written. This should only occur when editing legacy cards which I deemed as okay as something would need to happen with them one way or another.  This should never happen with a newly created card.
A copy button should be added as it would make the system much more usable. We did not consider that the rules for how a card is edited need to be reflected in the UI to make the rules more apparent. Flash cards should be hidden when they are set to private. You are correct in this, but that was not implemented by our team.
The reason the isPrivate flag was supposed to be set as true when deleting a card was that this was intended as a check to prevent a card from being deleted when the card was in a collection. This was mostly a placeholder check which was intended to be changed when the code was combined with the card collections code and I neglected to flag this in a comment. One thought I had about this was that you could use an inode/counter style attribute in a card to track how many times a card is referenced in a collection and only allow it to be deleted when that number is less than or equal to 0, but that definitely would need more work to be implemented. If I am being honest, it might make more sense to rework most of this privacy system than to implement that functionality, or if a future team is in charge of implementing this and the card collection system together, that might be something for them to figure out.


Check "permanently delete" automatically by pressing shift + Del

I wasn't sure if publishing it as a bug, I think before it was already automatically checked with shift + Del, I don't remember, that's why I put it as a feature request

@gave92 It looks like the pull request to add recycle bin broke this feautre.

I'm looking into this


Convert components to functions

In this diff I converted all (except Router and Route) class components to functions with Lifecycle util.
As a result react-router-dom bundle is reduced with 1kB and the bundle with the following entry point is reduced from 16.5kB to 13.9kB.
import { Route } from 'react-router-dom';
console.log(Route);

Eye analyses of prettified result shows the following artifacts

webpack runtime
path-to-regexp
create-react-context
react-is
Router.js
matchPath.js
Route.js
RouterContext.js

So Route.js and Router.js are components which always appear in user code. There's no reason to treeshake them. All other modules are their dependencies.
v5 optimisation strategy

remove create-react-context
try to convert path-to-regexp to esm
remove React.createContext checks in Route and Router
convert Route and Router to function components

This should make project fully treeshakable and quite small.
What do you think guys? Will this work for you?
/cc @mjackson @billyjanitsch

Thanks for your work here, @TrySound. Can you please help me understand why webpack is not able to tree-shake JavaScript classes? I've been doing some research this morning, but haven't fully figured it out yet.

I don't know.
Rollup is not able to treeshake them because of transpiled class iife. It's not easy to infer class from it.
Terser could eliminate it with pure annotation, but seems like it doesn't look deep and removes only classes without dependencies. Dependants are left untouched.
So the solution is go with actual treeshakability (not terser's dead code elimination) and rely on bundlers in it. But this is possible only with functions.
Fire classes everywhere! :)

From what I know - classes can be tree shaken just fine, the problem lies in transpiled classes WITH static properties. Without statics properties those transpiled IIFEs can be removed thanks to #__PURE__ annotations added by babel@7
I've written an issue about it once and wanted to make a blog post out of it later but never got time to do it, it's still there though https://github.com/bvaughn/react-virtualized/issues/889 . So if you are interested in reading a little bit more about this you might take a look at my writeup there, it might be a little bit chaotic though - so sorry about that in advance 😅

@Andarist I found that pure annotations are not considered deeply. Dependants (event with pure annotations) are left in minified bundle.

AFAICT @Andarist is correct; webpack is able to eliminate dead code just fine as long as we use the #__PURE__ annotations added in Babel 7, which we do. I did a bunch of research here and came to the same conclusion: the problem is adding static properties to classes.
I believe I removed the last of the static properties in 9d278b4b110f38479725fe5a1104990c2f3e76c2 when I removed support for the old context API. We always told people to not use our context API directly, so I do not consider this a breaking change.
Anyway, I don't think we need this anymore. But thanks for the PR.


Someone know how to fix this?

This might be unrelated to Youtube center, but I am not sure.
My subscriptions new video list is not updating, even though I have watched the videos. The video count still remains at "1" or more, even though videos have been watched.
I have tried clearing cache, etc, and also used different browsers, but the number does not go away.
If I unsubscribe and then subscribe again, then the number becomes 0 or none, but if a new video is uploaded, the same issue happens again.

Anyone know how to fix this?

It is a YouTube problem, not YTC, and I don't know if it can be fixed.


RGI05 Connectivity levels need to be added to GLIMS

Trello card: https://trello.com/c/Jdb7ILyk

Done. Thanks @bruceraup !


ensure existence of default preset

based on a discussion in discord, it seems like there can be a few factors that prevent people from even knowing that vbm includes a sane-ish default preset - one being the Exists bug, but also plenty of people who have been using the plugin for a long time have gotten grandfathered in to the older, shittier system where we had two separate default presets, or no default at all. and since PresetDatabase would only seed the default if the preset file was missing entirely (which, for any existing users, it wouldn't be), the vast majority of those users never found out that these defaults existed.
in this PR, i ensure that we always load the default presets, which i renamed to VBM Default to clarify what it is and because i already have my own Default that i'm using. i also added an option to hide it from the UI, since power users probably won't want it.
here's how it looks if you try to edit the default:

tooltip for the delete button:

Good stuff, i'll probably replace name-based criterion with some explicit 'is system' flag on a preset, as I don't want to think of what would happen if user would call his custom preset "VBM Default" for shits and giggles.


BUG-> Image Carousel Slider not working Properly

Describe the bug
Image Carousel Slider not working Properly
Expected behavior
-Display of Relevant images
-User should be able to use the Image Slider.
Screenshots (Mandatory)

Additional Context (Mandatory )
Are you contributing under any open-source program ?
-GSSoC'24

@HishitaGupta this issue has already been solved


Straightening fails on Linux

On branch bdl_test_straightening, isct_ANTSLandmarksBSplineTransform outputs a wrong warping field, while it works fine on OSX. The resulting image is terrible (t2 from sct_example_data):

It is not a issue of dependences because the two system have the same installation of Python library, conda, ITK/VTK and ANTs.

that looks like a wrong pairing of labels (e.g., 1-2-3-4 versus 1-4-3-2).

I've compared and they are good and well paired. Same labels on linux and osx.

It seems like ending vector is quite too big:

And thie reason is that euler transform is not the same on linux and osx:
OSX:

Linux:

ITK transform on:
OSX:

Linux:

Note that ITK optimizers are using vnl optimizers and they are probably different on OSX and Linux...

Made some improvements. Incremental integers are not completely the same between linux and osx compiler:
before:
// Place points in the point sets
curved->SetPoint(pointId, pC);
curved->SetPointData(pointId, pointId);
straight->SetPoint(pointId, pS);
straight->SetPointData(pointId, pointId++);

After:
// Place points in the point sets
curved->SetPoint(pointId, pC);
curved->SetPointData(pointId, pointId);
straight->SetPoint(pointId, pS);
straight->SetPointData(pointId, pointId);
pointId++;

Results on
Linux:

OSX:

There is still a difference, but at least straightening is working on linux.

There is actually no differences between OSX and Linux now:
Linux:

OSX:

The issue is fixed.

BRAVO :+1:

Fixed in commit c0f399ab41c802832216984d83a5a2af799d9602


build: latest a7

v11.2.4 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Unable to set the status of a queue when connecting to Service

I just installed Service Bus Explorer version 5.0.18 on my laptop, and I set the configuration and the connections.
Everything looks fine, except when I go right click on a queue to set the status, there is no arrow to select the status to be set.
I click on ‘set status’ and nothing happens.
I restated my laptop but still the same behavior, not sure what to do.

Thank you Eric and Team
Have a nice day


Some minor bug fixes

va_end() missing in TracePrintf function
memory leak fix in Symbolize function

@alk I have separated the commit. Please review. Thank you.

Thanks a lot. Applied.


Made supported

Good thought, but we already have a code of conduct (that has been reviewed and approved by the core team).
Can we point users to https://docs.silverstripe.org/en/3.1/contributing/code_of_conduct/ instead?


Information panel appears to left of info buttons

Should be in between the buttons and right side of viewport as in previous versions. Started happening sometime this week.

@rivermont Thanks for reporting. I've been fighting with these panes to have them behave in the flexbox but also scale to small screens. I think I finally got it now.


Issue with offset css

http://codepen.io/anon/pen/VevdMO
You can resize the page to view the issue

Duplicate of #2328


[PHC-4098] Add secondaryAction to SelectOption

What Was Changed

Added new properties to <SelectOption /> to allow for a 'secondaryAction' so that you can both select an option's value in the parent <Select /> onChange and do something else with the individual <SelectOption /> (e.g. navigate somewhere with more info about the option)
Update Select story so it actually selects the value when you click an option

Questions for the Team

@dexterca, when you get back into the office, can I get your opinion on the design of this? We can add a link as children to a  as it is, but this takes a lot more vertical space and imo is a little harder to tell which option each link goes with at first glance. Thoughts?

As-is option
Example new option from this PR

Screenshots
Before
https://user-images.githubusercontent.com/5824697/233761493-b535bc4e-0078-4cd2-b688-7db3824f1a59.mov
After
https://user-images.githubusercontent.com/5824697/233761497-8c09bbde-b886-4082-9058-7d88e1d62921.mov

I prefer the new option.

The ChevronRight icon is a little confusing but it looks like you've built it to where any icon can be used for secondaryAction.
Can we add a tooltip to the icon button?
The scale of the icon button is too large. This is most noticeable when secondaryText is not present and secondaryAction is present.

The ChevronRight icon is a little confusing but it looks like you've built it to where any icon can be used for secondaryAction.

Totally fair; the chevron doesn't carry any implied meaning. Do you have a preferred default icon?

Can we add a tooltip to the icon button?

Yep, we can! There is one issue - when the <Select /> opens, the first item is automatically keyboard selected for a11y. This makes the first tooltip pop up in a weird place, I'm guessing because it renders before the first item is fully placed in the document flow. I could attempt to hack a solution with a delay - does that sound good?

The scale of the icon button is too large. This is most noticeable when secondaryText is not present and secondaryAction is present.

Thanks for pointing this out. I shrank the icon and centered it with the text content. How's it look now?


aspellDicts: add more dictionaries and some documentation

Motivation for this change
Jargon files.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Fits CONTRIBUTING.md.

this redirects

Fixed, I hope.

@GrahamcOfBorg eval

In both cases you set phases, why? Should this be improved in buildDict?

s/you/the author/
I wondered myself, but now it seems that it is by design. preBuild
simply defines a bunch of functions, buildPhases and installPhasess
are different for different derivations, other default phases would
either fail or are useless.
But its true I can just move it to buildDict. Done. Also made another
trivial change.

We should not be using propagatedUserEnvPackages

Any suggestions with what to replace it with? You should have en_US in the
profile when installing en_US-science.

and aspell itself?

Fixed.

This only considers the method where dicts are installed separate from aspell, and not aspellWithDicts. Perhaps there is a better place for this comment? Otherwise, it's good to have the explanation!

The problem with aspellWithDicts is that it does --set ASPELL_CONF which breaks the above explanation.
You would need to implement aspellWithDictsAndConfig to make this work. This is outside of scope of this PR.

Why are these needed? Should it not detect them?

They are "extra", opt-in.

Quotes are not needed, and until the policy changes, they should not be included either.

Official source on that claim? I'm motivated by #27809.

How about creating instead a src that can be consumed by the old `buildDict? Any reason for not doing that?

Pack files into an archive just to unpack them at the next beta-reduction? Seems crazy to me.

Any motivation for changing the name?

Right. Fixed.

Well whatever, the last patch has gone to SLNOS.
To make my position clear: I see no policy behind #27809. What I see is somebody making a huge change to nixpkgs that goes backwards and you merging it without discussion.

The closest would be aspellWithDicts, for installing individual packages there is nothing else.

Right. But if I removed the propagation now it would break plain systemPackages installs.
Unless you put a check into systemPackages that rejects dictionaries I think the current impl is the correct one.

The problem with aspellWithDicts is that it does --set ASPELL_CONF which breaks the above explanation.

See https://github.com/NixOS/nixpkgs/pull/34856.

Looks ok to me, needs extensive testing.
I propose we merge this first as it is well-tested (a whole year of fermentation in SLNOS) and makes things strictly better.
You can always change the docstrings later when aspellWithDicts becomes awesome.

OK, looks like this version is pure addition.


AVT violation on modal of close button

Using URL http://carbondesignsystem.com/components/modal/live
Click Passive button and popup the modal, run the DAP test, and getting AVT violation of close button on the modal.

This is fixed in the latest release of carbon-components. The website just needs to update to the latest and get redeployed.


Linux frame buffer to use BGRA graphics memory layout

Using Linux frame buffer with StartLinuxFbDev causes the display to be cleared on startup on the Raspberry Pi  3 with the official 7" touch display (possibly other platforms too). I've set my Raspberry PI to boot with a splash screen and launch straight into a kiosk app.
I would like the splash screen to remain displayed until the kiosk app renders its first view.
Currently the screen goes black for several seconds while the app is loading which makes for an unpleasant user experience.
The screen blanking is due to the FbdevOutput class which sets the Linux frame buffer memory layout to RGBA during initialisation. The change from BGRA (default layout) to RGBA clears the screen.
I propose that the code in FbdevOutput is modified to leave the frame buffer in BGRA format. The SkipSharp graphics already works with BGRA format. I have removed the RGBA setup code from a local copy of FbdevOutput  and the display works with correct colours and does not clear the screen.
Is there a good reason for changing to RGBA format?

There is no particular reason for that pixel format, it's just something that worked during my testing with x86-based laptop

There is no particular reason for that pixel format, it's just something that worked during my testing with x86-based laptop

Can we not by default check the format in FbdevOutput Init and leave it unchanged if it is supported by Skia?
A constructor override could be added if needed to force a particular format.

Can we not by default check the format in FbdevOutput Init and leave it unchanged if it is supported by Skia?
A constructor override could be added if needed to force a particular format.

That would make sense too, yes

That would make sense too, yes

@kekekeks do you have any objection to me opening a PR to fix this?
My app has unnecessary duplicated LinuxFrameBuffer code to fix this issue and I would like to get rid of it.

Go ahead. Might as well add support for rbg565.


shared auth with kubeflow

I've installed kubeflow from kfctl with a setup that includes auth on the single external entrypoint for istio.
But KFServices are available without any security on port 80. This is because knative and kubeflow both create an istio Gateway resource and the kubeflow entry doesn't include port 80 whereas knative does. So port 80 traffic is unsecured (and still open because not covered by the kubeflow auth envoyfilter) and is routed by istio to the knative services as it matches the knative gateway record.
I can move the knative gateway to the default https port but then there's a conflict with the kubeflow gateway and requests do not get routed to the services. The only configuration I've able to get working with auth is putting the knative gateway on a different port entirely (e.g. 15443). I suspect it would also work if I were to create a distinct entrypoint IP for knative, though that would require additional changes to the auth setup (to allow that redirectUri).
@yanniszark has suggested this could be addressed by getting knative to use the kubeflow gateway. But I've tried to do that without success. Knative lets you repoint to a different external gateway service but I've not been able to point to a different isitio Gateway (changing the config-istio configmap didn't work for me).
I've also considered changing kubeflow to use the knative-gateway but that would be a big change.

Advice on the related knative-serving issue is that knative-serving can currently only be switched to another gateway in the knative-serving namespace but there is a plan to change that in future.

Also vaguely related (to enable custom per service auth): https://github.com/knative/serving/issues/5706

This should be fixed now
/close


[Suggestion] Optionally ignore creative mode

Using this as an SSP mod is great and allows the game to be played similarly to Terraria in that you can have multiple worlds and haul your items around all of them, however the items are carried even between creative mode. Would be useful/helpful to have the option to ignore Creative mode items.

Added. This will be available in the next release


Project no longer works

Latest version of everything (typescript 2.4.1)
Followed instructions, got to npm start, which yields
node_modules/@types/request/index.d.ts(66,15): error TS2430: Interface 'DefaultUriUrlRequestApi<TRequest, TOptions, TUriUrlOptions>' incorrectly extends interface 'RequestAPI<TRequest, TOptions, TUriUrlOptions>'.
  Types of property 'defaults' are incompatible.

On it, give me a couple hours, thanks!

Just pulled this down and I'm getting the same message reported above.

Changed package.json
"@types/request": "0.0.42"
to
"@types/request": "^0.0.45"
made this error go away.
still get these errors
src/controllers/user.ts(83,77): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.
src/controllers/user.ts(168,77): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.
src/controllers/user.ts(248,78): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.

Changed these lines from
req.assert("password", "Password must be at least 4 characters long.").len(4);
to
req.assert("password", "Password must be at least 4 characters long.").len({min: 4});

Last fixes were to add whitespace in controllers import lines and in passport config
import {Request, Response, NextFunction} from "express";
to
import { Request, Response, NextFunction } from "express";

@bowdenk7 a couple of hours? Still not working.

I've installed this project just yesterday and it worked from the first try

I would suggest you try it today. I just downloaded it and did npm install on a different machine. Get same errors.
node_modules/@types/request/index.d.ts(66,15): error TS2430: Interface 'DefaultUriUrlRequestApi<TRequest, TOptions, TUriUrlOptions>' incorrectly extends interfa
rlOptions>'.
Types of property 'defaults' are incompatible.
Type '(options: TOptions) => DefaultUriUrlRequestApi<TRequest, TOptions, OptionalUriUrl>' is not assignable to type '{ (options: TOptions): RequestAPI<TRequ
: (UriOptions & TO...'.
Type 'DefaultUriUrlRequestApi<TRequest, TOptions, OptionalUriUrl>' is not assignable to type 'RequestAPI<TRequest, TOptions, RequiredUriUrl>'.
Types of property 'delete' are incompatible.
Type '{ (uri: string, options?: TOptions, callback?: request.RequestCallback): TRequest; (uri: string, ...' is not assignable to type '{ (uri: string,
RequestCallback): TRequest; (uri: string, ...'. Two different types with this name exist, but they are unrelated.
Types of parameters 'options' and 'options' are incompatible.
Type '(UriOptions & TOptions) | (UrlOptions & TOptions)' is not assignable to type 'OptionalUriUrl & TOptions'.
Type 'UriOptions & TOptions' is not assignable to type 'OptionalUriUrl & TOptions'.
Type 'UriOptions & TOptions' is not assignable to type 'OptionalUriUrl'.
Types of property 'uri' are incompatible.
Type 'string | Url' is not assignable to type 'string'.
Type 'Url' is not assignable to type 'string'.
src/controllers/user.ts(83,77): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.
src/controllers/user.ts(168,77): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.
src/controllers/user.ts(248,78): error TS2559: Type '4' has no properties in common with type 'MinMaxOptions'.

Pulled down the latest version. Everything is now working.

Awesome, thanks for verifying. @notsonotso sorry for the delay. Can verify all is good on your end?

@bowdenk7 works perfectly. Thanks!


Update localization - pt-BR

[x] Have you signed the Contributor License Agreement?
[ ] Are you working against an Issue?

Change
Fixed the short description about uninstalling the program in Brazilian Portuguese
Microsoft Reviewers: Open in CodeFlow

Filed 34931332 internally for fixing.

Should be fixed by #1462, closing this tracking PR.


Update centos6 image alias to keep in sync with rhel6 image alias

Updating centos6 image per @mbrukman 's suggestion

The tests look for a specific version of the centos image. I'll update the tests and re-submit the pull

@handavid — thanks for fixing this!
For future reference, there is no need to close the PR and open a new one: you can just push to the same branch with git push -f and Travis will notice the PR changed and re-run the tests.
I'll merge the other PR once Travis finishes and shows all-clear.


Rabbits don't have ear texture, on their heads

Hey there! This project has been moved to a new repository, and as such this issue will be closed. Feel free to reopen any bugs in the new location


Bump version of securefiles-common package in tasks affected by ETIMEDOUT error hotfix

Task name: AndroidSigningV2, AndroidSigningV3, DownloadSecureFileV1, InstallAppleCertificateV2, InstallAppleProvisioningProfileV1, InstallSSHKeyV0
Description: This PR bumping version of securefiles-common to the latest versions to allow using latest version of typed-rest-client which contains handing of ETIMEDOUT error and perfoms retry on it.
Latest version for the tasks that already migrated to Node10: 2.0.4-preview
Latest version for other tasks: 1.179.0
Pipeline runs with updated versions of tasks:
AndroidSigningV3
AndroidSigningV2
DownloadSecureFileV1
InstallAppleCertificateV2, InstallAppleProvisioningProfileV1
InstallSSHKeyV0
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) #1795923, #1796623, #1796303, 1797489, 1796304
Checklist:

[X] Task version was bumped - please check instruction how to do it
[X] Checked that applied changes work as expected

Hey @damccorm, could you please take a look at this pr and this one  also


"easingValue" argument has disappeared from plugins in version 3

In the version 2.9.3, the beforeDraw and afterDraw function of a plugin had got the following definition:
/**
 * @method IPlugin#beforeDraw
 * @desc Called before drawing `chart` at every animation frame specified by the given
 * easing value. If any plugin returns `false`, the frame drawing is cancelled until
 * another `render` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 * @returns {boolean} `false` to cancel the chart drawing.
 */
/**
 * @method IPlugin#afterDraw
 * @desc Called after the `chart` has been drawn for the specific easing value. Note
 * that this hook will not be called if the drawing has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 */

In the master, we have:
/**
 * @method IPlugin#beforeDraw
 * @desc Called before drawing `chart` at every animation frame. If any plugin returns `false`,
 * the frame drawing is cancelled untilanother `render` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {object} options - The plugin options.
 * @returns {boolean} `false` to cancel the chart drawing.
 */
/**
 * @method IPlugin#afterDraw
 * @desc Called after the `chart` has been drawn. Note that this hook will not be called
 * if the drawing has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {object} options - The plugin options.
 */

The easingValue argument, (the current animation value, between 0.0 and 1.0) has disappeared.
This argument was (and is) very helpful to know when the draw is ended and if an update has been invoked during another update, previously invoked.
Is there another way to get that info from a plugin?

If I may, there other methods of the Plugin interface where easingValue has disappeared.
I think it could be helpful to re-introduce it.
/**
 * @method IPlugin#beforeDatasetsDraw
 * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,
 * the datasets drawing is cancelled until another `render` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 * @returns {boolean} `false` to cancel the chart datasets drawing.
 */
/**
 * @method IPlugin#afterDatasetsDraw
 * @desc Called after the `chart` datasets have been drawn. Note that this hook
 * will not be called if the datasets drawing has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 */
/**
 * @method IPlugin#beforeDatasetDraw
 * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets
 * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing
 * is cancelled until another `render` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {object} args - The call arguments.
 * @param {number} args.index - The dataset index.
 * @param {object} args.meta - The dataset metadata.
 * @param {number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 * @returns {boolean} `false` to cancel the chart datasets drawing.
 */
/**
 * @method IPlugin#afterDatasetDraw
 * @desc Called after the `chart` datasets at the given `args.index` have been drawn
 * (datasets are drawn in the reverse order). Note that this hook will not be called
 * if the datasets drawing has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {object} args - The call arguments.
 * @param {number} args.index - The dataset index.
 * @param {object} args.meta - The dataset metadata.
 * @param {number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 */
/**
 * @method IPlugin#beforeTooltipDraw
 * @desc Called before drawing the `tooltip`. If any plugin returns `false`,
 * the tooltip drawing is cancelled until another `render` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {object} args - The call arguments.
 * @param {Tooltip} args.tooltip - The tooltip.
 * @param {number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 * @returns {boolean} `false` to cancel the chart tooltip drawing.
 */
/**
 * @method IPlugin#afterTooltipDraw
 * @desc Called after drawing the `tooltip`. Note that this hook will not
 * be called if the tooltip drawing has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {object} args - The call arguments.
 * @param {Tooltip} args.tooltip - The tooltip.
 * @param {number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {object} options - The plugin options.
 */

In v3, every element is animate individually, so there is no global easingValue. Average could be compute, but I,'m sure there is something better for the use cases. What are you using it for?

@kurkle the following code is the method of a plugin that I'm using (in java ad be aware it's just a 1 use case), where you can see that I need to know when the animation is completed inside the plugin (I don't think is good workaround).
public void onAfterDraw(IsChart chart, double easing) {
	// logic for single drawing
	if (easing == 1D) {
		// do something because end of drawing
	}
}

I don't want to push on this topic but in my opinion the easing value at chart level should be managed in some way and provided.
Or new 2 methods of interface could be implemented: beforeOverallUpdate and afterOverallUpdate (no fantasy on names, sorry), called once for every single update.
Anyway, please remember to update the migration page because in my opinion this is a breaking change comparing with 2.9.3.

@kurkle maybe we don't need new 2 methods but beforeDraw and afterDraw could be called once in drawing cycle...
Just thinking loud

@kurkle I spent some minutes to see more in details the plugin interface, and may beforeRender and afterRender could be the right methods if they are currently invoked once before of all drawings and once after all those.
I have some doubts because beforeRender seems to be invoked more than once during the chart initialization,  instead only once when the chart is updating.

In v3, every element is animate individually, so there is no global easingValue.

But in the progress animation callback you have got and pass the currentStep and numSteps () and they are global, isn't it?

If I may, I have played a little with plugins. One of the thing that I wanted always do was to document the calls chain of a plugin. In the next version of my library I'm gonna publish it in order to whoever wants to implement a plugin can have a clear picture about the sequence (maybe it could be added to Chart.js, if you want). The following is the chain with a meta language:
beforeInit  // <-- new Chart()
afterInit
beforeUpdate  // <-- new Chart() or chart.update()
    beforeLayout
    afterLayout
    beforeDatasetsUpdate
    for (dataset from 0 to N)
      beforeDatasetUpdate
      afterDatasetUpdate
    end
    afterDatasetsUpdate
afterUpdate
beforeRender  // <-- new Chart() or chart.update() or chart.render()
    for (easing from 0 to 1)
       beforeDraw
       beforeDatasetsDraw
       for (dataset from 0 to N)
         beforeDatasetDraw
         afterDatasetDraw
       end
       afterDatasetsDraw
       afterDraw
    end
afterRender

This is what I have seen but maybe it's wrong and something is missing.
Nevertheless there are a couple of points of attention in my opinion, into core.controller.js:

The render() method is called by _eventHandler as well, I don't know exactly the reason but this is breaking the calls chain because you call a beforeRender when the render is already executing and none afterRender is called instead.
related to previous item, the update() method can invoke the render() by both _eventHandler and  render() itself. And the beforeRender will be called twice anyway, if you don't return false by beforeEvent (usually you want to consume events):

// Replay last event from before update
if (me._lastEvent) {
	me._eventHandler(me._lastEvent, true); // <-- could execute the render
}

me.render(); // <-- could execute the render

when the before* methods are invoked and they will return false to stop the update/render, the relative after method is not called, In plugin where you have developed some logics, with maps/lists/properties which can store the status or info to apply the plugin logic, could be helpful to invoke anyway the relative after in order to clean up the context. In my opinion, 2 methods beginRender and endRender could be helpful to enable a better management of the lifecycle of plugin.

beforeInit
afterInit
beginRender // <-- always call once for update or render
    beforeUpdate
        beforeLayout
        afterLayout
        beforeDatasetsUpdate
        for (dataset from 0 to N)
          beforeDatasetUpdate
          afterDatasetUpdate
        end
        afterDatasetsUpdate
    afterUpdate
    beforeRender
        for (easing from 0 to 1)
           beforeDraw
           beforeDatasetsDraw
           for (dataset from 0 to N)
             beforeDatasetDraw
             afterDatasetDraw
           end
           afterDatasetsDraw
           afterDraw
        end
    afterRender
endRender // <-- always called at the end of update/render even if it has been stopped by a "before" method

Apologize for my long comment...

See #7611


Tilemap / Tileset Area2D vs StaticBody2D for detecting presence of object on tiles

Operating system or device - Godot version: v2.1.stable.official
I tried doing a TileSet with an Area2D as a tile and it seems that the collision shape isn't saved when converting the scene to TileSet. Now, I know you can have a StaticBody2D with a CollishionShape2D that has Trigger set to On, but I think it would make much more sense to be able to have a tile with an Area2D, which I guess it isn't possible now? Or am I missing something? You may want to have tiles which trigger certain events but don't block player / enemy movement for example so in this cases it would make sense to have Area2D. I'm sure this isn't a big deal but it would be a nice feature to have since this is exactly what Area2D is supposed to do (among other things)... unless I'm missing something obvious :)

I'm not a fan of adding this stuff to TileSet. For me it makes little sense that a kind of tile would have such functionality. If you want to trigger something, add an Area2D to the scene where the TileMap is. Maybe TileMap itself could have something like this, since when you're placing the tile you might want it to trigger something, but I can't see this on TileSet.

CollisionShape2D is saved (does save when converting to a tileset); it's just the positions don't get updated which forces us to use a PolygonShape.

@vnen, the reasoning behind having it on TileSet is if you want to create procedural levels and for example (my specific case) in a rogue-like where you want to have a doorway to the next level placed randomly it makes perfect sense to have it as a tile and not as a property of the TileMap itself, but I do get it why you'd want TileMap to also have this functionality. I think both are good cases to be considered and it will improve a lot the functionality for procedurally generated levels.

I see too often people expecting tiles to behave as if they were nodes, in various levels. I mean, having functionality nodes would provide, but on tiles.
The problem is that Tilemap is a special kind of node that purposedly batches things for a better performance into one node, at the cost of uniformizing every property of tiles (forced to use one optional sprite, one optional collision polygon, a few other stuff and that's it).
Because of this, any functionality on individual tiles that is not present has to be added with the use of a different paradigm (see my post in this other issue about tilemap: https://github.com/godotengine/godot/issues/5965#issuecomment-236334540).
In the case of Area2D, that could still be solved in a simple way with the current Tilemap, maybe add a collision type in tileset. But it's not the first issue/question I see where people expect more about tilemaps, and this node could end up handling too much things.
For a reference, here are the properties a tile type can have: https://github.com/godotengine/godot/blob/master/scene/resources/tile_set.h#L42

Yes, it is true that the tiles aren't nodes, but I would have thought that Area2D is related to the other collision shapes and it makes sense to have it included as part of TileMap. Might be wrong and maybe it isn't as easy as I think but anyway. There you have it :)

I am creating a game like space shooter. So I wanted a tile that is destructible.
Let's say that Space ship shoots a projectile and hits the tile it should be destroyed.
Does this feature helps in this too ?

I think you can do this without that feature with a bit of scripting: on collision, get the impact point (either in the hit or with a raycast at worst), get the collider (tilemap) and get the tile position using world_to_cell. Then you can delete it. Note that even if tiles have areas you would still need the tile position.

This would be very useful for coins and other pick-up items.

I'm reviewing my issues and this has been opened for some time now and there are other people working on tilemap improvements so I'll close this for now and see perhaps after v3.1 if more discussion is needed.


Expanded Timeout Error Messages

The timeout error now provides feedback about how the test timed out, and how Mocha expected the test to yield. The purpose of this change is to aid developers when debugging timeouts, especially the case where both done() is requested and a promise is returned. It also removes "Resolution method is overspecified" error as it had a similar effect, but could introduce problems when used with CoffeeScript or async functions from ES7.
The error messages are perhaps rough copy. I think the maintainers a best suited to re-word the errors if they see it as necessary. Add you suggestions below and I'll update them. That goes for the code too of course.
The following tests:
describe('Test timeouts', () => {

    it('Async test timeout with done()', (done) => {});

    it('Async test timeout with done() and promise', (done) => {
        return new Promise(() => {});
    });

    it('Async test timeout with promise', () => {
        return new Promise(() => {});
    });
});

Results in the following test output:

  !!!

  0 passing (615ms)
  3 failing

  1) Test timeouts Async test timeout with done():
     Error: timeout of 200ms exceeded. Expected done() callback to be executed but it never was.
      at null.<anonymous> (lib/runnable.js:244:19)

  2) Test timeouts Async test timeout with done() and promise:
     Error: timeout of 200ms exceeded. Expected done() callback to be executed but it never was. A Promise was returned, but ignored because done() was requested. Remove done() from your test arguments to use the promise instead.
      at null.<anonymous> (lib/runnable.js:244:19)

  3) Test timeouts Async test timeout with promise:
     Error: timeout of 200ms exceeded. Expected the returned promise to resolve but it never did.
      at null.<anonymous> (lib/runnable.js:244:19)

cc: @dasilvacontin, @boneskull
:beers:

Hi! @RobertWHurst I'm working on a similiar test framework project. Wont to help me out? If so drop an email at<EMAIL_ADDRESS>For others as well. Feel free to send an email!

@dasilvacontin Any thoughts?

I personally prefer when code stuff is surrounded with backticks. So Promise -> Promise, and done() -> done (I don't think the parenthesis are necessary).
Also, given that this is a common error, we should consider adding an url/link to a Wiki page with some examples, and behaviour explanations, specially once we solve doubts at #1320.

Also, we will not remove:
  if (result && utils.isPromise(result)) {
    return done(new Error('Resolution method is overspecified. Specify a callback *or* return a Promise; not both.'));
  }

until we make a decision about the behaviour.
Thanks for kickstarting the improved error messages. :)

@dasilvacontin Sounds good. I'll split the PR (timeout messages vs yielding) and make the changes to the error messages. 👍

This appears to address #2521, in theory


Full custom edit form for MudDataGrid

Feature request type
Enhance component
Component name
MudDataGrid
Is your feature request related to a problem?
Please add a feature for full custom edit form for MudDataGrid that we design our edit popup for example :

2 columns fields instead 1 column fileds in edit form
degining a rtl form
custom save and cancel buttons for rtl and button labels
custom fields validations
using all these in add and edit form
Thank you

Describe the solution you'd like
a feature for full custom edit form for MudDataGrid
Have you seen this feature anywhere else?
No response
Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm facing the same issue too. My audience is not english-friendly and the product we're developing is being written in our native language.
Using the edit from of mud data grid is very useful with smaller models although it doesn't seem to be very customizable as the EditDialogOptions property inherits from "DialogOptions".
I guess it probably needs another MudDataGridEditDialogOptions to have these extra customization options such as ShowCancelButton.
As far as the text is concerned, localization could probably be used instead ?!
I wish I had the technical knowledge to make a PR about it, but I'm still very new to the Blazor family.
The only solution so far is not use the default datagrid edit form, and manually making your own forms using the dialog component which gives all the customizability in the world.

I decide to use MudTable because the MudDataGrid render slow after getting data from web api but MudTable renders fast. For editing also I show an inline MudDialog because it is easier to use and send data to main component. Inline MudDialog sample is in MudDialog document.

@ScarletKuro I don't know if you the person who can help with this, but I will ask. I am happy to do pull request for this feature request at least for Save and Cancel buttons text customization. Are there any prefered way how it can be implemented. I can add 2 seprate properties for the text directly in DataGrid or I can create separate options?

Hi.
DataGrid topics are usually @tjscience area.
You are more than welcome to make a PR, but, please, be patience since DataGrid reviews take some time.
As for text customization, there is localization feature that should be used, if we are talking about the text content.


BUG: scipy.stats.theilslopes intercept calculation can produce incorrect results.

Theilslopes calculates the median intercept using the calculated theilslope estimate and the median x and median y values as: np.median(y) - medslope * np.median(x). This can produce an incorrect intercept when there is a gap in the middle of the x values. Most other implementations of this algorithm use the median of all intercepts np.median(y - medslope * x), which doesn't seem to have this issue.
The np.median(y) - medslope * np.median(x) is in the documentation, so I'm not entirely sure if there's a good reason for doing calculating the intercept that way.
Reproducing code example:
import pandas as pd
from scipy.stats import theilslopes
from io import StringIO
import matplotlib.pyplot as plt

test_data = StringIO("""
x,y
1,1
1.000507357,1.012345679
1.001014713,1.802469136
1.00152207,1.469135802
1.002029427,1.740740741
1.002536783,1.395061728
1.00304414,1.271604938
1.017250127,2.24691358
1.017757484,1.666666667
1.01826484,3.716049383
1.018772197,4.098765432
1.019279554,3.617283951
1.01978691,2.703703704
1.020294267,2.012345679
1.020801624,1.481481481
1.02130898,1.432098765
1.021816337,1.839506173
1.022323694,2.839506173
1.02283105,2.790123457
1.023338407,2.543209877
1.023845764,3.037037037
1.02435312,3.938271605
1.024860477,3.814814815
""")

df = pd.read_csv(test_data)

slopes = theilslopes(df.y, df.x)

df['line'] = df.x * slopes[0] + slopes[1]
df['line_corr'] = df.x * slopes[0] + (df.y - slopes[0] * df.x).median()

df.plot(x='x', y=['y', 'line', 'line_corr'], label=['Data', 'Theilslope intercept', 'Corrected Intercept'])
plt.show()

Scipy/Numpy/Python version information:
import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info)
# 1.7.0 1.21.0 1.2.5 sys.version_info(major=3, minor=9, micro=5, releaselevel='final', serial=0)

Hi,
I agree that this is a bug, stats.siegelslopes (https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.siegelslopes.html) uses the median of y - medslope*x and I see the same approach on https://en.wikipedia.org/wiki/Theil–Sen_estimator

Hi. Can I work on this? It seems like we have to change the way intercept is computed in theilslopes.

Can I work on this? It seems like we have to change the way intercept is computed in theilslopes.

Sure, it is just one line that needs to be changed. A test case should be added and potentially the existing tests have to be modified if the intercept is considered.

It seems like there are two ways to calculate the intercept both np.median(y) - np.median(x) * m and np.median(y - x * m) ( Helsel and others, 2019 pg. 268). The main benefit of finding the slopes using the median of x and the median of y is that the line will pass through point median x and median y mirroring least squares regression passing through mean x and mean y.
There doesn't seem to be a 'right' way to calculate the intercept because the estimator is mostly focused around the slope according to this stack exchange discussion. The choice of intercept calculation seems more circumstantial than definitive.
It looks like the USGS program KTRLine uses the median(y) - median(x) * slope approach (Conover, 1980) and so does the  R package. It may be better to leave the intercept as is to be consistent with other software programs. The user can change the calculation if needed. Maybe a note could be added to the docstring.

@chrisb83 Should we close this issue and https://github.com/scipy/scipy/pull/14380 in the light of above comment?

@atrevisan21 thanks for the additional research on this topic.
I think the best approach would be to add a new keyword method like in stats.siegelslopes:
method='...': compute intercept as median(y) - medslope*median(x)) (default option to keep backwards compatibility) method='...': compute intercept as median(y - medslope*x)
Not sure what a good name for the arguments would be, maybe 'separate' in the first case since the medians are computed separately and 'joint' in the second case?

The above option sounds good. Making the change, right away. Thanks for the ideas.


Is there a dynamic linking in Go?

Hello,
Is it possible to use dynamic linking in Go host, similar to this example https://docs.wasmtime.dev/examples-rust-linking.html (which demonstrates Rust host)?

I do not understand why do you think this issue is related to my question. So I will go to the wasmtime-go project and ask there then. Thank you.


Acknowledgement and retry logic

Figure out protocol for resending queue messages on error.
Right now:

If a delivered message throws, we republish the message and keep track of the retry count.
If the retry count exceeds 5, we reject the message.

To do:

Instead of just rejecting the message if it's exceeded the maximum retry count, we also want to add it to a dead letter exchange. To do this, we need to expose an attribute to let the user configure the name of their DLX, since a DLX is created upon creation of a queue, and RabbitMQ requires that queue declaration be consistent on both sending and receiving ends.

closing, as addressed by https://github.com/Azure/azure-functions-rabbitmq-extension/pull/43 and https://github.com/Azure/azure-functions-rabbitmq-extension/pull/45
documentation on this shown in wiki samples


Keyboard dismissing when I select the "Bold" option from tool bar

I created a simple project, added the framework using SPM and using the SwiftUI example. If I tap somewhere and select the "Bold" option to write something bolded, the keyboard is dismissed... I have to tap again in the same place and start writing.
iOS version 17.1
Xcode version 15.0.1
Framework version 0.6.0
Note 1: This happens only when I activate the bold, underline, italic and strike, when i disable the effect, the keyboard remains. And if I tap again, the keyboard is dismissed.
Note 2: For other options (dots list etc) works fine.

Thanks very much for reporting this and the additional notes you supplied. I think it must be a regression (maybe for iOS 17?), but I should be able to take a look at it within the next couple of days.

@stevengharris  Any ETA for this issue ?

I started to look at it, thinking I had a good idea how to fix it, but it turns out not to be as simple as I thought. The fact it's not happening with things like indent is a good clue, considering I'm conceptually doing the same thing (invoke a JavaScript function, modify the DOM, notify the Swift side that there has been a change). Maybe some kind of change in the underlying WKWebView to accommodate changes in UITextInteraction in iOS 17 (e.g., https://developer.apple.com/videos/play/wwdc2023/10058/), but considering I never do anything with UITextInteraction directly in the MarkupEditor, I'm not sure. So, the short answer is: no ETA, but I'm looking at it.

FWIW, the simulator shows this problem does not show up in iOS 16.
Also in iOS 17, when positioning the cursor in the middle of a word using the "loupe" (i.e., long press showing a magnifier above the touch point), the console spits out:
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.

And if you put CG_NUMERICS_SHOW_BACKTRACE in the environment, you get this backtrace:
  <CGPathAddLineToPoint+71>
   <+[UIBezierPath _continuousRoundedRectBezierPath:withRoundedCorners:cornerRadii:segments:smoothPillShapes:]+2718>
    <+[UIBezierPath _continuousRoundedRectBezierPath:withRoundedCorners:cornerRadius:segments:]+167>
     <+[UIBezierPath _roundedRectBezierPath:withRoundedCorners:cornerRadius:segments:legacyCorners:]+338>
      <-[_UITextMagnifiedLoupeView layoutSubviews]+2240>
       <-[UIView(CALayerDelegate) layoutSublayersOfLayer:]+2141>
        <_ZN2CA5Layer16layout_if_neededEPNS_11TransactionE+527>
         <_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE+67>
          <_ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd+706>
           <_ZN2CA11Transaction6commitEv+728>
            <_UIApplicationFlushRunLoopCATransactionIfTooLate+70>
             <__processEventQueue+9465>
              <__eventFetcherSourceCallback+163>
               <__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+17>
                <__CFRunLoopDoSource0+157>
                 <__CFRunLoopDoSources0+215>
                  <__CFRunLoopRun+919>
                   <CFRunLoopRunSpecific+557>
                    <GSEventRunModal+137>
                     <-[UIApplication _run]+972>
                      <UIApplicationMain+123>
                       <__swift_destroy_boxed_opaque_existential_1Tm+12707>
                        <$sSo21UIApplicationDelegateP5UIKitE4mainyyFZ+123>
                         <$s11SwiftUIDemo11AppDelegateC5$mainyyFZ+39>
                          <main+24>
                           109d023ee                            1179a43a6

The loupe positioning still works okay, but 🤔.

Some potentially related issues:

https://developer.apple.com/forums/thread/731700

https://github.com/simonbs/Runestone/pull/314

Mostly just makes me think this is going to require some kind of weird hack to fix without Apple themselves fixing it. I will probably try to reproduce it using a very simple test case with only WKWebView and submit the problem as a formal Technical Support Incident.

We can give it a try. Let me know after you solve this, and I will test it out :D

@stevengharris  also, another issue I noticed on a freshly installed app, when the MarkupEditorView begins editing, the UIPasteBoard permission is triggered and it ask to allow the paste action...

I had thought that was all taken care of in https://github.com/stevengharris/MarkupEditor/pull/78, but, again, maybe something changed for iOS 17. I will check it out and raise a separate issue for it if needed.

@stevengharris any update on this issue?

I have not had the time to dig in further. If you would open a separate issue for the UIPasteboard permission problem with any details to reproduce, it will help me track it. Thx.

@stevengharris  any update on this issue ?

No, I think I will have to dig into UITextInteraction to fix it but have not had the time.

Hello @stevengharris,
I have the same issue as described above. Do you maybe have a fix or a workaround for this ?

Unfortunately, no. I spent some time trying to sort out UITextInteraction, and am not sure it is a path to fixing the issue, which seems to be in WKWebView itself. Anyway, sorry, but I haven't been able to make any progress on it. Do you know if it is still a problem on iOS 18?

Yes it is still an issue on iOS 18.

It occurred to me that maybe a workaround would be to force the keyboard to show after bold/italic etc, although doing so takes some swizzling. This was discussed a long time ago in this issue/comment https://github.com/stevengharris/MarkupEditor/issues/88#issuecomment-1416474586. As Gavin notes in the comment, I once had commented-out code in MarkupWKWebView to do this, but I removed it completely when I did what I felt was a proper job on getting focus. Here is the old code I just resurrected from git (no idea if it works, but putting it here for my own purposes and in case someone wants to take a closer look themselves). The idea would be to restore this code in working form to MarkupWKWebView and then call showKeyboard(),  perhaps inside the evaluateJavaScript closure of MarkupWKWebView.bold(handler:), italic, etc.
typealias NewClosureType = @convention(c) (Any, Selector, UnsafeRawPointer, Bool, Bool, Bool, Any?) -> Voi
func setKeyboardRequiresUserInteraction(_ value: Bool) {
    guard
        let WKContentViewClass: AnyClass = NSClassFromString("WKContentView") else {
        print("Cannot find the WKContentView class")
        return
    }
    let ios13Selector: Selector = sel_getUid("_elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:")
    if let method = class_getInstanceMethod(WKContentViewClass, ios13Selector) {
        swizzleAutofocusMethod(method, ios13Selector, value)
    }

func unsetKeyboardRequiresUserInteraction() {
    guard
        let WKContentViewClass: AnyClass = NSClassFromString("WKContentView") else {
        print("Cannot find the WKContentView class")
        return
    }
    let ios13Selector: Selector = sel_getUid("_elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:")
    if let method = class_getInstanceMethod(WKContentViewClass, ios13Selector) {
        unswizzleAutofocusMethod(method, ios13Selector)
    }

func swizzleAutofocusMethod(_ method: Method, _ selector: Selector, _ value: Bool) {
    print("swizzling")
    let originalImp: IMP = method_getImplementation(method)
    let original: NewClosureType = unsafeBitCast(originalImp, to: NewClosureType.self)
    let block : @convention(block) (Any, UnsafeRawPointer, Bool, Bool, Bool, Any?) -> Void = { (me, arg0, arg1, arg2, arg3, arg4) in
        original(me, selector, arg0, !value, arg2, arg3, arg4)
    }
    let imp: IMP = imp_implementationWithBlock(block)
    method_setImplementation(method, imp)

func unswizzleAutofocusMethod(_ method: Method, _ selector: Selector) {
    print("unswizzling")
    let originalImp: IMP = method_getImplementation(method)
    let original: NewClosureType = unsafeBitCast(originalImp, to: NewClosureType.self)
    let block : @convention(block) (Any, UnsafeRawPointer, Bool, Bool, Bool, Any?) -> Void = { (me, arg0, arg1, arg2, arg3, arg4) in
        original(me, selector, arg0, arg1, arg2, arg3, arg4)
    }
    let imp: IMP = imp_implementationWithBlock(block)
    method_setImplementation(method, imp)

public func showKeyboard() {
    setKeyboardRequiresUserInteraction(false)
    becomeFirstResponder()
    unsetKeyboardRequiresUserInteraction()
}

Since it's clear this problem isn't going to go away on the WKWebView end even in iOS 18, I will try to circle back around to this approach as a workaround.