@ file search does not work on WSL

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Windows 10
- Continue: 0.8.23
- IDE: VSCode 1.88.0
- Model: Ollama

Description
Using the @ option to "type to search" and select files does not return any files. Indexing is completed.
Interestingly if I open the continue config.json by clicking the cog icon, then config.json is the only option to select via @, even if I later close that file.

My project is a WSL project and VSCode is running on Windows.  This feature used to work for me, but broke with a recent-ish update. Unfortunately, I can't pinpoint which version worked at the moment. I will see if I can rolll back and bisect it a little.
To reproduce

Start a new Continue session
Click the cog icon to open the Continue config.json
Type @ and get the context providers menu
Click Files
See that only .continue/config.json is visible, no other project files may be found even if their filenames are typed in.

Log output
There are no errors in the developer console that I can see, except one which I'm guessing is unrelated:

[Extension Host] Error loading color theme:  TypeError: Cannot read properties of undefined (reading 'map')
	at convertTheme2 (c:\Users\REDACTED\.vscode\extensions\continue.continue-0.8.23-win32-x64\out\extension.js:193405:25)
	at getTheme (c:\Users\REDACTED\.vscode\extensions\continue.continue-0.8.23-win32-x64\out\extension.js:194362:51)
	at ContinueGUIWebviewViewProvider.getSidebarContent (c:\Users\REDACTED\.vscode\extensions\continue.continue-0.8.23-win32-x64\out\extension.js:327261:30)
	at ContinueGUIWebviewViewProvider.resolveWebviewView (c:\Users\REDACTED\.vscode\extensions\continue.continue-0.8.23-win32-x64\out\extension.js:327216:41)
	at v.$resolveWebviewView (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:154:53474)
	at h.S (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:149:5502)
	at h.Q (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:149:5268)
	at h.M (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:149:4323)
	at h.L (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:149:3579)
	at a.value (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:149:2227)
	at s.y (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:82:659)
	at s.fire (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:82:876)
	at r.fire (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:107:14173)
	at a.value (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:175:8018)
	at s.y (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:82:659)
	at s.fire (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:82:876)
	at r.fire (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:107:14173)
	at MessagePortMain.<anonymous> (c:\Users\REDACTED\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:175:6298)
	at MessagePortMain.emit (node:events:517:28)
	at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)

Alright, I tried back to 0.7.64 and it still doesn't work, so perhaps this is a VSCode update that broke it.
I also tried renaming the dev_data and index directories under .continue and restarted VSCode and let the indexing finish. Still got the same behavior.

@noahhaon Thanks for the report. I have a couple of questions to help figure out what's going on:
Was this something that worked previously and now seems to have regressed?
If you start typing the name of a file ("type to search") are there still no results?

Hey @sestinj -

Was this something that worked previously and now seems to have regressed?

Yes, but unfortunately I can't say when it did. It seems to have been flaky for at least a few versions. Per my prior comment, I tried rolling back versions until 0.7.64 and still saw the same behavior

If you start typing the name of a file ("type to search") are there still no results?

Correct, except in the case where I have clicked the cog icon to open up Continue's config.json then it is the only result that comes up, or will match with typing.

Note that I renamed the index and dev_data directories and restarted VSCode, and it is stuck on Indexing (1%) and has been for over an hour.

I have the same issue with indexing stuck at 1% and the files not working for context. I'm on Windows 11, and this happens with projects both under normal windows dirs and under WSL.

@benrosenblum do you also see no related error logs in the developer console? (ctrl+shift+P, "Toggle Developer Tools")? And does the same problem exist in the pre-release version (0.9.x)?

@sestinj I see no related errors, and I've toggled to pre-release with the same issue. Weirdly, sometimes it seems to work and go green on a restart of vscode, but a short time later it will go back to the 1% re-indexing.

Thanks! A note partially to myself here, but also maybe relevant for you as well, the @ file problem should be separate from the indexing problem. I'm making what I believe is a fix for the indexing problem in a new pre-release version, and I will separately take a look at the windows/WSL file problem a bit later

Just want to note that if instead of using @files, if I just do @ and then start typing, the files show up in the search along with symbols.

And if I use the files context and start typing, it correctly shows just the list of files.
It's only when clicking on the files context that the popup shows "No results".

Following another thread on the Discord about the @diff context provider not working under WSL (another problem I had), I tried a solution in that thread of switch the extension to be in workspace instead of UI mode:
    "remote.extensionKind": {
        "continue.continue": [
            "workspace"
        ]
    }

I had to setup config.json again since now it's hosted under the WSL env, but this seems to have resolved pretty much every issue I was having with the extension. I'll keep testing to see if this change broke anything else, but it's working well so far!

@benrosenblum thanks for the tip. I tried this and set up my config.json again for continue, but unfortunately file search still doesn't work and hangs on Indexing (0%).  Tried with both the current and pre-release versions of Continue.

@benrosenblum this worked for me after some time with VSCode on windows and a WSL project.
Indexing is still stuck at 0% however. Using the continue pre-release version.

@benrosenblum that solved my issue as well.  I was using continue in a remote docker container.  It was installing itself locally instead of on the remote host.
For posterity, I was unable to see any project files with continue @files context, but the api requests were working.

Adding the following settings to to my workspace settings.

		"remote.extensionKind": {
			"continue.continue": [
				"workspace"
			]
		}

Reload the VS Code window
Reinstall continue in the dev container
Reconfigure continue in the dev container.

@noahhaon do you see anything that might indicate an error in the logs?


After finishing video I'm getting More video option, how to remove that ?

I don't want to get more from user option when video is finished. It keep coming, any idea what i need to change in HTML ?

Unfortunately Vimeo does not allow to set these options unless you are the owner of the video and a pro user. So if this is your own video you could change it otherwise there is no way. Here some more info: https://help.vimeo.com/hc/en-us/articles/115007893267


[Funimation] Unable to extract players data

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2<IP_ADDRESS>. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
C:\Users\Martin\Desktop\test>youtube-dl.exe "http://www.funimation.com/shows/seiyus-life/videos/official/recording" -u user -p password -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://www.funimation.com/shows/seiyus-life/videos/official/recording', '-u', 'PRIVATE', '-p', 'PRIVATE', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 - Windows-10-10.0.14393
[debug] exe versions: ffmpeg N-81338-g6612d04, ffprobe N-81338-g6612d04, rtmpdump 2.4
[debug] Proxy map: {}
[Funimation] Logging in as user
[Funimation] recording: Downloading webpage
ERROR: Unable to extract players data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\YoutubeDL.py", line 691, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 347, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\funimation.py", line 157, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 650, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract players data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description of your issue, suggested solution and other information
Seems to be a recent issue, last time I downloaded something about 8 days ago everything still worked.
Other sites (I tried Crunchyroll) do not seem to be affected.

Funimation blocks automatic downloaders now. Could you try --cookies?

With the --cookies option the message changes to the one below, like in #10639.
C:\Users\Martin\Desktop\test>youtube-dl.exe "http://www.funimation.com/shows/seiyus-life/videos/official/recording" -u user -p password --cookies cookies.txt -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://www.funimation.com/shows/seiyus-life/videos/official/recording', '-u', 'PRIVATE', '-p', 'PRIVATE', '--cookies', 'cookies.txt', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 - Windows-10-10.0.14393
[debug] exe versions: ffmpeg N-81338-g6612d04, ffprobe N-81338-g6612d04, rtmpdump 2.4
[debug] Proxy map: {}
[Funimation] Logging in as user
ERROR: Unable to log in; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\YoutubeDL.py", line 691, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 346, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 340, in initialize
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\funimation.py", line 113, in _real_initialize
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\funimation.py", line 110, in _login
youtube_dl.utils.ExtractorError: Unable to log in; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

How about use --cookies and remove --username and --password?

That seems to lead back to square one:
C:\Users\Martin\Desktop\test>youtube-dl.exe "http://www.funimation.com/shows/seiyus-life/videos/official/recording" --cookies cookies.txt -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://www.funimation.com/shows/seiyus-life/videos/official/recording', '--cookies', 'cookies.txt', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 - Windows-10-10.0.14393
[debug] exe versions: ffmpeg N-81338-g6612d04, ffprobe N-81338-g6612d04, rtmpdump 2.4
[debug] Proxy map: {}
[Funimation] recording: Downloading webpage
ERROR: Unable to extract players data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\YoutubeDL.py", line 691, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 347, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\funimation.py", line 157, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 650, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract players data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

