Feedback from a returning user

Hey there!
I had previously tested goneovim (in the beginning of 2019), but back then I didn't really get to try it properly because I had a lot of interoperability issues. Two years later it seems like there has been a lot of progress, and I finally got to try it out properly without any problems.
Kudos for your effort! I can see a lot of potential for this project and therefore want to provide some feedback to you. Obviously my feedback is highly opinionated, but I hope my feedback is still of value.
What I really liked
Firstly, let me tell you what I really liked about the project:

Setup By using the provided binary builds, I had no issues using goneovim and it worked out of the box without additional configuration. (Also thank you for using the correct configuration directory under $XDG_CONFIG_HOME/goneovim/)

The minimap is awesome, and worked out of the box, without any problems.

The markdown preview window is an awesome idea, and while there is room for some usability improvements, it is visually the best markdown preview solution inside of vim that I have seen to this date.

The indent guide is pleasing and feels better than the vim-builtin one.

In general, I think goneovim's visual appearance is wholly satisfying.

I use vim over ssh a lot and with some ssh trickery you can make vim on a remote session open a fully fledged gui window on the client, without X11 on the server. This is beyond awesome.

Suggestions
Here are some suggestions which I think would give goneovim a very polished feeling:

The markdown preview could be enhanced. Maybe you could have a look at markdown-preview.nvim to provide support for line correlation (double click markdown to jump to source line) and themeing, which are two very handy features. Also scrolling the markdown window is broken when touchpad scrolling isn't inverted like it is on apple (i.e. when scrolling up = mousewheel up, the window will get confused and try to do both).

I have seen that you did implement the markdown preview with a specially tagged buffer, and I am wondering if this approach could be used for more that a markdown preview.
(It comes to mind: Imagine a type of first-class neovim support for custom rendering of certain buffer types. E.g. NERDTree would just expose machine readable data and neovim's default frontend would render text. Then you could implement a custom renderer for NERDTree and have it properly integrated into goneovim like your filebrowser with all the extra features. I'm sure here is a lot of unused potential for both neovim and its gui implementations)

A minor thing: I'd like to be able to adjust the margins in the popup menu, because for me it takes too much space away. I would like to have more dense popups. Maybe you could provide a way to do custom themes for goneovim's external windows.

Current deal breakers
Even though goneovim has a lot of really awesome features, there are some things that prevent me personally from adopting it as my daily gui for neovim:

It's insanely hard to reproduce your builds without knowledge of go. I'm using gentoo and would've liked to create a package build for it, but unfortunately I don't have any experience in writing go and wasn't able to find enough information on how to properly do reproducible builds from source.
For gentoo builds it is preferable to build from a source archive without needing internet access while building, but I was unable to find the necessary information. In general I've seen no packages for goneovim in any official distro package manager, so when you think your project is mature enough for the greater public, please consider maintaining a package or build guide to make it easier to adopt.

Disabling ligatures: I'm really not comfortable using ligatures and would like to disable them, but couldn't find a way to do it. I don't know how much work it is to implement, but judging by other projects that provide ligatures, it seems like a controversial thing to have, so a setting might really be appreciated.

Rendering Latency. You advertise goneovim as being faster than neovim-qt. I regularly keep up with neovim guis and I have yet to encounter any gui that is actually rendering faster than neovim-qt, which is the reason that I have used it for the past years. While most other guis have insanely high latencies and rendering times, neovim-qt is even snappier than most terminal editors. While overall goneovim's performance is fine, there are some situations where it gets really slow, or inconsistent, which makes it hard to move around quickly without overshooting.
To be clear, I'm not sure if the problem is actually rendering latency, rendering speed or input delay, but to me it feels like a combination of rendering delay and inconsistent fps (try measuring 95'th percentile fps). This is by far the biggest hold-off for me currently, as I'm using a pretty high key repeat (xset r rate 235 60), where small inconsistencies in rendering are immediately noticeable.
I think it is important that an editor works well even on lower-end hardware. For reference, I'm usually using an Aero 15X v8 (i7-8750H, 4k display, GTX 1070M) laptop, which could be considered high-end, but I'm only using the internal graphics for battery usage reasons (I need more than 2 hours runtime).
I have recorded a short clip for each editor and showed them side-by-side so you can see exactly what is going on. Make sure to watch in 60fps. You can clearly see an issue while completions are active where I'm getting longer (>200ms) frameskips. Also when moving the cursor, it sometimes skips a line, my guess would be that frame rendering times are inconsistent.
https://user-images.githubusercontent.com/31919558/103487156-9bc24280-4e03-11eb-939f-8a82cc9f5960.mp4
https://user-images.githubusercontent.com/31919558/103487160-a1b82380-4e03-11eb-8a52-ddfb6b181e6e.mp4

References

My neovim configuration in case you want to reproduce my exact scenario.

Thank you for developing goneovim, I really look forward to trying it out the next time I get around. I hope you can use parts of my feedback to improve your software!

@oddlama
Hi :)
I appreciate your valuable feedback. I would like to make this project more attractive and I will use your feedback to help me improve it in the future.
About the proposal you gave me:

The markdown preview could be enhanced. Maybe you could have a look at markdown-preview.nvim to provide support for line correlation (double click markdown to jump to source line) and themeing, which are two very handy features. Also scrolling the markdown window is broken when touchpad scrolling isn't inverted like it is on apple (i.e. when scrolling up = mousewheel up, the window will get confused and try to do both).

The features you suggested are attractive. I would like to improve the markdown preview feature. I would also like to implement a fix for a known bug (real-time preview sometimes stops). However, I am not familiar with Javascript and it is a bit challenging.
As for the scrolling issue, my MacBook touchpad doesn't behave strangely and I haven't noticed any problems. I will look into it a bit.

I have seen that you did implement the markdown preview with a specially tagged buffer, and I am wondering if this approach could be used for more that a markdown preview.
(It comes to mind: Imagine a type of first-class neovim support for custom rendering of certain buffer types. E.g. NERDTree would just expose machine readable data and neovim's default frontend would render text. Then you could implement a custom renderer for NERDTree and have it properly integrated into goneovim like your filebrowser with all the extra features. I'm sure here is a lot of unused potential for both neovim and its gui implementations)

Yes, I see the same potential. One idea would be to use lua, which has been active in Neovim recently, to allow users to extend the GUI frontend by defining custom GUI components.

A minor thing: I'd like to be able to adjust the margins in the popup menu, because for me it takes too much space away. I would like to have more dense popups. Maybe you could provide a way to do custom themes for goneovim's external windows.

Currently, the margin of external UI components can be changed by defining the linespace in setting.toml. But yes, more generally it is attractive for users to be able to apply custom themes.
About Your Deal Breaker:

It's insanely hard to reproduce your builds without knowledge of go. I'm using gentoo and would've liked to create a package build for it, but unfortunately I don't have any experience in writing go and wasn't able to find enough information on how to properly do reproducible builds from source.

Currently, I have the following documentation for the build. If you have any questions, please feel free to contact me via chat.
https://github.com/akiyosi/goneovim/blob/master/Development.md

For gentoo builds it is preferable to build from a source archive without needing internet access while building, but I was unable to find the necessary information. In general I've seen no packages for goneovim in any official distro package manager, so when you think your project is mature enough for the greater public, please consider maintaining a package or build guide to make it easier to adopt.

Yes, I am considering releasing binaries to the major package managers in the future.

Disabling ligatures: I'm really not comfortable using ligatures and would like to disable them, but couldn't find a way to do it. I don't know how much work it is to implement, but judging by other projects that provide ligatures, it seems like a controversial thing to have, so a setting might really be appreciated.

Umm, There have been similar requests in the past(#108), but I am not sure. Is it cumbersome for users to use a font with disabled ligatures if they want to disable ligatures?

Rendering Latency.

Thanks for the detailed measurements and video!
I will look into this, but one thing I notice is that in your video, the external popup menu of goneovim is enabled. goneovim can use the external popup menu with ExtPopupmenu, but I think it will affect the performance a bit. This is due to the composition of rich UI elements such as icons. I'm curious about the performance of goneovim with all external UI features disabled in your environment.
e.g. setting.toml
[Editor]
# ...
ExtCmdline = false
ExtPopupmenu = false
ExtTabline = false
ExtMessages = false
IndentGuide = false
# ...

@oddlama
Hi :)
I appreciate your valuable feedback. I would like to make this project more attractive and I will use your feedback to help me improve it in the future.
About the proposal you gave me:

The markdown preview could be enhanced. Maybe you could have a look at markdown-preview.nvim to provide support for line correlation (double click markdown to jump to source line) and themeing, which are two very handy features. Also scrolling the markdown window is broken when touchpad scrolling isn't inverted like it is on apple (i.e. when scrolling up = mousewheel up, the window will get confused and try to do both).

The features you suggested are attractive. I would like to improve the markdown preview feature. I would also like to implement a fix for a known bug (real-time preview sometimes stops). However, I am not familiar with Javascript and it is a bit challenging.
As for the scrolling issue, my MacBook touchpad doesn't behave strangely and I haven't noticed any problems. I will look into it a bit.

