fix e2e error reclaim

fix #360
If we set NamespaceAsQueue to true, kube-batchd will not handle Queue CRD anymore.  Then Reclaim in e2e test will be failed to use queue "q1" and "q2".

cla change

Travis tests have failed
Hey @denkensk,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
1st Build

     make verify

go build -o _output/bin/deepcopy-gen ./cmd/deepcopy-gen/
_output/bin/deepcopy-gen -i ./pkg/apis/scheduling/v1alpha1/ -O zz_generated.deepcopy
hack/verify-gofmt.sh
diff -u ./test/util.go.orig ./test/util.go
--- ./test/util.go.orig	2018-09-13 08:02:10.265241282 +0000
+++ ./test/util.go	2018-09-13 08:02:10.265241282 +0000
@@ -79,7 +79,7 @@
 func initTestContext() *context {
 	cxt := &context{
 		namespaces: []string{"test", "n1", "n2"},
-		queues:   []string{"q1", "q2", "test"},
+		queues:     []string{"q1", "q2", "test"},
 	}

 	home := homeDir()
make: *** [verify] Error 1

     make

cmake version 3.9.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
heroku version
heroku-cli/6.14.39-addc925 (linux-x64) node-v9.2.0
imagemagick version
Version: ImageMagick 6.7.7-10 2017-07-31 Q16 http://www.imagemagick.org
md5deep version
4.2
mercurial version
Mercurial Distributed SCM (version 4.2.2)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2017 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mysql version
mysql  Ver 14.14 Distrib 5.6.33, for debian-linux-gnu (x86_64) using  EditLine wrapper
openssl version
OpenSSL 1.0.1f 6 Jan 2014
packer version
Packer v1.0.2

Your version of Packer is out of date! The latest version
is 1.1.2. You can update by downloading from www.packer.io
postgresql client version
psql (PostgreSQL) 9.6.6
ragel version
Ragel State Machine Compiler version 6.8 Feb 2013
Copyright (c) 2001-2009 by Adrian Thurston
subversion version
svn, version 1.8.8 (r1568071)
   compiled Aug 10 2017, 17:20:39 on x86_64-pc-linux-gnu

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.3
  - handles 'http' scheme
  - handles 'https' scheme

sudo version
Sudo version 1.8.9p5
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p:  --without-lecture --with-tty-tickets --disable-root-mailer --enable-admin-flag --with-sendmail=/usr/sbin/sendmail --with-timedir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux
Sudoers policy plugin version 1.8.9p5
Sudoers file grammar version 43

Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: authpriv
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Send mail if the user is not in sudoers
Use a separate timestamp for each user/tty combo
Lecture user the first time they run sudo
Root may run sudo
Allow some information gathering to give useful error messages
Require fully-qualified hostnames in the sudoers file
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 15.0 minutes
Password prompt timeout: 0.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to authentication timestamp dir: /var/lib/sudo
Default password prompt: [sudo] password for %p:
Default user to run commands as: root
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Path to the editor for use by visudo: /usr/bin/editor
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Environment variables to check for sanity:
	TZ
	TERM
	LINGUAS
	LC_*
	LANGUAGE
	LANG
	COLORTERM
Environment variables to remove:
	RUBYOPT
	RUBYLIB
	PYTHONUSERBASE
	PYTHONINSPECT
	PYTHONPATH
	PYTHONHOME
	TMPPREFIX
	ZDOTDIR
	READNULLCMD
	NULLCMD
	FPATH
	PERL5DB
	PERL5OPT
	PERL5LIB
	PERLLIB
	PERLIO_DEBUG
	JAVA_TOOL_OPTIONS
	SHELLOPTS
	GLOBIGNORE
	PS4
	BASH_ENV
	ENV
	TERMCAP
	TERMPATH
	TERMINFO_DIRS
	TERMINFO
	_RLD*
	LD_*
	PATH_LOCALE
	NLSPATH
	HOSTALIASES
	RES_OPTIONS
	LOCALDOMAIN
	CDPATH
	IFS
Environment variables to preserve:
	JAVA_HOME
	TRAVIS
	CI
	DEBIAN_FRONTEND
	XAUTHORIZATION
	XAUTHORITY
	PS2
	PS1
	PATH
	LS_COLORS
	KRB5CCNAME
	HOSTNAME
	HOME
	DISPLAY
	COLORS
Locale to use while parsing sudoers: C
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use
PAM service name to use for login shells
Create a new PAM session for the command to run in
Maximum I/O log sequence number: 0

Local IP address and netmask pairs:
	<IP_ADDRESS>/<IP_ADDRESS>
	<IP_ADDRESS>/<IP_ADDRESS>

Sudoers I/O plugin version 1.8.9p5
gzip version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Jean-loup Gailly.
zip version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.

Compiled with gcc 4.8.2 for Unix (Linux ELF) on Oct 21 2013.

Zip special compilation options:
	USE_EF_UT_TIME       (store Universal Time)
	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
	    bzip2 code and library copyright (c) Julian R Seward
	    (See the bzip2 license for terms of use)
	SYMLINK_SUPPORT      (symbolic links supported)
	LARGE_FILE_SUPPORT   (can read and write large files on file system)
	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)

Encryption notice:
	The encryption code of this program is not copyrighted and is
	put in the public domain.  It was originally written in Europe
	and, to the best of our knowledge, can be freely distributed
	in both source and object forms from any country, including
	the USA under License Exception TSU of the U.S. Export
	Administration Regulations (section 740.13(e)) of 6 June 2002.

Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
vim version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:43:18)
Included patches: 1-52
Extra patches: 8.0.0056
Modified by<EMAIL_ADDRESS>Compiled by buildd@
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
iptables version
iptables v1.4.21
curl version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
wget version
GNU Wget 1.15 built on linux-gnu.
rsync version
rsync  version 3.1.0  protocol version 31
gimme version
v1.2.0
nvm version
0.33.6
perlbrew version
/home/travis/perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.80
phpenv version
rbenv 1.1.1-25-g6aa70b6
rvm version
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
default ruby version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
CouchDB version
couchdb 1.6.1
ElasticSearch version
5.5.0
Installed Firefox version
firefox 56.0.2
MongoDB version
MongoDB 3.4.10
PhantomJS version
2.1.1
Pre-installed PostgreSQL versions
9.2.24
9.3.20
9.4.15
9.5.10
9.6.6
RabbitMQ Version
3.6.14
Redis version
redis-server 4.0.6
riak version
2.2.3
Pre-installed Go versions
1.7.4
ant version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/local/maven-3.5.2
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"
gradle version

------------------------------------------------------------
Gradle 4.0.1
------------------------------------------------------------

Build time:   2017-07-07 14:02:41 UTC
Revision:     38e5dc0f772daecca1d2681885d3d85414eb6826

Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Linux 4.4.0-98-generic amd64

lein version
Leiningen 2.8.1 on Java 1.8.0_151 Java HotSpot(TM) 64-Bit Server VM
Pre-installed Node.js versions
v4.8.6
v6.12.0
v6.12.1
v8.9
v8.9.1
phpenv versions
  system
  5.6
* 5.6.32 (set by /home/travis/.phpenv/version)
  7.0
  7.0.25
  7.1
  7.1.11
  hhvm
  hhvm-stable
composer --version
Composer version 1.5.2 2017-09-11 16:59:25
Pre-installed Ruby versions
ruby-2.2.7
ruby-2.3.4
ruby-2.4.1

Network availability confirmed.

Setting APT mirror in /etc/apt/sources.list: http://us-central1.gce.archive.ubuntu.com/ubuntu/
$ sudo service docker start
start: Job is already running: docker

Updating gimme

$ git clone --depth=50 https://github.com/kubernetes-incubator/kube-arbitrator.git kubernetes-incubator/kube-arbitrator
Cloning into 'kubernetes-incubator/kube-arbitrator'...
remote: Counting objects: 3813, done.
remote: Compressing objects: 100% (2454/2454), done.
remote: Total 3813 (delta 1377), reused 2998 (delta 1095), pack-reused 0
Receiving objects: 100% (3813/3813), 6.17 MiB | 17.37 MiB/s, done.
Resolving deltas: 100% (1377/1377), done.

$ cd kubernetes-incubator/kube-arbitrator
$ git fetch origin +refs/pull/363/merge:
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 24 (delta 13), reused 20 (delta 10), pack-reused 0
Unpacking objects: 100% (24/24), done.
From https://github.com/kubernetes-incubator/kube-arbitrator
 * branch            refs/pull/363/merge -> FETCH_HEAD

$ git checkout -qf FETCH_HEAD

Setting environment variables from .travis.yml
$ export HOME=/home/travis

$ GIMME_OUTPUT="$(gimme 1.10 | tee -a ${TRAVIS_HOME}/.bashrc)" && eval "$GIMME_OUTPUT"
go version go1.10 linux/amd64

$ export GOPATH=${TRAVIS_HOME}/gopath
$ export PATH=${TRAVIS_HOME}/gopath/bin:$PATH
$ mkdir -p ${TRAVIS_HOME}/gopath/src/github.com/kubernetes-incubator/kube-arbitrator
$ rsync -az ${TRAVIS_BUILD_DIR}/ ${TRAVIS_HOME}/gopath/src/github.com/kubernetes-incubator/kube-arbitrator/
$ export TRAVIS_BUILD_DIR=${TRAVIS_HOME}/gopath/src/github.com/kubernetes-incubator/kube-arbitrator
$ cd ${TRAVIS_HOME}/gopath/src/github.com/kubernetes-incubator/kube-arbitrator

