[libarchive] No ZSTD support in built library

Operating system
Windows
Compiler
MSVC
Steps to reproduce the behavior
git clean -ffdx; cmd /c bootstrap-vcpkg.bat; .\vcpkg.exe install libarchive[core,zstd]:x64-windows-static; strings packages\libarchive_x64-windows-static\lib\archive.lib | grep "Using external zstd program"

Failure logs
Removing buildtrees/
Removing downloads/
Removing installed/
Removing packages/
Removing vcpkg.exe
Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2024-08-01/vcpkg.exe -> C:\work\vcpkg\vcpkg.exe... done.
Validating signature... done.

vcpkg package management program version 2024-08-01-fd884a0d390d12783076341bd43d77c3a6a15658

See LICENSE.txt for license information.
Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md
Computing installation plan...
A suitable version of cmake was not found (required v3.29.2).
Downloading https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-windows-i386.zip
Extracting cmake...
The following packages will be built and installed:
<EMAIL_ADDRESS>  * vcpkg-cmake:x64-windows@2024-04-23
  * vcpkg-cmake-config:x64-windows@2024-05-23
  *<EMAIL_ADDRESS>  *<EMAIL_ADDRESS>Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe
Detecting compiler hash for triplet x64-windows-static...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe
A suitable version of 7zip was not found (required v24.6.0).
Downloading https://github.com/ip7z/7zip/releases/download/24.06/7z2406-extra.7z
Extracting 7zip...
Restored 5 package(s) from C:\Users\Bugaleb\AppData\Local\vcpkg\archives in 185 ms. Use --debug to see more details.
Installing 1/5<EMAIL_ADDRESS>Elapsed time to handle vcpkg-cmake:x64-windows: 5.47 ms
vcpkg-cmake:x64-windows package ABI: cf5fce0b7bedf3238fcf31f79a11840db8f8c5d33685e5e352d7cc99ebe52c08
Installing 2/5<EMAIL_ADDRESS>Elapsed time to handle zlib:x64-windows-static: 7.64 ms
zlib:x64-windows-static package ABI: 77f8b55be60c159a7636842242ab3957b92fa6ae910cfe4d2e0070001c88b08c
Installing 3/5<EMAIL_ADDRESS>Elapsed time to handle vcpkg-cmake-config:x64-windows: 4.46 ms
vcpkg-cmake-config:x64-windows package ABI: b545900e9c9667168b48254055076a7f04c22b67a35663f3883319d25b09bed1
Installing 4/5<EMAIL_ADDRESS>Elapsed time to handle zstd:x64-windows-static: 7.31 ms
zstd:x64-windows-static package ABI: e954ba34808dd456b212039f2ec8df27236403d7a659f93fc2ea02de609f9acf
Installing 5/5<EMAIL_ADDRESS>Elapsed time to handle libarchive:x64-windows-static: 8.03 ms
libarchive:x64-windows-static package ABI: 382b6413d65b6985580d3c6fec7132c7bfcd3fc0e6c3c3a830f87de1dba317f3
Total install time: 35.3 ms
libarchive is compatible with the CMake Find Module:

  find_package(LibArchive REQUIRED)
  target_link_libraries(main PRIVATE LibArchive::LibArchive) # since CMake 3.17

libarchive provides pkg-config modules:

  # library that can create and read several streaming archive formats
  libarchive

Using external zstd program

Additional context
It is possible to see that the string Using external zstd program appears in libarchive's code only if ZSTD support is disabled. This is true for all relevant versions of libarchive.
Seems like before this commit (this PR), building libarchive through vcpkg with zstd worked correctly (strings packages\libarchive_x64-windows-static\lib\archive.lib | grep "Using external zstd program" returns nothing).
After the aforementioned commit, the same command finds the string, meaning the library is built without ZSTD support.
The issue is not that the string appears in the binary of course, but rather that the library indeed fails to compress/decompress ZSTD in runtime, throwing that error. I simply used the string search to quickly check whether the issue exists or not in a given build.
To find the faulty commit, I used git bisect with the following commands to check for good/bad commit.:
git clean -ffdx; cmd /c bootstrap-vcpkg.bat; .\vcpkg.exe install libarchive[core,zstd]:x64-windows-static; strings packages\libarchive_x64-windows-static\lib\archive.lib | grep "Using external zstd program"

The issue also happens with the DLL build, which can be reproduce by running:
git clean -ffdx; cmd /c bootstrap-vcpkg.bat; .\vcpkg.exe install libarchive[core,zstd]:x64-windows; strings packages\libarchive_x64-windows\bin\archive.dll | grep "Using external zstd program"

Look like upstream renamed a configuration macro, HAVE_LIBZSTD_COMPRESSOR became HAVE_ZSTD_compressStream.


Build out a way to define Eth-Consensus-Version as a rest-api response header

Closing as we are setting this header now and it doesn't seem like a bad approach.


Make budget mandatory in application form

This will make our lives easier.

Tested & looks good to me ✅

👍

Please ACK properly @nvk so I can press the button

ACK, properly


fix: disable package-manager-strict

Context
This pull request fixes the issue Vercel is having with the incompatible PNPM version.
Changes

added .npmrc file

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have tested my code for breaking changes and added the corresponding footer in this PR if needed
[x] I have added tests that prove my fix is effective or that my feature works

:tada: This PR is included in version 3.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Constantly blinking irplus remote instead of clicking each button. like on the concert. all different colors

I'm not familiar with this but i downloaded the google drive, and the remote works but only to click the colors separately. would you be able to create a one button that will synchronize all colors like changing it like in the concert?

Not really!   You can create Macros inside of IR Plus so maybe do something using them


Add fish-ssh-agent

Another contribution to the list. This one starts ssh-agent automatically.

Nice. A few comments:

You don't need setenv in fish, see man set. Basically, set -x.

 They should be in their own file and the file __ssh-agent should be removed since there is no function with that name.

Instead of

    ps -ef | grep $SSH_AGENT_PID | grep -v grep | grep ssh-agent > /dev/null
    if [ $status -eq 0 ]
    else
    end

You can
    if ps -ef | grep $SSH_AGENT_PID | grep -v grep | grep ssh-agent > /dev/null
    else
    end

Other thoughts

Consider adding an option to silence the output.
Consider using fish test builtin instead of [.

Thanks for the input. This was a quick hack because I needed it. I will take a look at it again with your comments in mind and update the PR accordingly. But not today... ;)

@herrbischoff No hurries. If you have specific questions or anything you would like to know, just ask. You have my email, it's on my profile page or you can join http://join.fisherman.sh and if I am not available a community member might be able to help you out.

Thanks, I did just that.

@bucaran: Please take another look at the plugin, I have completely rewritten the structure. Now it should be quite clean as well as about as fish-like as I can make it. ;)

@herrbischoff Thanks! I think we are almost done, let's just go over a few more things and have this merged.

@bucaran: All done, also added to the Fisherman index. Feel free to merge whenever you're ready.

@herrbischoff Thanks!


I have problem using trying out the first example?

Z:\AI\yars (reddit scraper)\yars>poetry shell
The currently activated Python version 3.10.11 is not supported by the project (^3.12).
Trying to find and use a compatible version.
Using python3.12 (3.12.3)
Creating virtualenv yars-7S-mp-Ci-py3.12 in C:\Users\camer\AppData\Local\pypoetry\Cache\virtualenvs
Spawning shell within C:\Users\camer\AppData\Local\pypoetry\Cache\virtualenvs\yars-7S-mp-Ci-py3.12
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars>poetry install
Installing dependencies from lock file
Package operations: 7 installs, 0 updates, 0 removals

Installing certifi (2024.8.30)
Installing charset-normalizer (3.3.2)
Installing idna (3.10)
Installing urllib3 (2.2.3)
Installing logging (<IP_ADDRESS>)
Installing pygments (2.18.0)
Installing requests (2.32.3)

Installing the current project: yars (0.1.0)
Warning: The current project could not be installed: [Errno 2] No such file or directory: 'Z:\AI\yars (reddit scraper)\yars\README.md'
If you do not want to install the current project use --no-root.
If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
In a future version of Poetry this warning will become an error!
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars>poetry run python ".\tests\example1.py"
Traceback (most recent call last):
File "Z:\AI\yars (reddit scraper)\yars\tests\example1.py", line 1, in
from yars.yars import YARS
ModuleNotFoundError: No module named 'yars'
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars>cd yars
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars\yars>poetry run python example1.py
C:\Python312\python.exe: can't open file 'Z:\AI\yars (reddit scraper)\yars\yars\example1.py': [Errno 2] No such file or directory
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars\yars>poetry run python example1.py
Traceback (most recent call last):
File "Z:\AI\yars (reddit scraper)\yars\yars\example1.py", line 1, in
from yars.yars import YARS
File "Z:\AI\yars (reddit scraper)\yars\yars\yars.py", line 6
from future import annotations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: from future imports must occur at the beginning of the file
(yars-py3.12) Z:\AI\yars (reddit scraper)\yars\yars>

@scaruslooner hello there,
You need python 3.12 for this project please upgrade your python version

@scaruslooner You should upgrade to python 3.13 and use uv . Please check out the recent changes to our main branch.


Feature request: Ability to choose cell anchors

I'd like the ability to choose how to pack my cells into the given space when using tb_blit.
Specifically, I'd like to be able to pack them into the left top, left bottom (default), right top, right bottom and possibly left center, right center, center top, center bottom and center.
Sorry if this is already possible.

Read comments here:
https://github.com/nsf/termbox/blob/master/src/termbox.h#L216-L229
tb_blit is deprecated in favor of direct back buffer access via tb_cell_buffer. You can now implement any copying function you want yourself.
See implementations also: https://github.com/nsf/termbox/blob/master/src/termbox.c#L246-L283

Ahh, thanks, I didn't realise tb_blit was deprecated, but that does explain why I was unable to find it in any examples ;)


Specification only read @Config annotation on its own, not including parent class