I have seen that you did implement the markdown preview with a specially tagged buffer, and I am wondering if this approach could be used for more that a markdown preview.
(It comes to mind: Imagine a type of first-class neovim support for custom rendering of certain buffer types. E.g. NERDTree would just expose machine readable data and neovim's default frontend would render text. Then you could implement a custom renderer for NERDTree and have it properly integrated into goneovim like your filebrowser with all the extra features. I'm sure here is a lot of unused potential for both neovim and its gui implementations)

Yes, I see the same potential. One idea would be to use lua, which has been active in Neovim recently, to allow users to extend the GUI frontend by defining custom GUI components.

A minor thing: I'd like to be able to adjust the margins in the popup menu, because for me it takes too much space away. I would like to have more dense popups. Maybe you could provide a way to do custom themes for goneovim's external windows.

Currently, the margin of external UI components can be changed by defining the linespace in setting.toml. But yes, more generally it is attractive for users to be able to apply custom themes.
About Your Deal Breaker:

It's insanely hard to reproduce your builds without knowledge of go. I'm using gentoo and would've liked to create a package build for it, but unfortunately I don't have any experience in writing go and wasn't able to find enough information on how to properly do reproducible builds from source.

Currently, I have the following documentation for the build. If you have any questions, please feel free to contact me via chat.
https://github.com/akiyosi/goneovim/blob/master/Development.md

For gentoo builds it is preferable to build from a source archive without needing internet access while building, but I was unable to find the necessary information. In general I've seen no packages for goneovim in any official distro package manager, so when you think your project is mature enough for the greater public, please consider maintaining a package or build guide to make it easier to adopt.

Yes, I am considering releasing binaries to the major package managers in the future.

Disabling ligatures: I'm really not comfortable using ligatures and would like to disable them, but couldn't find a way to do it. I don't know how much work it is to implement, but judging by other projects that provide ligatures, it seems like a controversial thing to have, so a setting might really be appreciated.

