Add CMake support for glog

Hi
would it be possible to add cmake support for Glog ? Gflags already support cmake, it would be consistent to have glog supporting it also.
It seems that there have been attempts to do that in the past.
Thanks you very much in advance

I've added CMake support to glog: https://github.com/sergiud/glog. Tested on Windows using VC 8.0-14.0 CTP 6 and cygwin gcc 4.9.2, and on Arch Linux using gcc 4.9.2 and clang 3.6.
Usage in a CMake project:
cmake_minimum_required (VERSION 2.8.11)
project (myproject)

find_package (glog 0.3.4)

add_executable (myproject myproject.cpp)
target_link_libraries (myproject glog)

Hi thanks for your work ! I will test it asap.
how about a pull request on the google/glog to see what the maintainer says ?

There are minor things left to be done. Once I'm done, I'll create a pull request.

When adding cmake support it would be nice to have also mingw support on windows.
The release 0.3.4 states "attempt to improve mingw-w64 support", but I think that's maybe only for cross compiles.
Building with mingw-w64 seems not to be supported.

MinGW and CMake support are pretty much unrelated issues. MinGW is simply missing functions that are required to compile glog.

Thank you for your help.
I was able to compile glog with mingw, but I had to use msys to run the configure script, and there were some linker problems with the test. Also there are some problems with pthreads, because glog defines its own pthreads. I had to use mingw without pthread support.  But I was able to use the library in my project that I compiled with MinGW and the logging could be used correctly. MinGW does not support symbolic links, but glog can be used without this functionality. I just thought that during the cmake process one could check for mingw compiler and set the correct macros.
Currently I am testing your cmake fork and it also seems that somehow the MSVC Project can not include the gflags headers correctly.

What MinGW version are you using? Maybe I can take a look.
Would you also post the CMake/compiler output regarding the gflags problem? Thanks.

I am using mingw-w64: i686-4.9.2-win32-sjlj-rt_v3-rev1 from the mingw-w64 project.
Note that in logging.h I had to import stdlib and disable the dllimport stuff also for mingw
#include <stdlib.h>
...
# if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__)
#   define GOOGLE_GLOG_DLL_DECL  __declspec(dllimport)
# else
#   define GOOGLE_GLOG_DLL_DECL
# endif

The problem with gflags is, that the headers are not found.
Fehler	1	error C1083: Datei (Include) kann nicht geöffnet werden: "gflags/gflags.h": No such file or directory	d:\buildlibs\glogcmake\glog\src\base\commandlineflags.h	58	1	glog

From the CmakeCache.txt
//The directory containing a CMake configuration file for Gflags.
Gflags_DIR:PATH=D:/libs/local/cmake

Additionally you could add Cache variable in cmake to disable gflags.
Thank you

My MinGW installation is missing the strerror_s and localtime_s functions, which are required for the implementation of strerror_r and localtime_r. I pushed a fix for the gflags issue, though.

As a side note, you have to use the gflags_DIR CMake variable instead of Gflags_DIR now.

Thank you. Compiling without gflags with MSVS works now.
When building with gflagsm the gflags  headers are still not included automatically.
This is a typo, the gflags include directory is called gflags_INCLUDE_DIR and not gflags_INCLUDE_DIRS.
After fixing this, MSVS complains about:
Compiler Error C2370
'identifier' : redefinition; different storage class

in logging.cc line 105, 107, 134, 1034, 175, 140, 142, 172, 138, 128, 166, 168
e.g.: 'fLB::FLAGS_alsologtostderr'
in vlog_is_on line 53
'fLI::FLAGS_v'
and
Compiler Error C2872
'symbol' : ambiguous symbol

'int64' and 'uint32'  in several lines in logging_unittest.cc
mingw with posix threads is not compiling, I will try mingw with win32 threads later.

Thanks for letting me know. The gflags issues should be fixed now.

