/opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:375:in `parse_response': [WinRM::FS::Core::FileTransporter] Upload failed (exitcode: 1) (WinRM::FS::Core::FileTransporterFailed)

==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
/opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:375:in `parse_response': [WinRM::FS::Core::FileTransporter] Upload failed (exitcode: 1) (WinRM::FS::Core::FileTransporterFailed)
? : Cannot bind argument to parameter 'Path' because it is an empty string.
At line:8 char:33

function folder($path){ $path | ? {-not (test-path $)} | % {$null = mkdir
$}}

                            ~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Where-Object], ParameterBindin
gValidationException

FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAl
lowed,Microsoft.PowerShell.Commands.WhereObjectCommand
from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:254:in decode_files'  	from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:93:in block in upload'
from /opt/vagrant/embedded/lib/ruby/2.2.0/benchmark.rb:288:in measure'  	from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:92:in upload'
from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/file_manager.rb:112:in block in upload'  	from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/winrm_service.rb:363:in create_executor'
from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/file_manager.rb:110:in upload'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/communicators/winrm/shell.rb:76:in upload'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/communicators/winrm/communicator.rb:173:in upload'  	from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:161:in block in install'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:160:in tap'  	from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:160:in install'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:58:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/provision.rb:80:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/upload.rb:13:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/install.rb:10:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/save.rb:10:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/set_name.rb:50:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/check_accessible.rb:18:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/box_check_outdated.rb:36:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/config_validate.rb:25:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/match_mac_address.rb:19:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/discard_state.rb:15:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/import.rb:74:in import'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/import.rb:13:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/prepare_clone.rb:15:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/customize.rb:40:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/check_accessible.rb:18:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/share.rb:10:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/load.rb:10:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/env_set.rb:19:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-berkshelf-4.1.0/lib/vagrant-berkshelf/action/check.rb:12:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/config_validate.rb:25:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /Users/gforghetti/.vagrant.d/gems/gems/vagrant-ohai-0.1.13/lib/vagrant-ohai/action_configure_chef.rb:16:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/handle_box.rb:56:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in call'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in busy'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:225:in action_raw'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:200:in block in action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/environment.rb:561:in lock'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:186:in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:186:in action'  	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/batch_action.rb:82:in block (2 levels) in run'
from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in call'  	from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in block in create_with_logging_context'

Could you provide a gist of the vagrant output --debug ?

Here is the gist.
https://gist.github.com/gforghetti/de8ac30f7cbc935f77037223209c8bda
Note: this problem does not occur when running with vagrant version 1.81.  Any version vagrant version higher than that and this problem occurs.

Here is the gist.
https://gist.github.com/gforghetti/4125b35e79e533b4b6d22d88ccc2efa2
Note: this problem does not occur when running with vagrant version 1.81. Any version vagrant version higher than that and this problem occurs.

Thats a different error but quite valid. The Vagrant communicator upload interface expects string paths to pass to winrm-fs but some plugins pass a Pathname type. vagrant 1.8.1 was more forgiving here. So will winrm-fs in v2 https://github.com/WinRb/winrm-fs/pull/45 but until that is released, I'll submit a pr tonight to the vagrant-omnibus plugin to ensure it passes strings to upload.

Thanks for the fast turnaround on this Matt.  How soon do you think someone will respond to the pull request to the omnibus plugin?

Its in the chef org and I'm an engineer for chef so I think I can get it released pretty soon - perhaps this week.

Any status update on this?

just pushed v1.5.0 @gforghetti

I just updated the vagrant-omnibus plugin to 1.5.0 and the problem is fixed!
Thanks Matt!


Update package json exports to include type definitions

Defines types in the exports map, so that imports work when leveraging the newer moduleResolution tsconfig values (nodenext, node16, bundler).
More info: https://github.com/microsoft/TypeScript/issues/52363
This is the error when using Vite.js + React + Typescript

Hey ! Could you provide a codesandbox plz ? Because as we already indicate the definitions with the types key in the package.json, your change has no effect (90% sure)
ty

Sure thing.
Here is a codesandbox:
https://codesandbox.io/p/sandbox/rough-pine-6089pq
To reproduce, you need to have typescript 5 and use moduleResolution "bundler" which is new.
In the codesandbox I sent, try running a build, and you will have the error:

thanks


[Help Please] Cannot Open kitty Window on the Focused Display

yabai version: 2.3.0
macOS version: 10.15.3
I am using two external monitors. Then I open the first kitty window on monior-1 and say Safari on monitor-2. Then I make the mouse focus on safari (i.e., monitor-2). Then I hit cmd-enter to open another kitty window (in skhdrc, I set cmd - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~ to open a kitty widow). What I expected is to open this window on monitor-2 next to the Safari window. However, it is open on monitor-1, even though the focus is not there.
How can I open a kitty window on a monitor where the focus is on, instead of the monitor where the first kitty window is created?
Thank you very much!

If Kitty Is focusing its most recently focused window before creating a new one, there's nothing you can directly do about that.
What you can do instead, is save the index of the space you're on before running the command to open a new Kitty window, and then move the focused window to the space you were on originally right after.
For debugging, try taking a look at the log files that yabai creates when ran in verbose mode, and look at the events that happen when you open a new Kitty instance.
Alternatively, you could also have open force a new application instance, but that may have unexpected side effects, as most apps are not built with this option in mind. To do so, run open -n -a Kitty --args --single-instance -d ~, for more info on open -n see man 1 open. I wouldn't recommend doing this unless you have exhausted all other options.

Hi @dominiklohmann, I have been trying to implement this, i.e., opening a new kitty window in the current display instead of the initial display where the first kitty window was created. I think I implemented it successfully but I am not sure whether my implementation is efficient. I will demonstrate the process of my implementation below. Because I am kinda new to Yabai and have little experience. Could you please help me take a look at it and give me some suggestions? Thank you.
My general idea is that press Command + Return to open a new kitty window (it will be open in the initial display) and then move that window to the current display where I press the shortcut.
My First Idea:
I created a script ~/open-kitty.sh
#!/bin/bash

# get the index of the current display
index=$(yabai -m query --displays --display | jq .index)
# open a new kitty window
/Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
# try to move the window to that display
yabai -m window --display $index

And then in .skhdrc, I bind cmd - return to this script.
It doesn't work! Through my testing, the first line is correct to obtain the index of the current display where I press Command + Enter; the second line also can be executed successfully to open a new kitty window in the initial display; However, the third line fails. Then I tried to run this script directly by ./open-kitty.sh in a terminal and I got "could not locate the window to act on!". So it seems that kitty cannot find a window to move, even though the newly-created kitty window is focused automatically. I have no idea why.
My Second Idea
In order to get the newly-created window, yabai signal came to my mind. Through the event window_created, we can get the newly-created window id by $YABAI_WINDOW_ID. Then in my .yabairc, I added:
yabai -m signal --add event=window_created action="~/open-kitty.sh $YABAI_WINDOW_ID" app="kitty"

And then I changed the script to:
#!/bin/bash

# get the index of the current display
index=$(yabai -m query --displays --display | jq .index)
# try to move the window to that display
yabai -m window $1 --display $index

Then in .skhdrc, I changed the binding cmd-return to /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~ to open a new kitty window.
This time, when I press Command + Enter, a kitty window will be firstly created in the initial display. Then the action of the signal will be triggered so that the script will be executed with an argument, the id of the newly-created window.
But it fails again! Because firstly the new kitty window will be open in the initial display instead of the current display, thus the index we get through the first line is the index of the initial display, not the current display.
In my first idea, the script is executed by a shortcut, so I can get the index of the current display where I press the shortcut. However, in my second idea, the script is executed by the signal action, so the index I get is not the current display and instead it is the initial display.
So in this method, even though we can get the newly-created window id, but we cannot get the index of the current display. Then a final idea I came up with was to combine them together.
My Third Idea:
In .skhdrc, I bind cmd - return to the script ~/open-kitty.sh.
Then I changed the script to:
#!/bin/bash

index=$(yabai -m query --displays --display | jq .index)
yabai -m signal --add event=window_created action=" \
  yabai -m window $YABAI_WINDOW_ID --display $index; \
  yabai -m display --focus $index; \
  yabai -m signal --remove 'openkitty'" \
app="kitty" label="openkitty"
/Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~

Bingo, it works!!!! The same as my first idea, because this script is executed by pressing the shortcut, so the index in the first line is the current display where I press the shortcut. Then I create a yabai signal. Because I put the index retrieving and signal creation together in a script file, thus, in the action part, I can use the index and the window id together. The action is to move the window to the current display, change the focus to that display and at the last remove this signal.
I am so glad I figured it out. A little shortcoming is that the process of a window created in the initial display and then moved to the current display is visible, even though it is very transient.
Could you please give me some suggestions about my method and how to improve it? Am I in the correct direction to solve this? Really appreciate it.
Best regards

Did you try Kitty's instance groups?
--single-instance, -1
   If specified only a single instance of kitty will run. New invocations
   will instead create a new top-level window in the existing kitty
   instance. This allows kitty to share a single sprite cache on the GPU
   and also reduces startup time. You can also have separate groups of
   kitty instances by using the --instance-group option