Umm, There have been similar requests in the past(#108), but I am not sure. Is it cumbersome for users to use a font with disabled ligatures if they want to disable ligatures?

Rendering Latency.

Thanks for the detailed measurements and video!
I will look into this, but one thing I notice is that in your video, the external popup menu of goneovim is enabled. goneovim can use the external popup menu with ExtPopupmenu, but I think it will affect the performance a bit. This is due to the composition of rich UI elements such as icons. I'm curious about the performance of goneovim with all external UI features disabled in your environment.
e.g. setting.toml
[Editor]
# ...
ExtCmdline = false
ExtPopupmenu = false
ExtTabline = false
ExtMessages = false
IndentGuide = false
# ...

The features you suggested are attractive. I would like to improve the markdown preview feature. I would also like to implement a fix for a known bug (real-time preview sometimes stops). However, I am not familiar with Javascript and it is a bit challenging.
As for the scrolling issue, my MacBook touchpad doesn't behave strangely and I haven't noticed any problems. I will look into it a bit.

Just from what I experience, it feels like there are two opposing things scrolling the same window. Almost as if mouse-wheel events would scroll down, but some touch gesture event scrolls up at the same time. The hard intervals of the mousewheel-like scrolling make it jump between scrolling up and down.

[...]
Yes, I see the same potential. One idea would be to use lua, which has been active in Neovim recently, to allow users to extend the GUI frontend by defining custom GUI components.

Unfortunately, I'm not familiar with any of the neovim internals. If there is a chance that this can be implemented properly (in a way where it benefits the whole ecosystem), I guess it might be worth investigating at some point.

[...]
Currently, the margin of external UI components can be changed by defining the linespace in setting.toml. But yes, more generally it is attractive for users to be able to apply custom themes.

I must have missed that option, thanks for pointing it out!

About Your Deal Breaker:
[...]
Currently, I have the following documentation for the build. If you have any questions, please feel free to contact me via chat.
https://github.com/akiyosi/goneovim/blob/master/Development.md

It boils down to the problem that I cannot use git or any other tool requiring internet access at build time. Everything needed to build the project should be contained in the released source package, or other officially available packets. (e.g. the qt bindings are probably some go package, but which one? Is there a package manager for go packages?)

Disabling ligatures: I'm really not comfortable using ligatures and would like to disable them, but couldn't find a way to do it. I don't know how much work it is to implement, but judging by other projects that provide ligatures, it seems like a controversial thing to have, so a setting might really be appreciated.

Umm, There have been similar requests in the past(#108), but I am not sure. Is it cumbersome for users to use a font with disabled ligatures if they want to disable ligatures?

Yes. It would require maintaining two sets of the same font for each font I use. I would describe ligatures are a feature of a font, just like bold or italic variants. An application may choose to use them, but isn't forced to. Is purely optional, a font with ligature support can be used without ligatures without drawbacks.
Also I want a font with ligature support, because I like ligatures in statically dispayed content, because it can improve readability, but I dislike them when I edit files.
Some of the patched nerdfonts, which are a commonly used set of fonts for programming, have built-in ligatures (e.g. FiraMono). I cannot choose to download a font without ligature support from there, so I would have to patch them myself.
Is it much work to include a simple switch in the config?

Rendering Latency.

Thanks for the detailed measurements and video!
I will look into this, but one thing I notice is that in your video, the external popup menu of goneovim is enabled. goneovim can use the external popup menu with ExtPopupmenu, but I think it will affect the performance a bit. This is due to the composition of rich UI elements such as icons. I'm curious about the performance of goneovim with all external UI features disabled in your environment.
e.g. setting.toml
[Editor]
# ...
ExtCmdline = false
ExtPopupmenu = false
ExtTabline = false
ExtMessages = false
IndentGuide = false
# ...

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

The features you suggested are attractive. I would like to improve the markdown preview feature. I would also like to implement a fix for a known bug (real-time preview sometimes stops). However, I am not familiar with Javascript and it is a bit challenging.
As for the scrolling issue, my MacBook touchpad doesn't behave strangely and I haven't noticed any problems. I will look into it a bit.

Just from what I experience, it feels like there are two opposing things scrolling the same window. Almost as if mouse-wheel events would scroll down, but some touch gesture event scrolls up at the same time. The hard intervals of the mousewheel-like scrolling make it jump between scrolling up and down.

[...]
Yes, I see the same potential. One idea would be to use lua, which has been active in Neovim recently, to allow users to extend the GUI frontend by defining custom GUI components.

Unfortunately, I'm not familiar with any of the neovim internals. If there is a chance that this can be implemented properly (in a way where it benefits the whole ecosystem), I guess it might be worth investigating at some point.

[...]
Currently, the margin of external UI components can be changed by defining the linespace in setting.toml. But yes, more generally it is attractive for users to be able to apply custom themes.

I must have missed that option, thanks for pointing it out!

About Your Deal Breaker:
[...]
Currently, I have the following documentation for the build. If you have any questions, please feel free to contact me via chat.
https://github.com/akiyosi/goneovim/blob/master/Development.md

It boils down to the problem that I cannot use git or any other tool requiring internet access at build time. Everything needed to build the project should be contained in the released source package, or other officially available packets. (e.g. the qt bindings are probably some go package, but which one? Is there a package manager for go packages?)

Disabling ligatures: I'm really not comfortable using ligatures and would like to disable them, but couldn't find a way to do it. I don't know how much work it is to implement, but judging by other projects that provide ligatures, it seems like a controversial thing to have, so a setting might really be appreciated.

Umm, There have been similar requests in the past(#108), but I am not sure. Is it cumbersome for users to use a font with disabled ligatures if they want to disable ligatures?

Yes. It would require maintaining two sets of the same font for each font I use. I would describe ligatures are a feature of a font, just like bold or italic variants. An application may choose to use them, but isn't forced to. Is purely optional, a font with ligature support can be used without ligatures without drawbacks.
Also I want a font with ligature support, because I like ligatures in statically dispayed content, because it can improve readability, but I dislike them when I edit files.
Some of the patched nerdfonts, which are a commonly used set of fonts for programming, have built-in ligatures (e.g. FiraMono). I cannot choose to download a font without ligature support from there, so I would have to patch them myself.
Is it much work to include a simple switch in the config?

Rendering Latency.

Thanks for the detailed measurements and video!
I will look into this, but one thing I notice is that in your video, the external popup menu of goneovim is enabled. goneovim can use the external popup menu with ExtPopupmenu, but I think it will affect the performance a bit. This is due to the composition of rich UI elements such as icons. I'm curious about the performance of goneovim with all external UI features disabled in your environment.
e.g. setting.toml
[Editor]
# ...
ExtCmdline = false
ExtPopupmenu = false
ExtTabline = false
ExtMessages = false
IndentGuide = false
# ...

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

Just from what I experience, it feels like there are two opposing things scrolling the same window. Almost as if mouse-wheel events would scroll down, but some touch gesture event scrolls up at the same time. The hard intervals of the mousewheel-like scrolling make it jump between scrolling up and down.

I'll look into it from that perspective. Thank you.

It boils down to the problem that I cannot use git or any other tool requiring internet access at build time. Everything needed to build the project should be contained in the released source package, or other officially available packets. (e.g. the qt bindings are probably some go package, but which one? Is there a package manager for go packages?)

Hmm, I see.
Currently, goneovim relies on the go package management system, and internally uses git to get the source from the internet, including the Qt bindings. You will also need to download the Qt installer from the Internet.
Do you expect to be able to get the complete source code you need from an internet browser without using the go or git commands?

Yes. It would require maintaining two sets of the same font for each font I use. I would describe ligatures are a feature of a font, just like bold or italic variants. An application may choose to use them, but isn't forced to. Is purely optional, a font with ligature support can be used without ligatures without drawbacks.
Also I want a font with ligature support, because I like ligatures in statically dispayed content, because it can improve readability, but I dislike them when I edit files.
Some of the patched nerdfonts, which are a commonly used set of fonts for programming, have built-in ligatures (e.g. FiraMono). I cannot choose to download a font without ligature support from there, so I would have to patch them myself.
Is it much work to include a simple switch in the config?

On the internal architecture side, it's not something that can be switched with a simple flag. Of course, it could be possible by redesigning the drawing architecture, but I am concerned about the complexity of the code.
I will consider how to implement this.

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

Thanks for the confirmation.
I will look into frame time inconsistencies.

Just from what I experience, it feels like there are two opposing things scrolling the same window. Almost as if mouse-wheel events would scroll down, but some touch gesture event scrolls up at the same time. The hard intervals of the mousewheel-like scrolling make it jump between scrolling up and down.

I'll look into it from that perspective. Thank you.

It boils down to the problem that I cannot use git or any other tool requiring internet access at build time. Everything needed to build the project should be contained in the released source package, or other officially available packets. (e.g. the qt bindings are probably some go package, but which one? Is there a package manager for go packages?)

Hmm, I see.
Currently, goneovim relies on the go package management system, and internally uses git to get the source from the internet, including the Qt bindings. You will also need to download the Qt installer from the Internet.
Do you expect to be able to get the complete source code you need from an internet browser without using the go or git commands?

Yes. It would require maintaining two sets of the same font for each font I use. I would describe ligatures are a feature of a font, just like bold or italic variants. An application may choose to use them, but isn't forced to. Is purely optional, a font with ligature support can be used without ligatures without drawbacks.
Also I want a font with ligature support, because I like ligatures in statically dispayed content, because it can improve readability, but I dislike them when I edit files.
Some of the patched nerdfonts, which are a commonly used set of fonts for programming, have built-in ligatures (e.g. FiraMono). I cannot choose to download a font without ligature support from there, so I would have to patch them myself.
Is it much work to include a simple switch in the config?

On the internal architecture side, it's not something that can be switched with a simple flag. Of course, it could be possible by redesigning the drawing architecture, but I am concerned about the complexity of the code.
I will consider how to implement this.

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

Thanks for the confirmation.
I will look into frame time inconsistencies.

Hmm, I see.
Currently, goneovim relies on the go package management system, and internally uses git to get the source from the internet, including the Qt bindings. You will also need to download the Qt installer from the Internet.
Do you expect to be able to get the complete source code you need from an internet browser without using the go or git commands?

Not exactly, I just need to be able to properly separate downloading and building steps. Let me point you to the ebuild (a bash like build script for gentoo packages) of fzf or github-cli, which are both written in go. You can see that there is a list of dependencies at the beginning, which will be acquired via github.com or golang.com.

ebuild for fzf
ebuild for github-cli

I would basically have to create a similar build for goneovim, and I'm not sure how to approach it for this project.

On the internal architecture side, it's not something that can be switched with a simple flag. Of course, it could be possible by redesigning the drawing architecture, but I am concerned about the complexity of the code.
I will consider how to implement this.

Thanks a lot, I'm sure you will figure out how to do it properly.

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

Thanks for the confirmation.
I will look into frame time inconsistencies.

That's great! Thanks a lot for investigating, I'm looking forward to it!

Hmm, I see.
Currently, goneovim relies on the go package management system, and internally uses git to get the source from the internet, including the Qt bindings. You will also need to download the Qt installer from the Internet.
Do you expect to be able to get the complete source code you need from an internet browser without using the go or git commands?

Not exactly, I just need to be able to properly separate downloading and building steps. Let me point you to the ebuild (a bash like build script for gentoo packages) of fzf or github-cli, which are both written in go. You can see that there is a list of dependencies at the beginning, which will be acquired via github.com or golang.com.

ebuild for fzf
ebuild for github-cli

I would basically have to create a similar build for goneovim, and I'm not sure how to approach it for this project.

On the internal architecture side, it's not something that can be switched with a simple flag. Of course, it could be possible by redesigning the drawing architecture, but I am concerned about the complexity of the code.
I will consider how to implement this.

Thanks a lot, I'm sure you will figure out how to do it properly.

Yes you are right, it does affect performance quite a bit. Disabling them removes the long hangups.
What hasn't changed is the inconsistency in the frame times, which the second video highlights, or the stuttering that occurs in the first video, in the parts where no popup window is visible.

Thanks for the confirmation.
I will look into frame time inconsistencies.

That's great! Thanks a lot for investigating, I'm looking forward to it!

@oddlama
I have added an option DisableLigatures  to disable ligatures in v0.4.10 :)

Also building with Gentoo's Portage.
For a start, using Go 1.19.5, there is no $GOPATH, but can use $(go env GOPATH) instead.


White blank box in UI tab, not working?

Hi, I finished setting up my avatar's lip parameters a few weeks ago and set up the mod but when I click on the tab I get the following screen (pic attached) and nothing happens when I move my lips. I am using:

Valve Index
VIVE Facial Tracker
VRChat v. 2021.3.2 (most recent)
VRChat SDK v 2<IP_ADDRESS>.16 (most recent)
Unity 2019.4.29f1

Hi, this feature was removed temporarily removed because it would break SRanipal and the parameters. You can read more about here: #38

Hi! I was able to figure out what I was doing wrong with your debug menu viewing instructions. I have the following settings for all of my lip tracking parameters (see image) and I feel like the tracking I'm seeing is really inaccurate. Are there better settings I could be using, or is the .1 -> .6 standard? If there are settings you would be willing to share that you're using, I'd greatly appreciate it. Thank you again for your help :)

I have found that the best way to setup the parameters is to see the values returned in the debug menu, and base your thresholds on those. My values have been as high as 1 with extra room and as low as .7, it just depends on how the Face Tracker interprets your actual face. The .1 is there to be a dead zone so that the animation isn't accidentally activated.
It's also a thing you probably have to play around with too, like for example if you feel that the smile is too much for how much you actually are smiling, then you can increase the threshold of the second value, and vice versa.

That makes sense! Thanks so much, I'll close the thread.


Read directory bug ?

Describe the bug
Data/mydir is a directory, and there is a file Data/mydir/test.txt.
The c file is uploaded as
test-c.txt
The wasm file is uploaded as
test-wasm.txt
To Reproduce
Change Data/mydir into 0600 (rw- --- ---)
using command wazero run -mount=./Data test.wasm
Expected behavior
Print:
.
..
test.txt

wamr，wasmedge and native (gcc test.c -o test and ./test) print this message.
Actual behavior
Print:
Enter fd_readdir.
opendir: Permission denied

Environment (please complete the relevant information):
Ubuntu 20.04
x86_64
wazero 1.5.0

Sorry, I feel confused. Isn't this a bug? Why is Wazero not producing the correct results? I am not quite sure.


chore(deps): update dependency typescript to v5.4.2

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

typescript (source)
5.3.3 -> 5.4.2

Release Notes

Microsoft/TypeScript (typescript)
v5.4.2: TypeScript 5.4
Compare Source
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the

fixed issues query for Typescript 5.4.0 (Beta).
fixed issues query for Typescript 5.4.1 (RC).
fixed issues query for Typescript 5.4.2 (Stable).

Downloads are available on:

NuGet package

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "after 8am and before 4pm on tuesday" in timezone Etc/UTC.
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

This PR has been generated by Renovate Bot.

Closing in favour of #296


Azure Function Apps v2/v3 End of Support

Are there any plans to upgrade functions from version 3 to 4?
Beginning on December 3, 2022, function apps running on versions 2.x and 3.x of the Azure Functions runtime can no longer be supported.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-versions?tabs=azure-cli%2Cin-process%2Cv4&pivots=programming-language-csharp
as per previous request: https://github.com/OfficeDev/microsoft-teams-apps-company-communicator/issues/791

@AnotherCorto Thanks for highlighting this. We do have backlog item created to upgrade the azure function version to 4 and we will be taking it in upcoming releases.

@AnotherCorto , The next version of Company Communicator i.e.,v5.3 yet to release will have a updated version of Azure function we use of v4. For now, we are closing this request as we have provided the inputs for the query raised. If you face any issue with company communicator please raise a new issue for further assistance.


importing helm charts support

The idea is to transfer the helm chart, translate variables into an inventory reclass class and yaml structure to json/jsonnet. Still uncertain about go templates support, but it will either be translated into reclass references or we'll package kapitan with the go templating library.

@ramaro  Can explain what you mean by it will either be translated into reclass references or we'll package kapitan with the go templating library. .
Does packaging kapitan with go templates, means to create a c shared object and create python bindings for it?
And i didn't understand the reclass references part?

I am not able to find support (or any lib) which provides bindings for go templates lib. I search on pypi and google search too. For helm, a lib named pyhelm is there. It uses protoc to compile protobuf messages to python. So, that gRPC communication to tiller can happen from python. It is basically a helm client. It can load charts but it doesn't render them, just sends them to tiller where they are used.

We don't want to take the tiller approach. We want instead a new helm input type which we can compile. For this we'll need to build a golang templating library that is loadable from python (c bindings).
By inventory references, I meant that values will get translated/copied into new inventory component classes (prefered) or we'll need to change kapitan to read values.yml from elsewhere other than the inventory (not great)

why would we need to load values.yml into inventory? wouldn't it be easier to just make the new helm input type with options that translate to helm's cli options? For example, writing this:
parameters:
  kapitan:
    compile:
      - input_type: helm
        output_path: manifests/istio.yml
        input_path: path_to_istio/helm_package
        values_path: overrides.yml
        name: istio
        namespace: istio-system
        set_values:
          - grafana.enabled: true
          - servicegraph.enabled: true

would have the same effect, when compiling, as calling helm directly like so
helm template path_to_istio/helm_package --name istio --namespace istio-system \
     --set grafana.enabled=true \
     --set servicegraph.enabled=true \
     -f overrides.yml \
     > compiled/target/manifests/istio.yml

Having values.yml loaded into the inventory will keep the experience uniform with the other input types. So you can use the inventory the same way, regardless of the input type.

But is it really necessary? I might be missing something, but I'm failing to see benefits of doing that when accounting for the amount of confusion it will create by cluttering inventory values with the values from external dependencies. It also doesn't make a lot of sense for me: kapitan should be in charge of configuration management and helm would just be another external tool, and having config values flow the other way around would break that premise.
I can see hard to catch bugs happening by not knowing from which external helm dependency a parameter value came, unless some sort of namespacing is used

@uberspot @adrianchifor @ramaro  I have created python bindings for go-template.  It uses ctypes for bindings, here is the link.
It doesn't expose go-template lib functions directly. I wrote a golang function which does the rendering, and takes string as arguments. Python wrapper calls this function, and either sends output to stdout or a file. It is far from complete and doesn't use the best approach. But does render go templates. You can take a look.
I have looked at helm's code, it uses some of its own packages for rendering kubernetes template. We might need them too.

@harsh-98 btw the helm templating library is Sprig


Update imports to reflect move to kubernetes-incubator

LGTM! Press that magic green button!

one sec:
$ grep -R skippbox | head -n 3
script/.validate:       VALIDATE_REPO='https://github.com/skippbox/kompose.git'
script/.build:BUILD_FLAGS=(-tags experimental -ldflags="-w -X github.com/skippbox/kompose/version.GITCOMMIT=${GITCOMMIT}")
Godeps/Godeps.json:     "ImportPath": "github.com/skippbox/kompose",

@dustymabe Good catch. I just check *.go files.

I've updated original commit to include files that I've missed.
I've also added new commit updating links in docs and readme.

LGTM

+1 LGTM
let's merge it , I am testing the build right now, so we can fix quickly if there are remaining issues.

@kadel your write privileges should have transferred....you should try to merge it so we can test that as well ...

merging for tomas, because he is not in front of his computer and we need a working build after the move.


Respect the .gitignore and .mdbookignore files

If you use the root directory of the repository as source directory for mdbook, mdbook-pandoc will copy all files, including the book directory where the output is rendered to, to the output directory. This result in an infinite loop until the disk is full, or the paths are too long to be handled.
mdbook has a not yet merged PR to have a separate .mdbookignore  file similar to .gitignore (see here).
This pull requests implements support for the .mdbookignore and the .gitignore file.

Thanks for the review! I'll wait for the mdbook PR to be merged before reviewing closely.
Can we use the recursive iterator provided by ignore instead of having a recursive copy function?

Thanks for the review! I'll wait for the mdbook PR to be merged before reviewing closely.

Alright :+1:

Can we use the recursive iterator provided by ignore instead of having a recursive copy function?

Sure. I will add this later.


UBC Unit Identifier Link

Process the link UBC Unit Identifier with the relative_url filter (ex. for https://www.cs.ubc.ca/labs/socius/ we want the site root to be https://www.cs.ubc.ca/labs/socius/ not https://www.cs.ubc.ca/).
This is similar to what is done in the nav bar.
See Issue #10

That is great thanks @natashamm!


Enhancement: Improve Hint System for Error Handling in Extension

Hey, thank you for this cool extension, I really like it. But I find it too intrusive to see these hints all around even if I cover all my code with error handlers. So, my suggestions:
Show hints to wrap function calls in try-catch blocks or adding .catch for async functions. When the user made it, remove these diagnostics.
Inside functions, if something throws and the function doesn't have @throws field in its jsdoc comment, show a warning on the function's name. When the user adds this field in jsdoc, remove warning diagnostics.
These changes may improve user experience, because instead of seeing intrusive hints they will focus on covering their code with error handlers.

I just tried the extension, but immediately uninstalled due to lack of this:

Inside functions, if something throws and the function doesn't have @throws field in its jsdoc comment, show a warning on the function's name. When the user adds this field in jsdoc, remove warning diagnostics.

All I want is to ensure that all throws are documented.


Promise not compiling

HI,
when trying to write a promise using async await i'm getting this error after compiling:
"ReferenceError: regeneratorRuntime is not defined"
Is there a way around this or should i just avoid using a promise?
TIA

HI,
when trying to write a promise using async await i'm getting this error after compiling:
"ReferenceError: regeneratorRuntime is not defined"
Is there a way around this or should i just avoid using a promise?
TIA

Hi, Can you provide the complete code to be compiled?

Yeah sure,
barba.init({
sync: true,
debug: true,
transitions: [{
async leave(){
const done = this.async();
pageOut();
await delay(1000);
done();
},
      async enter(){
          pageIn();
      },

      async once(){
          pageIn();
      }
  }]

})
const delay = t => {
t = t || 1000;
return new Promise((done)=>{
setTimeout(()=>{
done();
},t)
})
}
const pageIn = e => {
const tl = gsap.timeline();
tl.set('.content',{opacity: 0})
tl.to('.content',{opacity: 1})
}
const pageOut = e => {
const tl = gsap.timeline();
tl.to('.content',{opacity: 0})
}
using barba.js and gsap for transitions

babel-polyfill (deprecated as of Babel 7.4) is required. You must also install it in order to get async/await working.
https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined


Fix README.md typo

Fix spelling of "prioritised"

Pull Request (PR) description

This Pull Request (PR) fixes the following issues

@arjenz Thanks!


Setting different URL for pack tags

I'm migrating from Webpacker 5 to Shakapacker and option development.dev_server.public: localhost:3035 in config/webpacker.yaml is no longer working.
Since we use separate Docker container to run webpacker-dev-server, I need the pack tags URLs to contain the different port.
I also tried setting dev_server.devMiddleware.publicPath but that doesn't have any effect either.
According to the getPublicPath function,
https://github.com/shakacode/shakapacker/blob/b4ecde115a9676ae23b0c70a2118db65bcdec3f2/package/config.js#L22
I tried setting WEBPACKER_ASSET_HOST environment variable, which worked, but doesn't feel like a proper solution.

@krystof-k If you're migrating from dev_server.public option you might need to use dev_server.client instead as that changed in the webpack setup. It does sound like it's not quite that. I'm thoroughly confused by the publicPath vs client config in webpack.
If you are looking to set the public path, it does seem like WEBPACKER_ASSET_HOST is the only way to set it up at the moment. Agree that having this as a webpacker config option might be reasonable.
Don't know that much about setups like that though, any thoughts @justin808 ?

I'm using the default for dev_server.client and seems to be working all right (however I've not yet tried setting up HMR). This issue was meant to be mainly about setting the URL for pack tags.
Just not sure about the piece of code I linked above, maybe it should just respect the Webpack config.

Hi @krystof-k, I was curious how you got shakapacker (webpacker-dev-server) to work well with rails using docker ?
Because I'm currently encountering an issue where everything builds fine but once I try accessing any page, the rails service can't seem to connect to the webpacker service and ends up recompiling webpack which kind of defeats the purpose of having webpacker-dev-server to reload code automatically

Hi @jwoodrow, my Docker Compose, in a nutshell, looks like this:
services:
  web:
    environment:
      APP_HOST: localhost
      APP_PORT: 3000
      WEBPACKER_ASSET_HOST: http://localhost:3035
      WEBPACKER_DEV_SERVER_HOST: webpack-dev-server
    ports:
      - 3000:3000
    depends_on:
      webpacker-dev-server:
        condition: service_started
    command: bundle exec rails server -b '<IP_ADDRESS>'
  webpacker-dev-server:
    extends:
      service: development
    environment:
      WEBPACKER_DEV_SERVER_HOST: <IP_ADDRESS>
    ports:
      - 3035:3035
    command: bundle exec bin/webpacker-dev-server

Then in webpacker.yml, I have:
development:
  compile: false
  dev_server:
    https: false
    host: localhost
    port: 3035

Feel free to reach me at<EMAIL_ADDRESS>in case it didn't work out, I'll try to help :)

I was missing the compile: false which was at true and didn't cause those issues when running everything on the base machine
Thanks for the help ! 🎉👌


Make resource info endpoints work

Summary
Fix the code that fails resource info.

Codecov Report
Attention: 16 lines in your changes are missing coverage. Please review.

Comparison is base (bb162a7) 72.44% compared to head (f247f35) 72.39%.

Files
Patch %
Lines

...m/github/ambry/clustermap/HelixClusterManager.java
0.00%
15 Missing :warning:

...java/com/github/ambry/clustermap/ResourceInfo.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2678      +/-   ##
============================================
- Coverage     72.44%   72.39%   -0.06%
+ Complexity    11571    11565       -6
============================================
  Files           811      811
  Lines         65883    65893      +10
  Branches       8042     8042
============================================
- Hits          47729    47701      -28
- Misses        15534    15568      +34
- Partials       2620     2624       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


AggregationRefpadBackward failed

Hi Zhao,
when I test image of which height != width, errors occurred.
lib/sa/functions/aggregation_refpad.py
n, c_x, c_w, in_height, in_width = 2, 8, 4, 24, 44
RuntimeError: Function AggregationRefpadBackward returned an invalid gradient at index 0 - got [2, 8, 28, 44] but expected shape compatible with [2, 8, 24, 44]
Looking forward to your response!
LIANG

Thanks!
It is due to four typos in the backward path.
The issue has been addressed in the repo.


[Feat] Add captcha to OPD registration form

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Currently, the form is susceptible to automated bots that can submit fake/ multiple registrations, so to prevent this, there is a need to implement CAPTCHA.
Use Case

It will ensure real individuals are registering for the appointments.
It will maintain data integrity & will prevent spam entries.

Benefits
No response
Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

I want to work on this issue @Luson045 , as it is a critical part in the applications like MedSpace.

Okay 👍🏻

please assign me the task as for gssoc24 extd


Info file variables

The info file is just a simple properties file that may contain variables like:
author.name = Benjamin Eder
author.email = ...

There are two kinds of variables:

Predefined variables like the mentioned above starting with author
Custom variables you'd like to use in the document (for example title, due-date, ...)

The predefined ones need to be included as meta-data to the PDF file that is generated.
The custom ones should be usable in the *.tdt file: for example #VAR, author.name# should be replaced with the defined variable value.

This is rather important, thus pushed to v0.1

Predefined variables will be done with #51

Example

TDI
encoding = UTF-8
language = de

var.version = 0.1.0

TDT
The document version is #VAR, var.version#.
Additionally you don't need the `var` prefix, but it is a nice way
to separate variables from other values that may have another function like `encoding`.
Still you might also just display the encoding value in this document: #VAR, encoding#.


ReferenceError: Promise is not defined during build

Hi,
when I try to build syntaxhighlighter.js - I followed the instructions on the corresponding Wiki page, I get the following exception.
`$> gulp build --brushes=all --theme=default
[12:02:03] Requiring external module babel-register
[12:02:08] Using gulpfile ~/syntaxhighlighter/gulpfile.babel.js
[12:02:08] Starting 'build'...
[12:02:08] 'build' errored after 585 μs
[12:02:08] ReferenceError: Promise is not defined
at bundle (/root/syntaxhighlighter/build/bundle.js:158:10)
at Gulp. (/root/syntaxhighlighter/build/bundle.js:191:7)
at module.exports (/root/syntaxhighlighter/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/root/syntaxhighlighter/node_modules/gulp/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/root/syntaxhighlighter/node_modules/gulp/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/root/syntaxhighlighter/node_modules/gulp/node_modules/orchestrator/index.js:134:8)
at /usr/lib/node_modules/gulp/bin/gulp.js:129:20
at process._tickCallback (node.js:458:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:945:3`
Cheers
Christian

Hi Christian,
although this might already be a zombie issue but I just had the same problem.
Here is how to correct it (also for everyone else, getting this error in future):
Step 1: run npm install es6-promise in syntaxhighlighter root folder
Step 2: add require('es6-promise').polyfill(); as the first line of your gulpfile.babel.js file in syntaxhighlighter's root folder
run your commands and enjoy successful build!
best
Oliver


Which commit fixes CVE-2023-32697?

Hello,
I am the Debian maintainer of sqlite-jdbc, and I would like to fix CVE-2023-32697 in Debian.
Still, we are very close to the release of Debian 12 and it is not possible to upload Version <IP_ADDRESS>, I can only cherry-pick some commits so that changes to the Debian-packaged software remain small.
I feel that commit edb4b8a is the one that fixes CVE-2023-32697, do you confirm? Is it enough if I cherry-pick this only commit?
Thanks a lot for your help,
Best,
--
Pierre

Hi again,
Forgive me for writing again quite quickly, but I feel it is really important to be able to fix the CVE in Debian, while packaging a new upstream version of sqlite-jdbc is unfeasible as we release Debian 12 in less than 2 weeks.
If you had the opportunity to point me to the commit(s) which fix(es) CVE-2023-32697, it would be really super useful.
Cheers,
Pierre

See https://security-tracker.debian.org/tracker/CVE-2023-32697

Hi @Willena,
Thanks for considering my questions. Still, I was concerned about the precise commit as I was willing to backport only this change in an environment in which changing the whole version was too important as a change.
Still, I am confident commit edb4b8a is the one I was looking for, some colleagues also do. Thus I picked it and I am ok with this situation.
Best,
Pierre


Uncomment tests for [:cntrl:] and [:graph:]

Tests for [:cntrl:] and [:graph:] were failing prior to 8.0.0519
on macOS but they should now pass on all platforms.

Codecov Report

Merging #1599 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1599      +/-   ##
==========================================
+ Coverage   74.59%   74.63%   +0.03%
==========================================
  Files          76       76
  Lines      124815   124816       +1
==========================================
+ Hits        93109    93154      +45
+ Misses      31706    31662      -44

Impacted Files
Coverage Δ

src/if_xcmdsrv.c
83.42% <0%> (-0.37%)
:arrow_down:

src/message.c
68.04% <0%> (-0.21%)
:arrow_down:

src/version.c
79.29% <0%> (ø)
:arrow_up:

src/if_py_both.h
76.03% <0%> (ø)
:arrow_up:

src/ex_docmd.c
74.23% <0%> (+0.06%)
:arrow_up:

src/channel.c
83.84% <0%> (+0.09%)
:arrow_up:

src/gui_gtk_x11.c
47.36% <0%> (+0.15%)
:arrow_up:

src/screen.c
74.21% <0%> (+0.15%)
:arrow_up:

src/term.c
54.17% <0%> (+0.18%)
:arrow_up:

src/window.c
81.08% <0%> (+0.53%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


Does not compile with latest version of WIX

Type of issue
Code doesn't work
Description
I downloaded the package and attempted to compile with latest version of WIX and VS2022.  Says that I cannot override TARGETDIR.
Page URL
https://learn.microsoft.com/en-us/dotnet/core/extensions/windows-service-with-installer?tabs=wix
Content source URL
https://github.com/dotnet/docs/blob/main/docs/core/extensions/windows-service-with-installer.md
Document Version Independent Id
83c4d805-1394-90b7-6def-cf809c33ae22
Article author
@IEvangelist
Metadata

ID: e044209a-0802-07c0-7518-208967a3ef02
Service: dotnet-fundamentals

Hey there @Tgueth - I commented on another issue that was posted reporting the same thing, see https://github.com/dotnet/docs/issues/42118#issuecomment-2286411050. The same question goes to you.


[HelpDot] choose a platform by default

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/42982
PROPOSAL:
Tests

Go to https://github.com/Expensify/App/pull/42931
Pull in the changes from this PR.
cd docs && npm run createDocsRoutes && bundle exec jekyll serve --livereload --safe
Go to the Expensify classic > Travel > Edit or cancel travel arrangements
Verify that you only see expensify classic content

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

@GandalfGwaihir please approve the PR to assign internal

Where are the designs for this selector coming from? Did anyone from @Expensify/design give you mockups for this?
I ask because this looks like a weird pattern that I haven't seen elsewhere, where we have some kind of segmented control yet the active tab is in green.

@shawnborton it's from here - https://www.figma.com/design/3OndJZZeOv4xqyLYcbY63e/Help-Site?node-id=1779-842&t=JUL7UdywjdUbnUhp-0
The color of selected tab is wrong tho. Let me fix that

Awesome, thank you!

@shawnborton updated

Nice, that looks better - thanks!

@allgandalf c+ isn't required for this PR because it's related to helpdot

This was designed by me a while back. Looks good design wise now 👍

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.79-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Export only unused gift cards

Export only unused gift cards.

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-4375 Export only unused gift cards

IMO we should add this restriction to ower docs.


Great work on this custom integration

Hi,
Thanks for adding this custom integration on Home assistant.
My son has been using this Diabetic pump almost two years now and all this carelink app junk of medtronic supportwise is a joke.
I was looking at the Java client of Carelink, and thinking about reverse engineering this into python and eventually putting this into home assistant. (engineering background, but facing a steep learning curve on python and Home assistant method)
And now this comes along.. talking about an early christmass present. :-)
On 19th of december i installed the integration into my home assistant instance, and hooked it up to Carelink.
Works great so far. it feels like the polling time often goes to almost 10 minutes before fresh information comes in. but i will monitor that over time.
Looking at the sensor values the Reservoire level does not match with the values is can observe on the pump and app. (half of actual)
And i was wondering the possibilities to add some more sensor values
For Dashboarding
lastSG >> current SG value : already mapped
lastSGTrend >> What is the trend of the SG value with an arrow (values are : DOWN_DOUBLE, DOWN, NONE, UP, UP_DOUBLE)
activeInsulin >> How much insuline is currently active
Daily statistics last 24 hours
averageSG : average SG value
belowHypoLimit : Percentage point time spend below Hypo Value (3,9%)
aboveHyperLimit : Percentage point time spend above Hyper Value (10,0%)
timeInRange : Percentage point time spend in between Hypo and Hyper
Planning data for replacing sensor and Infusion Set
reservoirLevelPercent : percentage of still left insuline
reservoirRemainingUnits : amount of units of insuline in the reservoir
medicalDeviceBatteryLevelPercent : Battery level of the sensor
sensorDurationHours : How many hours remaining on current sensor (countdown of 7 days to zero
Again thanks ever so much for your work already done.. And if there is anyway i can help, by either testing or otherwise. Let me know.

hoi HHuitema,
HomeAssistant offers some great tools to use a sensor's history; this allows you to calculate averages, detect trends, trigger alerts etc.  see https://www.home-assistant.io/integrations/filter/#time-simple-moving-average
things like timeInRange are calculated on the pump or on the carelink site, not sure if these data are provided.
it should be fairly straightforward to configure this with a custom SQL sensor if you're comfortable with that
https://www.home-assistant.io/integrations/sql/

Hi,
Fully agree the daily statistics can simply be generated by Home Assistant.
This integration with HA for me (as a parent) will have greater value if also the SG Trend and ActiveInsuline is part of the sensor values. Then alerting and visually Analysing if a Hypo is about to happen is possible from HA.. :)

Hi, to be honest I'm very surprised anyone beside my wife is using this integration. The sensor available now are only the ones we came up with first. I will take a look at your propositions next week.
About the updating interval. What we have seen the last weeks is the the integration is updating pretty well, but the pump/app are doing a real bad job. Many disruptions between app and pump. But I will keep monitoring to see if there is any way to improve the updates.
Using the values now is only for ballpark estimates right now. We saw on the apple watch it's even worse, because it's updating even less times. The most fun are popups on our wall dashboard with current hypo warnings and requests to make some lemonade. 😀

I just made a new release. Some of the requested sensors are added. Others will come in the next release.
I also changed the update interval from Carelink from 180s to 60s.

Heya. Be careful not to hammer the Medtronic API, they will start blocking that many requests. It may be useful to look at the actual updates of the sensor, there's no point in doing more API calls between updates :-)

Updating every minute seems to be the sweet spot now. The problem is that medtronic says in it's documentation that the pump is uploading data every 5 minutes but the real interval is just all over the place. The longer I make the interval the longer an update can take. The pulls from the api are done in a very nice way for the api so I guess it won't be a problem. Working nicely for about 5 days here now.

But the interval could be something that is configurable so everyone get set it to their own preference.

@hhuitema I just made a new release containing a lot of sensor from your original request. Please let me know if it all works.


fix: updated worker threads docs (per #3164)

Hi, thanks for the PR. Given this will affect the use of ava with Node.js native modules in general, perhaps the ava docs might be a more appropriate place for this?

Commit https://github.com/lovell/sharp/commit/4a37a27cca34782a213e4ac7773299476a6c294b prevents dlclose from unloading the sharp binary on Linux and will therefore remove the Worker Thread problem entirely. This will be in v0.33.0. Thanks again for taking the time to submit a PR to improve sharp.


ShowModal method added

Given the limitations on what you can do with the accessory view you manually create on a window, I've worked up a dynamic system of generating the view fresh for each new use. It provides a good clean starting point to work from.

Added support for ShowModal and a recommendation to use Timer.CallLater in NSSavePanel_ItemsSelected.

Going forward, I'm going to need you to separate your pull requests.
I have no interest in the "dynamic accessorypanel" change. That just makes it harder for someone to quickly set up and use the class.
As for the Timer.CallLater recommendation, That's something that should be as a feature request, not implemented and commented. The problem with Timer.CallLater is that the target isn't guaranteed to be there when the call eventually happens, which would lead to a NilObjectException that the user can't catch.
I'm happy to merge the runModal change if you'll put it in a separate pull request.

Will split.
I found it almost impossible to use without the dynamic accessory panel. Moving or rearranging the panel in any way fails completely if the same panel is used more than once. simply opening and pressing cancel caused it not to work again.

The only thing left should be the ShowModal. The other items have been reverted. The Timer.CallLater was only a comment, not an implementation, but is removed.
I've been looking to  try and add a help button to the Open / Save dialogs, but can't find an option for it in the Apple documentation. I don't suppose there is one?

Yes, I thought of that, but it kinda violates Apples guidelines for help buttons.


#2874: Fix for error git submodule status: fatal no submodule mapping…

[x] I have signed the Contributor License Agreement.
[x] This pull request is related to an issue.

Fix for #2874.
Now this sequence of commands works just fine:
git clone https://github.com/microsoft/winget-cli.git
git submodule status

Microsoft Reviewers: Open in CodeFlow

/azp run


DATA RACE

The template below is mostly useful for bug reports and support questions. Feel free to remove anything which doesn't apply to you and add more information where it makes sense.
1. Issue or feature description
https://github.com/Project-HAMi/HAMi/actions/runs/10262928970/job/28393664058
2. Steps to reproduce the issue
3. Information to attach (optional if deemed irrelevant)
Common error checking:

[ ] The output of nvidia-smi -a on your host
[ ] Your docker or containerd configuration file (e.g: /etc/docker/daemon.json)
[ ] The vgpu-device-plugin container logs
[ ] The vgpu-scheduler container logs
[ ] The kubelet logs on the node (e.g: sudo journalctl -r -u kubelet)

Additional information that might help better understand your environment and reproduce the bug:

[ ] Docker version from docker version
[ ] Docker command, image and tag used
[ ] Kernel version from uname -a
[ ] Any relevant kernel output lines from dmesg

/assign


Client Allocation Request for: InK ent.

Client Allocation Questions
Core Information

Name: InK ent.
Website / Social Media: http://inkent.co.kr/
Region: Asia excl. Greater China
DataCap Requested: 1 TiB
Addresses to be Notarized: f1u2hqlk32xsub5st4bwowvvkup7qjwqpyhqr5ddi
Notary Requested: dannyob

Hi @inkent92 , could you re-apply this, your first application, with a local regional notary serving Asia excl. Greater China? Options are: MathWallet, Blotocol Japan, or 12ships Foundation. Thank you-


Fix function comments based on best practices from Effective Go

Every exported function in a program should have a doc comment. The first sentence should be a summary that starts with the name being declared.
From effective go.
I generated this with CodeLingo and I'm keen to get some feedback, but this is automated so feel free to close it and just say "opt out" to opt out of future CodeLingo outreach PRs.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks like these changes, few as they are, are pretty solid. Let me know if you find this useful :smile: If not, are there any fixes I can do to make it useful?
Note: I've only updated functions that CodeLingo can rewrite nicely, but you can install it on GitHub to review your PRs automatically and find all issues.


combine same-tile explosions in the same tick

About the PR
if multiple explosions happen in the same tick, and theyre within a tile of eachother, they will combine TotalIntensity making a bigger explosion.
Why / Balance
previously if you set off an entire c4 bundle you get a tiny explosion that instagibs anything inside it due to the stacking of 1 c4 damage x12
now it scales intensity so you get up to MaxIntensity damage
same argument for hot soup, instead of instagib from ied in a tiny radius you get a big fireball that does small damage
it also might help with processing overhead a bit since its just checking (usually) 1 explosion and seeing if it fits instead of having to handle each one individually
it also means less noise spam
Technical details
changed queued explosions from being a Func<Explosion?> to a new class QueuedExplosion, which is the args of SpawnExplosion (nothing else was used so using Func was unnecessary). there is also a hashset _queuedExplosions which it looks up (i assume a queue cant be non-destructively iterated idk) nearby explosions in this tick
it might be worth also increasing maxIntensity somewhat (though not just adding since that would roughly make stacked explosion sizes the same as before) so it also increases damage not just radius
Media
clip from livrah's hot soup video real :trollface: (signal ied is vv'd)
https://github.com/space-wizards/space-station-14/assets/39013340/8604a757-8bae-4d39-883a-660648da7176

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
its private so no
Changelog
:cl:

tweak: Multiple bombs exploding at once on a tile now combine to have a larger explosion rather than stacking the same small explosion.

What if a pep combine it with syndicate bomb?
Wouldnt it will lead to MORE devastatation?

can only combine same explosion type so c4 bundle and minibomb are separate

God if only some bombs fly out in little clusters and also explode as they cook off

me buying 3 minibombs and destroying half the station:


Search service SKU

Does the sku for the Search service need to be 'standard' (i.e. Standard S1)? Is quite an expensive resource at that sku, could maybe drop the default to Basic?
Thanks

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

N/A

Any log messages given by the failure

N/A

Expected/desired behavior

N/A

OS and Version?

N/A

Versions

Latest

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Basic should work, but you can't use the free tier as Managed identity is not supported with the free tier.

There is a doc explaining how to run this in low cost mode that may help!
https://github.com/Azure-Samples/azure-search-openai-demo-csharp/blob/main/docs/deploy_lowcost.md
Best


Improve nuxt.md with example of VitePwaManifest component

Adding a copy paste example make the instructions more clear.

@DavidDeSloovere thx for the example, I've include in the new Examples section.


DBZ-3586: No viable alternative at input "add COLUMN optional"

MySQL permits "optional" keyword to be used as an identifier.

Submitted also upstream: https://github.com/debezium/debezium/pull/2436


Revise output of checktask

Left pad single digits with 0's
Change "any" to "any month"

can i work on this issue?

Sure, let me know if you need a hand at all! If you fork the repo you should be able to make a pull request into it


Add support for Scala 3

Includes version bump of 2.13 to 2.13.6 (and some small dep bumps) and some syntactic rewrites to make it work without better-monadic-for.

I think this is missing sbt githubWorkflowGenerate

I think this is missing sbt githubWorkflowGenerate

Indeed. I just ran & pushed :)


