Issue with demoMamboVisionGUI.py

As the title suggests I have problems with the demoMamboVisionGUI.py on windows 10 with python 3.6.6. and vlc 3.0.3. I get a video stream very rarely (not perfect fluidity but better than nothing). All the other times the droneVisionGUI pops up but it has a black screen, no stream at all. Also, the front LEDs stop blinking. Is there a workaround?

The mambo turns off the stream after one minute of not flying.  The solution is to either takeoff (turns the stream on) or reboot the mambo.  Either will restart the camera.

The mambo turns off the stream after one minute of not flying. The solution is to either takeoff (turns the stream on) or reboot the mambo. Either will restart the camera.

Thank you for your reply. I have taken this into account. Even when it is flying the video stream doesn't work.

That sounds like a hardware issue.  Also, I did have a windows 10 bug that was fixed after 1.4.30 so I assume you have the latest version.  But the hardware itself is running ffmpeg to decode the images


Implement a standard way to expose current application version

Like we do in Elixir Boilerplate, we should always be able to expose the currently deployed version.
Could we simply just add a standard /health endpoint and expose it there?

We just need to expose the version, the endpoint already exists! 💥 https://github.com/mirego/ember-boilerplate/blob/master/node-server/server.js#L45


does s4_simple.py implement the method explained in the blog?

There is a link to s4_simple in this blog. However, I cannot match the Chebyshev initialization explained in the blog with the code .
In the code, theta values are multiplied with a values (h_scales). I expect them to be just angles according to blog.
Any guidance or explanation is appreciated.

"S4 simple" is not officially supported by this codebase and I'm not sure about its details. To my best knowledge, it is a close variant of S4D-Lin (Paper, Blog). You may have better luck asking the Safari team about that particular line of code.


Tooltip (and popover) works differently in Firefox vs Chrome on disabled content

Version & browser
Chrome: Version 70.0.3538.77
Firefox: (DeveloperEdition) 64.0b4
Which component
Tooltip and Popover
Steps to reproduce the problem
tooltip(text="Help me")
  div.btn(disabled="disabled")

Reproduce link
N/A
Expected behavior
Firefox:

Actual behavior
Chrome:

Temp fix
I was able to fix it by adding a div around the .btn div
tooltip(text="Help me")
  div
    div.btn(disabled="disabled")

Looks like chrome has prevented native mouse events like mouseenter with disabled elements, and I found no workarounds. Your temp fix maybe the only way to allow so. do you have any suggestions?

close due to no solution. feel free to continue discuss if any idea.


Visualize the result

Hi,
I just finished my first run of libra (preprocess and core) and I got the .json and .score files.
At this point I have two questions,
First I'm not familiar with these file types and I was wondering how you suggest to visualize the data. Ideally I'd like to know which software was used to create the circle Tara figure in the article but any other option is welcome!
Second, it seems that the software couldn't take my paired reeds (in separate files).
Should I redo the run with the reads in interleaved files or is it possible to rerun the "core" line with an argument allowing it to process R1 and R2 as a single sample?
Thanks!