using mingw with win32 threads:
PS D:\buildlibs\glogcmake\glog\build> mingw32-make
Scanning dependencies of target glog
[  8%] Building CXX object CMakeFiles/glog.dir/src/demangle.cc.obj
[ 16%] Building CXX object CMakeFiles/glog.dir/src/logging.cc.obj
[ 25%] Building CXX object CMakeFiles/glog.dir/src/raw_logging.cc.obj
[ 33%] Building CXX object CMakeFiles/glog.dir/src/symbolize.cc.obj
[ 41%] Building CXX object CMakeFiles/glog.dir/src/utilities.cc.obj
[ 50%] Building CXX object CMakeFiles/glog.dir/src/vlog_is_on.cc.obj
[ 58%] Building CXX object CMakeFiles/glog.dir/src/signalhandler.cc.obj
[ 66%] Building CXX object CMakeFiles/glog.dir/src/windows/port.cc.obj
D:\buildlibs\glogcmake\glog\src\windows\port.cc: In function 'int snprintf(char*, size_t, const char*, ...)':
D:\buildlibs\glogcmake\glog\src\windows\port.cc:59:5: error: redefinition of 'int snprintf(char*, size_t, const char*, .
..)'
 int snprintf(char *str, size_t size, const char *format, ...) {
     ^
In file included from D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/locale.h:1
2:0,
                 from D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/clocal
e:42,
                 from D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/i686-w
64-mingw32/bits/c++locale.h:41,
                 from D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/bits/l
ocalefwd.h:40,
                 from D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/string
:43,
                 from D:\buildlibs\glogcmake\glog\src\windows\port.cc:43:
D:/Software/mingw-w64/i686-4.9.2-win32-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/stdio.h:339:5: note: 'int snprin
tf(char*, size_t, const char*, ...)' previously defined here
 int snprintf (char *__stream, size_t __n, const char *__format, ...)
     ^
At global scope:
cc1plus.exe: warning: unrecognized command line option "-Wno-unnamed-type-template-args"
CMakeFiles\glog.dir\build.make:222: recipe for target 'CMakeFiles/glog.dir/src/windows/port.cc.obj' failed
mingw32-make[2]: *** [CMakeFiles/glog.dir/src/windows/port.cc.obj] Error 1
CMakeFiles\Makefile2:94: recipe for target 'CMakeFiles/glog.dir/all' failed
mingw32-make[1]: *** [CMakeFiles/glog.dir/all] Error 2
makefile:146: recipe for target 'all' failed
mingw32-make: *** [all] Error 2
PS D:\buildlibs\glogcmake\glog\build>

using mingw with posix threads:
PS D:\buildlibs\glogcmake\glog\build> mingw32-make
Scanning dependencies of target glog
[  8%] Building CXX object CMakeFiles/glog.dir/src/demangle.cc.obj
[ 16%] Building CXX object CMakeFiles/glog.dir/src/logging.cc.obj
In file included from D:\buildlibs\glogcmake\glog\src\utilities.h:78:0,
                 from D:\buildlibs\glogcmake\glog\src\logging.cc:32:
D:/buildlibs/glogcmake/glog/src/windows/port.h:139:15: error: conflicting declaration 'typedef DWORD pthread_t'
 typedef DWORD pthread_t;
               ^
In file included from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/i686-w
64-mingw32/bits/gthr-default.h:35:0,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/i686-w
64-mingw32/bits/gthr.h:148,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/ext/at
omicity.h:35,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/bits/b
asic_string.h:39,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/string
:52,
                 from D:\buildlibs\glogcmake\glog\src\utilities.h:75,
                 from D:\buildlibs\glogcmake\glog\src\logging.cc:32:
D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/pthread.h:196:19: note: previous
 declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
In file included from D:\buildlibs\glogcmake\glog\src\utilities.h:78:0,
                 from D:\buildlibs\glogcmake\glog\src\logging.cc:32:
D:/buildlibs/glogcmake/glog/src/windows/port.h:140:15: error: conflicting declaration 'typedef DWORD pthread_key_t'
 typedef DWORD pthread_key_t;
               ^
In file included from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/i686-w
64-mingw32/bits/gthr-default.h:35:0,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/i686-w
64-mingw32/bits/gthr.h:148,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/ext/at
omicity.h:35,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/bits/b
asic_string.h:39,
                 from D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/c++/string
:52,
                 from D:\buildlibs\glogcmake\glog\src\utilities.h:75,
                 from D:\buildlibs\glogcmake\glog\src\logging.cc:32:
D:/Software/mingw-w64/i686-4.9.2-posix-sjlj-rt_v3-rev1/mingw32/i686-w64-mingw32/include/pthread.h:182:18: note: previous
 declaration as 'typedef unsigned int pthread_key_t'
 typedef unsigned pthread_key_t;
                  ^
D:/buildlibs/glogcmake/glog/src/windows/port.h:142:8: error: expected identifier before numeric constant
 enum { PTHREAD_ONCE_INIT = 0 };   // important that this be 0! for SpinLock
        ^
D:/buildlibs/glogcmake/glog/src/windows/port.h:142:8: error: expected '}' before numeric constant
D:/buildlibs/glogcmake/glog/src/windows/port.h:142:8: error: expected unqualified-id before numeric constant
In file included from D:\buildlibs\glogcmake\glog\src\utilities.h:78:0,
                 from D:\buildlibs\glogcmake\glog\src\logging.cc:32:
D:/buildlibs/glogcmake/glog/src/windows/port.h:142:30: error: expected declaration before '}' token
 enum { PTHREAD_ONCE_INIT = 0 };   // important that this be 0! for SpinLock
                              ^
cc1plus.exe: warning: unrecognized command line option "-Wno-unnamed-type-template-args"
CMakeFiles\glog.dir\build.make:78: recipe for target 'CMakeFiles/glog.dir/src/logging.cc.obj' failed
mingw32-make[2]: *** [CMakeFiles/glog.dir/src/logging.cc.obj] Error 1
CMakeFiles\Makefile2:94: recipe for target 'CMakeFiles/glog.dir/all' failed
mingw32-make[1]: *** [CMakeFiles/glog.dir/all] Error 2
makefile:146: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

I see. Adding MinGW support basically requires some code refactoring, which I can't really help with.

Thank you very much for your help. In the release 0.3.4, the developers added the feature

attempt to improve mingw-w64 support

I hope they will continue adding mingw-w64 on windows with cmake.

sergiud, there's a bug in your CMake build somewhere, on Windows 7 with Visual Studio 2013 Community Edition at least.  It doesn't copy the glog\log_severity.h file.  I haven't found the cause yet.  I'm building in build\serguid_glog.  My build\sergiud_glog\glog directory doesn't have the file, although all the other *.h files are present.  build\sergiud_glog\install_manifest.txt does not list the file, but the other *.h files are listed.  As I have not found an explicit list of these files for installation, I am guessing you used some kind of automated routine to grab all the needed files, and had an endpoint error iterating through them.  I would have filed this as an issue in your github repository, but you don't seem to have Issues enabled.
Anyways count me as someone who'd like to see an official CMake build for glog.  I've found 3 different ones including sergiud's.  I'm currently dealing with 2 projects that consume gflags and glog, that aren't working well with gflags detection or glog building in Visual Studio 2013.  The .sln files that glog proper provides, are only 32-bit when imported to Visual Studio 2013.  7 project upgrade errors are given, which might be worrisome.

@bvanevery, good catch. I failed to include log_severity.h for install.

sergiud, are you going to fix that in your repo?  Or at least enable Issues reporting in your repo, so that it's not forgotten?

@bvanevery I've enabled issues in my repository.

@sergiud Hi, I am glad that you make google-glog support CMake, however, I write a find_package(glog REQUIRED) in my CMakeList.txt, and cmake it, it complains:
CMake Error at CMakeLists.txt:26 (find_package):
  By not providing "Findglog.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "glog", but
  CMake did not find one.

  Could not find a package configuration file provided by "glog" with any of
  the following names:

    glogConfig.cmake
    glog-config.cmake

My OS is Arch Linux, and I execute pacman -Ql google-glog, I do not know why does it not contains the glog-config.cmake:
google-glog /usr/
google-glog /usr/include/
google-glog /usr/include/glog/
google-glog /usr/include/glog/log_severity.h
google-glog /usr/include/glog/logging.h
google-glog /usr/include/glog/raw_logging.h
google-glog /usr/include/glog/stl_logging.h
google-glog /usr/include/glog/vlog_is_on.h
google-glog /usr/lib/
google-glog /usr/lib/libglog.so
google-glog /usr/lib/libglog.so.0
google-glog /usr/lib/libglog.so.0.0.0
google-glog /usr/lib/pkgconfig/
google-glog /usr/lib/pkgconfig/libglog.pc
google-glog /usr/share/
google-glog /usr/share/licenses/
google-glog /usr/share/licenses/google-glog/
google-glog /usr/share/licenses/google-glog/COPYING

Any ides? Thank you!

Glog 0.3.5 which includes CMake support has not been released yet. You'll have to compile Glog from source.

@sergiud So it is! Thank you!

@sergiud Hi, I write the PKBGUILD to comiple Glog from source, however, I find it does not compile libglog.so, I do not know why, any idea? Thank you!
See my compile output and PKGBUILD: https://gist.github.com/acgtyrant/ae5794c37cef79c8464c

Just for the sake of completeness. I recently had some issues with how the glog CMake implementation works. It is not glog related I guess it is how CMake's find_package config mode works. Together with object-libraries CMake did not passed the Include files folder to the object file compilation step.
This example form ifm3d will fail compilation at least under Windows with Visual Studio 2017
file(GLOB IFM3D_CAMERA_SOURCES *.cpp)
add_library(ifm3d_camera OBJECT ${IFM3D_CAMERA_SOURCES})
set_property(TARGET ifm3d_camera PROPERTY POSITION_INDEPENDENT_CODE 1)

add_library(ifm3d_camera_shared SHARED $<TARGET_OBJECTS:ifm3d_camera>)
target_link_libraries(
  ifm3d_camera_shared
  glog::glog
  ${LIB_xmlrpcxx}
  ${LIB_xmlrpc_clientxx}
)

The fix is pretty easy but maybe this save someone some time
find_package(Boost REQUIRED COMPONENTS system date_time regex)
find_package(glog REQUIRED CONFIG NAMES google-glog glog)
if (NOT TARGET glog::glog)
	find_library(LIB_glog NAMES glog)
else()
	set(LIB_glog glog::glog)
endif (NOT TARGET glog::glog)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

file(GLOB IFM3D_FG_SOURCES *.cpp)

add_library(
  ifm3d_framegrabber_shared SHARED ${IFM3D_FG_SOURCES}
  )
set_property(TARGET ifm3d_framegrabber_shared PROPERTY POSITION_INDEPENDENT_CODE 1)

target_link_libraries(
  ifm3d_framegrabber_shared
  ifm3d_camera_shared
  ${LIB_glog}
  ${Boost_LIBRARIES}
  ${CMAKE_THREAD_LIBS_INIT}
  )

You have two code paths there. The first one (which calls find_library) uses only the raw glog library. This code path may fail if you did not set the include directories, compile definitions etc. correctly, which is user's responsibility. The second one where the glog::glog target is defined, should not fail if the package was found.
I don't see how the problem is related to CMake's config mode or object-libraries. Why do you need to locate glog using find_library in the first place?

@sergiud the find_library(LIB_glog NAMES glog) is for glog < 0.3.5 where no CMake support was provided. If using the glog::glog which uses the magic inside the CMake-config file for setting the right compiler and linker flags this will not work when compiling an OBJECT library. Because at least the include path is not provided correctly and the CFLAGS also missing.
add_library(ifm3d_camera OBJECT ${IFM3D_CAMERA_SOURCES})

As per CMake documentation object libraries only compile the sources. You need to add another library which uses the objects and then you can link to the imported glog::glog target as usual.

Thanks for the hint with the extra library and I highly appreciate your CMake support for glog which saved me a lot of time.
I tried to explain in the comments above I do not consider this a bug in Glogs CMake implementation nor in the CMake itself. It was just something which took me quite some time to figure out. And I tried to document it somehow so maybe I can save someone some time.

My OS is Arch Linux, and I execute pacman -Ql google-glog, I do not know why does it not contains the glog-config.cmake:

i want to know how you solve this problem. i also met this case!

@majiqiang It looks like Arch uses configure to build the package thus the cmake stuff is not generated. So you can add a comment or vote on their issue tracker to the already opened issue about this.
FS#55185 - [google-glog] use cmake to build to generate cmake import configs maybe adding a link to this issue might shed some lights.

@majiqiang It looks like Arch uses configure to build the package thus the cmake stuff is not generated. So you can add a comment or vote on their issue tracker to the already opened issue about this.
FS#55185 - [google-glog] use cmake to build to generate cmake import configs maybe adding a link to this issue might shed some lights.

@graugans What should I do specifically? I first installed various dependencies, such as glog, egien3, and so on. Then I git clone handeye-calib-camodocal to my workspace ~/catkin_ws/src, and catkin_make. but I got the errors:
Could not find a package configuration file provided by "Glog" with any of
the following names:
              GlogConfig.cmake
              glog-config.cmake

@majiqiang you can try to get in touch with the Arch guys so they fix it. or you can build glog from source.

@graugans you mean this?
git clone https://github.com/google/glog
sudo apt-get install autoconf automake libtool
./autogen.sh
./configure
make -j 24
sudo make install

This will not help. This is exactly how the Arch Maintainer builds. You have to use CMake. https://github.com/google/glog/blob/master/cmake/INSTALL.md

Whenever I build on windows I get a warning fLB::FLAGS_logtostderr': inconsistent dll linkage
And after running tests, symbolize always fails.
Anyone point me in the right direction?

When I execute the cmake, it says the add_library cannot create imported target "glog::glog" because another
target with the same name already exists. Could anyone help me about it? Thanks.
-- Found Glog
--   Includes : /usr/include
--   Libraries : /usr/lib/x86_64-linux-gnu/libglog.so
-- Found SQLite3: /usr/include (found version "3.31.1")
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found Git: /usr/bin/git (found version "2.25.1")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found required Ceres dependency: Eigen version 3.3.7 in /usr/lib/cmake/eigen3
CMake Error at /usr/local/lib/cmake/Ceres/FindGlog.cmake:349 (add_library):
add_library cannot create imported target "glog::glog" because another
target with the same name already exists.
 However, if had to guess I'd say that you are using broken/outdated distribution that does not provide a CMake glog package configuration or the project that you are trying to compile is mixing different glog versions.
I suggest opening a separate issue with detailed information on how to reproduce the error.

When I execute the cmake, it says the add_library cannot create imported target "glog::glog" because another target with the same name already exists. Could anyone help me about it? Thanks.
-- Found Glog -- Includes : /usr/include -- Libraries : /usr/lib/x86_64-linux-gnu/libglog.so -- Found SQLite3: /usr/include (found version "3.31.1") -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so -- Found Git: /usr/bin/git (found version "2.25.1") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found required Ceres dependency: Eigen version 3.3.7 in /usr/lib/cmake/eigen3 CMake Error at /usr/local/lib/cmake/Ceres/FindGlog.cmake:349 (add_library): add_library cannot create imported target "glog::glog" because another target with the same name already exists. Call Stack (most recent call first): /usr/local/lib/cmake/Ceres/CeresConfig.cmake:247 (find_package) cmake/FindDependencies.cmake:33 (find_package) CMakeLists.txt:85 (include)
-- Found required Ceres dependency: glog -- Found Ceres version: 2.2.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, SchurSpecializations]

I met the same problem. Modify line 349 of FindGlog.cmake to:
if(NOT TARGET glog::glog)
add_library(glog::glog INTERFACE IMPORTED)
# Additional configuration for glog::glog
endif()

It works for me.

omg @dawnzyt thank you, glomap is about to be built ;)


Fix indentation in overlay/mkcrate.nix

As the title says. This has apparently been around for a long time.

Thanks, @antigravityla! 🤗


improve CI build times by limiting runs

It seems like the randomness of a fuzzing run and the generally slower CI makes some runs really unpredictable. The string_compare example seems to be one of them. Bumping up the runs in the hope to fix the flakiness. Offline 100-200k runs were sufficient in 95% of the time, so the initial upper limit of 1 million was deemed enough. However, #335 failed to succeed

@bertschneider From what I can observe locally is that setting a seed x on Linux produces somewhat different behavior compared to setting the same seed on Windows..
In the mentioned example and the current seed, on Linux the fuzzing behavior in over 20 test runs roughly follows the pattern of:
## Consistent
#2	INITED cov: 2 ft: 2 corp: 1/1b exec/s: 0 rss: 120Mb
## Consistent: The used mutator is always the same
#1326	NEW    cov: 5 ft: 5 corp: 2/17b lim: 17 exec/s: 0 rss: 120Mb L: 16/16 MS: 4 InsertRepeatedBytes-CrossOver-EraseBytes-InsertRepeatedBytes-
## Always either a CMP- or CopyPart-CMP mutator
#19838	NEW    cov: 6 ft: 6 corp: 3/33b lim: 198 exec/s: 0 rss: 126Mb L: 16/16 MS: 2 CopyPart-CMP- DE: "Awesome "-
## This has a tad more variance of ChangeByte-CMP, CMP-, ChangeBit-ShuffleBytes-PersAutoDict-CMP, or ChangeBit-CMP-
#186390	NEW    cov: 7 ft: 7 corp: 4/49b lim: 1850 exec/s: 0 rss: 153Mb L: 16/16 MS: 2 ChangeBit-CMP- DE: "Fuzzing"-