incorrect information about newlines

Look at https://github.com/microsoft/AdaptiveCards/issues/1984
newlines in text require \n\n not \n as this page tells you.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 001a12ea-30fa-d626-18a9-02a518bfb37f
Version Independent ID: e5f5f69e-66e9-d1b2-e19a-485d0ffcd6fa
Content: Text formatting in cards - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-format.md
Service: msteams
GitHub Login: @surbhigupta
Microsoft Alias: surbhigupta

Hello @bzuidgeest - Thanks for raising your query.
We will look into it and let you know the updates.

@bzuidgeest - This section mentions to use \n\n for newlines in the TextBlock - https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format?tabs=adaptive-md%2Cdesktop%2Cconnector-html#newlines-for-adaptive-cards

You are right, I must have missed that last sentence. Sorry for the inconvenience.


Easily Support Edge WebDriver Download

For Chrome and IE selenium-grid-extras supports the automatic download of webdrivers. For Edge this capability is missing. Now there is an easy way of setting up EdgeWebdriver:
EdgeDriverManager.getInstance().setup();

For more details see: http://stackoverflow.com/a/33461095

I am not a fan of the method used in that project you linked. It uses the HTMLUnit driver to go to the page and download it. Plus it seems like it just goes to the latest URL that is given in the config file. So our auto update for EdgeDriver would depend on that other project to update their config file. Please let me know if I missed anything. I will still think of ideas for this.

