Is it possible to get the title of the videos of a playlist without downloading them?

Do you mean, to get the titles of each video, but not download the videos themselves?
You should be able to, once you have a URL to the video.
The Playlist object has a method to gather those URLs, and then you can create YouTube objects out of each. No need to download each video.
from pytube import YouTube, Playlist
pl = Playlist("your playlist here")
pl.populate_video_urls()  # fills the pl.video_urls with all links from the playlist
urls = pl.video_urls

for url in urls:
    vid_title = YouTube(url).title  # here's what you want

@gregdan3  Just tried that, I get

> Reloading due to file change: api.py
Serving on :8000...
Traceback (most recent call last):
  File "/home/elie/anaconda3/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/falcon/api.py", line 244, in __call__
    responder(req, resp, **params)
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/hug/interface.py", line 793, in __call__
    raise exception
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/hug/interface.py", line 766, in __call__
    self.render_content(self.call_function(input_parameters), context, request, response, **kwargs)
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/hug/interface.py", line 703, in call_function
    return self.interface(**parameters)
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/hug/interface.py", line 100, in __call__
    return __hug_internal_self._function(*args, **kwargs)
  File "api.py", line 38, in youtube_url
    pytube_test(url)

## heres the part related to pytube

File "api.py", line 16, in pytube_test
    pl.populate_video_urls()  # fills the pl.video_urls with all links from the playlist
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/pytube/contrib/playlist.py", line 95, in populate_video_urls
    link_list = self.parse_links()
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/pytube/contrib/playlist.py", line 61, in parse_links
    url = self.construct_playlist_url()
  File "/home/elie/Desktop/hug/venv/lib/python3.6/site-packages/pytube/contrib/playlist.py", line 36, in construct_playlist_url
    playlist_code = self.playlist_url.split('&list=')[1]
IndexError: list index out of range
<IP_ADDRESS> - - [26/Dec/2018 22:34:37] "GET /api?url=https://www.youtube.com/watch?v=1cQh1ccqu8M&list=PLyjgHc47unfT3BIZo5uEt2a-2TWKy54sU HTTP/1.1" 500 59

Here's my code
def pytube_test(url):
    pl = Playlist(url)
    pl.populate_video_urls()  # fills the pl.video_urls with all links from the playlist
    urls = pl.video_urls
    for url in urls:
        vid_title = YouTube(url).title  # here's what you want
        print (vid_title)

@hug.get('/api')
def youtube_url(url):
    pytube_test(url)

And here's the url I'm testing with
http://localhost:8000/api?url=https://www.youtube.com/watch?v=1cQh1ccqu8M&list=PLyjgHc47unfT3BIZo5uEt2a-2TWKy54sU

When I ran your code with that URL, I first got this error:
$ python c:/.../youtube/playlisttest.pyTraceback (most recent call last):
  File "c:/.../youtube/playlisttest.py", line 23, in <module>
    youtube_url('https://www.youtube.com/watch?v=1cQh1ccqu8M&list=PLyjgHc47unfT3BIZo5uEt2a-2TWKy54sU')
  File "c:/.../youtube/playlisttest.py", line 21, in youtube_url
    pytube_test(url)
  File "c:/CFRL/.../playlisttest.py", line 17, in pytube_test
    vid_title = YouTube(url).title  # here's what you want
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 88, in __init__
    self.prefetch_init()
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 97, in prefetch_init
    self.init()
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 133, in init
    mixins.apply_signature(self.player_config_args, fmt, self.js)
  File "C:\...\Python\Python37\lib\site-packages\pytube\mixins.py", line 49, in apply_signature
    signature = cipher.get_signature(js, stream['s'])
  File "C:\...\Python\Python37\lib\site-packages\pytube\cipher.py", line 250, in get_signature
    tplan = get_transform_plan(js)
  File "C:\...\Python\Python37\lib\site-packages\pytube\cipher.py", line 69, in get_transform_plan
    name = re.escape(get_initial_function_name(js))
  File "C:\...\Python\Python37\lib\site-packages\pytube\cipher.py", line 45, in get_initial_function_name
    return regex_search(pattern, js, group=1)
  File "C:\...\Python\Python37\lib\site-packages\pytube\helpers.py", line 41, in regex_search
    .format(pattern=p),