On Windows, the behavior is a lot more "random" as in it can produce a similar output but also tends to completely end up with other mutators, or in other cases fails to find the necessary coverage from 6→7  for whatever reason.
Bottom line, setting a seed (in libfuzzer) is not a guarantee for 100% deterministic behavior (across different systems and/or operating systems)?

I tried checking if there's a difference in PRNG that is being used, but at first glance it doesn't look like it:

libfuzzer seed setting
libfuzzer random class

Ripping out the used PRNG as a standalone test produced the same random numbers over 100 iterations:
// clang++ test.cpp -O3 -o test
// ./test 111994470
#include <cstdlib>
#include <iostream>
#include <random>
#include <stdlib.h>
#include <string>

class Random : public std::minstd_rand {
public:
  Random(unsigned int seed) : std::minstd_rand(seed) {}
  result_type operator()() { return this->std::minstd_rand::operator()(); }
  template <typename T>
  typename std::enable_if<std::is_integral<T>::value, T>::type Rand() {
    return static_cast<T>(this->operator()());
  }
  size_t RandBool() { return this->operator()() % 2; }
  size_t SkewTowardsLast(size_t n) {
    size_t T = this->operator()(n * n);
    size_t Res = static_cast<size_t>(sqrt(T));
    return Res;
  }
  template <typename T>
  typename std::enable_if<std::is_integral<T>::value, T>::type operator()(T n) {
    return n ? Rand<T>() % n : 0;
  }
  template <typename T>
  typename std::enable_if<std::is_integral<T>::value, T>::type
  operator()(T From, T To) {
    assert(From < To);
    auto RangeSize = static_cast<unsigned long long>(To) -
                     static_cast<unsigned long long>(From) + 1;
    return static_cast<T>(this->operator()(RangeSize) + From);
  }
};

int main(int argc, char **argv) {
  unsigned int seed = atoi(argv[1]);
  std::cout << "Seed: " << seed << std::endl;

  Random Rand(seed);
  for (int i = 0; i <= 100; i++) {
    std::cout << "Rolled value: " << Rand() << std::endl;
  }
  return 0;
}

So, there might be something else at play here, which would need some more investigating


Feature/oracle     add oracle unit test

add oracle unit test
modify mssql unit test

Codecov Report

:exclamation: No coverage uploaded for pull request base (feature/oracle@7753fc6). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                @@
##             feature/oracle    #1865   +/-   ##
=================================================
  Coverage                  ?   73.17%
=================================================
  Files                     ?      503
  Lines                     ?    45395
  Branches                  ?        0
=================================================
  Hits                      ?    33216
  Misses                    ?    10146
  Partials                  ?     2033

Flag
Coverage Δ

go-1.16-386
73.17% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


Mangle - Fix label shadowing

(Close #185)

Not sure if there are any other bugs that this will lead to. If so, afaik, it will only lead to LabelStatement bugs.

Adds a 250-300ms to mangler because of the double pass. Maybe we can add a flag to useLabels - maybe ? and when babel starts treating Labels in a separate namespace, we can remove the code - incase we merge this...
this needs traversing program twice because the second time, the vars get replaced from outer scope and we cannot bind the referencedIdentifier to its BindingIdentifier - as we check this based on the Identifier name

I submitted a proper fix so we'll try to get that in first — https://github.com/babel/babel/pull/4758

Boom !!!


[FEATURE] scheduler handler to call to twitter api v2

PR to fix TwitterSchedulerHandler to post tweets on twitter.
#97
/claim #97

I tested twiiter Post specific changes locally and verified that the Twitter API integration is working. However, I didn't have the "lastTwittedJobID" field in my local database, so I couldn't test that part. The job-related code is similar to the Telegram integration and hasn't been modified by me.
You can follow these steps to generate your own access tokens: https://developer.twitter.com/en/docs/authentication/oauth-1-0a.
Please review my changes and let me know if you have any feedback.

unfortunately this is the old API / endpoint
please follow the new API docs

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/overview
Create tweet https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update
The new api takes api_key, secret and bearer token not the old 4 keys

@dm161, I am using v2 API in my PR, isn't that already the latest? The link you mentioned belongs to v1.1, aren't they supposed to be the older one? Can you clarify please.

@Shubham8287 ok my apologies I was confused because the new api accepts api key, secret and bearer token, but the old api accepts the old 4 keys, client key, client secret, acess token, access token secret, did you manage to run a test even with curl on the new api? how many keys do you use? 3 or 4?

@dm161 yes, I am able to hit using curl as well as by running our code. (I commented out the job fetching related stuff and mocked the tweet string). I am able to post tweets using it.

Can you share where you read about 3 keys, maybe that's just a different auth method. The one I am using is oauth1, twitter API also supports auth2, I am making a guess maybe oauth2 authenticates that way but I think both are valid as I followed the official doc to authenticate - https://developer.twitter.com/en/docs/authentication/oauth-1-0a. Even the reference you shared in the issue https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/quick-start in issue uses the same oauth1 method.

@Shubham8287 reviewing again this now

@dm161  how did the review go? I am wondering if it still takes you more time to review, should I resume working linkedin task?

@Shubham8287 reviewing this now will respond in a couple of hours

@Shubham8287 tested and it returns 401, I have assigned $100 to this task because I expect you to spend some time generating keys on twitter creating a test app and trying the whole flow. Please add screenshots when you have done the following steps.

thats how i generate consumer key+secret

and thats where i generate access token+access token secret

@Shubham8287 tested and it returns 401, I have assigned $100 to this task because I expect you to spend some time generating keys on twitter creating a test app and trying the whole flow. Please add screenshots when you have done the following steps.

@dm161, I raised the PR after spending enough time to find best auth way as well as testing it well - https://github.com/golang-cafe/job-board/pull/103#issuecomment-1519090328. Attaching screenshots for same.

I generated tokens in same way as you. in env file, I am mapping Consumer key and secret to Client key and secret, I hope you are doing the same.

thank you - did you try also running through local env? it could be that the oauth client is not configured correctly. I will also try to run the postman requesst

@dm161  you see, the 2nd screenshot is from job-board server.
also, there was small issue in my PR related to escaping endline in serialized json body. Fixed that, I think that was causing it to fail for you and if you tried curl or Postman to get 401, its litte tricky to setup oauth there. You can refer to my ss to try with Postman or e2e testing should also work now as I tested that.

@dm161 Were you able to successfully test it? Also, mock job that we use for local run have expired SocialMediaEligibilityExpiredAt, you may like to comment the check condition to test it.

I had to review other Prs, but I will try again generating new tokens and trying this out - unfortunately it takes time for me to generate tokens and test locally to make sure it's working - will update you as soon as i have done this in the next day or two

@dm161 did you get any time to review it? I will be on vacation from next weeks so hoping to close this soon.

Still didn’t manage to run it locally as it returns errors.

Can you please write the steps you are following to run it locally? And
what error are you getting?
On Wed, 24 May 2023, 17:31 Diego, @.***> wrote:

Still didn’t manage to run it locally as it returns errors.
—
Reply to this email directly, view it on GitHub
https://github.com/golang-cafe/job-board/pull/103#issuecomment-1560990645,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKFWMJHDKNUP3EORKGG73LDXHX2CPANCNFSM6AAAAAAXICHDCE
.
You are receiving this because you were mentioned.Message ID:
@.***>


fix repeated inject init code when Multi-channel packaging

In some cases such as dex hot fix with apk protection,Multi-channel
packaging through execute "gradlew assemble" will lead to repeated
inject init-code,repeated injection
will cause error ,because the dex diff algorithm will diff the class
"com.alibaba.android.arouter.core.LogisticsCenter" when build single
channel dex patch!

详细问题原因分析 https://blog.csdn.net/qq372848728/article/details/93856304


406 error when searching image in docker hub

I can't create new container cause search of image in docker hub doesn't work

https://pastebin.com/2iT0APKE


NLog.dll.nlog this configuration can not be used now?

NLog.dll.nlog in a directory where NLog.dll is located (only if NLog isn't installed in the GAC)

I set up NLog.config in application’s directory can be used to modify the file name copied to the DLL directory will not work

Could you please elaborate? Please do use the template and please spent some more time on explaining and giving details.


Move services to top nav, update services page, replace fifth homepag…

…e banner with certification promotion

Thanks @jacksoncvm - this is now live!


my live share

Product and Version [VS/VSCode]:
OS Version [macOS/Windows]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

I'm having trouble understanding the issue. Could you provide some more information about the problem?

Closing this issue due to inactivity. Please re-open it if you're continuing to encounter this problem. Thanks!


Question about training Flux

Missing those files
flux-sliders/utils/lora.py
53:    path = f'/sensei-fs/users/rgandikota/orthogonal_basis/{n:09}.ckpt'

just replace the path in this function
def load_ortho_dict(n):
    path = f'/YOUR_PATH/{n:09}.ckpt'
    if os.path.isfile(path):
        return torch.load(path)
    else:
        x = torch.randn(n,n)
        eig, _, _ = torch.svd(x)
        torch.save(eig, path)
        return eig

However, I didn't get all the way to the end because this code crashes with OutOfMemoryError: CUDA out of memory. even with colab's A100...


REST API controller

REST API configured for JSON only support
Supports basic shell functionality (stream list and create)
Added management.contextPath property

LGTM; merged


Add Testcase

We update some testcase, and found some fail case(ElementTest code line 1096 - It does not return tag value, AttributesTest code line 174 - It does not return previous value.).
If you have a time, please check it.

This pull request is way too big (and contains very inconsistent formatting). Normally, I'd say try to split it up into chunks and create one small pull request with the first chunk. After that got merged create another pull request with the next chunk, and so on. However, this repository already contains a ton of open pull requests and it doesn't look like the maintainer is very active.
As for the failing tests, if you believe your tests are correct and you found some bugs in jsoup, why not create an issue for each bug with a test case attached? Make sure to search the issue list first, to avoid duplicate bug reports.


Running a collection with a CSV file

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
As per the documentation with the bruno cli : https://docs.usebruno.com/bru-cli/overview
bru run folder --csv-file-path /path/to/csv/file.csv
But I am getting the below error message.
The format of my bru request:
meta {
name: Test
type: http
seq: 2
}
data {
source: csv
file: test.csv
}
get {
url: https:///path?Type=${type}
body: none
auth: none
}

.bru file to reproduce the bug
No response
Screenshots/Live demo link

Hey @sharathkonda,
The data attribute shouldn’t be in the bru file at all. This is the first time I’ve seen it there. Did you make any manual changes to the bru file?

Hi @ganesh-bruno
Thanks for the update. I added the data file thinking that the bru file needs to understand which csv file to be referred based on the guideliness of the github copilot.
Yesterday after google search, I removed the data reference and able to execute it.
Now the question is if multiple requests refer to multiple csv files, will it be in a position to resolve it?

Hey @sharathkonda
Could you provide more details about your use case for having multiple requests refer to different CSV files? Understanding this better will help me give you a more accurate response.


callMethodName with NSDate as a parameter

I would like to call a method with a parameter NSDate. Not string or timestamp. This is because the server side handles timestamps as "new Date()" and if I send a string or timestamp it doesn't work. Is this possible?
Thanks once again...

have a good read of this https://github.com/meteor/meteor/blob/devel/packages/ddp/DDP.md
specifically this
Appendix: EJSON
it tells you how to transfer dates correctly across DDP.
{"$date": MILLISECONDS_SINCE_EPOCH}

so in your dictionary you have $date : value

Thank you!!! :) You saved my day!!!


Add a new member to README.md

Added me according to https://github.com/dotnet-foundation/wg-maintainers/issues/41
I've tried to keep alphabetical order. That's why I added there 👍

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: enisn sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


[feat][pip] Support key filter for TableView

Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[x] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[x] doc
[ ] doc-required
[ ] doc-not-needed
[ ] doc-complete

Discussion link: https://lists.apache.org/thread/ttzwrglkhwpogzp68lnzhgt90p36c2ok


Hi please fix this problem

Error HH8: There's one or more errors in your config file:

Invalid value {"forking":{"blockNumber":24539564}} for HardhatConfig.networks.hardhat - Expected a value of type HardhatNetworkConfig.

To learn more about Hardhat's configuration, please go to https://hardhat.org/config/
For more info go to https://hardhat.org/HH8 or run Hardhat with --show-stack-traces
PS C:\Users\ASHISH\Music\poly-flash-main\poly-flash>

I'm also getting this issue as well:

i'm facing the same problem

it is weird but if you are getting this issue then try to paste the alchemy polygon rpc url value directly in the config file instead of using it through the env file.

Did you rename the .env.example file to .env? If the file extension is not .env the test will not pass. Also make sure you are using a Mainnet Polygon url from Alchemy.

Error HH8: There's one or more errors in your config file:

Invalid value {"forking":{"blockNumber":24539564}} for HardhatConfig.networks.hardhat - Expected a value of type HardhatNetworkConfig.

To learn more about Hardhat's configuration, please go to https://hardhat.org/config/
For more info go to https://hardhat.org/HH8 or run Hardhat with --show-stack-traces PS C:\Users\ASHISH\Music\poly-flash-main\poly-flash>

Type private_key and alchemy_url values without double qoutes, then export your .env file.


How to set priors for 4-parameter limb darkening

Changing limb-darkening from quadratic to 4-parameter vastly slows the dynesty fitter compared to quadratic limb darkening, more than adding any 2 other parameters to the fit (e.g. with vs. without a/R* and inc). I suspect it is primarily driven by the poor priors I am setting on the 4 limb darkening parameters [-1,1] compared to quadratic limb darkening [0,1]. If anyone has an idea on how best to set the priors for 4-paramer limb darkening (or knows a more efficient reparemeterization for this method) I'd appreciate the help!

Fair enough, my initial attempts seem to show that quadratic limb darkening was good enough also


Get MHSDIR from environment and fix gmcabal build

I was kicking the tires on MicroHs/Cabal and found two things I could easily fix:

Get MHSDIR from environment variables (if present) to support non-global installs
Add an import so GHC can compile mcabal again

Thanks!

Thank you!


getting UNAUTHENTICATED when I called a cloud function

i have deployed a simple cloud function like this:
exports.test = functions.https.onCall( async (data, context) => {

    console.log('test');

});

When I tried to call the function in my flutter app, it keeps saying UNAUTHENTICATED from the line of error.message.
final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
  functionName: 'test',
);
dynamic resp = await callable.call().catchError((error){
  print('error :${error.code}');
  print('error :${error.message}');
  print('error :${error.details}');
});