I asked someone at Microsoft if there is a link to the latest version and he sent me this link :
https://download.microsoft.com/download/1/4/1/14156DA0-D40F-460A-B14D-1B264CA081A5/MicrosoftWebDriver.exe
However, that doesn't give us a version number. One thing we could do, is auto-download it each time. It is under 1MB, so wouldn't be that terrible. Anyone else have ideas?

I think that's not good idea because there are different drivers for different versions on Windows
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

@mstankovic86 Oh ok, thanks for the heads up.

Another solution, is instead of having the auto-upgrade of the EdgeDriver, we could ask the user what version of Edge do they have (or guess it, like we do for Chrome and Firefox), and download the corresponding EdgeDriver from https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ .

that would be great!

If anyone is available to work on this, please feel free. I can post back here when I find time, but it probably won't be for a few weeks.

Any update on this?


Make FEN strings from plain ASCII boards

It would be nice the to "invert" the function position-set -- using the data in the form position-set returns to make FEN strings.
A logical extension of that new feature would be to parse and convert to FEN strings the chessboard positions given as plain text.
 n . .]
[. p . N P . .  P .]
[. . . P . . . .]
[P . P . K . . .]
[q .

5 .

4 .

3 . . . . . . . .

2 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙

1 ♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖

    A   B   C   D   E   F   G   H
  +---+---+---+---+---+---+---+---+
8 | r | n | b | q | k | b | n | r | 8
  +---+---+---+---+---+---+---+---+
7 | p | p | p | p | p | p | p | p | 7
  +---+---+---+---+---+---+---+---+
6 |   |   |   |   |   |   |   |   | 6
  +---+---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |   | 5
  +---+---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |   | 4
  +---+---+---+---+---+---+---+---+
3 |   |   |   |   |   |   |   |   | 3
  +---+---+---+---+---+---+---+---+
2 | P | P | P | P | P | P | P | P | 2
  +---+---+---+---+---+---+---+---+
1 | R | N | B | Q | K | B | N | R | 1
  +---+---+---+---+---+---+---+---+
    A   B   C   D   E   F   G   H

The chessboards above are used in Large Language Model (LLM) prompts and related chess playing interactions.
Personally, I am most interested in the first two. The third one is "bonus."

 n . .]