Hi,
For the first question, you will want a tool provided under the /tool dir.
https://github.com/iychoi/libra/blob/master/tools/gen_score_matrix.py#L73
You provide paths for the two files. By default, it will produce a similarity matrix which tells how close each of sample pairs are in a matrix. The matrix will be in a text form, so it's quite easy to copy paste to excel or other tools for post processing.
Once you get the matrix, my suggestion is using a viz tool like gephi (https://gephi.org/). The TARA figure was made using a custom Javascript tool. You can find some examples at my test website below. I cannot tell much about its source code as it's too specific to a Javascript framework.
http://www2.cs.arizona.edu/~iychoi/viz/
http://www2.cs.arizona.edu/~iychoi/viz/tara/eb_static.html?min=0.3
http://www2.cs.arizona.edu/~iychoi/viz/tara/result.json
You would be able to reuse most of the code.
For the second question, if you want two separated files to be regarded as a single input, you will need to merge the files before running Libra. That'll be the easiest way that do not require code-level modification. Actually, we don't have feature for that.


Update zio-prelude to 1.0.0-RC4

Updates dev.zio:zio-prelude from 1.0.0-RC1 to 1.0.0-RC4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio", artifactId = "zio-prelude" } ]

labels: library-update, semver-pre-release

Superseded by #154.


Lacking Critical Support

Needs support for:

No CommonJS
ES6 modules
ES7 async functions
MongoDB 3.2 & Postgresql

Can we also get some examples with non-mythical creatures that have single protruding horns? Personally would love to see a narwhal-based example.

PR welcome! Should include tests and a song.

LOOOOOOOOOL


emacs: improve setup hook

Add packages installed in a sub-directory of site-lisp, such as mu4e, to EMACSLOADPATH.

Add ELPA packages to EMACSLOADPATH.

Add each package only once to EMACSLOADPATH. Before, each package would typically be added twice for each transitive dependency leading to a huge variable for a package having many dependencies.

The load path problem with can be observed by running, e.g.,
nix-build --pure -E 'with import ./. {}; emacsWithPackages (epkgs: [(epkgs.trivialBuild {pname="foo";version="0";src=writeText "foo.el" "(require '"'"'ivy)";packageRequires=[epkgs.ivy];})])'

in a Nixpkgs clone with and without this patch applied.
Fixed #78680

Thanks!

This seems to have broken byte-compilation of some packages with dependencies (?). I think building helm is sufficient to show the difference.
Bad log (current master: 5e37578dd94365236e5b82795eb92a6e6fc90f68)
[...]
Generating autoloads for helm-utils.el...
Generating autoloads for helm-utils.el...done
Generating autoloads for helm-x-files.el...
Generating autoloads for helm-x-files.el...done
Wrote /nix/store/is6yy3nvp3av9mmhrmh1ka5zyg4xdy08-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-autoloads.el
Wrote /nix/store/is6yy3nvp3av9mmhrmh1ka5zyg4xdy08-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-autoloads.el
Unable to activate package `helm'.
Required package `async-1.9.4' is unavailable
Parsing tar file...
Parsing tar file...done
@nix { "action": "setPhase", "phase": "fixupPhase" }
post-installation fixup

With this reverted, the log shows:
[...]
Generating autoloads for helm-utils.el...
Generating autoloads for helm-utils.el...done
Generating autoloads for helm-x-files.el...
Generating autoloads for helm-x-files.el...done
Wrote /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-autoloads.el
Wrote /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-autoloads.el
Checking /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757...
Compiling /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-adaptive.el...
Compiling /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-autoloads.el...
Compiling /nix/store/y3jv0l1dhbi8ndrrcslq4b6x0zjqwsi5-emacs-helm-20200325.757/share/emacs/site-lisp/elpa/helm-20200325.757/helm-bookmark.el..

Bad EMACSLOADPATH (current master: 5e37578dd94365236e5b82795eb92a6e6fc90f68):
$ echo $EMACSLOADPATH  | tr : '\n' | sort | uniq

/nix/store/1rx6bbd0fcw7h0shz1drrhza1flpvh0w-emacs-26.3/share/emacs/site-lisp
/nix/store/6yrc5i04cgg48c1xw23r6k4q7n9aq2l7-emacs-helm-core-20200306.1417/share/emacs/site-lisp/elpa/helm-core-20200306.1417
/nix/store/g4vvyzk40wm915idfwwaigifw0rd2936-emacs-async-20200113.1745/share/emacs/site-lisp/elpa/async-20200113.1745
/nix/store/qn020lhlgy63lj12d8q55sv4rm6wlfhi-emacs-popup-20160709.1429/share/emacs/site-lisp/elpa/popup-20160709.1429

Good EMACSLOADPATH (current master + revert of 2d2de743d0ece3931c01a04043c218b76dfc5cf6)
$ echo $EMACSLOADPATH  | tr : '\n' | sort | uniq

/nix/store/1rx6bbd0fcw7h0shz1drrhza1flpvh0w-emacs-26.3/share/emacs/site-lisp
/nix/store/fxl47vg1hlz0m0v0wrlwygvs86w22z51-emacs-popup-20160709.1429/share/emacs/site-lisp
/nix/store/mj2s5vb156pjsz40gqdb7a7jr52xy71v-emacs-async-20200113.1745/share/emacs/site-lisp
/nix/store/vn6p6ikix8vf6klc81hmrlfa5fa0fr92-emacs-helm-core-20200306.1417/share/emacs/site-lisp

@thefloweringash Please give the above PR a try to see if it resolves your issue. With that change the byte compilation works for me.

Commented on the PR. Thanks for the quick fix!

Would it be possible to get this backported to 20.03?  Sorry if that's a dumb question, I'm not sure what the policy is on backporting...


Table rendering is not working

I have a simple script as part of a gem... the prompt, commands are working fine but rendering the tables doesn't work at all...
    TTY::Command.new(printer: :quiet).run('clear')
    TTY::Prompt.new.say("Updated at: #{Time.now}")
    table = TTY::Table.new ['header1','header2'], [['a1', 'a2'], ['b1', 'b2']]
    table.render :ascii

this doesn't output only the table to the terminal... but puts table.to_s outputs the following
"+-------+-------+\n|header1|header2|\n+-------+-------+\n|a1     |a2     |\n|b1     |b2     |\n+-------+-------+"

macOS Sierra (10.12.1)
ruby 2.3.2

Hi Raz, thanks for giving tty a try! The components that you are looking at can also be used separately, e.i. you can install tty-command, tty-prompt and tty-table among many.
The idea behind table rendering is that the render or to_s converts the data into a string format. As is the case in your example, it is a perfectly formatted table. It is up to you what you want to do with it, one thing would be to print it to console like:
puts table.render(:ascii)

sorry but how do I print the table to the tty ?  because
puts table.render(:ascii)

prints the following
"+-------+-------+\n|header1|header2|\n+-------+-------+\n|a1     |a2     |\n|b1     |b2     |\n+-------+-------+"

but I need it to print the table to the TTY correctly... not as 1 line

The render or to_s messages return a string, nothing more or nothing else. So calling
table.render(:ascii)

will return actual string which is what you have in your example. Can you see the \n characters? These are line breaks. Any time console sees these it will render content after them on a new line, and hence a nice table. So my question to you would be, how do you render a string in Ruby to console?

Here is a screen shot

Ok, I have no idea how you are preserving the string, my guess would be that you are escaping characters hence your \\n break line gets rendered as \n character, which in turn would explain the quotation marks in the output.
Running your code verbatim in irb session does the following

which bash version you have ?

My bash version is 3.2.57(1)-release. Could you please paste the code that you are actually using for creating and rendering the table. I'd like to see what you are exactly doing and maybe then we will solve this mystery.

yeah it's code used in the description of the issue (just added puts to table render)
and I found a solution to show it correctly using Command.new.run('echo', table.render(:unicode))
didn't work with :ascii cause the pipe is causing issues with the echo command

Aha that makes sense, because Command.new.run(cmd) escapes characters, that would totally explain why it was directly rendering the string. Sorry if I sounded a bit patronising by I couldn't for the world understand why the simple code that you have pasted wouldn't work. It is not the first time tty-table was used, I use it for many other scripts etc....

sorry I didn't understand your last comment but the following code
    command = TTY::Command.new(printer: :quiet)
    command.run('clear')
    TTY::Prompt.new.say("Updated at: #{Time.now}")

    table = TTY::Table.new ['header1','header2'], [['a1', 'a2'], ['b1', 'b2']]
    p 'using puts'
    p table.render(:unicode)
    p 'using command'
    command.run('echo', table.render(:unicode))

out puts the following
Updated at: 2016-11-28 00:06:41 +0100
"using puts"
"┌───────┬───────┐\n│header1│header2│\n├───────┼───────┤\n│a1     │a2     │\n│b1     │b2     │\n└───────┴───────┘"
"using command"
┌───────┬───────┐
│header1│header2│
├───────┼───────┤
│a1     │a2     │
│b1     │b2     │
└───────┴───────┘

Why are you using the Kernel.p method? It simply calls inspect on Ruby string and prints to standard out without evaluating the actual string. When you want to print to console why don't you  use puts or print. Forget about tty-table, you can see your issue in the following simple example:
multiline = "line1\nline2\nline3"
p multiline
# => "line1\nline2\nline3"
print multiline
# =>
# line1
# line2
# line3

You don't have to use echo at all. Simply print to standard out.

actually I didn't know that Kernel.p was not evaluating the string... thanks a lot for pointing this out


[Question] Multi Axis/ stacked bar chart how to get specific data after clicked

Hi
1.
I have a multi Axis chart and one I click on some point I get all active points per this value.
For example: I have 4 lines. For year 2000 I click on the point of the first line.
But I get an array of active points that contains 4 active points.
I want to know on which of the active points I have clicked, and not get all the 4.
Or to get just the specific active point I have clicked on instead of array of all four.
How it can be done?
2.
If I hover on one point all the other three are highlighted.
Can I only highlight the specific point I have hovered on and not all the rest?
Thanks

@tssobe how are you getting all the active points for this value? Have you looked at http://www.chartjs.org/docs/latest/developers/api.html#getelementatevente ?

To only hover the single point, change the hover mode similar to the tooltip mode
options: {
  hover: {
    mode: 'single'
  }
}

Hi etimberg
Yes I am using chartInstance.getElementsAtEvent(event).
This is the problem, it return all 4 active points and not the specific I have clicked on.
I have checked if there maybe indication on the event on which index I have clicked, but not such one.
Maybe it is a bug I need to open?
Any idea?
About the hover, it fixed the issue.
Thanks

@tssobe you should use getElementAtEvent instead. It will return an array that at most contains 1 item

Great, thanks!!

Awesome. it worked for your needs?

Yes, Thanks!


  For example, which 64-bit libs are getting found instead of their 32-bit versions?  The included example doesn't give enough information that is actionable.
Is this a regression?  If this used to work, please specify the last working commit.
This isn't an item that is high priority for us, but we'd like to be able to help fix it.  So, more info and help would be appreciated.

sorry. the paste is out
https://www.dropbox.com/s/b0akx6lpoo4mxu7/2eefbc07.txt?dl=0

Sorry, still not enough.  Can you try answering my questions?

X11_ICE_LIB:FILEPATH=/usr/lib/libICE.so
X11_SM_LIB:FILEPATH=/usr/lib/libSM.so
X11_X11_LIB:FILEPATH=/usr/lib/libX11.so
X11_XRes_LIB:FILEPATH=/usr/lib/libXRes.so
X11_XTest_LIB:FILEPATH=/usr/lib/libXtst.so
X11_Xau_LIB:FILEPATH=/usr/lib/libXau.so
X11_Xcomposite_LIB:FILEPATH=/usr/lib/libXcomposite.so
X11_Xcursor_LIB:FILEPATH=/usr/lib/libXcursor.so
X11_Xdamage_LIB:FILEPATH=/usr/lib/libXdamage.so
X11_Xdmcp_LIB:FILEPATH=/usr/lib/libXdmcp.so
X11_Xext_LIB:FILEPATH=/usr/lib/libXext.so
X11_Xfixes_LIB:FILEPATH=/usr/lib/libXfixes.so
X11_Xft_LIB:FILEPATH=/usr/lib/libXft.so
X11_Xi_LIB:FILEPATH=/usr/lib/libXi.so
X11_Xinerama_LIB:FILEPATH=/usr/lib/libXinerama.so
X11_Xinput_LIB:FILEPATH=/usr/lib/libXi.so
X11_Xkbfile_LIB:FILEPATH=/usr/lib/libxkbfile.so
X11_Xmu_LIB:FILEPATH=/usr/lib/libXmu.so
X11_Xpm_LIB:FILEPATH=/usr/lib/libXpm.so
X11_Xrandr_LIB:FILEPATH=/usr/lib/libXrandr.so
X11_Xrender_LIB:FILEPATH=/usr/lib/libXrender.so
X11_Xscreensaver_LIB:FILEPATH=/usr/lib/libXss.so
X11_Xt_LIB:FILEPATH=/usr/lib/libXt.so
X11_Xv_LIB:FILEPATH=/usr/lib/libXv.so
X11_Xxf86misc_LIB:FILEPATH=/usr/lib/libXxf86misc.so
X11_Xxf86vm_LIB:FILEPATH=/usr/lib/libXxf86vm.so
XCB_LIBRARY:FILEPATH=/usr/lib/libxcb.so
the path should be /usr/lib32
like
WAYLAND_CLIENT_LIBRARIES:FILEPATH=/usr/lib32/libwayland-client.so
WAYLAND_CURSOR_LIBRARIES:FILEPATH=/usr/lib32/libwayland-cursor.so
WAYLAND_EGL_LIBRARIES:FILEPATH=/usr/lib32/libwayland-egl.so
WAYLAND_SERVER_LIBRARIES:FILEPATH=/usr/lib32/libwayland-server.so

Thanks for the extra info.
I got this to work:
CFLAGS=-m32 CXXFLAGS=-m32 PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu cmake -H. -Bbuild -DBUILD_TESTS=NO -DBUILD_LAYERS=NO
After I do this, I see in the CMakeCache.txt:
//Path to a library.
X11_X11_LIB:FILEPATH=/usr/lib/i386-linux-gnu/libX11.so

instead of the
//Path to a library.
X11_X11_LIB:FILEPATH=/usr/lib/x86_64-linux-gnu/libX11.so

I think that CMake will do a better job at finding the right libraries if you set the C/CXX flags, instead of overriding the compiler name (CC and CXX).
Online searches seemed to suggest that just setting the -m32 flag as above should be enough, but doing just that made CMake generate linker directives to link the 64-bit XCB lib.  I had to add the PKG_CONFIG_LIBDIR to fix that.
But for me, using the unchanged LVL repo, I was able to build a working 32-bit vulkaninfo, cube, and smoketest.
There are a lot of compilation warnings in the loader when building 32-bit.  We'll have to look at those.

I'll leave this issue open and assigned to me, so that I can finish fixing any other issues with 32-bit support, including the compiler warnings in the loader.
LunarG never officially supported/tested this repo on 32-bit Linux, so this work is largely unplanned.
I'm assuming that the hints I gave above help get past the original problem.  Please advise if that is not the case.

nope here,
with
  export CC="gcc -m32"
  export CXX="g++ -m32"
  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
  export PKG_CONFIG_LIBDIR="/usr/lib32"

or
  export CFLAGS="-m32"
  export CXXFLAGS="-m32"
  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
  export PKG_CONFIG_LIBDIR="/usr/lib32"

have same output like the first and https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1110#issuecomment-257461667
the detection of wayland libs work ok (point to /usr/lib32), but not the rest of the libs

Did you completely clean up any cmake cache files, etc, between the two attempts?  That is, make sure cmake is starting from scratch, with the settings I used.
Specifying CFLAGS and CXXFLAGS (or equivalently, -DCMAKE_C_FLAGS and -DCMAKE_CXX_FLAGS in the cmake invocation) should work, according to all I've seen online.
Since we're getting different results, you'll have to do some digging on your end to find the problem and suggest changes to improve things.  Maybe check the pkgconfig files in /usr/lib32?

yes. always use a clean directory in all build process, like rm -fr build && mkdir -p build && cd build && cmake ../foo
set -DCMAKE_C_FLAGS=-m32 and -DCMAKE_CXX_FLAGS=-m32 do nothing. same output
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
also do nothing (both, or one, or other)
for the info, i use cmake 3.6.2

I pushed https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/pull/1177, which really just fixes some compiler warnings in the loader when compiling for 32-bit.  I also updated the docs to explain that 32-bit builds aren't really supported or tested on Linux, but should work OK due to the need to support 32-bit on other targets.
I'm using cmake 3.5.1 and it seems unlikely that a later version of cmake is causing the problem.
Since this is working OK for us on our "reference" Ubuntu platforms, I'll go ahead and close this.
If you can provide more info such as what distro you are using, etc, that would be helpful.  Even better would be if you can find out what is needed to fix the problem on your system and suggest a change that we can make.

unfortunately still have the problem. cmake found the 64bits libs paths instead of 32bits paths, the weird of this is only found the correct libs only the wayland libs, but not the rest.
my distribution is Archlinux
  -> Build Vulkan-LoaderAndValidationLayers
-- The C compiler identification is GNU 6.2.1
-- The CXX compiler identification is GNU 6.2.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found xcb: /usr/include
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - not found
-- Looking for dnet_ntoa in dnet
-- Looking for dnet_ntoa in dnet - not found
-- Looking for dnet_ntoa in dnet_stub
-- Looking for dnet_ntoa in dnet_stub - not found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Found WAYLAND_CLIENT: /usr/lib32/libwayland-client.so
-- Found WAYLAND_SERVER: /usr/lib32/libwayland-server.so
-- Found WAYLAND_EGL: /usr/lib32/libwayland-egl.so
-- Found WAYLAND_CURSOR: /usr/lib32/libwayland-cursor.so
-- Found WAYLAND: /usr/lib32/libwayland-client.so;/usr/lib32/libwayland-server.so;/usr/lib32/libwayland-egl.so;/usr/lib32/libwayland-cursor.so
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/makepkg/lib32-vulkan-git/src/build-vulkan-loaderandvalidationlayers

the cmakecache output is posted avobe. not chage

tested today again
the error is now fixed
now fould all 32bits libraries
X11_ICE_LIB:FILEPATH=/usr/lib32/libICE.so
X11_SM_LIB:FILEPATH=/usr/lib32/libSM.so
X11_X11_LIB:FILEPATH=/usr/lib32/libX11.so
X11_XRes_LIB:FILEPATH=/usr/lib32/libXRes.so
X11_XTest_LIB:FILEPATH=/usr/lib32/libXtst.so
X11_Xau_LIB:FILEPATH=/usr/lib32/libXau.so
X11_Xcomposite_LIB:FILEPATH=/usr/lib32/libXcomposite.so
X11_Xcursor_LIB:FILEPATH=/usr/lib32/libXcursor.so
X11_Xdamage_LIB:FILEPATH=/usr/lib32/libXdamage.so
X11_Xdmcp_LIB:FILEPATH=/usr/lib32/libXdmcp.so
X11_Xext_LIB:FILEPATH=/usr/lib32/libXext.so
X11_Xfixes_LIB:FILEPATH=/usr/lib32/libXfixes.so
X11_Xft_LIB:FILEPATH=/usr/lib32/libXft.so
X11_Xi_LIB:FILEPATH=/usr/lib32/libXi.so
X11_Xinerama_LIB:FILEPATH=/usr/lib32/libXinerama.so
X11_Xinput_LIB:FILEPATH=/usr/lib32/libXi.so
X11_Xkbfile_LIB:FILEPATH=/usr/lib32/libxkbfile.so
X11_Xmu_LIB:FILEPATH=/usr/lib32/libXmu.so
X11_Xpm_LIB:FILEPATH=/usr/lib32/libXpm.so
X11_Xrandr_LIB:FILEPATH=/usr/lib32/libXrandr.so
X11_Xrender_LIB:FILEPATH=/usr/lib32/libXrender.so
X11_Xscreensaver_LIB:FILEPATH=/usr/lib32/libXss.so
X11_Xt_LIB:FILEPATH=/usr/lib32/libXt.so
X11_Xv_LIB:FILEPATH=/usr/lib32/libXv.so
X11_Xxf86misc_LIB:FILEPATH=/usr/lib32/libXxf86misc.so
X11_Xxf86vm_LIB:FILEPATH=/usr/lib32/libXxf86vm.so
XCB_LIBRARY:FILEPATH=/usr/lib32/libxcb.so

greetings


Add Rapid7 vendor

Added to vendors.yaml, plus the logo and the style.json config

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: schosterbarak:x: nimrodkorYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @nimrodkor!


Remove check for assets in bundle

After some discussions, removing the check for assets in the bundle was decided. This decision was taken as:

the database system on Android had poor performances especially with a very large number of assets.
this feature was anyway broken as it was only currently available on iOS using getFileURI and getFileURIs.

poke @tbrebant @ronkorving
Major

Remove check for assets in bundle (iOS)

Minor

Database keeping references on assets no longer needed, thus removed (Android)

Patch

Optimize getFileURI (iOS)

LGTM (small pre-existing typo pointed out though). But will leave it to @tbrebant to give it a closer look ;)