Since i have made an authentication with Google Sign-in in the app already, May I know what is the cause of this issue?

Hi @michealchow2324
Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore
reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any
more information for us; we will reopen it right away!
Thanks for your contribution.

Hello Guys I am having the same issue.. here is my flutter doctor
I get this error,,, and the function never gets called
PlatformException(functionsError, Cloud function failed with exception., {code: UNAUTHENTICATED, details: null, message: UNAUTHENTICATED})
My Flutter doctor:
Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale en-JO)
    • Flutter version 1.12.13+hotfix.9 at /Users/mohammadbdair/development/tools/flutter
    • Framework revision f139b11009 (2 weeks ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0-rc2)
    • Android SDK at /Users/mohammadbdair/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0-rc2
    • ANDROID_HOME = /Users/mohammadbdair/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 39.0.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.44.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.9.1

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

• No issues found!

and here is my pubspec.yaml
name: shahenty_mobile_driver
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: '>=2.2.2 <3.0.0'

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  provider: ^4.0.4
  flutter_cupertino_localizations: ^1.0.1
  intl: ^0.16.0
  intl_translation: ^0.17.7
  scoped_model: ^1.0.1
  firebase_core: ^0.4.4+2
  firebase_auth: ^0.15.5+3
  cloud_firestore: ^0.13.4+2
  firebase_analytics: ^5.0.11
  cloud_functions: ^0.4.1+6
  firebase_messaging: ^6.0.13
  flutter_app_badger: ^1.1.2
  rxdart: ^0.23.1
  timeago: ^2.0.26
  google_fonts: ^0.3.10
  flutter_form_builder: ^3.8.1
  convex_bottom_bar: ^2.1.1

dev_dependencies:
  flutter_test:
    sdk: flutter
dependency_overrides:
  intl: ^0.16.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:
  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true
  # To add assets to your application, add an assets section, like this:
  assets:
   - lang/en.json
   - lang/ar.json
   - assets/images/logo.png
  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.
  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages
  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so it's always better to open new issues and reference related issues.


cheap optical flow subsampler

cv2 based cheap optical flow subsampler to detect optical flow in downloaded videos

TODO

[ ] implement initial optical flow detection on entire video
[ ] determine how to reconcile optical flow detection with cut detection: do we apply this subsampler to each detected cut? ideally this detector runs on contiguous streams of video, so it might be wise to iterate over all detected cuts and apply this subsampler to each cut.
[ ] finish implementing all desired functionalities
[ ] implement unit tests
[ ] implement benchmark
[ ] if possible, speed this thing up! (It's very slow)


Scroll position is not being preserved when switching between tabs with OmniSharp Intellisense working

VS code version 1.18
When switching between tabs the scroll position of each tab is changing. Cursor position stays correct.
Type of files: c# . "OmniSharp Intellisense"  is enabled.
How to reproduce:
open several c# files with at least 3 full page scrolls each, have  "OmniSharp Intellisense" extension enabled(you should see reference injections appear)  and switch between files using ether tabs on top or picking files from "open editors". You will see scroll position will change on each switch.
My guess:
Some funky thing going on during Omnisharp Intellisense reference injection. See screenshot

Sounds like an issue with CodeLense.

Dup of https://github.com/Microsoft/vscode/issues/32397, let's track it there.


no data view - applied to My Claims and My Communities

Maybe we will need to add an image to the NoData exported attributes


Partially supported miner found: BM1370

The BM1370 is a new Bitaxe Gamma. API is the same as other BItaxes as it is running same OS. ASIC reports as BM1370, though.

Should be good to go in 0.63.0.


Can we support ligatures?

Issue created from code comment with imdone.io

TODO:  Can we support ligatures? id:114
src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts:303
@imdone - Efficiently manage your project's technical debt. imdone.io

Issue closed by removing a comment.

TODO:  Can we support ligatures? id:114 gh:150
src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts:303
@imdone - Efficiently manage your project's technical debt. imdone.io


ENH: add musllinux_x86_64 binary wheels

Closes #1996

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 87.946%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
2590

Relevant Lines:
2945

💛  - Coveralls

Quickly looking at the logs, when it starts with the musllinux docker image, I see:
Running before_all...

      + /opt/python/cp38-cp38/bin/python -c 'import sys, json, os; json.dump(os.environ.copy(), sys.stdout)'
      + sh -c ./ci/install_geos.sh
  /project /project
  Using cached install /host/home/runner/work/_temp/geos-3.11.4
  /project

So it's not rebuilding GEOS in the musllinux image, which seems problematic. We probably need some logic in install_geos.sh to avoid doing that (include the architecture in the path?)

The primary issue that I see that libgeos is built (and cached) using the github runner image, while cibuildwheel uses a different image. These images have different libraries, and are incompatible with each other.

I'm having some good success using custom linux images that I've published as packages. For example:
# docker build -t ghcr.io/shapely/musllinux_1_1_x86_64_geos:3.12.2 --build-arg GEOS_VERSION=3.12.2 musllinux_1_1_x86_64
# docker run -it --rm ghcr.io/shapely/musllinux_1_1_x86_64_geos:3.12.2

FROM quay.io/pypa/musllinux_1_1_x86_64:latest

ARG GEOS_VERSION=local
ENV GEOS_VERSION=${GEOS_VERSION}

RUN curl -OL --retry 5 https://download.osgeo.org/geos/geos-$GEOS_VERSION.tar.bz2
RUN tar xfj geos-$GEOS_VERSION.tar.bz2 && rm geos-$GEOS_VERSION.tar.bz2
RUN cmake -DCMAKE_BUILD_TYPE=Release -S geos-$GEOS_VERSION -B build
RUN cmake --build build -j 4
RUN cmake --install build
RUN cd build && ctest --output-on-failure
RUN rm -rf build geos-$GEOS_VERSION

I also have success with aarch64 via emulation, so have updated the circleCI configuration.
I'm able to push these images into GitHub packages/containers here although they are currently "private", as I don't have necessary permissions to make them public. @jorisvandenbossche (or @sgillies) are you able to review and enable? The Dockerfiles for the images can be put into a subrepo too, which would be linked to the packages. But again, I don't have the credentials to create new repos.

Good news, the linux binary wheels look good! I'm using my personal containers at ghcr.io/mwtoews for now, but I'd prefer to see ghcr.io/shapely be used for this PR when ready.
Bad news, some unrelated issue appears to have broken the macos-14 builds.

@mwtoews @jorisvandenbossche I'll make the images public and then tick the "public" option here if that's okay with you.

@mwtoews will try to take a closer look tomorrow, but just a quick note that in the pyogrio wheel building workflow, we build and cache custom images in github actions using docker/build-push-action, without the need to manually push some images somewhere.

Thanks for pointing me to pyogrio's approach @jorisvandenbossche ! I see a similar approach could be used, which is much simpler with only libgeos to bundle.

Yes, indeed for pyogrio the dockerfiles are quite complicated because it needs to build GDAL, as you showed above a customized manylinux dockerfile for adding GEOS can be simpler.

Superseded by #2107


node tests: Use make_stub instead of with_stub everywhere.

This replaces all with_stub calls to explicitly user make_stub instead.

FYI on the commit message:

“Depreciate” means to decrease in monetary value over time.
“Deprecate” means to discourage the use of an API without (yet) removing it.

Neither of these is what you mean here. You mean “remove”.

Ah, thanks for pointing that out! Fixed in the last push.


Firebase deployment

Fixes #35

@breznak @jefffohl See https://nupic-viz.firebaseapp.com/

Heroku is not the best for static file hosting.

Because Heroku will put the app to sleep after a certain amount of inactivity?

@rhyolight really cool, thanks! :sunglasses: Exactly what I've wanted.
Btw, can we change the name to nupic-visualizations for now? To match with the proj. name. Is it really just a change to the json, no account needed?

https://nupic-visualizations.firebaseapp.com/

Matt Taylor
OS Community Flag-Bearer
Numenta
On Thu, Dec 10, 2015 at 1:04 PM, breznak<EMAIL_ADDRESS>wrote:

@rhyolight https://github.com/rhyolight really cool, thanks! [image:
:sunglasses:] Exactly what I've wanted.
Btw, can we change the name to nupic-visualizations for now? To match
with the proj. name. Is it really just a change to the json, no account
needed?
—
Reply to this email directly or view it on GitHub
https://github.com/nupic-community/nupic.visualizations/pull/37#issuecomment-163748767
.