pytube.exceptions.RegexMatchError: regex pattern (yt\.akamaized\.net/\)\s*\|\|\s*.*?\s*c\s*&&\s*d\.set\([^,]+\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\() had zero matches

This matches another issue, #312, which was already fixed #313.
So I updated pytube (I was running the latest version in pip, 9.3.5, but above is 9.3.6) with the following command:
pip install git+https://github.com/nficano/pytube.git
And got a new error, though this was expected:
$ python c:/.../youtube/playlisttest.py
Nickelback - How You Remind Me
Traceback (most recent call last):
  File "c:/.../youtube/playlisttest.py", line 23, in <module>
    youtube_url('https://www.youtube.com/watch?v=1cQh1ccqu8M&list=PLyjgHc47unfT3BIZo5uEt2a-2TWKy54sU')
  File "c:/.../youtube/playlisttest.py", line 21, in youtube_url
    pytube_test(url)
  File "c:/.../youtube/playlisttest.py", line 17, in pytube_test
    vid_title = YouTube(url).title  # here's what you want
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 88, in __init__
    self.prefetch_init()
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 96, in prefetch_init
    self.prefetch()
  File "C:\...\Python\Python37\lib\site-packages\pytube\__main__.py", line 162, in prefetch
    raise VideoUnavailable('This video is unavailable.')
pytube.exceptions.VideoUnavailable: This video is unavailable.

The second video in the playlist is blocked in my country. Ouch.
However, this DID work for the first video; catching the exception and continuing did not cause any more errors.
But, I can't seem to reproduce the error you got, either with my code or yours, though I haven't tested on python 3.6 which you seem to be using.
From what I can tell, the line that caused the error (.split('&list=')) should not fail in 3.6 or 3.7, as long as there is a string '&list=' in the url you pass. I'm not sure what happened, exactly.
Do you have any other information about what happened? And, have you tried running it without the api lines from hug?

@gregdan3 After upgrading everything worked, thank you so much.


logger_formatters_test.go fail.

Do you want to request a feature or report a bug?

Bug

What did you do?
when i run logger_formatters_test.go  on windows 10, one test failed.

What did you expect to see?
=== RUN   TestCommonLogFormatter_Format
=== RUN   TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== PAUSE TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== RUN   TestCommonLogFormatter_Format/all_data
=== PAUSE TestCommonLogFormatter_Format/all_data
=== RUN   TestCommonLogFormatter_Format/all_data_with_local_time
=== PAUSE TestCommonLogFormatter_Format/all_data_with_local_time
=== CONT  TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== CONT  TestCommonLogFormatter_Format/all_data_with_local_time
=== CONT  TestCommonLogFormatter_Format/all_data
--- PASS: TestCommonLogFormatter_Format (0.00s)
    --- PASS: TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil (0.00s)
    --- PASS: TestCommonLogFormatter_Format/all_data (0.00s)
    --- PASS: TestCommonLogFormatter_Format/all_data_with_local_time (0.00s)
PASS

What did you see instead?
=== RUN   TestCommonLogFormatter_Format
=== RUN   TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== PAUSE TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== RUN   TestCommonLogFormatter_Format/all_data
=== PAUSE TestCommonLogFormatter_Format/all_data
=== RUN   TestCommonLogFormatter_Format/all_data_with_local_time
=== PAUSE TestCommonLogFormatter_Format/all_data_with_local_time
=== CONT  TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil
=== CONT  TestCommonLogFormatter_Format/all_data_with_local_time
=== CONT  TestCommonLogFormatter_Format/all_data
--- FAIL: TestCommonLogFormatter_Format (0.00s)
    --- PASS: TestCommonLogFormatter_Format/OriginStatus_&_OriginContentSize_are_nil (0.00s)
    --- PASS: TestCommonLogFormatter_Format/all_data (0.00s)
    --- FAIL: TestCommonLogFormatter_Format/all_data_with_local_time (0.06s)
        logger_formatters_test.go:99:
            	Error Trace:	logger_formatters_test.go:99
            	Error:      	Not equal:
            	            	expected: "<IP_ADDRESS> - Client [10/Nov/2009:14:00:00 -0900] \"GET /foo http\" 123 132 \"referer\" \"agent\" - \"foo\" \"http://<IP_ADDRESS>/toto\" 123000ms\n"
            	            	actual  : "<IP_ADDRESS> - Client [11/Nov/2009:07:00:00 +0800] \"GET /foo http\" 123 132 \"referer\" \"agent\" - \"foo\" \"http://<IP_ADDRESS>/toto\" 123000ms\n"

            	            	Diff:
            	            	--- Expected
            	            	+++ Actual
            	            	@@ -1,2 +1,2 @@
            	            	-<IP_ADDRESS> - Client [10/Nov/2009:14:00:00 -0900] "GET /foo http" 123 132 "referer" "agent" - "foo" "http://<IP_ADDRESS>/toto" 123000ms
            	            	+<IP_ADDRESS> - Client [11/Nov/2009:07:00:00 +0800] "GET /foo http" 123 132 "referer" "agent" - "foo" "http://<IP_ADDRESS>/toto" 123000ms

            	Test:       	TestCommonLogFormatter_Format/all_data_with_local_time

 <Click to see difference>

FAIL

Output of traefik version: (What version of Traefik are you using?)

2.0.2

What is your environment & configuration (arguments, toml, provider, platform, ...)?
I run the source code on my windows 10.

Hello,
the problem don't seems related to Windows 10 but to timezone
- "<IP_ADDRESS> - Client [11/Nov/2009:07:00:00 +0800] \"GET /foo http\" 123 132 \"referer\" \"agent\" - \"foo\" \"http://<IP_ADDRESS>/toto\" 123000ms\n"
+ "<IP_ADDRESS> - Client [10/Nov/2009:14:00:00 -0900] \"GET /foo http\" 123 132 \"referer\" \"agent\" - \"foo\" \"http://<IP_ADDRESS>/toto\" 123000ms\n"

:thinking: I reproduce

I found the issue it's a side effect of the parallel run of the tests.

In fact I reproduce only if I use a defer to remove the env var.

It's just related to how the timezone are managed by Windows.
I do not know how to modify this test for Windows.

thank you for your reply.
I solved the problem  on my local enviroment just like below:

then i  can close the  issue.


Error using rez on windows

I'm trying to build the hello_world example package provided with rez but I'm getting errors just doing the cmake compiler tests that I don't get when just running cmake by itself without rez.
When I run rez-build on the hello_world project, I get the following output:
NOTE: I get this same output even if the CMakeLists.txt file only contains the cmake_minimum_required command
Executing: c:\program files (x86)\cmake\bin\cmake.exe -d C:\Users\babel\workspace\rez\example_packages\hello_world -Wno-dev -DCMAKE_ECLIPSE_GENERATE_S
OURCE_PROJECT=TRUE -D_ECLIPSE_VERSION=4.3 --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=C:\Users\babel\packages\hello_world\1.0.0 -DCMAKE_MODULE_PATH=%C
MAKE_MODULE_PATH% -DCMAKE_BUILD_TYPE=Release -DREZ_BUILD_TYPE=local -DREZ_BUILD_INSTALL=0 -G NMake Makefiles
Not searching for unused variables given on the command line.
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "C:/Program Files (x86)/Microsoft Visual Studio
  14.0/VC/bin/cl.exe" is not able to compile a simple test program.

  It fails with the following output:

   Change Dir: C:/Users/babel/workspace/rez/example_packages/hello_world/build/CMakeFiles/CMakeTmp

  Run Build Command:"nmake" "/NOLOGO" "cmTC_62b41\fast"

        "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe" -f
  CMakeFiles\cmTC_62b41.dir\build.make /nologo -L
  CMakeFiles\cmTC_62b41.dir\build

  Building C object CMakeFiles/cmTC_62b41.dir/testCCompiler.c.obj

        C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe
  @C:\Users\babel\AppData\Local\Temp\nm7D7D.tmp

  testCCompiler.c

  Linking C executable cmTC_62b41.exe

        "C:\Program Files (x86)\CMake\bin\cmake.exe" -E vs_link_exe
  --intdir=CMakeFiles\cmTC_62b41.dir --manifests --
  C:\PROGRA~2\MICROS~1.0\VC\bin\link.exe /nologo
  @CMakeFiles\cmTC_62b41.dir\objects1.rsp
  @C:\Users\babel\AppData\Local\Temp\nm7DDC.tmp

  RC Pass 1 failed to run.

  NMAKE : fatal error U1077: '"C:\Program Files (x86)\CMake\bin\cmake.exe"' :
  return code '0xffffffff'

  Stop.

  NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
  14.0\VC\bin\nmake.exe"' : return code '0x2'

  Stop.

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt

-- Configuring incomplete, errors occurred!
See also "C:/Users/babel/workspace/rez/example_packages/hello_world/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/babel/workspace/rez/example_packages/hello_world/build/CMakeFiles/CMakeError.log".
rez: BuildError: The cmake build system failed

However, if I just use cmake directly to build the hello_world project, I get this successful output from cmake
NOTE: obviously, I have to remove everything except the cmake_minimum_required command from the build file, but the C compiler tests complete succesfully using cmake and not with rez.

-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/babel/workspace/rez/example_packages/hello_world

I have exact the same problem!
Before calling rez-* i sourced C:\VC\VC\bin\amd64\vcvars64.bat
Invoking cmake build system...
Executing: c:\cmake\bin\cmake.exe -d C:\Users\alex\sandbox\rezolution\testgeo -Wno-dev -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -D_ECLIPSE_VERSION=4.3 --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=~sandbox\rezolution\dev\testgeo\0.0.1 -DCMAKE_MODULE_PATH=%CMAKE_MODULE_PATH% -DCMAKE_BUILD_TYPE=Release -DREZ_BUILD_TYPE=local -DREZ_BUILD_INSTALL=0 -G NMake Makefiles
Not searching for unused variables given on the command line.
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/VC/VC/bin/amd64/cl.exe
-- Check for working C compiler: C:/VC/VC/bin/amd64/cl.exe -- broken
CMake Error at C:/CMake/share/cmake-3.7/Modules/CMakeTestCCompiler.cmake:51 (message):
The C compiler "C:/VC/VC/bin/amd64/cl.exe" is not able to compile a simple
test program.
It fails with the following output:
Change Dir: C:/Users/alex/sandbox/rezolution/testgeo/build/CMakeFiles/CMakeTmp
Run Build Command:"nmake" "/NOLOGO" "cmTC_c0e07\fast"
    C:\VC\VC\bin\amd64\nmake.exe -f CMakeFiles\cmTC_c0e07.dir\build.make

/nologo -L CMakeFiles\cmTC_c0e07.dir\build
Building C object CMakeFiles/cmTC_c0e07.dir/testCCompiler.c.obj
    C:\VC\VC\bin\amd64\cl.exe @C:\Users\alex\AppData\Local\Temp\nmA28F.tmp

testCCompiler.c
Linking C executable cmTC_c0e07.exe
    C:\CMake\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_c0e07.dir

--manifests -- C:\VC\VC\bin\amd64\link.exe /nologo
@CMakeFiles\cmTC_c0e07.dir\objects1.rsp
@C:\Users\alex\AppData\Local\Temp\nmA2CF.tmp
RC Pass 1 failed to run.
NMAKE : fatal error U1077: 'C:\CMake\bin\cmake.exe' : return code
'0xffffffff'
Stop.
NMAKE : fatal error U1077: 'C:\VC\VC\bin\amd64\nmake.exe' : return code
'0x2'
Stop.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt
-- Configuring incomplete, errors occurred!
See also "C:/Users/alex/sandbox/rezolution/testgeo/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/alex/sandbox/rezolution/testgeo/build/CMakeFiles/CMakeError.log".
rez: BuildError: The cmake build system failed!

Ok, the problem is rez-build does not inherit parent environment. For now i come up with just monkey patching source code and passing parent environment to subshell. I know it's bad, and should be done more elegant (suggestions?), but it's fine for now while i'm testing.

Hi alexxbb,
Rez does inherit the env (unless there's a Windows-specific issue I'm not
aware of), however it does overwrite vars that get pre/appended. I would
like to provide more control over this behavior. Specifically, the most
useful default behavior would be to retain the pre-rez-env value of
variables such as PATH, and append that to the overwritten result within
the rez env.
Thx
A
On Wed, Nov 23, 2016 at 3:09 AM, alexxbb<EMAIL_ADDRESS>wrote:

Ok, the problem is rez-build does not inherit parent environment. For now
i come up with just monkey patching source code and passing parent
environment to subshell. I know it's bad, and should be done more elegant
(suggestions?), but it's fine for now while i'm testing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/348#issuecomment-262425919, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSowxmBxQQtGOOYh0DvC8jjskIVIyks5rA65UgaJpZM4KHDM_
.

Hi,
Experiencing similar issues here, calling rez-build --install will fail not finding CC nor CXX:
C:\Program Files (x86)\Microsoft Visual C++ Build Tools>d:

D:\>cd rez-2.2.0

D:\rez-2.2.0>cd example_packages

D:\rez-2.2.0\example_packages>cd hello_world

D:\rez-2.2.0\example_packages\hello_world>rez-build --install

--------------------------------------------------------------------------------
Building hello_world-1.0.0...
--------------------------------------------------------------------------------
Resolving build environment: python
resolved by<EMAIL_ADDRESS>on Wed Jan 11 17:43:56 2017, using Rez v2.2.0

requested packages:
python
~platform==windows       (implicit)
~arch==AMD64             (implicit)
~os==windows-10.0.14393  (implicit)

resolved packages:
arch-AMD64             C:\Users\thomas\packages\arch\AMD64                                                       (local)
os-windows-10.0.14393  C:\Users\thomas\packages\os\windows-10.0.14393                                            (local)
platform-windows       C:\Users\thomas\packages\platform\windows                                                 (local)
python-2.7.13          C:\Users\thomas\packages\python\2.7.13\platform-windows\arch-AMD64\os-windows-10.0.14393  (local)

Invoking cmake build system...
Executing: d:\applications\cmake-3.7.1-win64-x64\bin\cmake.exe -d D:\rez-2.2.0\example_packages\hello_world -Wno-dev -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -D_ECLIPSE_VERSION=4.3 --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=C:\Users\thomas\packages\hello_world\1.0.0 -DCMAKE_MODULE_PATH=%CMAKE_MODULE_PATH% -DCMAKE_BUILD_TYPE=Release -DREZ_BUILD_TYPE=local -DREZ_BUILD_INSTALL=1 -G NMake Makefiles
Not searching for unused variables given on the command line.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error in CMakeLists.txt:
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.

CMake Error in CMakeLists.txt:
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!
See also "D:/rez-2.2.0/example_packages/hello_world/build/CMakeFiles/CMakeOutput.log".
See also "D:/rez-2.2.0/example_packages/hello_world/build/CMakeFiles/CMakeError.log".
rez: BuildError: The cmake build system failed

but invoking cmake .  successfully manage to locate the compiler(s):
D:\rez-2.2.0\example_packages\hello_world>cmake .
-- Building for: NMake Makefiles
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:3 (include):
  include could not find load file:

    RezBuild

CMake Error at CMakeLists.txt:6 (rez_install_python):
  Unknown CMake command "rez_install_python".

-- Configuring incomplete, errors occurred!
See also "D:/rez-2.2.0/example_packages/hello_world/CMakeFiles/CMakeOutput.log".

D:\rez-2.2.0\example_packages\hello_world>

It would be great to have a solution that does not involve patching the source code.
@alexxbb : Would you mind sharing your work around please?
Cheers,
Thomas

Hi all,
As you may be aware, I'm leaving rez Windows dev to others. I have an eye
on this thread though, and if a candidate PR is put forward then I'll make
time to get it merged, since this appears to be a problem for a number of
people.
Thanks
Allan
On Wed, Jan 11, 2017 at 3:54 PM, Thomas Mansencal<EMAIL_ADDRESS>wrote:

Hi,
Experiencing similar issues here, calling rez-build --install will fail
not finding CC nor CXX:
C:\Program Files (x86)\Microsoft Visual C++ Build Tools>d:
D:>cd rez-2.2.0
D:\rez-2.2.0>cd example_packages
D:\rez-2.2.0\example_packages>cd hello_world
D:\rez-2.2.0\example_packages\hello_world>rez-build --install

Building hello_world-1.0.0...
Resolving build environment: python
resolved by<EMAIL_ADDRESS>on Wed Jan 11 17:43:56 2017, using Rez v2.2.0
requested packages:
python
~platform==windows       (implicit)
~arch==AMD64             (implicit)
~os==windows-10.0.14393  (implicit)
resolved packages:
arch-AMD64             C:\Users\thomas\packages\arch\AMD64                                                       (local)
os-windows-10.0.14393  C:\Users\thomas\packages\os\windows-10.0.14393                                            (local)
platform-windows       C:\Users\thomas\packages\platform\windows                                                 (local)
python-2.7.13          C:\Users\thomas\packages\python\2.7.13\platform-windows\arch-AMD64\os-windows-10.0.14393  (local)
Invoking cmake build system...
Executing: d:\applications\cmake-3.7.1-win64-x64\bin\cmake.exe -d D:\rez-2.2.0\example_packages\hello_world -Wno-dev -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -D_ECLIPSE_VERSION=4.3 --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=C:\Users\thomas\packages\hello_world\1.0.0 -DCMAKE_MODULE_PATH=%CMAKE_MODULE_PATH% -DCMAKE_BUILD_TYPE=Release -DREZ_BUILD_TYPE=local -DREZ_BUILD_INSTALL=1 -G NMake Makefiles
Not searching for unused variables given on the command line.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error in CMakeLists.txt:
The CMAKE_C_COMPILER:
cl

is not a full path and was not found in the PATH.
To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line.  This environment is
unable to invoke the cl compiler.  To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
CMake Error in CMakeLists.txt:
The CMAKE_CXX_COMPILER:
cl

is not a full path and was not found in the PATH.
To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line.  This environment is
unable to invoke the cl compiler.  To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "D:/rez-2.2.0/example_packages/hello_world/build/CMakeFiles/CMakeOutput.log".
See also "D:/rez-2.2.0/example_packages/hello_world/build/CMakeFiles/CMakeError.log".
rez: BuildError: The cmake build system failed
but invoking cmake . successfully manage to locate the compiler(s):
D:\rez-2.2.0\example_packages\hello_world>cmake .
-- Building for: NMake Makefiles
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:3 (include):
include could not find load file:
RezBuild

CMake Error at CMakeLists.txt:6 (rez_install_python):
Unknown CMake command "rez_install_python".
-- Configuring incomplete, errors occurred!
See also "D:/rez-2.2.0/example_packages/hello_world/CMakeFiles/CMakeOutput.log".
D:\rez-2.2.0\example_packages\hello_world>
It would be great to have a solution that does not involve patching the
source code.
@alexxbb https://github.com/alexxbb : Would you mind sharing your work
around please?
Cheers,
Thomas
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/348#issuecomment-271778051, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSkVcAPmq6dGtdBC1Ev6Ru9nBVS-uks5rRGCggaJpZM4KHDM_
.

@nerdvegas (Allan): Are the developers supporting Windows platform aware of that issue? Could they be dragged in the convo?

I will have to take a closer look. My initial suspicion would be related to the way rez handles environment variables on windows. How do you make your shell aware of cl when manually running cmake? By running a VS developer shell?
Cheers,
Thorsten

I'm not entirely sure how cmake finds cl.  It's not in $PATH.  I think cmake discovers it somehow.  I don't have to do anything special to make cmake find the msbuild compiler in a normal shell.  Only the msbuild bin directory is on the $PATH.
Sorry, I know this isn't particularly helpful.  Is there some way to get rez to print the env vars during rez-build?  I can't seem to get it to spit out anything useful.

I guess this relates to this thread i started a while back: https://groups.google.com/forum/#!topic/rez-config/psZodWdgrxY
Typically you would call cl from a visual studio prompt. But because rez pulls its PATH etc. Variables from the registry rather than the environment you can not inject into PATH in an existing shell. Well you can, but it will get overwritten. This only happens the first time a package modifies PATH in any way though. Hence can be a bit unpredictable. I'd vote for changing that behavior on windows actually and get all environment variables from the shell. And i am also not sure we really want to trash it completely on first touch.

Hey Alan,
i agree, but still think the source for the environment variables should be the calling environment rather than the registry. As using the registry completely strips the possibility to modify the environment prior to launching rez (e.g. to introduce custom path entries without modifying the system).
There is quite a lot of fixes and PRs in regards to windows, some tackle the same issue differently, some do the same thing slightly different or spread out differently in commits/PRs. Would be good to get that all pulled together. I have some time reserved for rez this month. Will see if i can get at least an overview.

Hey Thorsten, that'd be great as I lack the context to prioritize any of
those overlapping features. I'm actually working on rez at the moment,
hoping to spend a chunk of next week getting on top of some PRs. But if you
can get to a good place with the Windows side of things and bring it into a
single PR, I'll prioritise merging that into master. Just give me a head's
up.
Thx
A
On Fri, Feb 10, 2017 at 7:52 PM, Thorsten Kaufmann<EMAIL_ADDRESS>
wrote:

Hey Alan,
i agree, but still think the source for the environment variables should
be the calling environment rather than the registry. As using the registry
completely strips the possibility to modify the environment prior to
launching rez (e.g. to introduce custom path entries without modifying the
system).
There is quite a lot of fixes and PRs in regards to windows, some tackle
the same issue differently, some do the same thing slightly different or
spread out differently in commits/PRs. Would be good to get that all pulled
together. I have some time reserved for rez this month. Will see if i can
get at least an overview.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/348#issuecomment-278890038, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSkNDBfMv2vjqVylratx_Jw9qCjBoks5rbCVPgaJpZM4KHDM_
.

So is there a ways to fix this? I have the same problem. Building hello_world with rez fails weil running cmake . seems to work....

I still have quite a bit of my time blocked for rez atm. "Sadly" most is in regards to designing how we deploy/provide rez itself and sync packages etc.
For packages that need building i am currently using bez wrapping around cmake anyways because i need to call cmake using specific command line options to set target platform etc.
I have yet to actually look into fixing quite a lot of windows related things and propose some changes to the cmdline plugin. But there's only so much time :(

In case it makes things easier, note that the new rez release contains the
'custom build commands' feature, so you can just exec a python file
directly, which should be cleaner.
Thx
A
On Sat, Mar 25, 2017 at 7:37 AM, Thorsten Kaufmann<EMAIL_ADDRESS>
wrote:

I still have quite a bit of my time blocked for rez atm. "Sadly" most is
in regards to designing how we deploy/provide rez itself and sync packages
etc.
For packages that need building i am currently using bez wrapping around
cmake anyways because i need to call cmake using specific command line
options to set target platform etc.
I have yet to actually look into fixing quite a lot of windows related
things and propose some changes to the cmdline plugin. But there's only so
much time :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/348#issuecomment-289136737, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSko4gBO9po5RBoPcc9hJusdNdc3zks5rpCmkgaJpZM4KHDM_
.

Thanks guys, I will give Bez a try...

Thanks willjp - you're a lifesaver! One tiny note, though - there's a typo in the line line of your vscode package.py file. You have it listed as...
command( '"{}" x64'.format(vsvarsall) )
But naturally it should be...
command( '"{}" x64'.format(vcvarsall) )

Thanks very much! I updated the comment, and I'm very glad it was helpful!!

Please note this feature, which has now been merged to master and may be relevant here: https://github.com/nerdvegas/rez/pull/454
This gives you the ability to explicitly specify an initial PATH value. Note that it would be better to modify rez's env-var management in general (as discussed earlier), but this may be a decent workaround in the interim.
Thx
A

To add to this - it seems like a simple fix might be to simply append PATH with the pre-rez-build $PATH. It isn't perfect (it assumes you haven't rez-built within a rez-env'd shell; there'll be potential duplicate paths), but it seems to me that it'd work the large majority of the time. Might be a good cheap fix until better env-var management is a thing. Thoughts?