You need to have --cookies in order to use Funimation now due to recent changes with their site.
As noted, the login error you get when using --cookies is a separate bug that I've documented in #10639, and should hopefully have a PR ready for today.
@MartinWeingaertner if possible, could you try checking out or applying my patch (https://github.com/Parent5446/youtube-dl/commit/833f233a780e6e4c08b9b21be03733e65d3f5425) and see if it resolves the issue you're facing?

@Parent5446 I've somehow managed to clone the repo and test your patch. I can confirm that it is working and that these two issues are indeed one and the same. Thank you for your work and I hope this patch is soon included in a new release.

@MartinWeingaertner if things are working again, feel free to close this.

Closing this for the moment.


install target fails for llava

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[x] I carefully followed the README.md.
[x] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[x] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
I was building from source specifically version 0.2.76
make build should have built all the required stuff
Current Behavior
build install step fails at llava example due to some path variations (not sure what is wrong where though)
 -- Installing: /home/bargo/projects/rocm-setup/llama-cpp-python/llama_cpp/libllama.so
  CMake Error at /tmp/tmpigzjrup0/build/vendor/llama.cpp/examples/llava/cmake_install.cmake:46 (file):
    file INSTALL cannot find
    "/tmp/tmpigzjrup0/build/vendor/llama.cpp/examples/llava/libllava.so": No
    such file or directory.
  Call Stack (most recent call first):
    /tmp/tmpigzjrup0/build/cmake_install.cmake:128 (include)

  *** CMake install failed
  error: subprocess-exited-with-error

  × Building editable for llama_cpp_python (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

Environment and Context
As build have successfully completed for both llama.pp and for the binding except that installing them have failed, I believe it should not matter on the environment that much (but im running rocm 6.1.1 built from source as well)

Physical (or virtual) hardware you are using, e.g. for Linux:
Physical linux machine
$ lscpu
AMD ryzen 2700x
Operating System, e.g. for Linux:
Linux 22.04 with built from source kernel 6.4
$ uname -a
Linux bargos 6.4.0bargos #9 SMP PREEMPT_DYNAMIC Sun May 19 17:44:55 CEST 2024 x86_64 GNU/Linux
SDK version, e.g. for Linux:

$ python3 --version
$ make --version
$ g++ --version

Failure Information (for bugs)
what have been failed to be found llava shared library actually have already been built and its located in two locations;
llama-cpp-python$ find . -name libllava.so
./build/vendor/llama.cpp/examples/llava/libllava.so
./llama_cpp/libllava.so

Steps to Reproduce

git clone
2.pip3 install .  OR CMAKE_ARGS="-D LLAMA_HIPBLAS=ON -D CMAKE_C_COMPILER=/opt/rocm/llvm/bin/clang -D CMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++ -D CMAKE_PREFIX_PATH=/opt/rocm" make build -j 8

To mitigate it right now:
I'm just skipping the llava build
option(LLAVA_BUILD "Build llava shared library and install alongside python package" ON)
by passing OFF

I also get this error on Linux 22.04 with AMD.

      -- Configuring done (2.0s)
      CMake Error in vendor/llama.cpp/examples/llava/CMakeLists.txt:
        HIP_ARCHITECTURES is empty for target "llava_shared".

      -- Generating done (0.0s)
      CMake Generate step failed.  Build files cannot be regenerated correctly.

      *** CMake configuration failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for llama-cpp-python
Failed to build llama-cpp-python
ERROR: Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based projects

Me too. I get the same error.

I have some workaround for this issue.

Download source code from previous llama-cpp-python release ( i  used 0.2.71 ) and unzip it
Download soruce code of previous version of llama-cpp ( i used b2800) and unzip it in vendor folder in llama-cpp-python folder make sure to replace existing llama.cpp folder.
install with

pip3 install .  OR CMAKE_ARGS="-D LLAMA_HIPBLAS=ON -D CMAKE_C_COMPILER=/opt/rocm/llvm/bin/clang -D CMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++ -D CMAKE_PREFIX_PATH=/opt/rocm" make build -j 8

im pretty sure there are better configuration instead of my configuration llama-cpp-python (0.2.71) and llama-cpp ( b2800). but well at least it works right now

I'm observing the same error. I'm using AMD/ROCm too.

Same here error here. Ubuntu 22.04 AMD/ROC:
It will fail at installing llava_shared library (libllava.so):
Installing: /home/[]rojects/rocm-setup/llama-cpp-python/llama_cpp/libllama.so
"/tmp/tmpigzjrup0/build/vendor/llama.cpp/examples/llava/libllava.so": No
such file or directory.
Concretely these task(s) will fail:
install(
            TARGETS llava_shared
            LIBRARY DESTINATION ${SKBUILD_PLATLIB_DIR}/llama_cpp
            RUNTIME DESTINATION ${SKBUILD_PLATLIB_DIR}/llama_cpp
            ARCHIVE DESTINATION ${SKBUILD_PLATLIB_DIR}/llama_cpp
            FRAMEWORK DESTINATION ${SKBUILD_PLATLIB_DIR}/llama_cpp
            RESOURCE DESTINATION ${SKBUILD_PLATLIB_DIR}/llama_cpp
        )
        # Temporary fix for https://github.com/scikit-build/scikit-build-core/issues/374
        install(
            TARGETS llava_shared
            LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/llama_cpp
            RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/llama_cpp
            ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/llama_cpp
            FRAMEWORK DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/llama_cpp
            RESOURCE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/llama_cpp
        )

it will work if i remove LLAVA support with: -DLLAVA_BUILD=off
As for missing HIP_ARCHITECTURES try: -DCMAKE_HIP_ARCHITECTURES=gfx1100

Hi, I am having a similar issue
  cd llama-cpp-python
  git pull --recurse-submodules -v
  git clean -x -n -f
  cmake -B /pkgs/build/llama-cpp-python  -DCMAKE_INSTALL_PREFIX=/pkgs/llama-cpp-python  -DLLAMA_CUDA=on
  cmake --build /pkgs/build/llama-cpp-python  --config Release -v
  cmake --install /pkgs/build/llama-cpp-python --prefix /pkgs/llama-cpp-python

the last step (the install step) fails with
CMake Error at /pkgs/build/llama-cpp-python/cmake_install.cmake:65 (file):
  file cannot create directory: /llama_cpp.  Maybe need administrative
  privileges.

and I traced it down to ${SKBUILD_PLATLIB_DIR}/llama_cpp and SKBUILD_PLATLIB_DIR is not set here.
So what I'm trying to do is just compile the .so bits for llama-cpp-python (See #1533), but it looks like I'm missing something here

I'd like to point out one thing though: the standalone llama.cpp repo at the current master branch (45c0e2e4c1268c2d7c8c45536f15e3c9a731ecdc) builds just fine with this command (c&p from llama.cpp build instructions) and also produces llava binaries/libraries:
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DLLAMA_HIPBLAS=ON -DAMDGPU_TARGETS=gfx900 -DCMAKE_BUILD_TYPE=Release     && cmake --build build --config Release -- -j 16

I tried updating vendor/llama.cpp in llama-cpp-python to that revision, but it did not help. Explicitly disabling llava (which I did not need anyway) made llama-cpp-python compile and produce a .whl:
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" CMAKE_ARGS="-DLLAVA_BUILD=OFF -DLLAMA_HIPBLAS=on -DAMDGPU_TARGETS=gfx900" pip wheel .

I'm on Linux / ROCm 6.x

I updated the rocm drivers to version 6.2. After that, llama-cpp-python 0.2.90 was installed without problems.

@HardAndHeavy thanks for confirming the new release has this problem already fixed, lets wait for another confirmation and then we close this ticket for good :)

I also had no issue anymore when installing llama-cpp-python 0.3.1


C++ multithread rules

Changes

Adds multithreading for rule matching, currently using one thread per rule.
Uses thread-safe techniques, such as locking.
Uses C++ threading library, so compilation on other systems shouldn't be an issue.
This PR should speed up matching linearly with the number of input rules.

Comments
This PR also fixes a bunch of linting errors that were introduced in #361 (not caused by this PR) and causing CI to fail the build. Some changes I made to address these errors:

Rename Set_test.cpp to SetTest.cpp to follow same pattern as the rest of the files (it also wouldn't compile due to discrepency with CMake file.
Fix all files' #includes.
Add -build/c++11 and -build/c++14, since SetReplace is a C++17 library.
Add CPPLINT.cfg file in root to manage cpplint options easier.
Add extensions option to cpplint to include .hpp files as well.

If you don't want to use CPPLINT.cfg and would prefer to put all the options in lint.sh instead, I can change that.
Examples
@maxitg, please post your performance tests here when you get a chance.

This change is

Performance results on a 6-CPU machine:
Single-input rule                       -2.7 ± 0.5 %
Medium rule                             -0.9 ± 0.4 %
Sequential rule                         -0.5 ± 0.6 %
Large rule                              -0.06 ± 0.24 %
Exponential-match-count rule            -1.1 ± 0.6 %
CA emulator                             65.14 ± 0.17 %


Strange poverty gap in China at $5.50 in the '80s

Hi all, I'm seeing some strange patterns with China's poverty gap in the 1980s at $5.50. Strange meaning that it differs quite a bit between PovcalNet and PIP even though the headcount rates are identical. Here is some code to understand what I find.
// Prepare PovcalNet data
povcalnet, country(CHN) year(all) povline(5.5) fillgaps clear
decode coveragetype, gen(reporting_level)
replace reporting_level = lower(reporting_level)
replace reporting_level = "national" if reporting_level=="national (aggregate)"
keep year reporting_level headcount povgap
order year report
rename headcount hc_pcn
rename povgap pg_pcn
tempfile pcn
save    `pcn'

// Prepare PIP data
pip, country(CHN) year(all) povline(5.5) fillgaps clear
keep reporting_year reporting_level poverty_gap headcount
rename reporting_year year
rename headcount hc_pip
rename poverty_gap pg_pip

// Merge and calculate differences
merge 1:1 year reporting_level using `pcn', nogen
gen dif_hc = abs(hc_pip-hc_pcn)
gen dif_pg = abs(pg_pip-pg_pcn)

// Plot
format dif* %3.2f
twoway line pg_pcn year || line pg_pip year, by(reporting_level)

Hi @randrescastaneda , @danielmahler,
I looked at this issue and I noticed that the 1982 and 1983 (rural and national) data points are not similar for PovCalNet and PIP.   Would it be possible to check the pip data source for those two years?
Thanks,
Tefera

Hi @randrescastaneda , @danielmahler,
The 1981 data points are similar.

Hi @danielmahler,
I can't replicate the results you mention. Could you please send me the code where the poverty gap is 1? The table below is what I got.
Thanks.

Sorry about that, here you go :)
pip, country(CHN) year(1981) povline(3.65) clear

Yes, you're right. I replicated the issue. I think the problem is with the fitting of the lorenz at the tail of the distribution. Perhaps it changes from one model to the other (I don't really have an easy way to check that). It is clear that there is a discontinuity around $3.3.

Code to repliacte
library(data.table)
pl <- seq(.5, 3.7, length.out = 100)

chn <- purrr::map_df(pl,
                     ~{
                        x <- pipr::get_stats("CHN", 1981, povline = .x)
                        setDT(x)
                        x[, .
                          (reporting_level,
                            mean,
                            headcount,
                            poverty_gap,
                            poverty_severity,
                            poverty_line)]
                     }
                     )

chnm <- melt(chn,
             id.vars = c("reporting_level", "poverty_line"),
             variable.name = "measure",
             value.name = "value")

ggplot(chnm[reporting_level == "national" & measure != "mean"],
       aes(x = poverty_line,
           y = value,
           color = measure) ) +
  geom_line()


ARROW-6558: [C++] Refactor Iterator to type erased handle