This will be great for presentations! :clap:


Verrifier non-ephemeral possibility

Hi all, though that doesn't look like many.
Can someone please address these questions:
https://github.com/corona-warn-app/cwa-documentation/issues/615

Hi, the question has already been answered, isn't it?

Hi Julia,
Not really, but I have since learned that I can just use the existing yellow vaccination booklet, so feel free to close.

Ok, thank you for your answer!


MissingPluginException(No implementation found for method getUsersInfo on channel

Problem description: After starting the front-end service, the native platform channel cannot be accessed
Problem details: After starting the front-end service, my platform channel seems to have failed, and I am unable to call platform methods, prompting an error as shown in the title. I checked similar problems in the problem list, for example, calling DartPluginRegister.ensureInitialized() in onStart; It didn't solve my problem.
Flutter version: 3.3.10
Plugin version: Flutter_ foreground_ task 4.1.0
I am running sample code

When starting a foreground service from the background, the app does not create an Activity.
Therefore, the app does not call it from onCreate of the Activity class.
Initialize the MethodChannel in the configureFlutterEngine function instead of the onCreate function.
class MainActivity : FlutterFragmentActivity(), MethodCallHandler {
    private lateinit var methodChannel: MethodChannel

    override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
        super.configureFlutterEngine(flutterEngine)
        val binaryMessenger = flutterEngine.dartExecutor.binaryMessenger

        GeneratedPluginRegistrant.registerWith(flutterEngine)
        methodChannel = MethodChannel(binaryMessenger, "com.example.test.method")
        methodChannel.setMethodCallHandler(this@MainActivity)
    }

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        // methodChannel = MethodChannel(binaryMessenger, "com.example.test.method")
        // methodChannel.setMethodCallHandler(this@MainActivity)
    }
}

I have the same problem

Did you guys found a salutation or a work around?  I have the same issue.
I think the issue is that s MethodChannel is not compatable with the flutter background service