[. p . N P . .  P .]
[. . . P . . . .]
[P . P . K . . .]
[q . . . . . b .]

r1bk3r/p2pBpNp/n4n2/1p1NP2P/6P1/3P4/P1P1K3/q5b1

PR's are welcome for the other ascii representations are needed :)


[Bug] [startrock] feNodes parameter verification problem

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
The feNodes parameter cannot be empty. The array is not checked to see if it is empty
What you expected to happen
throw exception when check fenodes parameter
How to reproduce
check fenodes can not empty
Anything else
No response
Version
master
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

pr merged. close #1572


Pods are not able to communicate among itself, if pods are distributed in multi cluster environment and calico network policies are applied

Calico policies for two-cluster Kubernetes with DB pods spread across two Kubernetes clusters
Following is our deployment architecture
MDC.pptx

Two Kubernetes clusters (A & B ) for high availability  in Active-Active mode
Separate application instances in each Kubernetes cluster.
DB is spread across both the clusters for quick and effective synchronization when one cluster goes down
a. 2 DB pods running in  cluster A and 2 DB pods in cluster B
We have applied global calico policies for restricting ingress ports.
We have applied calico network policies including to all the microservices  (including database ) to restrict unauthorized access by using labels

Expected Behavior

With the Calico network policy implemented for DB along with other micro services, the application should work.
Current Behavior