I am not experienced at compiling, but that seems like it would make sense. That way before you ran your rez-build you could pass in your vcvarsall.bat arguments.
Stealing examples from vcvarsall.bat's help output:
vcvarsall.bat x64 8.1
vcvarsallbat x86_arm uwp 10.0.10240

I'm not sure if this is useful or relevant to this conversation, but in the end, we moved to bez. We're just using python, and occasionally cx_freeze so we didn't really need all of the power of cmake.
To make it a little more friendly, I created a bezutils.py file where I reproduced some of the cmake scripts in python, and created a rez-package that could be added to build_requires which added it to the PYTHONPATH.

We're using bez (or now custom build commands to be exact) just to call cmake as there are some cmake issues on windows. I want to look into this, currently trying to free up resources to do some rez work.


Sindy example not working in MATLAB

The Sindy example in MATLAB is not working.
I modified the code of the example only slightly so that some indexing issues don't stop MATLAB. Instead, we end up erroring out at line 159. See stack trace below. The code completes in Octave.

clc; clear; close all;

% Load CSV data
X = csvread('..\data\MotorRotation.csv'); % Can be found in the folder "data"
t = X(:, 1);
u = X(:, 2);
y = X(:, 3);
sampleTime = 0.02;

% Do filtering of y
y = filtfilt2(y', t', 0.1)';