First, you need at least Flutter 3.7 in order to use background channels from isolates (which is quite old now, so it shouldn't be a problem, but 3.3 was already outdated even back in May). Second, you need to have the channel set up on the platform side as well. Are you sure it's up and running? It doesn't need to be in a third-party plugin, it can be in your own platform code.

@Dev-hwang However, there's another, related problem. While the above works for any outside plugin that you call from your app, it doesn't work for a plugin that's inside your app. And I spent a day or so to find out why, without success so far—I fail to see what might be that different depending on whether the plugin is inside or outside. As you use quite a few tricks when setting up the ForegroundService, you might happen to have an idea, I hope. I attach a small repro, the usual Flutter template with your plugin added, the FAB starts the service and tries to call the platform on startup. This doesn't get through while the normal call earlier, not yet from the service, does.
As you can see, it does call BackgroundIsolateBinaryMessenger.ensureInitialized() (and the other two, commented out, no matter how you experiment with those, they don't help). Being an internal plugin, it doesn't get listed in GeneratedPluginRegistrant, so it's added manually from MainActivity. In all other respects, it's a correct, standard, well-behaving plugin.
foreground_test.zip

I had the same problem. When the service starts, the "onAttachedToEngine" of the other plugin is called. Later, when the service stops, the "onDetachedFromEngine" of the other plugin is called. Later, a MissingPluginException will occur when you try to use a detached plugin

If you use the up-to-date Flutter version, 3.7 or later, it works out of the box. The only problem I can find is, as I described above, if you try to use an internal plugin in your own app. Using the usual, external plugins seems to work just fine.
I'm investigating the internal problem actively, though, because I need it very much.

@n305225282 I went straight to the Flutter Discord channel where the actual framework and engine developers hang out (https://discord.com/channels/608014603317936148/608021010377080866/1189518790829023272, https://discord.com/channels/608014603317936148/608021234516754444/1189347409206202458) and started to enumerate what I have already found out.
As I can see it now, but this is very much a moving target, our foreground services are not background isolates as far as the Flutter engine is concerned. This means (as I also found this while experimenting) that BackgroundIsolateBinaryMessenger.ensureInitialized() isn't even required, it doesn't make any difference actually, calling from the service doesn't use the BackgroundIsolateBinaryMessenger at all, it uses the regular, non-background channel mechanism instead.
If this still works this way, well, it's more or less irrelevant for the users of the plugin, of course. What I still struggle with is my internal plugin that I couldn't yet make function through the channel.

@n305225282 The reason was, very probably, successfully identified by one of the Flutter developers, so I'll start modifying this plugin to add the required steps. It should become a PR in the end.
But this only applies to the communication to your own platform code inside the app. Simply using plugins from your foreground service already works without issues.

check flutter_foreground_task_example


[Bug] Custom Preset for Watch ENco

Current Behavior
I created a preset, that I verified works by using it manually called "General/Fast1080p30h265".  I just took the regular one of that name, and checked the h265 codec.  I can encode files with that codec manually fine.  When I drop a file in the watch folder I get this error:
Invalid preset "/General/Fast1080p30h265"
I've tried "General/Fast1080p30h265" and just "Fast1080p30h265" with no luck.
If I go into the container and have it do a preset-list after importing the preset json file I get this:
General/
Fast1080p30h265
H.265 video (up to 1080p30) and AAC stereo audio, in an MP4
container.
So I know it's in there.  While I'm in the docker file I can run this and it will encode the file:
/usr/bin/HandBrakeCLI --preset-import-file /config/ghb/presets.json
-i /watch/009_re_cyborg_2012.mp4
-o /output/.NihxQs/009_re_cyborg_2012.mp4
--title 1 --preset "/General/Fast1080p30h265"
Expected Behavior
I expect the files to be placed in the watch directory and it do an h265 encoding to the output directory.
Steps To Reproduce
I place the 009 file into the watch directory, and I get a failure to encode.
Environment

OS:Ubuntu
OS version:22.04.3 LTS
CPU:Intel(R) Xeon(R) CPU E7-4850 v3 @ 2.20GHz
Docker version:Docker version 20.10.25, build 20.10.25-0ubuntu1~22.04.1
Device model:VM on proxmox
Browser/OS:Version 1.57.57 Chromium: 116.0.5845.163 (Official Build) (64-bit) BRAVE / Windows 10

Container creation
version: '3.4'
services:
handbrake:
image: jlesage/handbrake
ports:
- "5800:5800"
environment:
- TZ=America/Chicago
- AUTOMATED_CONVERSION_PRESET="/General/Fast1080p30h265"
volumes:
- "/home/ansible/handbrake/config:/config:rw"
- "/opt/md2/handbrake/output:/output:rw"
- "/opt/md2/handbrake/storage:/storage:ro"
- "/opt/md2/handbrake/trash:/trash:rw"
- "/opt/md2/handbrake/watch:/watch:rw"
Container log
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 54-check-optical-drive.sh: executing...
[cont-init   ] 54-check-optical-drive.sh: looking for usable optical drives...
[cont-init   ] 54-check-optical-drive.sh: found optical drive /dev/sr0, but it is not usable because is not exposed to the container.
[cont-init   ] 54-check-optical-drive.sh: no usable optical drive found.
[cont-init   ] 54-check-optical-drive.sh: terminated successfully.
[cont-init   ] 54-check-qsv.sh: executing...
[cont-init   ] 54-check-qsv.sh: Processor: Intel(R) Xeon(R) CPU E7-4850 v3 @ 2.20GHz
[cont-init   ] 54-check-qsv.sh: Intel Quick Sync Video not supported: device directory /dev/dri not exposed to the container.
[cont-init   ] 54-check-qsv.sh: terminated successfully.
[cont-init   ] 54-check-trash-dir.sh: executing...
[cont-init   ] 54-check-trash-dir.sh: terminated successfully.
[cont-init   ] 55-handbrake.sh: executing...
[cont-init   ] 55-handbrake.sh: core dump file location: |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E
[cont-init   ] 55-handbrake.sh: core dump file size: unlimited (blocks)
[cont-init   ] 55-handbrake.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           HandBrake                                     │
    │ Application Version:   1.6.1                                         │
    │ Docker Image Version:  23.06.1                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'logrotate'...
[supervisor  ] loading service 'autovideoconverter'...
[supervisor  ] all services loaded.
[supervisor        ] starting services...
[supervisor        ] starting service 'xvnc'...
[xvnc              ] Xvnc TigerVNC 1.13.1 - built May 16 2023 18:07:02
[xvnc              ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc              ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc              ] Underlying X server release 12014000
[xvnc              ] Wed Sep  6 19:55:56 2023
[xvnc              ]  vncext:      VNC extension running!
[xvnc              ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc              ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc              ]  vncext:      created VNC server for screen 0
[supervisor        ] starting service 'nginx'...
[nginx             ] Listening for HTTP connections on port 5800.
[supervisor        ] starting service 'openbox'...
[supervisor        ] starting service 'app'...
[supervisor        ] starting service 'autovideoconverter'...
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Skipping '/watch/5_centimeters_per_second_2007.m4v' (c226569e98698e60beea980f454ad857): already processed with failure.
[autovideoconverter] Watch folder '/watch' processing terminated.
[supervisor        ] all services started.
[xvnc              ] Wed Sep  6 19:56:04 2023
[xvnc              ]  Connections: accepted: /tmp/vnc.sock
[xvnc              ] Wed Sep  6 19:56:05 2023
[xvnc              ]  SConnection: Client needs protocol version 3.8
[xvnc              ]  SConnection: Client requests security type None(1)
[xvnc              ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc              ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
[app               ] libdvdread: Can't open file VIDEO_TS.IFO.
[app               ] libdvdread: Can't open file VIDEO_TS.IFO.
[autovideoconverter] Change detected in watch folder '/watch'.
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Waiting 5 seconds before processing '/watch/5_centimeters_per_second_2007.m4v'...
[autovideoconverter] Starting conversion of '/watch/5_centimeters_per_second_2007.m4v' (c226569e98698e60beea980f454ad857) using preset '"/General/Fast1080p30h265"'...
[autovideoconverter] 1 title(s) to process.
[autovideoconverter] Conversion failed.
[autovideoconverter] For more details about the failure, see /config/log/hb/conversion.log.
[autovideoconverter] Waiting 5 seconds before processing '/watch/a_silent_voice_2016.mp4'...
[autovideoconverter] Starting conversion of '/watch/a_silent_voice_2016.mp4' (a7c6276ed9634483e8821759cf2ebce3) using preset '"/General/Fast1080p30h265"'...
[autovideoconverter] 1 title(s) to process.
[autovideoconverter] Conversion failed.
[autovideoconverter] For more details about the failure, see /config/log/hb/conversion.log.
[autovideoconverter] Watch folder '/watch' processing terminated.

Container inspect
{
    "AppArmorProfile": "docker-default",
    "Args": [],
    "Config": {
        "AttachStderr": true,
        "AttachStdin": false,
        "AttachStdout": true,
        "Cmd": [
            "/init"
        ],
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "AUTOMATED_CONVERSION_PRESET=\"/General/Fast1080p30h265\"",
            "TZ=America/Chicago",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
            "ENV=/root/.docker_rc",
            "USER_ID=1000",
            "GROUP_ID=1000",
            "SUP_GROUP_IDS=",
            "UMASK=0022",
            "LANG=en_US.UTF-8",
            "KEEP_APP_RUNNING=0",
            "APP_NICENESS=0",
            "INSTALL_PACKAGES=",
            "CONTAINER_DEBUG=0",
            "DISPLAY_WIDTH=1920",
            "DISPLAY_HEIGHT=1080",
            "DARK_MODE=0",
            "SECURE_CONNECTION=0",
            "SECURE_CONNECTION_VNC_METHOD=SSL",
            "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
            "WEB_LISTENING_PORT=5800",
            "VNC_LISTENING_PORT=5900",
            "VNC_PASSWORD=",
            "ENABLE_CJK_FONT=0",
            "HANDBRAKE_DEBUG=0",
            "HANDBRAKE_GUI=1",
            "AUTOMATED_CONVERSION=1",
            "AUTOMATED_CONVERSION_FORMAT=mp4",
            "AUTOMATED_CONVERSION_SOURCE_STABLE_TIME=5",
            "AUTOMATED_CONVERSION_SOURCE_MIN_DURATION=10",
            "AUTOMATED_CONVERSION_SOURCE_MAIN_TITLE_DETECTION=0",
            "AUTOMATED_CONVERSION_KEEP_SOURCE=1",
            "AUTOMATED_CONVERSION_OUTPUT_DIR=/output",
            "AUTOMATED_CONVERSION_OUTPUT_SUBDIR=",
            "AUTOMATED_CONVERSION_OVERWRITE_OUTPUT=0",
            "AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS=",
            "AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION=ignore",
            "AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS=jpg jpeg bmp png gif txt nfo",
            "AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS=5",
            "AUTOMATED_CONVERSION_CHECK_INTERVAL=5",
            "AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS=",
            "AUTOMATED_CONVERSION_INSTALL_PKGS=",
            "AUTOMATED_CONVERSION_NO_GUI_PROGRESS=0",
            "AUTOMATED_CONVERSION_USE_TRASH=0"
        ],
        "ExposedPorts": {
            "5800/tcp": {},
            "5900/tcp": {}
        },
        "Hostname": "a1e12d3c93c1",
        "Image": "jlesage/handbrake",
        "Labels": {
            "com.docker.compose.config-hash": "0d0f1a211f69b99a1968b64af694056eadd9b5e0a90ab47574680fa1e3914ede",
            "com.docker.compose.container-number": "1",
            "com.docker.compose.depends_on": "",
            "com.docker.compose.image": "sha256:48eed0aa73b6be303891cc033a69f46ad2b180ae1f9108d59236b173487dfa28",
            "com.docker.compose.oneoff": "False",
            "com.docker.compose.project": "handbrake",
            "com.docker.compose.project.config_files": "/data/compose/38/docker-compose.yml",
            "com.docker.compose.project.working_dir": "/data/compose/38",
            "com.docker.compose.service": "handbrake",
            "com.docker.compose.version": "2.10.2",
            "org.label-schema.description": "Docker container for HandBrake",
            "org.label-schema.name": "handbrake",
            "org.label-schema.schema-version": "1.0",
            "org.label-schema.vcs-url": "https://github.com/jlesage/docker-handbrake",
            "org.label-schema.version": "23.06.1"
        },
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": {
            "/config": {},
            "/output": {},
            "/storage": {},
            "/trash": {},
            "/watch": {}
        },
        "WorkingDir": "/tmp"
    },
    "Created": "2023-09-07T00:55:54.344453066Z",
    "Driver": "overlay2",
    "ExecIDs": null,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/15ce326dc571f68a82ee6562d7dae5e78cad495163d3f7dc7eb0dfede9f03512-init/diff:/var/lib/docker/overlay2/a0025279c610d4a3969533ce39134b9e7a70865e869fd882365cee9011ec78a2/diff:/var/lib/docker/overlay2/aa5cac58032c5761f78472cb951a4d6b6aae56ec75ba3fd1dfa1285a5cced811/diff:/var/lib/docker/overlay2/f84ccf369db8ec0926f722e7b01d9f06c20d57df7a34471fd84516d2670d417c/diff:/var/lib/docker/overlay2/c74b37eabd24075e07481c4d043f22548267a4c78cbd35d944f7bd3ae8fa8c61/diff:/var/lib/docker/overlay2/32d0b14f51fed5909572f066ffb8d245ed9aeb6d90c4f3fa3d5653e06175620c/diff:/var/lib/docker/overlay2/3d16956c4fb5f3951a1516e37cc0a0ad715a40c51400a6591863cb3d8ce2d030/diff:/var/lib/docker/overlay2/9bd56e7da3c283aa949159eb153db9cbb4ce6409082b293757605a9decea70ad/diff:/var/lib/docker/overlay2/835b0e9374a6e3d0c0fbcf6943f38b5865330cd981ee64d362d0e0f1bf61cb55/diff:/var/lib/docker/overlay2/05b8290604646b811a871f0c209fbc3f43f1eea2c5dfe8094049f9bfd4a61909/diff:/var/lib/docker/overlay2/175225620c6acadfbb8529b818df3f2ed7db33367ebd0ae7fddf474a949b4691/diff:/var/lib/docker/overlay2/2fa48360cee20f7242e1853eb6621805c016584ace594c5c9fe0ac0d9c4b5a07/diff:/var/lib/docker/overlay2/5ae8631dcb4c68e27c35ba426d8967ae93201f078efaeb21af5c4d2229055493/diff:/var/lib/docker/overlay2/6a08bbb7c97c3b4fcf915238e1c0334ea0f10c2af997798752bd7e1821a67883/diff:/var/lib/docker/overlay2/703409455cf7a9240c2ed27129452c1bbb4b19c6bc2131c67bb0cda65fc9b5eb/diff:/var/lib/docker/overlay2/de0538aa82abdb3f8d2636b5e4f7a9c087ef165bdf402f204f813415843c5465/diff:/var/lib/docker/overlay2/e6aa7e1b62ff308077e83710f0a4947d76b4ae5e7f35d51dcaa25629708dbf65/diff:/var/lib/docker/overlay2/088313e64ba1195033bc15b82a0afdc429481af3922288e50813b76bebd87b38/diff:/var/lib/docker/overlay2/04b218af0a071400a2bfbdaec182bcf7140224946af6b77375142ca052b2ad98/diff:/var/lib/docker/overlay2/190ca643749633b2bcf738dee6339f71f478e0d6b56b694ada430a6755ab71f3/diff:/var/lib/docker/overlay2/b4696d9bfa841b5877abe158811323bc77a9102ab86dbff100a4d42f986036d8/diff:/var/lib/docker/overlay2/195ae3548bb03c114369bc572c181ab2cf348e6d2f8cf88d8a35e9080e0a94bd/diff:/var/lib/docker/overlay2/e2bba10270deaceccd8e96c2ea0875d206757b626d931cef85dc1a01d7c38345/diff:/var/lib/docker/overlay2/bc58569a53c2aa76b9465d5f7761d9a91bb96601f9dae35ccacd24177da43836/diff:/var/lib/docker/overlay2/cad422c6b1f0f052119a3ba70ee3d29e9fdf619f9733e6d2974b256f45ad42e4/diff:/var/lib/docker/overlay2/62035c4b7bfa25c591506ad4396182981cda257474388f05f4a3875945983de0/diff:/var/lib/docker/overlay2/b6340881eed6495a05c8ed2dc86825fced85ca0415c5866ac6b58d9f70c40b9a/diff:/var/lib/docker/overlay2/46b38d3d17652f0a3f59dbbdd91e1bbbf5dcea036f9fa3f21f4cc53df4466b44/diff:/var/lib/docker/overlay2/f2e63fe87b60ef645c896931ed4d6f0bbdd551e5ab2a679929884f86b3b378ce/diff:/var/lib/docker/overlay2/c74811c58b05ffdf4e73b8d2a5236e1128d6075fdfadb7edcf61b5869365a767/diff:/var/lib/docker/overlay2/889064fb762b7cad2b06b5219d1d32f86d22ecdf9f8808a4367bc261ee729052/diff:/var/lib/docker/overlay2/afe6ed2f34b6d2fed3f1d3af972b13cc955f734861612032d27fc39e74882c79/diff:/var/lib/docker/overlay2/2f912f017acde931bb84ce7788907fc8d9654dd569e9ada3530cf471098069c5/diff:/var/lib/docker/overlay2/75d9e2c044bb4ceecb98565868e426463a3bcc458830d0a7683146a80e20cfe1/diff:/var/lib/docker/overlay2/ffed3cee4adc11a5434609935804fd32634269aeba70f9306b162952afd605a6/diff",
            "MergedDir": "/var/lib/docker/overlay2/15ce326dc571f68a82ee6562d7dae5e78cad495163d3f7dc7eb0dfede9f03512/merged",
            "UpperDir": "/var/lib/docker/overlay2/15ce326dc571f68a82ee6562d7dae5e78cad495163d3f7dc7eb0dfede9f03512/diff",
            "WorkDir": "/var/lib/docker/overlay2/15ce326dc571f68a82ee6562d7dae5e78cad495163d3f7dc7eb0dfede9f03512/work"
        },
        "Name": "overlay2"
    },
    "HostConfig": {
        "AutoRemove": false,
        "Binds": [
            "/home/ansible/handbrake/config:/config:rw",
            "/opt/md2/handbrake/output:/output:rw",
            "/opt/md2/handbrake/storage:/storage:ro",
            "/opt/md2/handbrake/trash:/trash:rw",
            "/opt/md2/handbrake/watch:/watch:rw"
        ],
        "BlkioDeviceReadBps": null,
        "BlkioDeviceReadIOps": null,
        "BlkioDeviceWriteBps": null,
        "BlkioDeviceWriteIOps": null,
        "BlkioWeight": 0,
        "BlkioWeightDevice": null,
        "CapAdd": null,
        "CapDrop": null,
        "Cgroup": "",
        "CgroupParent": "",
        "CgroupnsMode": "private",
        "ConsoleSize": [
            0,
            0
        ],
        "ContainerIDFile": "",
        "CpuCount": 0,
        "CpuPercent": 0,
        "CpuPeriod": 0,
        "CpuQuota": 0,
        "CpuRealtimePeriod": 0,
        "CpuRealtimeRuntime": 0,
        "CpuShares": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "DeviceCgroupRules": null,
        "DeviceRequests": null,
        "Devices": null,
        "Dns": null,
        "DnsOptions": null,
        "DnsSearch": null,
        "ExtraHosts": [],
        "GroupAdd": null,
        "IOMaximumBandwidth": 0,
        "IOMaximumIOps": 0,
        "IpcMode": "private",
        "Isolation": "",
        "KernelMemory": 0,
        "KernelMemoryTCP": 0,
        "Links": null,
        "LogConfig": {
            "Config": {},
            "Type": "json-file"
        },
        "MaskedPaths": [
            "/proc/asound",
            "/proc/acpi",
            "/proc/kcore",
            "/proc/keys",
            "/proc/latency_stats",
            "/proc/timer_list",
            "/proc/timer_stats",
            "/proc/sched_debug",
            "/proc/scsi",
            "/sys/firmware"
        ],
        "Memory": 0,
        "MemoryReservation": 0,
        "MemorySwap": 0,
        "MemorySwappiness": null,
        "NanoCpus": 0,
        "NetworkMode": "handbrake_default",
        "OomKillDisable": null,
        "OomScoreAdj": 0,
        "PidMode": "",
        "PidsLimit": null,
        "PortBindings": {
            "5800/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "5800"
                }
            ]
        },
        "Privileged": false,
        "PublishAllPorts": false,
        "ReadonlyPaths": [
            "/proc/bus",
            "/proc/fs",
            "/proc/irq",
            "/proc/sys",
            "/proc/sysrq-trigger"
        ],
        "ReadonlyRootfs": false,
        "RestartPolicy": {
            "MaximumRetryCount": 0,
            "Name": ""
        },
        "Runtime": "runc",
        "SecurityOpt": null,
        "ShmSize": 67108864,
        "UTSMode": "",
        "Ulimits": null,
        "UsernsMode": "",
        "VolumeDriver": "",
        "VolumesFrom": null
    },
    "HostnamePath": "/var/lib/docker/containers/a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd/hostname",
    "HostsPath": "/var/lib/docker/containers/a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd/hosts",
    "Id": "a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd",
    "Image": "sha256:48eed0aa73b6be303891cc033a69f46ad2b180ae1f9108d59236b173487dfa28",
    "LogPath": "/var/lib/docker/containers/a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd/a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd-json.log",
    "MountLabel": "",
    "Mounts": [
        {
            "Destination": "/config",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/home/ansible/handbrake/config",
            "Type": "bind"
        },
        {
            "Destination": "/output",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/opt/md2/handbrake/output",
            "Type": "bind"
        },
        {
            "Destination": "/storage",
            "Mode": "ro",
            "Propagation": "rprivate",
            "RW": false,
            "Source": "/opt/md2/handbrake/storage",
            "Type": "bind"
        },
        {
            "Destination": "/trash",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/opt/md2/handbrake/trash",
            "Type": "bind"
        },
        {
            "Destination": "/watch",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/opt/md2/handbrake/watch",
            "Type": "bind"
        }
    ],
    "Name": "/handbrake-handbrake-1",
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "",
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "",
        "Networks": {
            "handbrake_default": {
                "Aliases": [
                    "handbrake-handbrake-1",
                    "handbrake",
                    "a1e12d3c93c1"
                ],
                "DriverOpts": null,
                "EndpointID": "a52d4e63c9bc13c6ca42f1c62e72d252b5ab069dd08932e7e29691260932f6e7",
                "Gateway": "<IP_ADDRESS>",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "IPAMConfig": null,
                "IPAddress": "<IP_ADDRESS>",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "Links": null,
                "MacAddress": "02:42:ac:16:00:02",
                "NetworkID": "4a90682f7a2e9369e85a391c1f59e87b6dbd185c4684d2503c49f05d6272cb24"
            }
        },
        "Ports": {
            "5800/tcp": [
                {
                    "HostIp": "<IP_ADDRESS>",
                    "HostPort": "5800"
                },
                {
                    "HostIp": "::",
                    "HostPort": "5800"
                }
            ],
            "5900/tcp": null
        },
        "SandboxID": "2f13e6e2d7e8ca66260df34f3fc43da11c4982f3018b08be605ea22b5213cef8",
        "SandboxKey": "/var/run/docker/netns/2f13e6e2d7e8",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },
    "Path": "/init",
    "Platform": "linux",
    "Portainer": {
        "ResourceControl": {
            "Id": 34,
            "ResourceId": "6_handbrake",
            "SubResourceIds": [],
            "Type": 6,
            "UserAccesses": [],
            "TeamAccesses": [],
            "Public": false,
            "AdministratorsOnly": true,
            "System": false
        }
    },
    "ProcessLabel": "",
    "ResolvConfPath": "/var/lib/docker/containers/a1e12d3c93c10d2d45ad2773dd7c1c1a052ce67f9153fe81fb75eed689e04efd/resolv.conf",
    "RestartCount": 0,
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 0,
        "FinishedAt": "0001-01-01T00:00:00Z",
        "OOMKilled": false,
        "Paused": false,
        "Pid": 2589,
        "Restarting": false,
        "Running": true,
        "StartedAt": "2023-09-07T00:55:55.138593817Z",
        "Status": "running"
    }
}