While the application is coming up, DB pods are unable to connect and remain in another state.
Once we remove the calico network policy for DB, the application is coming up and working properly.
Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Calico version
Client Version:    v3.18.2
Git commit:        528c5860
Cluster Version:   v3.20.0
Cluster Type:      k8s,bgp,kubeadm,kdd
Orchestrator version (e.g. kubernetes, mesos, rkt): Kubernetes v1.19.3
Operating System and version:  CentOS Linux release 7.5
Link to your project (optional):

@gvssaikishore sounds potentially like your policy is cutting off traffic that is required for your app to work.

@caseydavenport
Yes that what is exactly happening. So we would like to know is there any work around or any pointers do you have on the above.
Currently Network template policy, validate pods using label selectors within the cluster, what every the label which we added in cluster-B will not validate. (Expected behavior: We need to restrict access to (Postgres and Mongodb) DB  from outside, and need to allow access only from cluster-B )

It's hard for me to suggest the correct policy when I don't know the application requirements itself and which traffic isn't being allowed that should be - the first step is going to be to identify which app traffic is not allowed by your network policy, and then we'll need to craft an appropriate rule to allow that traffic as restrictively as possible.


Flowbite data-dismiss-target not working with turbo_stream

Running into an issue when using turbo_stream.prepend for flash messages and flowbite toasts. I can dismiss a toast when the page initially loads, but cannot dismiss the toast when a partial is rendered through turbo_stream:
controller.rb
format.turbo_stream do
  flash.now[:notice] = "Action taken"
  render turbo_stream: turbo_stream.prepend("flash", partial: "layouts/flash")
  ...
end

_flash.html.erb
<% flash.each do |flash_type, message| %>

        <svg aria-hidden="true" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path></svg>
        Check icon

<%= message %>

    <button type="button" class="ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700" data-dismiss-target="#toast-success" data-controller="dismiss" aria-label="Close">
        Close
        <svg aria-hidden="true" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
    </button>

<% end %>

application.html.rb
<%= turbo_frame_tag id="flash" do %>
  <%= render "layouts/flash" %>
<% end %>

Expected behavior
When a partial is loaded through turbo_stream actions, the Dismiss functionality continues to dismiss the Toast notification

Hey @miahabdu,
Did you include the Turbo specific CDN or JS file as described in our official Ruby on Rails 7 guide?
There's a special flowbite.turbo.js file for this:
import "flowbite/dist/flowbite.turbo.js";

Or via CDN it would be:

Cheers,
Zoltan

Hey @zoltanszogyenyi - the flowbite.turbo.js is loading:

Hi, I follow the official installation guide for Rails with importmaps.
I have pin "flowbite", to: "https://cdnjs.cloudflare.com/ajax/libs/flowbite/1.6.4/flowbite.turbo.min.js" in my importmap.rb file
and import import "flowbite" in my application.js file. Everything works fine until I want to apply the fix for turbo streams for the comment above. When I add import { initFlowbite } from "flowbite"; to my Stimulus controller I get an error:
The requested module 'flowbite' does not provide an export named 'initFlowbite'.
Can anybody help me with that?

@zoltanszogyenyi any update on my previous post? I'd love to use Flowbite but it's a blocker for me at this point.

After update of flowbite, old soluction (https://github.com/themesberg/flowbite/issues/499#issuecomment-1483139308) does not work.
Now, to resolve your problem you can do:
import { Controller } from "@hotwired/stimulus";

export default class extends Controller {
  initialize() {
    window.initFlowbite();
  }
}

<%= turbo_frame_tag id="flash" do %>

    <%= render "layouts/flash" %>

<% end %>


Lualatex can't find mysql.so

Hi!
I just don't seem to be able to get DBI to work from lualatex although it works fine from a plain lua script. This is what I get on the console:
)) (/usr/share/texmf-dist/tex/luatex/luapackageloader/luapackageloader.sty)./DB
I.lua:53: Cannot load driver MySQL. Available drivers are: (None)
stack traceback:
        [C]: in function 'error'
        ./DBI.lua:53: in function 'DBI.Connect'