To resolve linkage issues with MSVC and the current abstract base class Iterator
@pitrou

@kszucs Do you think the Ursabot build failures here are related?

Codecov Report

Merging #5391 into master will increase coverage by 0.57%.
The diff coverage is 98.92%.

@@            Coverage Diff             @@
##           master    #5391      +/-   ##
==========================================
+ Coverage   88.58%   89.16%   +0.57%
==========================================
  Files         950      758     -192
  Lines      126207   110762   -15445
  Branches     1495        0    -1495
==========================================
- Hits       111803    98756   -13047
+ Misses      14039    12006    -2033
+ Partials      365        0     -365

Impacted Files
Coverage Δ

cpp/src/arrow/dataset/file_base.h
87.5% <ø> (ø)
:arrow_up:

cpp/src/arrow/dataset/dataset.cc
100% <ø> (ø)
:arrow_up:

cpp/src/parquet/arrow/reader.h
65% <ø> (ø)
:arrow_up:

cpp/src/arrow/table.h
100% <ø> (ø)
:arrow_up:

cpp/src/arrow/dataset/scanner.h
100% <ø> (ø)
:arrow_up:

cpp/src/parquet/arrow/reader.cc
83.5% <ø> (+2.7%)
:arrow_up:

cpp/src/arrow/dataset/dataset_internal.h
100% <ø> (ø)
:arrow_up:

cpp/src/arrow/dataset/file_parquet.h
87.5% <ø> (ø)
:arrow_up:

cpp/src/arrow/record_batch.cc
94.07% <100%> (ø)
:arrow_up:

cpp/src/arrow/dataset/file_parquet.cc
100% <100%> (ø)
:arrow_up:

... and 207 more

Continue to review full report at Codecov.

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

I have not seen the failures, everything seem to pass now though.


support arm

For https://github.com/docker/containerd/pull/644
(compilation error was vendor/github.com/stevvooe/go-btrfs/btrfs.go:368: constant<PHONE_NUMBER> overflows int32)
Signed-off-by: Akihiro Suda<EMAIL_ADDRESS>

LGTM


Merge main into dev-1.26 to keep in sync

Merge main into dev-1.26 to keep in sync

Build wasn't building, so I kicked off a retry at: https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/6393c9e707648c1e781001b7

Site is live: https://deploy-preview-38363--kubernetes-io-vnext-staging.netlify.app/

Thank you, @krol3!
/lgtm

/approve

/honk


raylib breaks netcore 3.1

adding the nuget package seems to break .NET core 3.1

nvm vscode was being really strange, not sure why it broke


Discord new Branding Color

https://discord.com/brand-new/branding
#5865F2
CMYK (56, 43, 0, 0)

Thanks!


spring-authorization-server 0.2.0 How to support password mode

Expected Behavior

Able to get token
Current Behavior

{
"error_description": "OAuth 2.0 Parameter: grant_type",
"error": "unsupported_grant_type",
"error_uri": "https://datatracker.ietf.org/doc/html/rfc6749#section-5.2"
}
Context

java

See #349 and #466


doce(plugin): info  are not set

fix a small chunk of #2274

