curl linking

I get on linux ubuntu
rest.cpp:(.text+0x495): undefined reference to `curl_easy_init'
curl packages were installed

Hey there. You might not be linking with libcurl? -lcurl
If you're using cmake it should link if it finds it on your machine. Alternatively, you might need the curl development library, which is distinct from the end-user library on Ubuntu. apt-get install libcurl-dev.
If neither of those work can you copy the output of the initial cmake command and the following make command? (As outlined in the readme?)
Thanks, and good luck.

I used
apt-get install libcurl4-openssl-dev
from
https://askubuntu.com/questions/78183/installing-curl-h-library
doing
make VERBOSE=1
/usr/bin/c++    -rdynamic CMakeFiles/optional_app.dir/src/app/display.cpp.o CMakeFiles/optional_app.dir/src/app/main.cpp.o  -o optional_app -lcurl -lcurses -lform liboptional.a
locate libcurl.a
/usr/lib/x86_64-linux-gnu/libcurl.a

here's the complete cmake output
-- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so   -- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.58.0")  /usr/include/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libcurl.so -- Configuring done -- Generating done -- Build files have been written to: /home/pvn/git/trade/optional/bld/googletest-download Scanning dependencies of target googletest [ 11%] Creating directories for 'googletest' [ 22%] Performing download step (git clone) for 'googletest' Cloning into 'googletest-src'... Already on 'master' Your branch is up to date with 'origin/master'. [ 33%] No patch step for 'googletest' [ 44%] Performing update step for 'googletest' Current branch master is up to date. [ 55%] No configure step for 'googletest' [ 66%] No build step for 'googletest' [ 77%] No install step for 'googletest' [ 88%] No test step for 'googletest' [100%] Completed 'googletest' [100%] Built target googletest -- Found PythonInterp: /usr/bin/python (found version "2.7.17")  -- 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   /usr/lib/x86_64-linux-gnu/libcurl.so/usr/lib/x86_64-linux-gnu/libcurses.so/usr/lib/x86_64-linux-gnu/libform.so -- Configuring done -- Generating done -- Build files have been written to: /home/pvn/git/trade/optional/bld

here's the complete cmake
`
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.58.0")
/usr/include/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcurl.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pvn/git/trade/optional/bld/googletest-download
Scanning dependencies of target googletest
[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (git clone) for 'googletest'
Cloning into 'googletest-src'...
Already on 'master'
Your branch is up to date with 'origin/master'.
[ 33%] No patch step for 'googletest'
[ 44%] Performing update step for 'googletest'
Current branch master is up to date.
[ 55%] No configure step for 'googletest'
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'
[100%] Completed 'googletest'
[100%] Built target googletest
-- Found PythonInterp: /usr/bin/python (found version "2.7.17")
-- 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
/usr/lib/x86_64-linux-gnu/libcurl.so/usr/lib/x86_64-linux-gnu/libcurses.so/usr/lib/x86_64-linux-gnu/libform.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pvn/git/trade/optional/bld
`

the extra output was because I changed the Cmake script
thanks
`
set(lib_dep ${lib_dep})
if(UNIX)
set(lib_dep ${lib_dep} ${CMAKE_THREAD_LIBS_INIT} ${CURL_LIBRARIES} ${CURSES_LIBRARIES})
endif()
message( ${lib_dep} )
target_link_libraries(
${app}
${lib_dep}
${backend}
${ui}
)
`

I had better luck doing a Windows port
and a fork at
https://github.com/pedro-vicente/optional
to build
cmake . ^
 -DCURL_INCLUDE:PATH=K:\wx\curl-7.61.0\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\include ^
 -DCURL_LIBRARY:FILE=K:\wx\curl-7.61.0\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\libcurl_a_debug.lib ^
 -DCURSES_INCLUDE:PATH=N:\PDCurses ^
 -DCURSES_LIBRARY:FILE=N:\PDCurses\wincon\pdcurses.lib

Hmm yeah. I just did a clean build from a fresh clone and it generates the build files and makes the executable just fine. I'm not on Ubuntu though, I'm using Void.
If you're still wanting the linux version to run, what about your make command output? (With VERBOSE=1) I'm really surprised it's failing to link, since your cmake output says it found the lib.
projects/optional/build2  master ✔                                                                                402d
▶ cmake ../
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Curses: /usr/lib/libcurses.so
-- Found CURL: /usr/lib/libcurl.so (found version "7.68.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tegan/projects/optional/build2/googletest-download
make[1]: Entering directory '/home/tegan/projects/optional/build2/googletest-download'
make[2]: Entering directory '/home/tegan/projects/optional/build2/googletest-download'
Scanning dependencies of target googletest
make[2]: Leaving directory '/home/tegan/projects/optional/build2/googletest-download'
make[2]: Entering directory '/home/tegan/projects/optional/build2/googletest-download'
[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (git clone) for 'googletest'
Cloning into 'googletest-src'...
Already on 'master'
Your branch is up to date with 'origin/master'.
[ 33%] No patch step for 'googletest'
[ 44%] Performing update step for 'googletest'
Current branch master is up to date.
[ 55%] No configure step for 'googletest'
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'
[100%] Completed 'googletest'
make[2]: Leaving directory '/home/tegan/projects/optional/build2/googletest-download'
[100%] Built target googletest
make[1]: Leaving directory '/home/tegan/projects/optional/build2/googletest-download'
-- Found PythonInterp: /bin/python3.8 (found version "3.8.1")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- 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
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tegan/projects/optional/build2

and builds:
projects/optional/build2  master ✗                                                                                402d ◒
▶ make
make[1]: Entering directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
Scanning dependencies of target optional
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
[  6%] Building CXX object CMakeFiles/optional.dir/src/backend/account.cpp.o
[ 12%] Building CXX object CMakeFiles/optional.dir/src/backend/oauth.cpp.o
[ 18%] Building CXX object CMakeFiles/optional.dir/src/backend/rest.cpp.o
[ 25%] Building CXX object CMakeFiles/optional.dir/src/backend/option_chain.cpp.o
/home/tegan/projects/optional/src/backend/option_chain.cpp: In member function 'std::vector<std::__cxx11::basic_string<char> > Optional::OptionChain::puts()':
/home/tegan/projects/optional/src/backend/option_chain.cpp:122:1: warning: no return statement in function returning non-void [-Wreturn-type]
  122 | }
      | ^
[ 31%] Linking CXX static library liboptional.a
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
[ 31%] Built target optional
make[2]: Entering directory '/home/tegan/projects/optional/build2'
Scanning dependencies of target optional_app
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
[ 37%] Building CXX object CMakeFiles/optional_app.dir/src/app/display.cpp.o
/home/tegan/projects/optional/src/app/display.cpp: In member function 'std::string Optional::Display::popup_get_symbol_name()':
/home/tegan/projects/optional/src/app/display.cpp:342:1: warning: no return statement in function returning non-void [-Wreturn-type]
  342 | }
      | ^
[ 43%] Building CXX object CMakeFiles/optional_app.dir/src/app/main.cpp.o
[ 50%] Linking CXX executable optional_app
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
[ 50%] Built target optional_app
make[2]: Entering directory '/home/tegan/projects/optional/build2'
Scanning dependencies of target gtest
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
[ 56%] Building CXX object googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 62%] Linking CXX static library ../../lib/libgtest.a
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
[ 62%] Built target gtest
make[2]: Entering directory '/home/tegan/projects/optional/build2'
Scanning dependencies of target gtest_main
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
[ 68%] Building CXX object googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 75%] Linking CXX static library ../../lib/libgtest_main.a
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
[ 75%] Built target gtest_main
make[2]: Entering directory '/home/tegan/projects/optional/build2'
Scanning dependencies of target optional_unit_tests
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
make[2]: Entering directory '/home/tegan/projects/optional/build2'
[ 81%] Building CXX object CMakeFiles/optional_unit_tests.dir/tests/account_tests.cpp.o
[ 87%] Building CXX object CMakeFiles/optional_unit_tests.dir/tests/oauth_tests.cpp.o
[ 93%] Building CXX object CMakeFiles/optional_unit_tests.dir/tests/rest_tests.cpp.o
[100%] Linking CXX executable optional_unit_tests
make[2]: Leaving directory '/home/tegan/projects/optional/build2'
[100%] Built target optional_unit_tests
make[1]: Leaving directory '/home/tegan/projects/optional/build2'

projects/optional/build2  master ✗                                                                                402d ◒
▶ ls -lah
total 3.2M
drwxr-xr-x 8 tegan tegan  4.0K Jun 23 23:06 .
drwxr-xr-x 9 tegan tegan  4.0K Jun 23 23:05 ..
-rw-r--r-- 1 tegan tegan   24K Jun 23 23:05 CMakeCache.txt
drwxr-xr-x 7 tegan tegan  4.0K Jun 23 23:06 CMakeFiles
-rw-r--r-- 1 tegan tegan   17K Jun 23 23:05 Makefile
drwxr-xr-x 2 tegan tegan  4.0K Jun 23 23:05 bin
-rw-r--r-- 1 tegan tegan  1.6K Jun 23 23:05 cmake_install.cmake
drwxr-xr-x 5 tegan tegan  4.0K Jun 23 23:05 googletest-build
drwxr-xr-x 4 tegan tegan  4.0K Jun 23 23:05 googletest-download
drwxr-xr-x 6 tegan tegan  4.0K Jun 23 23:05 googletest-src
drwxr-xr-x 2 tegan tegan  4.0K Jun 23 23:06 lib
-rw-r--r-- 1 tegan tegan 1008K Jun 23 23:05 liboptional.a
-rwxr-xr-x 1 tegan tegan  460K Jun 23 23:05 optional_app
-rwxr-xr-x 1 tegan tegan  1.7M Jun 23 23:06 optional_unit_tests

yes, the cmake output says it found the lib
here's
make VERBOSE=1
/usr/bin/cmake -H/home/pvn/git/trade/optional -B/home/pvn/git/trade/optional/bld --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/pvn/git/trade/optional/bld/CMakeFiles /home/pvn/git/trade/optional/bld/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/pvn/git/trade/optional/bld'
make -f CMakeFiles/optional.dir/build.make CMakeFiles/optional.dir/depend
make[2]: Entering directory '/home/pvn/git/trade/optional/bld'
cd /home/pvn/git/trade/optional/bld && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/pvn/git/trade/optional /home/pvn/git/trade/optional /home/pvn/git/trade/optional/bld /home/pvn/git/trade/optional/bld /home/pvn/git/trade/optional/bld/CMakeFiles/optional.dir/DependInfo.cmake --color=
Dependee "/home/pvn/git/trade/optional/bld/CMakeFiles/optional.dir/DependInfo.cmake" is newer than depender "/home/pvn/git/trade/optional/bld/CMakeFiles/optional.dir/depend.internal".
Dependee "/home/pvn/git/trade/optional/bld/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/pvn/git/trade/optional/bld/CMakeFiles/optional.dir/depend.internal".
Scanning dependencies of target optional
make[2]: Leaving directory '/home/pvn/git/trade/optional/bld'
make -f CMakeFiles/optional.dir/build.make CMakeFiles/optional.dir/build
make[2]: Entering directory '/home/pvn/git/trade/optional/bld'
[  6%] Building CXX object CMakeFiles/optional.dir/src/backend/account.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu  -std=gnu++1z -o CMakeFiles/optional.dir/src/backend/account.cpp.o -c /home/pvn/git/trade/optional/src/backend/account.cpp
[ 12%] Building CXX object CMakeFiles/optional.dir/src/backend/oauth.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu  -std=gnu++1z -o CMakeFiles/optional.dir/src/backend/oauth.cpp.o -c /home/pvn/git/trade/optional/src/backend/oauth.cpp
[ 18%] Building CXX object CMakeFiles/optional.dir/src/backend/rest.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu  -std=gnu++1z -o CMakeFiles/optional.dir/src/backend/rest.cpp.o -c /home/pvn/git/trade/optional/src/backend/rest.cpp
[ 25%] Building CXX object CMakeFiles/optional.dir/src/backend/option_chain.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu  -std=gnu++1z -o CMakeFiles/optional.dir/src/backend/option_chain.cpp.o -c /home/pvn/git/trade/optional/src/backend/option_chain.cpp
[ 31%] Linking CXX static library liboptional.a
/usr/bin/cmake -P CMakeFiles/optional.dir/cmake_clean_target.cmake
/usr/bin/cmake -E cmake_link_script CMakeFiles/optional.dir/link.txt --verbose=1
/usr/bin/ar qc liboptional.a  CMakeFiles/optional.dir/src/backend/account.cpp.o CMakeFiles/optional.dir/src/backend/oauth.cpp.o CMakeFiles/optional.dir/src/backend/rest.cpp.o CMakeFiles/optional.dir/src/backend/option_chain.cpp.o
/usr/bin/ranlib liboptional.a
make[2]: Leaving directory '/home/pvn/git/trade/optional/bld'
[ 31%] Built target optional
make -f CMakeFiles/optional_app.dir/build.make CMakeFiles/optional_app.dir/depend
make[2]: Entering directory '/home/pvn/git/trade/optional/bld'
cd /home/pvn/git/trade/optional/bld && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/pvn/git/trade/optional /home/pvn/git/trade/optional /home/pvn/git/trade/optional/bld /home/pvn/git/trade/optional/bld /home/pvn/git/trade/optional/bld/CMakeFiles/optional_app.dir/DependInfo.cmake --color=
Dependee "/home/pvn/git/trade/optional/bld/CMakeFiles/optional_app.dir/DependInfo.cmake" is newer than depender "/home/pvn/git/trade/optional/bld/CMakeFiles/optional_app.dir/depend.internal".
Dependee "/home/pvn/git/trade/optional/bld/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/pvn/git/trade/optional/bld/CMakeFiles/optional_app.dir/depend.internal".
Scanning dependencies of target optional_app
make[2]: Leaving directory '/home/pvn/git/trade/optional/bld'
make -f CMakeFiles/optional_app.dir/build.make CMakeFiles/optional_app.dir/build
make[2]: Entering directory '/home/pvn/git/trade/optional/bld'
[ 37%] Building CXX object CMakeFiles/optional_app.dir/src/app/display.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu -I/home/pvn/git/trade/optional/src/backend  -std=gnu++1z -o CMakeFiles/optional_app.dir/src/app/display.cpp.o -c /home/pvn/git/trade/optional/src/app/display.cpp
[ 43%] Building CXX object CMakeFiles/optional_app.dir/src/app/main.cpp.o
/usr/bin/c++   -I/home/pvn/git/trade/optional/external_libraries -I/usr/include/x86_64-linux-gnu -I/home/pvn/git/trade/optional/src/backend  -std=gnu++1z -o CMakeFiles/optional_app.dir/src/app/main.cpp.o -c /home/pvn/git/trade/optional/src/app/main.cpp
[ 50%] Linking CXX executable optional_app
/usr/bin/cmake -E cmake_link_script CMakeFiles/optional_app.dir/link.txt --verbose=1
/usr/bin/c++    -rdynamic CMakeFiles/optional_app.dir/src/app/display.cpp.o CMakeFiles/optional_app.dir/src/app/main.cpp.o  -o optional_app -lcurl -lcurses -lform liboptional.a
liboptional.a(rest.cpp.o): In function `Optional::Rest::Rest()':
rest.cpp:(.text+0x9c): undefined reference to `curl_global_init'
liboptional.a(rest.cpp.o): In function `Optional::Rest::~Rest()':
rest.cpp:(.text+0xb1): undefined reference to `curl_global_cleanup'
liboptional.a(rest.cpp.o): In function `Optional::Rest::post(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, bool)':
rest.cpp:(.text+0x121): undefined reference to `curl_easy_init'
rest.cpp:(.text+0x156): undefined reference to `curl_slist_append'
rest.cpp:(.text+0x174): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x199): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x1b4): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x1d1): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x1eb): undefined reference to `curl_easy_setopt'
liboptional.a(rest.cpp.o):rest.cpp:(.text+0x210): more undefined references to `curl_easy_setopt' follow
liboptional.a(rest.cpp.o): In function `Optional::Rest::post(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, bool)':
rest.cpp:(.text+0x25a): undefined reference to `curl_easy_perform'
rest.cpp:(.text+0x276): undefined reference to `curl_easy_cleanup'
liboptional.a(rest.cpp.o): In function `Optional::Rest::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, bool)':
rest.cpp:(.text+0x31b): undefined reference to `curl_easy_init'
rest.cpp:(.text+0x350): undefined reference to `curl_slist_append'
rest.cpp:(.text+0x36e): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x393): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x3b0): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x3ca): undefined reference to `curl_easy_setopt'
rest.cpp:(.text+0x3eb): undefined reference to `curl_easy_setopt'
liboptional.a(rest.cpp.o):rest.cpp:(.text+0x408): more undefined references to `curl_easy_setopt' follow
liboptional.a(rest.cpp.o): In function `Optional::Rest::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, bool)':
rest.cpp:(.text+0x414): undefined reference to `curl_easy_perform'
rest.cpp:(.text+0x430): undefined reference to `curl_easy_cleanup'
liboptional.a(rest.cpp.o): In function `Optional::Rest::url_encoding(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
rest.cpp:(.text+0x495): undefined reference to `curl_easy_init'
rest.cpp:(.text+0x501): undefined reference to `curl_easy_escape'
rest.cpp:(.text+0x566): undefined reference to `curl_free'
rest.cpp:(.text+0x572): undefined reference to `curl_easy_cleanup'
collect2: error: ld returned 1 exit status
CMakeFiles/optional_app.dir/build.make:124: recipe for target 'optional_app' failed
make[2]: *** [optional_app] Error 1
make[2]: Leaving directory '/home/pvn/git/trade/optional/bld'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/optional_app.dir/all' failed
make[1]: *** [CMakeFiles/optional_app.dir/all] Error 2
make[1]: Leaving directory '/home/pvn/git/trade/optional/bld'
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

but the linux build is not important, just wanted a build to see the API working
the goal is to use ASIO to make REST requests, not curl
thanks

running the app on Windows with
./optional_app <Account_id><CLIENT_ID>
where <CLIENT_ID> is the Consumer Key generated by my TD Ameritrade app, I get this message from
the handle_failed_authentication() function
Failed to load valid refresh token from disk. Please manually reauthenticate.
Steps:
1. Go to this url<EMAIL_ADDRESS>2. Authenticate with your TD Ameritrade account to approve the app.
3. The result will be a code in your address bar and a failed page load @ https://localhost. Paste entire address bar contents below:
:

but when I set that URL in a browser, I get a response from the TD website
A third-party application may be attempting to make unauthorized access to your account.

following
https://www.reddit.com/r/algotrading/comments/c81vzq/td_ameritrade_api_access_2019_guide/
I was able to get the access tokens

Yes, as per the readme oauth is broken since they changed the system after the schwab merge. This repo is out of date re: that.

Glad you got it working though! Yes it was very much experimental, and I've actually moved away from TD over to IBKR for algo stuff.
Best of luck.

TD is actually very good (not so about IBKR); but I am only using the REST interface
https://developer.tdameritrade.com/price-history/apis/get/marketdata/{symbol}/pricehistory
where the OAuth User ID is hardcoded , but generated by the method above
so, I just do this with asio
/////////////////////////////////////////////////////////////////////////////////////////////////////
//td_query
//https://developer.tdameritrade.com/price-history/apis/get/marketdata/%7Bsymbol%7D/pricehistory
//v1/marketdata/HD/pricehistory?apikey=KEY&periodType=day&period=2&frequencyType=minute&frequency=30
//v1/marketdata/XYZ/pricehistory?periodType=month&frequencyType=daily&startDate=1464148800000&endDate=1464825600000
/////////////////////////////////////////////////////////////////////////////////////////////////////

std::string td_query(const std::string& ticker,
  const std::string& periodType,
  int period,
  const std::string& frequencyType,
  int frequency,
  const std::string& startDate,
  const std::string& endDate)
{
  std::stringstream ss;

    ss << "/v1/marketdata/" << ticker << "/pricehistory?apikey=KEY"
      << "&periodType=" << periodType
      << "&frequencyType=" << frequencyType
      << "&frequency=" << frequency
      << "&startDate=" << startDate
      << "&endDate=" << endDate
      ;

the, then construct a HTTP GET with the above string as path
std::string http;
    http += "GET ";
    http += path;
    http += " HTTP/1.0\r\n";
    http += "Host: " + host;
    http += "\r\n";
    http += "Accept: */*\r\n";
    http += "Connection: close\r\n\r\n";

    asio::write(socket, asio::buffer(http, http.size()));

I'll be happy to share the code , if interested

Yeah I left TD before they dropped commissions since I got a better rate at IBKR, and now that I've moved over it's too much technical debt on my end to switch back, I think. :smile: The API at IBKR is more complicated, but also more powerful in ways. TD was quite nice though, and the JSON was easy to parse.
And yes, that looks very clean. This project actually started out as a school project for my undergrad, and grew into a trading side hobby. I went with curl because it was all I knew but AISO looks quite nice, and more in line with modern C++. I'll definitely give it a look, thanks.

curl is awful from a programmer's point of view
I recommend the ASIO standalone (header only) outside of boost
very socket level orientated, but that is good i.m.o
https://think-async.com/Asio/
for JSON we use the excellent
https://github.com/nlohmann/json
with asio, and  JSON for modern C++
I can parse the TD JSON with few lines of code
TD has a good app for iOS , ThinkOrSwim
I sent you email


Multiples Images broken after latest 2.3.0

The animation is very slow and images keep flashing. I tried setting the "fps_limit" property without success, any ideas ?

Can you tell me how to reproduce and what's the error encountered?

I have dig the problem a little further. I was hoping there was maybe clear reason to it. The particle component is used on the Nikita website build with Gatsby in a separate GitHub repo. In version 2.2.0, everything is fine. In version 2.3.0, I have two observation:

It is much slower, not really an issue as I can just raise the "speed" parameter from "1" to "10" to achieve a similar speed.
Some images are flashing on top of the animation. Note, this is only observed in "develop" mode (npm run develop) when react is rendered in the browser and not in "build" mode (npm run build && npm run serve) when react is rendered on the server.

The react component is present here and the "render" method is only called once (unless the window is resized by the user)

I am going to close this issue because I've just done many optimizations to our home page and the flashing issue is no longer present and won't be reproducible with the latest source code on our GitHub repo. Maybe it was me or some cache issue (despite having clean up everything I was aware of in both firefox and chrome).

I spoke too fast. Still present.

I just discover that the reported bug is visible when the menu is toggle on the Nikita homepage. Simply press the menu icon on the top left corner of the page to see it in action. The flash are active on Firefox and little less on on Chrome. I've also noticed that the speed of the flash vary depending on the value of fps_limit.

I managed to fix some issues above.
Not sure if the flash effect on the icons is still present, but I completely changed the way the images are loaded.
The structure was not suited to handle multiple images very well ( to be honest, it was not suited to handle new code at all ).
The version including these changes is v2.4.0-beta.2 which is available through npm install<EMAIL_ADDRESS>( it is not available through a simple npm install react-particles-js ).
With this version I'm trying to start to get rid of the old code which was derived by the original code base.
If you want to, you can help me test the 2.4.0-beta.2 version.
Issues

FPS Limit Changes the speed of the animation
Shape type must be able to parse an array
Embedded Base64 SVG images are not rendered simultaneously
No data definitions for images shape type
Actual number of rendered particles equals to number of requested particles multiplied by the number of images

FPS Limit Changes the speed of the animation
The parameter should be initialized to 999 allowing backward compatibility.

Shape type must be able to parse an array
The function isInArray must do the trick.
Nevertheless, images and image types cannot work simultaneously.

Embedded Base64 SVG images are not rendered simultaneously
The reason is the images are loaded within the same data structure.
Another structure is required.

No data definitions for images shape type
Must be included.

Actual number of rendered particles equals to number of requested particles multiplied by the number of images
Each loadImg() function call triggers a checkBeforeDraw() which was not ready to accept an array of images instead a single image.
The code which should check whether every image is loaded, was commented without further implementation.

Optimizations & Refactoring
Issues

No-op while loading images
Incosistency in type definitions

No-op while loading images
requestAnimationFrame(undefined) was coded (but never called) while all images where not loaded instead of using async load, promises or callback.

Thank you for the feedback @Wufe . You are right, the code structure really wasn't optimal for multiple images, I made it worked but it looks more like a hack.

Re-opening, I've being try version 2.4.0-beta.3, it now longer work with server side generation, any quick idea ?

I made a few changes to enable SSR.
I'm not sure this is the right path tho, because this could introduce a breaking change: the Particles object is not defined anymore under the window object.
This means it cannot be used as external import (e.g. <script src="https://unpkg.com/react-particles-js@2.4.0-beta.10/lib/particles.js"></script>).
I may think to provide another output bundle, like particles.window.js for this use case.
Anyway, if you want to try the new version and provide some feedback, npm install<EMAIL_ADDRESS>

Latest beta 10 works perfectly with SSR. Also, I confirm there are no more blinking on the Nikita website. About defining the Particles object under the window object, can't you work around with a condition like if(typeof windows !== 'undefined')?


Azure Cache for Redis Premium in subnet conflicts with NAT Gateway creation because the former creates a Basic SKU LBR in the subnet

With Azure Redis Cache with sku Premium and family P on an existing subnet in a VNET, a LoadBalancer with "Basic" SKU is created which interferes with creation of an Azure NAT Gateway Attached to the same subnet. At least provide a "Standard" LoadBalancer
updating NAT Gateway Association for Subnet "dev-natest-subnet" (Virtual Network "dev-natest-vnet" / Resource Group "dev-natest-rg"): network.SubnetsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="SubnetWithNatGatewayAndBasicSkuResourceNotAllowed" Message="NAT Gateway /subscriptions/****/resourceGroups/dev-natest-rg/providers/Microsoft.Network/natGateways/dev-natest-natgw cannot be deployed on subnet containing Basic SKU Public IP addresses or Basic SKU Load Balancer. NIC /subscriptions/xxxxxx/resourceGroups/eus_xxxxxx/providers/Microsoft.Network/networkInterfaces/|providers|Microsoft.Compute|virtualMachineScaleSets|eus-xxxxxx|virtualMachines|0|networkInterfaces|nic/ipConfigurations/ipconfig1 in subnet /subscriptions/****/resourceGroups/tfe-dev-natest-rg/providers/Microsoft.Network/virtualNetworks/tfe-dev-natest-vnet/subnets/tfe-dev-natest-subnet has reference to Basic SKU Public IP address or Load Balancer /subscriptions/xxxxxx/resourceGroups/eus_xxxxxx/providers/Microsoft.Network/loadBalancers/eus-xxxxxx.
#81340

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

ID: 3bced23e-5c67-3a63-06f7-c659ba56b5e7
Version Independent ID: 10d48e1f-e090-ab51-553c-64655a102c9d
Content: Configure a virtual network - Premium-tier Azure Cache for Redis instance
Content Source: articles/azure-cache-for-redis/cache-how-to-premium-vnet.md
Service: cache
GitHub Login: @yegu-ms
Microsoft Alias: yegu

@dwaiba Thanks for the feedback. We observed there is another issue opened for the same. We have already assigned that to the content author for taking appropriate action. Meanwhile we are marking this as duplicate and close and we can keep following on the other issue. Please let us know if you feel otherwise and we can re-open this issue as well.
https://github.com/MicrosoftDocs/azure-docs/issues/81340


Add IMGZ/Photo sharing

Service Name

IMGZ - A paid image sharing site that doesn't make you the product.
License: Parity
Why do you think this helps users privacy?: It's paid and doesn't want to know anything about you
Under what section should this service be listed?: Photo sharing, which doesn't currently exist
Additional comments / info: I made this

I like it, can you make a PR adding it? I think this would fit under File Management and Sharing.

Done, thanks!


Getting Failed to add firewall rule error during SQL DB deployment using GitHub Hosted Runner

Getting Failed to add firewall rule error during SQL DB deployment using GitHub Hosted Runner although 'Allow Azure Services And resources to access this server" is checked in the SQL server
Error: Failed to add firewall rule. Unable to detect client IP Address. Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'MCSSQLADMIN'..
Error: The process 'C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.exe' failed with exit code 1

Could you share a snippet of your yaml definition with the Azure login and sql-action tasks?

The error portion Error: Microsoft ODBC Driver 17 for SQL Server suggests this is an older version of sql-action.  Will you try your pipeline with an updated version (v2.1.1 is latest)

Hi there,
Please see below.
release:
# Set the dependency for the build job

needs: BuildDacpac

# The type of runner that the job will run on

runs-on: windows-latest
environment: PRD

permissions:

  id-token: write

  contents: read

# Steps represent a sequence of tasks that will be executed as part of the job

steps:

 - name: download SQL Pool artifact

    # Downloads artifact to dacpac folder

    uses: ***<EMAIL_ADDRESS>
    with:

      name: SQLPool

  # Login using Azure credentials

  - name: 'OIDC Login to Azure Public Cloud with AzPowershell'

    uses<EMAIL_ADDRESS>
    with:

     client-id: ${{ secrets.CLIENT_ID }}

     subscription-id: ${{ secrets.SUBSCRIPTION_ID }}

     tenant-id: ${{ secrets.TENANT_ID }}

     enable-AzPSSession: true

  - name: Azure SQL Deploy

    uses: ***<EMAIL_ADDRESS>
    with:

      # Name of the SQL Server

      server-name: ${{ vars.SQL_SERVER }}

      # The connection string, including authentication information for the Azure SQL Database

      connection-string: '${{ secrets.AZURE_SQL_CONNECTION_STRING }}'

      # Path to the Azure SQL database dacpac file

      dacpac-package: 'uda-mcs-sql-db-cloud.dacpac'

      # Additional arguments

      arguments: '/p:IncludeCompositeObjects=true'

With Regards,
Fahim Amin
Data Architect, Heavy Oil
Upstream Digital Accelerator
Ph.: +1-587-476-2540
Cell: +1-403-860-1124
<EMAIL_ADDRESS>ExxonMobil Business Support Centre Canada ULC
505 Quarry Park Blvd. SE
Central Building- C2A.126
Calgary AB T2C 5N1
From: Z Chen @.>
Sent: Wednesday, April 12, 2023 6:55 PM
To: Azure/sql-action @.>
Cc: Amin, Fahim @.>; Author @.>
Subject: Re: [Azure/sql-action] Getting Failed to add firewall rule error during SQL DB deployment using GitHub Hosted Runner (Issue #174)
External Email - Think Before You Click
Could you share a snippet of your yaml definition with the Azure login and sql-action tasks?
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/sql-action/issues/174#issuecomment-1506158128, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYLTXYECYUT4PP5XV3RP2T3XA5FHHANCNFSM6AAAAAAWZQ4K7E.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Formatted yml:
  release:
    # Set the dependency for the build job
    needs: BuildDacpac

    # The type of runner that the job will run on
   runs-on: windows-latest
    environment: PRD
    permissions:
      id-token: write
      contents: read

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
     - name: download SQL Pool artifact
        # Downloads artifact to dacpac folder
        uses: ***<EMAIL_ADDRESS>        with:
          name: SQLPool

      # Login using Azure credentials
      - name: 'OIDC Login to Azure Public Cloud with AzPowershell'
        uses<EMAIL_ADDRESS>        with:
         client-id: ${{ secrets.CLIENT_ID }}
         subscription-id: ${{ secrets.SUBSCRIPTION_ID }}
         tenant-id: ${{ secrets.TENANT_ID }}
         enable-AzPSSession: true

      - name: Azure SQL Deploy
        uses: ***<EMAIL_ADDRESS>        with:
          # Name of the SQL Server
          server-name: ${{ vars.SQL_SERVER }}
          # The connection string, including authentication information for the Azure SQL Database
          connection-string: '${{ secrets.AZURE_SQL_CONNECTION_STRING }}'
          # Path to the Azure SQL database dacpac file
          dacpac-package: 'uda-mcs-sql-db-cloud.dacpac'
          # Additional arguments
          arguments: '/p:IncludeCompositeObjects=true'

Looks like the Actions steps themselves were masked (maybe the email client thought they were email addresses), but as @dzsquared mentioned, could you try using<EMAIL_ADDRESS>      - name: Azure SQL Deploy
        uses<EMAIL_ADDRESS>        with:
          # The connection string, including authentication information for the Azure SQL Database
          connection-string: '${{ secrets.AZURE_SQL_CONNECTION_STRING }}'
          # Path to the Azure SQL database dacpac file
          path: 'uda-mcs-sql-db-cloud.dacpac'
          action: 'Publish'
          # Additional arguments
          arguments: '/p:IncludeCompositeObjects=true'

Hi Chen,
Thanks for your help. This actions now works if I allow Azure Services. However if I disable Azure Services on Azure SQL firewall and follow the procedure to add firewall, it fails at Azure Login action proving subscription not found error. I have done all the configuration and setup Federated credential on Azure AD. Surprisingly this same login action with same yaml code and similar federation works fine for another pipeline. Not sure if what is wrong here. Any help will be appreciated. Thanks.
@.***
@.***
@.***
With Regards,
Fahim Amin
Data Architect, Heavy Oil
Upstream Digital Accelerator
Ph.: +1-587-476-2540
Cell: +1-403-860-1124
<EMAIL_ADDRESS>ExxonMobil Business Support Centre Canada ULC
505 Quarry Park Blvd. SE
Central Building- C2A.126
Calgary AB T2C 5N1
From: Z Chen @.>
Sent: Thursday, April 13, 2023 12:30 PM
To: Azure/sql-action @.>
Cc: Amin, Fahim @.>; Author @.>
Subject: Re: [Azure/sql-action] Getting Failed to add firewall rule error during SQL DB deployment using GitHub Hosted Runner (Issue #174)
External Email - Think Before You Click
Looks like the Actions steps themselves were masked (maybe the email client thought they were email addresses), but as @dzsquaredhttps://github.com/dzsquared mentioned, could you try using<EMAIL_ADDRESS>  - name: Azure SQL Deploy

    uses: ***<EMAIL_ADDRESS>
    with:

      # The connection string, including authentication information for the Azure SQL Database

      connection-string: '${{ secrets.AZURE_SQL_CONNECTION_STRING }}'

      # Path to the Azure SQL database dacpac file

      path: 'uda-mcs-sql-db-cloud.dacpac'

      action: 'Publish'

      # Additional arguments

      arguments: '/p:IncludeCompositeObjects=true'

—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/sql-action/issues/174#issuecomment-1507438260, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYLTXYAEUB6EE5NFHEKXZM3XBBA2VANCNFSM6AAAAAAWZQ4K7E.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Hello, i got this issue as well recently and i have an action that add the current Ip to my allowed ip list that can access my resource and IP was listed but still getting this error and preventing me to deploy database changes

@ttaher  - you likely have an authentication issue to the SQL database, in the July release we added skip-firewall-check: as an option that you can use to validate the root cause in your case

yes, I used it and it works now thanks a lot


Remove old reference to mesos-dind location

Mesos dind has been removed from docker-containers repo so this reference returns 404 therefore it should be removed from here.
it was removed after this commit https://github.com/mesosphere/docker-containers/commit/fd21994fa984c01e66a8d0e4fa843a2f531a3271

thanks for the PR, would you mind rebasing?

changes already in master


Removing riscv64 bootstrap code

As was promised on the riscv64 PR -- I'm now removing some of the cruft bit-by-bit. The next de-crufting will have to wait for the linuxkit/buildx merge, tho. @deitch @eriknordmark
I'm also including a tiny tweak to our build environment for riscv64 -- turns out the python3 package didn't have a symlink for some reason. I'm still investigating it on the Alpine side -- but for now the tiny workaround won't really hurt.

That linuxkit issue is merged in


No bar visualization in auto mode

Current Behavior
If the mode is set to auto there is no bar showing the current set temp:

Expected Behavior
Same as in manual/heating mode:

Steps To Reproduce
Set the thermostat mode to auto
Environment
- OS: Ubuntu
- Node:
- Version: 2022.5.5
- Hassio: 2022.5.3

Anything else?
These are the entity states from automatic mode:

and manual mode:

Thank you for this otherwise amazing addition to the mushroom project 👍
Greetings

These issues have been resolved in v1.8.8-thermostat.0


Add rockylinux 8

Change requested in https://github.com/GoogleCloudPlatform/ops-agent/pull/374 when remove centos 8 as it is EOL.

Why not just replace centos8 by rockylinux8?

Why not just replace centos8 by rockylinux8?

Do you mean in the integration_tests/agents/agents.go file? I can fix that.

Why not just replace centos8 by rockylinux8?

@igorpeshansky Do you mean in the integration_tests/agents/agents.go file? I can fix that.

I meant why not just send one PR that replaces centos8 by rockylinux8 everywhere, rather than send one that removes centos8 and one that adds rockylinux8?

@igorpeshansky  In case the find-replace wasn't as straightforward as we thought, I wanted to be able to fall back on removing centos8 for now and having this follow up PR. At this point as tests are looking good for linux distros I'll close the other.

Windows failure is just a quota issue. Given that this PR doesn't touch windows I'm not currently intending to re-run kokoro.
 - Quota 'CPUS' exceeded.  Limit: 1700.0 in region us-central1.


Move to tee for build scripts

The current way was to run all the commands piped to a file, then read the file to the screen. This will allow more both to be written at the same time, helping with hangs.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.97%. Comparing base (3a153a4) to head (6b8e458).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1091   +/-   ##
========================================
  Coverage    86.97%   86.97%
========================================
  Files          159      159
  Lines        15465    15465
========================================
  Hits         13450    13450
  Misses        2015     2015

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


k8s: There will be changes to permissions of the default service account in 1.6

We should look into how this may affect Scope. This is to do with 1.6. switching to RBAC. All I know is that GKE will be backwards compatible, and kubeadm might remain backward compatible, but there will be other installation and we will need to investigate the effects of this and document what to do etc, e.g. "Kubernetes The Hard Way" or anything else, like Tectonic might chose the restrictive policy as the default.

Essentially I need a list of permissions that Scope requires, like what we have for Net.

@errordeveloper According to our client code Scope needs:
For viewing:

list: pods, services, deployments, deplicasets, replicationcontrollers, nodes (and soon daemosets)
watch: pods

For controls:

pods: delete, logs
scales: update

I wrote this to take advantage of the ServiceAccount that's already defined for the Scope agent.  It does seem to work although looking at the list above, it's not complete.  This is an additional two items for the List defined in scope.yaml:
  - kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: cluster-reader
    rules:
      - apiGroups: [""]
        resources:
          - services
          - nodes
          - replicationcontrollers
          - deployments
          - replicasets
          - pods
        verbs: ["get", "watch", "list"]
  - kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: cluster-reader-global
    subjects:
    - kind: ServiceAccount
      namespace: default
      name: weave-scope
    roleRef:
      kind: ClusterRole
      name: cluster-reader
      apiGroup: rbac.authorization.k8s.io

AFAICT nothing is broken here. curl https://cloud.weave.works/k8s/v1.6/scope.yaml returns the following
...
  - apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRole
    metadata:
      name: weave-scope
      labels:
        name: weave-scope
    rules:
      - apiGroups:
          - '*'
        resources:
          - '*'
        verbs:
          - '*'
      - nonResourceURLs:
          - '*'
        verbs:
          - '*'
  - apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRoleBinding
    metadata:
      name: weave-scope
      labels:
        name: weave-scope
    roleRef:
      kind: ClusterRole
      name: weave-scope
      apiGroup: rbac.authorization.k8s.io
    subjects:
      - kind: ServiceAccount
        name: weave-scope
        namespace: kube-system
...

So I believe the real objective of this issue is to refine the permissions so we don't ask for everything. -> changing summary to match. @errordeveloper if that is incorrect, then please explain what this issue is about.

@danderson I coded up your proposal - it’s in staging now if you want to try it out - eg https://frontend.dev.weave.works/k8s/scope.yaml?k8s-version=1.9.3

Works for me!

Is this still an issue? Please reopen if it is


Optional min width for a column tree select in edit mode

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

If there are several columns, the tree for selection is often covered in edit mode and the selection is not visible.


Consolidation of ICS3 TLA+ spec

Summary
This repository should maintain a single version of the ICS3 TLA+ spec.
Problem Definition
We were planning to maintain two versions of the ICS3 TLA+ spec: (1) a default version of the spec, plus (2) a version that exhibits a liveness problem.
The motivation for the first version was to model (and guide the implementation of) a correct connection handshake protocol. The motivation for the second version was to provide the context for certain protocol changes surrounding UpdateClient.
Having two versions, however, puts additional maintenance burden and may be unnecessary.
Proposal
Current state of the work on ICS3 TLA+ spec:

we have the default version in docs/spec/connection-handshake/L2-tla;
issue #71 states the necessity of capturing the liveness problem surrounding UpdateClient and PR #73 captures the work for this issue.

Future, ideal state [! to be clarified]:
We'd like to keep a single version of the ICS3 TLA+ spec. This version should:

provide the context for the liveness problem, hence it will deadlock,
include the store.latestHeight + 1 fix highlighted here.
model check & document results with heights >= 6.

For Admin Use

[x] Not duplicate issue
[X] Appropriate labels applied
[x] Appropriate contributors tagged
[X] Contributor assigned/self-assigned

provide the context for the liveness problem, hence it will deadlock,

What does this mean?
Also, in my understanding, this UpdateClient relayer race isn't a problem for the connection itself, it's a problem for a particular relayer algorithm - ie. the existence of the race is a low-level detail of how a relayer might be implemented that the Connection shouldn't care about. I would think we'd want a representation of the Connection that doesn't depend on such low level details of individual relayers, but rather on global properties of the relayer network, that wouldn't even be able to see the existence of such races, so long as properties like "the client is eventually updated, but we don't know with which height" are upheld.
That said I haven't reviewed the TLA+ spec enough yet.

Both versions of the ICS3 (Connection) TLA+ specs assume a high-level relayer abstraction that works like this, roughly speaking:

some module pushes a message m to its outgoing buffer (here m may include a proof that the module created);
the relayer (called environment) pops m;
the relayer may update the destination chain if there is a proof inside m;
then the relayer submits m to the input buffer of the destination module;
the destination module delivers m.

In ICS3 current specs, there are no formal properties that the relayer should enforce (those properties are something we're still trying to agree on..) except for the behavior described above.
It's true that the bug is not in ICS3, but it's a bug of the "global properties of the relayer network" indeed. It's not clear in which ICS exactly this bug belongs.

What does this mean?

To "provide the context for the liveness problem" means that the disclosure log can reference this spec (i.e., this spec has enough details to describe and recreate the liveness problem; the disclosure log can quote it, so to speak). Since there is no ICS where this bug officially belongs, I classified it under a "bug that causes ICS3 liveness problems". More details here: #83.

It's true that the bug is not in ICS3, but it's a bug of the "global properties of the relayer network" indeed. It's not clear in which ICS exactly this bug belongs.

My understanding is that it's not even a property of the global relayer network, but just of an arbitrary individual relayer. The race doesn't effect the high level properties around ensuring the packets from an outbound queue make it into an egress queue. It just impacts which relayer ends up responsible for it and how. So I would think it's actually a problem with ICS18, or with an assumption that a particular relayer will always succeed in submitting an UpdateClient, and we just need to be clear that a relayer needs to be aware this race can happen and work around it in the straight forward way.

Agree with Bucky. The ClientUpdate liveness problem is a relayer issue, not connection handshake problem. The connection handshake protocol should assume (model) that relayer(s) should ensure that for every valid message m with a proof p, the corresponding p.height is installed on the destination before message m is sent. Modelling this could potentially be simplified by abstracting away completely client update mechanism, i.e., assuming that messages sent by modules are always valid, i.e., we don't need to verify proofs.

This PR is not intended to provide the full context of the ClientUpdate liveness problem.
Instead, this spec models the ICS3 protocol as it was designed to be -- that is, comprising this bug. There is now a flag in the spec, called Concurrency which:

if TRUE, then the environment can non-deterministically advance the height or update the light client of a chain.
This configuration simulates a liveness problem caused by the way UpdateClient is used by relayers, and will lead the model to stutter. See more details in the disclosure log.
To be clear: the stuttering is not caused by a bug in the ICS3 protocol itself; this model simply captures the original (faulty) algorithms surrounding the ICS3 protocol.
if FALSE, then the model should check correctly.		 - if FALSE, then the model should check correctly.


Connection List Gone

SQL Operations Studio Version: 0.25.4 - Mac

Steps to Reproduce:
After installation, if I delete a connection in the server area, I can no longer have ANY connections show up in the server window. I am able to reconnect to servers, but none of my connections show up under the servers section, and therefore I cannot browse through my objects.
I was able to uninstall and reinstall a newer version to fix it once, but now the problem is back.

Closing out older issues that don't have a pending request.  Please reactive if there's still anything we should look at for this issue.


Added LTC4150 Demo

Now the user can quickly get set up working with the coulomb counter. The demo includes documentation for constructing, initializing and reading charge from the LTC4150.
Resolves #982

Coverage remained the same at 79.931% when pulling 1fb7c20e43ab1ac7faaf1c565abaff340dade78b on SJSURoboticsTeam:ltc4150-demo into 8170de000754410bf7ccdc49f2127c2331de2f07 on kammce:master.


Fix typo

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 9 (77.78%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.127%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Lib/PhpProcessReader/PhpGlobalsFinder.php
2
3
66.67%

src/Lib/PhpProcessReader/PhpMemoryReader/CallTraceReader.php
5
6
83.33%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1900

Relevant Lines:
2342

💛  - Coveralls


Ra-Dec

Add ra-dec and MC dec information in LST database

This new scripts seems to work fine. We still miss some entries into the dictionaries, but we just have to update the txt files later on (while working on Dl2 and DL3)

Why do you need two files to specify the RA, Dec and point-like/extended property of the same sources? Can't you have e.g.  a single yaml file to store all that info? Or also JSON, since you use it anyway to open the txt files.

Why do you need three files to specify the RA, Dec and point-like/extended property of the same sources? Can't you have e.g. a single yaml file to store all that info? Or also JSON, since you use it anyway to open the txt files.

A single file with 3 dictionaries inside? Maybe quite a mess when we have to modify it (hundreds of lines and quite difficult to find out if a source is already there in which dictionary)
We could store each entry as a list ('source':[ra, dec, point]) but then some of the entries of the list will be null (not known or not needed): what about this solution?

We also have a problem with Crab (during one of the obs. they used 'Crab' instead of 'CrabNebula' and astropy returns two different coordinates, while I think that they should have the same coords.

Yes, I meant the solution you proposed i.e. one list for each source, and each source name becomes a key.
Regarding the Crab/CrabNebula, it is likely our problem to solve. 99% I am sure that the configuration on the LST side have the same coordonates. Astropy gives slightly different ones because most probably Crab is the pulsar (not sure which catalog is used though).

I'm almost sure that the source is always the same (as for the observations): probably they just put the wrong name. astropy retrieves coordinates from simbad usually. This can be easily solved in this script by adding an 'if', but I will also check MAGIC root files for one of these obs (just to be sure that the coordinates are the same)

We also have a problem with Crab (during one of the obs. they used 'Crab' instead of 'CrabNebula' and astropy returns two different coordinates, while I think that they should have the same coords.

here are we talking about MAGIC or LST? in LST I see only one configuration called crab (plus other configurations with different wobble offset, but with very explicative names). Of course I cannot exclude that there was another configuration with a different name that was deleted and therefore not listed anymore.

Now I am checking MAGIC coordinates (easier: they are written in the files) and there seem to exist two different sources (Crab and CrabNebula) according to MARS and data taking: also in the runbook there is a different name in schedule wrt run summary

@Elisa-Visentin can you tell one of these dates? I would like to check better, because in the scheduling catalog files I did not find source with the name "Crab", only "CrabNebula".

OK, from MAGIC:
CrabNebula: 22° 00′ 52″,   05:34:32 (h:m:s)   deg:    22.0144444    83.6333333
Crab: 22° 00′ 51",  05:34:31 (h:m:s)     deg:  22.0141667     83.6291667
mhhh... the second one does not even correspond to the one by astropy

3-4 March 2024 (LST): Yes the name is the 'wrong' one in run summary, not in scheduling

In the mean time, I fixed the input dictionary

ok, apparently there is a catalog of sources in MAGIC called "favorites" where indeed we have:
Crab,f|T,+5:34:31.00,+22:0:51.00,1.0,2000

that's what shifters used.

we ignore the sec. difference and put the same coordinates (which?) for both of them to be able to stack data?

effectively for observations that difference does not affect analysis. Please use the coordinates of CrabNebula

we keep the two sources as different and fix the Crab coordinates to the ones actually used during the obs.?

I already modified the only catalog file of MAGIC where the name was Crab instead of CrabNebula. So now it is:
CrabNebula,f|T,5:34:32.00,22:00:52.00,1.0,2000

so, it was just really a remote coincidence that shifters used that catalog...

fixed. Thanks


⚠ Bofrost.be has degraded performance

In 3430e40, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1049 ms

Resolved: Bofrost.be performance has improved in cbc0010 after 6 minutes.


init: add subdir description

You may disregard these recommendations if you used the Edit on GitHub button from dvc.org to improve a doc in place.

❗ Please read the guidelines in the Contributing to the Documentation list if you make any substantial changes to the documentation or JS engine.
🐛 Please make sure to mention Fix #issue (if applicable) in the description of the PR. This causes GitHub to close it automatically when the PR is merged.
Please chose to allow us to edit your branch when creating the PR.
Thank you for the contribution - we'll try to review it as soon as possible. 🙏
Related to https://github.com/iterative/dvc/pull/3257

@jorgeorpinel introduced your suggestions

@shcheklein there's a few possible improvements to this but I think the PR is mergeable, I can address in regular updates.

@pared @jorgeorpinel
I was not following the DVC core PR, could you please clarify the following things. No need to add them right now in the PR, but the will help in taking this PR over. Would be great to have some answers here in any way your prefer :)

Did we change anything about --no-scm (do we write configs, flags now)?
Same question - do we write anything when we use subdir.
Can I do nesting - one subdir, inside another, etc
Can I do subsid in the root. Does it makes sense? What will happen.
How having subdirs affect the flow (basically, why do we need them in the first place). Flow of the regular commands like pull, push, etc.
What happens if I do no-scm with subdir?

Let's start with this. I think we need more clarify for this before we merge this. The way we've done it so far is too low level and technical, not clear the motivation and not clear how does it affect behavior.

What happens if I do no-scm with subdir?

@shcheklein I had this same question in https://github.com/iterative/dvc/pull/3257#pullrequestreview-362870906, and Pawel's answer is

it is technically possible to do that. Still, I would leave this check (both options can't be used together) as using both flags at the same time indicates a misunderstanding of how they work.

@shcheklein
Answering your questions:

Yes, now no-scm is a config flag now, and that change comes with behavior change:
now if no-scm is found in the config, we will use NoSCM class, always. Before it was possible to init with this flag and later initialize git, which was acknowledged
No, subdir is the default behavior (unless no-scm is in config)
Yes
Yes, nothing will change, we will look for git root starting from root, git will be found. So we can say that we are taking "closest" scm in tree. In a way, a normal use case (Git + DVC in one dir) is just a specific subdir case.
Subdir does not influence normal use case, data sync operations will not be performed in subrepos, which are ignored during tree traversing.
Init error. Without this error, we would end up with NoSCM case, because it just happens that check for no-scm is earlier in code than searching for Git

@pared thanks! please, check the next round of questions to clarify the PR! Any details would be helpful. You can edit the same comment https://github.com/iterative/dvc.org/pull/1022#issuecomment-591960882

@shcheklein Tried to provide some more broad answer.
You found a bug in the current implementation. I believe that we can proceed in 2 ways:

Try to implement logic to support calling particular stage files and be aware that it can be in subdir.
Forbid initializing subdir if dvc repo is found while searching for git root.

I believe that second option is appropriate, as original issue was about having multiple dvc repos inside one git repo.

(1) The config flag is no_scm. It can be changed using config:
dvc config core.no_scm True

[ ] Should be added to config ref

(2) subdir is the default behavior (unless no-scm is in config)... if we do not find no_scm flag inside the config, we assume that "There must be git somewhere"

Hmmm. I tried dvc init --subdir in an empty dir. Got ERROR: failed to initiate DVC - /.../test is not tracked by any supported SCM tool (e.g. Git). Also you later say "if we don't specify --subdir, we don't allow dvc to look for git up the tree" so I still don't understand what you mean by "subdir is the default behavior" 🙁

(4) ... subdir in the root?
Yes, nothing will change

👍

[ ]  I'd just add this in the option description: "If run in a project root, this option is ignored."

(5) data sync commands without specific target. Stages for subdirs will not be gathered

Kind of like Git subrepos?

[ ] Important info to put in cmd refs as well 🙂

(5) run dvc pull subdir/some.dvc from the root... will try to use current repo to perform the operation.
That is a flaw... You found a bug

Should we open a separate dvc core issue to discuss https://github.com/iterative/dvc.org/pull/1022#issuecomment-592463575 ?

(2) why do they contradict each other?
() I guess the confusion comes from the flag naming, initially, I named it --subrepo

--subrepo may also confusing, it sounds like its a full repo inside a full repo, but its not a full repo per se: its a DVC project inside a subdirectory of a Git/DVC repo. Maybe --sub-scm ? (I'd consider renaming --no-git and --sub-git)
Could making both --no-scm and this option automatic/implicit help?

@jorgeorpinel

so I still don't understand what you mean by "subdir is the default behavior"

It is the default behavior when handling SCM inside our code. init command is a different thing.
Yours did fail, because you tried initializing inside empty directory, and no git was up the tree right?

I'd just add this in the option description: "If run in a project root, this option is ignored."

Agree

Kind of like Git subrepos?
Yes

Should we open a separate dvc core issue to discuss #1022 (comment) ?
yes, i will do that

Could making both --no-scm and this option automatic/implicit help?

Probably yest, though I would discuss it, as for now --subdir guards user from unintentionally creating repo down the tree.

@jorgeorpinel

Important info to put in cmd refs as wel

I would wait with adding information about that, as its not decided yet whether we will support repo inside repo scenario after detecting the "targeted sync" bug.

@jorgeorpinel @pared I've update the doc and added more information about this options, why they are needed, etc. Please review and let me know WYT.
@jorgeorpinel feel free to put small fixes on top/merge/etc.

May be we should consider moving some part to the User Guide.

@shcheklein I think those changes are desirable, they point "main" use case and provide info on additional possible workflows.

@jorgeorpinel ping!

I'm back guys, sorry for the delay.

I still don't understand what you mean by "subdir is the default behavior"
It is the default behavior when handling SCM inside our code. init command is a different thing.
... --subdir guards user from unintentionally creating repo down the tree

@pared OK so it doesn't affect the docs in this PR but I'm still trying to understand what "default behavior when handling SCM inside our code" means or what impacts it has. Can you elaborate a little? Maybe it impacts other docs...
Other than that we've taken over this PR and I'm trying to merge it ASAP. Thanks

Merged 🎉 thanks again @pared.
Let's continue the discussion in #1039, and address depending on priority.
Feel free to review my latest changes here and leave feedback in that continuation issue.
Thanks


Faster inference on TX2

Hi. My config:
Jetson TX2 with JetPack 4.2  (CUDA 10, cuDNN 7.3.1, TensorRT 5.0.3, OpenCV 3.3.1)
After assembling the cppapi, I checked the speed of the inference on the model by resnet50 at the image resolution of 1280 * 800. The speed of the test results ranges from 0.5-0.6 s.
What are the ways to speed up the inference model by 2-4 times with the current resolution? In this case, if we do not change the number of classifiers and regressors (let's leave it as it is 256). On personal experience, I know that reducing layers of classifiers and regressors can accelerate the interference by an average of 20% without losing accuracy (if we are dealing with large anchors)

@florischabert Do you have any thoughts on this?

@Maxfashko With any of the other object detection algos i've used in the past, reducing the number of detections the network spits out before NMS is huge. I have done it with many 2 stage detectors and seen speed ups of over 5 times.

@mbufi Do you mean that you have reduced the layers of classification?

In general, since the TX2 is based on the Pascal GPU architecture, it will be harder to get acceleration from using reduced precision (FP16 or INT8) inference in TRT since it does not have Tensor Cores.
From your original post it looks like you are using a ResNet50 backbone: using a lighter weight backbone like ResNet18 could potentially help lower inference latency (at the cost of detection accuracy).
Although you mention you would prefer to keep the input size as is, you could consider training and optimizing your model at a smaller input image size (again, potentially sacrificing some accuracy).


Fix filters with 0 dimensions in conv and conv_transpose

Fix #37764. Made modifications in python end. More detail can be seen in the issue page.

Why do we need this? In many other cases 0 dimensions are supported in TF.

If so, the conv layer in keras api is not consistent, as changed in this commit:
https://github.com/tensorflow/tensorflow/commit/1e102f63964365d82d7f22402b7ba21e0e0e64fe


Question about Auto-Renewing Subscriptions

Hello!
I am currently using the cordova-purchase-plugin but I am looking to implement auto-renewing subscriptions in my app which seems extremely complicated for some reason.
Does this plugin handle the receipt validation without the need of our own server? If it does not, is there something that is plug and play to handle validation? Ideally, I would love to just fire up a Heroku instance or something to handle it if I can.
How does this plugin handle expired subscriptions and how can I check for that? Didn't see this mentioned in the readme.
Thank you.

Hello,
Sadly this plugin does not support subscription. It was not designed with subscription in mind. It would require quite some work to add this feature at this point and we didn't plan for it.
Therefore, I would not recommend this plugin if you need support for subscription.
As for receipt validation, this plugin doesn't support it locally. And I am not aware of any plug-and-play system that you could just fire up in Heroku.
We have a simple npm package (made by @ronkorving) to do IAP verification: https://www.npmjs.com/package/iap. However, this would probably require a minimum amount of back-end work before you could simply boot it in Heroku.

@jrouault I appreciate the quick response and honest answer. I'll close my thread, have a great one and thanks!


cuelang.org: update Python guide to statically-linked Python API

@4ad content-related issues live in https://github.com/cue-lang/docs-and-content/issues please.


Out of Gas Error

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (0f530f2 2023-09-05T00:25:20.448586000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
The following code with the unchecked iterator runs into an out of gas issue, but moving iterator into the for loop causes the execution to be fine.
Another issue is that this loop also causes foundry to run forever if a --gas-limit isn't specified. This isn't an infinite loop so it shouldn't be an issue at all.
        for (uint256 i = 0; i < _tokenIds.length;) {
            uint256 _tokenId = _tokenIds[i];
            if (_array[i] == 0) continue; // Skip erroneous slashes
            uint256 _votes = balanceOf[_tokenId].votes;
            // Remove
            if (_votes == 1 || _votes < _slash[i]) {
                delete stakes[_tokenId];
            } else {
                balanceOf[_tokenId].votes -= _slash[i];
            }
            console2.log("gas", i, gasleft());

            unchecked {
                i++;
            }
        }

For the log: the last log before it reverts is     │   ├─ [0] console::log(gas1, 25671984 [2.567e7]) [staticcall] – indicating that it still has a great deal of gas before running out of gas.
The change:
        for (uint256 i = 0; i < _tokenIds.length; i++) {
< Contract logic here />
}

Closing as duplicate of other several out of gas errors which seem to be coming from a different source.


Format string being displayed literally on Fedora 28 after recent update of extension.

The clock display is showing the format string instead of the formatted time. i.e. "%A, %B %d   %-I:%M %p"
This happened just this morning after updating the extension. I'm on Fedora 28. Gnome version 3.28.2

It seems was fixed by https://github.com/stuartlangridge/gnome-shell-clock-override/commit/57fbfc6e20db541a62adfcdda3b9fc936eeeb56c
@stuartlangridge can You publish new version please?

This is a duplicate of issue #13.


Problematic use of generic types

Using TestContainers 1.1.6, the following code produces a compile time error:
private static final PostgreSQLContainer postgres =
        new PostgreSQLContainer("postgres:9.5.4")
                .withDatabaseName("test")
                .withEnv("PGDATA", CONTAINER_PGDATA)
                .withFileSystemBind(HOST_PGDATA.toString(), CONTAINER_PGDATA, BindMode.READ_WRITE);

Compilation error:
/Users/my-user-name/my-project/my/path/to/IntegrationTest.java:71: error: incompatible types: GenericContainer cannot be converted to PostgreSQLContainer
                    .withFileSystemBind(HOST_PGDATA.toString(), CONTAINER_PGDATA, BindMode.READ_WRITE)

The problem stems from the fact that the PostgreSQLContainer class starts like this, with a recursive bound on its generic type parameter (à la class Enum<E extends Enum<E>>):
public class PostgreSQLContainer<SELF extends PostgreSQLContainer<SELF>>
        extends JdbcDatabaseContainer<SELF>

So this is a generic class, but the documentation and example test case use it with no type parameter, as a raw type:
@Rule
public PostgreSQLContainer postgres = new PostgreSQLContainer();

And in this situation Java can't figure out that in my use of the withFileSytemBind() method, the SELF return type unifies with PostgreSQLContainer.
My workaround for this issue illustrates the fix:
// A dummy class whose sole purpose is to instantiate the `SELF`
// type parameter.
private static final class MyPostgreSQLContainer extends PostgreSQLContainer<MyPostgreSQLContainer> {
    public MyPostgreSQLContainer(String dockerImageName) {
        super(dockerImageName);
    }
}

private static final MyPostgreSQLContainer postgres =
        new MyPostgreSQLContainer("postgres:9.5.4")
                .withDatabaseName("test")
                .withEnv("PGDATA", CONTAINER_PGDATA)
                .withFileSystemBind(HOST_PGDATA.toString(), CONTAINER_PGDATA, BindMode.READ_WRITE);

This argues that the existing "end user facing" classes like PostgreSQLContainer in the library ought to be split into two classes:
public abstract class AbstractPostgreSQLContainer<SELF extends AbstractPostgreSQLContainer<SELF>>
        extends JdbcDatabaseContainer<SELF> {
    ...
}

public class PostgreSQLContainer extends AbstractPostgreSQLContainer<PostgreSQLContainer> {
    ...
}

People who want to extend PostgreSQLContainer should be discouraged from doing so as well, and pointed to AbstractPostgreSQLContainer as the proper class for extension.  (Making PostgreSQLContainer a final class is one alternative here, but with the downside that it's a backwards-incompatible change.)

@ldcasillas-progreso thanks for the report!
As a temporary workaround, I can suggest this:
private static final PostgreSQLContainer postgres =
   new PostgreSQLContainer<>("postgres:9.5.4")
    .withDatabaseName("test")
    .withEnv("PGDATA", CONTAINER_PGDATA)
    .withFileSystemBind(HOST_PGDATA.toString(), CONTAINER_PGDATA, BindMode.READ_WRITE);

(note the diamond operator)

@bsideup Ah, good one!

@ldcasillas-progreso yes, I can see how this would be annoying, and we're keen to come up with a more user-friendly model (which will probably be a breaking change and the focus of a future 2.0.0 release).
In the meantime @bsideup's workaround is the right way, and I'd like to think about your suggested fix too. It looks pretty sensible to me. It might be a good solution for users on the 1.x.x series and something we can integrate reasonably soon.

This issue also makes it very hard to use Testcontainers in Kotlin (and still exists in the current 1.2.1 version).
Is there any progress on this? Can I help out with a PR?

Hi @mpecan,
If you have an idea how to solve self-referencing without breaking current behavior it would be great!
You can also submit a bug to Kotlin... Well... Because it's a bug in Kotlin and a valid JVM bytecode :D

The solution I've shared at https://github.com/testcontainers/testcontainers-java/issues/318#issuecomment-290692749 works without any issues for me.

@martin-g Agreed. And I can see why.
@bsideup I will give it a stab in the next couple of days.

Reopen please. Should be an absolute top priority if you ask me.

Could you please reopen this issue? I'm trying to use this library in Scala, and with the way generics are currently used here, it's really difficult. I'm happy to help out with PRs.

Is this "2.0" I see mentioned in this issue and other related issues about generic types actually happening? Even though it seems like a minor thing, I can't stand the thought of using something where I had to tell the IDE to suppress warnings for constantly

We're experimenting with a new "container definitions API" that will be an experimental alternative API in 1.x and get promoted as the main one in 2.0 if the feedback is good.
You can preview it here:
https://github.com/testcontainers/testcontainers-java/pull/4465

Thank you I love you and I love this project. Keep up the good work everyone! Really awesome tool youve built here.


SQLite3 DLL not found

Eccezione first-chance di tipo 'System.DllNotFoundException' (Exception HRESULT: 0x8007007E)

I'm building a Windows Form App with .NET 4.5.1 in Visual Studio 2013
The exception comes at row 198:
var r = SQLite3.Open (databasePathAsBytes, out handle, (int) openFlags, IntPtr.Zero);
What I need to do?
Edit: same thing with Stocks example: DllNotFoundException

Hi all, my bad.
This repository needs the sqlite3.dll from Google Code: http://code.google.com/p/csharp-sqlite/
Build it and add reference to your project with sqlite-net! It works great!


Extend logic to detect BCP47 languages

Now, the logic can understand BCP47 languages.
After: #6978
Ref #6980

in https://github.com/abapGit/abapGit/blob/main/src/objects/core/zcl_abapgit_objects_files.clas.testclasses.abap#L57 the language "cz" is not valid, try changing it to "cs"

also fails in system,

Need help.
From my understanding the error is in zcl_abapgit_convert=>language_bcp47_to_sap1. However, afaik the unit test in the PR calls the METH with 'en' and 'de'. Both are already covered by unit tests of the zcl_abapgit_convert, so why does it fail here? What am I missing?

is all unit tests running okay in a real system? then I'll have a look at open-abap

Yes indeed.

I still get these errors when running on https://hub.docker.com/r/sapse/abap-cloud-developer-trial,

try changing "cz" to "cs", https://github.com/abapGit/abapGit/pull/6986#issuecomment-2227297986

Wait, I'd like to add a meaningful UT. Maybe this works also ABAP standalone ;)


Bug about setting a globalbox

First I would like to thank you for your code and it has been used in my project, showing very impressive performance in computing efficiency and convenience. However, when recently I want to try to limit the spatial range of the Polyhedrons, I found the globalbox function offered by your code may has a BUG:https://github.com/sikang/DecompUtil/blame/b0836c7228d19f0fa97282c584b55adf642279da/include/decomp_util/ellipsoid_decomp.h#:~:text=Vs.add(Hyperplane3D(Vec3f(0%2C%20global_bbox_max_(1)%2C%200)%2C%20Vec3f(0%2C%20-1%2C%200)))%3B
I think this line should be Vs.add(Plane3D(Vec3f(0, global_bbox_min_(1), 0), Vec3f(0, -1, 0)));. Right? Or it will generate too many polyhedra than expected.

Did you publish your project in Github @chenhanpolyu ? I'm trying to implement it in Python in 2D, but I am running into some problems.

您是否在 Github 上发布了您的项目？我正在尝试在 Python/Matlab 中以 2D 形式实现凸分解，但我遇到了一些问题。

Have you done zhe job?


Reformat events dates

Reformat dates on events pages to display the Events startDate, startTime, endDate, and endTime


Question: Are there any Apple App Store Rejections known by using ipify?

Googling i only have found rejections in context of using localization services and user ip.
PS: I love your service. It's very convenient and easy to use.

I have no idea. You might want to ask somewhere else. Github issues are really only for technical features / bugs / etc. Sorry!


rustup-init: remove dependency on file command

Some distros don't install file(1) by default.  For the purposes of userspace
architecture detection, rather than screenscrape file(1), we can check the ELF
header directly with only tools that are included in the default coreutils.
Note that printf is a builtin in some shells (like /bin/dash on Debian), and
may be less featureful than the one from coreutils, but that the syntax here
should work on all such shells.
Tested against bash, dash, and busybox sh.

r? @brson
Seems like a neat trick to me!

@zarvox you ninja!


Request support for OAI

Hi, I saw the discussion about OAI support in the issue over a year ago, do you have any recent plans to add configs to support OAI SA/NSA gNB and eNB?
Thanks in advance!

For OAI, its a bit tricky since I have only LimeSDR to work with. I did give a try recently with OAI gNB (SA) and had no luck. Can't say about the timeline when I would have an OAI working config. Will update the repo as soon as I have it working.

Thank you for reply. I'm trying to build environment with OAI, open5gs, USRP B210 and COTS UE. But I'm having a lot of problems, I'm not sure if it's a problem with my configuration or if the two themselves are not compatible. I will keep trying.


[1559] Employing school form page

Context
https://trello.com/c/Fzlrmd01/1559-m-employing-school-form-page
Changes proposed in this pull request
This is based off this PR: https://github.com/DFE-Digital/register-trainee-teachers/pull/800

Created a new edit page for trainee employing schools, with the JS autocomplete containing both lead and non-lead
schools
Is the JS is disabled, then a separate input submits a query to the no-js employing school form page

Guidance to review

Populate your database with some lead schools, like so:
FactoryBot.create_list(:school, 10)
Navigate to a draft trainee
Navigate to trainees/:slug/employing-schools/edit
Search for one of the schools you created, select and continue
Return to the form, search again, but don't select anything from the dropdown.
Check that you're redirected to the no-JS version of the employing school page with your query, and a list of matching schools
Select one and continue

All good


Avoid repetition, remove useless task in nova_migration key

The code had an issue, the _nova_key was overridden even if the key did
exist.
In addition, there were too many repetition of the same path, leading to
potential issues if we want to update it later.
This patch corrects both issues, removes a task, and re-use the
stat.path data since it's available even if the file doesn't exists.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/lgtm

/approve
lets get this in


Upgrade JRuby Gradle plugins to 1.0

The JRuby Gradle plugins have reached 1.0. We should upgrade and align with them.
http://jruby-gradle.org/news/2015/08/04/jrubygradle-one-point-oh/
Note that the default JRuby runtime is JRuby <IP_ADDRESS>.
We should also look into the jar plugin again and see if we can use it now. Currently, we're only using the base plugin because the jar plugin didn't fit our use case. If that's still the case, we should make sure to file issues upstream so that eventually we can use it.
I think it's fine to upgrade only the 1.6.0 branch, but I'll leave that decision up to @robertpanzer.

I just wanted to start migrating to the base plugin 1.0.1, but stumbled over this:
https://github.com/jruby-gradle/jruby-gradle-plugin/issues/181

Good to see that you found room for improvement in the new plugin. Let's follow that thread to see where it leads, then head back here once we can use prerelease versions again.

I can actually start already to check if the jar plugin could be used for asciidoctorj-core as this bug only affects the current "satellite" projects around core.

:+1:

I am unsure if the jar plugin is a good approach.
Testing
For the task named test the environment vars GEM_HOME and JARS_HOME are set to the target directories of the jrubyPrepare task. (See https://github.com/jruby-gradle/jruby-gradle-plugin/blob/master/jruby-gradle-jar-plugin/src/main/groovy/com/github/jrubygradle/jar/JRubyJarPlugin.groovy#L29 )
This means that:

If we filter gem contents like we do in the pdf project we test with a different scenario as it will finally run. The tests would always see the full gem contents, but we would use the filtered content after the final jar is built.
If we have additional test tasks, e.g. for Osgi integration tests, we have to copy this behavior into our build scripts.
3: How should we do things like patching Ruby files or gemspecs like we did in the past? I don't see any hooks for that and editing in place after gem installation seems to be a bad idea imo as it would probably break input/output caching of the tasks (correct me from wrong.)

Packaging
Then I have the impression that I did not understand yet what the jrubyJar task should do.
When I invoke the jrubyJar task I get an asciidoctorj-jruby-1.6.0-SNAPSHOT.jar, after 5 minutes(*)!!!, that contains a JRuby jar and a little bit more, but I can't find neither the asciidoctorj classes nor the gems!?
Do I have to configure that myself?
How do we want to enable a user to switch between different JRuby runtimes?
At the moment this is just overriding a dependency or adding another jruby.jar to the classpath.
What should we do with the satellite projects?
We surely don't want to package JRuby into asciidoctorj-pdf as well.
At the moment I think the use case of the jruby-gradle.jar is a totally different one from what we are doing.
(*) And my machine is not too slow, usually a clean AsciidoctorJ build takes about 5 minutes.

I've been out of touch on this, but any bugs you might find related to JRubyJar we will fix  in the plugin.
The library() in the plugin's configuration, has as it's main use-case the building of asciidoctorj. So most definitely we need to get it fixed.

I'll add some context:
I opened this post in the mailing-list: https://groups.google.com/forum/#!topic/jruby-gradle/bktpjT7Si5k.
Mainly it revolves about the library() option not working properly and the possibilty to generate jars like our own directly with the jar plugin.
Finally, during today's gitter talk (to which I arrived late ><), this issue was filled in the jruby-gradle-plugin to see to it.
https://github.com/jruby-gradle/jruby-gradle-plugin/issues/204

Thanks for identifying these requirements, @robertpanzer and @abelsromero. This is exactly the steps we need to take so that we can converge with the plugin. The way I look at the custom scripts in AsciidoctorJ is like a requirements list for what we would need to switch to the plugin. I do believe that rolling this into a Gradle plugin / task is the goal here. If fixing the jar plugin to cover this use case (a very common use case, I might add), then that's great. If it means another plugin or task, then that's what we'll need to do. But I think we definitely want to eventually get rid of the custom scripting.
The custom filtering would be nice, but I wouldn't say it's a hard requirement. We really shouldn't have to be doing that...better is to fix the gems upstream. We just happened to be able to use that workaround in the past.
Of course, all of this packaging would be totally eliminated if JRuby had the ability to use a gem directly, without having to repackage it. I dream of that day :)

At the moment I think the use case of the jruby-gradle.jar is a totally different one from what we are doing.

If we all agree that this is true, we may want to start pushing for a new task, as I suggested in my last comment.

@ysb33r Here you are:)

One thing to realise is that once we go for JRuby 9k we wave goodbye to 1.6 compatibility. The latter versions of JRuby-Gradle are also no longer 1.6 compatible. This will also have a knock-on effect on the asciidoctor-gradle plugin.

At the moment the 1.6.0 snapshots already compile for Java 7.
So at least for that release this decision is already done.
Would this be an issue for future gradle plugins?

Am 26.11.2015 um 18:39 schrieb Schalk W. Cronjé<EMAIL_ADDRESS>One thing to realise is that once we go for JRuby 9k we wave goodbye to 1.6 compatibility. The latter versions of JRuby-Gradle are also no longer 1.6 compatible. This will also have a knock-on effect on the asciidoctor-gradle plugin.
—
Reply to this email directly or view it on GitHub https://github.com/asciidoctor/asciidoctorj/issues/375#issuecomment-159965723.

@aalmiray might have an opinion, but I would just settle for 1.7. The current asciidoctor-gradle plugin (1.5.3) has enough stable functionality for people who still use 1.6.

ALso currently we cannot upgradle the Gradle version as nebula-publishing fails with anythign Gradle 2.3+. (Raised this as nebula-plugins/nebula-publishing-plugin#55).

@robertpanzer I have upgraded to jruby-gradle 1.1.5 and simplified the build scripts a bit, but I get a number of errors with jruby 1.7.21. Also using jruby <IP_ADDRESS> fails >90% of the test. Have you see any failures?

Also using jruby <IP_ADDRESS> fails >90% of the test. Have you see any failures?

Just ignore what I said there. It's late and I had <IP_ADDRESS> configured. (Also <IP_ADDRESS> does not exist, latest is <IP_ADDRESS>)

I am however seeing 10 failures with both 1.7.21 and  <IP_ADDRESS>. All of these failures as InitializationError exceptions with a typical stack trace such as
java.lang.NoSuchMethodError: org.spockframework.runtime.JUnitDescriptionGenerator.attach()V
	at org.jboss.arquillian.spock.ArquillianSputnik.getSpec(ArquillianSputnik.java:181)
	at org.jboss.arquillian.spock.ArquillianSputnik.runExtensionsIfNecessary(ArquillianSputnik.java:190)
	at org.jboss.arquillian.spock.ArquillianSputnik.getDescription(ArquillianSputnik.java:155)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:83)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)

Arquillian Sputnik does not run with Spock 1.0 yet.
That's why we currently still use Spock 0.7.


[Radio Group] component cannot be selected

Thank you for the wonderful UI library.
Issue
The radio group component cannot be selected.
In detail, the absence of an input element prevents the component from functioning as a radio button.
Temporary Solution
Use the ItemHiddenInput component from @ark-ui.
import * as RadioGroup from "~/components/ui/radio-group";
import { RadioGroup as RadioGroupArk } from "@ark-ui/react/radio-group";

...

  <RadioGroup.Root name="process">
    {options.map((option) => (
      <RadioGroup.Item
        key={option.value}
        value={option.value}
      >
        <RadioGroup.ItemControl />
        <RadioGroup.ItemText>{option.label}</RadioGroup.ItemText>
        <RadioGroupArk.ItemHiddenInput />
      </RadioGroup.Item>
    ))}
  </RadioGroup.Root>
...

Fundamental Solution
Create an ItemHiddenInput component in park-ui.
The code is as follows.
(radio-group.tsx)
...
export const ItemHiddenInput = withContext<
  HTMLInputElement,import { ItemHiddenInput } from "node_modules/@ark-ui/react/dist/components/radio-group/radio-group";
  Assign<JsxStyleProps, RadioGroup.ItemHiddenInputProps>
>(RadioGroup.ItemHiddenInput, "itemHiddenInput");
...

In making this change, it is necessary to correct the type of context, which requires modifications to the recipe.
May I create a PR for this issue?
Also, if you have any advice, please let me know.

Also running into this issue. Thanks for reporting it, @calloc134 ; the report made it much easier to find the solution.
Minor suggestion: use
import { RadioGroupItemHiddenInput } from '@ark-ui/react'
instead of
import { ItemHiddenInput } from "node_modules/@ark-ui/react/dist/components/radio-group/radio-group";

Can I help you with anything?
May I assist you in investigating the cause of this issue?

Related: #325

@calloc134
HiddenInput was missing. Should be fixed by now


Cleanup dummy change

Going to use this for round 2 of testing https://github.com/Expensify/App/pull/4274. Please approve but don't merge just yet 🙏

🚀 Deployed to production by @isagoico in version: 1.0.85-9 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Feature Request - Add tags and modify comments of annotations

Currently the Zotero.add_tags() only works for metadata tags, but it would be convenient to modify tags and even update comments of annotations. It wouldn't make much sense to modify the other items of the annotation dict, maybe annotation color. My use case is to connect Zotero notes to Dendron a note taking tool in VsCode. After importing notes to Dendron, I would like to be able to modify them there, and write the changes back to Zotero. This would be possible with the requested feature. Thanks for your consideration.

This isn't currently supported by the Zotero API. See https://github.com/urschrei/pyzotero/issues/148

Thanks for your speedy response! From what I saw it looks like the issue is that they haven't documented it yet.

Hmm. I'll have to think about what the API looks like, and I'm hesitant to add public API methods for undocumented features.
In the mean time, v1.5.3 (just released to pypi) now supports annotation fields, so you can modify annotation items (retrieved as per #148), by altering their ['data']['annotationComment'] and ['data']['tags'] keys, then write the changes to your library using update_item(modified_item). I just tried this and the changes appear exactly as you would expect.

🤦♂ I left out annotationText. I've just pushed 1.5.4 to pypi – try that? (sorry!)

Works perfectly now. Thank you!

@EricThrift Oops. Just published 1.5.5 with a fix.


Warning, no ricardian clauses found for {project name}

hi
when try to generate .abi files I am getting this error every time. I am literally trying to solve this for 3 days but I was not able to find any solution. this is the complete output of the terminal.
2018-08-05T11:32:02.534 thread-0   abi_generator.hpp:68          ricardian_contracts  ] Warning, no ricardian clauses found for newface
2018-08-05T11:32:02.535 thread-0   abi_generator.hpp:75          ricardian_contracts  ] Warning, no ricardian contract found for add
2018-08-05T11:32:02.535 thread-0   abi_generator.hpp:75          ricardian_contracts  ] Warning, no ricardian contract found for update
2018-08-05T11:32:02.535 thread-0   abi_generator.hpp:75          ricardian_contracts  ] Warning, no ricardian contract found for getstatus
2018-08-05T11:32:02.535 thread-0   abi_generator.hpp:75          ricardian_contracts  ] Warning, no ricardian contract found for add_like
2018-08-05T11:32:04.481 thread-0   main.cpp:105                  main                 ] 3010001 name_type_exception: Invalid name
Name not properly normalized (name: add_like, normalized: add.like)
{"name":"add_like","normalized":"add.like"}
thread-0  name.cpp:15 set
{}
thread-0  abi_generator.cpp:190 inspect_type_methods_for_actions

{}
thread-0  abi_generator.cpp:306 handle_decl

{"decl_location":"/Users/hamza/NEWFACE/contracts/newface/newface.cpp:7:11"}
thread-0  abi_generator.cpp:44 handle_tagdecl_definition

2018-08-05T11:32:04.481 thread-0   main.cpp:105                  main                 ] output: {"version":"eosio::abi/1.0","types":[],"structs":[{"name":"status","base":"","fields":[{"name":"account_name","type":"uint64"},{"name":"data","type":"string"},{"name":"likes","type":"uint64"}]},{"name":"add","base":"","fields":[{"name":"account","type":"name"},{"name":"data","type":"string"}]},{"name":"update","base":"","fields":[{"name":"account","type":"name"},{"name":"data","type":"string"}]},{"name":"getstatus","base":"","fields":[{"name":"account","type":"name"}]},{"name":"add_like","base":"","fields":[{"name":"account","type":"name"},{"name":"like","type":"uint64"}]}],"actions":[{"name":"add","type":"add","ricardian_contract":""},{"name":"update","type":"update","ricardian_contract":""},{"name":"getstatus","type":"getstatus","ricardian_contract":""}],"tables":[{"name":"status","index_type":"i64","key_names":["account_name"],"key_types":["uint64"],"type":"status"}],"ricardian_clauses":[],"error_messages":[],"abi_extensions":[]}

You can't use _ in action names.


Add Save Undo and Redo next to Nav - as an option

To the right of the top left nav icon is space to add those three icons, maybe an extension
I feel it's a lot of wasted space that has potentional ( especially when in split mode to be used in lieu of keyboard shortcuts

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Skip checking GCE presence

Adds a flag which allows to use gcloud authentication workflow even on instances running on GCE. It provides a workaround to use regular user account on GCE machines that don't have particular user configured as an Owner or Editor of a project.

I don't quite see how your change does what it says it does: you are changing how 'onGCE' is initialized, and that is only ever used by checkFlags. In checkFlags, when onGCE is false it just disables some more checks and verifies that the user hasn't set any flags which don't work outside of GCE.
Can you please explain your problem a little more? The GCE-related logic should be a fallback if no other specific flags are set (at least it used to be, I haven't followed along with recent changes...), so I think there's just another flag you can already use.
What "authentication workflow" is gcloud using that you want to use? If there's a service account you could point to that service account file with credential_file.