--instance-group=INSTANCE_GROUP
   Used in combination with the --single-instance option. All kitty
   invocations with the same --instance-group will result in new windows
   being created in the first kitty instance within that group

Then you can use an instance group per display:
cmd + alt - return : index=$(yabai -m query --displays --display | jq .index) && \
                    /Applications/Kitty.app/Contents/MacOS/kitty --instance-group=$index --single-instance -d ~

@edward-mb Hi, thank you for your advice. I know in this way, i.e., one instance for each display, I can fulfill my needs, and actually this is what I am doing so far. I am just wondering, as my issue, whether I can use only one instance for all the displays and meanwhile I can open a new window in the focused display.
I know probably this requirement is kinda demanding. I just want to investigate the possibilities by means of yabai. At least it can be regarded as a good exercise to play with yabai. :)

You've got a timing issue: Immediately after spawning the application, yabai already knows that the focused window changed, but fails to act on it. You can work around this by simply retrying.
Here's a simple test case:
#! /usr/bin/env zsh

() {
  emulate -L zsh -o err_return -o no_unset -o pipefail
  local current_display
  current_display=$(yabai -m query --spaces --space | jq -er '.index')
  open -na Terminal
  while ! yabai -m window --display "${current_display}"; do
    sleep 0.05
  done
}

I think this can be considered a bug in yabai (cc @koekeishiya)

@dominiklohmann Okay, thank you.

You've got a timing issue

So you mean that my first idea encounters a timing issue, right? If I launch a new window, yabai already changes the focus to this newly-created window. The reason why I cannot operate this immediately-newly-created window is a bug of yabai, right?
Thanks a lot.

I think this can be considered a bug in yabai

I'm not sure if I agree here. The call that fails is https://github.com/koekeishiya/yabai/blob/master/src/message.c#L1435 which simply requests the focused window from macOS: https://github.com/koekeishiya/yabai/blob/master/src/window_manager.c#L900
When ran with debug_output on, what does the event history look like?

BTW, what do you think my final solution (my third idea)? Is that correct?

Sorry, I was strapped on time yesterday, I was only replying to your first answer.
Yeah it is. Making sure the signal only ever triggers once with the label is the correct way to handle this.
I'd only change a few things:

Remove the signal first
Check for exit codes
Focus the target window (instead of display) at the end

So this diff basically:
-  yabai -m window $YABAI_WINDOW_ID --display $index; \
-  yabai -m display --focus $index; \
-  yabai -m signal --remove 'openkitty'" \
+  yabai -m signal --remove 'openkitty'" &&
+  yabai -m window $YABAI_WINDOW_ID --display $index &&
+  yabai -m window --focus $YABAI_WINDOW_ID

Side note: You can use uuidgen to generate a good label for you for situations like this, to ensure that you can run this script twice without any issues.
@koekeishiya I think I'm going back on considering this faulty behavior. Signals already provide a good API for this, as shown above. The exit code clearly indicates failure, and people should just write more robust shell scripts instead of relying on commands to always work. E.g., it is not a valid assumption that a focused window exists at all times.

@dominiklohmann Wow, thank you so much for your reply and suggestions. I still have two confusions here:

Focus the target window (instead of display) at the end

Actually I have tried this way already but it failed to focus the window. That's why I use --focus display_index instead of --focus $YABAI_WINDOW_ID. I have no idea about the reason why it fails. yabai -m window $YABAI_WINDOW_ID --display $index can successfully move this newly-created window from display-1 to display-2, but yabai -m window --focus $YABAI_WINDOW_ID fails to move the focus, which means the focus still stays at display-1. Any ideas?

Remove the signal first

What is the purpose to remove the signal first instead of removing it at the end? What is your consideration? Thanks.
Really appreciate all of your help.

Just a quick reply; don't have the time right now to investigate the first part. It might be a bug.

What is the purpose to remove the signal first instead of removing it at the end? What is your consideration? Thanks.

In combination with the exit codes it makes it so the following code in the signal can never be run twice. Your version leaves a small window open for the signal to trigger more than just once.

Thank you for your time. I will cc @koekeishiya to take a look at the first part whether it should be considered as a bug.
@dominiklohmann I am still confused about "run twice". Sorry for my slow mind. My original version is
#!/bin/bash

01  index=$(yabai -m query --displays --display | jq .index)

02  yabai -m signal --add event=window_created action=" \
           yabai -m window $YABAI_WINDOW_ID --display $index; \
           yabai -m display --focus $index; \
           yabai -m signal --remove 'openkitty'" \
      app="kitty" label="openkitty"

03  /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~

What my understanding is that: After I press Command + Enter (which is a binding to run this script in my skhdrc), a signal is created by adding a filter app="kitty" (line 02). So this signal will only be triggered once when a kitty window is created. And when it is triggered (by line 03, i.e., open a new kitty window), on the action part, it first moves the window to the focused display, and then it changes the focus to the window, and at the end, it removes this signal.
So it guarantees that each time I press the shortcut keybindings, a signal will be created -> a kitty window will be open -> trigger the signal -> the action part will run -> remove this signal at the end of the action.
So I am confused what situation will make the code in the action part run twice??
Take your time dude. No rush to reply. Just please give me some instructions when you are free. Thank you very much!!!!
Best

Let's say that opening Kitty opens two windows. There exist applications for which this is not unusual.
Open Kitty. Now the first window will trigger the signal. Then, the second window will trigger the signal, if it still exists. Notice that it may still exist.
The way I changed the code, the signal may still trigger twice, but the action does not continue past trying to remove the signal, because removing a signal fails if that signal does not exist.

Okay, I got it. Thank you.

Hi, @yanzhang0219. I ran into this issue last year and wrote a script to solve it. It works pretty well, but kitty still occasionally lands on the wrong display. I sat down to try to troubleshoot it today and found this issue…glad to see I'm not the only one experiencing this.

Hi @noperator, try my script above please and it runs perfectly! Thanks.

Thanks, will do. Just to make sure I'm not missing anything—by the "script above," are you referring to the "Third Idea" in this comment? Have you updated that script at all since 20 Feb to incorporate any suggestions in this comment chain?

@noperator try to use the script below:
#!/bin/bash

# Used by yabai and skhd
# Open kitty window in the current display instead of the display where the
# first kitty window was created.
index=$(yabai -m query --displays --display | jq .index)
yabai -m signal --add event=window_created action=" \
  yabai -m signal --remove 'testkitty' &&
  yabai -m window $YABAI_WINDOW_ID --display $index &&
  yabai -m display --focus $index" \
app="kitty" label="testkitty"
/Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~

Thank you.

Thanks, @yanzhang0219 🙂 I updated my own script to use yabai signals which seems to work well. A few things to note about the newly launched kitty window:
Configuring
If the new kitty window is opened from an existing kitty window, my script will open the new window in the same working directory as the existing kitty window, much like what I'm used to with i3/urxvt on Linux.
Placing
Rather than moving the new window over to the focused display, I opted to:

Check if the new window landed on the focused display and, if not,
Re-insert ("warp") the new window at the previously focused window (i.e., the one I launched the new window from).

That way, it'll always split the previously focused window, instead of landing in a random location on the focused display.
Focusing
Regarding your comment above:

Actually I have tried [to focus the target window] already but it failed to focus the window.

That's because you need to escape the yabai window ID variable within the signal command—i.e., \$YABAI_WINDOW_ID rather than $YABAI_WINDOW_ID—so that the variable's name is resolved when the signal command executes, rather than when the script executes. If the variable name is resolved when the script executes, no value has been assigned to $YABAI_WINDOW_ID yet which simply causes the focus command to fail.

@noperator, thank you so much for sharing your amazing idea. It inspired me a lot.

you need to escape the yabai window ID variable within the signal command

Really appreciate that you figured this out.

Hi everyone, which solution should I implement to fix this? This happens to me with wezterm.

Try yabai -m config window_origin_display focused or yabai -m config window_origin_display cursor

Try yabai -m config window_origin_display focused or yabai -m config window_origin_display cursor

thanks

@koekeishiya I tried both, and it keeps opening the programs in the primary window.

@marcelarie I am having similar issues, with the setting it's more likely to open in the correct space but often it does not. Did you manage to solve the issue?

Having the same problem.


Automated testing / test harness

It would be nice to have some automated tests, so that the library can be quickly regression tested against a fake modbus interface when changes are made. This would reduce the time to develop new features as the library gets more complex.

I created a fake serial class for this very purpose when developing against a Pylontech US3000 battery.
The Serial class looked exactly like the normal one but just returned predefined data when read depending on simple matches which were written to it. It worked at byte-level.
However, for this project I would suggest to create a fake minimalmodbus and fake the data at a slightly higher abstraction level.
It might be a little more complex as EpeverChargeController extends minimalmodbus.Instrument rather than calling it, but that wouldn't be an issue.
We would then write our own fake functions like read_register, read_registers, etc.
I plan to demo this.


BUG-FIX Histogram

Fixed a little BUG on Histogram, which is introduced by me.
And added a UnitTest to avoid this problem.

Great catch! I've made that mistake before too. Surprised I didn't catch that...


Zuul: pem file decryption