when there are only two lines of code:
\luadirect{
local DBI = require("DBI")
local dbh = assert(DBI.Connect("MySQL","serge", "serge", "serge", "localhost", 3306))
}

Lualatex stop yelling when I leave only the first line where it just requires DBI, so it seems there is something in DBI.lua it does not like. And that means there is something wrong with function available_drivers()...

You are probably missing the MySQL driver. Drivers are typically seperate packages not included with the core DBI module. Look for something like luadbi-mysql, luadbi-dbd-mysql, dbd-mysql or similiar in your package manager.

Those are in place in /usr/lib64/lua/5.3/dbd/
[serge@yarilo 5.3]$ pwd
/usr/lib64/lua/5.3
[serge@yarilo 5.3]$ ls dbd/
total 72
24 mysql.so  24 postgresql.so  24 sqlite3.so
[serge@yarilo 5.3]$

I can also see that kpsewhich can find it
[serge@yarilo 5.3]$ kpsewhich mysql.so
/usr/lib64/lua/5.3/dbd/mysql.so
[serge@yarilo 5.3]$ kpsewhich DBI.lua
/usr/share/lua/5.3/DBI.lua
[serge@yarilo 5.3]$

How is that possible?

I changed the code and explicitly told where to look for the drivers:
   \directlua{
     package.cpath = "/usr/lib64/lua/5.3/?;" .. package.cpath
     print(package.cpath)
     local DBI = require('DBI')
     local dbh = assert(DBI.Connect("MySQL","serge", "serge", "serge", "localhost", 3306))
   }

it shows the correct paths all right but still can not load the driver:
(/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd)package.cpath:  /usr/lib64/lua/5.3/?;/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so
./DBI.lua:53: Cannot load drive
r MySQL. Available drivers are: (None)
stack traceback:
        [C]: in function 'error'
        ./DBI.lua:53: in function 'DBI.Connect'
        [\directlua]:1: in main chunk.
l.10    }

Possibly some other error is occuring and being masked by DBI.lua. From inside Latex, try "require 'dbd.mysql'"


Jellyfin crashing a few seconds after starting

Please describe your bug
I set up jellyfin again after removing it (I changed too many settings and nothing worked properly), and it worked fine for the day. But the next day (the pc was shut down during the night) I tried to use it again but the server just crashes after around 3 seconds after being opened.
Jellyfin Version
Other
if other:
I don't know tbh, most likely the latest as this issue started around a week ago
Environment
- OS: Windows 10 Pro 22H2
- Virtualization: My PC I guess
- Clients: Browser
- Browser: latest Chromium version
- FFmpeg Version: I don't know
- Playback Method: I don't know
- Hardware Acceleration: NVENC I think
- Plugins: none I think
- Reverse Proxy: none
- Base URL: I don't know what that is
- Networking: I don't know
- Storage: Server on boot ssd, content on hdd in my pc

Jellyfin logs
No response
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
Found these in the event viewer

Code of Conduct

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

This is happening to me as well.
Installed on a Windows server 2019, Jellyfin ran perfectly for about two weeks.
As of yesterday, it closes the second it opens.
IE: Double-click the icon on the desktop, the tray icon shows up, then disappears immediately.
Restarting the machine (JF set to auto start) gets the same result.

Facing the same issue today after updating my Windows 11. Jellyfin is not able to open the server page and keeps crashing.

I gave up. Nobody ever responds to help and the software is loaded with issues.
I switched to Emby


Allow toggling min filter, allow min filter on any node

Enhancements

Allow setting a minimum build constraint on any display node (also includes a DB migration)
Allow quickly enabling/disabling min filters

Fixes

Fix text alignment/spacing in optimization target selector

If this comes out in the same patch as Layla, just need to update the comments for the migration versions

Marking as draft until I have time to fix this
https://discord.com/channels/785153694478893126/1044854189714591804/1045275888121548840

Ready again


Empty fields should not be saved to Realm/Atlas

If a field is empty, it should not be saved as "empty string" in Atlas, the document should be sparse. If it's possible, the same for Realm, to minimize data being sent back and forth.As of Monday, 18 May 2020 we're not ready for this to be done. We first need to get iOS, Android, web and Atlas working with a common data set. After that, I will assess whether making simple fields optional works with Realm Sync - and then we will decide whether to proceed.

Waiting on Andrew to test if we're ready yet, he will test when he removes the ViewModel from iOS.

This isn't how Realm sync works. If the field exists in the mobile app's Objects then they will be in the Atlas document.
Issue https://github.com/WildAid/o-fish-android/issues/297 created to make lastDelivery optional


bug fixes for SITL cmake files

Fixes the following error by changing the 'config_sitl_rcS' path to 'posix-configs/SITL/init/'. Before, there was the following error at 87% when running 'make posix_sitl_default gazebo':
[ 87%] Built target rotors_gazebo_motor_model
make[1]: *** [all] Error 2
FAILED: cd /Users/$USER/src/Firmware && Tools/sitl_run.sh posix-configs/SITL/init/rcS none gazebo none /Users/$USER/src/Firmware/build_posix_sitl_default
ninja: build stopped: subcommand failed.
make: *** [posix_sitl_default] Error 1

What exactly are you fixing here?

Rebased and applied.


add log flags to cobra command flagsets

Issue Description
In the sealer's logger directory, I found some log adapters which are fileLogger, consoleLogger and connLogger. The sealer just uses the console logger and it cannot be defined by setting sealer command line flags. So I suggest add flags which allows users to specify their adapters and add flags which can affect the log behavior. For example, the fileLogger has the Filename option and currently it cannot be set by command line flags. By adding the flag to the cobra command, users can define which file to save the sealer's log to.
Type: feature request
Describe what feature you want
Additional context
Add any other context or screenshots about the feature request here.

Logs are saved in /var/lib/sealer/log by default, and log configurations can be defined in the /root.sealer.json file.


How can we know the function invocation details of automatically generated exploits?

For example, in the Test contract in Quick Start, I guess the exploit will be first to set up a new transaction by invoking new_transaction(), second to change owner by invoking set_owner() and then lastly to steal the money by invoking approve(). But how can we know these invocation in a randomly given potentially vulnerable contract?

Taking the test contract from the quick start:
The generated exploit it
eth.sendTransaction({from:"0x0000000000000000000000000000000000001234", data:"0x7cb97b2b0000000000000000000000000000000000000000000000000000000000001234", to:"0x4000000000000000000000000000000000000000", gasPrice:0})
eth.sendTransaction({from:"0x0000000000000000000000000000000000001234", data:"0x0129ab2700000000000000000000000000000000000000000000000000000000000012340000000000000000000000000000000000000000000000016bc75e2d63100103", to:"0x4000000000000000000000000000000000000000", gasPrice:0})
eth.sendTransaction({from:"0x0000000000000000000000000000000000001234", data:"0xa53a1adfce9e2ef9fe2568f35b22f98bb749862a13e0abd291c6ba4967016d629412829d", to:"0x4000000000000000000000000000000000000000", gasPrice:0})

Since the test contract was compiled from Solidity, it follows Solidity's calling convention of
function id (4B) | first argument (32B) | [second argument (32B) ...]

The function id is computed as the first four bytes of the keccack256 hash over the function signature. In the test contract we have

Function
Signature
ID

approve(bytes32 token)
approve(bytes32)
a53a1adf

new_transaction(address to, uint amount)
new_transaction(address,uint256)
0129ab27

set_owner(address new_owner)
set_owner(address)
7cb97b2b

Looking at the transaction's data fields we can then decode the first transaction as:

function: 7cb97b2b (= set_owner(address new_owner))
first argument (new_owner):<PHONE_NUMBER>000000000000000000000000000000000000000000000000001234

The second transaction as

function: 0129ab27 (= new_transaction(address to, uint amount))
first argument (to):<PHONE_NUMBER>000000000000000000000000000000000000000000000000001234
second argument (amount):<PHONE_NUMBER>000000000000000000000000000000000000016bc75e2d63100103

And the third transaction as

function: a53a1adf (= approve(bytes32 token) )
first argument (token): ce9e2ef9fe2568f35b22f98bb749862a13e0abd291c6ba4967016d629412829d

Note however, that this only works as long as you know that the target contract follows Solidity's calling convention and you know the function IDs or signatures.

Thanks for the quick response. Assuming that the target contract follows the Solidity's calling convention, you say this only works when you know the function IDs or signature, but since this exploit is generated automatically, I guess that your tool also can extract function IDs? If so, where in the code do you do it?

Thanks to the power of symbolic execution, we don't. In fact, teEther is completely agnostic of this calling convention. In the example case it just "learns" that in first transaction the first four bytes have to be 7cb97b2b in order to take the correct path in the control flow graph.

Oh so you directly get this id from the id checking bytecode in the beginning of the function when executing the symbolic execution, right?

Exactly!

Thanks a lot!