% Sindy - Sparce identification Dynamics
activations = [1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; % Enable or disable the candidate functions such as sin(u), x^2, sqrt(y) etc...
lambda = 0.05;
l = length(u);
h = floor(l/2);
s = ceil(l/2);
fx_up = sindy(u(1:h), y(1:h), activations, lambda, sampleTime); % We go up
fx_down = sindy(u(s:end), y(s:end), activations, lambda, sampleTime); % We go down

% Simulation up
x0 = y(1);
u_up = u(1:h);
u_up = u_up(1:100:end)';
stepTime = 1.2;
[x_up, t] = nlsim(fx_up, u_up, x0, stepTime, 'ode15s');

% Simulation down
x0 = y(s);
u_down = u(s:end)
u_down = u_down(1:100:end)';
stepTime = 1.2;
[x_down, t] = nlsim(fx_down, u_down, x0, stepTime, 'ode15s');

% Compare
figure
plot([x_up x_down])
hold on
plot(y(1:100:end));
legend('Simulation', 'Measurement')
ylabel('Rotation')
xlabel('Time')
grid on

I Fixed it By change line 133  used_labels = [""];  to used_labels = []; in /sourcecode/sindy.m

I will update sindy.m file so it much easier to use. I have plans that it should only focusing on polynomial regression because I find it very useful and I have tried it out with hydraulical systems and it works like a charm.

@DanielMartensson, have you fixed this?

@DanielMartensson, have you fixed this?

@jasonnicholson I have tried the example. It seems to work for me.

It works in Octave but not MATLAB. Something is different.

Try it now. I have changed sindy.m a lot.


frontend starter code and outline

Created some basic starter code using create-react-app and some page skeletons to be filled in later

#7

closes #7


Add support for radians for Proj & Transformer.from_pipeline

With this addition: https://github.com/OSGeo/PROJ/pull/2144
We are able to support input as radians. Currently, only degrees are supported.

Related to: https://github.com/pyproj4/pyproj/issues/611#issuecomment-622949375
Since Proj used to accept kwargs and radians was an input argument in pyproj v1, I am thinking that it would be worthwhile in 2.6.1 to add the radians argument and raise a warning if it is set to True that it is currently ignored, but will work with pyproj 3+.


Prover solution was below the necessary proof target

🐛 Bug Report

Prover solution was below the necessary proof target
Steps to Reproduce

execute run-prover.sh and then input the private key
Expected Behavior
The node runs normally

Your Environment
OS: Ubuntu 20.04.2 LTS
CPU: 2 X AMD EPYC 7601 32-Core Processor (128 phisical thread in total)
Memory: 1 TB
I'm totally aware of issue #2056, but I believe this machine should be powerful enough to generate proofs.

Indeed. While the cpu utilization could definitely be better on our side I think there is something else causing this. Will need to investigate more. Thanks for the report

Though I only have a small snippet of your logs, I believe this should be normal.
A prover solution's target is randomly sampled with u64::MAX / hash_to_u64(commitment). With a proof target of 70000, there is  a 0.001428571% chance of generating a valid solution on each iteration.
Effectively, this means you should be sampling ~70000 solutions that are insufficient before finding a valid one. (Each insufficient solution will output a Prover solution was below the necessary proof target ... message)

Closing, as this log no longer exists in the codebase; please feel free to reopen if you disagree.


Shutdown doesnt turn DP Montior off

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Maybe, unsure.
System Info and Version
 System/Version info
❯ hyprctl systeminfo -c
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2

flags: (if any)

System Information:
System name: Linux
Node name: hyprwave
Release: 6.11.4-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 17 Oct 2024 20:53:41 +0000

GPU information:
09:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD107 [GeForce RTX 4060] [10de:2882] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module  560.35.03  Fri Aug 16 21:39:15 UTC 2024

os-release: NAME="Hyprwave"
PRETTY_NAME="Hyprwave"
ID=arch-hyprwave
BUILD_ID=rolling
ANSI_COLOR="1;37"
HOME_URL="https://github.com/ElryGH/hyprwave"
BUG_REPORT_URL="https://github.com/ElryGH/hyprwave/issues"
LOGO="/etc/hyprwave"

plugins:

======Config-Start======

Config File: /home/elry/.config/hypr/hyprland.conf: Read Succeeded

# Hyprwave, based on Hyde

$scrPath = $HOME/.local/share/bin # set scripts path

# Main modifier
$mainMod = Super # super / meta / windows key

# Assign apps
$term = kitty
$file = dolphin
$browser = google-chrome-stable

# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█

# See https://wiki.hyprland.org/Configuring/Keywords/

exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
exec-once = waybar # launch the system bar
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
exec-once = nm-applet --indicator # systray app for Network/Wifi
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = hyprpaper # start wallpaper daemon
exec-once = [workspace special silent] spotify
exec-once = [workspace 1 silent] discord

# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = PATH,$PATH:$scrPath
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1

# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░

# See https://wiki.hyprland.org/Configuring/Variables/

input {
    kb_layout = de
    follow_mouse = 1

    touchpad {
        natural_scroll = no
    }

    sensitivity = 0
    force_no_accel = 1
    numlock_by_default = true
}

# See https://wiki.hyprland.org/Configuring/Keywords/#executing

device {
    name = epic mouse V1
    sensitivity = -0.5
}

# See https://wiki.hyprland.org/Configuring/Variables/

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
}

# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/

dwindle {
    pseudotile = yes
    preserve_split = yes
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/

master {
    new_status = master
}

# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄

# See https://wiki.hyprland.org/Configuring/Variables/

misc {
    vrr = 0
    disable_hyprland_logo = true
    disable_splash_rendering = true
    force_default_wallpaper = 0
}

xwayland {
    force_zero_scaling = true
}

# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄

source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/themes/common.conf # shared theme settings
source = ~/.config/hypr/themes/theme.conf # theme specific settings
source = ~/.config/hypr/themes/colors.conf # wallbash color override
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static

# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults
source = ~/.config/hypr/nvidia.conf # auto sourced vars for nvidia

Config File: /home/elry/.config/hypr/animations.conf: Read Succeeded

# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

# See https://wiki.hyprland.org/Configuring/Animations/

animations {
    enabled = yes
    bezier = wind, 0.05, 0.9, 0.1, 1.05
    bezier = winIn, 0.1, 1.1, 0.1, 1.1
    bezier = winOut, 0.3, -0.3, 0, 1
    bezier = liner, 1, 1, 1, 1
    animation = windows, 1, 6, wind, slide
    animation = windowsIn, 1, 6, winIn, slide
    animation = windowsOut, 1, 5, winOut, slide
    animation = windowsMove, 1, 5, wind, slide
    animation = border, 1, 1, liner
    animation = borderangle, 1, 30, liner, loop
    animation = fade, 1, 10, default
    animation = workspaces, 1, 5, wind
}

Config File: /home/elry/.config/hypr/keybindings.conf: Read Succeeded

# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█

# Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
bind = $mainMod, L, exec, swaylock # launch lock screen
bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu

# Application shortcuts
bind = $mainMod, T, exec, $term # launch terminal emulator
bind = $mainMod, F, exec, $file # launch file manager
bind = $mainMod, C, exec, $browser # launch web browser
bind = $mainMod, Escape, exec, htop # launch system monitor

# Rofi menus
bind = $mainMod, R, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher

# Audio control
bindl  = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl  = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume

# Media control
bindl  = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
bindl  = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
bindl  = , XF86AudioNext, exec, playerctl next # media next
bindl  = , XF86AudioPrev, exec, playerctl previous # media previous

# Brightness control
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness

# Screenshot/Screencapture
bind = , Print, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)

# Move/Resize focused window
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Move/Switch to special workspace (scratchpad)
bind = $mainMod CTRL, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,

# Toggle focused window split
bind = $mainMod, J, togglesplit

# Group stuff
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = $mainMod, N, changegroupactive, f # Move to next window in focussed group

Config File: /home/elry/.config/hypr/windowrules.conf: Read Succeeded

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█

# See https://wiki.hyprland.org/Configuring/Window-Rules/

# Opacity

windowrulev2 = opacity 0.80 0.80,class:^(org.remmina.Remmina)$,title:^(Remmina Remote Desktop Client)$
windowrulev2 = opacity 0.80 0.80,class:^(GitFiend)$
windowrulev2 = opacity 0.80 0.80,class:^([Jj]etbrains-toolbox)$
windowrulev2 = opacity 0.80 0.80,class:^(unityhub)$
windowrulev2 = opacity 0.80 0.80,class:^(discord)$
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]potify)$
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Premium)$
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk

# Floating Windows

windowrulev2 = float,class:^(org.remmina.Remmina)$,title:^(Remmina Remote Desktop Client)$
windowrulev2 = float,class:^(GitFiend)$
windowrulev2 = float,class:^([Jj]etbrains-toolbox)$
windowrulev2 = float,class:^(unityhub)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(kitty)$,title:^(top)$
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
windowrulev2 = float,class:^(vlc)$
windowrulev2 = float,class:^(kvantummanager)$
windowrulev2 = float,class:^(qt5ct)$
windowrulev2 = float,class:^(qt6ct)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk

# Special Workspaces

windowrulev2 = workspace 1,class:^(discord)$

# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog

Config File: /home/elry/.config/hypr/themes/common.conf: Read Succeeded

# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄

exec = hyprctl setcursor Bibata-Modern-Ice 20
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
exec = gsettings set org.gnome.desktop.interface cursor-size 20

# █▀▀ █▀█ █▄░█ ▀█▀
# █▀░ █▄█ █░▀█ ░█░

exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'

# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄

decoration {
    dim_special = 0.3
    blur {
        special = true
    }
}

Config File: /home/elry/.config/hypr/themes/theme.conf: Read Succeeded
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'

general {
    gaps_in = 3
    gaps_out = 8
    border_size = 2
    col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
    col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg
    layout = dwindle
    resize_on_border = true
}

group {
    col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
    col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
    col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
    col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
}

decoration {
    rounding = 10
    drop_shadow = false

    blur {
        enabled = yes
        size = 6
        passes = 3
        new_optimizations = on
        ignore_opacity = on
        xray = false
    }
}

layerrule = blur,waybar

Config File: /home/elry/.config/hypr/themes/colors.conf: Read Succeeded

Config File: /home/elry/.config/hypr/monitors.conf: Read Succeeded

# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█

# Set your monitor configuration here
# See https://wiki.hyprland.org/Configuring/Monitors/
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2

monitor = DP-2, 1920x1080@75, 1920x0, 1
monitor = HDMI-A-1, 1920x1080@75, 0x0, 1

workspace = 1, monitor:HDMI-A-1
workspace = 2, monitor:DP-2

Config File: /home/elry/.config/hypr/nvidia.conf: Read Succeeded

# █▄░█ █░█ █ █▀▄ █ ▄▀█
# █░▀█ ▀▄▀ █ █▄▀ █ █▀█

# See https://wiki.hyprland.org/Nvidia/

env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = __GL_VRR_ALLOWED,1
env = WLR_DRM_NO_ATOMIC,1

cursor:no_hardware_cursors = true

======Config-End========

Description
Upon shutting my PC down, the Monitor on HDMI looses signal and shuts off, while my main Monitor thats on DP, just keeps running displaying a black signal (sometimes showing "out of range"), but never shutting down.
Doing hyprctl dispatch dpms off DP-2 works, so the DPMS seems to be working, so idk whats happening on shutdown.
I used Hyprland like 1-2 Months ago and it was working fine with the same setup, so this might be a regression, but i have no idea about the code and bisecting.


Flutter for web in vs code is not working

Hi,
I am able to run flutter application through this command in VSCode
flutter run -d chrome --web-renderer html
I want to specify a port while running the application
flutter run -d chrome --web-port 8002
But with above command , html is not rendered and I am getting canvaskiterror
Any idea how can we specify port and render html together??
I have also added parameters in launch.json file. But it is not working.
"version": "0.2.0",
"configurations": [
{
"name": "openblue_companion_flutter_poc",
"request": "launch",
"type": "dart",
"args": ["-d", "chrome","--web-port", "8002"],
    },

I can run the application only when html is rendered. But need to specify a port also.

@PragGawande
Your question is better suited for support channels like StackOverflow, so please ask the same there.
Moreover, try running flutter run -d chrome -h to see various options you can pass as arguments to the command and see if it helps.
Closing from here as this isn't an issue or a feature request.


Lexer matches unicode, but doesn't catch it.

Title says it all, I am using src/lexer/init.lua. Here's a quick example:
⭮⽥⻶ⓞ⠏Ⱈ⵼⇠⺀❜⍨ↇ⡧⚏ⷔ⸂␳⋡⒀⻒⪻ⅆ⿜⌰⤟ⵣ⏗⸂⚿▚⪪⿐⽻⥝⁹⚎Ⓥ◥◶℀₏Ⅻ will get matched, but not catched properly.
print("⭮⽥⻶ⓞ⠏Ⱈ⵼⇠⺀❜⍨ↇ⡧⚏ⷔ⸂␳⋡⒀⻒⪻ⅆ⿜⌰⤟ⵣ⏗⸂⚿▚⪪⿐⽻⥝⁹⚎Ⓥ◥◶℀₏Ⅻ")

Will catch: "⭮⽥⻶ⓞ⠏Ⱈ⵼⇠⺀❜⍨ↇ⡧⚏ⷔ⸂␳⋡⒀⻒⪻ⅆ⿜⌰⤟ⵣ⏗⸂⚿▚⪪⿐⽻⥝⁹⚎Ⓥ◥◶℀₏Ⅻ")
It returns the unicode with the suffix and ) but it's not suppose to.
Here's how it looks like:

Here is how it should look like:

Thanks for bringing this up. In fact, it was not an issue with the Unicode matcher but actually with the string matcher. A fix will be pushed shortly.

Fixed, thank you!


Fixed creation NonMaxSuppression op with dynamic shapes

Why is it now fully dynamic with dynamic rank? According to the specs (both internal and ONNX definition) of this op, the output's rank should be 2. @ilyachur are you sure it's correct?

@tomdol I am sure that it is correct. Because in another case we cannot create NonMaxSuppression op if previous operation provides dynamic shape. I faced with this issue in next situation when Reshape which exists before NonMaxSuppression op returns dynamic shape because the second input for Reshape is not Constant operation and we should do constant propagation before than Reshape will return static shape.
And in this situation (because Reshape returns dynamic shape) I cannot create NonMaxSuppression operation because rank is also dynamic.
But after the constant propagation I get correct shapes and can easily validate NonMaxSuppression op.


Adds small note about workspace configuration

🚨 IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Description
I have been requested over discord to create an MR updating the docs about a small issue with monorepo/workspace projects. If I have to still write the issue I can do it so. This is where I would like to be informed that the graphql config still doesn't support workspaces, and it needs to be placed on the root. But that's only my opinion as a newcomer
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

Screenshots/Sandbox (if appropriate/relevant):
Adding links to sandbox or providing screenshots can help us understand more about this PR and take action on it as appropriate
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Environment:

OS:
GraphQL Config Version:
NodeJS:

Checklist:

[ ] I have followed the CONTRIBUTING doc and the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests and linter rules pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Thanks


Fails to connect multiple instances.

Issue
On my windows machine with TwinCAT installed, I am able to create and connect more than one instance. However, when I try the same thing on a Raspberry Pi, the second one fails.
The static route for the Pi  is added on my TwinCAT PLC. I originally tried having a different localAmsNetId for each instance and adding two separate static routes. The second appeared as a subroute in TwinCAT.
Then, when I logged what was happening on my dev machine, I saw localAmsNetId were the same, only the ports were different. So, I tried that as well on the Pi (shown below) and it still will not connect a second instance from the Pi.
Have you tried this before or do you have any thoughts on what else I can look at?
General Info
Target:

CX-5130
-TwinCAT 3.1 4024.7

Local Dev

Windows 10
TwinCAT 3.1 4024.10
NodeJS v12.16.1
ads-client v1.10.1

Target Server

Raspberry Pi 4
Raspbian 10 (buster)
NodeJS v12.17.0
ads-client v1.10.1

Details
On Windows:
const ads = require('ads-client');

const run = async () => {

    try {

        const client1 = new ads.Client({
            targetAmsNetId: '<IP_ADDRESS>.1.1',
            targetAdsPort: 851,
        });

        const client2 = new ads.Client({
            targetAmsNetId: '<IP_ADDRESS>.1.1',
            targetAdsPort: 851,
        });

        console.log(`Connected 1: ${JSON.stringify(await client1.connect(), null, 2)}`)
        console.log(`Connected 2:  ${JSON.stringify(await client2.connect(), null, 2)}`)

        await client1.disconnect();
        await client2.disconnect();

    } catch(error){
        console.log(`ERROR: ${error.message}`)
    }

};

run();

Result:
Connected 1: {
  "connected": true,
  "isLocal": false,
  "localAmsNetId": "<IP_ADDRESS>.1.1",
  "localAdsPort": 33788,
  "targetAmsNetId": "<IP_ADDRESS>.1.1",
  "targetAdsPort": 851
}
Connected 2:  {
  "connected": true,
  "isLocal": false,
  "localAmsNetId": "<IP_ADDRESS>.1.1",
  "localAdsPort": 33789,
  "targetAmsNetId": "<IP_ADDRESS>.1.1",
  "targetAdsPort": 851
}

On the Raspberry Pi
const ads = require('ads-client');
const getPort = require('get-port');

const getNewPort = async () => getPort({port: getPort.makeRange(55700,58700)});

const run = async () => {

    try {

        const port1 = await getNewPort();
        const port2 = await getNewPort();

        console.log('PORTS:',port1,port2);

        const client1 = new ads.Client({
            localAmsNetId: '<IP_ADDRESS>.1.1',
            localAdsPort: port1,
            targetAmsNetId: '<IP_ADDRESS>.1.1',
            targetAdsPort: 851,
            routerAddress: '<IP_ADDRESS>',
            routerTcpPort: 48898
          });

          const client2 = new ads.Client({
            localAmsNetId: '<IP_ADDRESS>.1.1',
            localAdsPort: port2,
            targetAmsNetId: '<IP_ADDRESS>.1.1',
            targetAdsPort: 851,
            routerAddress: '<IP_ADDRESS>',
            routerTcpPort: 48898
          });

        console.log(`Connected 1: ${JSON.stringify(await client1.connect(), null, 2)}`)
        console.log(`Connected 2:  ${JSON.stringify(await client2.connect(), null, 2)}`)

        await client1.disconnect();
        await client2.disconnect();

    } catch(error){
        console.log(`ERROR: ${error.message}`)
    }

};

run();