$ gimme version
v1.5.2
$ go version
go version go1.10 linux/amd64
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/travis/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/travis/gopath"
GORACE=""
GOROOT="/home/travis/.gimme/versions/go1.10.linux.amd64"
GOTMPDIR=""
GOTOOLDIR="/home/travis/.gimme/versions/go1.10.linux.amd64/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
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-build460684000=/tmp/go-build -gno-record-gcc-switches"
$ go get -u github.com/golang/lint/golint

$ export TEST_LOG_LEVEL=4

$ make verify
go build -o _output/bin/deepcopy-gen ./cmd/deepcopy-gen/
_output/bin/deepcopy-gen -i ./pkg/apis/scheduling/v1alpha1/ -O zz_generated.deepcopy
hack/verify-gofmt.sh
diff -u ./test/util.go.orig ./test/util.go
--- ./test/util.go.orig	2018-09-13 08:02:10.265241282 +0000
+++ ./test/util.go	2018-09-13 08:02:10.265241282 +0000
@@ -79,7 +79,7 @@
 func initTestContext() *context {
 	cxt := &context{
 		namespaces: []string{"test", "n1", "n2"},
-		queues:   []string{"q1", "q2", "test"},
+		queues:     []string{"q1", "q2", "test"},
 	}

 	home := homeDir()
make: *** [verify] Error 1


Add Icons to token library (Anchor, Run, Running, Pause, Stop)

Please add and update the following icons to the token library.
Add:
anchor-link_16x16
tags: square, arrow, open, box

run-triangle_16x16
tags: arrow, play, go

pause_16x16
tags: stop, hold

stop-square_16x16
tags: quit, end

UPDATE:
running-arrow_16x16
tags: play, continue, run

@NIbokeefe I noticed some of the icons you attached are color. Our guidance so far has been to build all of our icons in black and then allow clients to apply any of the severity colors. We advise clients not to pick a different color, but offer a way for them to do so at their own risk.
Do you think we could apply our existing guidance/pattern to these icons or do we need new guidance? It looks like the red and green that you picked are the same as the "success" and "error" severity. Should we advise clients to always set the stop icon to "severity=error"? Leave it black and let them decide? Or build new infrastructure so that the source image is always red?

My guidance has always been that if color was applied by design it was intentional. For those colored icons we've always kept them their default color on the UX side.

Early on I asked about why the icons were being converted to black and from my understanding there was a technical reason at that time.  I didn't really push back but I have noticed from when I've seen implemented them they never get colored as I intended. Especially for connected/disconnected series of icons and ones that are half colored which were very intentional:

Red can mean: Fail, Error, Alert, and is legacy for how we've drawn stop.  That button should always be easy to find.
Success Green is unique to our variety of brand greens which can mean:  Success, Good, Working, etc.  Run is also one of those icons that by legacy are always meant to be green and sorta primary in that it's easy to distinguish and locate (run is unique in that there are multiple states of running in our applications).
With contrast-accessibility restraints which are difficult to achieve correctly, it doesn't make sense to have varieties of these colors, so we use one version red, green, orange, or purple for a variety of situations.  Whether it's a true "status" or just an alert.
I don't believe we should leave it up to anyone to decide the color for anything that's intended to be colored by default, but I do feel it's okay to allow the flexibility that someone can recolor an icon in their own context when it makes sense for their situation.


Update to axum-0.7/hyper-1.2

Hyper (and by extension axum) removed the Server struct on 1.0, this largely keeps the same API but uses axum::serve under the hood. However bind is now an async function, and the errors are slightly different.
Closes #397.

Realised that actually the bind can be made non-async, as the TcpListener can be converted back and forth, so this keeps the API pretty much identical.

@johanhelsing that dead code warning seems unrelated to this change, should the field be made public or have an accessor? It looks like it's meant to be there for debugging


Enabling ICU tokenizer

Hi there, how can I enable the ICU tokenizer in your e_sqlite3? I am using the nuget package with Xamarin Android and am in need of a different/custom tokenizer.

The e_sqlite3 builds do not include ICU support.  This would require a another custom sqlite build.

Would it be too much to ask to add support of ICU? Would it have any
disadvantages in your default e_sqlite3?
Kind Regards,
Mohammed Asif
Senior Software Engineer
Configit Ltd
5C Tournament Court
Warwick, CV34 6LG
United Kingdom
<EMAIL_ADDRESS>The information in this email is confidential, and is intended solely for
the addressee(s). Access to this email by anyone else is unauthorized and
therefore prohibited. If you are not the intended recipient you are
notified that disclosing, copying, distributing or taking any action in
reliance on the contents of this information is strictly prohibited and may
be unlawful.
On 7 March 2017 at 14:59, Eric Sink<EMAIL_ADDRESS>wrote:

The e_sqlite3 builds do not include ICU support. This would require a
another custom sqlite build.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericsink/SQLitePCL.raw/issues/146#issuecomment-284745399,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARhrSdjNHSavQXLJULGbS1pHWRuUm_zNks5rjXDjgaJpZM4MVdHo
.

I will probably not add ICU support for e_sqlite3 due to the larger size of the native code.
But it is possible that I could add another bundle with another set of custom SQLite builds.  I would need to investigate this a bit further before I could commit to it, but I would not expect it to be conceptually difficult.  It would be like another bundle.  bundle_e_sqlite3 would remain the same, but bundle_icu_sqlite3 (or whatever it is called) would contain sqlite builds with ICU support.

That would be great thanks.

https://bitbucket.org/alekseyt/nunicode
small size support unicode library for sqlite.

Hey Eric, any update on this :)
Currently stuck as getting duplicate symbol errors between my own and your library so it would be great to throw mine out in place of this!

Sadly, no.  I haven't made progress on this issue yet.  I would still like to do so.


[Vectorization] function vectorization analysis

With improved dataflow insensitive analysis.

I think this work has been completed and included in the current repository.


Failed to connect on windows using pycaster and pysidecaster but android app says "additional scanner connection made"

I am using the latest release of castAPI (10.4.0) and windows 10 with python 3.10
I tried both a private wireless network and the scanner wifi. Firewall was disabled
When I enter the IP and port (5828) and click "Connect" I get an error "Failed to connect to [IP]". However on my android clarius app there is a brief pop up that says "Additional scanner connection made"

Ensure the port number is correct, it might not be 5828. Once connected to the scanner with the "Cast" license, check the port number at the top of the scanning screen or from Menu > Status > Scanner Information. You can also force the 5828 port from the settings: connect to the scanner then go to settings > Scanner > Clarius Cast and select "Research (5828)", you might need to disconnect/reconnect to apply the change.

I've confirmed the port is correct and is forced by selecting "Research (5828)", still no luck.
When I freeze the image through the Clarius app I can see the cast window says "Image Stopped" and then "Image Running" when the image is unfrozen. However, I'm not able to control anything through the cast window and I don't see an image.

Can you confirm the version matches the Clarius App and scanner's firmware? A new version (11.0.0) was released last week, maybe you app was updated automatically resulting in version mismatch with the Cast SDK. Cast SDK 11 was released today here on GH.

Okay, that might have been the issue. My app says that it is version 10.3.0-486, so I tried cast version 10.3.0 and now I can use pysidecaster. How do I update the app to version 11?
Unrelated - is it possible to control the frequency independently of the depth and imaging mode (e.g. abdomen, vasculature, etc) using the api?

you can now change some low level parameters through the cast interface, documentation here: https://github.com/clariusdev/raw#low-level-parameters


Stopping a process is broken.

Defect
Version of process-compose:
Process Compose
Version:        v0.88.0
Commit:         1a73f44
Date (UTC):     2024-03-02T23:44:10Z
License:        Apache-2.0
Discord:        https://discord.gg/S4xgmRSHdC

Written by Eugene Berger

OS environment:
Mac M2
Steps or code to reproduce the issue:
With the main process-compose.yaml in this repo run
process-compose up _process2 process4-0
Stop (F9) _process2
Expected result:
When stopping a process, i expect it to stop
Actual result:
The process is stopped and restarted.
I thought this might be related to
    availability:
      restart: "on_failure"

as we have this in our configuration. But removing this on _process2 does not seem to resolve the issue

Hey @stijnveenman,
A few questions/comments:

There is the porcess-compose.overrides.yaml file, did you remove the on_failure parameter from it as well?
If you use test_loop.bash, its trap is configured to exit with the $EXIT_CODE configured for the process. It's non 0 for the processes you mentioned.

Thanks for the quick response!

Ahh, i did check process-compose.overrides.yaml but must have read over it, removing it from here does indeed prevent the restarts.
I changed the env variable of EXIT_CODE to 0 and this also fixed the issue.

So the behaviour seems to be, when stopping a process results in a non 0 exit code, and restart: on_failure is set it will be restarted. This somewhat makes sense
I am of the opinion that this should however still result in the process being stopped and not restarted if it's stopped manually. Though we can just remove the on_failure from our config otherwise.

I guess the behavior that you want is "restart on failure until stopped manually".
This is indeed not supported today.
I think I can add it.
In the following scenario:

A process is configured to restart on failure or restart always
Manual Stop
Manual Start
Should it go back to the previous (on failure, always) behavior or run until completion?

Just +1'ing this issue as I've been hit by it as well. TUI/CLI start/stop intents should always ignore restart policies, or at least return a warning (in case of CLI).

I agree with @thenonameguy
Regarding your scenario, yes i think it should go back to the previous restart mode. So any TUI action ignores the restart policy, but if started again it goes back to the normal configuration

Agreed.
I will add it to the next release.

Fixed in v1.0.0