Usually I would use a base test class to carry all setups and cleanups, like:
@Config(sdk = 21, constants = BuildConfig, manifest = "app/src/main/AndroidManifest.xml", application = App.class)
class BaseRobolectricSpec extends GradleRoboSpecification {
    def app = (App) RuntimeEnvironment.application;
}

But it throws "No 'constants' field in @Config annotation!" exception when I put @Config on the base test class insteads of specify specification, so I should copy the same @Config annotation everywhere.

Annotation doesn't go well with inheritance. The best option is to add a configuration file to your project.
Place it there:
src/test/resources/robolectric.properties
for example my properties file looks like this:
constants=com.applause.android.BuildConfig
sdk=21

When you extend from GradleRoboSpecification you don't need to place sdk, manifest etc values. The BuildConfig (generated file) holds all necessary data to run tests

Thank you for advise.My problem is solved.

:)


stboot: Add host-config flag

This PR implements the host-config flag. #41
Add -host-config flag to define the location of the host configuration
file. In the current state, there are 3 ways to store this configuration:

inside initramfs: -host-config=/path/to/host_configuration.json
inside STDATA: -host-config=legacy:/path/to/host_configuration.json
as efivar: -host-config=efivar:STDATA-d736a263-c838-4702-9df4-50134ad8a636

Signed-off-by: Marcello Sylvester Bauer<EMAIL_ADDRESS>

This PR implements the host-config flag. #41
Add -host-config flag to define the location of the host configuration file. In the current state, there are 3 ways to store this configuration:

inside initramfs: -host-config=/path/to/host_configuration.json
inside STDATA: -host-config=legacy:/path/to/host_configuration.json
as efivar: -host-config=efivar:STDATA-d736a263-c838-4702-9df4-50134ad8a636

Signed-off-by: Marcello Sylvester Bauer<EMAIL_ADDRESS>
Inside STBOOT


Correctly parse omitted TTLs and relative domains

Per RFC 1035 as updated by RFC 2308:

Omitted RR TTL values "default to the last explicitly stated values" (unless a $TTL directive has been specified).
"A relative name is an error when no origin is available"

Fixes #484

Thanks!

I think this is breaking CoreDNS etcd tests. See https://travis-ci.org/coredns/coredns/jobs/280015756

Not just etcd actually. A bunch of the tests.

hmmpf
I'll take look if we do something non-standard there (=coredns) otherwise I'll revert this temporary.

@johnbelamaric Your tests are failing because the exampleOrg zone file (and the others) are invalid.

@gibson042 we should default to 3600 because that's the old behavior. We use the same parsing for string  coding where we document that we do that. The moves the dicussion beyond the DNS standard, but I think we are now forced to act if $TTL 3600 was specified at the of the zone/string

I strongly disagree... the old behavior is absolutely incorrect, and it is easy for clients to fix bad input. And I'm not sure what you mean by "string coding", but we explicitly left the default 3600 TTL for NewRR (documentation).
Some mistakes are harder to fix than others (and some perhaps impossible), but if you are committed to preserving all RFC-violating behavior in the name of backwards compatibility, then please let me know so I can stop wasting my time.

Ah, ok. Related only to zone file. That's a lot better.
Still not sits well with me that this is not backwards compatible, but I agree with you that those test zones files look strange without any TTL - I wonder how widespread this is under go-dns users;


Hotfix/2.8.1

Changes in anatomy

Strangely it seems that the key point to make it compatible with pypeclub/pype#104 is already in the master. It was {family} key in the render path after publish


Add stop listening button to it

Is your feature request related to a problem? Please describe.
if I press listen button then we don't have any button to have stop it . It will continue playing till last line
Describe the solution you'd like
Add a stop listen button
Describe alternatives you've considered
Add a stop listen button that stop playing voice according to our willingness
Additional context
No response

pls assign me this issue


Update spec directory to use only rspec3

Upgrade rspec to rspec 3
Rework all tests to rspec 3 format
Made a minor upgrade to eventmachine
Added .rspec to make rspec output cleaner
Fixed some rubocop issues along the way under the spec directory

I saw the tests were mixed between rspec2 and rspec3. Took a stab at migrating all tests to use rspec3 and got rspec to stop showing the deprecation warnings by removing all the rspec2 code. I ran rubocop as I was working on it and fixed issues within the spec directory as I made the changes.  I have the exact same code passing in my repo for this branch: https://travis-ci.org/zsyed91/pi_piper/builds/104818280

Alright was able to figure out that for some reason within this repo, travis is launching a legacy vm for ruby 1.9.3 and the bundler installed is outdated. Running gem update seems to fix the problem as now all gems get installed and the tests pass.
Ready for review!

Your code, seem's good to me, even if I didn't run the tests.

Ok cool, going to merge then.


Question about thread number

I just predict a few single inst with xgboost online prediction. but the cpu is about up to 400%. I debug it and found that it is because xgboost would start thread. I use SetParam("nthread", "0") but it did not work. why?
thx.

Can you try 1 instead 0?
Is there reasons you want to limit the number of cpu core used?

I tried 1 ,4 ,10，it also did not work....i build xgboost without openmp and the online prediction works well. but i guess it will lost performance during training.

Yeah, parallel training and the xgboost matrix format are the two main reasons why xgboost has so good performance.
Can you explain why you don't want parallel prediction? May be there is something else to do than disabling all parallel execution?

nthread=1 should work for such case.
We do need a better API for predicting few cases in the future

I use online prediction interface: Predict(const SparseBatch::Inst &inst, std::vector* preds)
I did not use the matrix interface cause the data to be predicted is coming one by one. So I think the when we do online prediction, we would not set up parallel prediction.
I do use learner.SetParam("nthread", "1"), it did not work. ~.~
thanks

@tqchen , I use online prediction interface: Predict(const SparseBatch::Inst &inst, std::vector* preds), cuz in my module the data to be predicted is coming one by one. but i found the time token is more than 20ms in usual situation, my module is a real-time module, so i hope it can predict very quickly. which param can i set to reach this target? thanks!

Looks like setting OMP_NUM_THREADS to 1 is the only way to solve this.


bugfix: pid file may be overwritten

The following step will mess up the pid file:

Start the server with pid file enabled. Suppose the pid is 12345.
Make the server core dump.
Restart the server. Suppose the new pid is 8888. The pid file will be overwritten with the wrong content 88885.

Thanks for your fix 👍 , and I've checked other usages of open, which seem to be OK.


Flowing Lava (or Pyrotheum) don't give progressively reduced speeds for Crucible

I don't know if it was in 1.10 but when lava wasn't the full block it would progressively give less speed to crucibles.
E.g. Lava flows for 4 blocks. The source blocks would give 3x speed as usual, the other ones would be source_speed / max_flow_blocks * current_block_flown. So E.g. with Lava would be 3x / 2.25x / 1.5x / 0.75x from the main block to the last flown.

I think that was in 1.10, and wasn't ever in Creatio. I can look at the feasibility of adding it.

I managed to make it reduce in a hopefully flexible manner, but had to round since the heat value has to be an integer amount (crucibles produce "heatrate" millibuckets per operation).
A new version has been pushed to curse.


fix: On logout the chat of anonymous account are closed

Fixes Issue
**My PR closes #396 **
👨💻 Changes proposed(What did you do ?)
The socket should emit the logout event before actually logging out to close the existing anonymous chats
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

Note to reviewers

📷 Screenshots

Hey @Dun-sin , i observed that on logout the socket was getting disconnected so the event to close existing chats was not getting triggered and hence existing chat was not closing.
After my change the socket is disconnected after closing the chats.

Hey @Dun-sin , i observed that on logout the socket was getting disconnected so the event to close existing chats was not getting triggered and hence existing chat was not closing. After my change the socket is disconnected after closing the chats.

good spot👏🏾


x/tools/gopls:  "Go to Symbol in Workspace"  in vscode

What version of Go are you using (go version)?

$ go version
go version go1.13.4 linux/amd64

Does this issue reproduce with the latest release?
YES
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/share/go_project"
GOPRIVATE=""
GOPROXY="https://goproxy.cn"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build697502227=/tmp/go-build -gno-record-gcc-switches"

What did you do?
CTRL+T in VSCODE  for  “Go to Symbol in Workspace...”

What did you expect to see?
List of Symbols
What did you see instead?
No result

gopls does not yet support this feature, so I think this issue belongs in the vscode-go repository. https://github.com/golang/go/issues/33844 tracks the support for this feature in gopls.


dyalog: 19.0.49960 -> 19.0.50027

Description of changes
Unfortunately, Dyalog keeps removing the older releases from their site, and we cannot cache them unfortunately.
I might have to contact them and ask them to maybe leave up the last few versions.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

archive.org?

archive.org?

I'm currently in the process of discussing the version availability policies with Dyalog. I also asked about their opinion of archive.org.
I'll update the PR once I get the responses.

@pbsds could we merge this for now?
I'll report back on this PR once I get a response, but I don't want other users of this package to wait for that.


Dynamoose Integration for Amazon DynamoDB

Can you integrate dynamoose so this can also work with Amazon DynamoDB

we already have storage for dynamodb but it is not yet compatible with version 5.0
https://github.com/dynamoosejs/dynamoose

What can i do to get it compatible? Is this upstream dynamoose issue?


ENOENT: no such file or directory on Windows

OS: Windows
neovim version: 0.10.1
neotest-java version is the latest available (commit d82f3a4)
Plugin installed by using lazy with the following super minimal config:
	{
		"rcasia/neotest-java",
		ft = "java",
		init = function() end,
	},