Result:
PORTS: 55700 55701
Connected 1: {
  "connected": true,
  "isLocal": false,
  "localAmsNetId": "<IP_ADDRESS>.1.1",
  "localAdsPort": 55700,
  "targetAmsNetId": "<IP_ADDRESS>.1.1",
  "targetAdsPort": 851
}
ERROR: Connection failed: Device system manager state read failed

Hi Jeremy!
Thanks for reporting this. I tried to check the issue quickly with Wireshard and TcAmsAdsViewer.
It seems that when the second TCP connection is initialized with the router, the router closes it immediately. I'm quite sure that is hardcoded in the AMS router to accept only single connection from single host (except localhost, like your computer). Similar issues have been discussed here and there, like https://github.com/Beckhoff/ADS/issues/49#issuecomment-330198577.
So that means in order to have two connections from raspberry pi to the TwinCAT, an AMS router is needed to run on the raspberry. That router then redirects all commands to the TwinCAT and back to the clients. For example, you could try https://www.nuget.org/packages/Beckhoff.TwinCAT.Ads.TcpRouter/ which is made just for this.
I have also had an idea of creating an router with node.js but haven't got inspiration yet.
Is there a specal reason you want two connections? Perhaps there is another way to do this.

I tried installing the Beckhoff router this morning, but I was having issues with it. I was able to get .Net core installed and running, but I couldn't get the Beckhoff router to install.
The multiple connections is because I have an existing HMI backend that runs up to 4 separate servers with PLC connections for different tasks and each one maintains it's own PLC connection. I was working on extending it to include connections to Beckhoff processors by adding this as an implementation to my PLC services. For my other driver (EtherNet/IP), the separate connections on separate servers keeps one from causing another to hang. So, for example, if I need to do write, it's not waiting on a read from some other longer running task.
I'll look at the Beckhoff router again and see if I can get it working. If not, I'll probably just run one more server with the actual ads client on it and proxy the implementation in the other servers so that my multiple servers route everything through that one connection.
Thanks for the reply and thank you for writing this library. Other than that multiple connection issue, which doesn't appear to be your issue, it's working really well.

I know this is an old issue, but for anyone trying to solve this, here is a solution.
The reason connecting to multiple instances doesn't work is the PLC will only allow one connection from any single IP address.  The work around is to add an aliased IP address pair (one on the PLC, the other on the client machine) on the same subnet as each other but on a different subnet for each of the PLC instances.  You will also have to use a different client AMS NetID for each of the clients and add a separate route for each of the clients.  Both clients will use the same AMS NetID for the PLC.  For example:
PLC1:
<IP_ADDRESS>/24 <IP_ADDRESS>.1.1 (PLC) <--> <IP_ADDRESS>/24 <IP_ADDRESS>.1.1 (client IP and AMS NetID)
PLC2:
<IP_ADDRESS>/24 <IP_ADDRESS>.100.1.1 (PLC) <--> <IP_ADDRESS>/24 <IP_ADDRESS>.1.1 (client IP and AMS NetID)
Even through they are coming through the same physical Ethernet device, ADS will treat them like they are coming from different addresses and will allow the connections.

Thanks @freefly42! I will see if this should be added to the FAQ


Graph expanding till it causes app crash when adding first entity on android app

Same issue on Safari 15.3 on macOS. It slowly grows… I closes the navigated away before anything crashed ;).

Wow yeah, was able to reproduce this on our Mac in the office. Will fix this asap when I get home.

Hotfix released on V1.0.16 that should hopefully fix this. Could you guys confirm that this addresses the issue ?

Solves the issue for me in Safari on macOS. Thanks!

Fixed on android, but now seems you can't scroll the graph with touch
Robert Boccia

From: ThomasL @.>
Sent: Tuesday, February 8, 2022 10:55:13 PM
To: alexarch21/history-explorer-card @.>
Cc: Robert Boccia @.>; Author @.>
Subject: Re: [alexarch21/history-explorer-card] Graph expanding till it causes app crash when adding first entity on android app (Issue #17)
Solves the issue for me in Safari on macOS. Thanks!
—
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Falexarch21%2Fhistory-explorer-card%2Fissues%2F17%23issuecomment-1033052794&data=04|01||d88cc99c90724827a3e508d9eb454e2d|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637799505157615438|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Ka5yg%2BLQkXOY7xh6h9uIuBo84sflwsrfi8Ia5gsVVSA%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAR4IWBHVU6K2OW7EGARXCX3U2F7LDANCNFSM5NZOON2A&data=04|01||d88cc99c90724827a3e508d9eb454e2d|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637799505157615438|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=P4tRqjt9heWIPMRulFvolAVvDWoRIPtsbV1VQmrFRTI%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


Uncaught TypeError: Cannot read property 'lat' of undefined

Hi,
Thanks for using Leaflet.
I'm closing here, as this issue is missing a description, thus a way for us to help.
Feel free to reopen when you have more details to provide.
Also remember that this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.


Add sql decorator

Can you update this doc? https://github.com/Azure/azure-functions-python-library/blob/dev/docs/ProgModelSpec.pyi


add omgpu domain

add omgpu - Omsk State Pedagogical University

@Dvachee

This domain omgpu.ru is already in the list, see #1115. All its subdomains are automatically included in the list.
Your request has an incomplete filepath, the filepath for st.omgpu.ru has to be lib/domains/ru/omgpu/st.txt.

If you have any trouble while requesting your free license at https://jetbrains.com/student, please send an email with a screenshot to<EMAIL_ADDRESS>I have to close the request without merging as a duplicate to already merged request.
Thank you!


[10.x] Add support Enum class for enum method in Blueprint

When you want to use the enum method in migration, you must pass allowed values as an array!
But if you want to Enum class, you need to make some methods or helpers to use it!!
Now you can use the enum method like this:
public function up(): void
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->enum('status', \App\ProductStatusEnum::class);
        $table->timestamps();
    });
}

The test failure is not about my changes!

When you use an array for the enum method, maybe change it in the future!
This is about the design of development!
Maybe I like to use the Enum class in my migration or even my Enum class should never change!

Enums in PHP and enum columns in the database are two totally different things. Database enums are difficult to work with and require migrations to create/update/delete whereas you can simply edit the Enum class in PHP and be done.
The PHP Enum should be the source of truth and you should validate any data before you save it to the database therefore you gain nothing from a database enum---there is no reason to have both a PHP Enum and an enum database column.

@CalebDW I'd argue that database enums have their benefits and there's definitely a reason to use them (together with a PHP Enum).

@CalebDW I'd argue that database enums have their benefits and there's definitely a reason to use them (together with a PHP Enum).

I would say as you add more values, advantages starts to swing away from database ENUMs. Especially if values are added after the table is already in use because you have to alter the table structure.

@CalebDW I'd argue that database enums have their benefits and there's definitely a reason to use them (together with a PHP Enum).

I would say as you add more values, advantages starts to swing away from database ENUMs. Especially if values are added after the table is already in use because you have to alter the table structure.

I don't take advantage of database enums, rather I add new features.
I made a repository about a shop by Laravel and used an enum database with PHP enum:
https://github.com/milwad-dev/shopline/blob/main/Modules/Product/Database/Migrations/2022_08_07_195525_create_products_table.php#L26

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

Enums are complicated in databases, you can easily jump into a situation where updating your enum column would require a full table copy, which might look fine at first but once it grows to mils of rows is a different story, and it's the most common situation when you happen to need to change it. Just using a tiny or small int is preferred in most cases.


python3Packages.orjson: 3.6.7 -> 3.7.8

Description of changes
https://github.com/ijl/orjson/releases/tag/3.7.8
https://github.com/ijl/orjson/blob/3.7.8/CHANGELOG.md
https://github.com/ijl/orjson/compare/3.6.7...3.7.8

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

@ofborg build python39Packages.orjson python310Packages.orjson

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/trouble-building-a-rust-python-package-on-aarch64-darwin/20049/3

https://github.com/NixOS/nixpkgs/pull/182386/commits/910bb76bb5cb13d8986635b7bc1287232c7ca92b is in stagging


Fix go-report-card-test

Issue #, if available:
NA
Description of changes:
Fix Go report card test
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #55 into master will decrease coverage by 1.80%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #55      +/-   ##
==========================================
- Coverage   88.80%   87.00%   -1.81%
==========================================
  Files           9        9
  Lines        1063      931     -132
==========================================
- Hits          944      810     -134
- Misses         86       87       +1
- Partials       33       34       +1

Impacted Files
Coverage Δ

pkg/selector/selector.go
80.97% <0.00%> (-2.80%)
:arrow_down:

pkg/cli/flags.go
85.16% <0.00%> (-2.54%)
:arrow_down:

pkg/bytequantity/bytequantity.go
84.90% <0.00%> (-2.40%)
:arrow_down:

pkg/cli/cli.go
83.96% <0.00%> (-2.04%)
:arrow_down:

pkg/selector/comparators.go
90.41% <0.00%> (-1.64%)
:arrow_down:

pkg/selector/outputs/outputs.go
90.84% <0.00%> (-0.97%)
:arrow_down:

pkg/selector/aggregates.go
92.00% <0.00%> (-0.46%)
:arrow_down:

pkg/cli/types.go
94.79% <0.00%> (-0.45%)
:arrow_down:

pkg/selector/types.go
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Abstract getter/setter

TypeScript Version:  2.0.3
Code
abstract class Abstract {
    abstract set foo(value: string);
    abstract get bar(): string;
    abstract biz: number;
}

class Concrete extends Abstract {
    biz: number;
    constructor(public foo: string, public bar: string) {
        super();
        this.biz = 20;
    }

    toString(): string {
        return `${this.foo} ${this.bar}`;
    }
}