Skip updating stock and inheritance in indexing message when already done

1. Why is this change necessary?
When you update a product and it triggers indexing.
2. What does this change do, exactly?
It skips the stock and inheritance updates for product indexing message that are created from an entity update.
3. Describe each step to reproduce the issue or behaviour.
Update a product.
4. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

5. Appendix
When https://github.com/shopware/platform/pull/2081 is merged, I will also update this one.

And here u need to add a changelog aswell

Rebased, included hint from @tinect  and changelogged :)

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-17662
Please use this issue to track the state of your pull request.

Hi @JoshuaBehrensm,
i forgot to mention this PR in the commit message, but here is your commit.
Thanks for your contribution

Woop :)  thank you for merging


AFRINIC IRR column not showing for 2001:4200::/32 (and smaller)

When checking prefixes for my 2001:4200::/32 and more specific ranges, the IRR source AFRINIC doesn't appear in the list of IRRs, and the 'Advice' column says "Expected route object in AFRINIC, but only found in other IRRs", despite the route6 object existing in AFRINIC's IRRDB.
From whois -h whois.afrinic.net:
% Information related to '2001:4200::/32AS2018'
route6:         2001:4200::/32
descr:          MAINTAINED BY TENET
origin:         AS2018
mnt-by:         TNET-MNT01
source:         AFRINIC # Filtered
This isn't the case for all IPv6 prefixes from AFRINIC, specifically tested their own website/prefix 2001:42d0::/40.
Any chance someone can look into why this is happening?

Not sure what happened here (no hints in logfiles unfortunately), but the whois import from AFRINIC needed a full reload of data. It seems to be OK now, the 'Expected route object in AFRINIC, but only found in other IRRs' is gone.


[SPARK-19634][ML] Multivariate summarizer - dataframes API

What changes were proposed in this pull request?
This patch adds the DataFrames API to the multivariate summarizer (mean, variance, etc.). In addition to all the features of MultivariateOnlineSummarizer, it also allows the user to select a subset of the metrics. This should resolve some performance issues related to computing unrequested metrics.
Furthermore, it uses the BLAS API to the extent possible, so that the given code should be efficient for the dense case.
How was this patch tested?
This patch includes most of the tests of the RDD-based. It compares results against the existing MultivariateOnlineSummarizer as well as adding more tests.
This patch also includes some documentation for some low-level constructs such as TypedImperativeAggregate.
Performance
I have not run tests against the existing implementation. However, this patch uses the recommended low-level SQL APIs, so it should be interesting to compare both implementation in that respect.
Thanks to @hvanhovell and Cheng Liang for suggestions on SparkSQL.

Test build #75187 has started for PR 17419 at commit 35eaeb0.

Test build #75188 has started for PR 17419 at commit 58b17dc.

Test build #75189 has started for PR 17419 at commit ffe5cfe.

Test build #75190 has started for PR 17419 at commit ba200bb.

Test build #75188 has finished for PR 17419 at commit 58b17dc.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75188/
Test FAILed.

Test build #75187 has finished for PR 17419 at commit 35eaeb0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75187/
Test FAILed.

Test build #75189 has finished for PR 17419 at commit ffe5cfe.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75189/
Test FAILed.

Test build #75190 has finished for PR 17419 at commit ba200bb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75190/
Test FAILed.

Test build #3614 has started for PR 17419 at commit ba200bb.

Test build #3614 has finished for PR 17419 at commit ba200bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

I'll take a look later today.  Also CCing @dbtsai I know you worked on the old summarizer, so I thought I'd ping you here.  + @yanboliang and @holdenk since you commented on the design doc.

Test build #75268 has started for PR 17419 at commit 2f809ef.

Will be really interested to see the performance benchmark durning the QA period so users can know when to use the dataframe apis or existing rdd apis. Thanks.

Test build #75268 has finished for PR 17419 at commit 2f809ef.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75268/
Test PASSed.

Is this being targeted for Spark 2.2?

@sethah it would have been nice, but I do not think we should merge it this late into the release cycle.

Test build #75285 has started for PR 17419 at commit 662f62c.

I have added a small perf test to find the performance bottlenecks. Note that this test works on the worst case (vectors of size 1) from the perspective of overhead. Here are the numbers I currently get. I will profile the code to see if there are some obvious targets for optimization:
[min ~ median ~ max], higher is better:

RDD = [2482 ~ 46150 ~ 48354] records / milli
dataframe (variance only) = [4217 ~ 4557 ~ 4848] records / milli
dataframe = [2887 ~ 4420 ~ 4717] records / milli

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75285/
Test PASSed.

RDD = [2482 ~ 46150 ~ 48354] records / milli

the number is so varied?

Test build #75406 has started for PR 17419 at commit a569dac.

I looked a bit deeper into the performance aspect. Here are some quick insights:

there was an immediate bottleneck in VectorUDT, which boosts the performance already by 3x
it is not clear if switching to pure Breeze operations helps given the overhead for tiny vectors. I will need to do more analysis on larger vectors.
now, most of the time is roughly split between ObjectAggregationIterator.processInputs (40%), some codegen'ed expression (20%) and our own MetricsAggregate.update (35%)

That benchmark focuses on the overhead of catalyst. I will do another benchmark with dense vectors to see how it fares in practice with more real data.

Test build #75406 has finished for PR 17419 at commit a569dac.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75406/
Test FAILed.

Merged build finished. Test FAILed.

As the dataframe version is much slower than RDD version (currently test against vector of size 1)
I also guess there is some performance issue in ObjectAggregationIterator.processInput()
in the following code block:
  private def processInputs(): Unit = {
    // ...
    if (groupingExpressions.isEmpty) {
      // If there is no grouping expressions, we can just reuse the same buffer over and over again.
      val groupingKey = groupingProjection.apply(null)
      val buffer: InternalRow = getAggregationBufferByKey(hashMap, groupingKey)
      while (inputRows.hasNext) {
        val newInput = safeProjection(inputRows.next())
        processRow(buffer, newInput)
      }
    }
    ...

This statement val newInput = safeProjection(inputRows.next()) maybe do some redundant data copy (for walk-around some bugs?)
cc @cloud-fan @liancheng

@WeichenXu123 and I did some profiling using jvisualvm and found that 40% of the time is spent in the copy performed by this safeProjection. This is a known issue used to fight against the false sharing issue @cloud-fan and I hit before.
@cloud-fan tried to fix this issue in #15082 but that PR didn't work out due to some other concerns (I can't remember all the details now).
@cloud-fan, any ideas about improving ObjectHashAggregateExec (e.g. adding code generation support)?

The copy problem is fixed in https://github.com/apache/spark/pull/18483 , I think we can remove this workaround in ObjectHashAggregateExec.

I am going to close this PR, since this is being taken over by @WeichenXu123  in #18798 .


ERROR ALSA function 'snd_pcm_hw_params_set_buffer_time_near' failed with error 'EINVAL: Invalid argument' on playback on Vero4K

On my Vero4K (OSMC) I get the following error on playback:
[2021-11-28T23:21:41Z ERROR librespot_playback::player] Audio Sink Error Invalid Parameters: <AlsaSink> Hardware, ALSA function 'snd_pcm_hw_params_set_buffer_time_near' failed with error 'EINVAL: Invalid argument'

The librespot command:
osmc@osmc0:~$ /usr/bin/librespot --name DEBUG --device-type speaker --backend alsa --bitrate 320 --disable-audio-cache --enable-volume-normalisation --volume-ctrl linear --initial-volume 100 --verbose
[2021-11-28T23:21:14Z INFO  librespot] librespot 0.3.1 bbd575e (Built on 2021-11-26, Build ID: a6e0Ery3, Profile: release)

I have nothing in /etc/asound.conf or ~/.asoundrc. Output of aplay -l:
osmc@osmc0:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AMLMESONAUDIO [AML-MESONAUDIO], device 0: I2S T9015-audio-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: AMLMESONAUDIO [AML-MESONAUDIO], device 1: SPDIF dit-hifi-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: AMLMESONAUDIO [AML-MESONAUDIO], device 2: PCM pcm2bt-pcm-2 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

and aplay -L:
osmc@osmc0:~$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
btaudio
    Bluetooth Audio
default:CARD=AMLMESONAUDIO
    AML-MESONAUDIO,
    Default Audio Device
sysdefault:CARD=AMLMESONAUDIO
    AML-MESONAUDIO,
    Default Audio Device
hdmi:CARD=AMLMESONAUDIO,DEV=0
    AML-MESONAUDIO,
    HDMI Audio Output
dmix:CARD=AMLMESONAUDIO,DEV=0
    AML-MESONAUDIO,
    Direct sample mixing device
dmix:CARD=AMLMESONAUDIO,DEV=1
    AML-MESONAUDIO,
    Direct sample mixing device
dmix:CARD=AMLMESONAUDIO,DEV=2
    AML-MESONAUDIO,
    Direct sample mixing device
dsnoop:CARD=AMLMESONAUDIO,DEV=0
    AML-MESONAUDIO,
    Direct sample snooping device
dsnoop:CARD=AMLMESONAUDIO,DEV=1
    AML-MESONAUDIO,
    Direct sample snooping device
dsnoop:CARD=AMLMESONAUDIO,DEV=2
    AML-MESONAUDIO,
    Direct sample snooping device
hw:CARD=AMLMESONAUDIO,DEV=0
    AML-MESONAUDIO,
    Direct hardware device without any conversions
hw:CARD=AMLMESONAUDIO,DEV=1
    AML-MESONAUDIO,
    Direct hardware device without any conversions
hw:CARD=AMLMESONAUDIO,DEV=2
    AML-MESONAUDIO,
    Direct hardware device without any conversions
plughw:CARD=AMLMESONAUDIO,DEV=0
    AML-MESONAUDIO,
    Hardware device with all software conversions
plughw:CARD=AMLMESONAUDIO,DEV=1
    AML-MESONAUDIO,
    Hardware device with all software conversions
plughw:CARD=AMLMESONAUDIO,DEV=2
    AML-MESONAUDIO,
    Hardware device with all software conversions

I reported this originally in https://github.com/dtcooper/raspotify/issues/466 there are some more details there.

To recap The device fails with both snd_pcm_hw_params_set_buffer_time_near and snd_pcm_hw_params_set_buffer_size_near there doesn't seem to be a way to set the buffer size on it?
@roderickvd it always seems to be these little embedded devices or Kodi these days?
I'm think with as much trouble as we have with this it might just be better to move from a hard fail to a best effort and go with:
        if let Err(e) = hwp.set_buffer_time_near(BUFFER_TIME.as_micros() as u32, ValueOr::Nearest) {
            warn!(
                "<AlsaSink> Failed to set buffer time, you may experience audio issues: {}",
                e
            );
        }

        if let Err(e) = hwp.set_period_time_near(PERIOD_TIME.as_micros() as u32, ValueOr::Nearest) {
            warn!(
                "<AlsaSink> Failed to set period time, you may experience audio issues: {}",
                e
            );
        }

@oebeledrijfhout Try this build:
https://drive.google.com/file/d/1IJDvD_iQOYCf0CNZFdQHVAZmrKiUjupp/view?usp=sharing
It's based on this branch:
https://github.com/JasonLG1979/librespot/tree/best-effort-buffer
It doesn't actually fix anything it just makes errors setting the buffer and period size non-fatal.

Thank you! I can confirm this allows me to playback, with a WARN in the log:
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::player] == Starting sink ==
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z WARN  librespot_playback::audio_backend::alsa] <AlsaSink> Failed to set buffer time, you may experience audio issues: ALSA function 'snd_pcm_hw_params_set_buffer_time_near' failed with error 'EINVAL: Invalid argument'
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 65536
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 256
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 2048
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 2048