While neotest is configured as follows:
	{
		"nvim-neotest/neotest",
		event = "LspAttach",
		-- ft = "python",
		dependencies = {
			"folke/trouble.nvim",
			"nvim-lua/plenary.nvim",
			"antoinemadec/FixCursorHold.nvim",
			"nvim-treesitter/nvim-treesitter",
			"nvim-neotest/neotest-python",
			"nvim-neotest/neotest-go",
			"rcasia/neotest-java",
		},
		config = function()
			local pythonPath
			if vim.fn.has("win32") == 1 then
				-- Set the path for Windows
				pythonPath = ".venv/Scripts/python"
			else
				-- Set the path for Linux or macOS
				pythonPath = ".venv/bin/python"
			end
			require("neotest").setup({
				adapters = {
					require("neotest-python")({
						dap = { justMyCode = false },
						runner = "pytest",
						--python = ".venv/Scripts/python",
						python = pythonPath,
					}),
					require("neotest-go"),
					require("neotest-java"),
				},
				status = { virtual_text = true },
				output = { open_on_run = true },
				--	quickfix = {
				--		open = function()
				--			require("trouble").open({ mode = "quickfix", focus = false })
				--		end,
				--	},
			})
		end,
	},

As you can see, I am also using other extensions for neotest and none of them is giving me any problem. Also, neotest-java used to work fine, then an update probably broke something, but I can't tell you much more because I didn't use it until now.
When I try to run any test in a java maven project I get the following error:
neotest-java: .../nvim-data/lazy/neotest/lua/neotest/lib/process/init.lua:41: ENOENT: no such file or directory                                                                                stack traceback:                                                                                ...older/nvim-data/lazy/neotest/lua/neotest/client/init.lua:89: in function <...older/nvim-data/lazy/neotest/lua/neotest/client/init.lua:88>                                                                                [C]: in function 'error'                                                                                .../nvim-data/lazy/neotest/lua/neotest/lib/process/init.lua:41: in function 'run'                                                                                ...-data/lazy/neotest-java/lua/neotest-java/command/run.lua:18: in function 'run'                                                                                ...lazy/neotest-java/lua/neotest-java/core/spec_builder.lua:28: in function 'build_spec'                                                                                ...der/nvim-data/lazy/neotest/lua/neotest/client/runner.lua:76: in function '_run_tree'                                                                                ...der/nvim-data/lazy/neotest/lua/neotest/client/runner.lua:65: in function <...der/nvim-data/lazy/neotest/lua/neotest/client/runner.lua:22>
[C]: in function 'xpcall'                                                                                ...older/nvim-data/lazy/neotest/lua/neotest/client/init.lua:84: in function 'run_tree'                                                                                ...der/nvim-data/lazy/neotest/lua/neotest/consumers/run.lua:85: in function 'func'                                                                                ...g_alias_folder/nvim-data/lazy/nvim-nio/lua/nio/tasks.lua:173: in function <...g_alias_folder/nvim-data/lazy/nvim-nio/lua/nio/tasks.lua:172>

It seems the same error was reported here https://github.com/nvim-neotest/neotest/issues/268
is there a way to implement a solution similar to the one suggested in the issue to point directly to a .CMD file?

Could you try it again with the last updates, please?
If it still throws an error follow these steps:

Delete ~/AppData/Local/nvim/neotest-java.log and ~/AppData/Local/nvim/neotest.log
Try to run tests again
Share those files

Still not working but slightly different error:
First time running tests:

Trying to rerun the tests immediately after the previous error:

Trying to run the tests again leads to no output at all, having neotest stucked where it seems to be endlessly execute the tests.
Here's the log:
neotest.log
neotest-java.log
It seems to me that there is a missing file: target\neotest-java\cp_arguments.txt

any news on this error?
it is still not working

@Cirius1792
For what I've seen, it is related to the different path separators used in Windows.
I'll try to make time to fix the issue this weekend. I don't have a windows system, so your feedback would be much help.