[x] Read and sign the [CLA][1]. PRs that haven't signed it won't be accepted.
[x] Make sure your PR complies with the [writer's guide][2].
[x] Review the diff carefully as sometimes this can reveal issues.
[x] Do not abandon your Pull Request: [Stale Pull Requests][3].

Thanks!


ytt fmt does not handle percentage signs

What steps did you take:
$ cat test.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: jobs-low-2
    type: jobs
  name: jobs-low-2
spec:
  progressDeadlineSeconds: 900
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 25%

$ cat test.yaml | ytt fmt -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: jobs-low-2
    type: jobs
  name: jobs-low-2
spec:
  progressDeadlineSeconds: 900
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 25%!(NOVERB)

What happened:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: jobs-low-2
    type: jobs
  name: jobs-low-2
spec:
  progressDeadlineSeconds: 900
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 25%!(NOVERB) <- ???

What did you expect:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: jobs-low-2
    type: jobs
  name: jobs-low-2
spec:
  progressDeadlineSeconds: 900
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 25%

Anything else you would like to add:
I think we are not properly escaping % in the parser
Environment:

ytt version (use ytt --version): ytt version 0.32.0

OS (e.g. from /etc/os-release): macOS 11.2.3 (20D91)

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

Thanks for reporting this bug, @epk.
To be clear, the %!(NOVERB) is output from fmt.Fprintf(). Which indicates that we're passing the raw string to that function without escaping the %, first, as @epk said.
Note that we're doing the proper handling in the template command:
$ ytt -f test.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: jobs-low-2
    type: jobs
  name: jobs-low-2
spec:
  progressDeadlineSeconds: 900
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 25%

This feels like a reasonable good first issue to me. @pivotaljohn please correct this if I'm wrong.
We're going to move this to our Unprioritized Backlog at the moment but are open to PRs!

Available in v0.38.0


Euler Y returns 0

Euler X values return correctly. However, getEulerY() always returns 0.

Euler Y is only reported when the detection mode is set to ACCURATE_MODE:
https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector.Builder.html#public-methods
The difference between the fast and accurate modes is that the accurate mode looks for faces in profile in addition to front facing, and is thus able to compute the Euler Y coordinate.  But as the name implies, this comes with a speed trade-off, since more computation is required.

Does anybody solved this issue? I getEulerZ() works fine, but getEulerY() is always 0.
This is the detector that I am using:
FaceDetector detector = new FaceDetector.Builder(context)
                .setTrackingEnabled(true)
                .setLandmarkType(FaceDetector.ALL_LANDMARKS)
                .setMode(FaceDetector.FAST_MODE)
                .build();

You need to use ACCURATE_MODE to get a value for euler Y:
FaceDetector detector = new FaceDetector.Builder(context)
                .setTrackingEnabled(true)
                .setLandmarkType(FaceDetector.ALL_LANDMARKS)
                .setMode(FaceDetector.ACCURATE_MODE)
                .build();

Ok, but why? I couldn't find any mention about this in the documentation, and it also doesn't seem too reasonable for me: they calculate the rotation of the face about the axis pointing out of the image (getEulerZ), but they don't calculate the rotation relative to the vertical axis of the image (getEulerY). It could be that the computation for this is more expensive, but in that case I think a mention in the documentation is mandatory.
Moreover the vision API library in iOS,  getEulerY() and getEulerZ()  both return a correct value, even in FAST_MODE.

It's mentioned in vision library documentation https://developers.google.com/vision/face-detection-concepts

The Euler Y angle is available only when using the “accurate” mode setting of the face detector (as opposed to the “fast” mode setting, which takes some shortcuts to make detection faster).

But yes, it's not pretty obvious when you trying to implement it.


Dynamic default image

Is there currently a way I can specify default image dynamicly based on record's attribute value?
It'd be useful a lot in cases like "I wanna show default avatar based on user's gender". Example:
class User < ActiveRecord::Base
  enum gender: [:male, :female]

  dragonfly_accessor :avatar do
    default Proc.new { "public/images/user_gender_#{gender}.png" }
  end
end

default is intended to be simple - anything more complicated should use jarinudom's method, i.e. use a helper or decorator, as this is more flexible and app-specific


Bug: GitHub Pages missing wheels for v0.2.83 - v0.2.86

@abetlen The github-pages are missing the wheels for v0.2.83 https://abetlen.github.io/llama-cpp-python/whl/cpu/llama-cpp-python/ I think you trigger these manually?

Wheels for v0.2.84 are also not in the GitHub Page

Perhaps related: https://github.com/abetlen/llama-cpp-python/issues/1377
(also missing 0.2.85 now)

@gaby thanks should be fixed now.

@abetlen Thank you! 💪

@gaby I've also fixed the CI workflow so that it automatically runs on all new releases now (I thought I had done this previously but it was misoncfigured).

Thank you!  Looks good 💪💪💪


Added massage command to automatically send message to several rooms at once

Extremely sorry for taking such a long time to review this!
Could you explain a bit more what the feature is designed to do, would be helpful to make a review if you could explain a bit what the intention of the feature is?

Its purpose is to be able to send predefined and undefined messages to several predefined rooms at once.

I think this pr has rotted a bit over time and the feature may not be something that makes sense for Middleman currently, so closing.


[ci] Build android_rpc fails in CI

This has been failing intermittently but with increasing frequency lately:
https://github.com/apache/tvm/runs/7519810828?check_suite_focus=true
cc @Mousius @areusch @argrento

Thanks for reporting this @driazati !

Well, need to investigate.

can we close this one now?


Applying UDPCount and DecodedCount values to performance

We are doing some performance tests in the lab. After generating a bunch of Netflow v5 traffic in the lab, we stopped the packet generator and after 5 minutes we stopped vflow service on the machine. Following is what we see in the stats page:
{"StartTime":1571769677,"IPFIX":{"UDPQueue":0,"UDPMirrorQueue":0,"MessageQueue":0,"UDPCount":0,"DecodedCount":0,"MQErrorCount":0,"Workers":10},"SFlow":{"UDPQueue":0,"MessageQueue":0,"UDPCount":0,"DecodedCount":0,"MQErrorCount":0,"Workers":10},"NetflowV5":{"UDPQueue":0,"MessageQueue":0,"UDPCount":347410,"DecodedCount":187848,"MQErrorCount":0,"Workers":500},"NetflowV9":{"UDPQueue":0,"MessageQueue":0,"UDPCount":0,"DecodedCount":0,"MQErrorCount":0,"Workers":10}}
My question is simple. What does the difference between UDPCount and DecodedCount mean? Since there is a difference and vflow is not trying to close it, does that mean that we lost packets in the process?
Thanks,

I am not sure if it is relevant but our simulation is sending 30 flows in a single Netflowv5 packet.

Can you try 1k per seconds w/ less than 5 samples per packet? then check again the counters
p.s. you need to reset the counters by restarting the vflow.


Testin

Update main script and readme with what I'm currently using on my Oryx Pro oryp4 and what I may test on the Framework 16 in the future.

Looking good


Detect when OpenCv.js is loaded

Hi Ezzat,
It seems it takes quite some time to load the wasm.
Is it possible somehow to apply an event handler, which is called when the module is completely loaded?
Thanks !!!
Bart

I can easily do the require of opencv-wasm in background, and once it returns from that function then I know it is loaded.
So case closed ...


Python 2 compatibility

Is your feature request related to a problem? Please describe.
Certain older build systems are still running python 2 unfortunately so it may be desirable to maintain python 2 compatibility.
Describe the solution you'd like
For most if not all of nemesyst functionality to be python2 able.
Describe alternatives you've considered
Forcing use of python 3 but then again its in our interest to be used as widely as possible.
Additional context
Q_Q

https://github.com/DreamingRaven/nemesyst/pull/85

Well now that I actually started python2 compatibility certain tools are not python2 compatible and python 2 is going out of support soon so I will keep with the bets practices but plans to make Nemesyst fully python 2 compatible will now cease.


grt: update rc estimation for pin connections

Turn RC estimation for pin connections less conservative, creating a zero-length parasitic between a pin node and a wire/via node.

I don't understand the meaning of the PR title. It appears to be trying to correct an issue with via resistances not being accounted for properly or multiple times.

I still have no idea what the motivation behind this change is. My take is that it is far more complicated than it needs to be with maps and vectors of nodes and multiple coordinates (on grid versus off). I have been planning to rework the estimation when the pins don't really span multiple gcells because the existing code grotesquely overestimates the parasitics of a detailed route.

@jjcherry56 the motivation is that we are adding too much resistance between the pin and the gcell center.  In sky130hd we are assuming li1 routing which is extremely resistive and unrealistic.
The pins are mapped to the gcell centers so we can see which pins are connected to which segments (for planar access).  The actual location is then used to create a resistor between the segment and the pin.

This change eliminates all parasitics between pins in the same gcell and pretends they are all located at the gcell center adding only a resistor for the via connection from gcell center down to the pin. Is that the intended behavior?
Here is an example from gcd sky130hd with locations and grid locations added to the debug stmts:
[DEBUG GRT-0001] net 180
[DEBUG GRT-0001] pin 389/B1 (196975, 140115) / (196650, 141450)
[DEBUG GRT-0001] pin 388/Y (196565, 142335) / (196650, 141450)
[DEBUG GRT-0001] (node-to-via) 389/B1 -> 180:1 via r=0.009
[DEBUG GRT-0001] (node-to-via) 388/Y -> 180:1 via r=0.009
Note there is no (wire) entry for a wire segment creation.
Here are some other issues:
no longer called but not removed:
MakeWireParasitics::makeParasiticsToGrid
MakeWireParasitics::makeParasiticsToGrid
MakeWireParasitics::node_map_
There is no point is calling makePinRoutePts to fill on_grid_node_map_
before makeWireParasitics because it is only used by
makeViaParasitics. I don't believe is even on_grid_node_map_ necessary because node_map_
already has the segement nodes in it with grid locations.
should be calling clear instead of erasing each entry (4 places)
on_grid_node_map_.erase
I suggest we revoke the PR and I work with Eder to clean this up offline.


PIL.UnidentifiedImageError: cannot identify image file

Hello , guys
File "C:\Users\stabdiff\stable-diffusion-webui\modules\api\api.py", line 62, in decode_base64_to_image
image = Image.open(BytesIO(base64.b64decode(encoding)))
File "C:\Users\stabdiff\stable-diffusion-webui\venv\lib\site-packages\PIL\Image.py", line 3283, in open
raise UnidentifiedImageError(msg)
PIL.UnidentifiedImageError: cannot identify image file
don't know why they can not decode the image .
Env:
latest automatic1111 and Mikubill/sd-webui-controlnet
What I already did ?

I added some print  to make sure the file path is right, the file is existing.

make sure the python package installtion is right

manually use webui controlnet works good

some body has same issue ?

same on my side

The issue resides on extensions-builtin\sd-webui-controlnet\scripts\controlnet.py
[I'm using vlad-diffusion, but should be similar path in a1111, minus the -builtin from extensions]
The Issue
When setting up image and mask into nparray... the mask is typically empty. However, it is an empty string, and hence controlnet tries to parse the empty string... So the solution is to check if the incoming mask is a string and is not empty!
The Fix
I'll put a request into controlnet. But in the meantime you can do this yourself. In the script you can replace this:
    if isinstance(result['mask'], str):
        result['mask'] = external_code.to_base64_nparray(result['mask'])
    elif result['mask'] is None:
        result['mask'] = np.zeros_like(result['image'], dtype=np.uint8)

with
    if isinstance(result['mask'], str) and result['mask']:
        result['mask'] = external_code.to_base64_nparray(result['mask'])
    else:
        result['mask'] = np.zeros_like(result['image'], dtype=np.uint8)


Add message factories

Factory implementations for PSR-7 related objects.
It adds one external dependency (which becomes stable this week). It provides Factory interfaces.
The idea behind this project is that message construction COULD also be standardized. It's not a requirement, but can be useful in some cases. Actually it is useful in any cases where you allow using any kind of PSR-7 implementation, not just one.
We regularly use it in HTTPlug and any packages which rely on it: FOS HTTP Cache, FXMLRPC, possibly in the future Geocoder too.
We had these interfaces implemented in a custom repository along with factories for Diactoros, but we realized that it would be cool if factories were provided by implementations themselves. In case of Diactoros it is possibly harder, because it already provides some factories which are incompatible with these interfaces. In such cases we have to use bridge packages, like this:
https://github.com/mekras/httplug-diactoros-bridge
However it adds an extra dependency, and somewhat redundancy, as you require a message implementation AND a bridge package for it.
Not sure if it is something that you want to merge, but I thought I would submit it anyway.
/cc @dbu @joelwurtz @mekras

I'm -1 on taking on a new external dependency, especially if it's just to provide built-in integration with a different third-party library. I think keeping the proposed change in a repository that depends on this package is a better solution.

the aim of php-http is not to be any third-party library but the common standard for creating messages and abstracting from specific clients. it should eventually be turned into a PSR.
but i can see that we are too early to be sure whether this will work out.

Agreed with @jeskew. In it's current state, I see this as an integration that should be made in the third-party library and not in Guzzle. If this ever becomes a PSR, we can look at integrating support in this repo.

Hey Jonathan,
I see your point, so let me try better explaining this proposal.
This is not trying to be a third party integration, quite the opposite.
These interfaces allow to integrate this library into many other, so from
this point of view this library is the third party.
Interfaces cannot have constructors by nature. Unlike other PSRs, this one
defines value objects (sort of). It means that they are created and filled
with data by your code, which requires you to know about the
implementation. It is not really interoperable. That's why we created these
factory interfaces. While we hope we can make these some kind of standard,
message factories can't really be made a PSR.
Mentioning HTTPlug was probably a mistake: this has nothing to do with it.
HTTPlug indeed uses these interfaces, but the purpose of them is not to
provide integration for it.
I think FOS HTTP Cache is a good demonstration: while it uses HTTPlug under
the hood, it is irrelevant. The package itself needs to create message
objects (requests actually). They have two options:
Stick to one PSR-7 implementation
OR
Rely on purely the interfaces and dependency injection.
Which do you think is better? Which is more interoperable?
And this is only one example, but can be applied to any packages working
with PSR-7.


Clean code, TDD, and software architecture in Jupyter notebooks

Hi @NirantK,
You asked for tests at https://github.com/keon/awesome-nlp/pull/147
So you gave me the idea to write this article on how to do Clean code, TDD, and grow software architecture out of Jupyter notebooks: https://github.com/guillaume-chevalier/How-to-grow-neat-software-architecture-out-of-jupyter-notebooks
And now I find this repository of yours: "best-of-jupyter". What a coincidence! Well... you may enjoy this read.
Best Regards,
Guillaume

@NirantK Hey, it turns out I found that my post just got featured on the HackerNews's 1st page

Oh wow. This is fantastic. Good discussion on the post as well :)


RHIDP-979: Adding YAMl config details to the Helm upgrade procedure (…

…#139)

RHIDP-979: Adding YAMl config details to the Helm upgrade procedure

Updated the procedure steps for clarity

Updated other procedures

incorporated SME comments

Edited other procedures to include Yaml code

minor edit

minor edit

minor edit

incorporated peer comments

minor changes based on QE feedback

Closing this PR as CP is not required.


helm_remote: remove and pull chart each time

Hello,
I wonder about the installation of each chart. For each helm_remote, the command makes these instructions:
# ======== Perform Installation
local('rm -rf %s' % pull_target)
local(pull_command)
install_crds(chart, chart_target)

So it will download each time the chart and remove the previous. Moreover, in my case i have a uniq chart for several service (called A, B, C for the exemple)
So, the script makes the following
downloading `myChart` and start it for service 'A'
removing `myChart`
downloading `myChart` and start it for service 'B'
removing `myChart`
downloading `myChart` and start it for service 'C'
removing `myChart`

As you can see, step are very useless because of removing and downloading the same chart.
Good points

Ensure that charts are always up-to-date

Bad points

Useless expansive operation (dowloading)
Useless blocking operation before starting tilt watch (Because all downloads have to be finished before start tilt)

What do you think about that ? :)

@Tchoupinax was this resolved with #59 ?

Not really, #59 fixed that all downloaded charts are present in the .helm directory at the end of the Tilt process. :)

I have some ideas about offline mode, but haven't had a chance to try any of them out, yet. 😞

To add to this issue, the update is also happening when running tilt down which adds an unnecessary delay to stopping the services


Using tidymodels to predict species distributions

Species Distribution Models or Ecological Niche Models are a broad range of tools for estimating the distribution of a focal species based on (typically) environmental covariates.
There are a number of specific R packages available to fit these, typically focused on specific statistical methodologies (e.g. dismo).
I can see broad interest from the SDM community for using tidymodels as a route to exploring a broad range of statistical models/ engines within a familiar tidy workflow. For example, I am currently trying to build an ensemble of 4 models (lm, gam, rf and brt) using a tidymodel approach to estimate the distribution of ~30 marine species. One reason for choosing a tidy approach is being able to train models using spatial cross-validation via the spatialsample package.
However, I'm struggling to understand how best to generate predictions from tidymodel workflows that would fit back into the standard SDM workflow.
Typically we check the interpretability of a model through (1) partial dependence plots of specific covariates and (2) by generating spatial predictions from models using covariates from the geographic domain of interest e.g. raster::predict or terra::predict.
I can see a route to do (1) via DALEX following the Mario Kart guide from @juliasilge here but am struggling to find documentation on how to do (2). Can I pass the workflow object directly to predict or should I create an explainer object first?
Here's some pseudo-code for my current workflow for 2:

# fit the final model to the data (after cross-validation and tuning)
final_fit <- final_model |> fit(my_data)

# generate DALEX explainer
rf_explainer <- explain_tidymodels(final_fit, data = my_data, y = my_data$response)

# load a covariate raster stack and convert to xyz tibble
covs <- readRDS("data/covariate_stack.rds") |>
     rasterToPoints(covs) |>
     as_tibble()

# generate predictions for each xyz from the covariate stack
spatial_predictions <- predict(rf_explainer, test)

Howdy @jamesgrecian -- sorry to miss this originally, this repo doesn't see a ton of activity.
If I understand your question correctly: you can pass workflows and explainers to terra::predict() pretty easily. Depending on your workflow, you might need to write a wrapper function (for the fun argument) that extracts a vector of predictions from the workflow output, or use the index argument to subset the returned data frame:
## Packages and other setup:
set.seed(123)

library(sf)
#> Linking to GEOS 3.11.1, GDAL 3.6.2, PROJ 9.1.1; sf_use_s2() is TRUE
library(terra)
#> terra 1.7.29
library(DALEXtra)
#> Loading required package: DALEX
#> Welcome to DALEX (version: 2.4.3).
#> Find examples and detailed introduction at: http://ema.drwhy.ai/
library(tidymodels)

## Data prep:
# pak::pkg_install("Nowosad/spDataLarge")
data("lsl", "study_mask", package = "spDataLarge")
ta <- terra::rast(system.file("raster/ta.tif", package = "spDataLarge"))
lsl <- lsl |>
  st_as_sf(coords = c("x", "y"), crs = "EPSG:32717")

## Fit some workflow
glm_model <- logistic_reg() |>
  set_engine("glm") |>
  set_mode("classification")

glm_wflow <- workflow() |>
  add_formula(lslpts ~ slope + cplan + cprof + elev + log10_carea) |>
  add_model(glm_model) |>
  fit(lsl)

glm_explainer <- explain_tidymodels(
  glm_wflow,
  data = lsl,
  y = as.logical(as.character(lsl$lslpts))
)
#> Preparation of a new explainer is initiated
#>   -> model label       :  workflow  (  default  )
#>   -> data              :  350  rows  7  cols
#>   -> target variable   :  350  values
#>   -> predict function  :  yhat.workflow  will be used (  default  )
#>   -> predicted values  :  No value for predict function target column. (  default  )
#>   -> model_info        :  package tidymodels , ver. 1.0.0 , task classification (  default  )
#>   -> model_info        :  Model info detected classification task but 'y' is a logical . Converted to numeric.  (  NOTE  )
#>   -> predicted values  :  numerical, min =  0.00233623 , mean =  0.5 , max =  0.9858769
#>   -> residual function :  difference between y and yhat (  default  )
#>   -> residuals         :  numerical, min =  -0.9858769 , mean =  -7.765776e-10 , max =  0.9780077
#>   A new explainer has been created!

## Predicting is easy via terra:
terra::predict(ta, glm_explainer) |> plot()

## Though you might need to wrap the prediction function
## to guarantee you get a vector of predictions back:
try(terra::predict(ta, glm_wflow))
#> Error in out[[i]] <- data.frame(value = 1:length(out[[i]]), label = out[[i]]) :
#>   more elements supplied than there are to replace
terra::predict(
  ta,
  glm_wflow,
  fun = \(model, object) predict(model, object)$.pred_class
) |>
  plot()

# Or alternatively, use the `index` argument to select which columns from the output should be rasterized. Note that we lost the data type here, though, because `glm_wflow` was returning factors which got auto-converted into integers:
terra::predict(
  ta,
  glm_wflow,
  index = 1
) |> plot()

Created on 2023-04-26 with reprex v2.0.2
Does that answer what you're asking?

Thanks @mikemahoney218, this is great!
I was getting confused before because when using explain_tidymodels and model_profile to generate a partial dependence plot the outputs will differ with each call to the functions depending on the number of samples used.I'm used to simply getting the mean prediction from a model prediction object! Based on the documentation it wasn't clear what to do in this case.


[NFC, NameLookup, ASTScope] Bug fix for eager scope tree construction & better failure messages

ASTScopes still off-by-default. Bug fix for eager scope tree construction. Also when an assertion failes in the ASTScope system, suggest trying -disable-astscope-lookup.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test os x platform


Who will do which configuration?

There are 7 configurations to choose from, right?

yes

what are the seven configurations? Have you guys figured it out?

@AhmedCode99 @s4il3sh
I'll go for the 1st 2 configurations

what are the seven configurations? Have you guys figured it out?

Figure 4

what are the seven configurations? Have you guys figured it out?

check this link
https://www.researchgate.net/publication/201976884_Evolving_few-ion_clusters_of_Na_and_Cl

Evolving_few-ion_clusters_of_Na_and_Cl.pdf
The full paper is here

The paper doesn't mention the name of the configurations.

Ok. I will do 4th and 5th


Sweep (slow): OPENAI_API_BASE is not working

Details
Bugs: OPENAI_API_BASE env variable is not working, because of the bug in openai-async 0.11.0, and it was fixed in 0.12.2.
Features:
Refactors: Refactor code accordingly to latest version of openai-async (or at least 0.12.2). The diff between theese two versions also incorporate function calling capabitily, so it affects completion object type.

Checklist

[X] Modify Cargo.toml ✓ https://github.com/getmetal/motorhead/commit/9028d9d5e567e9f221a7825c10c0f9a0c321e033 Edit
[X] Running GitHub Actions for Cargo.toml ✓  Edit
[X] Modify src/models.rs ✓ https://github.com/getmetal/motorhead/commit/1f6d9e4592be05d75d05891cf12c632ba2301c9b Edit
[X] Running GitHub Actions for src/models.rs ✓  Edit
[X] Modify README.md ✓ https://github.com/getmetal/motorhead/commit/bdb6ae98a88ea1d0cee9ddd9d01d15c1b86eb29f Edit
[X] Running GitHub Actions for README.md ✓  Edit

Missed same question, any update?


MINHOOK build failure

Operating system
Windows
Compiler
GCC
Steps to reproduce the behavior
vcpkg install minhook

Installed by git.

Failure logs
error: building minhook:x64-windows failed with: BUILD_FAILED
Elapsed time to handle minhook:x64-windows: 2.8 s
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+minhook
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?title=[minhook]+Build+error+on+x64-windows&body=Copy+issue+body+from+C%3A%2FUsers%2Fdanyf%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md

Additional context
No response

See #30604 on how to properly report an issue.


Remove ConstraintProvider from the exported solver package API.

This interface is a resolver package concern, so its definition can
live beside the code that accepts it. Removing it from solver also
removes the only solver->cache package dependency.
As I understand it, the only way to inject an implementation of this
interface today is by having access to unexported fields of
resolver.Resolver, so for now I've also made the interface
unexported. In the context of the ongoing desire to support resolution
as a separate library module, this will allow more time to evaluate
the shape of a stable library API.

/lgtm


Update versions where date got set to migration date to GF upload Date

When we migrated from Fedora 3 to Fedora 4 the version date got set to the migration date instead of the original upload date.
After (or during) we migrate from F4 to PCDM we should find the versions created on April 11th, 2015 and set the version created date to the GenericFile created date.

Do this as a ScholarSphere specific Converter during the migration.  Either update json that is exported or tie it into the migration code.

Note the old version date is April 10th the day we migrated last

Note the version date is the date the file was uploaded


React 16

Looking for feedback on the best way to support React 16.
I've seen a few libraries use
"peerDependencies": {
  "react": ">=0.14",
  "react-dom": ">=0.14"
},

We could also add more "ors"
"peerDependencies": {
  "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0",
  "react-dom": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0"
},

Note: this doesn't cover the betas but we could add those as well.
Thoughts on the correct approach? Is support for React 0.14 still needed?

Thinking out loud: There's probably no reason to drop support for React 0.14 until we use features/apis that are not available in that version (probably never).

@Stenerson actually, I see a few libraries just drop the peerDep requirements entirely. Since some people might want to use the component with something like preact-compat or inferno-compat. And we're using public API only so I think it's safe to drop the peerDep. Thoughts?

That's an interesting option @thangngoc89 - I hadn't even thought of that as a possibility. Would we keep React in devDependencies then or remove it entirely?

@Stenerson we should keep the devDependencies. It won't be installed on user's end and we need it for development anyway


Network creation splits arcs at each node

After wondering why the number of rows in the streets GeoDataFrame is different from the number of rows in the spaghetti network arcs, I noticed that the network arcs are split at each node of the input line geometries. Is this on purpose? I find it rather unexpected and it can significantly increase the number of arcs in the network.
>>> shp_path = libpysal.examples.get_path("streets.shp")
>>> gdf = geopandas.read_file(shp_path)
>>> len(gdf)
293
>>> ntw = spaghetti.Network(in_data=shp_path)
>>> en(spaghetti.element_as_gdf(ntw1, arcs=True))
303

Visualization with point markers at start and end nodes:

Is this on purpose? I find it rather unexpected and it can significantly increase the number of arcs in the network.

Yes, this is on purpose and expected, and yes, it will nearly always increase the number of arcs in the network. In Network._extractnetwork() each line feature is iterated over and each (euclidean) vertex within each line feature is iterated over in order to build the network data structure. As I mentioned above, this is expected behavior, but I have also realized it is only clarified in the code/comments itself and not in the docstrings/API docs, which should be remedied.
Moreover, like #530, this procedure is a legacy of the implementation in the code design of pysal.network (see also the migration explanation here), the predecessor of pysal/spaghetti. PySAL itself came into being prior to the advent of the anaconda/conda ecosystem and until several years ago was nearly 100% non-reliant on outside spatial packages (shapely, geopandas, etc.) due to the complexity, and frequent breakages, of installing dependencies. When I took over as the lead dev for spaghetti I wanted to incorporate functionality from other spatial packages as optional, but also retain the character of the original code base (i.e. utilizing native PySAL geometries and operations where possible).
Over the last several years I have gone back and forth on whether to (1) rely on on PySAL where possible; (2) completely restructure the code base to rely on outside packages; or (3) implement a dual workflow whereby users can either use only native PySAL geometries and operations or take advantage of outside packages. Each choice does, of course, come with its own set of pros & cons. Many of these thoughts & ideas can be found in the following issues: #403, #373 , #195.

Thank you for the detailed explanations! The joy of legacy systems 😄
So the legacy behavior is to split the original linestrings at each vertex and - if I interpret _extractnetwork correctly - it is not designed to store a linestring / libpysal.cg.Chain with the arcs:
https://github.com/pysal/spaghetti/blob/48210dcd9cf8d20acb6ddc29305fb40d6a2c950a/spaghetti/network.py#L531-L535
However, later, functions such as _snap_to_link do create chains:
https://github.com/pysal/spaghetti/blob/48210dcd9cf8d20acb6ddc29305fb40d6a2c950a/spaghetti/network.py#L1203-L1211
I understand the reluctance to restructure everything and rely on outside packages. Luckily in this case, it seems like that's not necessary because PySAL may already include what we need.

Yeah, before the v2.0 release (whenever that will be) I would like to work out all the oddities and rough edges like these. For now I am going to close this issue and we can reopen if needed once I have the time to focus back on it. In the meantime, I hope to give #526 some attention this weekend.


Replaced hardcoded user id to variable

Id's of service users should range in the span between SYS_UID_MIN and SYS_UID_MAX as they are otherwise considered "Extra users". Extra users are often considered temporary user which the system might clean up from time to time.
iot-gate-imx8:/etc/iotedge# cat /etc/login.defs |grep UID
UID_MIN                  1000
UID_MAX                 60000
SYS_UID_MIN               101
SYS_UID_MAX               999
SUB_UID_MIN                100000
SUB_UID_MAX             600100000
SUB_UID_COUNT               65536

I've kept the iotedge user id to 15580, but has moved it to a variable that can be customized in the local.conf.

btw... it'd be great if you could also implement this change in zeus ...

@wmmihaa with our latest 1.4 recipes for Dunfell we don't explicitly set the userid for iotedge.  Closing this since the 1.1 hits its EoL in the next 2 weeks and I think we'd update master to use the latest rather than continue to target the old 1.1.


Object Tracking / Unique detections

I'm using pytorch_lite to run inference on image frames extracted from a video file.
From a single image, I know that the library will return a list of detections given a certain confidence threshold.
Do you have an approach such that at the end of running inference across all of the images, it can output the total unique objects tracked? We are only using 1 label and our goal is to count the number of that object seen in the video.

Nothing is provided by default here, you will have to implement the logic for that


Replace license with full text

Taken from https://www.apache.org/licenses/LICENSE-2.0.txt
This helps github auto detect the license and show it in the header bar

Thanks !


HTTP 404 error on 4 URLs

ttps://index.ros.org/doc/ros2/Installation/Dashing/OSX-Development-Setup/
ttps://index.ros.org/doc/ros2/Installation/Dashing/OSX-Install-Binary/
ttps://index.ros.org/doc/ros2/Installation/Windows-Development-Setup/
ttps://index.ros.org/doc/ros2/Installation/Windows-Install-Binary/

logs: https://github.com/Tiryoh/ros2wiki_to_indexrosorg/runs/561339083?check_suite_focus=true

related: https://github.com/ros2/ros2_documentation/pull/562
ttps://index.ros.org/doc/ros2/Installation/Dashing/macOS-Development-Setup/
ttps://index.ros.org/doc/ros2/Installation/Dashing/macOS-Install-Binary/

fixed by https://github.com/ros2/ros2_documentation/commit/e9c8a4b205b88d1b8d85affb4b59c0b0abfdffc9


Update link_suspicious_message_unscannable_cloudflare.yml

Adding additional Cloudflare blocking detection.

Looks like this rule has since been expanded. I don't think this is needed any longer if you disagree please reopen @aidenmitchell


Migrate to Swift 4

Before #12

@serralvo I'm working on :)

@serralvo I will create the PR first of October (Hacktoberfest counts PR from 1st to 31st October only)

@darthpelo Ok, no problem, I'll try release version 1.0 before 😄

Thanks @darthpelo


[Issue Template]: Added feature request template

Changes committed:

new file:   .github/ISSUE_TEMPLATE/feature_request.md

PR fixes #1572

Is everything ok with this?

@Lalisfeed what is your account #?

@Lalisfeed what is your account #?

Account Number

6663b43af069d9d4d303cd1a13d63e9d206ab786eba694b3e23f4dfdb3670d34

#1990


Personality Prediction System #861

#861 issue fixed
pls @invigorzz313 check it

@ashis2004 There are multiple project files in this PR


Work around shell oddities

As you may know not all unix shells work the same way when it comes to syntax for running command b after command a finishes. This can cause some of the ALE's linters to fail due to the way the run. Example from my personal use case:
Current Shell: Elvish
ALEInfo output:
 Current Filetype: go
Available Linters: ['revive', 'revive', 'gobuild', 'gofmt', 'golangci-lint', 'golint', 'gometalinter', 'gosimple', 'gotype', 'govet', 'golangserver', 'staticcheck', 'revive']
   Linter Aliases:
'gobuild' -> ['go build']
'govet' -> ['go vet']
  Enabled Linters: ['gobuild', 'gometalinter', 'staticcheck', 'revive']
 Suggested Fixers:
  'gofmt' - Fix Go files with go fmt.
  'goimports' - Fix Go files imports with goimports.
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 Linter Variables:

let g:ale_go_gobuild_options = ''
let g:ale_go_gometalinter_executable = 'gometalinter'
let g:ale_go_gometalinter_lint_package = 1
let g:ale_go_gometalinter_options = '--aggregate --enable=test --enable=gosimple --enable=misspell --enable=nakedret --enable=unparam --enable=safesql'
let g:ale_go_staticcheck_lint_package = 0
let g:ale_go_staticcheck_options = ''
 Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'*': ['remove_trailing_lines', 'trim_whitespace']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 0
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {'go': ['staticcheck', 'gometalinter', 'revive', 'gobuild']}
let g:ale_linters_explicit = 0
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '[%linter%] %s [%severity%]'
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_statusline_format = v:null
let g:ale_type_map = {}
let g:ale_use_global_executables = v:null
let g:ale_virtualtext_cursor = 0
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(executable check - success) revive
(finished - exit code 0) ['/usr/bin/elvish', '-c', 'revive ''/tmp/v2OGRlD/4/sts.go''']

<<<NO OUTPUT RETURNED>>>

(executable check - success) go
(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && go test -c -o /dev/null ./']

<<<OUTPUT STARTS>>>
Parse error: ^[[31;1munexpected rune '&'^[[m
code from -c, line 1: cd '/home/vendion/work/JuiceAPI/internal/connector/sts' &^[[1;4m&^[[m go test -c -o /dev/null ./
<<<OUTPUT ENDS>>>

(executable check - success) gometalinter
(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && ''gometalinter'' --aggregate --enable=test --enable=gosimple --enable=misspell --enable=nakedret --enable=unparam --enable=safesql .']

<<<NO OUTPUT RETURNED>>>

(executable check - success) staticcheck
(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && staticcheck ''sts.go''']

<<<OUTPUT STARTS>>>
Parse error: ^[[31;1munexpected rune '&'^[[m
code from -c, line 1: cd '/home/vendion/work/JuiceAPI/internal/connector/sts' &^[[1;4m&^[[m staticcheck 'sts.go'
<<<OUTPUT ENDS>>>

(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && go test -c -o /dev/null ./']

<<<OUTPUT STARTS>>>
Parse error: ^[[31;1munexpected rune '&'^[[m
code from -c, line 1: cd '/home/vendion/work/JuiceAPI/internal/connector/sts' &^[[1;4m&^[[m go test -c -o /dev/null ./
<<<OUTPUT ENDS>>>

(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && ''gometalinter'' --aggregate --enable=test --enable=gosimple --enable=misspell --enable=nakedret --enable=unparam --enable=safesql .']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 2) ['/usr/bin/elvish', '-c', 'cd ''/home/vendion/work/JuiceAPI/internal/connector/sts'' && staticcheck ''sts.go''']

<<<OUTPUT STARTS>>>
Parse error: ^[[31;1munexpected rune '&'^[[m
code from -c, line 1: cd '/home/vendion/work/JuiceAPI/internal/connector/sts' &^[[1;4m&^[[m staticcheck 'sts.go'
<<<OUTPUT ENDS>>>

(finished - exit code 0) ['/usr/bin/elvish', '-c', 'revive ''/tmp/v2OGRlD/14/sts.go''']

<<<NO OUTPUT RETURNED>>>

Notice at the end where it outputs the command history the shell complains about an unexpected run '&'
elvish -c 'cd /home/vendion/work/JuiceAPI/internal/connector/sts && go test -c -o /dev/null ./'
Parse error: unexpected rune '&'
code from -c, line 1: cd /home/vendion/work/JuiceAPI/internal/connector/sts && go test -c -o /dev/null ./
Exception: elvish exited with 2
[tty], line 1: elvish -c 'cd /home/vendion/work/JuiceAPI/internal/connector/sts && go test -c -o /dev/null ./'

This is because for the Elvish shell the && does not mean the same thing it does in other shells, for Elvish the correct syntax would be:
elvish -c 'cd /home/vendion/work/JuiceAPI/internal/connector/sts ; go test -c -o /dev/null ./'

Maybe the correct way to handle this is instead of supported shells that might have similar syntax to Elvish in situations like this, allow overriding the shell that ALE uses when running a linter so a more traditional shell like Bash, ZSH, CSH, etc could be used instead.

Maybe the correct way to handle this is instead of supported shells that might have similar syntax to Elvish in situations like this, allow overriding the shell that ALE uses when running a linter so a more traditional shell like Bash, ZSH, CSH, etc could be used instead.

There's currently an open PR to customize the shell. There's also ongoing discussion about how to best handle this, but thank you for confirming that it's an issue for other people as well.


Gekidou MultiServers second part

Summary
This is Part 2 of MultiServer work.
in this PR is included:

Editing a server display name
Showing a highlight tutorial the first time the switch server modal is opened.
Setting the server Url and display name to the last active server when logging out from all servers
WebSocket reconnection logic

Ticket Link
https://mattermost.atlassian.net/browse/MM-39703
https://mattermost.atlassian.net/browse/MM-39704
NONE

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/20258
https://circleci.com/gh/mattermost/mattermost-mobile/20257

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/20263
https://circleci.com/gh/mattermost/mattermost-mobile/20262

Artifact links:
https://20263-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk
https://20262-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/20364
https://circleci.com/gh/mattermost/mattermost-mobile/20363

Artifact links:
https://20364-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa
https://20363-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk

made some new changes

Building app in separate branch.

Artifact links:
https://20374-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa
https://20373-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/20398
https://circleci.com/gh/mattermost/mattermost-mobile/20397

Artifact links:
https://20398-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa
https://20397-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk

LGTM - for the clearTimeout part, do we need to change it ?

@avinashlng1080 what part?


of and to should required properties in various parts of the rule-set JSON schema definition

https://github.com/TBD54566975/dwn-sdk-js/commit/e78cb572874a024968970c3af0de2855a020b8ff fixes this bug.


[gRPC] Blocking client hangs when backend golang server returns an Error

When Ballerina gRPC client does a blocking RPC with Golang service and Golang service sends an error. Ballerina gRPC Client hangs waiting for client response.
RCA: when the Golang server sends as an error, the error sends with the initial header frames, it doesn't send any data frames. but Ballerina transport implementation always looks for the data frame. hence client hangs.

We debug the issue further, Following are the findings

Response headers come from the backend server(Golang server) are :status, content-type, grpc-status, and grpc-message.
To verify, whether this is an initial header frame, we checked the existence of :method header, but it is not coming in the response headers. refer https://github.com/wso2/transport-http/pull/197/files#diff-a8c2a73a70ce052bd20e0fb23d542afe2ae5e828f9c097be186e75d6ca0484fbR320
So we ignore the response message.

Possible solution,

instead of checking :method header, check content-type header to verify it is initial header.

I checked both pushPromisedResponse and Response tracelog to check the header availability. In the following log, the First header and data pair belong to a Response, and the second pair belong to pushPromisedResponse. The aforementioned condition has been used for both types of responses. The : status header seems more appropriate to check as there can be situations where there is no data sent along with the response. In that case :content-type header may not be present IINM. WDYT?
[L:/<IP_ADDRESS>:7090 - R:/<IP_ADDRESS>:41318] OUTBOUND HEADERS: streamId=1 headers=DefaultHttp2Headers[:status: 200, content-type: application/json, server: ballerina, date: Mon, 26 Oct 2020 11:08:38 +0530] padding=0 endStream=false
[L:/<IP_ADDRESS>:7090 - R:/<IP_ADDRESS>:41318] OUTBOUND DATA: streamId=1 padding=0 endStream=true length=37 data=37B
{"response":{"name":"main resource"}}
[L:/<IP_ADDRESS>:7090 - R:/<IP_ADDRESS>:41318] OUTBOUND HEADERS: streamId=2 headers=DefaultHttp2Headers[:status: 200, content-type: application/json, server: ballerina, date: Mon, 26 Oct 2020 11:08:38 +0530] padding=0 endStream=false
[L:/<IP_ADDRESS>:7090 - R:/<IP_ADDRESS>:41318] OUTBOUND DATA: streamId=2 padding=0 endStream=true length=29 data=29B
{"push":{"name":"resource1"}}


Edit URLs for HTTPS and remove duplicates

I replaced all http: prefixes with https:
Some of the links had the URL twice, so I changed those

@A-A-Ron42 : Thanks for your contribution! The author, @aczechowski, has been notified to review your proposed change.

Testing whether PRMerger is working.
#sign-off


epoll install on pine64

During install on a pine64 (allwinner cpu) running bionic (armbian) with mainline kernel 4.19 I get the following.   So when it says no module compiler.ast is that a kernel module I might be missing?
Traceback (most recent call last):
  File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in <module>
    import gyp
  File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in <module>
    import gyp.input
  File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 5, in <module>
    from compiler.ast import Const
ImportError: No module named compiler.ast
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (events.js:200:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 4.19.38-sunxi64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/uci-gpio/node_modules/epoll
gyp ERR! node -v v12.4.0
gyp ERR! node-gyp -v v3.8.0

At this time I am not using interrupts so can I just ignore this or will the rest of on/off fail if epoll C code was not built?

After some more digging this looks like a python install problem
I guess node-gyp needs python...ironically,
That armbian distro had python3 already loaded.  Any suggestions on how to get the missing python module(s) loaded?

sudo apt install python-dev  will load missing module dependencies.
https://techoverflow.net/2018/06/04/fixing-node-npm-importerror-no-module-named-compiler-ast-on-ubuntu-18-04/


Add meta.xml filename to Darwin Core Text Guide

The metadata file referenced in Darwin Core Text Guide needs a well known (specified) name, as it cannot be automatically discovered without unnecessarily adding another specification such as XML Catalog to the mix.
The well known name that is implemented in software is meta.xml, and hence by the principle of specification-following-convention this should be added to the specification to give people reading the guide on its own an indication of what name they should give the file, without looking through the implementations to see what they variously support.

I would like to move this proposal and make explicit in the standard what is already in practice. It would be good to know, if possible, if there are any known exceptions to Darwin Core archives having the metafile named meta.xml.
@timrobertson100  @MattBlissett Is this something known by GBIF?
Does anyone have insights on publishing platforms that produce Darwin Core archives to check if there are any exceptions?

[ ] IPT?
[ ] Symbiota?
[ ] Specify?
Others?

https://github.com/gbif/dwca-io/blob/master/src/main/java/org/gbif/dwc/Archive.java#L31
GBIF's DWCA library only recognizes meta.xml, and I don't see any source archives in our repository that include other likely-looking *.xml files.

I can confirm that the Specify 7 DwCA generator always uses meta.xml for the metadata file.

Excellent, Thanks, Ben.
On Wed, Sep 9, 2020 at 4:47 PM Ben Anhalt<EMAIL_ADDRESS>wrote:

I can confirm that the Specify 7 DwCA generator always uses meta.xml for
the metadata file.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/tdwg/dwc/issues/144#issuecomment-689780794, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADQ726NQMPSXJKYCAYFBQ3SE7LW3ANCNFSM4DYIPMKQ
.

Confirmed that Symbiota uses the file name meta.xml as well. That should take care of the worry about backward compatibility and any obstacle to the change.

Would love to just do this, but it is a normative change and require public review. Removing from current milestone.

Alright. Are we then considering all of the other RFC 2119 changes in the text, simple, and rdf docs to be only non-normative? I guess @timrobertson100 hasn't signed off on the text guide edits yet.

I'll make an attempt at addressing https://github.com/tdwg/dwc/issues/80 and then maybe @timrobertson100 can review all at once.

Implemented in https://github.com/tdwg/dwc/commit/a4b052f3ca85e6c453eaefbbc97ff30f857fe0ed. Closing.


Job/Materia Tweaks.

The job "Beastmaster" should now allow for Sense Materia.
The job "Caller" should no longer allow for use of All Materia.
The job Onion Mime should now allow for Counter Materia.
The job Time Mage should no longer allow for Morph Materia. Instead, Morph Materia should be placed in the RNG generation filter that Chocobo Lure, and Underwater uses (due to Morph being required to even get Underwater to begin with).

First three are covered under #66 . Last is covered under #67 .


Renamed identifier to id

Fixes
Renamed identifier to id.
Fixes #2351
Description
Renamed identifier to id in frontend/assets/homepage_images/image_info.json, VHomeGallery.vue, and analytics.ts.

Noting that the CI failure is unrelated, and should be fixed by #2379


Revert "Fix next SWIP ID (#12217)"

This reverts commit 7f20b99b4f7574bc5f2ed9c13a5e52f1995f6e07.

[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[ ] Update the CHANGES log.

@ffaa3dd The latest SWIP ID is 8, why revert it?


Fix JavaScript build

opus_compare.c isn't needed, and Emscripten doesn't like multiple main functions

BTW I think you can delete the file since it's not used.


feat: allow for unlimited running activations

In some scenarios, like for example an autoscaling cluster of k8s, the user might want to not limit the max running activations. This PR honors the -1 value to disable the limit.

waiting to merge first https://github.com/ansible/eda-server/pull/675


Extend API Client to allow retries on failed requests

Added

Added RetryApiClient which extends ApiClient to retry failed requests multiple times

https://www.pivotaltracker.com/story/show/143412155

@wnowicki I have made the changes based on our discussion. There is now an AbstractRetryApiClient and an implementation of that

@wnowicki I have made some changes based on your comments


Patch 0 4 1

One big long laundry list of updates. Don't do this at home kids.

Improve docstrings + typing of utils functions
Change LineDataDerivatives to use simple difference instead of FFT
Fixes to data interpolation

@sebhmg Would you mind taking a look at the pytest fail? Something brakes when installing conda?

@sebhmg Ok so removing 3.7 from the list of version appears to do the trick. It was failing on figuring out python[version=3.7.*, 3.8.*] ?


Fix .NET 5.0 MacOS ELF dump module list

This fixes what a problem with my previous single-file module fix. The hacky MacOS ELF dumps that 5.0 generates (6.0 now generates actual MachO dumps) have modules with no PageOffset == 0 file entries so my previous change doesn't add them to the list of modules.

 I would have to think about it some more.  I liked the idea of removing the sorted _fileTable list. I guess it is too late now.  What changed your mind about your comment?

What changed your mind about your comment?

We have to linearly search the entries for the smallest entry which is O(n), and keeping a sorted list I think is still O(n) so it doesn't save us much eliminating the sorted list.  I also didn't have a strong opinion either way, so I figured it was easiest to just merge it.  If you want to submit another PR to remove it feel free.


Getting chrome logs from selenoid

Hi all!
I need some help with browser log gathering.
I know about the VERBOSE env variable that we can pass, and we get the webdriver logs in the selenoid logs.
What I would like to have are the browser debug logs of chrome, like described here: https://superuser.com/questions/1286937/how-can-i-find-my-browser-web-log-file
What essentially needs to be done, is to pass chrome in command line '--enable-logging --v=1', and it will create a logfile.
This logfile provides more info about the browser, than the --verbose flag of the webdriver flag does.
Any ideas how this could be done?
Maybe this is simple, I am just overlooking something.
Do you need any additional info about this question?
Thank you in advance for replying to this thread!

@kornel-filep e.g.:
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL);
logPrefs.enable(LogType.PERFORMANCE, Level.INFO);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER);
logEntries.getAll().stream().forEach(
    le -> System.out.printf("%s %s", le.getLevel(), le.getMessage())
);

Thanks @vania-pooh, but this does not seem to output anything for me😔. Maybe I am just doing something wrong.
Btw, I managed to find the browser debug logs that I need inside the container created by Selenoid.
It basically contains what I need, really detailed logs about what happens with the browser.

Is there an easy way that I could grab the contents of this logfile out of a container created by selenoid?

@kornel-filep no, debug logs are only accessible from the file system. Probably you could modify browser image and create a symling from /tmp to /home/selenium/Downloads and then use this feature: https://aerokube.com/selenoid/latest/#_accessing_files_downloaded_with_browser

@vania-pooh perfection.
Adding RUN ln -sf /tmp /home/selenium/Downloads to the dockerfile works like magic.
As my question is answered, closing this comment. Thanks for the help!

@vania-pooh Found an easier solution.
Checked out it for chrome. If setting the CHROME_LOG_FILE environment variable to /home/selenium/Downloads you can grab it through the downloads API. Or even better, if setting the env variable to /dev/stdout you will get the logs automatically saved by Selenoid.


Resolve TODO comments

In particular the latest ones.

If I could make a wish here, it would be making the saturating constructors public.

I'm okay making them public under the current name, feel free to send a PR (though it needs to also add docs including examples).


export default not typechecked properly?

I am getting a typecheck error on Class1 (a default export), and I don't think I should...
// main.js
/* @flow */

const Class1 = require('./class1');
const instance1 = new Class1();
// This does not typecheck, citing:
//   "constructor call. Constructor cannot be called on
//    CommonJS exports of "/Users/jpearce/Desktop/test/class1.js"
console.log(instance1.getName());

const {Class2} = require('./class2');
const instance2 = new Class2();
// This does typecheck.
console.log(instance2.getName());

const Class3 = require('./class3');
const instance3 = new Class3();
// So does this.
console.log(instance3.getName());

// All run OK though.

// class1.js
/* @flow */
export default class Class1 {
  getName(): string {
    return 'class1';
  }
}

// class2.js
/* @flow */
export class Class2 {
  getName(): string {
    return 'class2';
  }
}

// class3.js
/* @flow */
module.exports = class Class3 {
  getName(): string {
    return 'class3';
  }
}

Default ES exports are really just named exports with a special name of "default". They don't actually represent the "ModuleNamespaceObject" (as its called in the spec).
As a result, in order to get at the ES default export of an ES module from a CJS module, you just need to do require('someESModule').default
Hope that helps! (And obviously re-open if you still have issues)

Yes, so I thought. But this code runs (and doesn't with .default, citing undefined)... so maybe the issue is with Babel?


[BUG] Regression on TLS auth to Crowdsec

Describe the bug 🐛
Version 1.1.13 of the plugin could use TLS auth for the bouncer to the LAPI using the exemple tls-auth.
Version 1.3.0 returns an error validating the certificate of the LAPI
traefik  | DEBUG: CrowdsecBouncerTraefikPlugin: 2024/05/01 17:06:27 ServeHTTP:handleNoStreamCache ip:<IP_ADDRESS> isBanned:t crowdsecQuery url:https://crowdsec:8080/v1/decisions?ip=<IP_ADDRESS>&banned=true Get "https://crowdsec:8080/v1/decisions?ip=<IP_ADDRESS>&banned=true": tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "CrowdSec Test CA Intermediate")

Expected behavior 👀
Plugin is still able to validate LAPI certificate
Context 🔎
Version (please complete the following information):

OS: [All]
Traefik version: [ 3.0.0]
Plugin version: [>1.1.13-1.3.0]

To Reproduce
make run_tls
make run_tls
docker compose -f examples/tls-auth/docker-compose.yml exec -it crowdsec bash
cscli bouncer list

Expected result:

It was due to a "race".
Traefik only load plugin configuration on startup, and the certificate is generated at that time.
If certificate is changed after Traefik is started, another restart is necessary.


Simplify SchemaTransform API

Context in this thread: https://lists.apache.org/thread/69cv98s9fr8qqvvg67wy9ydfmm8v12wd
These changes start by making SchemaTransform an empty abstract class extending PTransform<PCollectionRowTuple, PCollectionRowTuple>. This decision was made in part to keep SchemaTransform in the codebase instead of reducing the word to just a concept. Another reason of keeping it is for better readability (SchemaTransformProvider provides a SchemaTransform; a SchemaTransform is a transform that works with Rows and therefore is Schema-aware)
The rest of the changes are for updating the SchemaTransformProviders in our codebase to reflect this change. The way we go from SchemaTransformProvider to PTransform is simplified, but this should not affect the way it's used

Run Java_Debezium_IO_Direct PreCommit

Run Java_Debezium_IO_Direct PreCommit

run java precommit

run java precommit

Bigtable write schematransform was merged yesterday, will need to sync with head and change that one too


Could not find file '/home/USER/Commercial-Marketplace-SaaS-Accelerator/deployment/script.sql'.

To Reproduce
Steps to reproduce the behavior:

Run Deploy Script

OUTPUT - CANNOT PROCEED
➡ Execute SQL schema/data script Invoke-Sqlcmd: /home/USER/Commercial-Marketplace-SaaS-Accelerator/deployment/Deploy.ps1:347 Line |  347 |  Invoke-Sqlcmd -InputFile ./script.sql -ServerInstance $ServerUri -dat …      |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      | Could not find file '/home/USER/Commercial-Marketplace-SaaS-Accelerator/deployment/script.sql'.

Hi @msmassimo this most likely means the build didnt succeed. Did you run the complete deployment script which install dotnet 6?

Correct.
However, according to the instllation guide the command:
dotnet tool install --global dotnet-ef;
will install 7.0
Used:
dotnet tool install --global dotnet-ef --version 6.0.0
and it now works.

@msmassimo I dont think the error is caused by the dotnet-ef version. It might be the dotnet version itself. I just ran with dotnet-ef 7 and build works fine,

But yes we need to run the first 4 lines of installation script to have dotnet 6.0 installed. Closing this as no further changes needed, please feel free to reopen with additional info.


Add a bazel build.

This simplifies the approach that I had before. Again, in order to test this locally, run something like:
mkdir /tmp/build_output
docker run -e USER="1000" -u="1000" -v $PWD:$PWD -v /tmp/build_output:/tmp/build_output -w $PWD l.gcr.io/google/bazel:0.28.1 --output_user_root=/tmp/build_output build --test_output=errors --verbose_failures=true --keep_going -- //...:all

Note that the WORKSPACE file is required, otherwise Bazel will complain.
My previous approach was to list the include files in CMakeLists.txt then export it to Bazel. However, since we never use those include files anywhere else, I cut out the middleman. Developers will still have to remember to update nlohmann_json.bzl if a new header file is added.

Pull request checklist
Read the Contribution Guidelines for detailed information.

[x]  Changes are described in the pull request, or an existing issue is referenced.
[x]  The test suite compiles and runs without error.
[x]  Code coverage is 100%. Test cases can be added by editing the test suite.
[x]  The source code is amalgamated; that is, after making changes to the sources in the include/nlohmann directory, run make amalgamate to create the single-header file single_include/nlohmann/json.hpp. The whole process is described here.

Please don't

The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
Specifically, I am aware of compilation problems with Microsoft Visual Studio (there even is an issue label for these kind of bugs). I understand that even in 2016, complete C++11 support isn't there yet. But please also understand that I do not want to drop features or uglify the code just to make Microsoft's sub-standard compiler happy. The past has shown that there are ways to express the functionality such that the code compiles with the most recent MSVC - unfortunately, this is not the main objective of the project.
Please refrain from proposing changes that would break JSON conformance. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension.
Please do not open pull requests that address multiple issues.

Note: since this is a header-only library, this build is currently useless. There is nothing to "compile" at the moment, however the //...:all target is picking up and compiling thirdparty/benchmark.
I can either tackle it in this PR or a future PR, but I will probably want to:

Add a genrule to amalgamize the headers
Add a separate BUILD file for the benchmarks and the unit tests

I'm closing this. It would take significant work for the Bazel build to reach any usefulness.

Coverage remained the same at 100.0% when pulling fc3cd7aa7fd7e5dd9bf18a53ab869ab343fb9f50 on remyabel:bazel-build into 65e4b973bdc04420335f6e76950f53632ed903c2 on nlohmann:develop.


LWJGL 3.2.1 build 12 seem not compiled with Java 8

It seem that LWJGL version 3.2.1 build 12 distributed on the website (https://www.lwjgl.org/customize) is compiled using Java 10 (all classes files are bytecode version 54.0).
Is it an error or a choice ?

Cannot reproduce. The zip download contains only 52.0 class files as does the Maven Central download of the classes in the jar artifacts for version = 3.2.1.


Fix syntax highlighting of Clojure code

on a closed source github hosted project, the hilighter seems to decided after " (a character literal) that everything following is a string and should be orange

Closing this as it's been tracked elsewhere. When this is fixed in https://github.com/atom/language-clojure/issues/11 the change will be pulled in here.