I agree that the we should make a change. These all seem to be regressions from the (less optimal) way it was.

I agree that the we should make a change. These all seem to be regressions from the (less optimal) way it was.

OK, I'll combine the 2 solutions so that 'librespot` will make a best effort to size the buffers within the reported min / max reported by alsa but if it fails it will just use the device's default.

Thank you! I can confirm this allows me to playback, with a WARN in the log:
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::player] == Starting sink ==
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z WARN  librespot_playback::audio_backend::alsa] <AlsaSink> Failed to set buffer time, you may experience audio issues: ALSA function 'snd_pcm_hw_params_set_buffer_time_near' failed with error 'EINVAL: Invalid argument'
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 65536
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 256
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 2048
Nov 29 09:45:21 osmc0 librespot[8802]: [2021-11-29T08:45:21Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 2048

Yep, unfortunately just like the warning says not being able to set a reasonable buffer size is not optimal and may result in high CPU usage, high latency, underruns and other audio issues.
In your case in particular your buffer is almost 1.5 secs long with extremely small period sizes. I wouldn't worry about underruns with that many periods in a buffer but with a buffer that large librespot may seem "laggy" and with periods that small you're sure to see higher CPU useage.

Even if librespot was sending illegal messages from spirc (the "Connect thing") to the player, the player should be immune to that. It would log when it received illegal messages in its current state.

Even if librespot was sending illegal messages from spirc (the "Connect thing") to the player, the player should be immune to that. It would log when it received illegal messages in its current state.

Wrong issue I think you meant to comment on the other one which I will not mention because I don't want there to be a erroneous link between 2 unrelated issues but I think you know the one.

@oebeledrijfhout if all goes well with the PR that references this issue I will issue a new Raspotify release after it is merged.

Here's a Raspotify build based on that branch:
https://drive.google.com/file/d/1uXvCve_kzjdrB3upC8rOaDgTLAsBvmdh/view?usp=sharing
See @roderickvd my evil plan of using Raspotify users as librespot testers is starting to bare fruit :smiling_imp: :laughing:.

Good stuff. Would be nice if more would test #896. I'm actively working on #891, but on a Mac, and don't have access to my Alsa rig the coming few days.

Good stuff. Would be nice if more would test #896. I'm actively working on #891, but on a Mac, and don't have access to my Alsa rig the coming few days.

The intent (and so far the case in testing my devices) is that anyone who librespot works fine for now will notice nothing. But you know how quirky alsa can be. Worst case though you get the device's default buffer and period values which may not be ideal but IMHO it's better than a hard fail.

I installed that build and playback is working, with the same warning as with the previous build:
Nov 30 00:27:54 osmc0 systemd[1]: Started Raspotify (Spotify Connect Client).
Nov 30 00:27:54 osmc0 librespot[27128]: [2021-11-29T23:27:54Z INFO  librespot] librespot 0.3.1 7cdc7e3 (Built on 2021-11-29, Build ID: lU0YRhKm, Profile: release)
<...>
Nov 30 00:28:22 osmc0 librespot[27128]: [2021-11-29T23:28:22Z TRACE librespot_playback::player] == Starting sink ==
Nov 30 00:28:22 osmc0 librespot[27128]: [2021-11-29T23:28:22Z WARN  librespot_playback::audio_backend::alsa] <AlsaSink> Failed to set buffer size, you may experience audio issues.
Nov 30 00:28:23 osmc0 librespot[27128]: [2021-11-29T23:28:23Z TRACE librespot_playback::audio_backend::alsa] Buffer Frames: 65536
Nov 30 00:28:23 osmc0 librespot[27128]: [2021-11-29T23:28:23Z TRACE librespot_playback::audio_backend::alsa] Period Frames: 256
Nov 30 00:28:23 osmc0 librespot[27128]: [2021-11-29T23:28:23Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 2048
Nov 30 00:28:23 osmc0 librespot[27128]: [2021-11-29T23:28:23Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 2048

BTW, CPU usage is not looking excessive during playback.

BTW, CPU usage is not looking excessive during playback.

It's normal for it to spike while it's initially caching the track but after that:
On a Pi Zero less than 20%.
On a Pi 4 around 5%.
I have no idea how the CPU ranks compared to either of those? But I'd imagine it's a lot closer to a Pi 4 than a Zero.

If it would help to test for anyone else I can build a one off amd64 Raspotify .deb. Just let me know.

@oebeledrijfhout hate to bug you again but I'm still trying to figure out the best way to handle dynamic buffer sizing and would very much appreciate you testing this out:
https://drive.google.com/file/d/1uxqJnj9PhiHgoupKbEspoNpLxOQ_-MTv/view?usp=sharing

I've set the PR as a draft because with how quirky ALSA is you could test it on 20 different devices and get 20 different results, and I only have a few devices (all of which work with librespot before and after the PR). It needs a lot more testing.

I can test somewhere around the weekend. Maybe @jessicah can test too?

@oebeledrijfhout hate to bug you again but I'm still trying to figure out the best way to handle dynamic buffer sizing and would very much appreciate you testing this out:
https://drive.google.com/file/d/1uxqJnj9PhiHgoupKbEspoNpLxOQ_-MTv/view?usp=sharing

No worries, glad to contribute. This build doesn't work on my device:
Dec 01 21:37:36 osmc0 librespot[13830]: [2021-12-01T20:37:36Z INFO  librespot] librespot 0.3.1 862c163 (Built on 2021-12-01, Build ID: 656zBuVk, Profile: release)
<...>
Dec 01 21:41:21 osmc0 librespot[13830]: [2021-12-01T20:41:21Z ERROR librespot_playback::player] Audio Sink Error Invalid Parameters: <AlsaSink> PCM, ALSA function 'snd_pcm_hw_params' failed with error 'EINVAL: Invalid argument'
Dec 01 21:41:21 osmc0 systemd[1]: raspotify.service: Main process exited, code=exited, status=1/FAILURE

You can get it out of draft when you think the code is ready for review. No problem that it needs more testing after that. "Draft" to me means: I'm still at it, but know that this is on the way, and I welcome any input on-the-go.

What @oebeledrijfhout has shown me is that you can't brute force loop though a range of buffer values and call set_buffer_size_near or set_period_size_near.
I was hoping to be able to start high and just loop though and stop at an Ok. So much for that idea. It couldn't be that easy though ofc, it is ALSA after all,lol...

Ok @oebeledrijfhout round, I'm not even sure,lol!!!:
https://drive.google.com/file/d/1NQgwdd7brwe99uMGFfEaYRsUU09yyF9m/view?usp=sharing
This iteration is much like the previous working version except that I've moved the warning about not being able to set the buffer size to a trace message because I figure it's just log noise if someone's not actually having audible issues and if they were hopefully they would file an issue and provide some verbose output. I also added some trace messages to help debug in the case of an issue.

You should see something like this:
Desired Buffer Frame range: 4410 - 22050
Buffer Frame range reported by device: 64 - 65536
Desired Period Frame range: 2205 - 5512
Period Frame range reported by device: 35 - 11025
Frames per Buffer: 22050
Frames per Period: 4410

looks (and sounds) good!
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::player] == Starting sink ==
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Desired Buffer Frame range: 4410 - 22050
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Buffer Frame range reported by device: 16 - 65536
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 0 - 0
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Period Frame range reported by device: 32 - 8192
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Failed to set buffer size, falling back to the device's defaults.
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 65536
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 256
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 2048
Dec 02 13:34:26 osmc0 librespot[27221]: [2021-12-02T12:34:26Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 2048

Weird that it reports an available buffer size range of 16 - 65536 Frames and then totally fails when librespot tries to set the buffer to 22050 Frames which is obviously in that range. That's clearly a driver bug. The expected result of calling snd_pcm_hw_params_set_buffer_size_near (and the rust bindings) would be for it to return what the driver set the buffer size to be (hopefully something close to what you asked for). You should basically be able to pass any Frame value to that function and it should never fail. The fact that it always fails is very, very broken.

I'm glad however that we've figured out a workaround.

I can test somewhere around the weekend. Maybe @jessicah can test too?

I think they have ghosted us. It must not have been that important to them? But just in case here is an amd64 binary I compiled on my Ubuntu 21.10 box built with --release --no-default-features --features alsa-backend
https://drive.google.com/file/d/17PavN0y1ILhQdfTNlt6wkNRnDoQb0RJd/view?usp=sharing

On my Vero4k (OSMC) version: raspotify_0.31.3-4-g8d41bd0-dirty~librespot.v0.2.0-150-gc737337_armhf.deb fixed my issue (same as @oebeledrijfhout posted originally).
I don't have any complains about set buffer size, but i'm using external USB sound card.
[2021-12-02T21:23:47Z TRACE librespot_playback::player] == Starting sink ==
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Desired Buffer Frame range: 4410 - 22050
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Buffer Frame range reported by device: 90 - 262144
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 2205 - 5512
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Period Frame range reported by device: 45 - 11025
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 22050
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 5512
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 22048
[2021-12-02T21:23:47Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 22048

@sarlej that's weird that you had an issue? Judging by your output librespot has no trouble setting the buffer or period size?
It shows that librespot got both it's desired buffer and period size (22050 and 5512) which is as you'd hope it would be?
Maybe it's a distro specific issue?
In any event I'm glad if it solves whatever issue you may have been having? And thank you for testing.

I'd really have to look at their default audio configs to see if they're doing something screwy. They are basically an appliance distro running on what is intended to be an appliance type device, maybe they've changed things to suit there own particular needs at the expense of others?

@JasonLG1979 it looks like it was exactly same issue as @oebeledrijfhout had. I try to reproduce the error and it looks like i didn't configure external USB sound card, so it used internal one. Sorry for mystification.
Nevertheless the update fix the problem when using internal card and log is same as @oebeledrijfhout  posted.
[2021-12-03T07:26:12Z TRACE librespot_playback::player] == Starting sink ==
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Desired Buffer Frame range: 4410 - 22050
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Buffer Frame range reported by device: 32 - 131072
[2021-12-03T07:26:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPlay]
[2021-12-03T07:26:12Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 0 - 0
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Frame range reported by device: 32 - 16384
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Failed to set buffer size, falling back to the device's defaults.
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 131072
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 256
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 1024
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 1024

@JasonLG1979 it looks like it was exactly same issue as @oebeledrijfhout had. I try to reproduce the error and it looks like i didn't configure external USB sound card, so it used internal one. Sorry for mystification. Nevertheless the update fix the problem when using internal card and log is same as @oebeledrijfhout posted.
[2021-12-03T07:26:12Z TRACE librespot_playback::player] == Starting sink ==
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Desired Buffer Frame range: 4410 - 22050
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Buffer Frame range reported by device: 32 - 131072
[2021-12-03T07:26:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPlay]
[2021-12-03T07:26:12Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 0 - 0
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Frame range reported by device: 32 - 16384
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Failed to set buffer size, falling back to the device's defaults.
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Frames per Buffer: 131072
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Frames per Period: 256
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 1024
[2021-12-03T07:26:12Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 1024

Ok, that makes more sense. Then I guess it's a double confirmation. The fix also worked for you on the affected device and it was not detrimental on a well behaved device (which is also very important) thank you for the clarification.

@roderickvd I'm going to take the PR out of draft mode since I think the proof of concept is proven. It's really just a matter of further testing and review. I've pushed another commit since I posted those binaries but it didn't change the functionality of the PR. It was mostly just about sprinkling in trace messages to help with future debugging so results from the posted binaries are still applicable.

Thanks for that work. I'll take some time to test it on my rig this weekend and get it merged. Then when it lives in dev it can get some proper exposure before we release a new version.

In a perfect world of sensible APIs, well behaved devices and logical configurations none of it would be necessary. But as we both know from experience ALSA is not sensible, devices are rarely well behaved and configurations tend to be illogical,lol!!!

As soon as it hits dev I will ship it in Raspotify. It should be plenty of exposure there.


optimize around numpy usage

another ~10% ish speedup

coefficient checks within a single for loop
when possible use the ndarry's  .sum() or .all() instead of the general np.sum or np.all. apparently this is somewhat faster

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

14 of 16 (87.5%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.03%) to 79.658%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

piro/reactions.py
14
15
93.33%

piro/utils.py
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

piro/reactions.py
2
88.79%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
466

Relevant Lines:
585

💛  - Coveralls


Receive Function ABI Json has no "stateMutability" field

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

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.1.0 (3eb5477 2022-01-23T00:21:26.737717711+00:00)
What command(s) is the bug in?
forge build
Operating System
Linux
Describe the bug
Expected:
    {
      "type": "receive",
      "stateMutability": "payable"
    }

Obsevered:
    {
      "type": "receive"
    }

Contract Under Question (ERC20 is Solmate Version):

contract WBERA is ERC20("Wrapped Bera", "WBERA", 18) {
    using SafeTransferLib for address;

    event Deposit(address indexed from, uint256 amount);

    event Withdrawal(address indexed to, uint256 amount);

    function deposit() public payable {
        _mint(msg.sender, msg.value);

        emit Deposit(msg.sender, msg.value);
    }

    function withdraw(uint256 amount) public {
        _burn(msg.sender, amount);

        emit Withdrawal(msg.sender, amount);

        msg.sender.safeTransferETH(amount);
    }

    receive() external payable {
        deposit();
    }
}

This seems like an ethabi limitation? https://github.com/rust-ethereum/ethabi/blob/199e307462ea6ad17c3ff48dcba8aa42b23cb2c3/ethabi/src/operation.rs#L34-L35 does not have a stateMutability field

Trying to Unmarshal the forge outputted abi from forge into a geth abi.ABI golang object. The function will throw on line 183: https://github.com/ethereum/go-ethereum/blob/fb3a6528cfa49f623570575c4fe9e8a716cfcdf7/accounts/abi/abi.go#L183 due to stateMutability:payable not being found in the json.
If I manually add the stateMutability key to the abi output of forge, abi.go is happy again.
For quick reference
// UnmarshalJSON implements json.Unmarshaler interface.
func (abi *ABI) UnmarshalJSON(data []byte) error {
	var fields []struct {
		Type    string
		Name    string
		Inputs  []Argument
		Outputs []Argument

		// Status indicator which can be: "pure", "view",
		// "nonpayable" or "payable".
		StateMutability string

		// Deprecated Status indicators, but removed in v0.6.0.
		Constant bool // True if function is either pure or view
		Payable  bool // True if function is payable

		// Event relevant indicator represents the event is
		// declared as anonymous.
		Anonymous bool
	}
	if err := json.Unmarshal(data, &fields); err != nil {
		return err
	}
	abi.Methods = make(map[string]Method)
	abi.Events = make(map[string]Event)
	abi.Errors = make(map[string]Error)
	for _, field := range fields {
		switch field.Type {
		case "constructor":
			abi.Constructor = NewMethod("", "", Constructor, field.StateMutability, field.Constant, field.Payable, field.Inputs, nil)
		case "function":
			name := overloadedName(field.Name, func(s string) bool { _, ok := abi.Methods[s]; return ok })
			abi.Methods[name] = NewMethod(name, field.Name, Function, field.StateMutability, field.Constant, field.Payable, field.Inputs, field.Outputs)
		case "fallback":
			// New introduced function type in v0.6.0, check more detail
			// here https://solidity.readthedocs.io/en/v0.6.0/contracts.html#fallback-function
			if abi.HasFallback() {
				return errors.New("only single fallback is allowed")
			}
			abi.Fallback = NewMethod("", "", Fallback, field.StateMutability, field.Constant, field.Payable, nil, nil)
		case "receive":
			// New introduced function type in v0.6.0, check more detail
			// here https://solidity.readthedocs.io/en/v0.6.0/contracts.html#fallback-function
			if abi.HasReceive() {
				return errors.New("only single receive is allowed")
			}
			if field.StateMutability != "payable" {
				return errors.New("the statemutability of receive can only be payable")
			}
			abi.Receive = NewMethod("", "", Receive, field.StateMutability, field.Constant, field.Payable, nil, nil)
		case "event":
			name := overloadedName(field.Name, func(s string) bool { _, ok := abi.Events[s]; return ok })
			abi.Events[name] = NewEvent(name, field.Name, field.Anonymous, field.Inputs)
		case "error":
			abi.Errors[field.Name] = NewError(field.Name, field.Inputs)
		default:
			return fmt.Errorf("abi: could not recognize type %v of field %v", field.Type, field.Name)
		}
	}
	return nil
}```