Updated 😃

Thanks for the reviews!


Implement Spark-compatible CAST float/double to string

What is the problem the feature request solves?
We currently delegate to DataFusion when casting float/double to string and there are some differences in behavior compared to Spark.

Spark uses Infinity and -Infinity and DataFusion uses inf and -inf
Spark uses E for exponent and DataFusion uses e

There can also be differences in formatting but where the values are semantically equivalent. For example, for the input 1.0499721536516571E-4:
Spark produces "1.0499721536516571E-4"
DataFusion produces: "0.00010499721536516571"
We should create a compatibility guide and include this information.
Here are some suggested values to test:
val testData = Seq(Float.NegativeInfinity, Float.PositiveInfinity,
      Float.MinPositiveValue, Float.MinValue, Float.MaxValue, Float.NaN, -0.0f, 0.0f)

Describe the potential solution
No response
Additional context
No response

Can I try this one out?

Of course. Thanks @mattharder91. Please let us know if you have any question.

Here you go https://github.com/apache/datafusion-comet/pull/346


Module Errors on Card Computers REPL

I'm trying to write a tutorial for the Card Computers REPL but when I try to move beyond basic functions, I just get module errors.

Hi, I not sure what causing the issue, maybe have a check on PikaPython.


chore: update extension config

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Updates to work with version 1.1.1 of freeCodeCamp Courses

@moT01 If you want to see the loader in action, open this PR in Gitpod, and select freeCodeCamp: Run Course.


Getting Unexpected Exit Code 139 (specific versions, usually beta)