Anything else?
No response

Can you share the log of a failed conversion from /config/log/hb/conversion.log ?

conversion.log
The conversion says "Invalid preset"
presets.json.txt
But the auto system adds the preset loading in the command line right?
"PresetName": "Fast1080p30h265",
And it's defined.

The provided conversion log is empty...
In this log, the presets should be listed.  You should make sure the configured preset name matches one listed.

Took a bit for me to get back around to this:
conversion.log
Again, the error is showing invalid preset, but when I run it manually, the preset is there and works through the web interface.

Looks you you have duplicated preset categories.  From the UI, try to save your preset under a new/different category and adjust AUTOMATED_CONVERSION_PRESET accordingly.

conversion.log
failed_conversions.txt
I created a custom category, and changed the name of the profile.  Saved it.. made it default, tried using the watch directory again with the attached results.

Not sure what is the problem.
I tried on my side and it works.  I created a custom preset like you:

I created the container with the AUTOMATED_CONVERSION_PRESET=custom/1080p30h265 variable.
And the automatic video converter did use and find the preset correctly:
[autovideoconverter] Starting conversion of '/watch/sample-mp4-file.mp4' (bfc447b62494415e1291da1614bf64e5) using preset 'custom/1080p30h265'...
[autovideoconverter] 1 title(s) to process.
[autovideoconverter] Encoding /watch/sample-mp4-file.mp4: task 1 of 1, 99.95 %
[autovideoconverter] Conversion ended successfully.

Did I do the same thing as you ?

Here is my docker-compose.yml for it:
version: '3.4'
services:
handbrake:
image: jlesage/handbrake
ports:
- "5800:5800"
environment:
- TZ=America/Chicago
- AUTOMATED_CONVERSION_PRESET="custom/1080p30h265"
volumes:
- "/home/ansible/handbrake/config:/config:rw"
- "/opt/md2/handbrake/output:/output:rw"
- "/opt/md2/handbrake/storage:/storage:ro"
- "/opt/md2/handbrake/trash:/trash:rw"
- "/opt/md2/handbrake/watch:/watch:rw"
I am doing this right??

I just ran into this exact issue. Taking away the AUTOMATED_CONVERSION_FORMAT seemed to fix it. But then it wouldn't ever write a .mkv.... still working through this issue.

bump  Is it my docker compose that's wrong?


Please integrate classmates.com share

All my friends are on classmates.com and I'd really like to share my drudge report articles with them. THANK YOU!!!

Troll.


[BUG] [REGRESSION] TS2612 - Property 'ID' will overwrite the base property in '_cuidAspect (v0.23.0)

Is there an existing issue for this?

[X] I have searched the existing issues

Nature of Your Project
TypeScript
Current Behavior
As of release v0.23.0 generated types using cuidAspect produce TS2612 errors. (strict tsconfig)
This issue might be closely related to #273.

The fix however is different, in the compilerOptions you need to disable useDefineForClassFields.
{
  "ts-node": {
    "files": true
  },
  "compilerOptions": {
    "paths": {
      "#cds-models/*": [
        "./@cds-models/*"
      ]
    },
    "rootDir": "./",
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "sourceMap": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitOverride": false,
    "skipLibCheck": true,
    "useDefineForClassFields": false
  }
}

Expected Behavior
The generated types not to produce errors in strict mode
Steps To Reproduce
No response
Environment
@cap-js/asyncapi: 1.0.1
@cap-js/cds-typer: 0.23.0
@cap-js/openapi: 1.0.4
@cap-js/sqlite: 1.7.3
@sap/cds: 7.9.3
@sap/cds-common-content: 1.4.0
@sap/cds-compiler: 4.9.6
@sap/cds-dk: 7.9.5
@sap/cds-dk (global): 8.0.2
@sap/cds-fiori: 1.2.7
@sap/cds-foss: 5.0.1
@sap/cds-hana: 2.0.0
@sap/cds-mtxs: 1.18.2
@sap/eslint-plugin-cds: 2.7.0
Node.js: v20.14.0