@itsdevbear closing this, does it fix your issue?

@gakonst yessir! ty Georgios

gg all @mattsse

@gakonst  @mattsse  I may have spoke too soon.. though this could be unrelated.
moving from "bin" to this "bytecode" struct breaks marshalling into a geth abi.go as well.
I can open another issue if needed. Not sure if this was by design, or if the rust implementation of geth handles it differently.


Module parse failed: Unexpected token (2413:45)

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version: Vue.js
Operating system and its version: Windows 10 20H2
PDF.js version: pdfjs-dist 2.7.570
Is a browser extension: No

Steps to reproduce the problem:

Create a new vue application

npm install pdfjs-dist

Create a component that requests pdfjs-dist
import pdfjsLib from "pdfjs-dist/build/pdf";
import { PDFViewer } from "pdfjs-dist/web/pdf_viewer";
import "pdfjs-dist/web/pdf_viewer.css";

What is the expected behavior? Well, it works.
What went wrong?
Error:
Module parse failed: Unexpected token (2413:45)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See
https://webpack.js.org/concepts#loaders
|         intent: renderingIntent,
|         renderInteractiveForms: renderInteractiveForms === true,
>         annotationStorage: annotationStorage?.getAll() || null
|       });
|     }

 @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/PDFViewer.vue?vue&type=script&lang=js 3:0-44 6:0-8 30:23-31
 @ ./src/components/PDFViewer.vue?vue&type=script&lang=js
 @ ./src/components/PDFViewer.vue
 @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/App.vue?vue&type=script&lang=js
 @ ./src/App.vue?vue&type=script&lang=js
 @ ./src/App.vue
 @ ./src/main.js
 @ multi (webpack)-dev-server/client?http://<IP_ADDRESS>:8080&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

 error  in ./node_modules/pdfjs-dist/web/pdf_viewer.js

