build on OS X 10.10.3 error

Hello,
I've followed the steps to install dependencies via brew but cannot get the build step to work. Here is the error message from the terminal:
Configuring... Traceback (most recent call last):   File "setup.py", line 21, in <module>     subprocess.Popen(['cmake','../opensfm/src'], cwd='cmake_build').wait()   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 709, in __init__     errread, errwrite)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1326, in _execute_child     raise child_exception OSError: [Errno 2] No such file or directory
Many thanks in advance!

It looks like subprocess is not finding the cmake command. Is cmake installed?

You're right. Thank you very much for the quick reply. I installed cmake via brew and the build script runs. It flags up this error about cfsm now:
MACOSX_RPATH is not specified for the following targets: csfm
Running the example gives this:
Extracting focal lengths for image 01.jpg Extracting focal lengths for image 02.jpg Extracting focal lengths for image 03.jpg Traceback (most recent call last):   File "/Users/rowan/Desktop/OpenSfM-master/bin/detect_features", line 10, in <module>     from opensfm import features   File "/Users/rowan/Desktop/OpenSfM-master/opensfm/features.py", line 12, in <module>     import csfm ImportError: No module named csfm

The MACOSX_RPATH warning is normal. It should be no problem. Could you paste the complete build log?

Configuring...
-- The C compiler identification is AppleClang <IP_ADDRESS>20049
-- The CXX compiler identification is AppleClang <IP_ADDRESS>20049
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- 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: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Could NOT find OpenMP (missing:  OpenMP_C_FLAGS OpenMP_CXX_FLAGS)
-- Looking for dgemm_
-- Looking for dgemm_ - found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- A library with BLAS API found.
-- Found AMD library: /usr/local/lib/libamd.a
-- Found AMD header in: /usr/local/include
-- Found CAMD library: /usr/local/lib/libcamd.a
-- Found CAMD header in: /usr/local/include
-- Found COLAMD library: /usr/local/lib/libcolamd.a
-- Found COLAMD header in: /usr/local/include
-- Found CCOLAMD library: /usr/local/lib/libccolamd.a
-- Found CCOLAMD header in: /usr/local/include
-- Found CHOLMOD library: /usr/local/lib/libcholmod.a
-- Found CHOLMOD header in: /usr/local/include
-- Found SuiteSparseQR library: /usr/local/lib/libspqr.a
-- Found SuiteSparseQR header in: /usr/local/include
-- Found Intel Thread Building Blocks (TBB) library: /usr/local/lib/libtbb.dylib, assuming SuiteSparseQR was compiled with TBB.
-- Found Intel Thread Building Blocks (TBB) Malloc library: /usr/local/lib/libtbbmalloc.dylib
-- Found SuiteSparse_config library: /usr/local/lib/libsuitesparseconfig.a
-- Found SuiteSparse_config header in: /usr/local/include
-- Did not find METIS library (optional SuiteSparse dependency)
-- Found SuiteSparse: TRUE (found version "4.2.1")
-- Found Eigen: /usr/local/include/eigen3 (found version "3.2.4")
-- Found ceres: /usr/local/lib/libceres.dylib
-- Found Gflags: /usr/local/include
-- Found Glog: /usr/local/include
-- Could NOT find Boost
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (found version "2.7.6")
-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.6")
-- Found NumPy: version "1.9.2" /usr/local/lib/python2.7/site-packages/numpy/core/include
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   csfm

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/rowan/desktop/OpenSfM-master/cmake_build
Compiling extension...
Scanning dependencies of target vl
Scanning dependencies of target akaze
Scanning dependencies of target mv
[  2%] [  4%] Building CXX object CMakeFiles/akaze.dir/third_party/akaze/lib/fed.cpp.o
Building CXX object CMakeFiles/akaze.dir/third_party/akaze/lib/AKAZE.cpp.o
[  6%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/aib.c.o
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/akaze/lib/fed.cpp:33:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/akaze/lib/fed.h:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
[  8%] Building CXX object CMakeFiles/mv.dir/third_party/libmv/multiview/fundamental.cc.o
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/akaze/lib/AKAZE.cpp:23:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/akaze/lib/AKAZE.h:12:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/akaze/lib/AKAZEConfig.h:12:
In file included from /usr/local/include/opencv2/opencv.hpp:47:
In file included from /usr/local/include/opencv2/core/core.hpp:56:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/fundamental.cc:21:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/fundamental.h:24:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
[ 10%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/array.c.o
[ 12%] 1 error generated.
Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/covdet.c.o
make[2]: *** [CMakeFiles/akaze.dir/third_party/akaze/lib/fed.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 14%] Building CXX object CMakeFiles/mv.dir/third_party/libmv/multiview/projection.cc.o
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/projection.cc:21:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/projection.h:24:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/numeric/numeric.h:28:
In file included from /usr/local/include/eigen3/Eigen/Cholesky:4:
In file included from /usr/local/include/eigen3/Eigen/Core:28:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/complex:247:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/sstream:174:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ostream:131:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:216:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__locale:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:439:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
[ 16%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/dsift.c.o
/Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/vlfeat/vl/dsift.c:265:26: warning: using floating point absolute value function 'fabsf' when argument is of integer
      type [-Wabsolute-value]
    *kerIter++ = (1.0F - fabsf(x) / binSize) *
                         ^
/Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/vlfeat/vl/dsift.c:265:26: note: use function 'abs' instead
    *kerIter++ = (1.0F - fabsf(x) / binSize) *
                         ^~~~~
                         abs
1 warning generated.
[ 18%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/fisher.c.o
[ 20%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/generic.c.o
[ 22%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/getopt_long.c.o
[ 24%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/gmm.c.o
1 error generated.
make[2]: *** [CMakeFiles/akaze.dir/third_party/akaze/lib/AKAZE.cpp.o] Error 1
make[1]: *** [CMakeFiles/akaze.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 26%] Building CXX object CMakeFiles/mv.dir/third_party/libmv/multiview/five_point.cc.o
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/five_point.cc:21:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/multiview/five_point.h:24:
In file included from /Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/libmv/base/vector.h:31:
In file included from /usr/local/include/eigen3/Eigen/Core:28:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/complex:247:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/sstream:174:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ostream:131:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:216:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__locale:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:439:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
[ 28%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/hikmeans.c.o
[ 30%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/hog.c.o
[ 32%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/homkermap.c.o
[ 34%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/host.c.o
[ 36%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/ikmeans.c.o
[ 38%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/imopv.c.o
[ 40%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/imopv_sse2.c.o
[ 42%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/kdtree.c.o
[ 44%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/kmeans.c.o
1 error generated.
make[2]: *** [CMakeFiles/mv.dir/third_party/libmv/multiview/projection.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 46%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/lbp.c.o
[ 48%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/liop.c.o
[ 50%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/mathop.c.o
[ 52%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/mathop_avx.c.o
[ 54%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/mathop_sse2.c.o
[ 56%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/mser.c.o
[ 58%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/pgm.c.o
[ 60%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/quickshift.c.o
/Users/rowan/desktop/OpenSfM-master/opensfm/src/third_party/vlfeat/vl/pgm.c:236:18: warning: comparison of constant 65536 with boolean expression is always false
      [-Wtautological-constant-out-of-range-compare]
  if(! max_value >= 65536) {
     ~~~~~~~~~~~ ^  ~~~~~
1 warning generated.
[ 62%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/random.c.o
[ 64%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/rodrigues.c.o
[ 66%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/scalespace.c.o
[ 68%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/sift.c.o
[ 70%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/slic.c.o
[ 72%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/stringop.c.o
[ 74%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/svm.c.o
[ 76%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/svmdataset.c.o
[ 78%] Building C object CMakeFiles/vl.dir/third_party/vlfeat/vl/vlad.c.o
Linking C static library libvl.a
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libvl.a(mathop_avx.c.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libvl.a(mathop_avx.c.o) has no symbols
[ 78%] Built target vl
1 error generated.
make[2]: *** [CMakeFiles/mv.dir/third_party/libmv/multiview/five_point.cc.o] Error 1
1 error generated.
make[2]: *** [CMakeFiles/mv.dir/third_party/libmv/multiview/fundamental.cc.o] Error 1
make[1]: *** [CMakeFiles/mv.dir/all] Error 2
make: *** [all] Error 2
Building package
running build
running build_py
creating build
creating build/lib
creating build/lib/opensfm
copying opensfm/__init__.py -> build/lib/opensfm
copying opensfm/context.py -> build/lib/opensfm
copying opensfm/dataset.py -> build/lib/opensfm
copying opensfm/exif.py -> build/lib/opensfm
copying opensfm/features.py -> build/lib/opensfm
copying opensfm/geo.py -> build/lib/opensfm
copying opensfm/geotag_from_gpx.py -> build/lib/opensfm
copying opensfm/io.py -> build/lib/opensfm
copying opensfm/matching.py -> build/lib/opensfm
copying opensfm/mesh.py -> build/lib/opensfm
copying opensfm/multiview.py -> build/lib/opensfm
copying opensfm/reconstruction.py -> build/lib/opensfm
copying opensfm/sensors.py -> build/lib/opensfm
copying opensfm/transformations.py -> build/lib/opensfm
copying opensfm/video.py -> build/lib/opensfm
creating build/lib/opensfm/data
copying opensfm/data/sensor_data.json -> build/lib/opensfm/data

The problem seems to be a missing __debug header in Command Line Tools 6.3.  In this thread people propose to install Xcode to solve the issue, or wait for Apple to fix CLT

Thanks for the confirmation. I'll wait for Apple to fix it then try again

There's an Apple software update available now that should fix it.

@slhck I am getting this exact same error. However, even after the Applt CLT update this isn't fixed. Any ideas? Thanks!

@rowanblaik @slhck I think this problem is due to the absence of operating code in 2 files in the 3rd party libs. I added a function that effectively did nothing to the 2 files causing this error and then I was able to build.

Did the built binary function properly? Could you guide me how to achieve that too please?

It did function properly. However, I had to build boost from source as well because brew did not build libboost_python for some reason even though I used appropriate flags.
You can add something like void test(){ int x; x = 0; } in both the files that are not getting compiled for libmv and libvl. I read somewhere on the internet that its because the files don't have any operating code.

Just a quick note to say that the build is working with the recent CLT update. Many thanks!


Adding ICH to the glossary.

Thanks! Would it be possible add an extra sentence like "ICHs are used for __"?

Sure, how about
ICHs are used as fingerprints for things such as HIR and crate metadata, to see if things hashed are equal or not.

That's great! Thanks :)
I would even add just a bit more to that: "ICHs are used as fingerprints for things such as HIR and crate metadata, to check if changes have been made. This is useful in incremental compilation to see if part of a crate has changed and should be recompiled."

(correct me if I'm wrong... I don't know much about incr. comp. :p)

Nah, that sounds perfect. I'll update the commit with that extra line.-

Thanks! r=me when Travis I'm happy :)


chore(build): include gpg keys in git repo

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3
Your commit message does not contain a body

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3

Your commit message does not contain a body

Commit: 6d0ea0e4e5c3b7671f72876492c808cb273eb757

Your commit message does not contain a body

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3

Your commit message does not contain a body

Commit: b8056157d4bb00bb456a3ec3a22f312ddb6500db

Your commit message does not contain a body

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3

Your commit message does not contain a body

Commit: 6fa15dc89400118781b2e12707ea4b456a16b1d3

Your commit message does not contain a body

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3

Your commit message does not contain a body

Commit: 89d17cb334b6b9cac2a841774dbe16ef7973fa72

Your commit message does not contain a body

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: bf5d46f51ea24a58e54084eef37a403079fa78d3

Your commit message does not contain a body

Commit: 6e5a8c7e4f2734c3e1963c6c25910e05004a3b61

Your commit message does not contain a body

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 276730fb0d58b4ce05cb4f0befb8003b420f45b1
Your commit message does not contain a body

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

@joshuawilson please review asap as this will stablise the build system


[Draft] - Advanced Tab Switcher

Summary of the Pull Request
This is currently a draft PR to get early comments.
This PR adds the Advanced Tab Switcher (ATS) to Terminal. It'll work similarly to VSCode's tab swticher. Because this implementation rides off a lot of the Command Palette's XAML code, it'll look just like the Command Palette, and also have support for tab title search.
References
#3753 - ATS Spec
PR Checklist

[ ] Closes #xxx
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
[ ] Schema updated.

Detailed Description of the Pull Request / Additional comments
There are a couple things I'm planning on fixing:

[ ] The default mode should be in tab index order, but the command palette's default ordering is alphabetical by command name.
[ ] Add validation that one of the keys of the keybindings is the same as the anchor key if provided.

That's a great question... 🤔

gonna close this and remake with a cleaner commit history


showing how to register more than one vote

Alternative to register more than one vote. Pull request use to show at docker global mentors week at UPM Madrid (16 November 2016)

@angelbarrera92 I think would be better handled in an instruction. Something like "Want to register more than one vote? Add this line."


Please fix this typo

https://github.com/googleapis/python-compute/blob/a93807a5c9680af775da0b3859485acd3e123f3a/samples/snippets/sample_start_stop.py#L106
Stops a stopped Google Compute Engine instance. >> Shouldn't this read 'Stops a started Google Compute Engine instance.'?

@m-strzelczyk Please take a look and edit the docstring as necessary. Thank you!


Realtime allows multiple subscriptions to table

Bug report
Documentations for realtime.js says:

Duplicate Join Subscriptions
While the client may join any number of topics on any number of channels, the client may only hold a single subscription for each unique topic at any given time. When attempting to create a duplicate subscription, the server will close the existing channel, log a warning, and spawn a new channel for the topic. The client will have their channel.onClose callbacks fired for the existing channel, and the new channel join will have its receive hooks processed as _normal.

Currently creating additional subscriptions to same table (or same table and exact filter) generate a new subscription.
To Reproduce
create multiple subscriptions to the same table and filter
Expected behavior
Based on the documentation, and I think the intent of the code, reusing a subscription should not create a new one.
I assumed it would so do not keep track of closing subscriptions when I renew.
This obviously can be handled by keeping track of subscriptions and closing them, but is a waste if realtime.js is supposed to handle it.
When dealing with connections going online and offline part of my code restarts subscriptions as part of a bigger block of code to reload the data being monitored in realtime as it state is no longer valid if connection goes offline.
Screenshots

System information
supabase 1.29.1
Additional context
Add any other context about the problem here.

@GaryAustin1 thanks for reporting this! this is most likely a bug. i'm currently investigating.

@GaryAustin1 can you please give this fix a try? https://github.com/supabase/realtime-js/pull/128

Thanks, I'll try it in the morning...


auro-checkbox: unable to programatically uncheck box after user has checked it

Describe the bug
After the user has checked an auro-checkbox, you cannot uncheck it with JS, e.g. document.querySelector('auro-checkbox').checked = false;.
Related: https://github.com/AlaskaAirlines/auro-radio/issues/30
To Reproduce
Steps to reproduce the behavior:

Render an auro-checkbox, e.g. <auro-checkbox id="computers01" name="checkboxDemo2" value="computers">Computers</auro-checkbox>
Check the checkbox using your mouse
Attempt to uncheck it programatically, e.g. by selecting it in the inspector and doing $0.checked = false
The checkbox does not update

Expected behavior
The checkbox updates based on the property.
Additional context
The fix might be as simple as changing ?checked="${this.checked}" to .checked="${this.checked}" so that the property is updated instead of the attribute.
The solution to a similar auro-radio issue was more involved because the radio-group needed to control the checked state, but I don't think that's necessary for a checkbox group.

@blackfalcon @braven112 I didn't add this to the board because I wasn't sure which of the three boards I should add it to.
If folks agree with my proposed fix I can get a PR in today. This came up as part of contact tracing work so I'd like to get a fix out ASAP if possible.

@geoffrich there is no need for you to add it to a board, we can take care of that.
If you feel confident in your approach, from which I don't disagree, then dev it, test it, PR it and we will ship it!

:tada: This issue has been resolved in version 1.1.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Replacing var's with const and let (ES6) would make the code more robust

Doing a complete overhaul would be a huge task (we have 960 vars) and it would not benefit us enough.
Future variables/constants can be defined with let/const to gradually improve things over the years.
Thus, I would consider this as a wontfix.


Fixed stopping audio player

Prevent duplicate closing
IDE inspections

Thank you very much for the fix and a warm welcome to the GitHub contributors list of Jeak 😉 😁
Since @genius42 already approved your contribution and he's the one responsible for voice connections, I'll trust his judgement 😛


additionalUserInfo nil when login through Phone number

additionalUserInfo value is nil which is present inside AuthDataResult, when logging through phone number, so in that case not able to find out the providerID whether the user is logging through google/phone or any other services.

Hi @rsekharAppyog thanks for filing this report. I tried replicating the issue by signing in using phone number, but I was able to get a value in additionalUserInfo.providerID.
Could you provide the following info to see what's going on here:

SDK version used / Podlock file
Minimal repro / Relevant code
Detailed steps to reproduce the issue

Hi @rizafran ,
1)SDK version used - GoogleSignIn (4.4.0)
2)Relevant code:
let authUI: FUIAuth? = FUIAuth.defaultAuthUI()    let firebaseauthController = self.authUI!.authViewController()    self.present(firebaseauthController, animated: true, completion: nil)
and implemented the FUIAuthDelegate to the controller where above code called as below,
func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {           print(result.additionalUserInfo?.providerID)    }
3)Steps to reproduce
Log in using phone provider and also give the new phone number (if you already used that number to sign in then delete from the Authentication tab in firebase).
You will get the additionalUserInfo value as nil.

Hi @rizafran ,
1)SDK version used - GoogleSignIn (4.4.0)
2)Relevant code:
let authUI: FUIAuth? = FUIAuth.defaultAuthUI() let firebaseauthController = self.authUI!.authViewController() self.present(firebaseauthController, animated: true, completion: nil)
and implemented the FUIAuthDelegate to the controller where above code called as below,
func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) { print(result.additionalUserInfo?.providerID) }
3)Steps to reproduce
Log in using phone provider and also give the new phone number (if you already used that number to sign in then delete from the Authentication tab in firebase).
You will get the additionalUserInfo value as nil.

Hi @rsekharAppyog thanks for the info. I can't seem to replicate the issue either using Firebase SDK or FirebaseUI. The authDataResult.additionalUserInfo?.providerID returns a "phone" value on my end when I tried to sign in a new phone number (following the steps to reproduce).
Can you provide a minimal repro that I can run locally in order to replicate the issue, as well as your Podfile.lock file to check the sdk versions used. You may also try the Auth quickstart to see if the issue is reproducible.


IsADirectoryError: [Errno 21] Is a directory

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az storage blob download-batch
Errors:
[Errno 21] Is a directory: 'data/boats/1282/2000xauto'
Traceback (most recent call last):
python3.6/site-packages/knack/cli.py, ln 215, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 631, in execute
    raise ex
cli/core/commands/__init__.py, ln 695, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
...
command_modules/storage/operations/blob.py, ln 204, in _download_blob
    progress_callback=progress_callback)
storage/v2018_11_09/blob/baseblobservice.py, ln 1968, in get_blob_to_path
    with open(file_path, open_mode) as stream:
IsADirectoryError: [Errno 21] Is a directory: 'data/boats/1282/2000xauto'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az storage blob download-batch -d {} -s {} --account-name {} --account-key {}

Expected Behavior
Environment Summary
Linux-4.9.78-xxxx-std-ipv6-64-x86_64-with-centos-7.7.1908-Core
Python 3.6.8
Installer: RPM

azure-cli 2.5.1

Additional Context

add to S170

@ridhabnj soorry for late response. Is it possible to provide us debug information to us with --debug in your command?
In this command, the value for -d should be a path. Is it a directory(path) for 'data/boats/1282/2000xauto' in your scenario?

@ridhabnj  any update?


Strongly recommend to be compatible with<EMAIL_ADDRESS>

After our effort of more than one month adapting maxGraph to mxGraph, we here strongly suggest that making<EMAIL_ADDRESS>to be compatible with maxGraph, or at least providing a compatible pollify layer (a tool) to ensure the stable running of the current 10000-lines code. Otherwise, the excellent refactoring library maxGraph cannot be widely used.

Hi thanks for this feedback,
Could you share with us if you finally succeeded, what kind of problems or limitations you faced, .....
For unsolved issues, I suggest to open new GitHub issues and discussions to let us know and try to find solutions.
If you faced migration issues, or lack of guidance or documentation, I am very interesting in getting your insights. We started an initial version of a migration guide with is far for complete. I plan to work on it in the next months based on my own experience.
See https://github.com/maxGraph/maxGraph/blob/1447fd29fc0d2f2edb7f863850d2d38c6a17ed6c/packages/docs/migrate-from-mxgraph.md.
The compatibility with mxGraph has been widely discussed in the past. For instance, see https://github.com/maxGraph/maxGraph/issues/1#issuecomment-974312664 or #8.
A single thing emerged at that time. If there was a demand for it, we could create a maxGraph version to implement critical bug fixes for mxGraph 4.2.2. This could be done by creating a new repository in the maxGraph GitHub organization, something like maxGraph-legacy for example.
And eventually, if contributors want to make it evolves with new features, they would be free to do it. But don't forget that there are already few contributors to maxGraph. They will have even less time to maintain a version compatible with mxGraph. So, we should probably try to recruit new contributors for this as well.
As of today, no one has publicly expressed the need for this kind of support. So that's why, this initiative didn't start.
Please let us know if you would like this to happen.

No answer, so closing during an issue cleanup.
Feel free to recreate an new issue with more details.


Generic DDIC searchhelp in separated app

DDIC app: z2ui5_cl_app_demo_104
Starter app: z2ui5_cl_app_demo_105

thank you!

Checked this, seems there are two classes missing:

Can you copy&paste this dependencies also into the demo app?


Add DigitalOcean Badge

Reference Icon(s): https://fontawesome.com/icons/digital-ocean?style=brands
Preferred Background: Blue
Label Text: DigitalOcean

Badge created, will be available soon 😉

Great work @klaasnicolaas!

Just made a new PR that will add the badge 😉


Prevent curl from masking certain download errors

An attempt at fixing #6654

Hi @cbrunnkvist,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
https://www.lightbend.com/contribute/cla

Hi @cbrunnkvist,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
https://www.lightbend.com/contribute/cla

Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:

(in progress)


Implemented the specific types used in the mode function

The current declaration of the mode function in lib/index.d.ts is causing downstream typescript projects to require the "noImplicitAny" flag to be set to false in the compiler options.  This is not desirable for some/most projects, so this PR implements specific types for the function declaration.

@all-contributors add @erichkuba for code

@all-contributors add @erichkuba for code


query doesn't return a pandas dataframe

I tried an example and expected to get back a pandas dataframe that I could join with other data. I was unable to do that .
>python3
Python 3.10.13 (main, Oct 20 2023, 13:56:06) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from prometheus_pandas import query
>>> p = query.Prometheus('http://localhost:8080')
>>> print(p.query_range('sum(rate(node_cpu_seconds_total{mode=~"system|user"}[1m])) by (mode)','2024-09-12T00:00:00Z', '2024-09-12T06:00:00Z', '1h'))
                     {mode="system"}  {mode="user"}
2024-09-12 00:00:00         1.643997       4.238185
2024-09-12 01:00:00         2.701799      13.664999
2024-09-12 02:00:00         2.268798       9.020798
2024-09-12 03:00:00         2.123197       8.606198
2024-09-12 04:00:00         2.430808      10.202453
2024-09-12 05:00:00         2.196602      11.365402
2024-09-12 06:00:00         2.222159      10.895345
>>> type(p)
<class 'prometheus_pandas.query.Prometheus'>
>>> mydf = p.to_pandas()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Prometheus' object has no attribute 'to_pandas'
>>> p.info()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Prometheus' object has no attribute 'info'
>>> p.head()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Prometheus' object has no attribute 'head'
>>> deep = p.copy()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Prometheus' object has no attribute 'copy'
>>>

Hi @drthornt.
In this case the dataframe is returned as the result of the query_range method rather than as the Prometheus object itself:
>>> p = query.Prometheus('http://localhost:9090')
>>> mydf = p.query_range('sum(rate(node_cpu_seconds_total{mode=~"system|user"}[1m])) by (mode)','2024-09-12T00:00:00Z', '2024-09-12T06:00:00Z', '1h')
>>> mydf.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 7 entries, 2024-09-12 00:00:00 to 2024-09-12 06:00:00
Data columns (total 2 columns):
 #   Column           Non-Null Count  Dtype
---  ------           --------------  -----
 0   {mode="system"}  7 non-null      float64
 1   {mode="user"}    7 non-null      float64
dtypes: float64(2)
memory usage: 168.0 bytes
>>> mydf.head()
                     {mode="system"}  {mode="user"}
2024-09-12 00:00:00         0.005111       0.008222
2024-09-12 01:00:00         0.004222       0.008222
2024-09-12 02:00:00         0.005556       0.008000
2024-09-12 03:00:00         0.003778       0.005333
2024-09-12 04:00:00         0.002889       0.005111

I'll update the example in the README to make that a bit more clear.

ace!
that worked.
thank you.

No worries! Glad it's working!


eosio::faucet_testnet_plugin not found

Trying to run nodeos with following params (local development environment):
nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::faucet_testnet_plugin --contracts-console

and I am getting error:
error 2019-11-06T11:47:32.647 thread-0  main.cpp:120                  main                 ] /tmp/eos/libraries/appbase/application.cpp(435): Throw in function appbase::abstract_plugin &appbase::application::get_plugin(const std::__1::string &) const
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: unable to find plugin: eosio::faucet_testnet_plugin

Tried both on mac build (1.8.5) and official ubuntu dmg (1.8.5 & 17.7).
Thank you for help.

Not currently built: https://github.com/EOSIO/eos/blob/master/plugins/CMakeLists.txt#L17

I can see now.
Thank you.


sentry-native: 0.5.0 -> 0.5.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/getsentry/sentry-native/releases.
meta.description for sentry-native is: "Sentry SDK for C, C++ and native applications."
meta.homepage for sentry-native is: "https://github.com/getsentry/sentry-native"
meta.changelog for sentry-native is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.1 with grep in /nix/store/6a1kvs67z0lm7ch603lialcbf6vhcp07-sentry-native-0.5.1
found 0.5.1 in filename of file in /nix/store/6a1kvs67z0lm7ch603lialcbf6vhcp07-sentry-native-0.5.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
sentry-native

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6a1kvs67z0lm7ch603lialcbf6vhcp07-sentry-native-0.5.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A sentry-native https://github.com/r-ryantm/nixpkgs/archive/e8725d17be4cc98d7102d4b6c3a61ae17f6aaca7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6a1kvs67z0lm7ch603lialcbf6vhcp07-sentry-native-0.5.1
ls -la /nix/store/6a1kvs67z0lm7ch603lialcbf6vhcp07-sentry-native-0.5.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

sentry-native

Maintainer pings
cc @wheelsandmetal for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/getsentry/sentry-native/releases.
meta.description for sentry-native is: "Sentry SDK for C, C++ and native applications."
meta.homepage for sentry-native is: "https://github.com/getsentry/sentry-native"
meta.changelog for sentry-native is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.2 with grep in /nix/store/g91h0vq3s8sc2l4pdgdj30bsb870h39c-sentry-native-0.5.2
found 0.5.2 in filename of file in /nix/store/g91h0vq3s8sc2l4pdgdj30bsb870h39c-sentry-native-0.5.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
sentry-native

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/g91h0vq3s8sc2l4pdgdj30bsb870h39c-sentry-native-0.5.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A sentry-native https://github.com/r-ryantm/nixpkgs/archive/c3c934350dab72769eef198241b8d95cecca6cf9.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/g91h0vq3s8sc2l4pdgdj30bsb870h39c-sentry-native-0.5.2
ls -la /nix/store/g91h0vq3s8sc2l4pdgdj30bsb870h39c-sentry-native-0.5.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

sentry-native

Maintainer pings
cc @wheelsandmetal for testing.


JEI 'hide' / 'show' issues

There are currently two issues with the JEI implementation:

The 'show' operation overwrites the 'hide' operation.
The JEI registry only becomes available after the operations actually fire.

Hi, I am still having this issue on the latest version. Here is my default configuration and my latest log: http://pastebin.com/isifghSn
fml-client-latest.log.txt

@ConnorRowe is the JEI 'hide' part the only issue that you're having with the config, though?

@legendblade Yes, everything else in the config works fine.


refactor: Modularizing task serialization, task deserialization and suggestion building

Description
This PR is the first of a pair of PRs with the ultimate goal of providing an option to write tasks using a plaintext version of this plugin's task format.
This PR's goal is to pave the way for implementing that plaintext task format, specifically by:

Refactor: Introducing a new abstraction that manages the conversion of string -> Task and Task -> string. The plugin was updated to leverage this abstraction where appropriate (src/Task.ts, src/Suggestor/EditorSuggestorPopup.ts)
Refactor: Parameterizing buildSuggestion and the "Default Task Format" over the symbols they use. This to facilitate making new task formats and suggestion strategies that are identical to the default, except for the symbols they use (e.g. plaintext symbols).
Breaking Change (?): Slightly reworking how the cursor is repositioned during the ToggleDone command. This to make it be agnostic to the task's format. See commit message of 3919033e for more details.

A draft of the second PR can be seen here
Note: I had started working on this before a similar feature request was marked "won't implement". Totally understand if that position extends to the work done here, please feel free to close this PR if that's the case.
Non-goals of this PR

Expand the scope of the plugin in a way that massively increases the maintenance cost.
Changing anything user-facing about the querying or rendering systems. This PR does not change how Tasks are displayed in task blocks.
Changing the fundamental representation of a Task in a markdown file: a single-line, checklist item. That is an invariant that is preserved.
Adding new fields/functionality to Task

Implementation
The core of this PR is the concept of a TaskFormat which encapsulates all of the format specific ways that a Task is written to and read from a Markdown File.
https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/Config/Settings.ts#L20-L23
TaskSerializer
A TaskSerializer is responsible for:

Parsing the Task fields that can be inferred from the text after the checkbox.
Generating the string representation of a Task.

https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/TaskSerializer/index.ts#L5-L17
Leveraged by src/Task.ts to:

Parse a Task:

https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/Task.ts#L233-L234

Convert a Task to a string:

https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/Task.ts#L280-L282
SuggestionBuilder
A SuggestionBuilder is responsible for generating the suggestion list as a user is typing. This abstraction is directly modeled after the existing buildSuggestions function.
https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/Suggestor/index.ts#L18-L21
Leveraged by src/EditorSuggestorPopUp.ts to generate suggestions:
https://github.com/obsidian-tasks-group/obsidian-tasks/blob/c1a2b9cfc62f371e5405bcaa90f55abe3e77c020/src/Suggestor/EditorSuggestorPopup.ts#L40-L41
Motivation and Context
I wanted to use Obsidian for task tracking, but would prefer to keep my files plaintext.
How has this been tested?
Except for the ToggleDone command, this PR changes no user facing behavior and leverages the existing test suite to validate this.
In the case of the ToggleDone command, some tests were updated to reflect the changed behavior.
Screenshots (if appropriate)
Types of changes

Changes visible to users:

[ ] Bug fix (prefix: fix - non-breaking change which fixes an issue)
[ ] New feature (prefix: feat - non-breaking change which adds functionality)
[x] Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (prefix: docs - improvements to any documentation content)
[ ] Sample vault (prefix: vault - improvements to the Tasks-Demo sample vault)

Internal changes:

[x] Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
[ ] Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follow this project's contributing guide
[x] I agree to follow this project's Code of Conduct

Wow, @kedestin, I'm super excited at this work and what you have managed to do, and I would love to be able to merge this capability in to tasks.
There is a lot to look at here, and it will take me quite a while to work through it.
Just to let you know in advance, I will be looking for opportunities to break this down in to a small number of smaller PRs.
I'm also in the middle of a big refactoring and bug-fixing session in the code for toggling tasks, myself, and some of the steps are already pushed.
This may end of creating conflicts with your work - I'm not sure. Had we discussed your proposal beforehand, I might have been able to change the timing of my work to fit in with yours.
But like I said, I definitely would like to merge this capability in to Tasks, and will get to reviewing and testing this as soon as I can.

No worries. Again, I'm at fault for making a large PR without signalling it first. So I'm willing to fit into the review process whenever convenient.

Thank you for being so understanding.
The 3 PRs make sense. Are they dependent on each other? Do they need to be in that order?

The 3 PRs make sense. Are they dependent on each other? Do they need to be in that order?

refactor: Modularize Task Serialization and Task Deserialization and feat!!: Simplify Cursor Repositioning during ToggleDone would be completely independent.
refactor: Modularize Suggestion Building depends on changes made in refactor: Modularize Task Serialization and Task Deserialization

Thank you.
Then I think the cursor positioning one is the simplest place to start please.
There are some related issues, and it would be helpful to understand how your change would related to them (if at all):

https://github.com/obsidian-tasks-group/obsidian-tasks/issues/1424
https://github.com/obsidian-tasks-group/obsidian-tasks/issues/1158

There are some related issues, and it would be helpful to understand how your change would related to them (if at all):

To summarize, the change I made to ToggleDone will keep the cursor in the position it was in initially (in the case of a recurring task, the cursor moves down a line to follow the completed task). In the case of either an empty line or a line with just a list marker on it, the cursor moves to the end so that a user can just keep typing.

Thank you. I still don't really understand what the problem was before, but maybe that is because I don't really use Live Preview.
Maybe rather than trying to explain here, it might be more useful if you could write a bug report that shows the current problems, then the PR can just link to the issue???

I'm not really sure if this warrants a seperate bug report, since the motivation doesn't really make sense outside of this context. But I'll file you if you deem it still worth it.

Super. With that extra context, I understand and it all makes perfect sense.
So yes, I agree that it's not worth creating an issue then - totally.
Instead, as I'm sure you would do anyway, if the PR description could give a user-focussed description of what has changed, and why, that will be absolutely fine!
Thanks in advance!

I will do my best. If you have any examples of PRs that do this successfully that I could refer to, that'd be appreciated.

Thank you.
Until recently PRs were always squashed on merge, so there aren't too many where I can see the changes at commit-level.
However, here's one such PR:
https://github.com/obsidian-tasks-group/obsidian-tasks/pull/1549
A couple of its commits:
https://github.com/obsidian-tasks-group/obsidian-tasks/commit/7dce4bf017df21526bef738a3e93848d9cddd335
https://github.com/obsidian-tasks-group/obsidian-tasks/commit/751d97b17514f86049fb135a7a433000531a7dbd
Each of those steps each took a few seconds in WebStorm, and then close to a minute on the pre-commit hooks... 😢

Cool. I'll follow up by closing this PR and re-opening smaller ones.

I know we are still discussion this, but to help in keeping track of PRs to merge, I'm closing this one now the replacements are coming in. Thank you again for offering these very welcome contributions.


[BEAM-2610] upgrade to version 2.2.0

As described in task BEAM-2610, this is the first PR to do the job. Feel free to merge it if no mis-operation during creating the PR as any issues are supposed to be fixed in the second PR.
Btw, the failure is expected as dsl/sql is still using 2.1.0-SNAPSHOT, and be fixed in PR 2

R: @takidau @xumingming
CC: @jbonofre @davorbonaci

Can you please stage the second PR as a branch that builds on this one first? I don't want the branch to be left in a broken state for too long.

I create a draft PR #3554 there, as far as I know that's just a simple version change.

Thanks, merging.

Merged.

Thanks!

@takidau I'm afraid the merge of this task has some issues, or maybe I'm using the wrong method. --I tried to create a pull request from DSL_SQL based on Master, in web page, and it's shown as 'Can’t automatically merge'. I see lots of files from master branch will be listed.

Changes Unknown when pulling e8c5574483edc28d8bea30e55aa2d54b1d566722 on master into ** on DSL_SQL**.


Boardroom tests update according to new Boardroom.sol

And tests still not passed with this error
Error:  "2020-12-06T17:59:42.584Z"  'error from getOptions'
Error: Error: Command failed: git cat-file -p 948f4f3831a63644371cb0919884030a7d466878

I can merge it after fixed

Seems like that's some weird random coverrails issue - https://github.com/nickmerwin/node-coveralls/issues/80
Also checks passed in the previous commit ("formatting spaces in Boardroom.sol") - https://github.com/Basis-Cash/basiscash-protocol/runs/1507067340

And tests still not passed with this error
Error:  "2020-12-06T17:59:42.584Z"  'error from getOptions'
Error: Error: Command failed: git cat-file -p 948f4f3831a63644371cb0919884030a7d466878

I can merge it after fixed

OK, just merge it. Thank you for supporting us!


Add default contentLength field in log

Addresses issue #485

@ironman-machine blast off

Hello @dora-korpar
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/contentLength-logging", "DEFAULT_BRANCH": "rel/6.3"}
Please follow http://ci.ironmann.io/gh/scality/Integration/7914 for CI status.

@ironman-machine Let's go, Jarvis

Hello @dora-korpar
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/contentLength-logging", "DEFAULT_BRANCH": "rel/6.3"}
Please follow http://ci.ironmann.io/gh/scality/Integration/7969 for CI status.

@ironman-machine check it

Hello @dora-korpar
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/contentLength-logging", "DEFAULT_BRANCH": "rel/6.3"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8108 for CI status.


Question: Url Template with additional variables?

Hey serge quick question when defining a new driver/ URL Template I've run across an issue where I need an additional variable (outside of host, user, password, database, & port). For example {realm}.
If I place {realm} in the template where do I configure the variable realm for a given connection for the new driver? (Note: I'd expect a new dialog box on the Connection settings page but it doesn't seem to appear)

p.s. is it possible to change the background for the JDBC URL for the dark theme? the default color is very hard to read.

It is not possible to add custom variables for connection.
As a workaround you can use variable {server}. This gives 3 different database config fields: host, server and database name.

JDBC field background will be fixed in the next version.

Thanks I didn't know about the server variable.
Its a low priority request as this is the first time I've ran across this issue but custom server variables might be worth considering. Even if its just a static list of 1-3 more. i.e. variable 1, 2, 3
p.s. thanks for fixing the background


Add LibreTulum

Adding Profile for LibreTulum (Tulum, Mexico)

Hi Platschi,
there are some things you should fix before merging:

whitespaces: please make sure to use tab in the beginning of option lines and remove unneeded spaces in the values
the value for mesh network looks wrong, better use <IP_ADDRESS>/17 - this should be a network address. But <IP_ADDRESS>/17 also conflicts with the transfer network we use for ICVPN. If you do not intend to peer using icvpn thats ok, if you do you should probably choose another network.

@mmunz done. thanks a lot for your help!


[AUTOPATCHER] Patches CVE-2022-25315 for expat

        Patches CVE-2022-25315 for expat.
        This patch and PR was automatically generated and needs human verification before merging.

Closing in favor of #2322, which upgrades expat to fix this CVE.


Create two separate streamlit apps, one for main branch (main releases) and another one for develop branch (bleeding edge versions)

Streamlit app tracking the development branch running at https://share.streamlit.io/juancastilla/gromopo/develop/streamlit/GroMoPo_app.py


Finite difference based computation of Lxx and Luu inside NumdiffDifferentialActionModel

Hello,
I have added the computation of Lxx and Luu using finite differences. I see this is important for solving problems using DDP on numerical derivatives information than analytical derivatives.
Below is a small comment on the formulas used.
First order derivatives
1)   $L_x[i] = \frac{L(x+ \delta x) - L(x)}{ \delta x}$                   # this formula has higher order terms of $O(\delta x)$
2)   $L_x[i] = \frac{L(x+ \delta x) - L(x- \delta x)} { \delta x}$      # this formula has higher order terms of $O(\delta x^2)$
Second Order Derivatives
1)  $L_{xx}[i,i] = \frac{Lx(x_i+\delta x_i)-2*Lx(x_i)+Lx(x_i-\delta x_i))}{\delta x_i ^2}$           # Diagonal terms
2)  $L_{xx} [i,j] = \frac{L_x(x_i+\delta x_i, x_j+\delta x_j) - L_x(x_i+\delta x_i, x_j) - L_x(x_i, x_j+\delta x_j) + L_x(x_i, x_j) }{\delta x_i *\delta x_j} $
#this formula has a higher order term of order $O(\delta x)$
One can write a similar formula for the finite difference for second-order derivatives with $O(\delta x^2)$
2)  $L_{xx} [i,j] = \frac{L_x(x_i+\delta x_i, x_j+\delta x_j) - L_x(x_i+\delta x_i, x_j - \delta x_j) - L_x(x_i - \delta x_i, x_j+\delta x_j) + L_x(x_i - \delta x_i, x_j - \delta x_j) }{\delta x_i *\delta x_j} $
But from a computation time perspective, the formula for the second-order derivative with $O(\delta x)$ is more efficient as we can reuse 2 terms.
I look forward to your comments.
Regards,
Saroj

@cmastalli
these are the log files
arm_manipulation_numdiff.log
quadrotor_numdiff.log
bipedal_walk.log

@spykspeigel -- could you rebase this branch and fix the issues with the CI jobs?
What else is needed to merge this PR?

Hi Carlos, Could you confirm the changes to unittest? The changes you suggested are not entirely related to Hessian computation.
I will try to run the test after that and will push the changes asap.

Hi Carlos, Could you confirm the changes to unittest? The changes you suggested are not entirely related to Hessian computation.
I will try to run the test after that and will push the changes asap.

They are related as it is the only way to validate that the numdiff code is OK.

Hi @spykspeigel,
I have made different improvements in this PR. The list of changes is summarised as follows:

fixed bug in computing Luu for diff action
added computation of Lxu for diff action
adopted a formal strategy to define the disturbance (it depends on the norm of the point)
used a formal tolerance

Then, I propagated all these changes and strategies to each numerical differentiation class and unit test. In short, there is nothing remaining in this PR. However, it would be interesting if you can run different OC problems using numdiff classes (diff-action and also action numdiffs). Can you do this and report these results here?

@nim65s -- You might be aware that I created a mechanism to deactivate the computation of cost Hessians via finite difference. Also, this PR introduces the possibility of computing these Hessians.
However, both DEBUG mode jobs (doc-coverage and ROS-CI/.../Debug) are not passing as they take too long. I deactivated the latter, but I need you to do the same for the former. Can you do this as soon as possible? (Thanks).
To do this, you need to define the following flag: -DBUILD_WITH_FINITE_DIFF_HESSIANS=OFF.


feat(SearchBox): Add Search Box

Changes
CSS
React
Testing
Documentation
TBD

I like that we're targeting [type='search'] instead of a class modifier or data attribute. 👍

Is it ok if SearchBox has default "search" button, users provides anything else they want as children:

https://user-images.githubusercontent.com/83585998/216359812-7e7b8089-ac7b-49ca-a108-eacbc3717c7d.mov

TODO:

[ ] Fix focus on open/close
[ ] Tests
[ ] Docs

Did we ever decide on whether default basic state should have search icon at the end or start?

UX team was asked this question. If I remember correctly, no direct answer provided. There are more cases of search icon at the end of the searchbox in products that our company creates, based on research (articles and examples in wide world of internet) - it's better to have search icon at the start. @FlyersPh9 Do you have any thoughts?

For expandable search, what is the expected way to set width?

Expandable search takes width of the container or set maxWidth on itself?
With grid:
https://user-images.githubusercontent.com/83585998/236450725-42b62e4b-0870-4d91-9f37-faca45f8e634.mov
With PageLayout:
https://user-images.githubusercontent.com/83585998/236450772-7c9dc09d-d92b-4ebb-b1aa-05eb67204d37.mov
With maxWidth:
https://user-images.githubusercontent.com/83585998/236450796-d19b4d35-9215-4b4e-9d98-6915d7a57d77.mov

Should we have any guidance on where/how expandable search should be used? Because if there are items next to the searchbox, then it is going to cause a lot of layout shift and it is also very expensive for the browser to compute.

Yes, we should. I found in old patterns site that expandable searchbox goes OVER content next to it. Will look into it more and add examples of usage in docs website.

Do we have any precedent on the animation?  Could change the duration and the easing function. (question for @FlyersPh9 i guess)

Answered in FlyersPh9 comment.

Are we going to expose InputFlexContainer publicly in v2? Or does it need more work and we should save it for after initial v3 release?

It should be good to be exposed, if we want to expose it.


chore(main): release preact 0.1.1

:robot: I have created a release beep boop
0.1.1 (2023-05-16)
Bug Fixes

odd-preact: remove jsx (388bee2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/oddsdk/passkeys/releases/tag/preact-v0.1.1 :sunflower:


GUI: display an estimate of time next to the number of blocks in the installer

if people don't understand bitcoin that well and want just a wallet, could we have next to the number of blocks the approximate time that corresponds to it?

Yeah we could at least display an approximation. However i'm afraid having the input itself in seconds would be confusing: it is also possible to have time-based timelocks in Bitcoin, and the units are multiples of 512 seconds (and not the typically expected 600 seconds interval between blocks).

@edouardparis i think this was addressed in 0.4? Please feel free to reopen if i'm wrong.


Testimonials and Blog Update shows nothing underneath after Logout

Steps to recreate:

Login to the website
Logout from the website
Scroll down, you will see that there is no data below Latest Update and Testimonials as shown in image below.

I would like to take this up

I would like to take this up


SVM is not created until .fit() is called and cannot be serialized/deserialized.

I'm submitting a ...
[ x] bug report

Summary

Due to the asynchronous nature of creating an SVM, the decision has been made to not instantiate an SVM until the asynchronous fit() method is called. This not only feels incorrect, it prevents the deserialization of previous SVMs. This is part of the reason why the .toJSON() and .fromJSON() methods do not work.
I have a PR in the works to fix this.

@adamjking3 wow I really appreciate you again for this! Just by reading the issue description, the current SVM implementation totally doesn't make sense haha... sorry I couldn't pick this up when I was implementing initially!
I will take a look at your PR now!

Unrelated to the PR that you've submitted, but I'd like to ask for some feedback/thoughts. It sounds like you've been using Kalimdor's SVMs, and it would be perfect to find out your overall feelings about the SVM APIs.
I thought we should build SVMs from scratch if we want to have full control over its implementation and most importantly, make it GPU accelerated.
Questions:

Do you think libsvm-js is sufficient enough in the long run?
Should we write SVMs from scratch using tfjs-core?

Since it doesn't look like libsvm-js has any plans to support GPU acceleration, I would assume it is insufficient.
GPU acceleration would improve my use case, so I am biased to say yes.

@benjaminmcdonald is willing to implement SVMs from scratch, but we will work on it together. Would you like to join as well? @adamjking3

I thought about this for a while, I think we will clone libsvm-js and fully refactor it to suit machinelearn.js. I'm currently working on this at https://github.com/machinelearnjs/libsvm-ts

Closing it. Now you can use loadASM or loasWASM


Define the API Payload

We need 4 payloads defined.

[x] Payload for QVI Presentation
[x] Payload for Legal Entity Presentation
[x] Payload for OOR Presentation
[x] Payload for Revocation

Sally will be configured at start up with on URL to call as a web hook.  Sally will perform all structural and cryptographic verification of any credential or revocation presented as well as performing all vLEI value validation.

I've updated the payload in my first comment.  Notable changes:

Mirrored the requests after the sentry.io webhook API
Removed the OOBI field.  There is no way to keep this up to date.
Change field names to be easier to understand and map
Removed all fields not needed for database updates

Please let me know if anything is unclear or if you feel there are additional fields you will need

@pfeairheller Thanks for the update. This looks good at a glance and we'll try to update our POC implementation to make use of this.
There's two up-front questions:

1) How is the ORR credential linked to the LE credential?

To our understanding, the link is currently established via the LEI code only?
I believe this would not suffice if we need to deal with e.g. revocation events, where we would need to explicitly link LEs to OORs to mark them also as revoked? Or is the legal entity credential identified recipient (i.e. the "holder")?

2) Not a real-world example?

e.g. in the example OOR payload the actor and recipient seems to be the same, which should not be possible?

FYI @bernardkissi

You are only marking the credential you receive notifications about as revoked and you have the SAID of the credential which is sufficient.
"actor" is marked at the presenter of the credential and in most cases of SSI, the holder of the credential is the presenter.  So yes, this is possible.  For this example, we were merely trying to convey the structure of the messages.

The payload has been defined and been documented in the README so I consider this issue closed.

RE 1: You are only marking the credential you receive notifications about as revoked and you have the SAID of the credential which is sufficient.

We are not only marking the credential as revoked for which we received a notification.
We'll need to have the revocation cascade down for the whole hierarchy.
And to my understanding, we would currently don't have a link between LE --> OOR and thus not be able to mark child OORs as revoked as well.

RE 2: For this example, we were merely trying to convey the structure of the messages.

While the structure of the message is most important at this point, making sure we fully understand the individual pieces of information and how these link credentials with each other will be important for us to validate our understanding.
e.g. I assume this case is not possible, where a credential is issued "by itself"?

I could try to generate valid examples myself, but would still rely on you to confirm I didn't make any mistake.

We are not only marking the credential as revoked for which we received a notification.
We'll need to have the revocation cascade down for the whole hierarchy.
And to my understanding, we would currently don't have a link between LE --> OOR and thus not be able to mark child OORs as revoked as well.

Your original question was unclear, it sounded as if you wanted to update legal entities when OORs were revoked.  I added chained credentials to the payloads above.

I could try to generate valid examples myself, but would still rely on you to confirm I didn't make any mistake.

The AIDs are merely opaque identifiers that have no contextual meaning for the samples above.  Regardless, I've changed them so they are different in the samples above to make them more clear for you.  Also, as mentioned in other issues, the POC is complete and you should be able to run the software locally and see the actual payloads.

Just for reference:


append default Python gitignore from GitHub

Codecov Report

Merging #98 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #98   +/-   ##
=======================================
  Coverage   72.14%   72.14%
=======================================
  Files          15       15
  Lines         980      980
=======================================
  Hits          707      707
  Misses        273      273

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 74e2819...e6c05b8. Read the comment docs.

Having a larger gitignore can never hurt :-)


Revert lemonade changes

The changes from rectorphp/swiss-knife to tomasvotruba/lemonade seem to be accidentally pushed to this repository. I've reverted all commits related to those changes.

Wow, my bad :facepalm:
I'll remove commits completelly, as that's nothing related to codebase here.

Thanks for noticing and letting me know :pray:


Projects design is bad

Projects should be called Portfolio
Should have icons
Could potentially have descriptions
Should use a prettier design (maybe boxes/thumbnails)

Thumbnails/icons don't work out well.

Design improved in #82.


allowColumnReordering: true does not work while allowRowReordering: false

Expected behavior and actual behavior.
It is not possible to reorder columns when allowRowReordering is false.
Steps to reproduce the problem.

Set allowColumnReordering to true
Set allowRowReordering to false

Specifications like the version of the project, operating system, or hardware.

canvas-datagrid v0.4.5
Chrome latest
Windows 10

Fixed in #515

Apologies, I had to revert the PR as it was causing a bug / failing test when attempting to sort the column (by clicking on the column header). I'm going to spend some time in the near future getting the test suite modernized and easier to maintain, so I can figure out what's going, and we can fix this issue for good.


Fix typo in scipy.stats.poisson.pmf

Can you add a test in https://github.com/google/jax/blob/master/tests/scipy_stats_test.py?

Yep, will do.

Done!


Don't hardcode manifest URL in two places

Don't hardcode manifest URL in two places - do it in one
Bump Rust edition to 2021 using cargo fix --edition in two steps
Bump copyright year to 2024

Hey, i actually already have the changes we talked about done which conflicts with this PR. I'm going to add your name to the commit I have and use it instead

see https://github.com/haiku/rune/commit/de5065ce387a479cce2c2f9b6e5bc62244b2a774.
If you're looking for a neat task, dynamically get the architectures from the json manifest instead of hard coding them (which will be a problem with your arm64 change)
see https://github.com/haiku/rune/commit/de5065ce387a479cce2c2f9b6e5bc62244b2a774#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fcL225


Is the plugin accepting contributions?

A few months ago I created around 6 extra flags that we needed and they didn't exist in the main plugin or this one. They were created specifically for some minigames however I can see them having more uses. If so please let me know because I don't want to spend alot of time refactoring the code to work with this plugin to not get added.
The flags are:

no-collisions
console-command-on-death
command-on-death
teleport-on-death
teleport-on-death-health
health-on-entry
health-on-exit

Flag for no collision seems to be the only one that could provide some value. Tho it seems like most servers just completely disable it so I'm not sure whatever this is worth it. Tracking issue is #22
Handling death with flags seems a bit too fragile as there are different behaviors you would expect and then theres the plugin incompatibilities. The keep-exp and keep-inventory flags already provide enough headache from bad plugins.
The health ones can be done with the command flags, so those are a bit too specific.

teleport-on-death

Can already be handled by respawn-location. Or do you mean cancelling the death event and instead moving them somewhere else?


Inconsistency in config of sway/workspaces module

I have come across the following issue while trying to configure the sway/workspaces module.
If I set "format": "{name}" for the module, the output in waybar is the configured icon from "format-icons":

If I set "format": "{icon}", however, I get the name of the workspace configured in sway:

The third option, "format": "{index}" works as expected. This seems like a mixup of the two options, but maybe I got something wrong.
It also seems like there is some unintended whitespace to the left of the icon in the second case. This is most visible if I select the corresponding workspace because of the blue underline:

Is there anything I have overlooked? Or are there more people experiencing the same thing?

I also have experienced the same behavior. In fact it is not the icon configured in format-icons (at least in my case - I have no icons configured in waybar config). "format": "{name}" does the same as strip_workspace_numbers in swaybar. I greatly appreciate the feature, but it seems undocumented. https://github.com/Alexays/Waybar/wiki/Module:-Sway#config-2 states that {name} is the default for format which appears not to be true.
My workspaces:
    set $workspace1 ""
    set $workspace2 ""
    set $workspace3 ""
    set $workspace4 ""
    set $workspace10 "10"
    bindsym $mod+1 workspace number 1: $workspace1
    bindsym $mod+2 workspace number 2: $workspace2
    bindsym $mod+3 workspace number 3: $workspace3
    bindsym $mod+4 workspace number 4: $workspace4
    bindsym $mod+0 workspace number 10: $workspace10

With format set as {name}:

Without format:

Name use the defined one in the sway config, that's why you got the icon if you defined the icon in that config :/
May we can rename the param name to value ?

Fixed with 27fbea2b5afde7fd601aa4e2afb2b3a74c9110bf
Default format is now value and name is now correctly documented


Sharding to multiple databases

I'm thinking of using a sharded database architecture like the one described in https://aws.amazon.com/blogs/database/sharding-with-amazon-relational-database-service/
This would allow scaling out to multiple databases, for example, by hash partitioning based on the persistence_id so that journal and snapshots are distributed to separate DB hosts.
Is this achievable with a custom SlickDatabaseProvider or a custom DAO?

The fact that you are sharding over different databases should be transparent to your app, I think. Ideally, this should be handled by a driver that is smart enough to pick connections from different pools.
You will have to reverse engineer the plugin to understand how it works. I'm not sure this will be possible though.
In any case, I would look first on the SlickDatabaseProvider.
(I'm closing this issue because it's a question, not a real issue)

I do not think that this is possible in the current version.
However if the SlickDatabaseProvider would know receive the persitenceId when called, then it should be possible to return a specific database connection pool. This could work for the write journal and snapshot journal. However for the read jounal queries this may be much harder to do.
Actually since database sequences will probably not be shared, I think it will not be possible to use the eventsByTag query at all.

Thanks for your comments. I was hoping a custom extension might do the trick but it seems this would be a deeper change that can't easily be pursued.
Thanks.


Early stopping halts training after second epoch with default patience

The EarlyStopping callback monitors the number of epochs without improvement through the wait attribute.
Whenever there is improvement, this value is set to zero; when there is not, it is incremented by one.
However, the patience attribute of EarlyStopping objects is set to zero by default.
This means that the condition self.wait >= self.patience in this line is always verified.
This triggers EarlyStopping after two epochs regardless of improvement when using the default patience.

@mogeid
In order to expedite the trouble-shooting process, please provide a code snippet to reproduce the issue reported here. Thanks!

@sushreebarsa  I suppose a minimal working example could look something like this:
import numpy as np
from tensorflow.keras import Model, Input
from tensorflow.keras.layers import Dense
from tensorflow.keras.callbacks import EarlyStopping

inp = Input(shape=(32,))
out = Dense(1)(inp)
model = Model(inp, out)
model.compile(loss='mse', optimizer='sgd')
x = np.random.rand(512, 32)
y = x.max(-1)**2 - x.min(-1)
early_stopping = EarlyStopping(monitor='loss', patience=0, verbose=1, mode='min')
model.fit(x, y, shuffle=True, epochs=10, callbacks=[early_stopping])

#Epoch 1/10
#16/16 [==============================] - 0s 611us/step - loss: 0.0926
#Epoch 2/10
#16/16 [==============================] - 0s 769us/step - loss: 0.0879
#Epoch 00002: early stopping

Note the stopping despite the improvement in the monitored quantity.

@gowthamkpr I was able to replicate the issue on colab using TF v2.8.0 ,please find the gist here for reference.Thanks!

@mogeid Thank you for reporting the bug. I created a PR to fix it.

@mogeid Can you add a unit test exercising this new condition? Thanks!

@mogeid,
I tried to execute the mentioned code on both tensorflow v2.8 and also the latest stable v2.12. Please find the difference between the outputs.
When I try to execute with v2.8, after epoch2 the execution was stopped, whereas with v2.12 the code was executed with the mentioned epochs. Kindly find the gist of it here.  Thank you!


Unable to add device: Initializing device /dev/vdb failed (failed to check device contents): timeout

I ran into a problem when adding device /dev/vdb and The log :
Creating cluster ... ID: 915dc04fcce1c9433db4ff8bc146b46d
Allowing file volumes on cluster.
Allowing block volumes on cluster.
Creating node node4 ... ID: 0c366e00629c064e9a4e3f16733b3cff
Adding device /dev/vdb ... Unable to add device: Initializing device /dev/vdb failed (failed to check device contents): timeout
Creating node node5 ... ID: 0482a973e8d84c8551123824ebae9c4f
Adding device /dev/vdb ... Unable to add device: Initializing device /dev/vdb failed (failed to check device contents): timeout
Creating node node6 ... ID: 891ab7c2932221713fc1bde60e5f7f5d
Adding device /dev/vdb ... Unable to add device: Initializing device /dev/vdb failed (failed to check device contents): timeout
Creating node node7 ... Unable to create node: server did not provide a message (status 500: Internal Server Error)
Error loading the cluster topology.
Please check the failed node or device and rerun this script.

Heketi's log ：
[kubeexec] ERROR 2019/10/23 07:47:04 heketi/pkg/remoteexec/log/commandlog.go:62:log.(*CommandLogger).Timeout: Timeout on command [pvcreate -qq --metadatasize=128M --dataalignment=256K '/dev/vdb'] on [pod:glusterfs-tq9z7 c:glusterfs ns:glusterfs (from host:node4 selector:glusterfs-node)]: Err[<nil>]: Stdout []: Stderr [  WARNING: Device /dev/vdb not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/loop0 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-0 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/loop1 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/vda1 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-1 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/vda2 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-2 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-3 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-4 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-5 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-6 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-7 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-8 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-9 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-10 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-11 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-12 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-13 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-14 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-15 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/vdb not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-16 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-17 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-18 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-19 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-20 not initialized in udev database even after waiting 10000000 microseconds.
  WARNING: Device /dev/dm-21 not initialized in udev database even after waiting 10000000 microseconds.
]

The initialization of the disk depends on what I do with it. Can someone help me.

I changed glusterfs-daemonset. Yaml to increase volume. Problem solved.
spec:
      nodeSelector:
        storagenode: glusterfs
      hostNetwork: true
      containers:
      - image: gluster/gluster-centos:latest
        imagePullPolicy: IfNotPresent
        name: glusterfs
        env:
        # alternative for /dev volumeMount to enable access to *all* devices
        - name: HOST_DEV_DIR
          value: "/mnt/host-dev"
        # set GLUSTER_BLOCKD_STATUS_PROBE_ENABLE to "1" so the
        # readiness/liveness probe validate gluster-blockd as well
        - name: GLUSTER_BLOCKD_STATUS_PROBE_ENABLE
          value: "1"
        - name: GB_GLFS_LRU_COUNT
          value: "15"
        - name: TCMU_LOGDIR
          value: "/var/log/glusterfs/gluster-block"
        resources:
          requests:
            memory: 100Mi
            cpu: 100m
        volumeMounts:
        - name: glusterfs-heketi
          mountPath: "/var/lib/heketi"
        - name: glusterfs-run
          mountPath: "/run"
        - name: glusterfs-lvm
          mountPath: "/run/lvm"
        - name: glusterfs-udev
          mountPath: "/run/udev"
        - name: glusterfs-etc
          mountPath: "/etc/glusterfs"
        - name: glusterfs-logs
          mountPath: "/var/log/glusterfs"
        - name: glusterfs-config
          mountPath: "/var/lib/glusterd"
        - name: glusterfs-host-dev
          mountPath: "/mnt/host-dev"
        - name: glusterfs-misc
          mountPath: "/var/lib/misc/glusterfsd"
        - name: glusterfs-block-sys-class
          mountPath: "/sys/class"
        - name: glusterfs-block-sys-module
          mountPath: "/sys/module"
        - name: glusterfs-cgroup
          mountPath: "/sys/fs/cgroup"
          readOnly: true
        - name: glusterfs-ssl
          mountPath: "/etc/ssl"
          readOnly: true
        - name: kernel-modules
          mountPath: "/lib/modules"
          readOnly: true
        securityContext:
          capabilities: {}
          privileged: true
        readinessProbe:
          timeoutSeconds: 3
          initialDelaySeconds: 40
          exec:
            command:
            - "/bin/bash"
            - "-c"
            - "if command -v /usr/local/bin/status-probe.sh; then /usr/local/bin/status-probe.sh readiness; else systemctl status glusterd.service; fi"
          periodSeconds: 25
          successThreshold: 1
          failureThreshold: 50
        livenessProbe:
          timeoutSeconds: 3
          initialDelaySeconds: 40
          exec:
            command:
            - "/bin/bash"
            - "-c"
            - "if command -v /usr/local/bin/status-probe.sh; then /usr/local/bin/status-probe.sh liveness; else systemctl status glusterd.service; fi"
          periodSeconds: 25
          successThreshold: 1
          failureThreshold: 50
      volumes:
      - name: glusterfs-udev
        hostPath:
          path: "/run/udev"

Why did I first execute./ gk-deploy-y-n glusterfs-g topology. Json --user-key=userkey --admin-key=adminkey ,there's one node successful

Please verify that there is no any partition on that device. You can try lsblk or pvs to verify. You'd better run wipefs -a /dev/vdb and retry.

any update ,i have the same problem,....

any update ,i have the same problem,....
Give it a try and see if it works out：

- name: glusterfs-udev
          mountPath: "/run/udev"

volumes:
      - name: glusterfs-udev
        hostPath:
          path: "/run/udev"


not seeing a line on the chart

hello. i have created a line chart. and pass the following points to it.
appending 19.0 at<PHONE_NUMBER>.0 appending 18.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 31.0 at<PHONE_NUMBER>.0 appending 31.0 at<PHONE_NUMBER>.0 appending 26.0 at<PHONE_NUMBER>.0 appending 24.0 at<PHONE_NUMBER>.0 appending 23.0 at<PHONE_NUMBER>.0 appending 24.0 at<PHONE_NUMBER>.0 appending 24.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 20.0 at<PHONE_NUMBER>.0 appending 20.0 at<PHONE_NUMBER>.0 appending 18.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 19.0 at<PHONE_NUMBER>.0 appending 18.0 at<PHONE_NUMBER>.0 appending 18.0 at<PHONE_NUMBER>.0 appending 18.0 at<PHONE_NUMBER>.0 found lo psi = 18.0 on<PHONE_NUMBER>.0 found hi psi = 31.0 on<PHONE_NUMBER>.0 lowest Date =<PHONE_NUMBER>.0 hightes Date =<PHONE_NUMBER>.0 scales are set at 22152.75 and 1.625
here is the code
`Alamofire.request(.GET, url, parameters: ["id": site.pressureSensorID])
.responseJSON { response in
//print(response.result)   // result of response serialization
            // handle network problem
            switch response.result {
            case .Success(_):
                print("success code back from api server for sites request")
            case .Failure(_):
                let alertView = UIAlertController(title: "Connect Error", message: "Network error, please try again", preferredStyle: .Alert)
                let alertAction = UIAlertAction(title: "OK", style: .Default) { _ in
                }
                alertView.addAction(alertAction)
                self.presentViewController(alertView, animated: true) {}
            }

            if let jsonResult = response.result.value {
                //print(response.result.value!)

                let arrayOfJSONDataPlots = JSON(jsonResult)

                for (key, item) in arrayOfJSONDataPlots {
                    var timestamp: Double = item[1].double!
                    let psi: Double = item[0].double!

                    // set the initial values for my comparison variables
                    if lowestDate == 0 {
                        lowestValue = psi
                        highestValue = psi
                        lowestDate = timestamp
                        highestDate = timestamp
                    }

                    if highestValue < psi{
                       highestValue = psi
                    }

                    if lowestValue > psi{
                       lowestValue = psi
                    }

                    if timestamp < lowestDate{
                        lowestDate = timestamp
                    }

                    if timestamp > highestDate {
                        highestDate = timestamp
                    }

                    print("appending \(psi) at \(timestamp)")
                    self.arrayOfPlotPoints.append((psi, timestamp))
                }

    print("found lo psi = \(lowestValue) on \(lowestDate)")
    print("found hi psi = \(highestValue) on \(highestDate)")
    print("lowest Date = \(lowestDate)")
    print("hightes Date = \(highestDate)")

    var xScale: Double = (highestDate - lowestDate)
    var yScale: Double = (highestValue - lowestValue)

    xScale = xScale / 8.0
    yScale = yScale / 8.0

    if xScale < 1 {
        xScale = 1
    }
    if yScale < 1 {
        yScale = 1
    }

    print("scales are set at \(xScale) and \(yScale)")

    /*
    let chartConfig = ChartConfigXY(
        xAxisConfig: ChartAxisConfig(from: 0, to: 14, by: 2),
        yAxisConfig: ChartAxisConfig(from: 0, to: 15, by: 2)
    )
    */

    let chartConfig = ChartConfigXY(
        xAxisConfig: ChartAxisConfig(from: lowestDate, to: highestDate, by: xScale),
        yAxisConfig: ChartAxisConfig(from: lowestValue, to: highestValue, by: yScale)
    )

    let chart = LineChart(
        frame: CGRectMake(0, 70, 300, 500),
        chartConfig: chartConfig,
        xTitle: "X axis",
        yTitle: "Y axis",
        lines: [
        //(chartPoints: [(2.0, 10.6), (4.2, 5.1), (7.3, 3.0), (8.1, 5.5), (14.0, 8.0)], color: UIColor.redColor()),
        (chartPoints: self.arrayOfPlotPoints, color: UIColor.blueColor())
        ]

    )

    self.lineChartView.addSubview(chart.view)
    self.chart = chart

            }
            else {
                print("JSON data is nil.")
            }
    } // end of json sites request`

the scales and axis lables are showing up, but i cannot see the line.
would appreciate any help with this

Looks like you are setting the range you want for y in the x axis and the other way... btw you can also adjust the chart settings to provide enough spacing, such that the labels are not cut at the edges.

you were correct. thanks


Text on FFXIV classes (I love the inspiration for these classes though. Seriously great)

Browser Type/Version: Firefox
Issue Description: Many table issues and text overlaying images of class descriptions. Text scrolls offpage and onto images.
Brew code to reproduce: Click to expand code
PUT YOUR BREW CODE HERE

Related Images :

I can't really help unless you give me the share url.

It is the only homebrew online at this moment, right?
Maybe I am using the website incorrectly -- I can only see the FFXIV
classes since a friend shared a link with me. How do I find others?
On Fri, Sep 16, 2016 at 12:16 AM, Scott Tolksdorf<EMAIL_ADDRESS>wrote:

I can't really help unless you give me the share url.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/199#issuecomment-247526241,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATRy_hmxBbXnulhSqrg2V8MrzErD7gPqks5qqjQ6gaJpZM4J-jTJ
.

There should be a big warning in the nav bar about using chrome if the rendering isn't working?

Re-open this if there's any updates :)

Finally finally found the shared file. Was on my laptop. I was on school
PCs, my bad
http://homebrewery.naturalcrit.com/share/B1HBWX5j
On Tue, Sep 20, 2016 at 8:58 AM, Scott Tolksdorf<EMAIL_ADDRESS>wrote:

Re-open this if there's any updates :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/199#issuecomment-248327333,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATRy_s1yUQHhXmELy6GI5LlXryjBySyZks5qr_SNgaJpZM4J-jTJ
.


Feature 465 client quiet mode

Closes #465

Sven Dolderer<EMAIL_ADDRESS>Daimler TSS GmbH, imprint

* update the client documentation
  Describe there the flag and the purpose and... the output happening like described in issue description #465

done.

* update the client documentation
  Describe there the flag and the purpose and... the output happening like described in issue description #465

done.