let i: Abstract = new Concrete("Hello", "World");
console.log(i.toString()); // undefined undefined

Expected behavior:
print Hello world
Actual behavior:
print undefined undefined
So look at Abstract class in JavaScript. foo & bar implementations are generated even they declared as abstract.
var Abstract = (function () {
    function Abstract() {
    }
    Object.defineProperty(Abstract.prototype, "foo", {
        set: function (value) { },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(Abstract.prototype, "bar", {
        get: function () { },
        enumerable: true,
        configurable: true
    });
    return Abstract;
}());

#11596

@dungdm93: This has already been addressed in master with our new emitter. You should be able to test these changes using our nightly builds. If you are using NodeJS, you can install the latest nightly build via npm install typescript@next.

@rbuckton thanks. :)


Update BYON-Calling & BYON-RACM service: resourceURL to sessionId

Update BYON-Calling & BYON-RACM service: Modify resourceURL identifier to vvoipSessionId/racmSessionId.
What type of PR is this?

enhancement/feature

What this PR does / why we need it:
This PR updates resourceURL to IDs (SessionId). It is difficult to provide resourceURL when WebRTC node is behind API Gateways.
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:
Changelog input
 release-note

Additional documentation
This section can be blank.
docs

New changes:
BYON-Notification-Channel:

resourceURL to channelId
Change POST /channels from creating a list of channels to a single channel
Change GET /channels to GET /channels/{channelId}
Added OUT /channels/{channelId}
Added DELETE /channels/{channelId}

BYON-RACM-Service:

Simplified the channelId

As there was a previous merge I fixed the conflicts there were with this one, please @deepakjaiswal1 @pradeepachar-mavenir
review again


UWP Crashes when restoring points from a property

When i assign points through the "Points" properties the app crashes with the exception ComTypeMarshalling_MissingInteropData
this happens in UWP Release when you compile the app with the .NET Native Toolchain.
someone else made a post on stackoverflow who has the exact same issue as i do
https://stackoverflow.com/questions/46391416/uwp-app-is-crashing-in-release-mode-when-using-xamarin-controls-signaturepad-for
[Edit 08 jan 2018]
here is a stack trace of the error
at System.Runtime.InteropServices.__interface_ccw.Allocate(ComCallableObject managedCCW, McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\ComCallableObject.cs:line 112
at System.Runtime.InteropServices.ComCallableObject.GetComInterfaceForTypeInfo_NoCheck_NoAddRef(McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\ComCallableObject.cs:line 1550
at System.Runtime.InteropServices.ComCallableObject.GetComInterfaceForTypeInfo_NoCheck(McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\ComCallableObject.cs:line 1574
at System.Runtime.InteropServices.ComCallableObject.GetComInterfaceForIIDInternal(Guid& iid, McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\ComCallableObject.cs:line 1523
at System.Runtime.InteropServices.ComCallableObject.GetComInterfaceForIID(Guid& iid, McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\ComCallableObject.cs:line 1303
at System.Runtime.InteropServices.McgComHelpers.ManagedObjectToComInterfaceInternal(Object obj, Guid& iid, McgTypeInfo itfTypeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\McgComHelpers.cs:line 845
at System.Runtime.InteropServices.McgComHelpers.ObjectToComInterfaceInternal(Object obj, McgTypeInfo typeInfo) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\McgComHelpers.cs:line 801
at System.Runtime.InteropServices.McgModuleManager.ObjectToComInterface(Object obj, RuntimeTypeHandle typeHnd) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\McgModuleManager.cs:line 777
at Windows.UI.Input.Inking.IInkStrokeBuilder2__Impl.StubClass.CreateStrokeFromInkPoints(__ComObject __this, IEnumerable1 inkPoints, Matrix3x2 transform) in D:\MyApp\obj\x64\Release\ilc\intermediate\MyApp.McgInterop\ImplTypes.g.cs:line 159401    at Xamarin.Controls.Extensions.<>c__DisplayClass4_0.<AddStrokes>b__1(Point[] s)    at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() in f:\dd\ndp\fxcore\Open\src\System.Linq\src\System\Linq\Enumerable.cs:line 469
at System.Runtime.InteropServices.WindowsRuntime.IIteratorOfT_PrivateCCWAdapter1.MoveNext() in f:\ddSetup\SD\2\setup\msis\x86ret\enu\netfx_ProjectNamd64\TestILC\ExternalFiles\SharedAssemblyPath\ret.intermediate\System.Private.SharedLibrary.Interop.Generated\Adapters.g.cs:line 473    at System.Runtime.InteropServices.WindowsRuntime.IIteratorOfT_PrivateCCWAdapter1.get_HasCurrent() in f:\ddSetup\SD\2\setup\msis\x86ret\enu\netfx_ProjectNamd64\TestILC\ExternalFiles\SharedAssemblyPath\ret.intermediate\System.Private.SharedLibrary.Interop.Generated\Adapters.g.cs:line 463
at McgInterop.Toolbox.IIteratorThunk[T](IIterator1 it, IIterator_Oper oper, Object& item, Int32 len) in D:\MyApp\obj\x64\Release\ilc\intermediate\MyApp.McgInterop\Helpers.g.cs:line 453    at System.Runtime.InteropServices.CalliIntrinsics.Call[T](IntPtr pfn, Object iterator, IIterator_Oper oper, Object& data, Int32 len)    at System.Runtime.InteropServices.SharedCcw_IIterator.get_HasCurrent(IntPtr pComThis, IntPtr pValue) in f:\dd\ndp\fxcore\CoreRT\src\System.Private.Interop\src\Shared\McgHelpers.cs:line 1461    at McgInterop.McgHelpers.ThrowFailed(Int32 hr, RuntimeTypeHandle typeHnd) in D:\MyApp\obj\x64\Release\ilc\intermediate\MyApp.McgInterop\Helpers.g.cs:line 8497    at McgInterop.ComCallHelpers.ComCall__HRESULT(__ComObject __this, RuntimeTypeHandle __typeHnd, Int32 __targetIndex, Void* arg0) in D:\MyApp\obj\x64\Release\ilc\intermediate\MyApp.McgInterop\SharedStubs.g.cs:line 9431    at McgInterop.ForwardComSharedStubs.Proc_TArg0__[TThis,TArg0](__ComObject __this, TArg0 dp, Int32 __targetIndex) in D:\MyApp\obj\x64\Release\ilc\intermediate\MyApp.McgInterop\SharedStubs.g.cs:line 290    at Xamarin.Controls.Extensions.AddStrokes(InkPresenter inkPresenter, IList1 strokes, Color color, Single width)
at Xamarin.Controls.SignaturePadCanvasView.LoadPoints(Point[] loadedPoints)
at SignaturePad.Forms.SignaturePadCanvasRenderer.OnPointsSpecified(Object sender, PointsEventArgs e)
at SignaturePad.Forms.SignaturePadCanvasView.SetSignaturePoints(IEnumerable`1 points)

Is this still happening? I just want to check your versions of SignaturePad and the version of the native compiler so I can test this issue.

Hi Matthey,
yes the issue is still happening, so far i have tried it on SignaturePad version 2.1.1 and 2.3.0.
i am using Visual Studio 2017 version (15.6.5)

From: Matthew Leibowitz<EMAIL_ADDRESS>Sent: Friday, May 18, 2018 08:32
To: xamarin/SignaturePad
Cc: mseamari; Author
Subject: Re: [xamarin/SignaturePad] UWP Crashes when restoring points from a property (#112)
Is this still happening? I just want to check your versions of SignaturePad and the version of the native compiler so I can test this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/xamarin/SignaturePad/issues/112#issuecomment-390108540, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APPJczuYoZ6HRnD5BXxrp5v9JnaHwr_Mks5tzmr2gaJpZM4RUITw.


Segfault with MinGW on Windows

Hi! I'm encountering a strange issue with FastNoise2 on windows. When trying to call GenSingle3D on a FractalFBm module, a segfault occurs. This behaviour is present in the latest commit as well as the last release, and we managed to replicate it with just the following code, which should segfault at the GenSingle3D call:
int main(int argc, char* argv[]) {
    auto biomePerlin = FastNoise::New<FastNoise::Simplex>();

    auto biomeScale = FastNoise::New<FastNoise::DomainScale>();
    biomeScale->SetSource(biomePerlin);
    biomeScale->SetScale(1/1000.f);

    auto biomeFractal = FastNoise::New<FastNoise::FractalFBm>();
    biomeFractal->SetSource(biomePerlin);

    float val = biomeFractal->GenSingle3D(0, 0,0, 1337);

    std::cout << val << std::endl;
}

Compiled with C++17, MinGW on Windows.

I have not tested MinGW on Windows, only MSVC and ClangCL. The code above works on latter 2 compilers.
Can you give any more details on the crash?

This will happen even on clean clone of repo

Well that doesn't look like a simple fix, I'll put MinGW support on my ToDo list but I'm busy with a few other tasks currently

ok, I will look into it, my discord is: Sam Freki#9144

There is a FastNoise Discord
Another option is to compile it as a DLL using one of the supported compilers and use it via the C interface, but that's not an ideal solution

Yeah and its weird that the segfault is only present on some generators

I just tried to test this, I didn't seem to get the segfault. Not sure if it's been fixed? The bug report linked above is still open.
I'm testing on GNU 13.1.0

Hi ! Just to confirm, this still segfaults on master branch (using MinGw with GNU 13.2.0)  :)

This will happen even on clean clone of repo

Could you test the NewFastSIMD branch, I may have fixed it on there

For #142 I was using NewFastSIMD so it didn't fix it for me.

Are you sure, the arguments in GenUniform3D suggest you are using the master branch

Yes, I just rebuild the library from NewFastSIMD branch and the GenUniform3D still takes the same argument.


Project Moca aka Outlook Spaces - yet another tool?

Article suggestion
As Project Moca/Outlook Spaces is in preview, I would like to see and contribute to an article that provides some guidance about it. Which use cases does it serve, how does it integrate with other tools and services across Microsoft 365. I see a lot of people already forming their opinion in a direction of 'well, this is yet another tool' and will probably confuse a lot of users --> When to use what.

I haven't heard about this one. Is it firm enough to write something or is it still "in the lab"?

it's now officially in preview, a few months ago, MSFT accidentally leaked something, but then you didn't hear anything back from it... for reference: Project Moca on Tech Community.
My article is about use cases and how Outlook Spaces integrates or correlates with other Tools and Services in M 365.

Uh-oh. Seems as if something went wrong 🥺🥺

Some of those errors (the ones on article-template.md) were my fault. There were a few for your article, but I've fixed them. Will read it later today...

anything I could clarify, @sympmarc ?

Went live tonight. Sorry for the delay!


SOV-3379: disable reclaim button for Limit Orders

https://sovryn.atlassian.net/browse/SOV-3379

Settlement contract has RBTC claim logic re-enabled, so closing this


No tools found!

When prompting the LLM through the proxy for something that does not require any of the tools, (Ex: "Write me a poem about the moon" or "How are you today") I get Error: 500 {"tool_calls":[]}.
I see there is logic in place for is_normal_chat but as long as the user has any function defined this variable can never be true.
Also, if forcing is_normal_chat, I get a different error Error calling GroqProvider: Object of type ChatCompletion is not JSON serializable.
And I can see with some debug tests that the LLM is returning a good response, but the proxy is messing up the parsing of it.
I'm testing and trying to find a different check to be implemented so we can have tools defined but still ask a normal question, but I'm not even sure it's possible without major code changes, so it might take a while.
Maybe @unclecode or someone more skilled than me can find a solution first :+1:

Thx for flagging that! I fixed the issue with sending a regular message. Now, if a request is sent without tools or with an empty "tools" key, it just goes through Groq with anything. Can you share an example of the parsing problem? If you can show me the LLM output before parsing, I can take a closer look. @Shakkaw

I made some adjustments to avoid that pesky Error: 500 {"tool_calls":[]}. This error pops up when the proxy can't find any tools for a "tool-request." It could be the sent tools JSON schema's fault or lack of clarity, not the proxy's, or the Groq in the proxy-parse-loop is messing things up. I have already improved a few things in the parsing prompt, and it seems to be working. However, we should expect some glitches in the future. In such situations, we need to easily work on the parse prompt for better detection tools. So, I set up a new logger to keep track of these incidents. This way, we can dig into the issue and make improvements to the PROMPT over time. I'll leave this problem open and change the title to "No tools found." @Shakkaw

Hi @unclecode, great job on the quick fix, it completly fixed the behavior for normal chat responses.
Unfortunatly, it only did so when there are no tools on request and this was the parsing problem I talked about.
For the below examples I tested with the prompt "content": "Write me a poem about the moon" and the example functions duckduckgo_search and duckduckgo_news
If i add a print like print(f"\nTHIS IS GroqProvider completion {completion}\n") on app/providers.py between line 56-57 I get the following on my proxy window
 THIS IS GroqProvider completion ChatCompletion(choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChoiceMessage(content='Based on the conversation history, the user is asking for a poem about the moon. There is no need for any tools to be called to generate a poem about the moon. Therefore, the AI assistant can directly generate a poem without using any tools.\n\nHowever, if there were a need to use tools, I would consider using tools that can help provide information about the moon, such as its size, phases, or any interesting facts. But since the user is asking for a poem, there is no need for such information.\n\nTherefore, the JSON response is:\n\n```json\n{\n    "tool_calls": []\n}\n```\n\nAs for generating a poem about the moon, here\'s one possible option:\n\nMoon, oh moon, so bright and round,\nIn the night sky, you make your sound.\nSilent and still, yet full of grace,\nYou light up the night with your gentle face.\n\nCrescent, quarter, gibbous, full,\nYour phases are a wonder to behold.\nA beaconof hope in the darkest night,\nGuiding us home when we can\'t see the light.\n\nMoon, oh moon, you are a sight to see,\nA reminder that even in darkness, we can be free.', role='assistant', tool_calls=None))], id='02aa4b1a-2bfb-9030-af0e-e150a26484f0', created=1710409043, model='mixtral-8x7b-32768', object='chat.completion', system_fingerprint=None, usage=Usage(completion_time=0.498, completion_tokens=281, prompt_time=0.157, prompt_tokens=746, queue_time=None, total_time=0.655, total_tokens=1027))

but I get no output from python.
I'm using a modified version of your example_2.py and if I place a print like print(f"THIS IS RESPONSE {response.json()}") between line 94-95 I see this
THIS IS RESPONSE {'id': 'chatcmpl-02aa4b1a-2bfb-9030-af0e-e150a26484f0', 'object': 'chat.completion', 'created':<PHONE_NUMBER>, 'model': 'mixtral-8x7b-32768', 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': None, 'tool_calls': []}, 'logprobs': None, 'finish_reason': 'tool_calls'}], 'resolved': [], 'usage': {'prompt_tokens': 746, 'completion_tokens': 281, 'total_tokens': 1027}, 'system_fingerprint': None}

So the LLM response is getting lost somewhere and I believe it's because of the is_tool_call flag being passed anytime there are tools present on the request.
There was one time in my tests that it did give me a response but it was because it called duckduckgo_search to get facts about the moon before doing the poem. I wasn't able to reproduce it again in 5 tries. I'll leave the output here in case it helps.

I see. Currently, the flow is as follows:

If you want a default conversation, do not pass tools.
If you need tools, then pass them. If the proxy detects no tools, the response 'content' is None, and the tool_calls is empty. This means it doesn't assume any tools are needed and proceeds with default completion.
2.1. However, when you receive None for "content" and empty "tool_calls", you can continue and call again. The second time, you will receive a response for the initial request, like a typical call. (Like example 2)

There is a potential option to define a new property that defines the proxy behavior when no tools are detected. It can continue to behave as it does now, or we can set it to proceed in default mode.
Additionally, I noticed that for your query "write a poem about the moon,", if you pass the search tools to proxy, sometimes it may decide to take the "search" function to collect some facts about the moon. While this is a subjective debate, I have made adjustments to be more restrictive in picking up a tool.
Finally, the current approach is zero-shot. I suggest we try to keep it that way. Once we collect enough data, we can consider using a few-shot approach or fine-tuning a small model, such as Phi, Orca-mini, or Gemma:2b, for function detection.
@Shakkaw

@Shakkaw totally agree, therefore I’ll add that extra parameter in request to define proxy behavior when there’s no tool. Gotta make sure these changes work well with other libraries like Litellm, Langchain, or Llamainde when they chat with proxy in OpenAI interface. In addition maybe we can think of a client SDK for the proxy, then we can add a more user-friendly interface. I think this will be a great help!


Add data downloading functionality

All working for

CIPIC
ARI
ITA
HUTUBS
CHEDAR
Widespread
3D3A
RIEC

Updates of files on server needed for

BiLi
Listen
SADIE II

Uploading and checksumming (verify Hertz/hertz issue first) needed for

SONICOM


Fix iOS - UnsafePointer fatal crash on Xcode 14 simulator

Fixes  #14 :
A fatal crash on the Xcode 14 iOS simulator when generating a token pair.
The fix is based on this commit.

Cheers 🙇♂

Happy to help 🙌🏻


Fatal Exception: java.lang.NoClassDefFoundError: com.leanplum.internal.APIConfig

Expected Behavior

Shouldn't crash

Actual Behavior

We received record on our Crashlytics regarding the following:

Fatal Exception: java.lang.NoClassDefFoundError: com.leanplum.internal.APIConfig
       at com.leanplum.internal.APIConfig.getInstance(APIConfig.java:59)
       at com.leanplum.internal.RequestSender.createArgsDictionary(RequestSender.java:211)
       at com.leanplum.internal.RequestSender.saveRequest(RequestSender.java:82)
       at com.leanplum.internal.RequestSender.sendSync(RequestSender.java:243)
       at com.leanplum.internal.RequestSender.access$000(RequestSender.java:37)
       at com.leanplum.internal.RequestSender$1.run(RequestSender.java:230)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:268)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Steps to Reproduce the Problem

No discernible reproduction steps as this is happens 100% in the background

Specifications

Version: 5.10.4
Platform: Android

@neonwarge04 I'm not sure why this error happens. Both classes RequestSender and APIConfig are located in the same module, so it is not because of mismatched versions. How often does this error occur and is it on some specific devices?

By a lot @hborisoff, at least in our books. We are getting 247 crashes on 42 users.
Here are the stats
Devices

53% Samsung
19% Vivo
13% Xiaomi
7% Realme
8% Other

Operating System
36% Android 11
29% Android 10
13% Android 12
10% Android 8
12% Other
Device States

100% in background
100% proximity on

We have plans to update 5.10.4 -> 6.0.0 and 6.0.0 to 7.0.0 but we are still not sure if this will fix the problem. We are working on the migration but this is a blind fix.
Any input is appreciated.

Let me know if you need more info.

@neonwarge04
The NullPointerException happens because Leanplum context is not yet set. Can you call Leanplum.setApplicationContext as soon as possible in your Application's onCreate method.
This issue is fixed with newer SDK versions.
Is it possible that the ExceptionInInitializerError is because of the NullPointerException?
About the NoClassDefFound, I can't connect it to anything else, because the APIConfig can't be removed from Proguard, as it is used in a lot of places.

Thank you @hborisoff, I think we can close this now. I will reopen again if this shows up in our later version. Thank you!