@Cirius1792
Check out the latest version (https://github.com/rcasia/neotest-java/commit/b880a7dacd78425965fc7b70c39a56ddea2e31c1)

I tested the new version and found a couple of issues.
A first problem regarded the identification of the root path for the module to compile the test class, which I was able to solve by modifying the function find_module_by_filepath as follows:
local find_module_by_filepath = function(module_dirs, filepath)
	logger.debug("module_dirs", module_dirs)
	logger.debug("filepath", filepath)

	if not filepath or filepath == "" then
		return nil
	end

	-- Normalize paths to use forward slashes for Windows compatibility
	filepath = filepath:gsub("\\", "/")
	local normalized_module_dirs = vim.tbl_map(function(dir)
		return dir:gsub("\\", "/")
	end, module_dirs)

	local matches = {}

	for _, module_dir in ipairs(normalized_module_dirs) do
		-- Escape special characters in module_dir for pattern matching
		local escaped_module_dir = module_dir:gsub("([^%w%/])", "%%%1")

		-- Build patterns to search for the module directory in the filepath
		local patterns = {
			"[%./]" .. escaped_module_dir .. "[%./]", -- Module in the middle
			"^" .. escaped_module_dir .. "[%./]", -- Module at the start
			"[%./]" .. escaped_module_dir .. "$", -- Module at the end
			"^" .. escaped_module_dir .. "$", -- Module is the entire path
		}

		for _, pattern in ipairs(patterns) do
			if filepath:find(pattern) then
				table.insert(matches, module_dir)
				break -- If we found a match for this module_dir, no need to check other patterns
			end
		end
	end

	-- Select the longest match from all the matches
	local longest_match = nil
	for _, match in ipairs(matches) do
		if not longest_match or #match > #longest_match then
			longest_match = match
		end
	end

	return longest_match
end

return find_module_by_filepath

Still the tests do not run because of a problem with the function write_file.
I guess that it is not able to create the required files and folder. I was not able to solve the problem.

After a trial and error process, helped by chatGPT because unfortunately I'm not so good with lua, I figured out to make the function write the .cp file that it was failing to store.
This is the updated version:
local Path = require("plenary.path")
local nio = require("nio")

---@param filepath string
---@param content string
local function write_file(filepath, content)
	-- Normalize the file path for OS compatibility (converts \ to / for consistency)
	local cleaned_filepath = filepath:gsub("\\%./", "\\")
	local _filepath = Path:new(filepath)
	if package.config:sub(1, 1) == "\\" then
		_filepath = _filepath:absolute():gsub("\\./", "\\"):gsub("/", "\\")
		_filepath = Path:new(_filepath)
	end

	-- Get the parent directory of the file
	local parent_dir = _filepath:parent():absolute()

	-- Ensure parent directories exist (create them if they don't)
	local success, mkdir_err = pcall(function()
		nio.fn.mkdir(parent_dir, "p") -- "p" means "create parents"
	end)

	-- Error handling if directory creation fails
	if not success then
		error("Failed to create directory: " .. parent_dir .. " (" .. mkdir_err .. ")")
	end

	-- Get the final path in a compatible format
	local compatible_path = _filepath:absolute()

	-- Safely open the file for writing and ensure it is closed afterwards
	local file, open_err = io.open(compatible_path, "w")
	if not file then
		error("Could not open file for writing: " .. compatible_path .. " (" .. open_err .. ")")
	end

	-- Use `pcall` to ensure the file is closed even if an error occurs during writing
	local success_write, write_err = pcall(function()
		-- Directly write the content to the file
		file:write(content)
	end)

	-- Close the file
	file:close()

	-- If there was an error during writing, raise it
	if not success_write then
		error("Error writing to file: " .. write_err)
	end
end

return write_file

Now everything runs fine with no error.
Unfortunately I can't see any test output.
The interface of neotest does not show any test executed or any execution in progress.

It does not work because the write_file function should be writting in buffers, because some content is so big to be handled.
Let me add a patch of those changes.

I added a patch (https://github.com/rcasia/neotest-java/commit/c73d1d8f17aab973a7fad2e159645fe0df3f40eb), but I don't know why the current write_file function is failing for windows.
Could share logs of that?

here's the logs with the latest version
neotest.log
neotest-java.log
and here's the error:

@Cirius1792 Check out the latest version (https://github.com/rcasia/neotest-java/commit/8254cd11e1a048293bf590dca07bddfeb8dd087f)

Still getting error because of the path:
neotest-java: ...a/lazy/neotest-java/lua/neotest-java/util/write_file.lua:14: Could not open file for writing: C:\Projects\core-promo-engine-v1\//target/classes/junit-reports/081024130204/.cp

there is a //target in the path.
modifying the write_file as follows:
---@param filepath string
---@param content string
local function write_file(filepath, content)
	-- for os compatibibility
	local _filepath = Path:new(filepath)
	if package.config:sub(1, 1) == "\\" then
		_filepath = _filepath:absolute():gsub("\\./", "\\"):gsub("/", "\\")
		_filepath = Path:new(_filepath)
	end
...

fix the issue but the tests still don't run

Yet another patch (https://github.com/rcasia/neotest-java/commit/4fe7a53d659ae2fd4f1aa3a0084bf3afde554acc).
The problem was that plenary.path is actually not a good idea to use for windows compatibility (as per plenary issues). It would be nice to have some kind of structured object in neovim itself to avoid so much conflict with windows systems. There are some ways like vim.fs.normalize, but it is not enough (as per neovim issues).

fix the issue but the tests still don't run

In your write_file implementation tests still don't run because writting the classpath file without buffering creates a non expected behavior.

Should be fixed by https://github.com/rcasia/neotest-java/commit/4fe7a53d659ae2fd4f1aa3a0084bf3afde554acc.
Otherwise, feel free to reopen.


Replace BufferReader/Writer with ktor channel implementation

See ByteArrayChannel
Could use BytePacketBuilder or ByteArrayOutputStream internally for variable sized writing to arrays.
Implementing ByteWriteChannel and ByteReadChannel will allow one set of Jag extensions in one place. Same usage for network as for cache reading.

Seems possible but will be a decent chunk of work.
Would need to make sure extensions are on BytePacketBuilder instead of ByteWriteChannel and in those scenario's which use position(index) read packets instead.
Hardest part will be rewriting bitaccess so it stores only one byte and reads/writes as necessary as it goes.
There is perhaps performance to consider and whether to reuse BytePacketBuilder's or if it's possible to queue Packets and let them write on IO thread instead.

Won't do


Shell session doesn't inherit AWS credentials

In the official web console, AWS credentials are available in the environment - but they don't work via this extension. Instead the following output is seen:
Starting session with SessionId:<PHONE_NUMBER>300482937-0919ea8f439ec3a57
[cloudshell-user@ip-10-1-63-170 ~]$ whoami
cloudshell-user
[cloudshell-user@ip-10-1-63-170 ~]$ aws sts get-caller-identity

Error when retrieving credentials from container-role: Error retrieving metadata: Received non 200 response (500) from ECS metadata: <?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <title>500 - Internal Server Error</title>

500 - Internal Server Error

Fixed in 0.1.3


Order population by key name

When populating an env file with either new content or updates the keys are stored in whatever order.  This is annoying and difficult to find keys if you have many.  Order the keys in ascending order and then populate back the file

If we add this, it will need to be a setting.  I personally don't want the order to change at all.  I usually have grouped together keys that make sense and don't want them changed.

I think we should have the file match the example file... replacing the .env.example values with the values from the .env... it's part of a new issue I'm posting, for new functionality.


Map property manager survey fields to data model fields

Done criteria: create a mapping between all of the fields in the property manager survey and how they correspond to fields in the data model. In particular, flag instances where a new field is needed in the data model.

@anders-schneider were you already tracking this somewhere? I think we've arrived at a pretty good consensus around how to map the data onto our data model.

https://github.com/CityOfDetroit/bloom/issues/227#issuecomment-887839372 has this mapping for the fields in the existing HRD spreadsheet. This ticket is aimed at doing something similar for the fields in the property manager survey that we've recently sent out; I don't think that mapping exists anywhere.

The top-level bullets below show the text of the questions in the property manager survey. The "examples" sub-bullet shows example inputs, and the "mapping" sub-bullet indicates which field(s) this will correspond to.

Which other income-restricted unit types do you have in this property? Check all that apply. [Studio/1 Bedroom/...]

Examples: "40% AMI", "30% AMI or below", "35% AMI, 40% AMI, 60% AMI"
Mapping: for each AMI percentage, these will be new rows in the UnitsSummary table (note that HRD decided not to ask for counts of units at a specific AMI level, so UnitsSummary.totalCount will have to be null.

Does this property have an open waitlist? Write in the "other" line if you have multiple waitlists and for what kind of units.

Examples: "Yes", "No", "One for regular apartments/one for section 8"
Mapping: Listing.isWaitlistOpen (note that we'll need to do some manual data processing to handle the "other" responses, or make assumptions in our import script)

Provide a link to the application for your property.

Examples: "https://www.samaritas.org/Portals/0/Samaritas-Pre-Application-Form-2021.pdf", "n/a"
Mapping: Listing.applicationLink (note: this field doesn't yet exist and must be created)

Does your building offer any of the following accessibility features? These answers will help residents with disabilities understand if this property can meet their needs.

Examples: "Handicapped parking spots", "Elevator, Laundry room, Allows service animals, Handicapped parking spots, Doorways to property are big enough for a wheelchair, Units accessible for those with mobility-related disabilities"
Mapping: Property.accessibility
Note: there is a separate set of questions that seem to ask about these things one-by-one (e.g. "Do any units in your building have the following accessibility features for residents with disabilities? Please mark if the features are in all units, only certain accessible units, or both.  [Doorways to units are big enough for a wheelchair]"). We'll need to figure out which to consider the source of truth.

What amenities does this property have?

Example: "Heating in units, Air conditioning in units (either central or unit AC is provided), Allows Cats, Allows Dogs, Laundry In Building, Parking on site, Community room in property, Tenants can pay rent online or by mail"
Mapping: Property.amenities

Please provide a link to images of your property and floor plans.

Examples: "continentialmgt.com", "pvm.org" (notice that these are general property management websites, not links to specific images)
Mapping: Listing.image

What is the cost of your application fee for all prospective tenants? Does it change depending on if the tenant is going into an income-restricted, affordable unit?

Examples: "No fee", "$25 per adult", "$50" (notice that these are unstructured)
Mapping: Listing.applicationFee

What is the cost of the security deposit needed to move in? Does it change depending on if the tenant is going into an income-restricted, affordable unit?

Examples: "first months rent", "$499"
Mapping: Listing.depositMin and Listing.depositMax (or: we may want to add another field along the lines of Listing.depositDescription)

What utilities is a resident in your building responsible for? Check all that apply.

Examples: "Electric", "Gas, Electric", "Included in rent"
Mapping: Listing.costsNotIncluded

What are your average utility costs at this property?

Examples: "$38", "35-60/month"
Mapping: also include this in Listing.costsNotIncluded

Is this property reserved for any of the following populations? Check all that apply.

Examples: "Seniors", "Family", "Seniors, Residents with disabilities, Veterans, Residents experiencing homelessness"
Mapping: Listing.reservedCommunityType (and we'll need to make sure the corresponding rows exist in the ReservedCommunityType table)

If you have an age requirement to live in this building, please list it here.

Examples: "62+", "18 and up", "No" (notice that these are not constrained to be numbers)
Mapping: Listing.reservedCommunityMinAge (this mapping will either require the script to parse the text inputs, or we'll need to do some manual data cleaning first)

Does this property offer permanent supportive housing?

Examples: "Yes", "No"
Mapping: ??? (consult with HRD)

Write down the address where residents can pick up a paper application for your property.

Examples: addresses...
Mapping: Listing. applicationPickUpAddress

What is the minimum/maximum rent for a Studio/1BR/2BR/... apartment?

Examples: "$700", "Income based", "No minimum"
Mapping: these will be rows in the UnitsSummary table. Two notes:

This data falls into two categories: "income based" and actual dollar amounts
We don't have the cross product of this data and the "AMI percentage per unit type" data. But many of the unit types only exist at a single AMI percentage, so it should be possible to infer the cross product.

Provide a link to the application for your property.

This is already supported via the Listing.applicationMethods with ApplicationMethodType.External.

Permanent supportive housing

Safiya has said that this will be a later addition to the site; I don't think we need to do anything regarding these right now.

Also note that accessibility on the frontend is derived from Listing.accessibility and NOT Property.accessibility.


I'm getting some errors. Is it possible you make a video tutorial?

Report

The more information you provide, the faster we can help you.

⚠ Select what you want - a feature request or report a bug. Please remove the section you aren't interested in.
A feature request
What do you want to add?

Please describe what you want to add to the component.

How should it look like?

Please add images.

Report a bug
What did you do?

Please replace this with what you did.

What did you expect to happen?

Please replace this with what you expected to happen.

What happened instead?

Please replace this with what happened instead.

Your Environment

Version of the component: insert here
Swift version: insert here
iOS version: insert here
Device: insert here
Xcode version: insert here
If you use Cocoapods: run pod env | pbcopy and insert here
If you use Carthage: run carthage version | pbcopy and insert here

Project that demonstrates the bug

Please add a link to a project we can download that reproduces the bug.

What errors ? Please provide more info and fill report accordingly


ranges of values

Thanks for the library!
What would be great for the docs to mention the min and max values.
I guess for ADXL345_RANGE_8G it would be -8G/+8G (for example).
The range of the raw values are not quite so obvious.
From the code it looks like 16bit values.
rawVal.x = (static_cast<int16_t>((rawData[1] << 8) | rawData[0])) * 1.0;
corrRawVal.x = rawVal.x * 1.0 - (offsetVal.x / rangeFactor);
gVal.x = corrVal.x * MILLI_G_PER_LSB * rangeFactor * corrFact.x / 1000.0;

So by default it should be which could be calculated backwards per range factor.
rx = (gx * 1000.0 / (MILLI_G_PER_LSB * rangeFactor * corrFactx) + offsetValx) / rangeFactor

Does that make sense?

Hi @tcurdt ,
the ADXL345 has two different modes, the fixed 10-bit resolution mode and the full resolution mode. In full resolution mode one bit is always 3.9 milli-g (=MILLI_G_PER_LSB). In this mode the range of raw values depends on the range you choose:
2g: 10 bits of the data registers are used, from -2^9 to + 2^9 - 1
4g: 11 bits of the data registers are used, from -2^10 to + 2^10 - 1
8g: 12 bits of the data registers are used, from -2^11 to + 2^11 - 1
16g: 13 bits of the data registers are used, from -2^12 to + 2^12 -1
In the fixed 10-t resolution the range of raw values is 10-bit for all g-ranges. This means that 2^9 -1 in the 2g range equals +2g (1,9929 g, to be exact). In 4g range it is +4g and so on.
With setFullRes(true/false) you can switch between the modes. If true, the rangeFactor is always 1, if false 1, 2, 4 or 8 to consider changing g per bit.
I am not going to write all this into the cpp or h files. I have documented this in the examples of this library and I am explaining this also in my blog posts which are related to this library (see readme).

Thanks for the explanation!


Uncheck select all

This task is related to #11 for story 9. Refer to Sprint 1 plans in wiki

Completed!


Preload next track when approaching the end of current one & gapless playback support

 Issue by plietar
Wednesday Dec 30, 2015 at 12:01 GMT
Originally opened as https://github.com/plietar/librespot/issues/18

Currently we don't start loading the next track until the current one has completed. This causes a short delay between tracks.
Instead the next track should start loading before that.

With regards to this, one thing I have noticed, is that the loading of tracks is synchronous, hence if one is listening to a playlist and skips a few songs, it loads each of the skipped tracks, leading to a few seconds of silence. Ideally, when firing load_track, we'd dump any existing track load requests.

Please give some love to this issue.  Most other issues can be accomplished by other means or extra steps.  This is the one that is un-accomplishable, no matter how you snee it.
It's the only thing still keeping me with other approaches.
Best regards,
Rafa.

Would also love to see somebody working in this, this is the last issue that bugs me :/

Anything new? The gap between two songs is realy annoying.

I started looking into it and the main delay for me is with the network. So the first step I see is to implement a PlayerCommand:PreLoad which will just make sure, that the file is available, when it will be requested for real. This part I have actually implemented.
Something, that I have not yet figured out is, how the PreLoad Command could be triggered. Something like: "end of track is 15 seconds away. Start Preload now".

@st0nec0ld Do you get the delay between every song, or only between songs, that are not yet cached?

@WhiteHatTux I think it make sense to trigger the loading of the next song on every new track. So if a new track starts, load the next track. Also the RAM on the pi is big enough, see raspberry pi 3 b+, to handle this easily.
I personally skip often through tracks. In detail: hear the song for 3 seconds and then skip. These 3 seconds are enough (in my network) to load a track, so in this scenario there wouldnt be a gap.
This gap is really annoying, loading tracks needs maybe 1-2 seconds (in my network with 320kbps), but my av receiver dont get a signal for a second and needs then some time to recognize the codec of the audio stream, so the gap is longer than the track needs to load.

+1 for this...
Thanks :)

Vorbis is designed from the ground up to be used for streaming no?
MPD can do gapless playback and apparently buffers.
I know that it is also possible to playback a vorbis file as it is being created (downloaded)
Forget hacks of how to anticipate what the user is going to do.

I think it's safe to implement gapless the same way everyone else in the world does it. i.e. buffer the output slightly. If you skip through tracks you'll have a small gap but that's fine - gapless here makes no sense at all.
Issues with external audio devices caused by 'stopping' the audio output are a separate issue.

Hello Nick Steel
It seems that you have been around these places for some time and would be the person to ask the question...
What I am looking for, since there are no reliable spotify players for the raspberry pi and seems that it will be quite some time until one that works effectively, is the best method to stream audio to the raspberry pi from another computer on the network. I have an ubuntu laptop that I connect directly to the raspberry pi via the cat5 wired interface and share the internet connection that I get on the laptop with it. I like the idea of streaming pcm audio rather than compressing it. I like using raspian lite headless.. Minimal but full effectiveness preferred.
Can you offer a better solution?
Absolutely appreciated

I think you'd be better off asking your question on the official raspberry pi forums. Hijacking this issue here with your unrelated1 question isn't helpful. Please don't do that.

Another month gone by, is this going anywhere? Or are the people in need of gapless just doomed to look elsewhere?

was there any work on this? any updates?

+1 would be super awesome for crossfade

+1 for gapless playback. Would be great!

no work on this issue yet. I think most maintainers are busy with work or studies atm. PR's always welcome, otherwise I suspect this will remain in progress for a while longer.

Though, in theory - what needs to be done (for gapless)?

keep the sink open, right now it looks like the sink is closed and recreated for each track.
have buffering active and start loading of next track into buffer as soon as current track is fully buffered.
play from buffer

Any suggestion on how to do this? Keeping the sink open (at least for some time) seems achiveable, I'm not sure about the buffering part, though.

FWIW: I managed to implement a proof of concept of the preloading - but didn't find time to implement a buffer yet from the sink side.
What it does it implement a new channel that communicates "almost end of track" to spric which triggers the prefetching of the next track provided by handle_next from spirc. I can clean it up and push it if someone is interested in it.

Though, in theory - what needs to be done (for gapless)?
1. keep the sink open, right now it looks like the sink is closed and recreated for each track.

2. have buffering active and start loading of next track into buffer as soon as current track is fully buffered.

3. play from buffer

Any suggestion on how to do this? Keeping the sink open (at least for some time) seems achiveable, I'm not sure about the buffering part, though (without large changes, at least)

Keeping the sink open as it is now will lead to underruns in alsa as there is no data to be played - we would need to implement a small buffer inside player that is responsible to feed the sink.

@ashthespy by all means push it to a branch. i was just getting started on working out how to signal from player back to spirc, so if you have a PoC, that would save me a headache :)

@ashthespy by all means push it to a branch. i was just getting started on working out how to signal from player back to spirc, so if you have a PoC, that would save me a headache :)

Here you go https://github.com/librespot-org/librespot/compare/master...ashthespy:gapless
It's not an optimised implementation in anyway but should work with the lewton, and prefetch a track when there is 2 seconds left in the current track.

Hi, I think there should be a check that the current track duration is longer than 2 seconds (paranoid me) and maybe the amount of time should depend on the selected quality (assuming that higher qualtiy results in slower prefetch time)
What do you think about duing a procentual amount like 5% of duration and bounding that on 0 seconds (min) and 5 seconds. (max)

IMO the best thing to do is start loading the next track as soon as the current one is fully cached. This may be a little complicated to implement for now, so a 2 second window sounds fine.

Hi, I think there should be a check that the current track duration is longer than 2 seconds (paranoid me) and maybe the amount of time should depend on the selected quality (assuming that higher qualtiy results in slower prefetch time)
What do you think about doing a procentual amount like 5% of duration and bounding that on 0 seconds (min) and 5 seconds. (max)

I had initially set it to trigger when there was 20% remaining, but then switched to a hard-coded 2 seconds to test - but it might be a good idea to make this bitrate/file size dependent.

IMO the best thing to do is start loading the next track as soon as the current one is fully cached. This may be a little complicated to implement for now, so a 2 second window sounds fine.

That would need another channel with the fetcher right?
Also - any ideas about the buffer implementation? I I put something together, but now trying to implement tracking the playback state independent of the buffer - need to look into if there is some way to queue the Vorbis decoder?

If we want to keep behaviour consistent with the Spotify clients, I believe that they have hardcoded 30 seconds before the end of the track as the preload trigger for all bitrates/files

With regards to keeping to sink open, how about implementing a feature flag such as --disable-sink-keepalive, and then by default keep the sync open between songs unless that flag was present? If we preload things 30 seconds before the end of the track à la Spotify, there shouldn't be any delay in filling the buffer (causing an underrun), or if there is it should be <1s, at which point do we care? If it is an issue, one could just disable it for the current behaviour.

IMO the best thing to do is start loading the next track as soon as the current one is fully cached. This may be a little complicated to implement for now, so a 2 second window sounds fine.

This sounds potentially tricky from a logistics point of view. Let's say I play track 1. Track 2 is cached after a few seconds, then what? Does it cache Track 3, then 4, etc. or does it wait until Track 2 starts, then start caching Track 3? In the former case, if Spotify loads a large playlist or album, the cache is going to fill up quickly, which would potentially have to be managed through some sort of cache expiry mechanism mentioned in a previous issue (will add issue number later if I can find it), and in the latter case, why bother with the extra complexity of another channel and a buffer to preload a track at the beginning of a song? We could do that with minor modifications to @ashthespy's branch. Also, as an afterthought, for those on limited data plans (e.g. mobile broadband), librespot could use up a lot of bandwidth pointlessly loading tracks that end up not being played in the former case.

This sounds potentially tricky from a logistics point of view. Let's say I play track 1. Track 2 is cached after a few seconds, then what? Does it cache Track 3, then 4, etc

No. That's a different strategy and it's unnecessary.
Signalling at x seconds before end of track to start fetching the next song is fine. x can be really small, you only need to fetch enough to start playing, you do not need the entire song.

If we want to keep behaviour consistent with the Spotify clients, I believe that they have hardcoded 30 seconds before the end of the track as the preload trigger for all bitrates/files.
With regards to keeping to sink open, how about implementing a feature flag such as --disable-sink-keepalive, and then by default keep the sync open between songs unless that flag was present? If we preload things 30 seconds before the end of the track à la Spotify, there shouldn't be any delay in filling the buffer (causing an underrun), or if there is it should be <1s, at which point do we care? If it is an issue, one could just disable it for the current behaviour.

I don't know about that - I tried something along these lines already (an option to keep the sink open b/w songs at https://github.com/librespot-org/librespot/compare/master...ashthespy:greedysink) but on my fruity pi systems, the time taken to fetch the next song, decrypt, and decode the audio (even from cache) leads to noticeable under runs from alsa.

Also @ashthespy could you create a PR so that we can move discussion of implementation details over to that, review, commit, etc. Thanks.

#263 Sure, I might be pressed for time the next few weeks - so it might be slow progress!

Any progress here?
Is there a branch who could be built by someone for debian? Just for testing.

@ashthespy is working on it here in Rust. I've implemented it in librespot-java.

Hi, any news on this already?
Would love it as well :)
Let me know if you need help with this, I might have a look at it aswell...

I switched to librespot-java.
Works flawlessly now after some issues.

@msc1 You need to install Java, then download a precompiled binary and run java -jar ./librespot-core-jar-with-dependencies.jar. Check the read me, you can contact me on Gitter if you still have problems.

yes I have them installed already, I couldn't found a solution for the following error:
env: DietPi v6.22.3 (Debian 9) RPi 3 Model B (armv7l)
root@spotifypi:~# java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01) OpenJDK Client VM (build 25.212-b01, mixed mode) root@spotifypi:~# javac -version javac 1.8.0_212 root@spotifypi:~# mvn -v Apache Maven 3.3.9 Maven home: /usr/share/maven Java version: 1.8.0_212, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-8-openjdk-armhf/jre Default locale: en_GB, platform encoding: UTF-8 OS name: "linux", version: "4.14.98-v7+", arch: "arm", family: "unix"
building with maven fails around api client
/root/librespot-java-0.5.2/api-client/src/main/java/xyz.gianlu.librespot.api.client/Main.java:[3,26] cannot access javafx.application.Application   bad class file: /root/.m2/repository/org/openjfx/javafx-graphics/12-ea+8/javafx-graphics-12-ea+8-linux.jar(javafx/application/Application.class)     class file has wrong version 55.0, should be 52.0     Please remove or make sure it appears in the correct subdirectory of the classpath.
any help would be appreciated, thanks.

Check https://github.com/librespot-org/librespot-java/issues/86#issuecomment-489096807

@devgianlu thanks for the tip, installing openjfx solved the issue. any tips for crossfading?

Crossfade isn't implemented yet. Open an issue on librespot-java, I'll start to think about the implementation when I have time.

Anything new on this topic? I use raspotify. If I skip to the next song, everything is smooth. But if I'm listening till the end of a song I hear a "click" in the pause to the next one.

Hello, Any news about gapless feature ? It would be really nice, as actually I hear clicks (Amplifier's DAC disconnect/reconnect) at the change of each tracks as the flow is cut and restarted.
I think it would be a great feature for this project.
Many thanks for all your great work,

the click can be disabled by leaving the audio device attached.
This guide might help
https://learn.adafruit.com/adafruit-i2s-stereo-decoder-uda1334a/raspberry-pi-usage
We've added an extra helper systemd script that will play quiet audio when the I2S peripheral isn't in use. This removes popping when playback starts or stops. It uses a tiny amount of CPU time (on a Pi Zero, 5%, on a Pi 2 or 3 its negligible). You don't need this on RetroPie because it never releases the I2S device, but it's great for Raspbian.

the click can be prevented by leaving the audio device attached.
This guide might help
https://learn.adafruit.com/adafruit-i2s-stereo-decoder-uda1334a/raspberry-pi-usage
Thanks for your hint, but this breaks raspotify on Rasbian.

Unfortunately this doesn’t start if raspotify is playing
aplay: main:788: audio open error: Device or resource busy

Thanks for the help but unfortunately this doesn’t start if raspotify is playing
aplay: main:788: audio open error: Device or resource busy

Start it as a service before you start playing your music:
https://github.com/dtcooper/raspotify/issues/231

Is there a news? I tried LMS + squezelite: with the plugin called "Spotty" there isn't the gap issue. But I read that "spotty" use librespot... So, can you get a look?

Gapless playback has just been merged into dev (PR #430).
I think this issue can be closed now.


Specific Rollback command line tool

Describe what is not working as expected.
If I attempt to run a dotnet ef database update -migration NameOfMigration and it would result in dataloss (i.e it wants to perform a Down action), action should be cancelled to prevent possible accidental dataloss.
Suggestion:
Instead introduce a dotnet ef database rollback command specifically for rolling back migrations.
This is how some other db management tools work, like ActiveRecord in rails.
This is especially useful as there appears to be no CLI tool to check the current DB migration version, based on the _Migrations table that is updated by EF. Checking the current DB version at the moment requires I open a new code window, set syntax to SQL, connect to the DB and issue the select command to the appropriately named table
Further technical details
EF Core version: Entity Framework Core .NET Command-line Tools, 2.2.4-servicing-10062
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: macOS 10.14.5
IDE: Code + Terminal

Triage: this is a reasonable idea, although it might be that we do it as a flag on database update rather than a new command. Backlogging for now.


(3.8) Manually pin to UHD 3.15.0 now that global pin is being updated

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


It's not possible to give null values with the @list property

What happened
In previous versions of CoW, it was possible to specify your own null values in the metadata.json file. It could be done in two ways:

provide an array (this still works). Example: "null": ["999", "", "etc", "other_values", "other_values"]
provide an object with the @list property (this doesn't work). Example: "null": {"@list": [{"name": "qyear", "null": [""]}]}

What was expected
That both methods work.
How to reproduce
Install CoW via Github (2020 branch at the time of writing) and build a metadata.json file with python3 src/csvw.py build test.csv
Alter one of the JSON columns with the snippet below.
Note: the column names: some_column_name, yet_another_column could be any names. This is also the case for the null values this_could_be_any_word and another_word.
{
    "@id": "https://iisg.amsterdam/test.csv/column/some_column_name",
    "name": "some_column_name",
    "titles": ["some_column_name"],
    "dc:description": "some_column_name",
    "datatype": "string",
    "null": {"@list": [{"name": "yet_another_column", "null": ["this_could_be_any_word", "another_word"]}]},
},

Then run the conversion with python3 src/csvw.py convert test.csv and note that the values that should be considered as null values, and thus ignored, are not ignored.

While there is a bug that interferes with this feature (see #98), it's technically a completely different bug. So closing this issue.


Avoid running out of disk space from building container images

Container images from using workshop are not cleaned up currently.  We should probably try to not exceed N workshop images in order to not fill up the disk.

I think the best way to avoid running out of space is to remove a newly built container image once it has been pushed to the container registry.  There is no reason to keep around a container image which was built by buildah.

This will only help for remote execution, right?  If you are running on localhost then it will just create the image by downloading it from the registry.

If you are running localhost it will still help because the image that is created with workshop is named/stored differently than the image that gets pushed to the registry.
We probably still have a potential issue with any host that uses the image from the registry because over time they could be using a lot of images, due to changes in userenv, tools, benchmarks, etc.  We probably need some mechanism to clear out images that were pulled down, like LRU.


Listen to changes

I've tried to look for a way to listen to realm changes so that data can be synced to an api or another external database (MySQL or postgres, firebase)
I wasn't able to find anything except syncing to mongodb online offering. Am I missing something?
Thank you

Hi @orangeswim,
We don't provide syncing to external data sources. But we support changes notifications. You can see the documentation. Is this the thing that you need?


exiftool perl process keeps running after a critical error in the python process (SEGFAULT or kill -9)

Describe the bug
When the main exiftool python process is killed abruptly (SEGFAULT or kill -9), the perl process started for exiftool keeps running (see screenshots). I am not sure if it is an exiftool bug or an osxphotos bug: when the osxphotos process is killed, the perl process should receive a signal (SIGPIPE, if I remember my college Unix courses correctly), and exit by itself...
To Reproduce

Run osxphotos export with the --exiftool argument (see below the full command line used if needed)
kill -9 {osxphotos pid}
a ps shows a perl process still running (see screenshot)

Expected behavior
The perl process should exit or be killed
Screenshots
Command line used:
$ osxphotos export osxphotos --retry 3 --update --report export_all_report-`date +%Y-%m-%d-%H%M%S`.json \
   --cleanup --query-eval "list(filter(re.compile(r'^(19|20)').match, [item for sublist in [a.folder_names for a in photo.album_info] for item in sublist]))"  \
   --convert-to-jpeg --jpeg-quality 0.95 --directory "{folder_album,NoAlbum}"  --person-keyword --keyword-template "{label}" \
   --skip-original-if-edited --exiftool --filename "{created.strftime,%Y-%m-%d-%H%M%S}-{exiftool:EXIF:SubSecTimeOriginal,000}" \
   --jpeg-ext jpg --description-template "{descr}{detected_text? - {detected_text},}" --timestamp -V -V

Lingering perl processes after 3 SEGFAULTS and one kill -9:
$ ps auxw | grep perl
fgarzon          82103   0.1  0.0 411755632    992 s000  S    Sun07PM  14:53.28 /usr/bin/perl5.30 -w /opt/homebrew/bin/exiftool -stay_open True -api largefilesupport=1 -@ - -common_args -n -P -G -E
fgarzon          84911   0.1  0.0 411780896    976 s000  S    Sun09PM  12:28.47 /usr/bin/perl5.30 -w /opt/homebrew/bin/exiftool -stay_open True -api largefilesupport=1 -@ - -common_args -n -P -G -E
fgarzon          42827   0.1  0.8 411899840 131040 s000  S    10:09PM   6:57.88 /usr/bin/perl5.34 -w /opt/homebrew/bin/exiftool -stay_open True -api largefilesupport=1 -@ - -common_args -n -P -G -E
fgarzon          79241   0.1  0.0 411771136    992 s000  S    Sun06PM  14:10.09 /usr/bin/perl5.30 -w /opt/homebrew/bin/exiftool -stay_open True -api largefilesupport=1 -@ - -common_args -n -P -G -E
fgarzon          43708   0.0  0.0 410592976   1328 s003  S+   10:31PM   0:00.00 grep perl

Note: The segfaults I mention were due to a faulty python installation, it is not a bug in osxphotos. Upgrading python with homebrew fixed the issue....
Desktop (please complete the following information):
osxphotos --version
osxphotos, version 0.68.2
Python 3.12.4 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>)]
macOS 14.5.0, arm64

I'm not sure if this is something I can fix but will take a look at the python subprocess module to see if I'm missing something. When exiftool is first called, a persistent exiftool process is started in a subprocess and the osxphotos python code then communicates with this process to run the exiftool commands. This prevents having to start a new exiftool process for every photo. There is tear-down code that will kill any lingering exiftool processes at shutdown but of course, this doesn't get called if you kill the python process or it segfaults.

@all-contributors please add @garz75 for bug

Something like this might work:
import os
import subprocess

def set_pdeathsig(sig = signal.SIGTERM):
    def callable():
        import signal
        os.setpgrp()
        signal.signal(signal.SIGTERM, signal.SIG_DFL)
    return callable

process = subprocess.Popen(['command'], preexec_fn=set_pdeathsig())

But see warnings on preexec_fn here.


I really need an example of a config.json file

I apologies for being new to all this stuff but despite all my reading and attempts I need a hand with the config.json file.
I have homebridge installed fine on my Arm7 Pi.
At home I have the Hue Bridge and several innr bulbs.
Are you able to show me an example config file with explanation.   As a newbie it's tough enough to get to grips with the installation let alone decrypting a file.
Thanks so much

See http://json.org for a description of the format for config.json.  There's no encryption.
See https://github.com/nfarina/homebridge#installation-details for an example config.json and how to edit it.  Make sure the structure is like:
{
  "bridge": {
    ...
  },
  "platforms": [
    {
      "platform": "homebridge-hue",
      ...
    }
  ]
}

See https://github.com/ebaauw/homebridge-hue#configuration for the "platform" object for homebridge hue.


Update protractor to 2.x.x

Protractor 2.0.0 just came out with one minor breaking change, but gulp-protractor requires version ^1.0.0. It also updates selenium server version in the readme to the latest one.

Please merge this pull request.  I am currently using szimek's fork so I can use the latest protractor.  IT works great.

I would really love this merged in as well.

Thumbs up for merge

:+1: for merge

+1!

:+1:

I was on vacation for a month, sorry for the delay - if somebody wants to help out with the plugin I can give you push publishing rights.


Investigate adding 'count tests' & 'live monitor' features to AQA

On discussion with @macarte and getting a view of the python scripts he has written for being able to report on the number of openjdk tests in a particular directory and addressing the user story of a developer that is running tests locally and wishes to see current/live status, we want to look at whether we can/should incorporate them into the AdoptOpenJDK Quality Assurance set of tests, which include the openjdk suite.
His 2 scripts are here:
count: https://gist.github.com/macarte/76b555b4dd73584c51e9420f00fd84be
live monitor: https://gist.github.com/macarte/14884e22371e3edf8642996146122a43
User story includes:
Developer wishes to know how many tests in total there are in a particular directory (more granular than test targets defined in playlists)
Developer wishes to have current test status during a live run of tests on their laptop (more granular that TAP results)
Other considerations/questions:

Is it possible to apply this same features (count and live monitor) to all types of testing we have (or just relevant to openjdk)?  For the count feature, some types tests are not annotated with @Test but they potentially could be.
Is there a different way of accomplishing these 2 distinct tasks in jtreg already?  In other underlying test frameworks already?
Is it possible to apply live monitor to the ITERATIONS=xxx scenario, where we grind a particular test target?
If we want to integrate this functionality into TKG, there would be several ways to do it.  We should detail those out and consider how these look for various types of testing (even if its only applied to openjdk tests to start with).

Things to try:

For live monitor, try piping a TKG run of sanity.openjdk to the live monitor script to see if it just 'works'

Hey, I think I can do that investigation. (hopefully)

Hey, I can work on that.

I want to work on this issue. Thank you in advance for assigning me. :)

Here is the report that contains the answers of "other considerations/questions" :
report1.pdf

Closed via https://github.com/adoptium/TKG/pull/177


Plugin update in plugin store

My plugin is recently updated, and i see it is updated in plugins.json, but not in the Plugin Store. How long does it take to update the plugin in the plugin store as well?

They are essential the same. It's just the plugin store won't automatically fetch new update. You can manually click refresh to force refresh.


PatOr doesn't round-trip

I am trying to write some code which parses patterns like an if let expression does, and I discovered that it cannot parse |-patterns.
This appear's to be because most parsing of |-patterns is handled externally to parsing the Pat itself. As a result, PatOr does not round-trip:
    #[test]
    pub fn test_parse() {
        let e: syn::Expr = syn::parse_str(&"if let | a = () {}").unwrap();
        if let syn::Expr::If(syn::ExprIf { cond: e, .. }) = e {
            if let syn::Expr::Let(syn::ExprLet { pat, .. }) = *e {
                let mut ts = pm2::TokenStream::new();
                pat.to_tokens(&mut ts);
                let res: syn::Pat = syn::parse2(ts).unwrap();
                println!("{:?}", res);
            } else {
                panic!("no if let xpr")
            }
        } else {
            panic!("no if let expr")
        }
    }

The PatOr here is | a, but trying to parse this again as a pattern fails. The fact that it is a leading | doesn't matter; a | a fails too.

I have a similar problem.
I want to reuse some parsing logic of ExprForLoop, however it parses Pat with pat::parsing::multi_pat_with_leading_vert which is not public
https://github.com/dtolnay/syn/blob/0bd6d57baa589331e0306d76fae42324aa13039c/src/expr.rs#L2084
https://github.com/dtolnay/syn/blob/0bd6d57baa589331e0306d76fae42324aa13039c/src/lib.rs#L418
While Parse impl for Pat doesn't handle PatOr like pat::parsing::multi_pat_with_leading_vert do so they are different.
Any reason for not export the pat mod?

As of syn 2, this works by doing let res = Pat::parse_multi_with_leading_vert.parse2(ts).unwrap();.


Deprecate transform in favor of transformOutput

Codecov Report

Merging #1094 into master will increase coverage by 0.51%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1094      +/-   ##
==========================================
+ Coverage   80.62%   81.13%   +0.51%
==========================================
  Files          54       54
  Lines        1017     1018       +1
  Branches       59       59
==========================================
+ Hits          820      826       +6
+ Misses        197      192       -5

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/Endpoint.scala
73.14% <100%> (+0.15%)
:arrow_up:

core/src/main/scala/io/finch/Input.scala
100% <0%> (+8.19%)
:arrow_up:

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 c317ac6...7e6179a. Read the comment docs.

👍


Crash when trying to move windows

Affects latest HEAD, as far as I can tell. Wasn't have the issue before.
Steps to reproduce:
Launch sway
Open two windows
Try to move one of them down
So for me:
sway -d
mod+enter
mod+enter
mod+shift+down
...which is exactly what I ran to get the following output:
https://gist.github.com/AStrangeEnigma/fd75e6a0bf82d5cf97dc37881fb3b03c#file-gistfile1-txt-L496
thejan2009 remarked on irc:
SirCmpwn: DenialAdams: that was caused by the latest pr
Thanks!

Unfortunately I don't have the knowledge to fix it, but it looks like it it is getting stuck in the while(true) loop at layout#268.

#945 is the culprit.

Works great now! Thanks


Prevent Uncaught Exception in NullEngine.dispose

I am having an uncaught exception when using BaylonJs in a NodeJs environment because of a call to window.removeEventListener from NullEngine.dispose().
This PR adds extra checks to make that addEventListener/removeEventListener do exist and are functions before calling them.
This PR comes along with https://github.com/BabylonJS/Babylon.js/pull/13401 in order to improve BabylonJs usability in non-browser environment

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Hmmmn, I cannot edit labels, but anyway I'm not that such a minor change is worth being mentioned in the ChangeLog.

Snapshot stored with reference name:
refs/pull/13406/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13406/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13406/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13406/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13406/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13406/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13406/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13406/merge#BCU1XR#0

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13406/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

LGTM, but let s wait on @RaananW feedback. Could you fix the formatting and linting ? I guess it is the only missing part to merge it

@barroij would be great if you can fix lint and format ?

@RaananW formatting done!


[Bug]: multi-tool only loads the first page of PDFs

Installation Method
Docker fat
The Problem
When using the multitool, only the first page of the PDF is shown. I have tried with multiple PDF, and the outcome is the same. For example, this book I am linking shows only the first page: Data Structures for Game Programmers.pdf (removed just in case of copyright).
Thank you.
Version of Stirling-PDF
0.36.5
Last Working Version of Stirling-PDF
No response
Page Where the Problem Occurred
No response
Docker Configuration
services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    expose:
      - "8080"
    volumes:
      - ./trainingData:/usr/share/tessdata
      - ./extraConfigs:/configs
      - ./customFiles:/customFiles/
      #- ./logs:/logs/
    environment:
      DOCKER_ENABLE_SECURITY: false
      INSTALL_BOOK_AND_ADVANCED_HTML_OPS: false
      LANGS: en_GB,es_ES

Relevant Log Output
No response
Additional Information
No response
Browsers Affected
Chrome, Safari
No Duplicate of the Issue

[X] I have verified that there are no existing issues raised related to my problem.

Can you reproduce the issue on
https://stirlingpdf.io/multi-tool
it might be cache issue, it seems fine for me

Same issue here as @SantiagoSchez. Drag & drop doesn't work, but using the + button is fine. Not a browser session issue. Even tried to rebuild the container with empty folder/data but no luck.

Found bug and will be in next release ! Either today or tomorrow

Found bug and will be in next release ! Either today or tomorrow

Amazing, thank you for your fast support and happy new year!


Add support for specifying zlib windowBits

This adds support for specifying zlib windowBits parameter in CompressionOptions via the with_window_bits function.
Example using default compression and windowBits of 10:
let deflated_data = deflate::deflate_bytes_zlib_conf(data,
    deflate::CompressionOptions::default().with_window_bits(10)
);

Completely missed this PR. The windowbits flag indicates how large of a buffer of previous data the compressor used when compressing the data. There isn't any support for restricting it in the library at the moment (other than RLE encoding which is technically a buffer of length one.) It's not a parameter that makes much sense to specify manually as implemented in this PR unless the goal is to confuse the decompressor.

Understandable, I just have a specific case that required me to use specific window bits (10 in this case). When I tried to zlib deflate the data using the crate as it is, the target application would crash, pointing to invalid compressed data. After adding the changes to allow explicit window bits, the application stopped crashing and the data worked as expected. If there's a different approach you could recommend, I would appreciate it, but I couldn't find anything that would accomplish the same end result after a week of digging.

That seems like a very odd handling of the parameter by the application. If it failed due to windowbits being set too low, it would make sense, but crashing when windowbits is higher (even though it's compressed with a full buffer) seems rather odd.
What I would suggest for now if possible is to try to use flate2 and use the zlib back-end as it allows you to set the windowbits (which unlike in this PR actually sets the buffer size properly when compressing) manually.
Alternatively you could manually change the header bytes after compressing, or use a raw deflate stream and add the header + checksum manually afterwards.


fix: Centralize command setup code.

Adds a (currently undocumented and not explicitly exported collect function in cappa.base.
Upon seeing https://github.com/DanCardin/cappa/issues/30, it occurred to me that at the very least there's a decent chunk of code being duplicated between argparse and the native backend.

It makes the code simpler, reusing more between the parsers
because it moves logic upstream of argeparse that was previously built into the native parger, it enables using the "native" rich help text generation when using the argparse backend
incidentally it also helps simplify the situation in #30 which required a decent chunk of code to output help text without also performing parsing.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

38 of 38 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1558

Relevant Lines:
1558

💛  - Coveralls

Great! IIUC, we can now do this?
from cappa.base import collect
from cappa.help import format_help

Output.from_theme().output(format_help(collect(CommandMain)))

Yup! Probably once i've decided its "done", collect will be exposed at the root of the package. I'm not thrilled necessarily at how it currently composes with parse and such, but tl;dr yes :P

OK, great! I've opened #35 as a follow up :slightly_smiling_face:


feat: pqlib load library on windows

Enter [N/A] in the box, if an item is not applicable to your change.
Testing
Before we can approve your change; please submit the following in a comment:

[ ] Example configuration file for the change
[ ] Debug log output from testing the change

[ ] Attached Valgrind output that shows no leaks or memory corruption was found

Documentation

[ ] Documentation required for this feature

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

Hooray, it works! :)
@EddyDeegan can you please have a look at the code?
@hongaar how should we proceed with this one? Is it better to open a new PR in the base repo and reference your old PR in the description?

Awesome work @costinmrr, glad you were able to get it to work!! 💪
Will this pass their AppVeyor CI/CD?
Let's wait for @EddyDeegan to review and then yes please open a new PR and I'll close the old one, that makes the most sense to me.

Will this pass their AppVeyor CI/CD?

Of course :P


Build mkl errors

I can't build mkl on my machine following this guide https://docs.microsoft.com/en-us/cognitive-toolkit/setup-mkl-on-linux What did I missed?
Could you describe- how I should configure GCC to compile mkl without errors? (assumption based on "cc1plus: all warnings being treated as errors")
igorsychev@ThinkPad-X1-Yoga-1st:~$ sudo wget https://github.com/01org/mkl-dnn/releases/download/v0.14/mklml_lnx_2<IP_ADDRESS>80406.tgz
--2018-12-06 14:39:27--  https://github.com/01org/mkl-dnn/releases/download/v0.14/mklml_lnx_2<IP_ADDRESS>80406.tgz
Resolving github.com (github.com)... <IP_ADDRESS>, <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://github.com/intel/mkl-dnn/releases/download/v0.14/mklml_lnx_2<IP_ADDRESS>80406.tgz [following]
--2018-12-06 14:39:28--  https://github.com/intel/mkl-dnn/releases/download/v0.14/mklml_lnx_2<IP_ADDRESS>80406.tgz
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/58414589/2660887a-43fd-11e8-9864-324e1a011e5b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181206T113928Z&X-Amz-Expires=300&X-Amz-Signature=d99d182ba7609a1197b105380e90c89745cec5591f774de83ec4d8ecc9dba589&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B filename%3Dmklml_lnx_2<IP_ADDRESS>80406.tgz&response-content-type=application%2Foctet-stream [following]
--2018-12-06 14:39:28--  https://github-production-release-asset-2e65be.s3.amazonaws.com/58414589/2660887a-43fd-11e8-9864-324e1a011e5b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181206T113928Z&X-Amz-Expires=300&X-Amz-Signature=d99d182ba7609a1197b105380e90c89745cec5591f774de83ec4d8ecc9dba589&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B filename%3Dmklml_lnx_2<IP_ADDRESS>80406.tgz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... <IP_ADDRESS>
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 80372527 (77M) [application/octet-stream]
Saving to: ‘mklml_lnx_2<IP_ADDRESS>80406.tgz’
mklml_lnx_2018.0.3. 100%[===================>]  76,65M  4,30MB/s    in 18s
2018-12-06 14:39:46 (4,37 MB/s) - ‘mklml_lnx_2<IP_ADDRESS>80406.tgz’ saved [80372527/80372527]
igorsychev@ThinkPad-X1-Yoga-1st:~$ sudo tar -xzf mklml_lnx_2<IP_ADDRESS>80406.tgz -C /usr/local/mklml
igorsychev@ThinkPad-X1-Yoga-1st:~$ wget --no-verbose -O - https://github.com/01org/mkl-dnn/archive/v0.14.tar.gz | tar -xzf - && \

cd mkl-dnn-0.14 &&
ln -s /usr/local external &&
mkdir -p build &&
cd build &&
cmake .. &&
make &&
sudo make install &&
cd ../.. &&
rm -rf mkl-dnn-0.14

2018-12-06 14:40:09 URL:https://codeload.github.com/intel/mkl-dnn/tar.gz/v0.14 [1100894] -> "-" [1]
CMake Deprecation Warning at CMakeLists.txt:21 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances.  Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
CMake Deprecation Warning at CMakeLists.txt:22 (cmake_policy):
The OLD behavior for policy CMP0054 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances.  Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_BUILD_TYPE is unset, defaulting to Release
-- Detecting Intel(R) MKL: trying mklml_intel
-- Intel(R) MKL: include /home/igorsychev/mkl-dnn-0.14/external/mklml/mklml_lnx_2<IP_ADDRESS>80406/include
-- Intel(R) MKL: lib /home/igorsychev/mkl-dnn-0.14/external/mklml/mklml_lnx_2<IP_ADDRESS>80406/lib/libmklml_intel.so
-- Intel(R) MKL: OpenMP lib /home/igorsychev/mkl-dnn-0.14/external/mklml/mklml_lnx_2<IP_ADDRESS>80406/lib/libiomp5.so
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- VTune profiling environment is unset
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/igorsychev/mkl-dnn-0.14/build
Scanning dependencies of target mkldnn
[  0%] Building CXX object src/CMakeFiles/mkldnn.dir/common/batch_normalization.cpp.o
[  0%] Building CXX object src/CMakeFiles/mkldnn.dir/common/convolution.cpp.o
[  1%] Building CXX object src/CMakeFiles/mkldnn.dir/common/convolution_relu.cpp.o
[  1%] Building CXX object src/CMakeFiles/mkldnn.dir/common/deconvolution.cpp.o
[  2%] Building CXX object src/CMakeFiles/mkldnn.dir/common/eltwise.cpp.o
[  2%] Building CXX object src/CMakeFiles/mkldnn.dir/common/engine.cpp.o
[  3%] Building CXX object src/CMakeFiles/mkldnn.dir/common/inner_product.cpp.o
[  3%] Building CXX object src/CMakeFiles/mkldnn.dir/common/lrn.cpp.o
[  4%] Building CXX object src/CMakeFiles/mkldnn.dir/common/memory.cpp.o
In file included from /home/igorsychev/mkl-dnn-0.14/src/common/primitive_desc.hpp:26,
from /home/igorsychev/mkl-dnn-0.14/src/common/primitive.hpp:27,
from /home/igorsychev/mkl-dnn-0.14/src/common/engine.hpp:24,
from /home/igorsychev/mkl-dnn-0.14/src/common/memory.cpp:24:
/home/igorsychev/mkl-dnn-0.14/src/common/verbose.hpp: In function ‘void mkldnn::impl::init_info_mem(pd_t*, char*) [with pd_t = mkldnn::impl::concat_pd_t]’:
/home/igorsychev/mkl-dnn-0.14/src/common/verbose.hpp:53:46: error: ‘%s’ directive output may be truncated writing up to 383 bytes into a region of size between 232 and 1019 [-Werror=format-truncation=]
snprintf(buffer, MKLDNN_VERBOSE_BUF_LEN, "%s,%s,%s,%s,%s,%s",
^~~~~~~~~~~~~~~~~~~
/home/igorsychev/mkl-dnn-0.14/src/common/verbose.hpp:239:22:
aux_str, prb_str);
~~~~~~~
In file included from /usr/include/stdio.h:873,
from /usr/include/c++/8/cstdio:42,
from /usr/include/c++/8/ext/string_conversions.h:43,
from /usr/include/c++/8/bits/basic_string.h:6391,
from /usr/include/c++/8/string:52,
from /usr/include/c++/8/stdexcept:39,
from /usr/include/c++/8/array:39,
from /usr/include/c++/8/tuple:39,
from /usr/include/c++/8/bits/stl_map.h:63,
from /usr/include/c++/8/map:61,
from /home/igorsychev/mkl-dnn-0.14/src/common/nstl.hpp:25,
from /home/igorsychev/mkl-dnn-0.14/src/common/event.hpp:20,
from /home/igorsychev/mkl-dnn-0.14/src/common/engine.hpp:23,
from /home/igorsychev/mkl-dnn-0.14/src/common/memory.cpp:24:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: ‘__builtin___snprintf_chk’ output 6 or more bytes (assuming 1176) into a destination of size 1024
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
~^~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/mkldnn.dir/build.make:167: src/CMakeFiles/mkldnn.dir/common/memory.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:91: src/CMakeFiles/mkldnn.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
igorsychev@ThinkPad-X1-Yoga-1st:~/mkl-dnn-0.14/build$

update to 0.17.1 resolved this issue

nobody care


Missing key attribute warning since 0.5.7 upgrade

Not that big of deal at this moment, but would be nice if this can be fixed.
warning.js:33 Warning: Each child in an array or iterator should have a unique "key" prop. See https://fb.me/react-warning-keys for more information.
    in div (created by Popover)
    in div (created by Popover)

Any progress on this?


Recommend against data class generation

https://opensource.expediagroup.com/graphql-kotlin-codegen/docs/recommended-usage


[UpdatePlugin]  thebabush nampa 1.0

Please update my plugin: nampa (flirt signatures).
Author: Me
Repo name: nampa
Release: 1.0
This is basically the new plugin.json format contributed by @trib0r3

Added, thanks!


PointNet++ Model Weights

Hello,
Can you please share the model weights of pc2cad.py?
Thank you

Hello,
Can you please share the model weights of pc2cad.py?
Thank you

Hi, I'm bothered by the same question here. Have you already found the pretrained weights ?

Hello,
It's available here (Check the Pretrained Models section in Readme)
https://github.com/ChrisWu1997/DeepCAD?tab=readme-ov-file#pre-trained-models.

I've checked the provided weights, but there are only weights for the GAN and auto decoder network. Thanks anyway!

I see. I forgot I had to train it myself 😄.
Here are the weights.

Thanks for that!!

I see. I forgot I had to train it myself 😄. Here are the weights.
latest.zip
how mang epoch did you train


Email validation cleaning input using $compile

Hello! I have an input of type email, with required attribute, if I type, for example<EMAIL_ADDRESS>the input's value is cleared. But it only happen, if using a directive that recompile the DOM fragment the input stands.
Here's the issue simulated:
http://plnkr.co/edit/zhaTr0KCCLH4ALD6pGkb?p=preview
If use ng-pattern="/^[_a-z0-9]+(.[_a-z0-9]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,4})$/" on the input, the problem does not happen anymore (for just ".com", not ".com.br").

You are not supposed to recompile already compiled nodes; in fact, it's not supported by the compiler. I assume some validator or such gets added again during validation and messes with the input.

@Narretz, I understand, but in this case the compiler should not be intelligent enough to not mess things up? Since you have to compile a node, and inside this node, have already compiled elements, some inputs can stop working properly.

AFAIK, it only happen with email type.

Sorry, like I said, recompiling already compiled conent is not supported and we don't plan on doing this.