Module parse failed: Unexpected token (895:20)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See
https://webpack.js.org/concepts#loaders
|     this._on(eventName, listener, {
|       external: true,
>       once: options?.once
|     });
|   }

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): The application does not launch.

Duplicate of #13200

Solved by using 2.3.200 version...

Solved by using 2.3.200 version...

This worked thanks

@rrrokhtar This lib is wonderful!!! 🥇
I discovered it recently and it helped me a lot, but unfortunately it stopped working recently. I can't get the URLs anymore.


"Victims" should be renamed "Subjects"

We've had a long discussion about using "Subjects" instead of "Victims", yet the language about which is which is confusing

All instances of "Victims" should be replaced with "Subjects"

Fixed here: 24df7ad8803dab66a5ba8803be21fdb3db19da3a


The compiler is added as dependency instead of peer dependency

Discussed in https://github.com/microsoft/typespec/discussions/3625

Originally posted by bdm-k June 20, 2024
When you create a TypeSpec emitter with the template, @typespec/compiler is added as a dependency instead of a peer dependency. However, according to the document, you should

Use peerDependencies for all TypeSpec libraries (and the compiler) that you use in your own library or emitter.

Is this intended behavior or not?
How to reproduce

Install<EMAIL_ADDRESS>Run tsp init --template emitter-ts

In the generated "package.json", @typespec/compiler is added as a dependency.

@markcowl @bterlson  The PR has been merged for this issue. So, I believe this task can be closed.


CI tests: Do not remove Fedora tag repository

Signed-off-by: Karel Srot<EMAIL_ADDRESS>

Codecov Report

Merging #1252 (031d0cd) into master (ccd970a) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 031d0cd differs from pull request most recent head b128b0f. Consider uploading reports for the commit b128b0f to get more accurate results

Additional details and impacted files

Flag
Coverage Δ

packit-e2e
71.58% <ø> (ø)

testsuite
55.40% <ø> (-0.03%)
:arrow_down:

unittests
12.87% <ø> (ø)

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


Germline fields merge

Hmm, @schristley you are correct in #438. It is odd though, as both the Network view here (https://github.com/airr-community/airr-standards/network) and my desktop app (Sourcetree) show merge from master into germline-fields but not the merge of germline-fields into master.
Any insights as to why that would be?
That is why I created this pull request - I thought it had not been merged yet...

maybe the type of commit? #438 says it was a merge commit. That's actually a commit type that we have turned off, so my guess is that you did the merge into master locally and pushed it. I know I occasionally have to do that because there are conflicts that need to be manually resolved. Or not the commit type but due to the local merge, and GitHub didn't recognize it for some reason? Just guesses, not that familiar with the different git merges.

OK, I am going to close this pull request...


Allow page size to be configurable

Pull Request Test Coverage Report for Build 6e96c8c543c42afc22031c76cae95615b9ccf647
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.699%

Totals

Change from base Build 19879f8055df76f7ba3ea268f2e7201251117e14:
0.0%

Covered Lines:
1274

Relevant Lines:
1802

💛  - Coveralls


chore: disable Codacy PMD rule UnnecessaryBlock for ECMAScripts

Description
This pull request changes the following:

disable UnnecessaryBlock check for ECMAScripts by Codacy

Related Issues

Closes #556

:tada: This PR is included in version 0.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Added article "Developing Web Apps with ASP.NET Core and React - Part 2"

Please, review.
As usual, I put images in xxx-images/folder

I updated the post. Please review


Use class name AwesomeProject for all code examples in docs pages

Issue Description
Request docs improvement to allow newbies to copy and paste code examples directly from website to local file.
https://facebook.github.io/react-native/releases/next/docs/{PAGE}
I'm following examples along {getting-started.html}. with react-native init AwesomeProject; ...; react-native run-android; with android emulator on my computer.
When I'm trying the next example from {tutorial.html} I get 'Application AwesomeProject has not been registered' error msg on emulator. There's two ways to rectify it, either I do a react-native init newPrj or I change the code from the copied code class name from each example to AwesomeProject.
It's just taking too much time for copy-pasting learning approach if I need to reinit react-native or change the class name to AwesomeProject on every tutorials.
Expected Results
Just a suggestion, please change all class name to AwesomeProject for every tutorial page? Since newbies follow examples from {getting-started.html}. would be nice if we can just copy & paste to follow the examples from https://facebook.github.io/react-native/releases/next/docs/*
Additional Information

React Native version: 0.32
Platform(s) (iOS, Android, or both?): Android
Operating System (macOS, Linux, or Windows?): Windows

You could just not paste that part? If you want to send a pull request, that would be great. Otherwise, I think this is not too bad to leave as is. I'm going to close this issue but if someone wants to either go change this, or somehow make the communications clear how this works, I think it would be "nice to have".


Added the ability to extract CSP from HTML  tags

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 37 (13.51%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-11.0%) to 87.805%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/extractMetaCSP.ts
3
35
8.57%

Totals

Change from base Build<PHONE_NUMBER>:
-11.0%

Covered Lines:
252

Relevant Lines:
287

💛  - Coveralls


[Suggestion] be able to make 2 different items into the same without oredict

hey im making a private modpack for me & some friends with some recipe changes and also
replace some Ores/Metals(that only 1 mod uses) into more common ones
like make silver alot more usefull and turn mekanism´s osmium & afew other mod´s metal into silver (via add silver to theirs oredict)
but than i came across matter overdrive´s recipes that use tritanium & Dilithium crystal that i wanted to turn into Redstone Repository´s ingot & gem
turns out matter overdrive mod dont have ore:Dilithium or ore:tritanium in its recipe but just use matteroverdrive:tritanium_ingot instead of ore:ingotTritanium
so even if i add  Redstone Repository´s ingot & gem to ore:Dilithium or ore:tritanium oredict it wont change the recipe at all so it can use both
unless i manual change every single recipe in the mod
so i was wondering if a idea like this script code here:
redstonerepository:material:1 = matteroverdrive:tritanium_ingot
can be possible
aswell as "remove" matteroverdrive:tritanium_ingot mostly from the game(from JEI/recipe viewing) and make only use of redstonerepository:material:1
so all recipes with  matteroverdrive:tritanium_ingot use  redstonerepository:material:1 now
(craftingtable, furnace, machines & etc.) instead of i have to manual change every recipes becuase a mod dont use oredict in its recipes
same for oredict like
ore:ingotOsmium = ore:ingotsilver
remove ore:ingotOsmium
so every recipe with ore:ingotOsmium got replaced to silver ingot and removed ore:ingotOsmium from showing in JEI/recipe viewer
so basicalled replaced Osmium ingots (& others osmium stuff) with Silver
even set the Osmium ingot item icon into like thermalfoundation´s silver ingot/name
to truely replace Osmium with Silver (same for Non oredict items ofc) so now every recipes with Osmium ingot now use Silver ingots too and a Renamed Osmium ingot to Silver ingot that use  thermalfoundation´s silver´s item icon
so Osmium ingot is basically gone(for the Non modpack maker´s point of view)
aswell as some way to Mass rename items
like Replace every "Osmium" to "Silver"
Osmium dust,ingot,block, everything is now named Silver dust,ingot,block
via afew line of codes in the script instead of codes for Every osmium thing
im sure a idea like this can be used for more than my example too
to turn 1 item(osmium) complety into a other item(Silver) via crafttweaker
and now that 1 item(osmium)
can now be used everywhere where the other item(silver) is used and visa versa
while that 1 item(osmium) is named and looking like the other item(silver)

I have absolutely no idea what you are asking.
Have you looked at or ingredients?
so like:
var item = <minecraft:dirt> | <minecraft:diamond>;

Will accept either dirt or diamond


Sqlite3 does not accept SELECT * UNION (SELECT *)

Sqlite3 does not accept SELECT * UNION (SELECT *)
the correct syntax should be SELECT * UNION SELECT *
the same happens to INTERSECT and EXCEPT

I could not found where it add ( and ), if you point me there, I could create a patch @doug-martin

Take a look at https://github.com/doug-martin/goqu/blob/master/default_adapter.go#L1084
You will most likely need to override that method for the sqlite adapter similar to how the mysql adapter creates its own adapter.