Repository Containing a Minimal Reproducible Example
No response
Anything else?
No response

Thank you @geert-janklaps for the mentioned fix.
Had the same issue:
_error TS2612: Property 'createdAt' will overwrite the base property in 'managedAspect.managed & object'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.
@cap-js/asyncapi: 1.0.2
@cap-js/cds-typer: 0.24.0
@cap-js/cds-types: 0.6.3
@cap-js/openapi: 1.0.4
@cap-js/postgres: 1.9.1
@cap-js/sqlite: 1.7.3
@sap/cds: 8.0.4
@sap/cds-compiler: 5.0.6
@sap/cds-dk (global): 8.0.3
@sap/cds-fiori: 1.2.7
@sap/cds-foss: 5.0.1
@sap/cds-mtxs: 2.0.3
@sap/eslint-plugin-cds: 3.0.4
Node.js: v20.15.1

Hi Geert-Jan,
thanks for reporting this issue!
I am unable to reproduce the issue with the information I have so far.
With the following tsconfig.json:
{
"compilerOptions": {
  "paths": {
    "#cds-models/*": [
      "./@cds-models/*"
    ]
  },
  "rootDir": "./",
  "target": "ESNext",
  "module": "NodeNext",
  "moduleResolution": "NodeNext",
  "sourceMap": true,
  "esModuleInterop": true,
  "forceConsistentCasingInFileNames": true,
  "strict": true,
  "noImplicitOverride": false,
  "skipLibCheck": true,
  "useDefineForClassFields": true
}
}

and this minimal model:
using { cuid } from '@sap/cds/common';
namespace my.bookshop;

entity Book: cuid {
    key ID : Integer;
    title : String;
    author : String;
    stock : Integer;
    price : Decimal(9,2);
}

I am running tsc (5.5.4) in my project root and I do not see any errors and the transpiler emits .js files just fine.
Could you please expand your sample with a minimal model I can reproduce the issue with? Thanks!
Best,
Daniel

I can support here as well as I also had this issue.
Steps to reproduce
cds init typerbug cds add typescript npm install
Now add the following schema.cds to your db folder
`
using {managed} from '@sap/cds/common';
namespace typer.bug;
entity ManagedEntity : managed {
key id        : UUID;
something : String(15);
}
`
Now create a service.cds in the srv folder
`using {typer.bug as service} from '../db/schema';
service ManagedService {
entity ManagedEntity as projection on service.ManagedEntity;
}`
Run build
cds-ts build
Output
 Error: @cds-models/ManagedService/index.ts(7,5): error TS2612: Property 'createdAt' will overwrite the base property in '_managedAspect<TBase>.managed & object'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration. @cds-models/ManagedService/index.ts(11,5): error TS2612: Property 'createdBy' will overwrite the base property in '_managedAspect<TBase>.managed & object'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration. @cds-models/ManagedService/index.ts(12,5): error TS2612: Property 'modifiedAt' will overwrite the base property in '_managedAspect<TBase>.managed & object'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration. @cds-models/ManagedService/index.ts(16,5): error TS2612: Property 'modifiedBy' will overwrite the base property in '_managedAspect<TBase>.managed & object'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.

Hi Christian,
thanks for adding the reproduction steps! I can now see the error and will look into it.
Best,
Daniel

Hi @daogrady ,
thank you for providing a potential fix.
How would I be able to test it 😓 😄 ?

Hi Christian,
sorry, I forgot to attach the relevant wiki page.
Best,
Daniel

@daogrady I try to do it this week.

Hi Christian,
sorry to hear and hope you recover quickly! 😕 I have merged the fix in question for a related problem. So I will for now assume the problem is fixed (with the next release). If you notice the problem resurfacing, feel free to reopen this issue.
Best,
Daniel


Add Uninstall functionality to appstore [4-6 hrs]

Same issue created here
https://github.com/elimu-ai/appstore/issues/106


WCF Client/CoreWCF extension packages to use Azure Queue Storage as transport

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.
This PR replaces #38291
This PR depends on #42123. It's included as an additional commit in this PR but I would like to keep them separate to keep the change history easier to follow.

API change check
API changes are not detected in this pull request.

/az run

/azp run

The only failure seems to be a link verifying step which is attempting to fetch https://azure.microsoft.com/free/dotnet/ from our documentation and is timing out. Trying to hit the same url in a browser works fine though. And this same url is referenced in other documentation. @jsquire, @weshaggard, any thoughts about what to do about this error?

@mconnew that doc link isn't the real failure in the log see: https://dev.azure.com/azure-sdk/public/_build/results?buildId=3681509&view=logs&j=bc67675d-56bf-581f-e0a2-208848ba68ca&t=480ecc96-5c8f-5bc8-1dbc-f6f32b953559&l=48 which points to some cs file that isn't found.

@weshaggard, I'm still getting a build error on the links. I followed the link guidance the build points to and temporarily placed the link inside an html comment, but it's still not happy.

/azp run prepare-pipelines

/azp run net - extensions - wcf - ci

/azp run net - extensions - wcf - tests

The build failed because an unrelated test in a different project failed. The failing test is Azure.Storage.DataMovement.Tests.TransferValidationTests.LargeSingleFile_Fail_Destination(Download,Sequential).

The build failed because an unrelated test in a different project failed. The failing test is Azure.Storage.DataMovement.Tests.TransferValidationTests.LargeSingleFile_Fail_Destination(Download,Sequential).

I kicked that specific leg to avoid running the entire Core suite again.

@jsquire I had to push an update as there was a merge conflict and needed to rebase. Nothing changed other than to resolve the merge conflict in Packages.Data.Props. Once the PR is successful, please merge when you can.

This failed again on unrelated tests. This time there are two tests with the name Champion_OneShotUpload that failed with a TimeoutException on Ubuntu.

This failed again on unrelated tests. This time there are two tests with the name Champion_OneShotUpload that failed with a TimeoutException on Ubuntu.

Welcome to the fun of the Azure.Core pipeline - where flaky tests from unrelated packages add some spice to your day.    I'll kick and run them again.

/check-enforcer override

Failure is a flaky test from a library not impacted by these changes which is exceeding the global test timeout.  Unfortunately, because the failure is triggered in test infrastructure, there isn't an indication in the stack trace which library this belongs to, causing difficulty to marking it to be ignored and filing an issue.
Merging these changes.


Fix Rails 7.0/.1 version constraints

…upgrade, and commit Rails 7.0 lock file.
The previous version constraints were overly permissive and would result
in an upgrade to the latest Rails 7.x release.

@oldmoe Submitted too soon so converted back to a draft.


Simulator doesn't show dummy GPS reading

Not sure if this really qualifies as a bug, but the Windows sim shows a dummy GPS reading when using location event listeners ( https://docs.coronalabs.com/api/event/location/index.html ). Currently Solar2DTux doesn't seem to do this.

Ok, as I am very curious, I've tested what you're talking about and yes, this is a valid bug.
What happens is that the location event is not being called through Runtime event dispatcher for some reason.
If you run this code on the Simulator you can see what I'm talking about:
local gps = function (event)
    print("Location is being called on Runtime")
end
Runtime:addEventListener("location", gps)

The print never occurs, at least on the simulator (on Linux), because the gps function is never called.
Now, the Solar2D Doc advises to check if the platform supports gps location by calling the function system.hasEventSource( "location" ). Guess what happens? It returns true, meaning the simulator should have support, when it currently doesn't.
That's the bug, basically.
Carlos HR.

Ok, as I am very curious, I've tested what you're talking about and yes, this is a valid bug.
What happens is that the location event is not being called through Runtime event dispatcher for some reason.
If you run this code on the Simulator you can see what I'm talking about:
local gps = function (event)
    print("Location is being called on Runtime")
end
Runtime:addEventListener("location", gps)

The print never occurs, at least on the simulator (on Linux), because the gps function is never called.
Now, the Solar2D Doc advises to check if the platform supports gps location by calling the function system.hasEventSource( "location" ). Guess what happens? It returns true, meaning the simulator should have support, when it currently doesn't.
That's the bug, basically.
Carlos HR.


Develop the Content-Based Filtering Recommender.

Develop the Content Based Filtering Recommender based on this Article;
http://irserver.ucd.ie/dspace/bitstream/10197/1893/1/sp145-phelan.pdf

+1


Possible to start new election round for finished elections

go to an election that already took place. Its phase is therefore "Finished"
click on "new ballot"

result: a new ballot is started. This must be impossible because after an election has been finished be the assembly leaders it cannot be changed. For political parties this is even a restriction in the German laws for political parties.
It is OK that one can reset the state from "Voting" to "Searching for candidates" because participants are allowed to enter a motion to change the voting process during the voting phase.
So to fix this bug, only the state "Finished" must not be resettable. If something went wrong one is forced to make a new election. Maybe other users of OS don't have such a strict rule. If so, there should be an option to block resetting the "Finished" phase.

Please reopen, because this is not completely fixed:

go to an election that already took place. Its phase is therefore "Finished"
go to an election round and delete it

result: the finished ballot is deleted. This must be impossible because after an election has been finished by the assembly leaders it cannot be changed. For political parties this is even a restriction in the German laws for political parties. Changing means no new ballot and also not deleting a ballot nor changing voting counts.
If changes are necessary one must reset the phase. This assures that nothing is changed mistakenly.

confirmed. Fix see #3156

Confirmed fixed.


Window startup position is out of screen

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10 Home 1709 (16299.125)
Hyper.app version: 1.4.8
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/enzy/ed9e531ec60ea28ea97596af9e13fef2
Relevant information from devtools: N/A
The issue is reproducible in vanilla Hyper.app: yes

Issue

Multiple monitors setup: Monitor 1 (left, notebook screen) beside Monitor 2 (right, external monitor).
Opened and used Hyper on the M1, then closed. Unplugged M2, opened Hyper and the app window is unreachable in the void.
The window doesn't respond to Dock to the left/right commands, but is visible in a Win+Tab overview.

%appdata%\Hyper\config.json:
{
	"windowPosition": [
		-1928,
		108
	],
	"windowSize": [
		700,
		500
	],
	"hyper": {
		"plugins": "{\"plugins\":[\"hyper-clean\"],\"localPlugins\":[]}",
		"plugin-versions": "[[\"hyper-clean\",\"1.0.2\"]]"
	}
}

After manually edited above config.windowPositon to [0, 0] the app window did appear. But that's not sustainable in everyday workflow with a notebook and an external screen.

Duplicate of #1869.