This happens regardless of the editor version I use and regardless of either play mode or edit mode tests. It seems like the personal license is working so I'm struggling to see what's wrong:
Requesting activation (personal license)
Activation complete.
Using project path "/github/workspace/Test-Project".
Using artifacts path "editmode-artifacts" to save test results.
Using custom parameters .
Edit mode selected for testing.
Using Unity version "2020.1.0b4" to test.
###########################
Artifacts folder
###########################
Creating "/github/workspace/editmode-artifacts" if it does not exist.
###########################
Project directory
###########################
total 20K
drwxr-xr-x 5 1001 115 4.0K Apr  3 04:44 .
drwxr-xr-x 6 1001 115 4.0K Apr  3 04:46 ..
drwxr-xr-x 4 1001 115 4.0K Apr  3 04:44 Assets
drwxr-xr-x 2 1001 115 4.0K Apr  3 04:44 Packages
drwxr-xr-x 2 1001 115 4.0K Apr  3 04:44 ProjectSettings
###########################
Testing in EditMode
###########################
Segmentation fault (core dumped)
[Licensing::Module] Channel doesn't exist: "LicenseClient-root"
[Licensing::Module] Successfully launched the LicensingClient (PId: 70)
[Licensing::Module] Successfully connected to LicensingClient on channel: "LicenseClient-root"
[SignatureVerifier] Application signature verification not supported on this platform.
Entitlement-based licensing initiated
[LicensingClient] Licenses updated successfully
Unexpected exit code 139
/steps/run_tests.sh: line 109: [: =: unary operator expected
###########################
Project directory
###########################
total 20K
drwxr-xr-x 5 1001 115 4.0K Apr  3 04:44 .
drwxr-xr-x 6 1001 115 4.0K Apr  3 04:46 ..
drwxr-xr-x 4 1001 115 4.0K Apr  3 04:44 Assets
drwxr-xr-x 2 1001 115 4.0K Apr  3 04:44 Packages
drwxr-xr-x 2 1001 115 4.0K Apr  3 04:44 ProjectSettings
###########################
Edit Mode Results
###########################
cat: /github/workspace/editmode-artifacts/editmode-results.xml: No such file or directory
cat: /github/workspace/editmode-artifacts/editmode-results.xml: No such file or directory
/steps/run_tests.sh: line 164: [: =: unary operator expected
/steps/run_tests.sh: line 182: [: -gt: unary operator expected
##[error]The process '/usr/bin/docker' failed with exit code 139

Hey @pablothedolphin adn thanks for reporting your issue!
Could you also show your workflow configuration for your test job?

Here's my action script:
Thanks for the quick response @webbertakken ! Here it is:
name: Run Unit Tests

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

jobs:
  testAllModes:
    name: Test in ${{ matrix.testMode }} on version ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        projectPath:
          - Test-Project
        unityVersion:
          - 2019.3.6f1
          - 2020.1.0b4
        testMode:
          - editmode
          - playmode
    steps:
      - uses: actions/checkout@v2
        with:
          lfs: true
      - uses<EMAIL_ADDRESS>        with:
          path: ${{ matrix.projectPath }}/Library
          key: Library-${{ matrix.projectPath }}
          restore-keys: |
            Library-
      - uses<EMAIL_ADDRESS>        id: tests
        with:
          projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          testMode: ${{ matrix.testMode }}
          artifactsPath: ${{ matrix.testMode }}-artifacts
      - uses: actions/upload-artifact@v1
        with:
          name: Test results for ${{ matrix.testMode }}
          path: ${{ steps.tests.outputs.artifactsPath }}

My best guess is that the license activates fine but it fails to open the editor / the editor is crashing somehow.

Hmm it doesn't really become clear from these logs what's going on.
You're right about that it looks like the license activates but then the editor crashes. Note that activating already happens within the editor itself. So it's when trying to run your tests that it crashes.
Possibly a permission issue. Otherwise perhaps a misconfiguration of assembly files. Either way we need to find a better way to get logs out of unity.

I'm getting the exact problem with our tests: https://github.com/unitystation/unitystation/actions
Here is our test config: https://github.com/unitystation/unitystation/blob/develop/.github/workflows/test.yml
We also just upgraded from Unity 2019.2 to 2019.3. It would work most of the time when we were on 2019.2 but every now and then would throw the urinary error:
/steps/run_tests.sh: line 164: [: =: unary operator expected /steps/run_tests.sh: line 182: [: -gt: unary operator expected
Now after upgrading to 2019.3 it fails with that error all the time

Good to know it doesn't always happen, and that there seems to be a difference between Unity versions. I'd say that rules out misconfiguration of test assembly files.
I doubt the unary operator being the reason for the actual failure, and still think the failure is silent. On the runs where it doesn't fail, does it also give you the errors about unary operator?

So this is what those logs look like in a test that passes:
2020-04-06T21:45:55.5686712Z /steps/run_tests.sh: line 109: [: =: unary operator expected
2020-04-06T21:45:55.5687144Z /steps/run_tests.sh: line 164: [: =: unary operator expected
2020-04-06T21:45:55.5687908Z /steps/run_tests.sh: line 182: [: -gt: unary operator expected
2020-04-06T21:45:55.7803486Z ##[group]Run actions/setup-dotnet@v1```

Yea so it is really about Unity not giving us enough information about what's going on.
I think we need to get more information out of either unity or the test script specifically.

Duplicate of https://github.com/webbertakken/unity-actions/issues/70#issuecomment-637817909
This issue can be resolved by using stable, non-beta versions.

See also https://github.com/game-ci/unity-actions/issues/84


Transform error in vue2.7

Describe the bug
https://github.com/unplugin/unplugin-turbo-console/blob/764294cd349409e689fae17755b1753b3e3a5ac7/src/core/transform/compilers/vue.ts#L15-L20
The descriptor will be undefined
Reproduction
None
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
    Memory: 5.94 GB / 15.89 GB
  Binaries:
    Node: 20.12.2 - ~\AppData\Local\fnm_multishells\10544_1713747110239\node.EXE
    npm: 10.5.0 - ~\AppData\Local\fnm_multishells\10544_1713747110239\npm.CMD
    pnpm: 8.15.7 - ~\AppData\Local\fnm_multishells\10544_1713747110239\pnpm.CMD
    bun: 1.1.3 - D:\Scoop\shims\bun.EXE
  Browsers:
    Edge: Chromium (123.0.2420.97)
    Internet Explorer: 11.0.19041.1566

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Could you provide a minimal Vue SFC file which case this error?

https://github.com/yandixuan/unplugin-console-demo
Run and watch the console

Thanks for your report.
The reason for this problem is vue/compiler-sfc provides different API in 2.7 and 3+ versions.
It should be fixed on v1.8.3 (release)


Update deletes /usr/local/Library/ENV

Bug reports:
I recently issued 'brew update && brew upgrade' (ecc329e to 092d471) and then noticed that I was having problems with my brew installed R which was looking for /usr/local/Library/ENV/4.3/sed. I noticed that the update of brew coincided with deletion of the directory ENV. What's going on here? Thanks.
Cheers,
James

That's intentional we've moved it. Please create an issue for whatever tap you installed R from to ask them to rebuild their bottle.

Probably homebrew/science, IIRC. CC @Homebrew/science.

Mike,
Thanks for your response. I figured that it was probably intentional. It appears that maintainer of the tap fixed the issue.
Cheers,
James


Add FreeBSD installation instructions

Cool, thanks! :)

@akavel thanks for this awesome piece of software. It feels like magic.

Thanks for the good word too, it really matters! :)


[C++ interop] Fix reflection info compiler crash.

When a c++ namespace IRGens for reflection, it triggers a path that expects the namespace to have a particular form. Because it is always empty, we can treat it just like an empty swift enum.

@swift-ci please test and merge

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - baa793a791c9b1e5216b69805681f2ac5d569e59

Build failed
Swift Test OS X Platform
Git Sha - baa793a791c9b1e5216b69805681f2ac5d569e59


Desktop async components fail to render RSX after awaiting

Problem
Async components on Desktop fail to render any RSX after awaiting any futures.
This only occurs if the future doesn't return immediately.
Steps To Reproduce
.await any value inside of an async component on the Desktop target.
If the future returns immediately, this issue doesn't occur.
use std::{future::Future, task::Poll};

fn main() {
    dioxus_desktop::launch(container);
}

fn container(cx: Scope) -> Element {
    render! {
        p { "hi" } // Renders fine
        crate::app {}
    }
}

async fn app(cx: Scope<'_>) -> Element<'_> {

    let _ = Test { count: 0 }.await;

    cx.render(rsx!(
        p { "good bye" } // Fails to render at all
    ))
}

// Future test struct. Counts to 5, incrementing by 1 every poll()
struct Test {
    count: u8,
}
impl Future for Test {
    type Output = ();

    fn poll(mut self: std::pin::Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> std::task::Poll<Self::Output> {
        if self.count >= 5 {
            return Poll::Ready(());
        } else {
            println!("counting");
            self.count += 1;
            cx.waker().wake_by_ref();
            return Poll::Pending;
        }
    }
}

Expected behavior
The RSX to render after all futures are ready.
Environment:

Dioxus version: master
Rust version: 1.70
OS info: Windows 10
App platform: Desktop (Web was tested and doesn't have this issue)

Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[x] I don't have time to fix this right now, but maybe later

Closing this in favor of #1125


first version of github actions

License
I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Now make sure all tests pass in PRs


If a field has an explicitly null value in the JSON it is deserialized to Object.class even if later in the JSON that same field is represented as a specific type.

The following JSON:
{"example": [{"foo": null}, {"foo": "bar"}]}
Will generate the following APEX:
 if (text == 'foo') {     foo = parser.readValueAs(Object.class); }
And when executed will incur the following error:
System.JSONException: Apex Type unsupported in JSON: Object

I will be attempting to fix this on my own and will report back with a patch and a PR if you'd like. Thanks for the great tool. All the best.
-J

Just adding a quick note that this scenario also triggers the same issue:
{"outter":[{"foo":{"bar": null}}, {"foo":{"bar":"test"}},{"foo":{"bar":null}}]}
I implemented a fix for the original case (in my first post) by modifying the merge fields method so that it would merge even if the type wasn't null, so long as it was an Object. The supposition being that it had ran into a null and became object, but now it has run into a concrete type (like a string) and so it would prefer the non-Object designation.
But that didn't correct the whole issue, I don't know why. I'm imagining I just don't fully understand the merge logic so I'll need to dig deeper.

I'm tempted, for my purposes, to just ignore nulls when encountered and not to map them to a type at all. Leaving the office now so I'll update one final time tomorrow if I end up going that route. It might be worth having it as an option selection before parsing. It will probably be a lot quicker for me to implement than spending a ton of time which I unfortunately do not have understanding the merge logic.
-J

Additional case that breaks:
{
	"foo": [
		{
			"bar": [{"baz":null}]
		},
		{
			"bar": [{"baz":[{"bat": null}]}]
		},
		{
			"bar": [{"baz":[{"bat": "hello"}]}]
		}
	]
}

I have fixed the scenarios listed in previous comments above already. As you might be able to tell by the timestamp this has been literally keeping me up. :-)
https://github.com/josephbleau/json2apex/commit/2f95c8b025889f7be0b5b4c0e9bd89be94b6c08f
Will make the PR once I cover this last scenario.
-J

Found one final additional scenario where, due to my change before, if the order so happens that we encounter a member of a type that is an ApexClass, but later encounter the same type (by member names), but one of those members has a value of null (and so becomes ApexPrimitive.OBJECT), we were not moving the details of the initially encountered type into the secondary object. Effectively, we are only ever merging one way and so we're losing some information. I worked around this by forcing lists to merge types both ways.
I've gotten to the point where I'm pretty sure it's working, in-so-much as it's now handling scenarios with null values in JSON, but the code probably should be refactored.
Additionally, I removed the class removal logic for now. I think I have a bug where I'm removing types even if they were needed because of my changes to the merge fields method. I'll probably look into this later, but for now I'm just going to make this PR although I don't fully encourage pulling it.
I don't know how much this code-base is maintained at this point, but I'd be happy to have a Skype call or IRC chat to discuss the changes and get your perspective!
Thanks again for the awesome tool!
-J


(WIP) Add test for CASSANDRA-8366: Did not get positive replies from all endpoints

(Work in progress) Do not merge.
First version to test cassandra-8316. This PR requires https://github.com/pcmanus/ccm/pull/216

@aboudreault Did you decide if this was still worth adding or not, after #171

This error message still happens, but the cluster state is mostly checked by #171. Closing.


IAM Cloud Formation Syntax

CloudFormation IAM resources:

AWS::IAM::AccessKey - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
AWS::IAM::Group - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
AWS::IAM::InstanceProfile - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
AWS::IAM::Policy - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html
AWS::IAM::Role - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
AWS::IAM::User - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
AWS::IAM::UserToGroupAddition - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html

LGTM

Thanks for these fantastic contributions!  Much appreciated.  :-)

I will stick with the resource syntax for now, and then once I can Sublime contexts working, will start of resource properties.
NR


Syntax Error when load on Firefox Browser v.77.0.1 (64-bit)

Hello i have some problem on Firefox browser, my code runs fine in all browsers except Firefox which is
InvalidIdentity in Regular Expression, you can look at this image

On console

My code
//[slug].tsx

import React, { useEffect } from "react";
import { GetStaticPaths, GetStaticProps, InferGetStaticPropsType } from "next";
import { serialize } from "next-mdx-remote/serialize";
import { MDXRemote, MDXRemoteSerializeResult } from "next-mdx-remote";
import { Container } from<EMAIL_ADDRESS>import fs from "fs";
import path from "path";
import matter from "gray-matter";
import BlogHeader from "@components/BlogHeader";
import BlogWrapper from "@components/BlogWrapper";
import hljs from "highlight.js";
import "highlight.js/styles/tomorrow-night-bright.css";

type Params = {
  [param: string]: any;
};

type ArticleProps = {
  source: MDXRemoteSerializeResult<Record<string, unknown>>;
};

export default function Article({
  source,
}: ArticleProps): InferGetStaticPropsType<typeof getStaticProps> {
  const {
    scope: { dateString, mainImageUrl, title, excerpt, longtimeRead, altImage },
  } = source;

  useEffect(() => {
    hljs.highlightAll();
  }, []);

  return (
    <Container>
      <BlogHeader
        altImage={altImage}
        longtimeRead={longtimeRead}
        excerpt={excerpt}
        title={title}
        dateString={dateString}
        mainImageUrl={mainImageUrl}
      />
      <BlogWrapper>
        <MDXRemote {...source} />
      </BlogWrapper>
    </Container>
  );
}

export const getStaticPaths: GetStaticPaths = async () => {
  const articleDirectory = path.join("__articles");
  const articleFiles = fs.readdirSync(articleDirectory);
  const paths = articleFiles.map((fileName: string) => ({
    params: {
      slug: fileName.replace(".mdx", ""),
    },
  }));

  return {
    paths,
    fallback: false,
  };
};

export const getStaticProps: GetStaticProps<Params> = async ({
  params: { slug },
}: Params) => {
  const articleFile = fs.readFileSync(path.join("__articles", slug + ".mdx"));
  const { data: metaData, content } = matter(articleFile);
  const mdxSource = await serialize(content, { scope: metaData });

  return { props: { source: mdxSource } };
};

If i'm comment all from module highlight.js its running.
Any solutions?

Closing as a dup of https://github.com/highlightjs/highlight.js/issues/3387.  This is a #wontfix.  Firefox 77/78 is over 1.5 years (18 releases!) old now and no longer supported by Highlight.js. You can read the other issue for more context.

I see. Thanks sir👍

1.5 years

@joshgoebel A 1.5 years old browser isn't old at all btw. A browser from 2015 is still a modern browser! I think your browser support polity is broken 👎
Developers have no control over what client users have. Imagine someone attempts to visit your website and it ends up broken because of one stupid regex error 🤒
Anyway, to which version of highlight.js do you suggest I downgrade?

We never suggest users run older versions.  What we do suggest is already documented in #3387 and this issue is already talked out there.

We also can't suggest users run newer browsers.

While it may be impossible to guarantee I certainly don't see why it couldn't be at least suggested.  A browser that is 18 releases behind on critical bugfixes and security updates is not a good thing in the world.


Updates to secp256k1 signature support

Updates #962, incorporating feedback from review.

[ ] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[ ] Updated all code comments where relevant
[ ] Wrote tests
[ ] Added entry in .changelog/

The kvstore integration test's failing non-deterministically again (first time in ages):
Caused by:
    Internal error: tx (497684D2A447D8B073E8D71A8F690AC3C4D4B99D13085B46E5D886850577A0DD) not found (code: -32603)

Unrelated to the work in this PR.


poetry: Fix shell completions

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Fixing in what sense? There isn't anything wrong with shell completions rn afaict.

I install poetry with nix on Ubuntu. share/zsh/vendor-completions/_poetry is not working.

Also, this file will get overwritten on the next poetry2nix bump, you should contribute any changes there.

I've realized that, so I closed this PR. :)


License

HI, I'd like to use your code as a template for my theme as it is very simple and has everything I'd need.
Your code is not licensed. Could you add a license to your code? It is generally a good practice to add some kind of a license to your code :)

License added. Go ahead!


setjmp/longjmp implementation

This PR implement setjmp and longjmp within lind-wasm (issue https://github.com/Lind-Project/lind-wasm/issues/38)

Can you add some basic tests with this addition? Even just the simple example from: https://en.cppreference.com/w/c/program/setjmp would be helpful.

Added a longjmp testcase. The longjmp is also already tested againest bash and bash is able to run things like if upon it


Theme download does not download all files

When I run the command theme download assets/*, I would suspect that the gem would download all files that are set in Shopify. But it doesn't. It juist downloads the files that I already have in my local project. When I specify the file specifically, it does download the file.
That's pretty annoying when you want to keep your directories clean while building a new template based on a duplicated one.

This project isn't really maintained anymore. I suggest trying to replicate the issue using https://github.com/csaunders/phoenix/releases/tag/0.1.0 instead. Let me know if you are still experiencing the issue.

May I offer an alternative as a gift to the shopify community?
@csaunders We have a few shopify stores and having a solid theme synchronizer is important to us...
I have a project in production which our in-house designer uses. You may remember I wrote an alternate theme sync a while back (When there was discussion about changing the file events library).
This new project fully respects Shopify's API limits. The old one would just hammer the server until it went through.
https://github.com/internalfx/quickshot

Take a look at http://github.com/shopify/phoenix
It also respects the API limits and has configurable levels of concurrency.

Oh wow, I haven't ever tried Go, so I might not be much use on that project.
quickshot is nodejs based. (Although, I use io.js :smile: )
Well...let me ask you then. Is an alternate theme tool something Shopify appreciates, or should I not promote quickshot to other users. (Maybe Shopify wants everyone using phoenix)
My long term plans are to provide local tools inside quickshot. Some items on my shortlist are:

local scss compiling with the final css being sent to Shopify. Allowing the designer to have many .scss files while only loading one in the theme to save load time.
Access to more advanced templating. Allowing local use of a more powerful language to genereate `.liquid' files with greater automation.

The goal of the go project is to provide a single binary that just works on the various platforms. No ruby/node/io + package manager stuff to get setup and running.
The project is MIT licensed, just give credit where required and do whatever. Best of luck with your project.


Add Log4Net Appenders

Whenever log4net is ported to .NET Core (https://github.com/apache/log4net/pull/16)

log4net 2 supports this now.

I'm going to just close this unless people have any interest, ILogger really does a lot of stuff for you at this point and you'd be plugging log4net into Ilogger.


[improve][storage] Periodically rollover Cursor ledgers

Motivation:
If no consumer is sending acks the ManagerCursor is not performing the "rollover", and this leaves long lived ledgers on the bookies, preventing GC.
Modifications:
Periodically enforce that the ManagedCursor check and rollover the BookKeeper ledger at the configured rollover timeout.

@nicoloboschi @michaeljmarshall  this is the PR upstream
https://github.com/apache/pulsar/pull/22622
maybe you can LGTM also there :wink:


feat: local non-fungible use cases

Implement the non-fungible feature to pop-api to support interact with non-fungible tokens. This feature can be broken down into two milestones:

Reference PSP34: https://github.com/w3f/PSPs/blob/master/PSPs/psp-34.md
Reference ERC721: https://docs.openzeppelin.com/contracts/3.x/api/token/erc721

Milestone 1 | Basic functionalities of the non-fungible feature
PSP34Mintable Interface

[x] mint()

PSP34Burnable Interface

[x] burn()

PSP34 Interface

[x] collection_id() ➔ Id
[ ] balance_of(owner: AccountId) ➔ u32
[x] owner_of(id: Id) ➔ Option
[ ] allowance(owner: AccountId, operator: AccountId, id: Option) ➔ bool
[x] approve(operator: AccountId, id: Option, approved: bool) ➔ Result<(), PSP34Error>
[x] transfer(to: AccountId, id: Id, data: [u8]) ➔ Result<(), PSP34Error>
[x] total_supply() ➔ Balance

PSP34Metadata Interface

[ ] get_attribute(id: Id, key: [u8]) ➔ Option<[u8]>

PSP34Enumerable

[ ] owners_token_by_index(owner: AccountId, index: u128) ➔ Option
[ ] token_by_index(index: u128) -> Option

Milestone 2 | Fractionalization feature
TBA
Specification
Milestone 1 | Basic functionalities of the non-fungible feature
Pallet: Read State

Owner(CollectionId, ItemId): Retrieve the owner of the non-fungible collection item
CollectionOwner(CollectionId): Retrieve the owner of the non-fungible collection
Attribute(CollectionId, ItemId, Key): Retrieve the attribute value of item of collection corresponding to key.  When key is empty, we return the item metadata value.
CustomAttribute(AccountId, CollectionId, ItemId, Key): Returns the custom attribute value of item of collection corresponding to key. By default this is None; no attributes are defined.
SystemAttribute(AccountId, Option<CollectionId>, ItemId, Key): 	Returns the system attribute value of item of collection corresponding to key if item is Some. Otherwise, returns the system attribute value of collection corresponding to key.
CollectionAttribute(CollectionId, Key): Returns the attribute value of item of collection corresponding to key. When key is empty, we return the item metadata value.
Transferable(CollectionId, ItemId): Returns true if the item of collection may be transferred.
IsIssuer(CollectionId, AccountId): Return true if the account is the collection issuer.
IsAdmin(CollectionId, AccountId): Return true if the account is the collection admin.
IsFreezer(CollectionId, AccountId): Return true if the account is the collection freezer.
Collections(): Returns an iterator of the collections in existence.
items(AccountId): Returns an iterator of the items of a collection in existence.
Owned(AccountId): Returns an iterator of the items of all collections owned by who.
OwnedInCollection(CollectionId, AccountId): Returns an iterator of the items of collection owned by who.

Pallet: Dispatchable Functions
Permissionless dispatchables

[x] create: Create a new collection by placing a deposit.
[x]  mint: Mint a new item within a collection (when the minting is public).
[x]  transfer: Send an item to a new owner.
[ ]  redeposit: Update the deposit amount of an item, potentially freeing funds.
[x]  approve_transfer: Name a delegate who may authorize a transfer.
[x]  cancel_approval: Revert the effects of a previous approve_transfer.
[ ]  approve_item_attributes: Name a delegate who may change item's attributes within a namespace.
[ ]  cancel_item_attributes_approval: Revert the effects of a previous approve_item_attributes.
[ ]  set_price: Set the price for an item.
[ ]  buy_item: Buy an item.
[ ]  pay_tips: Pay tips, could be used for paying the creator royalties.
[ ]  create_swap: Create an offer to swap an NFT for another NFT and optionally some fungibles.
[ ]  cancel_swap: Cancel previously created swap offer.
[ ]  claim_swap: Swap items in an atomic way.

Permissioned dispatchables

[x]  destroy: Destroy a collection. This destroys all the items inside the collection and refunds the deposit.
[ ]  force_mint: Mint a new item within a collection.
[x]  burn: Destroy an item within a collection.
[ ]  lock_item_transfer: Prevent an individual item from being transferred.
[ ]  unlock_item_transfer: Revert the effects of a previous lock_item_transfer.
[ ]  clear_all_transfer_approvals: Clears all transfer approvals set by calling the approve_transfer.
[ ]  lock_collection: Prevent all items within a collection from being transferred (making them all soul bound).
[ ]  lock_item_properties: Lock item's metadata or attributes.
[ ]  transfer_ownership: Alter the owner of a collection, moving all associated deposits. (Ownership of individual items
will not be affected.)
[ ]  set_team: Alter the permissioned accounts of a collection.
[ ]  set_collection_max_supply: Change the max supply of a collection.
[ ]  update_mint_settings: Update the minting settings for collection.

Metadata (permissioned) dispatchables

[ ]  set_attribute: Set a metadata attribute of an item or collection.
[ ]  clear_attribute: Remove a metadata attribute of an item or collection.
[ ]  set_metadata: Set general metadata of an item (E.g. an IPFS address of an image url).
[ ]  clear_metadata: Remove general metadata of an item.
[ ]  set_collection_metadata: Set general metadata of a collection.
[ ]  clear_collection_metadata: Remove general metadata of a collection.

Force (i.e. governance) dispatchables

[ ]  force_create: Create a new collection (the collection id can not be chosen).
[ ]  force_collection_owner: Change collection's owner.
[ ]  force_collection_config: Change collection's config.
[ ]  force_set_attribute: Set an attribute.

Tasks
List the sub-issues here

Please use the PSP34 spec from here: https://github.com/inkdevhub/standards/tree/master/PSPs (slightly more up-to-date)

Here is also a good reference implementation: https://github.com/Cardinal-Cryptography/PSP34
(note, it is on ink! v4.3.0, so there are some improvements with ink! v5)

I would remove the ERC-721 milestone for now. It can remain in the spec if you want, but I don't think we should prioritize its implementation.
We should have a base PSP34 that matches the PSP standard exactly. No extra functions (dispatch or read).
And then, the remaining functionality listed in Permissionless / Permissioned dispatchables should be an extension. For example, a PSP34Swappable, and PSP34Manager (for admin stuff), etc. etc.

My concerns for this specification is should we support collection (introduce in the trait crate non_fungible_v2)? IMO, we should because it has become the standard of the NFT space. PSP34 interface is a bit out-dated right now and it does not have the supported standard on the ink! side for the NFT collection manager contract.
If we agree to support collection creation / item management, we will need to make some adjustments to the specification of the PSP34. For collection item, we can follow PSP34, for collection we will come up with our own PSP34Collectable spec.
cc: @Daanvdplas @peterwht

Yes, we should definitely support this.


Issue implementing Tenant Config Feature

Hey there!
I'm working on implementing the storage_to_config_map to set my mail_from_name from tenant storage. Even though I can dump my config() and see that the mail_from_name has been set to the tenants mail_from_name in the database, the emails still send from the Laravel default from name.
Here's the code:
config/tenancy
`'features' => [
// Features are classes that provide additional functionality
// not needed for tenancy to be bootstrapped. They are run
// regardless of whether tenancy has been initialized.
    // Stancl\Tenancy\Features\Timestamps::class,
    Stancl\Tenancy\Features\TenantConfig::class,
    // Stancl\Tenancy\Features\TelescopeTags::class,
    // Stancl\Tenancy\Features\TenantRedirect::class,
],
'storage_to_config_map' => [ // Used by the TenantConfig feature
    'mail_from_name' => 'mail.from.name',
    'mail_from_address' => 'mail.from.address'
],`

DB Record:
'f6d15f05-fe43-45a6-9c92-0fb52f24c751', '{\"id\": \"f6d15f05-fe43-45a6-9c92-0fb52f24c751\", \"mail_from_name\": \"Jonathan Mann\"}'
Config Mail Dump:
"mail" => array:10 [▼
      "driver" => "smtp"
      "host" => "smtp.mailtrap.io"
      "port" => "2525"
      "from" => array:2 [▼
        "address" =><EMAIL_ADDRESS>        "name" => "Jonathan Mann"
    ]

As you can see above this sets properly in the config, but when I send emails even after clearing the cache they still send with the default Laravel from.name. Any thoughts? Am I just using this feature incorrectly?

Sorry for the late response, apparently I forgot to click Comment when I replied.
The issue is likely that some part of your application reads from this config before you change it.

Ah you are correct. I tested it in a fresh Laravel installation and it worked. I'll debug my application and close this request. Thanks!


Asynchronous task in response interceptor?

I am currently trying to implement ng-admin with a Loopback API. As Loopback provides collection length in a separate route (/api/cars/count), I would like to decorate the response with a totalCount property retrieved from this URL.
Here is what I've done so far:
app.run(['Restangular', '$http', function(RestangularProvider, $http) {
    RestangularProvider.addResponseInterceptor(function(data, operation, what, url, response, deferred) {
        if (operation !== 'getList') {
            deferred.resolve(data);
        }

        $http.get(url + '/count')
            .success(function(countData) {
                response.totalCount = countData.count;
                deferred.resolve(data);
            })
            .error(function(error) {
                deferred.reject(error);
            });
    });
}]);

Does Restangular interceptor deals correctly with asynchronous tasks?
Probably related to #893.

Bump! :)

+1
Seems that response interceptor can not return promise currently. When I do for the getList method, I get the Response for getList SHOULD be an array and not an object or something else error message.

1

Need this to handle compaction of jsonld, when context is an IRI.


"Joint" searching queries across multiple feature metadata fields

A continuation of the ideas laid out in #132.
This would basically let the user do multiple queries of arbitrary types on the same half of a log ratio. Think sort of akin to SQL queries.
Something like "has taxonomic rank Clostridium and has confidence > 0.95".
The fact that we can already search by multiple ranks at once in taxonomy searching kinda mitigates the urgency of this but it'd still be cool to have.
i think a graphical interface for this (where the user could e.g. press a "+" button that adds another searching row) would be cool, but probs hard or tedious to pull off (esp. in vanilla-ish JS, which we're using now). An easier (and maybe more intuitive?) solution would be defining a sort of syntax for these queries, but that would take some getting used to for users (and I don't want to alienate people with that).

I'm upgrading this to "important", because this is coming up a lot and I think having it supported would be really useful. In particular, use cases like "the bottom-ranked X% of features, excluding the text T" will be super helpful for analyses on datasets where the numerator taxa being inspected aren't all highly ranked (and we want to take a denominator from the bottom few features without also selecting the taxa here that are in the numerator).


Adaptation through fine-tuning with error RuntimeError: Could not infer dtype of numpy.int16

Checklist

[x ] I've searched the project's issues.

❓ Question
Hi there, I was trying to finetune the pre-trained model with LUNA16 datasets, I've went through the website and the configuration yaml file, and modify the config based on the suggestion here fmcib_finetune.yaml
However, the process stopped due to an error
192 M     Trainable params
0         Non-trainable params
192 M     Total params
771.482   Total estimated model params size (MB)
168       Modules in train mode
0         Modules in eval mode
Sanity Checking: |                                                                            | 0/? [00:00<?, ?it/s][rank3]: Traceback (most recent call last):
[rank3]:   File "/home/user/.conda/envs/fmcib/bin/lighter", line 8, in <module>
[rank3]:     sys.exit(interface())
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/lighter/utils/cli.py", line 23, in interface
[rank3]:     fire.Fire(commands)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
[rank3]:     component_trace = _Fire(component, args, parsed_flag_args, context, name)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/fire/core.py", line 566, in _Fire
[rank3]:     component, remaining_args = _CallAndUpdateTrace(
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
[rank3]:     component = fn(*varargs, **kwargs)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/lighter/utils/runner.py", line 70, in run_trainer_method
[rank3]:     getattr(trainer, method)(system)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
[rank3]:     call._call_and_handle_interrupt(
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 46, in _call_and_handle_interrupt
[rank3]:     return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 105, in launch
[rank3]:     return function(*args, **kwargs)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
[rank3]:     self._run(model, ckpt_path=ckpt_path)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
[rank3]:     results = self._run_stage()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
[rank3]:     self._run_sanity_check()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
[rank3]:     val_loop.run()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
[rank3]:     return loop_run(self, *args, **kwargs)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 128, in run
[rank3]:     batch, batch_idx, dataloader_idx = next(data_fetcher)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/loops/fetchers.py", line 133, in __next__
[rank3]:     batch = super().__next__()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/loops/fetchers.py", line 60, in __next__
[rank3]:     batch = next(self.iterator)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/utilities/combined_loader.py", line 341, in __next__
[rank3]:     out = next(self._iterator)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/pytorch_lightning/utilities/combined_loader.py", line 142, in __next__
[rank3]:     out = next(self.iterators[0])
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 701, in __next__
[rank3]:     data = self._next_data()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1465, in _next_data
[rank3]:     return self._process_data(data)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1491, in _process_data
[rank3]:     data.reraise()
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/torch/_utils.py", line 715, in reraise
[rank3]:     raise exception
[rank3]: RuntimeError: Caught RuntimeError in DataLoader worker process 0.
[rank3]: Original Traceback (most recent call last):
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/monai/transforms/transform.py", line 141, in apply_transform
[rank3]:     return _apply_transform(transform, data, unpack_items, lazy, overrides, log_stats)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/monai/transforms/transform.py", line 98, in _apply_transform
[rank3]:     return transform(data, lazy=lazy) if isinstance(transform, LazyTrait) else transform(data)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/monai/transforms/intensity/array.py", line 902, in __call__
[rank3]:     img = convert_to_tensor(img, track_meta=get_track_meta())
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/monai/utils/type_conversion.py", line 169, in convert_to_tensor
[rank3]:     return _convert_tensor(data, dtype=dtype, device=device)
[rank3]:   File "/home/user/.conda/envs/fmcib/lib/python3.9/site-packages/monai/utils/type_conversion.py", line 149, in _convert_tensor
[rank3]:     tensor = torch.as_tensor(tensor, **kwargs)
[rank3]: RuntimeError: Could not infer dtype of numpy.int16

I believe the error comes from here [rank3]: RuntimeError: Could not infer dtype of numpy.int16
If possible, can you please guide me how to run this through, thank you.

This error often occurs when there's a mismatch between the expected data type and the actual data type being processed.
Have you tried checking the data types?
You can use numpy.dtype to check the data type of your arrays.

Hi @Dtdavidgit
This seems like it might be due to numpy versioning. The previous build of this package does not lock versions but I'm considering doing that in the next release.
Do you mind sharing versions of the packages you have installed?

Hi @surajpaib
I am using numpy 1.26.4
Name: numpy
Version: 1.26.4
Summary: Fundamental package for array computing in Python
Home-page: https://numpy.org
Author: Travis E. Oliphant et al.
Author-email:
License: Copyright (c) 2005-2023, NumPy Developers.

@Dtdavidgit
Thanks!
Ok, now I think the issue might be something entirely different. Could you try moving the line https://github.com/AIM-Harvard/foundation-cancer-image-biomarker/blob/b45a4988fa051112abf6e0ceddc4ab1797409ab9/experiments/adaptation/fmcib_finetune.yaml#L92
to the top of the transforms, before the NormalizeIntensity transform and report if that fixes it?

@Dtdavidgit Thanks!
Ok, now I think the issue might be something entirely different. Could you try moving the line
https://github.com/AIM-Harvard/foundation-cancer-image-biomarker/blob/b45a4988fa051112abf6e0ceddc4ab1797409ab9/experiments/adaptation/fmcib_finetune.yaml#L92
to the top of the transforms, before the NormalizeIntensity transform and report if that fixes it? You would need to do this for both train and val

@surajpaib Thank you for your assistance, however, after I modified the config file, it still shows the same error.
Please refer the whole config file as following,
trainer:
  _target_: pytorch_lightning.Trainer
  benchmark: True
  max_epochs: 100
  check_val_every_n_epoch: 5
  accelerator: gpu
  devices: 4
  # sync_batchnorm: True
  # precision: 16
  log_every_n_steps: 1
  logger:
    _target_: pytorch_lightning.loggers.WandbLogger
    name: "fmcib_finetune"
    project: "fmcib"
    save_dir: "./logs"

  callbacks:
    - _target_: pytorch_lightning.callbacks.ModelCheckpoint
      dirpath:  ./finetune # Note: Change as appropriate
      verbose: True
      save_last: True
      every_n_epochs: 1
      save_on_train_epoch_end: True

system:
    _target_: lighter.LighterSystem
    batch_size: 16
    pin_memory: True
    drop_last_batch: False
    num_workers: 12
    model:
        _target_: fmcib.models.LoadModel
        trunk:
          _target_: monai.networks.nets.resnet50
          widen_factor: 2
          n_input_channels: 1
          feed_forward: False
        weights_path: "./model_weights.torch" # Note: Path to the FM weights. Download from Zenodo or HF
        heads: [4096, 2048, 1] # Note: Change to [4096, 2048, 1] for Task 2 and [4096, 2048, 512, 256, 1] Task 3

    postprocessing:
      metrics:
        pred:
          - "$lambda x: torch.sigmoid(x)" # Note: Change to $lambda x: torch.sigmoid(x) for Task 2 and Task 3
      criterion:
        target: # Note: Uncomment for Task 2 and Task 3
          - "$lambda x: x.float()"

    criterion:
        _target_: torch.nn.BCEWithLogitsLoss # Note: Change to torch.nn.BCEWithLogitsLoss for Task 2 and Task 3

    optimizer:
        _target_: torch.optim.Adam
        params: "$@system#model.parameters()"
        # lr: "$((@system#batch_size * @trainer#devices)/256) * 0.1" # Compute LR dynamically for different batch sizes
        # weight_decay: 0.0
        # momentum: 0.9

    scheduler:
      _target_: torch.optim.lr_scheduler.StepLR
      optimizer: "@system#optimizer"
      step_size: 30

    metrics:
      train:
        - _target_: torchmetrics.AveragePrecision
          task: 'binary' # Note: Change to `binary` for Task 2 and Task 3 and remove num_classes below
          num_classes: 8
        - _target_: torchmetrics.AUROC
          task: 'binary' # Note: Change to `binary` for Task 2 and Task 3 and remove num_classes below
          num_classes: 8

      val: "%#train"
      test: "%#train"

    datasets:
      train:
        _target_: fmcib.datasets.SSLRadiomicsDataset
        path: "/mnt/data/david/foundation-cancer-image-biomarker/data/preprocessing/luna16/annotations/task2_train.csv" # Note: Change path
        label: "malignancy" # Note: Change to "malignancy" for Task 2 and "survival" for Task 3
        radius: 25
        orient: False # Note: Set orient to False for task 2 and task 3
        resample_spacing: [1, 1, 1]
        enable_negatives: False
        transform:
            _target_: monai.transforms.Compose
            transforms:
                - _target_: monai.transforms.ToTensor
                - _target_: monai.transforms.NormalizeIntensity
                  subtrahend: -1024
                  divisor: 3072
                - _target_: monai.transforms.EnsureChannelFirst
                  channel_dim: no_channel
                - _target_: monai.transforms.SpatialPad
                  spatial_size: [50, 50, 50]
                - _target_: monai.transforms.RandGaussianSmooth
                  prob: 0.5
                - _target_: monai.transforms.RandAffine
                  prob: 0.5
                  translate_range: [10, 10, 10]
                - _target_: monai.transforms.RandAxisFlip
                  prob: 0.5
                - _target_: monai.transforms.RandRotate90
                  prob: 0.5

      val:
        _target_: fmcib.datasets.SSLRadiomicsDataset
        path: "/mnt/data/david/foundation-cancer-image-biomarker/data/preprocessing/luna16/annotations/task2_val.csv" # Note: Change path
        label: "@system#datasets#train#label"
        radius: "@system#datasets#train#radius"
        orient: "@system#datasets#train#orient"
        resample_spacing: "@system#datasets#train#resample_spacing"
        enable_negatives: "@system#datasets#train#enable_negatives"
        transform:
            _target_: monai.transforms.Compose
            transforms:
                - _target_: monai.transforms.ToTensor
                - _target_: monai.transforms.NormalizeIntensity
                  subtrahend: -1024
                  divisor: 3072
                - _target_: monai.transforms.EnsureChannelFirst
                  channel_dim: no_channel
                - _target_: monai.transforms.SpatialPad
                  spatial_size: [50, 50, 50]

      test: null

Thanks for sharing! It seems like the config is okay. I've tested the same config with my copy of the LUNA16 and it seems to work fine.
Could you double check your data if its processed identically to as described?

@Dtdavidgit Ive also updated the package to have locked versioning. Could you update your package to the latest version?
pip install foundation-cancer-image-biomarker -U --pre
I don't think it's necessarily a versioning issue anymore but it's best to get that out of the way nonetheless.

You actually wouldn't need to even generate these files from the script. You could just replace the prefix to the path in the CSVs present here https://github.com/AIM-Harvard/foundation-cancer-image-biomarker/blob/master/data/preprocessing/luna16/annotations/task2_train.csv
Although the annotations look alright!
I think we might have to do some more finegrained debugging here. Can you potentially copy over the transforms from the yaml file and just try them out in a notebook or so on the data so you can trace exactly where the error lies? I think this is possibly the best way to do it.

Hi @surajpaib Really appreciate your patience and assistance, after checking the annotation and config file are correct with you, I re-created the python environment and re-install the package again.
Now the finetune has different error message
[rank1]:     return self.criterion(pred, **kwargs)
[rank1]:   File "/home/user/.conda/envs/new_fmcib/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
[rank1]:     return self._call_impl(*args, **kwargs)
[rank1]:   File "/home/user/.conda/envs/new_fmcib/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
[rank1]:     return forward_call(*args, **kwargs)
[rank1]:   File "/home/user/.conda/envs/new_fmcib/lib/python3.9/site-packages/torch/nn/modules/loss.py", line 819, in forward
[rank1]:     return F.binary_cross_entropy_with_logits(
[rank1]:   File "/home/user/.conda/envs/new_fmcib/lib/python3.9/site-packages/torch/nn/functional.py", line 3624, in binary_cross_entropy_with_logits
[rank1]:     raise ValueError(
[rank1]: ValueError: Target size (torch.Size([16])) must be the same as input size (torch.Size([16, 1]))

Although it's still not working but the error message is different, could you please help me if you know how to adjust?

Hi @surajpaib
I noticed that I am having the same error here Issue311, I've modified the config file based on your comment there, and it's now working, thank you!


Consider dropping DeviceEvent in favor of an external library

In #164, among other changes I introduced DeviceEvent to represent raw input events not associated with any particular window. This allowed applications to access much-needed high resolution unfiltered sensor data e.g. from mice, allowing for interactions such as high-fidelity first-person camera control. However, as the events are not window-related, it is somewhat at odds with the need to limit winit's scope to the task of handling windows.
Further research has since made it apparent to me that raw input can be handled entirely by an external crate without winit's cooperation on Linux and Windows, by creating an independent X or Wayland connection and (so long as winit does not indiscriminately consume events for windows not its own) HWND_MESSAGE window respectively. Such a crate would also be better positioned to handle firmly out-of-scope, but widely required, functionality such as game controller and joystick input.
If/when such a crate is written, winit's scope could therefore be narrowed and more clearly defined by the wholesale removal of non-GUI-related events, replaced with a recommendation to use the external crate. This strikes me as an ideal factoring of the problem.
I'm not sure whether it's appropriate to remove DeviceEvent in the mean time--I don't think it's had time to see much use in the wild yet, so future breakage could be limited by acting quickly, but the information it exposes is important and there is not yet any good alternative crate with which to access it.

I have put together a prototype of such a crate supporting mouse, keyboard, joystick, and gamepad input on Linux+X11.
One remaining question is how these libraries might be composed on a single thread in a user-friendly and efficient manner.

Note that on wayland, a client obtaining raw device events is voluntarily forbidden for security reasons (these mechanism are typically used by keyloggers and other similar malwares), and the clients must specifically ask the compositor for such access, in a way linked to its window (for example ask a pointer grab for a specific surface).
For the record, there is a protocol extension (link) in the works for providing access to high-precision relative pointer events, but it cannot be decoupled from surfaces as they define the focus. A client cannot receive input events if it is not focused.
So decoupling the input from the windowing would not work under wayland, unless the user is willing to configure udev to allow the winit apps direct access to the devices.

That is frustrating. I don't suppose it's possible to get wayland to give you that high-precision data in association with focus on a surface managed by another client, with that client's cooperation?

That would be up to the wayland server to allow such a thing, but I don't know of any work being done to allow that, as there are mechanisms being developed to provide a client directly with this high-precision input.
A work-around would be to have your lib ask to be given a wayland display as input during initialization in case of a wayland context (with is what mesa does to setup EGL contextes for example). Once you have this display you can basically do whatever you want.

Does sharing a wayland display with winit entail sharing the same event queue? If so, how might they avoid inadvertently consuming eachothers' events? My prototype is able to support X11 input well because it is, as far as the X11 server is concerned, a totally independent client.

Nope, wayland includes a mechanism to have more than one event queue, and to precisely decide where each event must be dispatched (a same event can also be sent to more than one event queue if necessary). It also gracefully handles managing the various event queues from different threads.

Okay, maybe this is still practicable then, if winit's willing to provide access to the underlying handles. I'd also need to be able to track window creation and destruction so as to maintain the request for data, but presumably wayland has something similar to X11's map/unmap events to support that.
The complexity involved in this case still somewhat weakens the case against having support for raw mouse input (at least) built into winit, although it concerns only one backend, and there's still going to be demand for an external library for non-windowing-system-related input such as game controllers.

Given the content of the protocol extension, tracking window creation/deletion may not be needed. It's just that the events will only be received if the focus is on one of the winit windows, but there is no need to explicitly map the cursor events to any window.
Also, winit does already expose access to the wayland display already (as mesa needs it for example).

Oh, I see! That's not so bad after all, then. There's still the question of composition--polling is easy, but winit currently provides no mechanism to wait on events other than its own. Real futures-rs support could be a solution, or users could simply be expected to run winit on a dedicated thread xor rely on polling for non-winit events.

Real futures-rs support could be a solution

I'm opposed to this.

Shouldn't winit then drop DeviceEvents and add the specific events to WindowEvent? For example a mouse motion event could be added WindowEvent::MouseMotion(i32, i32). This is the only event I really care about.

I understand the desire to factor out things like gamepad input into a separate library.
I don't like the idea of having to use another crate to get precise mouse deltas. I feel like all of the current WindowEvent and DeviceEvent types should just be rolled into a single Event that exposes as much data as possible. It would have events like CursorMoved and MouseMoved to differentiate between GUI-related and device-related events.
The line between 'device' events and 'window' events is further blurred by devices like keyboards, which can convey input in a number of different ways (keys, characters, composition events) that don't necessarily need to map to the 'GUI' vs 'non-GUI' paradigm.

@MaikKlein The proposal was to remove the raw input events entirely, retaining only device add/removal, which cannot be added to WindowEvent because there is no WindowId associated with them.
@LPGhatguy

I don't like the idea of having to use another crate to get precise mouse deltas.

Given the incredibly common need for raw mouse motion and the low implementation cost, I can see the case for retaining support for that specific event.

I feel like all of the current WindowEvent and DeviceEvent types should just be rolled into a single Event that exposes as much data as possible. It would have events like CursorMoved and MouseMoved to differentiate between GUI-related and device-related events.

Whether the event enums should be flattened is out of scope of this discussion.

The line between 'device' events and 'window' events is further blurred by devices like keyboards, which can convey input in a number of different ways (keys, characters, composition events) that don't necessarily need to map to the 'GUI' vs 'non-GUI' paradigm.

The window-related-ness of keyboard input in the current implementation is well defined: keyboard events delivered by the windowing system to a particular window, generally due to being focused by a pointer associated with a particular virtual keyboard device, are window-related. Keyboard events gathered directly from the physical devices irrespective of focus, association with pointers, or any other factors are not.
There's a separate question of whether you process those events in terms of scancodes or semantic operations plus complex text input, but that's more or less orthogonal. Only window-related keyboard events need to be handled by an application attempting to play well with the host system and the user's expectations.

Per discussion on IRC, since raw input requires knowledge of the window on at least wayland, then it's not practical to use an external crate and winit should support raw input like a monolithic crate.

@tomaka Will the API change for https://docs.rs/winit/0.7.1/winit/enum.Event.html? For example will DeviceEvent move into WindowEvent?


Automate npm package publishing

Every time we publish a new version, it should automatically published on npm by the CI script.

Fixed by BlueBrain/nexus-sdk-js#478


add cron-schedule support to alerts by changing IsEnabled result

The change is back-compatible. It suppresses alerts outside the user-defined crontab format schedule by setting enabled to false.
The goal is to suppress alerts with user-provided crontab formatted settings.  It is somewhat similar to the current maintenance but allows more flexibility in setting the schedule.  For example, if cron-schedule is set to * 9-18 * * the alert will be disabled before 9:00 and after 18:59. I think, adding it  on the Alert level is the simplest solution here with the minimal code change.
See discussion https://github.com/TwiN/gatus/discussions/250.
Checklist

[X] Tested and/or added tests to validate that the changes work as intended, if applicable.
[ ] Added the documentation in README.md, if applicable.

Note: I'm not sure what is the proper section in the readme to add this info

I will close this, because the implementation I'd like to see for endpoint-specific alerts is the same as the one used for maintenance. For the sake of consistency.


2018-12-10 例行上线

Pull Request Test Coverage Report for Build 733

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.0009%) to 94.815%

Totals

Change from base Build 703:
-0.0009%

Covered Lines:
3556

Relevant Lines:
3673

💛  - Coveralls

Pull Request Test Coverage Report for Build 718

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.0009%) to 94.815%

Totals

Change from base Build 703:
-0.0009%

Covered Lines:
3556

Relevant Lines:
3673

💛  - Coveralls


Commands executed by WebAPI shall report progress

Currently, none of the commands executed by the WebAPI service report progress back to the caller. This is a blocker, because our users will have no clue what the tool is currently doing, e.g. when obtaining or computing a workspace resource (i.e. fetch data from ESA ODP). To them, it looks like the ECT tool hangs.
A clean solution is to make all WebAPI commands return a monitor handle immediately, so that we then can poll for monitor state /ws/monitor_state/{{monitor_id}} (see also #51). Another implementation option is to use WebSockets for those commands usually taking considerable time to execute.
For time being, and for use via the CLI, we could use a ConsoleMonitor in the WebAPI implementation code, which displays progress on the terminal while the CLI is blocked by the WebAPI service's command execution.

Yes, that's important for the user


Shelfs dashboards shows from shelf ID numbers

Describe the bug
Shelf dashboard doesn't show correct shelf IDs. They are cut out because of auto decimal setting.
Environment

Harvest version: harvest version 21.05.2-1 (commit ce091de) (build date 2021-06-14T20:31:09+0530) linux/amd64
Command line arguments used: /opt/harvest/bin/harvest restart --config /opt/harvest/harvest.yml
OS: CentOS 7
Install method: yum
ONTAP Version: 9.7
Other:

To Reproduce
Open Shelf dashboard with more than one shelf attached.
Expected behavior
Shelfs should have IDs 1.0, 1.1, 1.2.
Actual behavior
Due to auto decimals option in Grafana, IDs are without or too many decimals: 1. 1.10, 1.20...

Possible solution, workaround, fix
Add override option to show values as JSON values.

Added required override option for that column in shelf dashboard.

I still see issue is happening in the build <IP_ADDRESS>. Hence reopening the issue.

Sorry i missed importing the latest dashboards to grafana server. After importing the latest dashboards i see the issue is fixed. Hence moving to fixed state.