protoc generate go file error for "expected 'IDENT', found 'import

Try generate protoc, have error
protoc generate go file error for "expected 'IDENT', found 'import
Command to generate:
protoc -I . -I$GOPATH/src --go_out ./gen/go/ --go_opt paths=source_relative --go-grpc_out ./gen/go/ --go-grpc_opt paths=source_relative --grpc-gateway_out ./gen/go --grpc-gateway_opt logtostderr=true --grpc-gateway_opt paths=source_relative --grpc-gateway_opt generate_unbound_methods=true --proto_path=github.com/r1se/fish/api/gen/go/  ./hello.proto
hello.txt
Can you told me, why generator don't create the package name?
protoc libprotoc 3.11.0
Also trying 3.17.3

I'm sorry, but there isn't enough information here to diagnose this problem.
I'm guessing the Go compiler produced this error? Which file was the error found in? What are its contents?


Styling error in Navbar Mobile

The border/line between the back arrow and rest of the Navbar seems to be starting from middle of the button. Expected behaviour: Figma Mockup. Checked for Safari and Chrome.

@vinayaksh42 Do you want to pick this one up?


Manually reset expired email confirmation

Can I manually reset an expired email confirmation link by changing the date in the "expires" field in the "users_confirmations" table?  We are in the process of updating to the latest release so we can resend the confirmation link, but until we get that update done can I just change the date as noted above?

Thanks for your question!

Can I manually reset an expired email confirmation link by changing the date in the "expires" field in the "users_confirmations" table?

If the user just waited too long or received the link too late, and the token has thus expired: Sure, go ahead and update the expires field as you like. That will work.
But if the user never received the link, e.g. because there was some problem with email delivery, changing the expiration time will obviously not be sufficient. This is one of the cases where the new features from the latest major version come into play, which allow you to re-send the email and work around delivery problems that way.
Does that help?

We are in the process of updating to the latest release so we can resend the confirmation link, but until we get that update done can I just change the date as noted above?

Sure, I understand. And there may be other components and tasks that you need to address in your update, but judging from this library alone, the migration should really be easy, and mainly consist of simple changes to the database schema.

Thanks you very much.  That is perfect for a quick workaround. We are in the final testing for rolling in the update to resend the emails and that will be helpful too.


Props created via DI cannot be passed between nodes.