Is situation: The zuul role expects that the pem files are not encrypted and can be copied over as-is.
This should be replaced by a logic that allows the usage of ansible-vault pre-encrypted files.

This should be possible on-the-fly by now.


ERR_MODULE_NOT_FOUND'

pnpm run build --experimental-integrations
Debugger listening on ws://<IP_ADDRESS>:32835/cd9a281a-2926-4ceb-9980-5b7319f7b707
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

<EMAIL_ADDRESS>build /home/j/DEV/2706/pure/pure
astro build "--experimental-integrations"

Debugger listening on ws://<IP_ADDRESS>:38863/d96c94cd-8a6e-46c2-bce9-71c05dee7600
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Waiting for the debugger to disconnect...
node:internal/errors:465
ErrorCaptureStackTrace(err);
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@astrojs/sitemap' imported from /home/j/DEV/2706/pure/pure/astro.config.mjs
at new NodeError (node:internal/errors:372:5)
at packageResolve (node:internal/modules/esm/resolve:954:9)
at moduleResolve (node:internal/modules/esm/resolve:1003:20)
at defaultResolve (node:internal/modules/esm/resolve:1218:11)
at ESMLoader.resolve (node:internal/modules/esm/loader:580:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:294:18)
at ModuleWrap. (node:internal/modules/esm/module_job:80:40)
at link (node:internal/modules/esm/module_job:78:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
 ELIFECYCLE  Command failed with exit code 1.

also your npx command doesn't generate
import robotsTxt from "astro-robots-txt";
import astro from "astro-robots-txt";
It generate a bug with the following of your  instructions

i found as a pure beginner  it's not import sitemap from "@astrojs/sitemap"; but its import sitemap from 'astro-sitemap';


Task: Investigate and Document Documentation inconsistency

Description
This task is focused on being the single source of truth for keeping track of what parts of the ALL Wiki need to be updated to reflect the new construction standards when creating a new lab in the codebase. This will be an active thread that will include links and other material to be used to spawn off another series of tasks to be remedied by members of the team.

[ ] Update about section
[ ] Update Reading Section
[ ] Update Quiz information
[ ] Reducers and the Switch to react Context from Redux
[ ] Update Backend Services
[ ] Update Backend Controllers

[ ]  Document Auto Deploy


feature: add interchange serialization

also, add additional fields to interchange, group, and transaction
fixes #11

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Depend onruby-mysql2 instead of ruby-mysql

Author Name: Ruben S. Montero (@rsmontero)
Original Redmine Issue: 4144, https://dev.opennebula.org/issues/4144
Original Date: 2015-11-10

This issue is to evaluate the migration to ruby-mysql2, in particular the sequel (change prefix to "mysql2://") interaction or other libraries dependencies.

Done


Added NiGui

This file: https://github.com/trustable-code/NiGui/blob/master/src/msgbox.nim
Needs to be moved.


Unable to build Node v16 app on Netlify

Describe the bug
I have a sveltekit app that uses top-level await, so nodejs >=16 is required. I selected v16 in my netlify.toml...
[functions]
  node_bundler = "esbuild"

[build.environment]
  NODE_VERSION = "16"
  AWS_LAMBDA_JS_RUNTIME = "nodejs16.x"

[context.production.environment]
  NODE_VERSION = "16"
  AWS_LAMBDA_JS_RUNTIME = "nodejs16.x"

[context.deploy-preview.environment]
  NODE_VERSION = "16"
  AWS_LAMBDA_JS_RUNTIME = "nodejs16.x"

However, the build still fails on Netlify because it tried to build for Node v14:
✘ [ERROR] Top-level await is not available in the configured target environment ("node14")
11:21:55 PM:     .netlify/server/entries/endpoints/index.js:1:13:
11:21:55 PM:       1 │ const name = await Promise.resolve("world");
11:21:55 PM:         ╵              ~~~~~

Strangely, it succeeds locally with npm run build && npm run preview
Reproduction
https://github.com/acarl005/netlify-node16/
Logs
11:21:34 PM: Build ready to start
11:21:36 PM: build-image version: 0e2f4c52031ab562db66aec633308326e3b108d0 (focal)
11:21:36 PM: build-image tag: focal
11:21:36 PM: buildbot version: ed990b4b6588208e959ba45b6b7b05738f8b6004
11:21:36 PM: Fetching cached dependencies
11:21:36 PM: Failed to fetch cache, continuing with build
11:21:36 PM: Starting to prepare the repo for build
11:21:36 PM: No cached dependencies found. Cloning fresh repo
11:21:36 PM: git clone https://github.com/acarl005/netlify-node16
11:21:37 PM: Preparing Git Reference refs/heads/master
11:21:37 PM: Parsing package.json dependencies
11:21:38 PM: Starting build script
11:21:38 PM: Installing dependencies
11:21:38 PM: Python version set to 2.7
11:21:39 PM: v16.15.1 is already installed.
11:21:39 PM: Now using node v16.15.1 (npm v8.11.0)
11:21:39 PM: Started restoring cached build plugins
11:21:39 PM: Finished restoring cached build plugins
11:21:39 PM: Attempting ruby version 2.7.2, read from environment
11:21:41 PM: Using ruby version 2.7.2
11:21:41 PM: Using PHP version 8.0
11:21:41 PM: No npm workspaces detected
11:21:41 PM: Started restoring cached node modules
11:21:41 PM: Finished restoring cached node modules
11:21:42 PM: Installing NPM modules using NPM version 8.11.0
11:21:42 PM: npm WARN config tmp This setting is no longer used.  npm stores temporary files in a special
11:21:42 PM: npm WARN config location in the cache, and they are managed by
11:21:42 PM: npm WARN config     [`cacache`](http://npm.im/cacache).
11:21:42 PM: npm WARN config tmp This setting is no longer used.  npm stores temporary files in a special
11:21:42 PM: npm WARN config location in the cache, and they are managed by
11:21:42 PM: npm WARN config     [`cacache`](http://npm.im/cacache).
11:21:46 PM: ><EMAIL_ADDRESS>prepare
11:21:46 PM: > svelte-kit sync
11:21:46 PM: added 48 packages, and audited 49 packages in 4s
11:21:46 PM: 6 packages are looking for funding
11:21:46 PM:   run `npm fund` for details
11:21:46 PM: found 0 vulnerabilities
11:21:46 PM: NPM modules installed
11:21:46 PM: npm WARN config tmp This setting is no longer used.  npm stores temporary files in a special
11:21:46 PM: npm WARN config location in the cache, and they are managed by
11:21:46 PM: npm WARN config     [`cacache`](http://npm.im/cacache).
11:21:46 PM: Started restoring cached go cache
11:21:46 PM: Finished restoring cached go cache
11:21:46 PM: Installing Go version 1.17 (requested 1.17)
11:21:52 PM: unset GOOS;
11:21:52 PM: unset GOARCH;
11:21:52 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.17.linux.amd64';
11:21:52 PM: export PATH="/opt/buildhome/.gimme/versions/go1.17.linux.amd64/bin:${PATH}";
11:21:52 PM: go version >&2;
11:21:52 PM: export GIMME_ENV="/opt/buildhome/.gimme/env/go1.17.linux.amd64.env"
11:21:52 PM: go version go1.17 linux/amd64
11:21:52 PM: Installing missing commands
11:21:52 PM: Verify run directory
11:21:53 PM:
11:21:53 PM: ────────────────────────────────────────────────────────────────
11:21:53 PM:   Netlify Build
11:21:53 PM: ────────────────────────────────────────────────────────────────
11:21:53 PM:
11:21:53 PM: ❯ Version
11:21:53 PM:   @netlify/build 27.3.3
11:21:53 PM:
11:21:53 PM: ❯ Flags
11:21:53 PM:   baseRelDir: true
11:21:53 PM:   buildId: 62c4ffbecfa6a700080ede34
11:21:53 PM:   deployId: 62c4ffbecfa6a700080ede36
11:21:53 PM:
11:21:53 PM: ❯ Current directory
11:21:53 PM:   /opt/build/repo
11:21:53 PM:
11:21:53 PM: ❯ Config file
11:21:53 PM:   /opt/build/repo/netlify.toml
11:21:53 PM:
11:21:53 PM: ❯ Context
11:21:53 PM:   production
11:21:53 PM:
11:21:53 PM: ────────────────────────────────────────────────────────────────
11:21:53 PM:   1. Build command from Netlify app
11:21:53 PM: ────────────────────────────────────────────────────────────────
11:21:53 PM:
11:21:53 PM: $ npm run build
11:21:54 PM: npm WARN config tmp This setting is no longer used.  npm stores temporary files in a special
11:21:54 PM: npm WARN config location in the cache, and they are managed by
11:21:54 PM: npm WARN config     [`cacache`](http://npm.im/cacache).
11:21:54 PM: ><EMAIL_ADDRESS>build
11:21:54 PM: > vite build
11:21:54 PM: vite v2.9.13 building for production...
11:21:54 PM: transforming...
11:21:55 PM: ✓ 13 modules transformed.
11:21:55 PM: rendering chunks...
11:21:55 PM: .svelte-kit/output/client/_app/immutable/manifest.json                    1.14 KiB
11:21:55 PM: .svelte-kit/output/client/_app/immutable/layout.svelte-8187eef2.js        0.53 KiB / gzip: 0.35 KiB
11:21:55 PM: .svelte-kit/output/client/_app/immutable/error.svelte-61066a60.js         1.56 KiB / gzip: 0.75 KiB
11:21:55 PM: .svelte-kit/output/client/_app/immutable/pages/index.svelte-0f471154.js   0.89 KiB / gzip: 0.53 KiB
11:21:55 PM: .svelte-kit/output/client/_app/immutable/chunks/index-c3650d4a.js         6.84 KiB / gzip: 2.79 KiB
11:21:55 PM: .svelte-kit/output/client/_app/immutable/start-e7de1726.js                23.04 KiB / gzip: 8.73 KiB
11:21:55 PM: vite v2.9.13 building SSR bundle for production...
11:21:55 PM: transforming...
11:21:55 PM: ✓ 12 modules transformed.
11:21:55 PM: Generated an empty chunk: "hooks"
11:21:55 PM: rendering chunks...
11:21:55 PM: .svelte-kit/output/server/manifest.json                        1.22 KiB
11:21:55 PM: .svelte-kit/output/server/index.js                             73.00 KiB
11:21:55 PM: .svelte-kit/output/server/entries/endpoints/index.js           0.16 KiB
11:21:55 PM: .svelte-kit/output/server/entries/fallbacks/layout.svelte.js   0.24 KiB
11:21:55 PM: .svelte-kit/output/server/entries/fallbacks/error.svelte.js    0.72 KiB
11:21:55 PM: .svelte-kit/output/server/entries/pages/index.svelte.js        0.47 KiB
11:21:55 PM: .svelte-kit/output/server/chunks/index-5f038599.js             2.31 KiB
11:21:55 PM: .svelte-kit/output/server/chunks/hooks-1c45ba0b.js             0.00 KiB
11:21:55 PM: Run npm run preview to preview your production build locally.
11:21:55 PM: (node:1365) ExperimentalWarning: buffer.Blob is an experimental feature. This feature could change at any time
11:21:55 PM: (Use `node --trace-warnings ...` to show where the warning was created)
11:21:55 PM:
11:21:55 PM: > Using @sveltejs/adapter-netlify
11:21:55 PM:   ✔ done
11:21:55 PM:
11:21:55 PM: (build.command completed in 2.1s)
11:21:55 PM:
11:21:55 PM: ────────────────────────────────────────────────────────────────
11:21:55 PM:   2. Functions bundling
11:21:55 PM: ────────────────────────────────────────────────────────────────
11:21:55 PM:
11:21:55 PM: Packaging Functions from .netlify/functions-internal directory:
11:21:55 PM:  - render.js
11:21:55 PM:
11:21:55 PM: ✘ [ERROR] Top-level await is not available in the configured target environment ("node14")
11:21:55 PM:     .netlify/server/entries/endpoints/index.js:1:13:
11:21:55 PM:       1 │ const name = await Promise.resolve("world");
11:21:55 PM:         ╵              ~~~~~
11:21:56 PM:
11:21:56 PM: ❯ Failed to bundle functions with selected bundler (fallback used):
11:21:56 PM:    - render.zip
11:21:56 PM:
11:21:56 PM: (Functions bundling completed in 755ms)
11:21:56 PM:

System Info
Netlify

Severity
serious, but I can work around it
Additional Information
Not sure if this is an issue with Netlify or sveltekit, but the discussion on the Netlify forum is here

The same error message also appeared on Vercel.

Not sure about Vercel, but this does appear to be a problem with Netlify's package: https://www.npmjs.com/package/@netlify/zip-it-and-ship-it
Currently, it seems to be capping at a maximum of Node 14. Chances are, even after AWS added support for Node 16, we've not yet added Node 16 as a possible target for bundling.

For future explorers, if this is closed: https://github.com/netlify/zip-it-and-ship-it/issues/1137, it's most likely a new issue.


[WIP] Update annotation declaration syntax and introduce the annotation access expression

Purpose
$title, according to the spec.

Annotations - "Annotations" section under metadata
Annotation Access Expression - "Annotation access expression" section under Expressions

This PR also:

introduces invoke() methods in BRunUtil to accept JVM values to run functions
migrates mime, http utils to use JVM values instead of BValues

Note: .balx generating tasks/modules, where annotations are used, have been disabled since CodeGen (phase) does not work with these changes.
Initial implementation addressing https://github.com/ballerina-platform/ballerina-lang/issues/14352
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, releated PRs, TODO items or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #15884 into jballerina will decrease coverage by 0.12%.
The diff coverage is 5.99%.

@@               Coverage Diff                @@
##             jballerina   #15884      +/-   ##
================================================
- Coverage         13.82%    13.7%   -0.13%
+ Complexity         4389     4364      -25
================================================
  Files              1978     1973       -5
  Lines             91614    91837     +223
  Branches          12758    12769      +11
================================================
- Hits              12669    12586      -83
- Misses            76731    77055     +324
+ Partials           2214     2196      -18

Impacted Files
Coverage Δ
Complexity Δ

.../ballerinalang/compiler/codegen/CodeGenerator.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../ballerinalang/compiler/BIRPackageSymbolEnter.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ballerinalang/langserver/common/LSNodeVisitor.java
3.5% <0%> (-0.03%)
6 <0> (ø)

...ballerinalang/compiler/desugar/ASTBuilderUtil.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...wso2/ballerinalang/compiler/bir/model/BIRNode.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...alang/compiler/semantics/analyzer/TypeChecker.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...java/org/ballerinalang/net/http/WebSocketUtil.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...alang/compiler/tree/BLangAnnotationAttachment.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ompiler/tree/expressions/BLangAnnotAccessExpr.java
0% <0%> (ø)
0 <0> (?)

...lerinalang/compiler/desugar/AnnotationDesugar.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

... and 56 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 36a2143...e304c22. Read the comment docs.

@arukshani, @chamil321 - Can y'all please have a look at the changes to HTTP and MIME tests?


Update build_and_deploy_gh_pages.yml

https://jenkins.code.rdkcentral.com/job/github-triggered/46841/ started

https://jenkins.code.rdkcentral.com/job/build-component/86101/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/12283/ started

Job for AI/job/AI_BUILDS/job/AI-Trigger-PullRequests started: https://pv-jen015.uk2.scp.bskyb.com/job/AI/job/AI_BUILDS/job/AI-Trigger-PullRequests/113/

Sanity tests for ['RPI4 Hybrid'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/36117/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/36122/

'['BCM Reference Refapp2']' Sanity test FAILURE, investigation pending.
Build Job/Num: build-brcm-refboard2/4898
Flash BCMREF [FAILURE]
BCMREF - Video Test skipped [FAILURE]
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-bcmref-refapp2-flow/8448/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/36138/

https://jenkins.code.rdkcentral.com/job/github-triggered/47262/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/12907/ started

Job for AI/job/AI_BUILDS/job/AI-Trigger-PullRequests started: https://pv-jen015.uk2.scp.bskyb.com/job/AI/job/AI_BUILDS/job/AI-Trigger-PullRequests/167/

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/19044/ started.

build-brcm-refboard2 Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/6a5cf4893bda531dd318388e45e0d409

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/12971/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/19127/ started.

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/37383/


Model traversal

One of strong points of scalatags is ability to traverse, extend and transform assembled model before rendering. Unfortunately it is hacky right now - not everything is public and not everything is designed to be accessed by user code.
It could be nice to cleanup scalatags model to be proper AST (but still open for extension). Use cases:

collect used resources and css classes before rendering
declare custom tags and attributes to further control rendering. For example, adding selenium anchors only when tests are requesting the page
transform model before rendering. I use that for CSS renaming.

Other use cases:

Extracting dependencies for web components and adding them to <head>.
Checking that needed dependencies, like css classes, exists.


GLB Animations being Parsed wrong

I have been running into an issue with webaverse recently and bringing my animated glb models into it, in the past it would typically pick up my animations and play them normally, however it seems to be reading animations wrong and applying them to the wrong model it self. A few examples below:

GLB Viewer:  https://sandbox.babylonjs.com/
Loads perfect.
In Webaverse:

Mismatched.

Borgor Train loading fine.

Webaverse is only a patty animated and small.

Just a few examples, I honestly can't tell if this is on my end or if webaverse is reading animation data wrong with something changed.
I have tried on the public app.webaverse.com as well as a self hosted version.
Would love some help here!

TY for reporting, there's ~90% chance this is a bug on our end.
Most likely in this file where GLTF animations are played: https://github.com/webaverse/totum/blob/main/type_templates/glb.js#L56
To debug this it would be helpful to have a sample file that is exhibiting the bug.

TY for reporting, there's ~90% chance this is a bug on our end.
Most likely in this file where GLTF animations are played: https://github.com/webaverse/totum/blob/main/type_templates/glb.js#L56
To debug this it would be helpful to have a sample file that is exhibiting the bug.

Hey Avaer!
Hope you been well :3.
The main scene that is displayed in the post above is all packaged in this repo:
https://github.com/helloama/borgorworld
Primarily the borgor train, ferris wheel, and borgors.

Fixed by https://github.com/webaverse/totum/commit/c967acc293d07f81c7891e16085e1cb5c48a32d0

Fixed by webaverse/totum@c967acc

hugs and kisses


Email template - text is not readable in email subject and email template label

Describe the bug

text is not readable in color combination in email subject and email template label

https://www.berrycast.com/conversations/a98a5381-d48f-5b6f-aa38-1dc5264ca4bf


Add support for left and right separator

Would be nice to have a separator for left and right like lightline has.
Example:
lualine.separator = { left = '',  right = '' }

You're talking about #94 right?

Ah yes that's what I was talking about. I'll close this issue.


nodebuffer is not supported by this platform

I am getting the above error when trying to read an uploaded shapefile in an angular project,
onFileSelected(event: Event) {
const inputElement = event.target as HTMLInputElement;
const file = inputElement?.files?.[0];
const fileReaderJson: FileReader = new FileReader();
if (!file) return;

fileReaderJson.onloadend = (x) => {
  parseZip(x?.target?.result as ArrayBuffer)
    .then((geojson) => {
      alert(geojson);
    })
    .catch((err) => alert(err));
};
fileReaderJson.readAsArrayBuffer(file);

}
the complete source code at the codesandbox url
https://codesandbox.io/p/sandbox/angular-shapefile-reading-s8d4qh?file=%2Fsrc%2Fapp%2Fapp.component.ts%3A11%2C11-11%2C15

Adding to polyfills.ts solved the issue:
global.Buffer = global.Buffer || require('buffer').Buffer;

Thanks, I had to use combine, parseDbf, parseShp to achieve this.


fix: fix filtering of -Djavax.net.ssl.trustStore from output generated by integration test

Follow-up to https://github.com/GoogleContainerTools/jib/pull/3769

And whatever checkstyle wants.


Errors while creating a function in SAP HANA

Which version and edition of Flyway are you using?
flyway ce 6.3.1
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line (docker)
Which database are you using (type & version)?
SAP Hana 2
What did you do?
I'm trying to create a function structured this way:
create or replace function my_test_func(in test_par integer)
returns o_code integer
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
  length integer;
BEGIN
    o_code := test_par;
END;

What did you expect to see?
I expect to have a function created in the DB
What did you see instead?
create or replace function my_test_func(in test_par integer)
returns o_code integer
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
  length integer
	at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.handleException(DefaultSqlScriptExecutor.java:274)
	at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:220)
	at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:127)
	at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.executeOnce(SqlMigrationExecutor.java:88)
	at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.access$000(SqlMigrationExecutor.java:33)
	at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor$1.call(SqlMigrationExecutor.java:77)
	at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor$1.call(SqlMigrationExecutor.java:74)
	at org.flywaydb.core.internal.database.DefaultExecutionStrategy.execute(DefaultExecutionStrategy.java:28)
	at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.execute(SqlMigrationExecutor.java:74)
	at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:366)
	... 21 more
Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257] (at 229): sql syntax error: line 6 col 11 (at pos 229)
	at com.sap.db.jdbc.exceptions.SQLExceptionSapDB._newInstance(SQLExceptionSapDB.java:191)
	at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.newInstance(SQLExceptionSapDB.java:42)
	at com.sap.db.jdbc.packet.HReplyPacket._buildExceptionChain(HReplyPacket.java:973)
	at com.sap.db.jdbc.packet.HReplyPacket.getSQLExceptionChain(HReplyPacket.java:158)
	at com.sap.db.jdbc.packet.HPartInfo.getSQLExceptionChain(HPartInfo.java:40)
	at com.sap.db.jdbc.ConnectionSapDB._receive(ConnectionSapDB.java:3115)
	at com.sap.db.jdbc.ConnectionSapDB.exchange(ConnectionSapDB.java:1518)
	at com.sap.db.jdbc.StatementSapDB._executeDirect(StatementSapDB.java:1419)
	at com.sap.db.jdbc.StatementSapDB._execute(StatementSapDB.java:1398)
	at com.sap.db.jdbc.StatementSapDB._execute(StatementSapDB.java:1383)
	at com.sap.db.jdbc.StatementSapDB.execute(StatementSapDB.java:444)
	at org.flywaydb.core.internal.jdbc.JdbcTemplate.executeStatement(JdbcTemplate.java:244)
	at org.flywaydb.core.internal.sqlscript.ParsedSqlStatement.execute(ParsedSqlStatement.java:111)
	at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:208)

I did perform another test using the following code:
create or replace function my_test_func(in test_par integer)
returns o_code integer
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
    o_code := test_par;
END;

It works without problems. I think the problem is related to the fact that create function (as well as create procedure do not increase the block depth.
I'll see if I can create a PR solving this issue.

Depending on the solution implemented, this example might also create problems (at least it's creating problems to me):
create or replace procedure my_test()
language sqlscript
SQL SECURITY INVOKER
as
    cursor test for
        select table_name,
            case when table_name = 'the_table' then 1 else 0 end
        from tables;

begin
    -- do stuff
end;

Will be fixed in 6.3.2 release.


Add Address-only objects to Buildings layer

Details
Reported by @thebf.
There are objects in OSM with addr:* tags but no other major tags.  Without a building or other tag (shop/amenity/etc) they are simply being skipped.  It's a valid use case to capture these.  It seems building is appropriate grouping, considering the OSM wiki page on addresses: https://wiki.openstreetmap.org/wiki/Addresses.  While some addresses may be simple entrances, POIs, or other, building seems the best catch-all.
Plan

[x] Catch objects with any addr:* tag - but WITHOUT more specific tags exist (e.g. amenity, shop, leisure)
[x] osm_type = 'address'
[x] Update comment to describe the address OSM type since it is non-standard

Questions

Points only?
Points & Polygons?

Added follow-up issue #100.
Resolved this issue in #99. Closing


Make launch-macos script executable

As it stands this script leads to the following error:
$ ./launch-macos.sh
zsh: permission denied: ./launch-macos.sh

That's because the repo doesn't give it execution permissions which this commit resolves by changing the mode from 644 (no one can execute) to 755 (everyone can execute, which is likely safe since this file shouldn't be hosted on any public server AFAIK) via  chmod +x launch-macos.sh).

Good change, thank you!


removed nightly_build.yml

As requested by @gilv, removed the nightly build workflow until new adjustments to the framework will be integrated.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@Cohen-J-Omer thanks


making lean true by default. Breaking change. Closes #132

[ ] Need to include documentation on virtuals when using this option.

I'd like to get #124 in first and make a 3.6 then we can make a 4.0 with this?

@daffl definitely this should wait until #124, #133 and #134 are merged. Just thought I would put this together since I was already in the code.

It looks like everything is ready for this aside from the conflicting files in test/index.text.js.
How can add commits to this PR to fix the conflict (or would I have to create a separate PR)?

I submitted a new PR with the change. Released now as 4.0.0


Update success copy when submitting a new project

I'd be tempted to make that parameterized on the event.requireApproval cc @conoramurphy @DanielBrierton

Again, would be nice for sure.

See https://github.com/CoderDojo/coolest-platform/pull/62

How are you updating the USA branch from master, am I alright to cherry pick https://github.com/CoderDojo/coolest-platform/pull/67

I've mucked this PR up somehow! I'm just going to close it and start again....


gitbutler: 0.12.16 -> 0.13.2

https://github.com/gitbutlerapp/gitbutler/releases/tag/release%2F0.13.0
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@getchoo @techknowlogick I might need some help with this one, getting some build errors that I don't understand
building '/nix/store/l7cql4iy503yh5s0fh8vf4m2h04f5ai2-cargo-vendor-dir.drv'...
ln: failed to create symbolic link '/nix/store/l66xlgix7nfdv9p3sx3ck1qmyswyy8m7-cargo-vendor-dir/gix-attributes-0.22.5/akqzgppwk6adz7z32y3mhcm6fydlz9s7-gix-attributes-0.22.5': Permission denied
error: builder for '/nix/store/l7cql4iy503yh5s0fh8vf4m2h04f5ai2-cargo-vendor-dir.drv' failed with exit code 1;
       last 1 log lines:
       > ln: failed to create symbolic link '/nix/store/l66xlgix7nfdv9p3sx3ck1qmyswyy8m7-cargo-vendor-dir/gix-attributes-0.22.5/akqzgppwk6adz7z32y3mhcm6fydlz9s7-gix-attributes-0.22.5': Permission denied
       For full logs, run 'nix log /nix/store/l7cql4iy503yh5s0fh8vf4m2h04f5ai2-cargo-vendor-dir.drv'.
error: 1 dependencies of derivation '/nix/store/zc2qxzysj23f7ny4s4a7qa0309iv9yrq-gitbutler-0.13.0.drv' failed to build

heading to bed now, but would appreciate if you guys could give some idea where I should look

It's https://github.com/NixOS/nixpkgs/issues/183344. This is the main reason the package hasn't been updated
Sometimes you are able to dedup these by patching, but I wasn't able to here last time I tried. We may need to wait on https://github.com/NixOS/nixpkgs/pull/282798

Closes #335875

note that there are newer 0.13.x out already

Superseded by https://github.com/NixOS/nixpkgs/pull/355366


[TUZ-150] Add a simplified access point for Unity Flow

This PR adds a tvmc like simplified API for accessing the Unity flow. The goal is to provide an extremely simple interface that applies all needed steps of the flow. An example illustrating the API follows:
import tvm.octo
# Compile the model and offload as much as possible
octo_model = tvm.octo.compile("my_model.onnx")
# Benchmark the model
report = octo_model.profile()
# Run specific inputs through the model
outputs = octo_model.run(input_dict)

octo.compile contains utility features like automatically figuring out the current tvm target and generating proper random inputs if not specified.
Going forward, the thought is that new features (such as passes) should land in octo.compile to make sure we have a single place that contains everything needed to get great unity flow results.

I think all feedback has been addressed so I'm going to merge this. The GPU ci instance seems to be having some trouble with Cutlass, which is probably something we should fix but otherwise everything seems to be working as expected. Thank you for all the feedback folks!


ROX-23499: Fetch Collector 3.18.1

Description
This will include the fixes related to falling back on EBPF when using OCP4.12 on Power architecture.
Checklist

[ ] Investigated and inspected CI test results

s390x failed and blocked the publication of the main multiarch manifest, leading to a failure of all the tests. Still, let's merge and the branch build will tell us.


Fix sessions button

Description

This PR aims to resolve https://github.com/source-academy/frontend/issues/2422. As mentioned by @shenyih0ng this issue is related to the switch to AnchorButton. Blueprintjs recommends the use of AnchorButton for tooltips over disabled buttons and so is required to resolve https://github.com/source-academy/frontend/issues/2417. However AnchorButton does not support submit buttons.
The proposed solution is to use AnchorButton to render the ControlButton component only for disabled buttons. Buttons that are not disabled continue to use the regular Blueprintjs Button. Since AnchorButton and Button look the same, this shouldn't pose any problems. For reference https://blueprintjs.com/docs/#core/components/button.
Another possible and 'hacky' fix would be wrapping the AnchorButton with a HTML 'submit' button (refer to my first commit) but I prefer the current fix,
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

Checklist

[x] I have tested this code

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 34.834%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
4916

Relevant Lines:
13173

💛  - Coveralls

Is there any reason we want to keep using Button instead of AnchorButton when isDisabled is false?

Button allows passing in the HTML button type attribute so we are able to use our ControlButton component to submit form data. This does not work on AnchorButton. This is what caused the bug in the join sessions button in the first place.

When isDisabled is true, no functionality is expected from the button, so we can switch to AnchorButton to allow the tooltips to function properly.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 34.834%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
4916

Relevant Lines:
13173

💛  - Coveralls


[WIP] Shared components directory

As discussed with @mishig25 and @Pierrci, I created a /shared folder in huggingface_hub to hold all the components (and probably utils/types at some point) we need to have present for the widgets to work, but that are also used by the server views / other projects.
This decision was motivated by the impossibility to use certain components in widgets without duplicating them in the widgets folder, which means we would end up with several versions of the same components to manage and keep up-to-date. This was for instance the case for the Dropdown components, that I moved to /shared because I'm going to need it in another PR.
Despite moving some files, this should not change anything in terms of behavior or functionality.
Note: the PR has a lot of file changes but these are essentially files moving / import updates ;)

After some conversations with @beurkinger, I think the best approach here would be to set up a JS monorepo with pnpm. It would resolve some of the issues with this PR (importing node_modules from a bare folder will fail, for example) but still allow separation of shared concerns.
Real monorepo tooling will take care of imports between 'packages' (for example import shared widgets or types into other packages) without using deep relative paths or aliases, and since this tooling generates hard links for module imports it is robust and works across all tooling, unlike aliases which you need to teach all tools about manually.
This also paves a simpler path to publishing some of these components to npm, which seems like a step we may want to take with this being an open source repo containing components, as pnpm will help us with versions, allowing easy independent versioning of various components and widgets.
I also think the same approach should be taken in some other repos but I'll raise that separately.

As discussed offline, moving the shared dir inside widgets/src/lib should do the trick (and ok to - finally! - rename widgets to something more generic like js).
The monorepo architecture is something that might be worth considering if indeed we decide to open-source more things / publish packages, but I think that for now, the current setup is working well for our needs.

After a chat with @Pierrci and @mishig25, we decided to simply continue using the widgets folder as our "shared js" directory, but rename it to js to makes it clearer its content is not only centered around widgets. It's the easiest, most reasonable way to go right now :)

While we're at it, and since /widgets is going to become our official "shared js" directory (at least for now), may I suggest that we organize the inside of the widgets/src/lib directory a bit better ? Right now we're dumping everything together.
Maybe we could have something like

lib/components
lib/utils
lib/interfaces (or lib/types)
lib/constants
?

Also right now lib/interfaces is a bit of a mess - it contains types, constants, and even a .md files. Maybe we could take this as an opportunity to clean that up ?
@Pierrci @mishig25 @pngwn

This looks sensible to me. Agree that the interface folder could be clean up a little although I don't have an issue with folders having markdown files to document the internals.
I have no preference on naming.

Woops, I had not seen that the .md file was used for documenting the doc content, my bad, I definitely should have checked before opening my mouth.

@Pierrci I recently noticed we have a copy of the server's ViewUtils.ts file in hf_hub/widgets/lib/InferenceWidgets/shared/.
For the sake of cleaning things up and avoiding duplication, shall we put a single version of this file in the new hf_hub/js/lib/utils folder and make it the "official" ViewUtils.ts file used by the server ?

Follow-up to my previous message:
@Pierrci and I had a chat, and we decided that the most reasonable way to go was to have a hf_hub/js/lib/utils/ViewUtils.ts file containing the functions that are required by both hf_hub and moon-landing, and to keep in the server/lib/ViewUtils.ts the functions that are only used by the moon-landing server.
That way we won't have to update hf_hub every time we have to make a change in a ViewUtils.ts function that is only used by the server.


Disable "experimental" feature for stand-alone version

The "experimental mode" is not visible in the Personal Settings dialog of the stand-alone version but is still effective if turned on in using the developer version.
Disable the "experimental mode" during runtime of the stand-alone version.

Originally, stand-alone also showed the experimental mode. However, per definition, these features are not stable. They are meant for developers enhancing abapGit and therefore should be effective only in the developer version (where you can debug them in a sensible way as well).

+1


Drush command not found (zsh)

[No ] I have reset Atom to defaults prior to submitting report.
[No] I have not reset Atom to defaults prior to submitting report.

Description

Installed Platformio atom ide and drush stopped working
Steps to reproduce

Install Platformio atom ide
Run drush status in drupal root
Drush command not found
Drush works outside in regular Terminal (outside of Atom)

Expected behavior:
Drush should be found and work
Actual behavior:
Drush not command not found
Reproduces how often:
100%
Versions

> atom --version

```Atom    : 1.57.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1```
> apm --version

```apm  2.6.2

OS name and version:
Platformio-ide-terminal version:
Big Sur, latest version of Platforimo IDE terminal

### Additional Information
<!-- Add any additional information like screenshots, gif captures,
configuration, data or other Atom package lists, that might be necessary to reproduce the issue. -->

This package is no longer maintained. Please uninstall platformio-ide-terminal and install either terminus or x-terminal

ok, thx!

Still getting same error:

You should create an issue on terminus repo.


Ca'nt connect with a VPN- AGAIN.

I'm submitting a ...
Why is it that anyone using a VPN is treated like a pirate!!
I support Kodis  vpn policy, but as mentioned to their mods, don't tar everyone with the same brush.
I travel a lot, I have a UK subscription to Netflix.
I want to login to my Uk netflix from  different countries- I am having no success using this plugin.
I provide logsand report an error-  and all I get back is- it might be a network config!!
The case is then closed
I use a VPN
I wont Bite
I AM NOT A PIRATE.
Jeez

@riccy123
1st, try the add-on without a VPN when at home. I'd bet it will perfectly work.
2nd, the 420 error is a response from the server, saying it a network related error. The streams are correctly sent to InputStream stream but the server refuses the connection, most probably because it detects the VPN.
3rd, nobody said you're a pirate, just saying Kodi policy is not to use one.
4th, we're just a very few people working on this addon, and we can't even if we want try every situation for every hardware with every internet provider or solutions (VPN, proxies, or whatever).
There's no obvious error in the logs unless the 420, so it is as said most probably a network error. And please stop screaming!

Thank you for taking the time to provide a little more info- I wish Kodi devs could be as helpful
Yes- the addon does work at home without the VPN
When I  connect at home ( UK ) to a UK server- no video.
From your reply , it would appear Netflix will not respond to my VPN, even though it is set to a server from the the same country.
Aplogies for shouting

So definitely a VPN issue, and there's nothing we can do to help, we're not specialized into VPN.
We're not Kodi either btw, just a few people trying to maintain this addon on their free time...

Sorry Smeulf, - but did you read my edited version?
Surely this suggests otherwise?
Btw your free time is greatly appreciated

If it works with Chrome, it should work with the add-on.
Microsoft EDGE is using a different way. So depending on the browser it's possible it work with one and not with an another, or the add-on.
Most probably, it's a configuration issue on your computer regarding Kodi.
And if it's not, then there's nothing we can do now to make it work as there's nothing in the logs to help us but the 420 error.

Thanks for replying.
Deeper into the rabbit hole-----
Never used Chrome - or Edge, but nevertheless, downloaded Chrome, and tried Edge.
Both work accessing Netflix website without  - AND WITH -  vpn
I have several pc's at home and all have no custom configurations, and all show the same behaviour?
Ah well - Have a nice day/evening, depending where you are (  if you can point me in the direction of a group/forum that might be able to help, I'd be grateful)
As mentioned, Kodi forum don't want to know
Cheers
Keith

This addon follow kodi rules: https://kodi.wiki/view/Official:VPN_policy
Don't keep asking for VPN requests here

I feel you on this, i have the exact same problem on the Pi3/4.
inputstream.adaptive has not problem by itself with vpn. In fact i can use vpn with other plugins without any problem. My guess is that Netflix has some code in place that makes intputstream.adaptive leaks during connection/hand-shake, a leak that doesn't happen in chromium.


syntax for specifying maven group + artifact ids

@FroMage has introduced an artifact annotation for specifying Maven group and artifact ids. I'm not happy with that since our import statements already have a welldefined syntax for specifying these. I will introduce the following syntax:
module org.hibernate.core org.hibernate:"hibernate-core" "2.1.1" { ... }

I don't follow your argument about syntax since that syntax is obviously different from that of module imports, which don't feature both Ceylon and Maven parts.
I should also note that ATM we allow artifact to have an optional artifactId which lets us set the groupId and declare that the artifactId is the Ceylon module name entirely.
That said, I don't object to this, I don't see either option as strictly better.

that syntax is obviously different from that of module imports, which don't feature both Ceylon and Maven parts.

Not really. For a module declaration it is:
"module" packagePath (groupId ":" artifactId)? version
For a module import it is:
"module" (packagePath  | groupId ":" artifactId) version
Same thing. Just that with import statements specifying both the module name and the group/artifact ids would be redundant.

Actually, I suppose the syntax would really be:
module org.hibernate.core mvn:org.hibernate:"hibernate-core" "2.1.1" { ... }

@FroMage I have added support for this syntax to the language grammar and AST. You just need to wire it in now.

I really like this new syntax.
For cross-platform modules, will it support specifying values for multiple foreign repo systems?
module com.acme.lib.core maven:com.acme.lib:"lib-core" npm:"acme-lib-core" "2.1.1" {
    // ...
}

So that:
ceylon:  module = com.acme.lib.core
maven:  groupId = com.acme.lib, artifactId = lib-core
npm:  module name = acme-lib-core
And for all of these, version = 2.1.1

will it support specifying values for multiple foreign repo systems?

It doesn't yet, but it will.

Done.

It doesn't yet, but it will.

Is that coming before the next release?


ERR_UNKNOWN_URL_SCHEME in internal developer tools

[x] Review the documentation: https://docs.sentry.io/platforms/javascript/electron/
[x] Search for existing issues: https://github.com/getsentry/sentry-electron/issues
[x] Use the latest release: https://github.com/getsentry/sentry-electron/releases
[ ] Provide a link to the affected event from your Sentry account

Versions + Platform

[x] SDK version -<EMAIL_ADDRESS>[x] Electron version -<EMAIL_ADDRESS>[x] Platform - macOS

Description
I’m upgrade to the latest @sentry/electron from a 2.x version, but I run into trouble.
I’ve tried both importing using @sentry/electron and using the …/main and …/renderer imports, but I get errors about ERR_UNKNOWN_URL_SCHEME:

How do I resolve this? We build the app using a pretty standard Electron Forge setup, the only “odd” thing we have is a plugin to use ESBuild to compile the TypeScript app.

Not entirely sure what's going on here as I appears that the SDK is not initialised in the main process.
If you set the debug option to true do you see output in the main process that suggest the SDK it fully initialised in the main process?
init({
  dsn: '__YOUR_DSN__',
  debug: true
})

There are a couple of working [examples](https://github.com/getsentry/sentry-electron/tree/master/examples) for Electron Forge.

This is what it logs:

The only other thing I can think off is that we already do use a custom protocol/scheme in the application, but even after disabling that code (and config) it still does not work.
From the debug messages above I did get the impression that adding the preload import might help, and indeed, after including that the error messages went away.


No support for PowershellCore.

No cross-platform PowerShellCore support for key modules.

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

ID: de2836a0-0af3-c147-2d4a-78220ac4e0f1
Version Independent ID: 2cde9735-6281-bb9f-bf07-b30b2f6c7f37
Content: Exchange Online PowerShell V2
Content Source: exchange/docs-conceptual/exchange-online/exchange-online-powershell-v2/exchange-online-powershell-v2.md
Service: exchange-online
GitHub Login: @chrisda
Microsoft Alias: chrisda

@officedocsbot assign @yogkumgit

Hi @Archehandoro, thank you for your feedback.
Exchange Online PowerShell V2 module is not supported on PowerShellCore yet.
The Exchange Online PowerShell V2 module is currently in Preview. If you have any feedback, concerns, or are facing any issues with the EXO V2 module, contact us at exocmdletpreview[at]service[dot]microsoft[dot]com (email address intentionally obscured to help prevent spam).

@dariomws  Thank you very much for the contribution and sharing this explanation. @Archehandoro Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@Archehandoro PS Core will be supported. More information:
https://techcommunity.microsoft.com/t5/exchange-team-blog/faster-and-more-reliable-exchange-online-management-using/ba-p/1198604


Make interior page sticky nav

take existing internal about page nav (mid-way down the page on about landing) and make it stick when one navigates to the top. It should have the spotlight logo, but I'm not sure if we have one without the back background, so perhaps for now we just put in text and note that we need it.

note that on interior about pages, these will be page links, not on-page links

@budparr I pushed up code for this. I believe I have it working as you requested but let me know.

Okay I pushed up the padding fix. @regisphilibert we can discuss the best way to use this component, and only have it be sticky on interior pages.

notes:

[ ] it looks like the logo is now showing all the time and it should only show when sticky
[ ] Can we go ahead and put the real logo in there? If there isn't a logo on white go ahead and use the one we have as a placeholder.
[ ] Please add the red support us button when sticky. Is should be justified over to the right with space between it and the rest.
[ ] Aggregate about page: Highlight the menu items (with background color change, black, ugh, I guess) as a user scrolls (we chatted about this this morning, but let me know if you need more clarification).
[ ] Interior about pages: Highlight the active menu items.

Thanks!

@AdamChlan I'll take care of the last two checkboxes and hand it back to you.

@budparr for the logo only being visible when sticky....I reserved a space for the logo when not sticky. if you'd prefer that space not be there, let me know. Then the nav items will shift right when nav is sticky.

Thank you. Yes, I do not want the logo to show except when the nav is sticky.
I'd also like the "Support us" button back in the content area (where it was before) except when it's sticky. @regisphilibert says that would mean having two separate buttons, but I think that's okay.

@budparr I just pushed up adjustments for the logo and support button, and scroll targets. The last thing we may need to clean up is how it behaves on mobile. Do we want sticky on mobile, or want to consider not doing the show/hide of the logo? Or maybe just not show the logo on mobile at all?

I'll look, but my guess is that you're right that we shouldn't do it on mobile.

that's better. A few items:

[ ] Now the support us button is missing altogether. It should be in the content.
[ ] The support us button appearance in the sticky nav is a bit janky (as all the others, but less so).
[ ] The highlighted items are off. When I click on Impact & Awards, the Partner's button is highlighted (see image).
[ ] Targets still off for me (see same image)
[ ] This might have been something I screwed up, but the menu items on the main about page are correct (impact & awards, partners, staff, supporters, mission), but on interior pages, they should be in the same order (always) and they're not.

Have most of this cleaned up...looking into what's going with the first two menu items not showing as active when scrolled to

So much better, thank you. Couple things:

[ ] "Supporters" link on the main about page still highlights "Mission"
[ ] Anyway to make the transition a bit smoother/slower when we go to sticky nav? I think it's the insertion of the logo.

@budparr I slowed down he transition, and made the logo removal smoother. For the highlighted nav, unfortunately it's a bit of moving target based on the amount of content in each section, and screens size. We may need to explore a different tech for this. I can see if there are any viable alternatives.


Improve tags handling

Currently only tags touched by visited commits are forwarded to the destination repository.
Let's add an option to control tags: "visited" (current behavior), "none" or "all"

Fixed in 6d34f332b587a11c002f9a76cf2ec85a8c45a959


@bentley/imodeljs-native 2.13.1

@grigasp FYI - I had to change two of the links in your EC Presentation docs pages to fix the docs build.  Those changes are at: https://github.com/imodeljs/imodeljs/pull/782/commits/0f3010bede3b0ea7ef00dac92c078f64d832fdae
I think one was broken because PresentationManagerProps.defaultFormats was alpha, but the other could be a bug in the docs build...

@grigasp FYI - I had to change two of the links in your EC Presentation docs pages to fix the docs build. Those changes are at: 0f3010b
I think one was broken because PresentationManagerProps.defaultFormats was alpha, but the other could be a bug in the docs build...

Looks good, thanks. @williamkbentley, any idea why the link to #value-lists didn't work?

@grigasp FYI - I had to change two of the links in your EC Presentation docs pages to fix the docs build. Those changes are at: 0f3010b
I think one was broken because PresentationManagerProps.defaultFormats was alpha, but the other could be a bug in the docs build...

Looks good, thanks. @williamkbentley, any idea why the link to #value-lists didn't work?

Our anchors only go down to H4s, so ##### Value List did not receive an anchor to link to.


Add Support for macOS Sierra Picture in Picture

The title says it all. MacOS Sierra now has a PiP button on the native video controls. I'm pretty sure all you have to do is some research and add the button and functionality.

I've already been looking at this, just not got around to getting it into the player. It's pretty straight forward to do. Working on it 👍

Alright cool, will definitely be looking forward to this in the future!

Hi Sam is it possible to add airplay also? appreciate your work on the player, thanks

Sorry I just saw it under "Features currently being developed", thanks

Closing this one as I think it's fixed but feel free to re-open if not solved in v3 👍


Use rich content to increase message visibility

The current state of affairs:

This message was a bit difficult to see amongst the rest of everyone's messages. Ideally we'd make use of Discord's rich message system, which provides some padding around messages, and makes them look more official. Plus we have more options for formatting.

The !list command has been converted to use embeds in https://github.com/anoadragon453/busty/pull/18.
It would be nice to also use embeds for:

[ ] The "Playing: ..." message sent before each song.
[ ] The "Chilling for X seconds" message sent before each song.
[ ] The "Thanks for coming" message at the end.

Commit #23 Resolves the "Now Playing" and "Chillin" messages, but I forgot to include the "Thanks for Coming" so I'll leave this issue open for now

I think with https://github.com/anoadragon453/busty/pull/29 merged, this is now done :tada:


refactor: make ip_filter and namespaces typed

About this change—what it does

makes ip_filter and namespaces typed

Why this way

to make all the fields consistent

acceptance tests: https://github.com/aiven/terraform-provider-aiven/actions/runs/3565594846

I guess we can leave the old field name for compatibility and a new one.

I think we should mark them as deprecated and can only drop in v5


Adding documentation for is_vector_like template metaprogram

Summary:
Adding documentation for is_vector_like.
The value of the metaprogram is true when an object of the type can be accessed like a vector and false otherwise.
The matrix test didn't include the matrix specialization of the template metaprogram and was expecting is_vector_like<Eigen::Matrix<T, -1, -1> >::value to be false. This has been fixed to expect true by including the correct header.
Intended Effect:
Makes it easier for other developers to understand the code.
How to Verify:
Read the doc. Run the test.
Side Effects:
None.
Documentation:
Done.
Reviewer Suggestions:
@bob-carpenter -- is this clear enough for doc? Is there a better way to write this out?

Looks great.  And thanks for housekeeping the old stuff.


pointer can't dereference

Description
seems like there are errors during dereference of some pointer
ex:
import angr
p = angr.Project('various_variables', load_debug_info = True)
p.kb.nvariables.load_from_dwarf()
simgr = p.factory.simgr()
main_addr = p.loader.find_symbol("main").rebased_addr
simgr.explore(find = main_addr)
s = simgr.found[0]
pointer = s.nvariables["pointer"]
computed_result = pointer.deref.mem.concrete         # error during execution but expected computed_result to be 0

this is also included in the test i've pushed

Solved by 60be6f9.


Prevent "bad" votes by adding a wait timer

For now, this can be implemented in elm directly, I'm thinking somewhere within https://github.com/Mingosio/celebrity-picture-rater/blob/master/app/javascript/Voting.elm#L67-L68, basically the equal to a setTimeout to disable the newest loaded vote, then re-enable the actions after a few seconds.
Also with this piece, it probably makes sense to add some visual cue like a green border flash or equal to depict the chosen image.

Planning on doing this myself, but really anybody that wants to pick up some elm can pick this up.


Single equal sign on a line is not parsed the same as equal sign directly followed by comment

Description
A single equal sign on a line is parsed as a heading, as illustrated by the fact that the outline in the example below contains an entry:
#outline()
=

However, an equal sign directly followed by a comment, is not parsed as a heading:
#outline()
=//

This is unexpected, although I'm not sure which of the two behaviors is right.
Tested on 0.11.1 and 0.11.
Reproduction URL
No response
Operating system
No response
Typst version

[X] I am using the latest version of Typst

Same for lists. They all expect whitespace or EOF after them since =hi shouldn't be a heading. But I guess comments should be an exception.


Sometimes TV is not powered off when Windows turns off the output

(LGTVCompanion 1.4.2 Windows 11 21H2 22000.376, NVidia 496.76)
I have a hard-to-reproduce issue where sometimes (not always), for no apparent reason, LGTVCompanion does not turn off the TV when Windows decides to turn off the display. I'm referring purely to the Windows display timeout here, not PC standby/shutdown.
I hacked together a build with additional verbose logging code around PBT_POWERSETTINGCHANGE events, and then waited until the issue occurred again. I noticed that when things behave correctly, Windows delivers a GUID_CONSOLE_DISPLAY_STATE event to LGTVCompanion with data 0x2 (dimmed), followed 15 seconds later by another GUID_CONSOLE_DISPLAY_STATE event with data 0x0 (off). So far so good.
When the issue occurs, LGTVCompanion does receive the first event (0x2 dimmed), but the second one (0x0 off) is nowhere to be found. I have no idea why.
LGTVCompanion currently treats 0x2 (dimmed) the same as 0x1 (on) and therefore does not turn off the display in this case.
(I checked if GUID_MONITOR_POWER_ON had a similar problem. Sadly, the answer is yes.)
This probably deserves some more investigation, but if this doesn't go anywhere, a potential workaround is to treat 0x2 (dimmed) as "off". I don't think this would have any visible side effects, given that there is no actual dimming going on (at least not on my system). It would make the TV turn off 15 seconds too soon but that's arguably benign, and in fact it's a bit cleaner because this way the TV doesn't have time to briefly display its "No Signal" message.

Hi there, I think I've seen this behaviour too but very infrequently. Maye two or three times in total. 0x2(dimmed) is used I believe for laptop screens that dim down a bit before shutting off. I will investigate how the proposed change will affect the logic but it seems like you may be on to something. Thanks for helping out!

Hi again, I pushed a workaround for this issue in line with your suggestion (Improved logic for screen dimmed state)

Well to be fair I was seeing this issue quite frequently before, but didn't observe it once in the last few days. The only thing I changed was I upgraded my NVidia drivers from 496.76 to 497.09, no idea if that has anything to do with it.
I'll keep running the old code for now just to see if the workaround will turn out to be useful or not.

Okay so unfortunately the problem didn't go away (with the old code, that is). While I was trying to reproduce this problem, I was running a short monitor timeout (3 minutes) to try to make it more frequent. This backfired, as the shorter timeout appears to have made the problem impossible to reproduce. Now that I've reverted back to my normal screen timeout (20 minutes) the issue is back. That's quite the heisenbug😕
Anyway, since the problem is clearly still there, I'll try the code from latest master which contains your workaround and see what happens.

Hiya, thanks for continued testing. I've been using the fix in latest master since some time now with no adverse effects so I hope it shall solve your issues. Getting ready to release a new version soon so will include this code change if you can verify it seems to solve your issues.

@dechamps was this resolved with the workaround? :)

Well it still hasn't happened since, so I'd say I'm pretty confident it's working yes.


Apply class native-key-bindings

As @EntilZha figured out, adding class native-key-bindings to the view allows for use of keys within the pane. This fixes #78, allowing people to copy output from the terminal output.

go


Add basic structure for a JSON API with user authentication

This commit sets a basic structure for a JSON API and handles:

API versioning via a HTTP header
User authentication via a HTTP header
JSON serialization via fast_jsonapi

Shortcomings:

To keep it as simple as possible, I opted for a single authentication token per user
The token is not set to expire

I would like some feedback on this proposal, and would write documentation on API versioning and authentication if accepted.
I think this level is the right balance between being easily understandable by more junior developers, and setting a good foundation for more advanced developers.

The code here looks fine to me, I feel though like there's missing some functionality allowing a user to get the token.

Even though I like that we are setting fast_json_api as a default, it's worth noting that we haven't used it (that I know of) in any project.

We're using it on Selfcast

This PR does too many things, which makes it hard to review :(

I really don't like adding the token as a property of the User model.
I can see the simplicity trade off here, but I think Rails gives us the tools to do this in a nicer way.
Our theoretical junior developers are going resist splitting token authentications out into their own table and will want to add more stuff to the User table (don't do this.)
But maybe this is all YAGNI anyway 🤷♂

@prrrnd Can you respond to my thoughts on using the token auth gems? Curious why we need to build our own wheel here? Also curious about defaulting the template to token auth-- I think this makes a bit of an assumption about the types of projects (see: mobile front end), that I'm not sure I see supported from our sales efforts.