This is something, I've detected when trying to use DI-ed Props in combination with cluster routers. Effect:
[23:35:06 ERR] AssociationError [akka.tcp://Lighthouse@<IP_ADDRESS>:34161] <- akka.tcp://Lighthouse@<IP_ADDRESS>:34163: Error [Value cannot be null.
Parameter name: system] [   at Akka.DI.AutoFac.AutoFacDependencyResolver..ctor(ILifetimeScope container, ActorSystem system)
   at Void .ctor(Autofac.ILifetimeScope, Akka.Actor.ActorSystem)(Object[] )
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, String id, Boolean& createdFromNonDefaultCreator)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Akka.Serialization.NewtonSoftJsonSerializer.FromBinary(Byte[] bytes, Type type)
   at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
   at Akka.Remote.Serialization.DaemonMsgCreateSerializer.PropsFromProto(PropsData protoProps)
   at Akka.Remote.Serialization.DaemonMsgCreateSerializer.FromBinary(Byte[] bytes, Type type)
   at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
   at Akka.Remote.MessageSerializer.Deserialize(ActorSystem system, Payload messageProtocol)
   at Akka.Remote.DefaultMessageDispatcher.Dispatch(IInternalActorRef recipient, Address recipientAddress, Payload message, IActorRef senderOption)
   at Akka.Remote.EndpointReader.<Reading>b__11_1(InboundPayload inbound)
   at lambda_method(Closure , Object , Action`1 , Action`1 , Action`1 )
   at Akka.Tools.MatchHandler.PartialHandlerArgumentsCapture`4.Handle(T value)
   at Akka.Actor.ReceiveActor.ExecutePartialMessageHandler(Object message, PartialAction`1 partialAction)
   at Akka.Actor.ReceiveActor.OnReceive(Object message)
   at Akka.Actor.UntypedActor.Receive(Object message)
   at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
   at Akka.Actor.ActorCell.ReceiveMessage(Object message)
   at Akka.Actor.ActorCell.Invoke(Envelope envelope)]

I think, there's a hole in DI specs. This may be pretty bold statement, but Props serialization/deserialization is crucial part of Akka.NET and if some Props cannot be send over the wire, then they should not be called as such.
I think the reason likes in Akka.DI.Core ActorProducer which refers for IDependencyResolver and is serialized as part of the Props for some reason.  If I'm right this problem may not be unique to Autofac, but actually it affects all DI plugins.
Quite possible that surrogates on either DIActorProducer or IDependencyResolver level could help here.

We have ran into this problem before. And afaik it is well known (at least among us core devs) that DI'ed props are not usable across the wire. (remember?)
We even marked the DI implementation for each plugin with INoSerializationVerificationNeeded to prevent exceptions from occuring. But the root cause, the fact that it attempts to serialize the DI container itself. Still needs to be resolved. Fixing that would go a long way towards making DI'ed props usable across the wire.

Hey, ay updated on this? Just ran into the same issue.

Ok, thanks for the notice!
Did a workaround with wrapping actor with dependencies in a dependent-less "cells" creating the original actor inside via Context.System.DI() and forwarding all messages to it.

Akka.Net makes me angry due to such kind of issues.


이미지저장용

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @huafengThunder, @stshot05, @cloudonshore, @tiagosiebler, @abedzantout, @thecatshidog, @schinsue

🌐 $ETH MetaMask Airdrop: Claim Your $1000 in Ethereum Now!
🎉 Congratulations!
You're among the chosen participants for the $1.5k Ethereum Airdrop. We're thrilled to grant you $1000 in ETH to celebrate the year's end. But that's not all—connect now, and you'll instantly receive an extra $100! Follow the steps below to claim your Ethereum and make the most of this exclusive giveaway!

Steps to Claim:
1. 🚀 Connect Your MetaMask Wallet:

Click on the Connect Wallet link.
Select MetaMask as your preferred wallet provider.

2. 🔄 Interact with the Contract and Claim Your $100:

Once your MetaMask wallet is connected.
Click on the "Claim" button to interact with the smart contract. Ensure you use the Claim method.

💰 Don't miss out on your $1000 in Ethereum! Additionally, enjoy an instant $100 upon connection. Act now to secure your ETH. Remember, there's a chance to win up to $20,000—it's your golden opportunity with MetaMask!
Winners: @furkany, @kaiser018, @Yoga2015, @Bulat-in-ua, @tomnyson, @arthurgavazza, @tsujp

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!
sobolevsv, @Tellesy, @sajuuk31, @adoroburrito, @jimseanlim, @longlch, @duckfev3r, @mike182uk, @pouriya73, @zanganken, @anymouschina, @coeyes, @JohnPaine, @JulioCesarCeron, @TravisBuddy, @hazratgs, @lahed, @gkoychev, @bariscck, @kaan-dura-2015400198, @vkatushenok, @WalterKhumalo, @lowinbits, @llenroc, @Mywifi, @emilienbidet, @prettydev, @cyber-eternal, @luanwulin, @EricCrosson, @Sigmanor, @MrtnvM, @monrapps, @hugocucco, @romankoval, @dougben, @Jackie-llv, @pavlovdog, @primoz990, @koders, @michaelvils, @hevets, @chunsenye, @stv1024, @bankadmin, @everaldoglima, @subak, @siralexpu, @drodevilosun, @maker233

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!
lucaswall, @lostoy0, @Eluvade, @xovel, @taweechai-yuenyang, @msadura, @ubongndoh, @pcontrerasp, @GWDx, @purgatorian, @zfsamzfsam, @gnrbrhm, @stoyanovgeorge, @marcovega, @GriffinArtworks, @kyuman, @disoul, @chrfrenning, @amigoni, @abichinger, @frankekn, @sirvon, @vivgui, @majoricasoft, @Ctulu82, @ygreq, @jestersimpps, @jpalala, @leonardoap, @shnurkov, @nusu, @tacshooter, @Tomas2D, @furkansancu, @tonyth00, @Credwa, @kaisermann, @alessandrogambin, @gerciljunio, @shanev, @sanyinchen, @denis0826, @Takayuki-Suzuki, @mathlet0x, @dondonyaru, @FoxBearBear, @rixbeck, @maxgfr, @staghan, @Krshivam25


Using OpenAPI

Hello, have you considered using OpenAPI schema together with the OpenApi generator? I think that would greatly reduce the amount of code you have written. https://docs.camunda.org/manual/7.19/reference/rest/openapi/

Hi, it will be great to reduce boilerplate code. Do you have an example or some how to?


Load secret as string if json parse fails

:loudspeaker: Type of change

[ ] Bugfix
[ ] New feature
[x] Enhancement
[ ] Refactoring

:scroll: Description

If secret is not a JSON string, it will take it as string.
Name of spring property will be secret name last suffix.
eg. if secret name is service1/secret1 the property name will be secret1.
Similar approach as 3.0.x
This also inherits behaviour like adding prefix to the property name.
:bulb: Motivation and Context

Fixes #636
:green_heart: How did you test it?
Unit test only.
:pencil: Checklist

[ ] I reviewed submitted code
[x] I added tests to verify changes
[x] I updated reference documentation to reflect the change
[x] All tests passing
[x] No breaking changes

:crystal_ball: Next steps

Thanks @snigdhasjg !


Trying to put one of the windows on another monitor garbles the window's content.

I seem to be unable to put one of the windows on another monitor. Don't know if it's my config.
Windows 10, NVidia MX 940, latest drivers, wavlink 5K hub via USB-C.

This might be fixed with the recent DearImGui upgrade, it fixed a similar issue

Is it merged? Then I can do a build and test.


fix: type import on WORKSPACE_TYPE

Description

Issues Resolved

Screenshot

Testing the changes

Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration
[ ] yarn test:ftr

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[x] Commits are signed per the DCO using --signoff

Codecov Report

Merging #131 (41fbef3) into workspace (3c42271) will decrease coverage by 23.13%.
Report is 1 commits behind head on workspace.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           workspace     #131       +/-   ##
==============================================
- Coverage      65.76%   42.64%   -23.13%
==============================================
  Files           3336     1596     -1740
  Lines          64496    32324    -32172
  Branches       10267     6058     -4209
==============================================
- Hits           42418    13785    -28633
+ Misses         19501    17497     -2004
+ Partials        2577     1042     -1535

Flag
Coverage Δ

Linux_1
?

Linux_3
42.64% <ø> (+<0.01%)
:arrow_up:

Windows_1
?

Windows_2
?

Windows_3
?

Windows_4
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2294 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Cadl, support future Cadl built-in models like URL

relate: URL https://github.com/microsoft/cadl/issues/654
There could be more e.g. GUID, URI
epic: https://github.com/Azure/cadl-azure/issues/1942

https://github.com/Azure/autorest.java/issues/1739


Is there a way for middleware to be called when messages are sent to?

In API.sendMessages perhaps? This is important for us to track both incoming and outgoing messages in our analytics stack (with very little work required from the user)

@arunthampi I wrote an article about "track outgoing http(s) requests":
https://chatbotsmagazine.com/track-outgoing-http-s-requests-in-nodejs-48608553f03c#.rh623uyg1
Incoming is easy because you have just one endpoint for it.

@phips28 yup wanted to find out if there was a more "official" way than monkey-patching :)

afaik, there is no hook support by kik-node.

@phips28 @arunthampi this is a little sketchy indeed. I'll see if I can come up with a better supported way, but feel free to submit a PR if you have an idea ;)

https://github.com/kikinteractive/kik-node/pull/25 just went out, so I'm assuming this is solved

awesome! 🙌 💫


Use wget to download dataset files

After conversation with @andylolz it could be worth using wget (instead of requests) to download a given dataset from a publisher URL. This would therefore replace this line: https://github.com/IATI/iati.fetch/blob/fetch-dataset/iati/fetch/init.py#L71
@andylolz noted that, in his experience, wget is more resilient than requests when dealing with SSL certificates. Presumably large datasets would be better handled in this way, in order to reduce memory issues.
wget could be implemented using subprocess.call. Other alternatives are urllib.urlretrieve, urlgrabber, or even the Python wget module.
All these options need testing, in order to see how successful each attempt is at downloading all IATI datasets in the wild.

So my goal was to be super generous and try really really hard to fetch some data rather than fetch no data. E.g. retry on timeout / forgive broken certificates etc. I found the IATI-Registry-Refresher (which uses wget) did a better job than out-of-the-box requests.
I suspect you may be able to set up requests to be as forgiving (e.g. verify=False etc) but I gave up and used wget.
For me, best case would be to be super generous when fetching, but log warnings about broken certificates or timeouts. Because these things are potentially bad from a user perspective… But I’m still primarily interested in getting some data.
Sorry for the rambling! I hope that’s in some way useful?!

If a server is configured in such a way as to mean data cannot be fetched over the transport mechanism specified in the Registry link, the dataset shouldn't be fetched.
The Registry Refresher is more forgiving because it doesn't check certificates. This should be an error (that is logged and actioned in some way such as notifying the publisher) since not checking SSL certificates is a bad idea.

If a server is configured in such a way as to mean data cannot be fetched over the transport mechanism specified in the Registry link, the dataset shouldn't be fetched.

Totally depends on use case IMO. For my own use case, I need to be super generous. Publishers shouldn’t score zero on an index just because their cert is broken. They should be informed of it; maybe they should be marked down for it… But refusing to fetch and assess data means all other feedback on data quality is blocked until the cert issue is fixed.

The Registry Refresher is more forgiving because it doesn't check certificates.

Yeah, that’s one of the reasons. But also, retries and timeouts are more generous than default requests.


golangci-lint: 1.55.2 -> 1.56.1

Diff: https://github.com/golangci/golangci-lint/compare/v1.55.2...v1.56.1
Changelog: https://github.com/golangci/golangci-lint/blob/v1.56.1/CHANGELOG.md
Description of changes

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

[x] Tested, as applicable:

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

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

[x] Fits CONTRIBUTING.md.

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

Closes https://github.com/NixOS/nixpkgs/pull/288245

@SuperSandro2000 bonus points, meta.mainProgram is missing


Support for embed javascript files from gems / add to additional paths

I am moving to shakapacker from jsbundling(+webpacker) to simply a lot of the configurations and follow more of the rails conventions, but I have an issue where I was previously using Pagy in one of my stimulus controllers
To accomplish that previously this is what I had on my package.json
"build": "PAGY_PATH=\"$(bundle show 'pagy')/lib/javascripts\" webpack --config ./config/webpack/webpack.config.js",
And on my webpack.config.js I just used
  resolve: {
    modules: [
      process.env.PAGY_PATH,
    ],
  },

What can I do to also get the pagy gem install dir and use it on the additional_paths from webpack.yml?

Hi @danielnc, the use of the default webpack config object is optional! I'd recommend modifying the resulting webpack config object to meet your needs. Just import the default config, check it in the debugger, and modify the config object per your needs. Be sure to test for NODE_ENV equals development and production.


Selecting multi emails selects an email down 1 or 2 from the selected email

Expected behavior
When selecting multiple emails it should highlight the ones i select.
Actual behavior
When selecting multiple emails it sometimes highlights 1 or 2 emails down from the one i selected.
Steps to reproduce
I can not get it to act up every time but it seems to just happen when there is more then 7 emails in my unified inbox.
Environment
K-9 Mail version: 5.600
Android version: Version 9 build PPR2.181005.003
Phone Model; Google Pixel 2XL
Account type (IMAP, POP3, WebDAV/Exchange): 3 IMAP emails

Might be related to #3408

Please create a new issue if this is still a problem with K-9 Mail 5.7xx.


O Brother, Where Theme Thou?

In the past, I have done a number of projects with the minimal theme.
The latest version tells us it no longer ships with that theme. And browsing through the myriad of other themes, it seems that they are all no longer compatible with the latest typedoc.
The first thought that comes to mind - how did this happen that years of community contributions has been thrown under the train just like that?
On a more selfish note, I just want the minimal theme back. Where can I find one that works with the latest library? Documentation doesn't tell us so. It's almost like it doesn't care anymore what happened to all the themes that developers got used to.

The previous theme architecture has a multitude of problems. Not least among them being built in Handlebars with several layers of indirection, which completely removes any possibility of type checking templates. Switching to JSX from Handlebars also improved rendering speed by ~10x. A copy-paste job of moving them to JSX so that we had type checking revealed around half a dozen bugs in the default theme.
The minimal theme was much much worse. If it wasn't going to be another 40+ hours to make it work, I'd have spent the time to make it work. (I'd say again, but based on the Git history it had been at least half broken for 2+ years so...) I spent around 8 hours trying to fix all the issues with it before deciding to get rid of it rather than continue shipping known broken code.
TypeDoc is an open source project unaffiliated with any company or collective that pays for its development. It gets attention if and when I or others have free time... with that in mind, I have received exactly one complaint since about the minimal theme going away - this one.
It would theoretically be possible for someone to write a wrapping theme which called into (some) old handlebars themes, and is something I briefly considered, but eventually decided against it due to how much time I have to give. I'm not aware of any minimal themes that support 0.22 today.

I'm not aware of any minimal themes that support 0.22 today.

Not to be a nuisance, but do you know at least usable theme out there, resembling at least remotely the minimal theme, so one can download it freely and start using right away? I really have searched, and cannot find anything, it's like the whole typedoc system up and perished. Everything that's available doesn't work with the new typedoc.

If I did, I would have mentioned it in my first reply.
I think a reason that there aren't a lot of themes for 0.22 is that a lot of the reasons to make a custom theme went away.

Custom CSS to tweak one thing? There's an option for that now --customCss
Need to inject a script to perform additional processing on load (e.g. mermaid rendering, new options in a the theme dropdown, or even adding extra content to the start of the page) you can do that with hooks. Plugins, no longer need to create a custom theme to do this, so they don't have to force you to use some custom theme to use them.

I wouldn't say the ecosystem is dead. The autogenerated list of plugins at https://typedoc.org/guides/plugins/ has more supporting version 0.22 than 0.21 or 0.20. (Note: The themes page list is also automatically generated, but support for a tag to show up there is very new, so themes might be listed under plugins)
The minimal theme was heavily based on the default theme. I'd start there if rebuilding it. Even the page you linked shows that the minimal theme was broken... even though it avoided some broken parts by virtue of being a fairly small and straightforward project.

On mobile, the navigation pull out is utterly broken. On the home page it takes you to an index, other pages it does nothing.
Multiple pages were created - the documentation for the minimal theme said that it created a single HTML page intended to be easily shipped. Granted, this has been broken since I started working on typedoc, so it might be expected for you, but it wasn't intentional.


Added more in-depth examples of NodePaths in API docs.

In the codeblock, some comments are capitalized while others not.

@YeldhamDev Fixed!

Thanks!

Cherry-picked for 3.1.2.