flakey rust test?

master ci failing with tcp_waits_for_proxies_to_close, from https://travis-ci.org/runconduit/conduit/jobs/367436260#L1:
travis_fold:start:worker_info
Worker information
hostname<EMAIL_ADDRESS>version: v3.6.0 https://github.com/travis-ci/worker/tree/170b2a0bb43234479fd1911ba9e4dbcc36dadfad
instance: 7f3b4be travisci/ci-garnet:packer-1512502276-986baf0 (via amqp)
startup: 543.840843ms
travis_fold:end:worker_info
mode of â€˜/usr/local/clang-5.0.0/binâ€™ changed from 0777 (rwxrwxrwx) to 0775 (rwxrwxr-x)
travis_fold:start:system_info
Build system information
Build language: rust
Build group: stable
Build dist: trusty
Build id: 367436259
Job id: 367436260
Runtime kernel version: 4.14.12-041412-generic
travis-build version: e0f4abce4
Build image provisioning date and time
Tue Dec  5 20:11:19 UTC 2017
Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
Cookbooks Version
7c2c6a6 https://github.com/travis-ci/travis-cookbooks/tree/7c2c6a6
git version
git version 2.15.1
bash version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
gcc version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

docker version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:39:28 2017
 OS/Arch:      linux/amd64
clang version
clang version 5.0.0 (tags/RELEASE_500/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-5.0.0/bin
jq version
jq-1.5
bats version
Bats 0.4.0
shellcheck version
0.4.6
shfmt version
v2.0.0
ccache version
ccache version 3.1.9

Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2011 Joel Rosdahl

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
cmake version
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>

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-101-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-101-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
travis_fold:end:system_info

removed â€˜/etc/apt/sources.list.d/basho_riak.listâ€™
Network availability confirmed.
<IP_ADDRESS>	localhost
::1	 ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
<IP_ADDRESS>	travis-job-runconduit-conduit-367436260.travisci.net travis-job-runconduit-conduit-367436260
W: http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg: Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses weak digest algorithm (SHA1)
travis_fold:start:git.checkout
travis_time:start:10e39da4
$ git clone --depth=50 --branch=master https://github.com/runconduit/conduit.git runconduit/conduit
Cloning into 'runconduit/conduit'...

travis_time:end:10e39da4:start=1523925457700769720,finish=1523925458393064016,duration=692294296
$ cd runconduit/conduit
$ git checkout -qf 727521f914b4d04cd02ab57f25f3df1750d34bfa
travis_fold:end:git.checkout

Setting environment variables from repository settings
$ export GCP_PROJECT=runconduit
$ export encrypted_6af64675f81c_key=[secure]
$ export encrypted_6af64675f81c_iv=[secure]
$ export GKE_CLUSTER=[secure]
$ export GCP_ZONE=[secure]

travis_fold:start:cache.1
Setting up build cache
$ export CASHER_DIR=$HOME/.casher
travis_time:start:2fd142fd
$ Installing caching utilities

travis_time:end:2fd142fd:start=1523925468090310695,finish=1523925468122787278,duration=32476583
travis_time:start:0bad3a04

travis_time:end:0bad3a04:start=1523925468131337354,finish=1523925468137642561,duration=6305207
travis_time:start:0170550c
attempting to download cache archive
fetching master/cache-linux-trusty-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855--cargo-stable.tgz
found cache

travis_time:end:0170550c:start=1523925468144579069,finish=1523925492297224534,duration=24152645465
travis_fold:end:cache.1
travis_fold:start:cache.cargo
travis_time:start:30c28e4c

travis_time:end:30c28e4c:start=1523925492305373080,finish=1523925492311994385,duration=6621305
travis_time:start:046ef4b2
adding /home/travis/.cargo to cache
creating directory /home/travis/.cargo
adding /home/travis/build/runconduit/conduit/target to cache
creating directory /home/travis/build/runconduit/conduit/target

travis_time:end:046ef4b2:start=1523925492319658503,finish=1523925549146473857,duration=56826815354
travis_fold:end:cache.cargo
travis_fold:start:rustup-install
Installing Rust
travis_time:start:0804470d
$ curl -sSf https://build.travis-ci.org/files/rustup-init.sh | sh -s -- --default-toolchain=$TRAVIS_RUST_VERSION -y
info: downloading installer
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2018-03-29, rust version 1.25.0 (84203cac6 2018-03-25)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: default toolchain set to 'stable'

  stable installed - rustc 1.25.0 (84203cac6 2018-03-25)

travis_time:end:0804470d:start=1523925549159082663,finish=1523925572212184792,duration=23053102129
$ export PATH=$HOME/.cargo/bin:$PATH
travis_fold:end:rustup-install
$ rustc --version
rustc 1.25.0 (84203cac6 2018-03-25)
$ rustup --version
rustup 1.11.0 (e751ff9f8 2018-02-13)
$ cargo --version
cargo 0.26.0 (41480f5cc 2018-02-26)

travis_time:start:0922c30a
$ (cd proxy && cargo test --locked --no-default-features)
   Compiling convert v0.3.0 (file:///home/travis/build/runconduit/conduit/proxy/convert)
   Compiling futures-mpsc-lossy v0.3.0 (file:///home/travis/build/runconduit/conduit/proxy/futures-mpsc-lossy)
   Compiling conduit-proxy-router v0.3.0 (file:///home/travis/build/runconduit/conduit/proxy/router)
   Compiling conduit-proxy-controller-grpc v0.3.0 (file:///home/travis/build/runconduit/conduit/proxy/controller-grpc)
   Compiling conduit-proxy v0.3.0 (file:///home/travis/build/runconduit/conduit/proxy)
    Finished dev [unoptimized + debuginfo] target(s) in 55.19 secs
     Running /home/travis/build/runconduit/conduit/target/debug/deps/conduit_proxy-7dbcf7583401ab30

running 24 tests
test ctx::transport::tests::same_addr_ip6_compat_ipv4 ... ok
test ctx::transport::tests::same_addr_ip6_mapped_ipv4 ... ok
test ctx::transport::tests::same_addr_ipv4 ... ok
test telemetry::tap::match_::tests::tcp_matches ... ok
test ctx::transport::tests::same_addr_ipv6 ... ok
test dns::tests::test_dns_name_parsing ... ok
test drain::tests::watch ... ok
test drain::tests::watch_clones ... ok
test transparency::tcp::tests::duplex_doesnt_hang_when_one_half_finishes ... ok
test telemetry::metrics::prometheus::labels::test::label_updates ... ok
test inbound::tests::recognize_default_no_ctx ... ok
test inbound::tests::recognize_default_no_loop ... ok
test telemetry::metrics::prometheus::labels::test::no_labels ... ok
test telemetry::metrics::prometheus::labels::test::one_label ... ok
test control::fully_qualified_authority::tests::test_normalized_authority ... ok
test telemetry::tap::match_::tests::tcp_from_proto ... ok
test control::cache::tests::update_union_reset_on_next_modification ... ok
test control::cache::tests::update_union_fires_events ... ok
test control::cache::tests::clear_reset_on_next_modification ... ok
test control::cache::tests::remove_reset_on_next_modification ... ok
test control::cache::tests::clear_fires_removal_event ... ok
test inbound::tests::recognize_default_no_orig_dst ... ok
test inbound::tests::recognize_orig_dst ... ok
test telemetry::tap::match_::tests::http_from_proto ... ok

test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running /home/travis/build/runconduit/conduit/target/debug/deps/conduit_proxy-7f27b9d5c9413277

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running /home/travis/build/runconduit/conduit/target/debug/deps/discovery-c79f040c87490fe7

running 23 tests
test http1::absolute_uris::outbound_destinations_reset_on_reconnect_followed_by_add_none ... ignored
test http1::absolute_uris::outbound_destinations_reset_on_reconnect_followed_by_no_endpoints_exists ... ignored
test http1::absolute_uris::outbound_destinations_reset_on_reconnect_followed_by_remove_none ... ignored
test http1::absolute_uris::outbound_times_out ... ignored
test http1::outbound_destinations_reset_on_reconnect_followed_by_add_none ... ignored
test http1::outbound_destinations_reset_on_reconnect_followed_by_no_endpoints_exists ... ignored
test http1::outbound_destinations_reset_on_reconnect_followed_by_remove_none ... ignored
test http1::outbound_times_out ... ignored
test http2::outbound_destinations_reset_on_reconnect_followed_by_add_none ... ignored
test http2::outbound_destinations_reset_on_reconnect_followed_by_no_endpoints_exists ... ignored
test http2::outbound_destinations_reset_on_reconnect_followed_by_remove_none ... ignored
test http2::outbound_times_out ... ignored
test support::assert_eventually ... ok
server h1 error: invalid HTTP version specified
ERROR 2018-04-17T00:40:28Z: conduit_proxy: turning Error caused by underlying HTTP/2 error: protocol error: frame with invalid size into 500
test http1::outbound_asks_controller_api ... ok
test http2::outbound_asks_controller_api ... ok
test http1::absolute_uris::outbound_asks_controller_without_orig_dst ... ok
test http1::absolute_uris::outbound_reconnects_if_controller_stream_ends ... ok
test http1::outbound_reconnects_if_controller_stream_ends ... ok
test outbound_updates_newer_services ... ok
test http2::outbound_reconnects_if_controller_stream_ends ... ok
test http2::outbound_asks_controller_without_orig_dst ... ok
test http1::absolute_uris::outbound_asks_controller_api ... ok
test http1::outbound_asks_controller_without_orig_dst ... ok

test result: ok. 11 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out

     Running /home/travis/build/runconduit/conduit/target/debug/deps/shutdown-c1b927fbd5f78a47

running 5 tests
thread 'support server' panicked at 'assertion failed: `(left == right)`
  left: `[]`,
 right: `[99, 117, 115, 116, 111, 109, 32, 116, 99, 112, 32, 104, 101, 108, 108, 111]`', proxy/tests/shutdown.rs:139:21
note: Run with `RUST_BACKTRACE=1` for a backtrace.
test tcp_waits_for_proxies_to_close ...
You can extend the timeout with `cache.timeout`. See https://docs.travis-ci.com/user/caching/#Setting-the-timeout for details

travis_time:end:1994de46:start=1523925629021599611,finish=1523925811156426371,duration=182134826760
travis_fold:end:cache.2

Done. Your build exited with 1.

probably. introduced in 71370ac06aad032572e22fdfc1398666d874fdfd. @seanmonstar, do you mind taking a look into this?

IIRC this test was "fixed" once already in 7f54b5253ded69a5ba599efe135afe5851099e65...evidentially there's more going on here.

I've been looking at this, and so far cannot determine why this error is happening. I don't know if it's flakiness in the test, but I'm a little worried that it's actually flakiness in our TCP proxy... :cry:
The logs here, combined with my commentary on how the code works, shows this:

The unit test TCP client connects to the proxy.
The proxy connects the unit test TCP server.
The test server waits for a read on the connected socket, and when it returns, gets a read of 0 bytes. It then panics as assert_eq!(&read[..n], expected_msg) is clearly not true ("" != "blah blah").
Since it panics, the connection closes abruptly. The proxy sees the closure and drops the TCP pipe.
The unit test TCP client was waiting on a read to get back expected_msg2, and then it sees the connection aborted, and the unit test just completely fails.

The read of 0 bytes in (3) worries me. That means the proxy closed (or SHUT_WR at least) the connection to the TCP server. I don't know why it would have done so if both sides hadn't closed yet.
Reproducing this is not easy, so trying to capture some logs is 💀 .

Just hit this again in CI...
---- inbound_tcp stdout ----
	thread 'inbound_tcp' panicked at 'read: Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }', libcore/result.rs:945:5
failures:
    inbound_tcp
test result: FAILED. 20 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
error: test failed, to rerun pass '--test transparency'

perhaps the CI networking stack is... very unreliable?

https://gist.github.com/olix0r/7fb373db7d7825ad4545daaf1426e4ec

---- inbound_tcp stdout ----
	tcp server (addr=<IP_ADDRESS>:40015): running
proxy running; control=<IP_ADDRESS>:45837, inbound=<IP_ADDRESS>:45659 (SO_ORIGINAL_DST=<IP_ADDRESS>:40015), outbound=<IP_ADDRESS>:40987, metrics=<IP_ADDRESS>:40681
tcp client (addr=<IP_ADDRESS>:45659) thread running
tcp client (addr=<IP_ADDRESS>:45659): connected
tcp client (addr=<IP_ADDRESS>:45659): write
tcp client (addr=<IP_ADDRESS>:45659): read
thread 'inbound_tcp' panicked at 'TcpConn(addr=<IP_ADDRESS>:45659) read() error: Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }', proxy/tests/support/tcp.rs:109:17
server Listening dropped; addr=<IP_ADDRESS>:40015
failures:
    inbound_tcp

Just saw inbound_tcp flake out on Travis again. Test output looks like it's pretty much the same as what @olix0r posted above but I figured I'd post it here just in case.

 test output:
     Running /home/travis/build/runconduit/conduit/target/debug/deps/transparency-d7634b2c8bfe1ba2
running 21 tests
test support::assert_eventually ... ok
thread 'support tcp server (addr=<IP_ADDRESS>:41247)' panicked at 'assertion failed: `(left == right)`
  left: `[]`,
 right: `[99, 117, 115, 116, 111, 109, 32, 116, 99, 112, 32, 104, 101, 108, 108, 111]`', proxy/tests/transparency.rs:199:13
test inbound_tcp ... FAILED
test http1_removes_connection_headers ... ok
test http1_connect_not_supported ... ok
test outbound_tcp ... ok
test http1_head_responses ... ok
test inbound_http1 ... ok
test tcp_connections_close_if_client_closes ... ok
test http10_without_host ... ok
test http10_with_host ... ok
controller error: Protocol(Error { kind: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }) })
test tcp_with_no_orig_dst ... ok
ERROR 2018-05-02T18:20:47Z: conduit_proxy: turning Error caused by underlying HTTP/2 error: protocol error: unexpected internal error encountered into 500
test http11_upgrade_not_supported ... ok
test http11_absolute_uri_differs_from_host ... ok
test outbound_http1 ... ok
test http1_response_end_of_file ... ok
test http1_requests_without_body_doesnt_add_transfer_encoding ... ok
test http1_bodyless_responses ... ok
test tcp_server_first ... ok
test http1_one_connection_per_host ... ok
test http1_content_length_zero_is_preserved ... ok
test http1_requests_without_host_have_unique_connections ... ok
failures:
---- inbound_tcp stdout ----
	tcp server (addr=<IP_ADDRESS>:41247): running
proxy running; control=<IP_ADDRESS>:41409, inbound=<IP_ADDRESS>:33227 (SO_ORIGINAL_DST=<IP_ADDRESS>:41247), outbound=<IP_ADDRESS>:37519, metrics=<IP_ADDRESS>:39855
tcp client (addr=<IP_ADDRESS>:33227) thread running
tcp client (addr=<IP_ADDRESS>:33227): connected
tcp client (addr=<IP_ADDRESS>:33227): write
tcp client (addr=<IP_ADDRESS>:33227): read
thread 'inbound_tcp' panicked at 'TcpConn(addr=<IP_ADDRESS>:33227) read() error: Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }', proxy/tests/support/tcp.rs:109:17
server Listening dropped; addr=<IP_ADDRESS>:41247
failures:
    inbound_tcp
test result: FAILED. 20 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

Just saw a failure of tcp_connections_close_if_client_closes which also seems spurious (on a build of PR #865):

test output:
failures:
---- tcp_connections_close_if_client_closes stdout ----
	tcp server (addr=<IP_ADDRESS>:41991): running
proxy running; control=<IP_ADDRESS>:35368, inbound=<IP_ADDRESS>:33577 (SO_ORIGINAL_DST=<IP_ADDRESS>:41991), outbound=<IP_ADDRESS>:37026, metrics=<IP_ADDRESS>:42459
tcp client (addr=<IP_ADDRESS>:33577) thread running
tcp client (addr=<IP_ADDRESS>:33577): connected
tcp client (addr=<IP_ADDRESS>:33577): write
tcp client (addr=<IP_ADDRESS>:33577): read
thread 'tcp_connections_close_if_client_closes' panicked at 'assertion failed: `(left == right)`
  left: `[]`,
 right: `[99, 117, 115, 116, 111, 109, 32, 116, 99, 112, 32, 98, 121, 101]`', proxy/tests/transparency.rs:314:5
server Listening dropped; addr=<IP_ADDRESS>:41991
failures:
    tcp_connections_close_if_client_closes
test result: FAILED. 20 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

I have been pondering setting our Rust test concurrency to 1... The suite would take slightly longer to complete, but we don't have that many tests...

Closing due to inactivity.


Add Project information to Cluster resource

How to categorize this PR?

/area quality
/kind enhancement
What this PR does / why we need it:
The extensionsv1alpha1.Cluster type is already very useful for obtaining relevant data concerning Seed, Shoot and Infrastructure. For our use cases, it would be really handy to also have the Project resource present in the Cluster extension. As the project data was already available where the Cluster resource is created, this is a rather small change - but greatly improves developer experience for us.
Background: We would like to use Project-specific data in an extension on seeds.
Release note:
Project data is available in the Cluster extension on seeds.

/ok-to-test

https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7106/pull-gardener-integration/1597618226601136128 is another occurrence of https://github.com/gardener/gardener/issues/6933
/test pull-gardener-integration

@vpnachev

Can you tell us a bit more about your use case?

Sure. We have custom annotations and labels on the Project resource which contain information that is important to have for us in order to enhance metrics coming from the shoot. We therefore would like to access these annotations and labels in the shoot control plane on our seeds, where the monitoring is configured.

Adding the entire project just for the annotations and labels looks too much to me.
Instead, I think you can do one of the following

implement a controller or admission webhook that syncs the project labels and annotations with the shoot one.
put the required information in a separate resource and let gardenlet sync it via https://github.com/gardener/gardener/blob/684d5b142c9da6b2df1982048121aa70c9ee4197/pkg/apis/core/v1beta1/types_shoot.go#L116-L118 to the seed
think about some custom resource in the garden cluster that configures the shoot observability and let gardenlet sync it to the seed, or just re-use the Extension. You can take a look at https://github.com/gardener/gardener/blob/master/pkg/apis/settings/v1alpha1/types_openidconnect_preset.go and https://github.com/gardener/gardener/blob/master/pkg/apis/settings/v1alpha1/types_cluster_openidconnect_preset.go for inspiration.

The cluster resource is already bloated and increasing its size will reflect on the memory and network usage, also the etcd of the seed will have to serve this additional data.

I agree. Currently, we also sync the kubectl last applied annotation to the Cluster resource which could be filtered out if we are concerned about size in etcd and network transfer.

Pretty much each and every extension is reading the cluster, mostly just see if a shoot is hibernated or its k8s version, I mean they read hundreds of KB just to check two boolean fields or a several bytes long string.

Please keep in mind, that extensions use cached clients and thus don't transfer the entire Cluster object just for checking parts of it.

Adding the entire project just for the annotations and labels looks too much to me.
...
implement a controller or admission webhook that syncs the project labels and annotations with the shoot one.

We are aware, that our current use case can also be solved by copying project information to shoot annotations/labels.
However, there are other valid use cases where extensions might want to act, for example, on the specified project members.
IMO, the Cluster resource has exactly this purpose: to provide additional information on the shoot and its environment (e.g., Seed, CloudProfile, and Project) to extension controllers that need this information.
Also, the Project object is typically very small in comparison to the other contained objects.
If we want to reduce this duplication because of etcd storage and network transfer, I would suggest optimizing at other places, e.g. removing the kubectl annotation, or copying the seed object just once instead of per shoot.
In short: I don't see a problem with adding the Project object to the Cluster resource, as it fits the purpose and doesn't make things much worse.
Any other opinions? @rfranzke @timuthy

Also, the Project object is typically very small in comparison to the other contained objects.

'Project' object can be also big when consumers configure a large number of project members. Also, when you need only some tagging to be replicated in each and every cluster resource and you don't need members' data also replicated, it is better to find a way to replicate only the data necessary or at least to give the option of the hosting party to decide centrally what will be replicated and when if at all. In your use case you don't talk about members at all. Members are not known by the seeds/shoots and not required as data there. If you don't need the members, you are trying to propose a solution for your use case that is exposing a risk by replicating data to a place where it is not necessary.

Please keep in mind, that extensions use cached clients and thus don't transfer the entire Cluster object just for checking parts of it.

I know about the cache, while it saves network traffic - it consumes runtime memory.

However, there are other valid use cases where extensions might want to act, for example, on the specified project members.

This is wrong - not all entities involved in a Gardener project must be declared in the project spec as the project members are authorized to define their own roles and rolebindings https://github.com/gardener/gardener/blob/8917b4905d6da6396833adbaee3bd64a4dec2b6b/charts/gardener/controlplane/charts/application/templates/rbac-user.yaml#L374-L387
So having the list of the project members in the seed and doing some authorization assumptions based on it is not correct to the actual RBAC state in the garden cluster.

Ok, as written above, we can also solve our specific use case by syncing project information to shoot annotations.
We wanted to take the long road and open up gardener for more general use cases that we considered useful.
However, it seems like such general use cases are not considered valid by others, so I propose going back to the short path and solving our specific use case only by the means discussed in this PR.
In case @SimonKienzler agrees, I suggest closing this PR.


runtime exception

err.txt
The server did not crash, this error occurred during the run, this is all the logs I can find.

gameversion:1.12.2
EnderIO-1.12.2-5.0.46
EnderCore-1.12.2-0.5.59
Forge:2838
Optifine:no
Appear on the server
SpongeForge? No

The code that's crashing ("setGoalTarget") is added by some coremod.

The code that's crashing ("setGoalTarget") is added by some coremod.

Do you mean other problems, I don't quite understand

another mod is messing with enderman and crashing when enderio tries to tell the enderman not to teleport

another mod is messing with enderman and crashing when enderio tries to tell the enderman not to teleport

thank you, I know now


docs: add sequence diagrams to DPS doc

What this PR changes/adds
This PR adds two sequence diagrams to the documentation for DataPlane Signaling
Why it does that
documentation
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #3903
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

Can we separate out the implementation details of the DataPlaneAccessTokenService? I don't want people to get confused with extension points vs the specific implementation?


Edit depictions: "Please wait" forever

Steps to reproduce:

Tap on any already uploaded picture.
Tap the pencil icon of the "Depictions" section.
Add any depiction.
Tap "Save"
Popup saying "Please wait" appears and never disappears.

https://github.com/commons-app/apps-android-commons/assets/99590/c42fc94c-c3d1-41e4-aee1-e02a9956f0c6

Note: The edit is actually saved and pressing Back lets you use the app without killing it.

The edit depictions feature is working fine for me without pressing the back button (I did not use it even to close the keyboard):
https://user-images.githubusercontent.com/83745993/232789607-9f6b95db-041a-4555-8fae-9c80602366cc.mp4
Tested on Redmi 5A, API level 27. This may be specific to some devices/API levels only.

Hi @nicolas-raoul, can you assign me this issue :) Thank you!

Hi @nicolas-raoul, I tried to download and build the project but I am facing a lot of errors and I don't have much experience with it, I have been trying to solve it since yesterday but no progress, Can you please have a look ? Thank you very much

Sorry the current main branch only works for earlier versions of Java and Android Studio.
You can either downgrade, or work from this branch: https://github.com/commons-app/apps-android-commons/tree/v4.2.0-beta
Thanks and sorry for the inconvenience!

Hi @nicolas-raoul, I can run the beta version using android studio now but I cannot upload image to further do my issue:

Hi @nicolas-raoul , I can now run the beta version on my android studio but I couldn't upload the image to further work with my issue, can you please have a look:

Please use the prodDebug flavor.

You don't need to upload anything. Tap "Explore" then "Uploaded via mobile", then had a correct depiction to any picture.

Hi @nicolas-raoul , I think I fixed the bug that causing the progress dialog to run forever on the depiction edit and description edit. I have pushed the commit to a branch on my forked repo but I am not sure where to make the pull request because I don't think I can make the pull request to the current main branch as I used the tag version "v4.2.0-beta" that you showed me above. Can you guide me on how to make a pull request? it's my first time so I am quite lost. Thank you very much 😄

Have you tried clicking base:main at the top and choosing base:v4.2.0-release instead?

In the future I would recommend not including special characters such as # in branch names, it makes command-line manipulations trickier. :-)

Thank you @nicolas-raoul . I'm sorry for that, would you like me to change the branch name? I think by fixing this bug, I am also fixing the similar bug when editing descriptions.

would you like me to change the branch name

No please don't worry :-)
Some repositories have rigid conventions so it is good to look at the branch names of recently closed pull requests. Our project here is not so strict haha.


Add session properties data source and hook it in with data source module

Goal
Add session properties data source and hook it up to DataSourceModule
I'm missing a unit test which I'll add later, but later PRs add component and integration tests that will validate this.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#693  👈
#692
#691
#690
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bidetofevil and the rest of your teammates on  Graphite

Haha, fair enough. I'll add it in before I merge then. There were so many different Properties things that I thought I had added it until I saw the diff. Good callout to keep me honest!


Housekeeping

There should be no functional changes (aside from fixing some tests).  Mostly just cleanup, golfing, and bikeshedding.

Mauve! Fore!
LGTM

Thanks!


Madmax Copy while Plotting

Hallo , madmax by default copy the finished plot while is starting phase1 of the next one , but the PSCHIAPLOTTER using madmax wait the copy to be finished  before starting the next plot .
this is a pity, cause we loose 15 minutes per plot,  is there a way to sort it out ?
thanks a lot!

This has been requested in many different issues. I will starting working on something similar. Please check out the other issues to find more info.
https://github.com/MrPig91/PSChiaPlotter/issues/173

This has now been added.


diffrent results in 0.10 and iojs

password: test
salt (in hex format): 7b970da6a2fddaba
iterations: 1000
length: 64
algo: sha512
gives me
e6d98ba1993f1e721dab924cec8ca8e7af4b40035553da88aec486131afc0f88ff40a29467911fb58c042ede9701551f0b4b06b4207b2a831d90783aab3095da

in 0.10
but in iojs
7c89cceaea1811b0aeaf23587fadb4b80580d9b26c7e7489ec56f9f0a84c1b612c788ddfb4a86dee8e5be70d4742b84ff3e818e3b83aa68d21db5b4d9f70dc8e

ok figured out the issue, I think it has to do with utf encoding of salts

Fixed by #10


implementation for shift left logical immediate riscv32im

I would recommend to write some tests on top of https://github.com/o1-labs/proof-systems/pull/2866. It requires to implement lui, available here and syscall. lui seems to be the first implementation to implement, modulo jal (even though it can be avoided), as it requires to set some registers to some initial values for the syscall.


Consider moving s3_file_field app declaration to django-composed-configuration

There's no other settings for S3FF, so it's probably best to keep it downstream, where apps can choose to use it or not (although I suspect most will want to use it).
Also, since S3FF is under such relatively rapid development, it's probably better to give apps more direct control of the package requirement, so they can pin if necessary.

There's no other settings for S3FF, so it's probably best to keep it downstream, where apps can choose to use it or not (although I suspect most will want to use it).
Also, since S3FF is under such relatively rapid development, it's probably better to give apps more direct control of the package requirement, so they can pin if necessary.


Decoding Issue: fast beam search nbest LG

I am trying to decode model trained with receipe pruned_transducer_stateless7_streaming. I am able to successfully decode with fast beam search (without LG), however, when I try to decode with LG it throws below error.
2024-04-12 07:23:45,958 INFO [zipformer.py:405] At encoder stack 4, which has downsampling_factor=2, we will combine the outputs of layers 1 and 3, with downsampling_factors=2 and 8.
2024-04-12 07:23:46,039 INFO [decode.py:873] Calculating the averaged model over epoch range from 9 (excluded) to 10
2024-04-12 07:23:55,740 INFO [lexicon.py:168] Loading pre-compiled k2_model/exp/lang/bpe_5000/Linv.pt
2024-04-12 07:24:00,599 INFO [decode.py:942] Loading k2_model/exp/lang/bpe_5000/LG.pt
2024-04-12 07:24:01,728 INFO [decode.py:955] Number of model parameters: 79022891
2024-04-12 07:24:01,729 INFO [asr_datamodule.py:422] About to get test cuts
[F] /var/www/k2/csrc/top_sort.cu:324:k2::FsaVec k2::TopSorter::TopSort(k2::Array1<int>*) Check failed: start_state_present[0] == 1 (0 vs. 1) Our current implementation requires that the start state in eac
h Fsa must be present in the first batch

[ Stack-Trace: ]
/opt/conda/lib/python3.10/site-packages/k2/lib64/libk2_log.so(k2::internal::GetStackTrace()+0x34) [0x7f426ef829b4]
/opt/conda/lib/python3.10/site-packages/k2/lib64/libk2context.so(k2::internal::Logger::~Logger()+0x2a) [0x7f426f47ed4a]
/opt/conda/lib/python3.10/site-packages/k2/lib64/libk2context.so(k2::TopSorter::TopSort(k2::Array1<int>*)+0x452) [0x7f426f8019d2]
/opt/conda/lib/python3.10/site-packages/k2/lib64/libk2context.so(k2::TopSort(k2::Ragged<k2::Arc>&, k2::Ragged<k2::Arc>*, k2::Array1<int>*)+0x134) [0x7f426f7f49b4]
/opt/conda/lib/python3.10/site-packages/_[k2.cpython-310-x86_64-linux-gnu.so](http://k2.cpython-310-x86_64-linux-gnu.so/)(+0x829af) [0x7f4274ebf9af]
/opt/conda/lib/python3.10/site-packages/_[k2.cpython-310-x86_64-linux-gnu.so](http://k2.cpython-310-x86_64-linux-gnu.so/)(+0x3dda7) [0x7f4274e7ada7]
python3() [0x4fc697]
python3(_PyObject_MakeTpCall+0x25b) [0x4f614b]
python3(_PyEval_EvalFrameDefault+0x5757) [0x4f26f7]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x4b26) [0x4f1ac6]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x13b3) [0x4ee353]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x13b3) [0x4ee353]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x13b3) [0x4ee353]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x2b79) [0x4efb19]
python3(_PyFunction_Vectorcall+0x6f) [0x4fcadf]
python3(_PyEval_EvalFrameDefault+0x31f) [0x4ed2bf]
python3() [0x591d92]
python3(PyEval_EvalCode+0x87) [0x591cd7]
python3() [0x5c2967]
python3() [0x5bdad0]
python3() [0x45956b]
python3(_PyRun_SimpleFileObject+0x19f) [0x5b805f]
python3(_PyRun_AnyFileObject+0x43) [0x5b7dc3]
python3(Py_RunMain+0x38d) [0x5b4b7d]
python3(Py_BytesMain+0x39) [0x584e49]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f4329dd6d90]
/usr/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f4329dd6e40]
python3() [0x584cfe]

Traceback (most recent call last):
  File "/workspace/icefall/egs/personal/pruned_transducer_stateless7_streaming/decode.py", line 993, in <module>
    main()
  File "/opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/icefall/egs/personal/pruned_transducer_stateless7_streaming/decode.py", line 970, in main
    results_dict = decode_dataset(
  File "/workspace/icefall/egs/personal/pruned_transducer_stateless7_streaming/decode.py", line 651, in decode_dataset
    hyps_dict = decode_one_batch(
  File "/workspace/icefall/egs/personal/pruned_transducer_stateless7_streaming/decode.py", line 442, in decode_one_batch
    hyp_tokens = fast_beam_search_nbest_LG(
  File "/workspace/icefall/egs/personal/pruned_transducer_stateless7_streaming/beam_search.py", line 223, in fast_beam_search_nbest_LG
    path_lattice = k2.top_sort(k2.connect(path_lattice))
  File "/opt/conda/lib/python3.10/site-packages/k2/fsa_algo.py", line 244, in top_sort
    ragged_arc, arc_map = _k2.top_sort(fsa.arcs, need_arc_map=need_arc_map)

Library versions:
torch: 2.2.1
k2: 1.24.4
icefall: pulled on 18th Mar 2024

Thanks
Divyesh Rajpura

When I changed the device from GPU to CPU, its working fine.
I am using cuda 12.3 and as described in k2-1204, top_sort.cu is not working for cuda>12.
Is this correct?

Tag it, only works on cpu, on code "icefall/decode.py:368", path_lattice = k2.top_sort(k2.connect(path_lattice)).
Solution 1: mv to cpu, https://github.com/k2-fsa/icefall/issues/1591#issuecomment-2051663582
Solution 2: We remove top_sort of this code, as we found properties Valid|Nonempty|TopSorted|TopSortedAndAcyclic|MaybeAccessible|MaybeCoaccessible includes TopSorted. path_lattice = (k2.connect(path_lattice)), it also works.

So this is not working just for cuda > 12?  I just had a look at https://github.com/k2-fsa/k2/issues/1204 , it seems not been fixed, will try to reproduce it on cuda>12.


String defaults to varchar(255), doesn't accept longer strings

A longString type would be appreciated, should I make a PR?

What database are you using? If it's something like Postgres, this is configured as part of Knex migrations. Documentation can be found here on Knex migrations.

The project leadership of Bookshelf recently changed. In an effort to advance the project we close all issues older than one year.
If you think this issue needs to be re-evaluated please post a comment on why this is still important and we will re-open it.
We also started an open discussion about the future of Bookshelf.js here https://github.com/bookshelf/bookshelf/issues/1600. Feel free to drop by and give us your opinion.
Let's make Bookshelf great again


Free trial - #admins link is present in free trial message when there is no #admins room

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.10-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Create a new account and log in.
Go to self DM.
Track a manual expense.
Click Submit it to someone.
Select a user and submit.
Go to Concierge.
Right click on the #admins link in free trial message.

Expected Result:
There is no workspace created in the account at the time of receiving the free trial message after submitting expense to someone. The free trial message should not have the #admins link
Actual Result:
The #admins link is present in the free trial message and it is an invalid link - https://new.expensify.com/r/0
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/321b6ee2-2f84-40bc-b355-a2fe2c0a4f25
View all open jobs on GitHub

@kadiealexander  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-vsp

The message with a link is given as a response. There is no function or code to send the message in the app.

I'm actually going to close this as not a priority. Feel free to reopen if you disagree.


Update CHANGELOG.md

done. 👍🏼 🥇

@marcos-jesus, I'm sorry but I might confuse you. Do you see the Merge pull request button on your end?

yes, i see Button green writing Merge pull request, I need make merge now ? what is next step ?

Yes, please. Just merge it and that should be it.

Ta-dam! 😄 Congrats on your new badge!

oooh thanks very much guys.

No problem! If that doesn't bother you, could you mark "as answer" any of my responses in Discussions?

sure my friend. 😄

@marcos-jesus, I'm sorry but I might confuse you. Do you see the Merge pull request button on your end?
We need that one, NOT Close pull request. I'll update the instructions right away to avoid any confusion in the future.

all right ? or no ?

No problem! If that doesn't bother you, could you mark "as answer" any of my responses in Discussions?

I think it's like this


Modify implementation of how data tables define cells

We want a clean, clear, but flexible interface for using data tables
We want the model to define our cell
We want to be informative to the user if they do not define the cell

should close #67, thanks @markrickert for helping formulate this idea!

Nice job with the implementation! It also has the added benefit of making the code smaller and cleaner.

I love it!

We should probably start documenting this somewhere.

Yeah we don't have the docs setup yet though right?. I can add doc commit if so.

@markrickert threw together something in the readme - which is just pulling out the example from the sample app.

anything else we should do here guys? Or is this good to be merged? :)

:shipit:

:bomb: :boom:


Respect semver 2.0.0

Greetings!
According to go.dev, every go.mod dependency must respect semantic versioning, because many go tools rely on it.
A lib maintainer can NOT ignore the rule just because he wishes to.
I strongly suggest to make echo-jwt follow all common Golang agreements.
Otherwise, I would recommend everyone to avoid this lib and use their own or 3rd-party JWT middleware.

https://github.com/labstack/echo-jwt/pull/9#issuecomment-1649588437
@SladeThe there is nothing that requires you use this middleware.  50+% of it is different configuration options.
If you absolutely disagree and can not use this lib then try this
This is stripped down version of same middleware:
func jwtMW(signingKey []byte) echo.MiddlewareFunc {
	return func(next echo.HandlerFunc) echo.HandlerFunc {
		return func(c echo.Context) error {
			_, auth, ok := strings.Cut(c.Request().Header.Get("Authorization"), "bearer ")
			if !ok {
				return echo.NewHTTPError(http.StatusUnauthorized, "authorization header missing or invalid")
			}

			token, err := jwt.ParseWithClaims(auth, jwt.MapClaims{}, func(token *jwt.Token) (interface{}, error) {
				if token.Method.Alg() != "HS256" {
					return nil, echo.NewHTTPError(http.StatusUnauthorized, "unexpected jwt signing method")
				}
				return signingKey, nil
			})
			if err != nil {
				return err
			}
			if !token.Valid {
				return echo.NewHTTPError(http.StatusUnauthorized, "invalid token")
			}
			c.Set("token", token)
			return next(c)
		}
	}
}

Full example:
package main

import (
	"errors"
	"fmt"
	"github.com/golang-jwt/jwt/v5"
	"github.com/labstack/echo/v4"
	"log"
	"net/http"
	"strings"
)

func jwtMW(signingKey []byte) echo.MiddlewareFunc {
	return func(next echo.HandlerFunc) echo.HandlerFunc {
		return func(c echo.Context) error {
			_, auth, ok := strings.Cut(c.Request().Header.Get("Authorization"), "bearer ")
			if !ok {
				return echo.NewHTTPError(http.StatusUnauthorized, "authorization header missing or invalid")
			}

			token, err := jwt.ParseWithClaims(auth, jwt.MapClaims{}, func(token *jwt.Token) (interface{}, error) {
				if token.Method.Alg() != "HS256" {
					return nil, echo.NewHTTPError(http.StatusUnauthorized, "unexpected jwt signing method")
				}
				return signingKey, nil
			})
			if err != nil {
				return err
			}
			if !token.Valid {
				return echo.NewHTTPError(http.StatusUnauthorized, "invalid token")
			}
			c.Set("token", token)
			return next(c)
		}
	}
}

func main() {
	e := echo.New()

	e.Use(jwtMW([]byte("secret")))

	e.GET("/test", func(c echo.Context) error {
		token := c.Get("token")

		return c.JSON(http.StatusOK, fmt.Sprintf("token: %v", token))
	})

	if err := e.Start(":8080"); err != nil && !errors.Is(err, http.ErrServerClosed) {
		log.Fatal(err)
	}
}

Output:
x@x:~/code/echo$ curl -H "Authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" http://localhost:8080/test
"token: \u0026{eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 0xc0000120a8 map[alg:HS256 typ:JWT] map[admin:true name:John Doe sub:1234567890] [76 149 64 247 147 171 51 177 54 112 22 155 223 68 76 30 177 195 112 71 241 142 134 25 129 225 78 52 88 123 30 4] true}"

@vishr and @lammel it is up to you.

Currently, I use this middleware.
The last minor update broke my project in runtime, though compilation was successful.
I agree that integration tests find it out, but it happens AFTER the change is already made and deployed.
If it's going to happen again, I'm afraid I'll have to follow your advice and use copy-pasted code instead of go.mod dependency.

I said nothing about prod.
The app was deployed to dev, which didn't affect users, but other developers.
Right, following semver doesn't protect us from ALL bugs.
But it greatly reduces the number of bugs and make updates more predictable.
Imagine all libs ignore semver. It would be nearly impossible to build a project with many dependencies as each one requires time to maintain.

@SladeThe What is the actual problem that we are discussing here?
We have a 14 commit old library just 8 months old and only existing to workaround an unmaintained jwt lib and wrap it for abstraction. (Not providing any more patches is at least very compatible with semver :)
I guess you are referring to the README section about VERSIONING:

This repository does not use semantic versioning. MAJOR version tracks which Echo version should be used. MINOR version tracks API changes (possibly backwards incompatible) and PATCH version is incremented for fixes.
For Echo v4 use v4.x.y releases. Minimal needed Echo versions

v4.0.0 needs Echo v4.7.0+
main branch is compatible with the latest Echo version.

What is your suggestion for a versioning scheme to use for our use case considering the requirements above?

As this lib README states - "This repository does not use semantic versioning" since #1 first pull request.  Which means that whatever major version should be treated as any other library with 0.X.Y version.
What we can do better (until we decide do change versioning strategy):

make that statement more visible (bold?) in README and clearer warning about it being 0.x.y.
provide example for stripped down example that you can copy/paste if you do not accept it not using versioning strategy of your liking. I think current example can be even shorter. If I recall correctly goJWT had already some infrastructure for that.
provide integration test (use middleware + handler through serveHTTP) example so you can catch these problems in your test/CI flow.

It looks like I'm talking to a brick wall.
I've removed the lib from my project.
The issue is no longer relevant.

It looks like I'm talking to a brick wall. I've removed the lib from my project. The issue is no longer relevant.

As you did not come up with any constructive feedback or suggestion on how this could be handled better, I guess we are out of options here.
What I can not understand is how you perceive our feedback as talking to a brick wall. But anyway, Good luck with your projects.

lets not get into flame war here.
TLDR: so far versioning strategy for this library is not planned to change

We are dealing conflicting world views here.
We have displeased middleware user that got burned by last release and is voicing his disappointment for us not using semantic versioning and therefore abusing Go package manager system with current release tags.
This is definitely valid concern. We knew this is a problem and did it anyway.
What is being proposed is (probably): switch to semantic versioning, retract the latest release in go.mod and make new  release with incremented major version v5.0.0.
Our responses indicate that we are not going to change this outlandish versioning strategy (brick wall). Comparing feedback to brick wall is valid - as so far we are not planning to change.
Everything is simple until we need to factor in that golang-jwt can have API changes in future (their pace has ramped up with new maintainers) and our plans to have v5 for Echo and support v4 in parallel for some time.  Now considering these 2 factors versioning is not anymore one dimensional linear progression - it is multidimensional.  And blame me for this decision - I decided - screw this - we are on perpetual 0.x.y versioning strategy (FOR THIS REPO) except every Echo version has their own major number.  This is of course in conflict what  go mod expects what Major version >2 means. README says what this library is promising and what not. We try to do things that we promise. It is up to user to accept these choices or not. Read before adding library to their project.
Again - these are weak arguments or acceptable arguments - depending on the point of observation.
SladeThe did the correct choice, as his beliefs expect how versioning should be done, and opted out using this middleware. This is perfectly fine as we live in the free world, use open source software.
I'll add PR(s) for these 3 things mentioned in previous post to ease people troubles with our disappointing choices.

For history sake. We removed JWT middleware from core in v4.13.0 with breaking change and suggest this repo as alternative.
I have created example for bare minimum JWT middleware that does not rely on this repository. This can be found here https://github.com/labstack/echo-jwt/discussions/29#discussion-7634738 If you do not need fancy features - copy pasting that example is probably enough.


[chip dv] UART integration test for DV, using DIFs.

The C test and the SV test work together to send a payload of 128 bytes over UART TX and RX ports respectively. Each entity checks the integrity of the received payload.
The C test in addition checks and services 4 UART interrupts - tx/rx watermark, tx empty and rx overflow.
The test currently fails due to a fix required in dif_uart_irq_state_clear() function made in #2047.

@sriyerg  I have #1912 change - which makes all DIF UART API return enum error codes instead of a simple true/false. This is in line with the DIF guidelines, however it is very annoying in terms of this PR, as every DIF UART call has to be checked in terms of:
typedef enum dif_uart_result {
  kDifUartOk = 0, /**< Success. */
  kDifUartError,  /**< General error. */
  kDifUartBadArg, /**< Input parameter is not valid. */
} dif_uart_result_t;

or
typedef enum dif_uart_config_result {
  kDifUartConfigOk = 0,    /**< Success. */
  kDifUartConfigError,     /**< General error. */
  kDifUartConfigBadArg,    /**< Input parameter is not valid. */
  kDifUartConfigBadConfig, /**< Configuration is not valid. */
  kDifUartConfigBadNco,    /**< Calculated NCO is not valid. */
} dif_uart_config_result_t;

We can hold off that PR until your change lands, or we can fix up this PR. Please let me know what you think the best course of action is.

@sriyerg I have #1912 change - which makes all DIF UART API return enum error codes instead of a simple true/false. This is in line with the DIF guidelines, however it is very annoying in terms of this PR, as every DIF UART call has to be checked in terms of:
typedef enum dif_uart_result {
  kDifUartOk = 0, /**< Success. */
  kDifUartError,  /**< General error. */
  kDifUartBadArg, /**< Input parameter is not valid. */
} dif_uart_result_t;

or
typedef enum dif_uart_config_result {
  kDifUartConfigOk = 0,    /**< Success. */
  kDifUartConfigError,     /**< General error. */
  kDifUartConfigBadArg,    /**< Input parameter is not valid. */
  kDifUartConfigBadConfig, /**< Configuration is not valid. */
  kDifUartConfigBadNco,    /**< Calculated NCO is not valid. */
} dif_uart_config_result_t;

It seems that #1912 is ready to land, so maybe it makes sense to merge it first and rebase this PR on top?
I will also need to update the DIF PLIC to return error codes instead of bool, but is unlikely I will get around doing it today.

Updated to check the correct error codes.

@sriyerg thank you for this change. As @sjgitty suggested, I have mainly looked into how DIF API was used in this change. Overall this change looks good to me, however I have left some comments.
I have couple of questions:

I have noticed that there is no tests for polled rx/tx operations. Are these not relevant for the purpose of this test?
The goal of the test is to primarily verify the hardware. Some of the DIFs may not end up being used.
Was the API sufficiently flexible, or are there anything you think could be improved to make it easier to use? Both dif_uart and dif_plic API? This is more or less the first time that someone apart from me used these DIFs, so it is very valuable to find out if there are shortcomings with these APIs.

It would be nice to be able to 'batch' set / clear arrayed CSRs. Good to see #2206 is already tracking it.
I also feel checking the return code of every DIF invocation is not very useful (it definitely is for production SW, but for testing, I am contemplating on skipping it).
In dif_uart_tx_send(), can the bytes_written be implemented as a running counter instead? Likewise for dif_uart_rx_receive(). I am having to maintain a counter externally.

    *bytes_written += res;

In dif_uart_tx_send(), can the bytes_written be implemented as a running counter instead? Likewise for dif_uart_rx_receive(). I am having to maintain a counter externally. I think prod SW will likely want to implement a counter around it as well.
*bytes_written += res;

It seems that this change would only save one line in the caller? On the other hand without it API is slightly simpler. I think it is probably reasonable in this case to have a counter in the caller?

In dif_uart_tx_send(), can the bytes_written be implemented as a running counter instead? Likewise for dif_uart_rx_receive(). I am having to maintain a counter externally. I think prod SW will likely want to implement a counter around it as well.
*bytes_written += res;

It seems that this change would only save one line in the caller? On the other hand without it API is slightly simpler. I think it is probably reasonable in this case to have a counter in the caller?

Its actually 4 lines (2 for the send (declare the counter, add the value) and 2 for the receive function). Its not a big deal. Agree, the current implementation is simple and it works fine.

Looks good. I think there's a couple more pending comments you might have missed, but looks fine otherwise.
I'd suggest breaking up test_main() into separate functions where that's possible (especially the interrupt-testing blocks at the start: if those only require passing uart around, they can be easily factored out). This is less of a "the function is too big" and more of a "it would be nice to give clear names to different parts of the test.

I think I have addressed all comments. I have also refactored the code with separate functions. PTAL, thanks.

Thank you all for the reviews!


Module .../node_modules/ng2-ckeditor/lib/index.js does not export CKEditorModule

I'm using rollup.js to build and then receiving the error
Module ..../node_modules/ng2-ckeditor/lib/index.js does not export CKEditorModule (imported by /.../src/app/app.module.ts
Importing the module just like the doc provided:
`import { CKEditorModule } from 'ng2-ckeditor';
@NgModule({
// ...
imports:      [
CKEditorModule
],
// ...
})
export class AppModule { }`

Can you share your config / build script ? Works for me...

It is complicated because the build is actually done by the build of ionic-app-scripts.
my package.json is bellow:
``{
"name": "ionic-hello-world",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"build": "ionic-app-scripts build",
"watch": "ionic-app-scripts watch",
"serve:before": "watch",
"emulate:before": "build",
"deploy:before": "build",
"build:before": "build",
"run:before": "build",
"dev": "lite-server"
},
"dependencies": {
"@angular/router": "3.0.1",
"@ionic/storage": "1.0.3",
"angular2-jwt": "0.1.23",
"angular2-text-mask": "^0.22.0",
"atmosphere.js": "^2.3.2",
"ionic-angular": "2.0.0-rc.0",
"ionic-native": "2.0.3",
"ionicons": "3.0.0",
"primeng": "^1.0.0-beta.17"
},
"devDependencies": {
"@ionic/app-scripts": "0.0.30",
"typescript": "^2.0.3",
"lite-server": "^2.2.2"
},
}
``

I could run including ckeditor.component.ts, ckeditor.module.ts and index.ts on a folder ng2-ckeditor inside my project...

What is your rollup config ? Thanks !

tsconfig
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "es2015",
"moduleResolution": "node",
"target": "es5"
},
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}

rollup.config.js
var nodeResolve = require('rollup-plugin-node-resolve');
var commonjs = require('rollup-plugin-commonjs');
var globals = require('rollup-plugin-node-globals');
var builtins = require('rollup-plugin-node-builtins');
var json = require('rollup-plugin-json');
// https://github.com/rollup/rollup/wiki/JavaScript-API
var rollupConfig = {
/**

entry: The bundle's starting point. This file will
be included, along with the minimum necessary code
from its dependencies
*/
entry: '{{SRC}}/app/main.dev.ts',

/**

sourceMap: If true, a separate sourcemap file will
be created.
*/
sourceMap: true,

/**

format: The format of the generated bundle
*/
format: 'iife',

/**

dest: the output filename for the bundle in the buildDir
*/
dest: 'main.js',

/**

plugins: Array of plugin objects, or a single plugin object.
See https://github.com/rollup/rollup/wiki/Plugins for more info.
*/
plugins: [
builtins(),
commonjs(),
nodeResolve({
module: true,
jsnext: true,
main: true,
browser: true,
extensions: ['.js']
}),
globals(),
json()
]

};
if (process.env.IONIC_ENV === 'prod') {
// production mode
rollupConfig.entry = '{{TMP}}/app/main.prod.ts';
rollupConfig.sourceMap = false;
}
module.exports = rollupConfig;

Hi @andrevcf did the latest version fix your problem ? Thanks !

Not activity, closing...

Hi, I am experiencing same error with version 4. I did everything outlined in readme file.
Sorry for being so ignorant but there is no lib folder in ng2-ckeditor and my tsconfig file excludes node_modules so how to get lib/index.ts. Do help me.  thank you.

I am experiencing same error with version 4. How to resolve this.
my tsconfig looks good. I don't have rollup.config.
Thanks


feat: transactions management

@mf2199, I've written the code in more civilized manner and added a system test. Locally everything is working fine so far.


[shell] error when adding phone as device via QR code

Happening to @mgjeffries. Apparently this occurs consistently so he might be able to provide more repro information.

{"title":"The app encountered an error","message":"Please refresh the page to continue. If you keep seeing this error, please create a GitHub issue or ask for help on Discord.","stack":"@https://composer.space/assets/welcome-CWCbaNCp.js:7409:1987194/nasyncFunctionResume@[native code]\nmap@[native code]\n@https://composer.space/assets/main-DzQycgSJ.js:2:5628/nasyncFunctionResume@[native code]\n@[native code]\npromiseReactionJobWithoutPromise@[native code]\npromiseReactionJob@[native code]","context":{}}

Context: iPhone 7, running iOS 15.8.3, checked on both Safari and Firefox.


Added tag for extra assembly search path

Currently, referenced assembly are only searched at InPath. I've added a <AssemblySearchPath> tag that specifies an additional place to search for references. There can be multiple instances of this tag, of course. Usage example:
<?xml version='1.0'?>
<Obfuscator>
  <Var name="InPath" value=".\Assets\SpriteSharp\Editor" />
  <Var name="OutPath" value=".\Assets\SpriteSharp\Editor" />

  <Var name="KeepPublicApi" value="true" />

  <AssemblySearchPath path=".\Library\UnityAssemblies" />
  <AssemblySearchPath path=".\Assets\SpriteSharp\Editor\3rdParty" />

  <Module file="$(AssemblyPath)\LostPolygon.SpriteSharp.dll" />
</Obfuscator>

Renamed to AllAssemblySearchPaths, both descriptive and clear, I guess.
01.05.2017 02:30, Lex Li пишет:

@lextm requested changes on this pull request.
Thanks for the contribution. If you can revise the naming issue I
pointed out, I am happy to merge it.

In Obfuscar/Project.cs
https://github.com/lextm/obfuscar/pull/100#discussion_r114088483:

  	get {

  			return vars.GetValue ("ExtraFrameworkFolders", "").Split (new char [] { Path.PathSeparator }, StringSplitOptions.RemoveEmptyEntries);
  		}
  	}

public IEnumerable<string> AssemblySearchPaths {

This property does not simply use |assemblySearchPaths|, so I suggest
renaming it to another name, like |AllPathsToSearch|.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lextm/obfuscar/pull/100#pullrequestreview-35529489,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4rJidsbnRsIQB7Zjvwn7uvI6az-9Xxks5r1SeegaJpZM4NMpMc.

Accidentally used the wrong branch for this PR. Closed and reopened in https://github.com/lextm/obfuscar/pull/102


⚠ Samsung has degraded performance

In 1308a30, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 1885 ms

Resolved: Samsung performance has improved in 958bb38.


setColumnFormat and setColumnProperties step on each other

I suspect this will be swept up in your redesign, but this is what I've observed.
If I call setColumnFormat to set the Excel format string for the number, then I call setColumnProperties to apply a style (font is my goal), then I get the font but not the number format.
If I call setColumnProperties first, then setColumnFormat, I get the number format, but not the style (font).
I looked through documentation and didn't see any way around this. I did not look at the code.  Knowing that you are in the middle of reworking all this I didn't go any further.

The obvious way around this is to apply both via the same setColumnProperties call.
Thanks for mentioning this issue anyway. Indeed, we probably don't want to override the whole style if we just need to set a particular property.
It is something I've been thinking about recently, but for a different scenario : merging row-level and column-level styles.

As of v3, setColumnFormat will merge the number/date format with the style already defined on the target column (if any), instead of overwriting it entirely.


Keeping status of sensors not provided after unavailable BMS

First: really great project an relatively eas to install. Worked for me in 10 min! Thanks....
As the BMS goes in to sleep mode, all values get lost to "unknown".
In the changelog i can see, since  v 0.45, the behavior should be different.
What´s the problem here?

Values expire if the BMS is not reachable for 30 seconds.
What BMS do you use and how do you put it into sleep mode?

Ist there any option to change the expire-time?
Its a daly. It goes to sleep mode after a specific time (which can be adjusted), when current = 0.

In bmslib/bms.py you can change
MIN_VALUE_EXPIRY = 20

I might add an option so you can configure it.

This will be in the next release. https://github.com/fl4p/batmon-ha/commit/f3e8169536e2602087dc2ba396143951fc2e4a57


Port 0 is not allowed

The MultiBindingTcpListener does not allow 0 as port parameter in the constructor. But port 0 is a valid parameter of the TcpListener class. "Specify Any for the local IP address and 0 for the local port number if you want the underlying service provider to assign those values for you. "
Scenario:
In integration tests we want to start multiple FTP servers in parallel without specifying the port number. Once the FTP server is started the assigned port is read and used in the corresponding FTP clients.

With the fix in v3.0.0-beta.3, the FTP server can start with an arbitrary port when passing port 0. But there is no way to get the actual used port back.
It would be helpful if the IFtpServer.Port property would be updated once the MultiBindingTcpListener knows which port it is going to use.

Will be fixed in 3.0.0-rc.4 or 3.0.0 (whatever comes first).


VarDefination is buggy & complex

If we do like this.
...
case ItemKwLet:
  p.parseVarDefination(ItemKwMut == p.Next())
...

func (p *parser) parseVarDefination(mutable bool) {
  // ...
}

It will be much easier and less buggy. Nows solution allow let +mut x, but we want let mut +x

The point is: can we easier reduce call the function?

Fixed


Update recipe and feedstock

Checklist

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

Refreshing the recipe and the feedstock. Attempting to address issues identified recently in #31:

Added {{ stdlib("c") }}, bumped build number, and rerendered
Removed the duplicate key skip that was breaking the parsing by conda-souschef (error was found duplicate key "skip" with value "True" (original value: "True")). There is no danger of attempting to build this recipe with python 2, so I simply deleted this condition

This PR confirms the same import error identified in #31 that only affects the linux-aarch64 builds:
import: 'tiledb.sql'
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/libtiledb-sql-py_1733943837684/test_tmp/run_test.py", line 2, in <module>
    import tiledb.sql
  File "/home/conda/feedstock_root/build_artifacts/libtiledb-sql-py_1733943837684/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.10/site-packages/tiledb/sql/__init__.py", line 22, in <module>
    from ._mysql import (
ImportError: libcrypt.so.1: cannot open shared object file: No such file or directory

Unclear what the problem is:

I confirmed that libxcrypt is installed in the test conda env
The import test used to pass on linux-aarch64, eg a few months ago in September in https://github.com/conda-forge/libtiledb-sql-py-feedstock/pull/30, and conda-forge hasn't uploaded new libxcrypt binaries in 11 months

https://github.com/conda-forge/libxcrypt-feedstock/commits/main/
https://anaconda.org/conda-forge/libxcrypt/files

This linkage must somehow be coming through from mysql_config, even though -lcrypto is explicitly removed in the build script: https://github.com/TileDB-Inc/TileDB-SQL-Py/blob/978525c53ab1054e54497329e2a2af93b851c653/setup_posix.py#L116-L121

Dropped the linux-aarch64 build. We are no longer building the upstream libtiledb-sql-feedstock for linux-aarch64
xref: https://github.com/conda-forge/libtiledb-sql-py-feedstock/pull/30#issuecomment-2539844244

Hi! This is the friendly conda-forge automerge bot!
I considered the following status checks when analyzing this PR:

linter: passed
azure: passed

Thus the PR was passing and merged! Have a great day!


[WIP] Add tests to virtualbox driver

This is an ongoing PR aiming at increasing test coverage for the virtualbox driver

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "add-tests-virtualbox-driver" git@github.com:dgageot/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Similar to in the Google Cloud tags PR, the testing approach here needs to be different than simply making the vbm etc. functions into variables and setting them for the tests. That approach won't scale as we expand out test coverage and want to be able to cover more complex functions such as Create (imagine trying to set the results of that function correctly for every single time it gets called in all the different possible paths of a Create).
Instead, the first steps towards testing this are to expose the VBoxManage operations through an interface which we then make a member of the Driver struct.  Something like:
type VBoxManager interface {
    vbmOutErr (string, string, error)
}

type VBoxCmdManager struct {
    // Params that make sense for the concrete struct to interact
    // with 'VBoxManage'
}

// vbmOut and vbm could be methods defined on VBoxCmdManager,
// since they loosely wrap vbmOutErr they largely won't need to be over-ridden in
// tests.

// implementation...

And Driver embeds / uses it, like so:
type Driver struct {
    *VBoxCmdManager
}

// make sure to initialize VBoxCmdManager in NewDriver function

(consequently all calls to vbm etc. in the driver file become d.Vbm etc...)
Consequently, we could mock out calls to VBoxManage in the tests doing something like:
type VBoxCmdResult struct {
	stdout, stderr string
	err            error
}

type VBoxManageMock struct {
	expectedOutErr map[string]*VBoxCmdResult
}

func (vbmm VBoxManageMock) vbmOutErr(args ...string) (string, string, error) {
	key := strings.Join(args, " ")
	result := vbmm.expectedOutErr[key]
	return result.stdout, result.stderr, result.err
}

func TestVbmVersion(t *testing.T) {
	cmdResultMap := map[string]*VBoxCmdResult{
		"--version": &VBoxCmdResult{
			stdout: "5.0.6r103037",
			stderr: "",
			err:    nil,
		},
	}

	vboxManageMock := &VBoxManageMock{
		expectedOutErr: cmdResultMap,
	}

	driver := NewDriver("testvm", "/store/path")
	driver.VBoxCmdManager = vboxManageMock

	// etc...
}

(could be revised to be more fancy and/or expanded in scope as needed)
I know that it's somewhat annoying to re-architect at the same time as tests are being written, but it is really important to ensure a sustainable testing workflow in the future.  If you have any questions, ask away.  I'd rather take the time to do it right.

@nathanleclaire Please take a look at the tests that now use an interface to mock the communication with virtualbox. wdyt?

Looking better - I have some nitpicks and suggestions I'll write inline.

Wrote quite a few nitpicks and asks, but looking a lot better.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "add-tests-virtualbox-driver" git@github.com:dgageot/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "add-tests-virtualbox-driver" git@github.com:dgageot/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~4
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Hi @nathanleclaire I took all your feedback into account. Can you take a look?

@nathanleclaire feedback applied. There's more to be done on that subject but I think it's a good start.

Ok, thanks @nathanleclaire for the review and thanks @dgageot for this! Keep them coming!

:+1: :+1: :+1:


Removed --driver-template option

Removed --driver-template option from molecule init commands as it did add more complexity without a tangible outcome. Those still interested about this feature can use cookiecutter directly.

recheck


CosmoDycore: Redirects stderr to /dev/null.

Fixes #367.

launch jenkins spack info cosmo

Why is the Dycore Package called for cmake?
We see the same for the ICON package as well. I think it's better to investigate why this is the case instead of just redirecting to DEVNULL.


bug(slide toggle): dialog content has a scrollbar if slide toggle is placed at the bottom

Reproduction
StackBlitz
https://stackblitz.com/edit/angular-uxrzxc?file=src%2Fapp%2Fdialog-overview-example-dialog.html
Steps to reproduce:

create a form with slide toggle inputs at the bottom
place that form inside a dialog content
from the stackblitz, click on 'pick one'
you can see a scrollbar

Expected Behavior
The dialog content should take in account the slide toggle sizes in order to not create an overflow. So the scrollbar should not be visible.
Actual Behavior
The dialog content does not take in account the slide toggle sizes and create an overflow in y axis. So the scrollbar is visible automatically.
Environment

Angular: 12.2.4
CDK/Material: 12.2.4
Browser(s): Chrome
Operating System: Windows

This is the same root cause as https://github.com/angular/components/issues/8798.


Ollma stuck on -- loading available models --

When setting up with Ollama, it seems to not be able to find any of the models that I have installed.

If you are running it using Docker, you to access first the docker image shell with:
docker exec -u 0 -it docker_image_id /bin/bash
Then you need to install ollama :
curl https://ollama.ai/install.sh | sh
Then pull the model you want. From what I understood, anythingllm docker image can't have access to the ollama server insatlled on the host machine

Oh, well then that kind of makes anything-llm a bit useless for ollama users. Why would I want to reinstall ollama and have a duplicate of all my models? Other docker based frontends can access ollama from the host just fine.

You need to use http://host.docker.internal:11434 to be able to connect to localhost from outside the AnythingLLM docker container. Using 127.0.0.x or localhost will only resolve inside of the docker container running AnythingLLM while your Ollama instance is running on your host machine.

I have an issue where my ollama models are loading, but when i type anything in chat box of anything LLM the container of anything LLM crashes automatically any fix for this?

@timothycarambat why is this the case? Other Docker-based Ollama UIs can connect to <IP_ADDRESS>:11434 normally

@ThatOneCalculator AnythingLLM uses a network bridge and not the host network itself because we run other services within the container that resolve via localhost/loopback. In order to prevent port conflicts we only bridge to the host.

Tested and works. Please consider adding a warning like this when selecting Ollama:

Welp, doesn't work. Tried a single message and it crashed.

From the podman container:
[TELEMETRY SENT] {
  event: 'server_boot',
  distinctId: 'ad98c37a-8a86-4625-bc10-a76a89ba3024',
  properties: { commit: '--' }
}
Primary server listening on port 3001
/app/server/utils/chats/stream.js:240
        fullText += chunk.message.content;
                                  ^

TypeError: Cannot read properties of undefined (reading 'content')
    at /app/server/utils/chats/stream.js:240:35
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

I have the same issue with LocalAI

LocalAI is running:
 ┌───────────────────────────────────────────────────┐
 │                   Fiber v2.50.0                   │
 │               http://<IP_ADDRESS>:8080               │
 │       (bound on host <IP_ADDRESS> and port 8080)       │
 │                                                   │
 │ Handlers ............ 73  Processes ........... 1 │
 │ Prefork ....... Disabled  PID ................ 13 │
 └───────────────────────────────────────────────────┘

@moritz-t-w
Do you see any relevant logs in the AnythingLLM docker container or the LocalAI container? If the request is going through and failing you would see logs on each container. Something from AnythingLLM and LocalAI reporting the request was denied and its status code.

@timothycarambat
The LocalAI container did not recieve any requests, that's all I know. I don't know how to see the logs from the AnythingLLM container.

its the same issue with me

this is closed, but if this info helps anyone else it had me confused for a bit. In the browser you put http://localhost:11434/ and it shows Ollama running but AnythingLLM doesnt find it like that and needs http://<IP_ADDRESS>:11434
I ran into this issue on Windows 10 with the download install of Ollama and AnythingLLM (not the docker version).
Instructions elsewhere had said to run powershell and type "ollama serve" it gives <IP_ADDRESS>:11434 but without the http bit, so when you try to add that in the field it refuses it as it wants a URL (hence why I assumed localhost would solve it but it doesnt). I had to manually change it to http://<IP_ADDRESS>:11434 and then it found the models.
A bit confusing that it wont work with "localhost" since that is what works in a browser, but this fixed the issue if anyone else hits it.

Yeah, you have to specify OLLAMA_HOST as an env var to bind it to localhost, otherwise it defaults to <IP_ADDRESS>

Try <IP_ADDRESS> instead of localhost or <IP_ADDRESS>. Worked here.

None of these solutions worked for me. My LLM models in Ollama are local .gguf models that I've imported.

what is the issue here please help

I have fixed the issue.
On Mon., 17 Jun. 2024, 11:37 pm Parshv Limbad, @.***>
wrote:

image.png (view on web)
https://github.com/Mintplex-Labs/anything-llm/assets/103508696/d83a28bb-841a-437c-a54e-ce71dd0694ae
what is the issue here please help
—
Reply to this email directly, view it on GitHub
https://github.com/Mintplex-Labs/anything-llm/issues/495#issuecomment-2173419928,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BICISXY2IGVKES6TBAMAAO3ZH3RBPAVCNFSM6AAAAABBFAPHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZTGQYTSOJSHA
.


Temporarily replace green with cyan

This is a temporary PR, being done as part of the testing for https://github.com/Expensify/Expensify.cash/pull/2978. In the testing plan here, this is "PR B".
Please note that this PR will be reverted soon after it's merged.

:warning: :warning: Heads up! This pull request has the CP Staging label. :warning: :warning:
Merging it will cause it to be immediately deployed to staging, even if the open StagingDeployCash deploy checklist is locked.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Error when editing enum columns in PostgreSQL

System information:

Win 10 Latest
DBeaver 7.0.0

Connection specification:

PostgreSQL 11.7
PostgreSQL
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
Cannot create or add enum columns in table data view.
Steps to reproduce, if exist:

Create test table

create type "test_enum" as enum('A', 'B', 'C');
create table "test_table" ("id" character varying not null, "val" "test_enum", primary key("id"));

Open data grid view for test_table.
Create a new row.
Enter some values and click save.
An error dialog pops up with this error:

Error synchronizing data with database
Reason:
SQL Error [42804]: ERROR: column "val" is of type test_enum but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Position: 52

thanks for the bug report

@koffmoff If you edit results of query "select * from test_table) then you need to refresh metadata on client side before editing. Click on your schema in database navigator and press f5.
As dbeaver doesn't know that data type "test_enum" exists yet and tries to edit this column as string.

@serge-rider Problem remains even after refresh. Also after a restart of DBeaver. It is not a matter of editing a newly created DB. It is the same problem if I connect to an existing DB. Doesn't matter if I edit the result of a query or just click my way to the table data view.

Yep, I've reproduced this issue.

verified


The "getting started" section in the README needs love

The instructions for configuration could be made much more clear. Including screenshots and specific Slack integration references.

Clarify the relationship between slash commands and inbound webhooks. Notably, the latter is always used as the response mechanism for slash commands.


Filter panel too small and doesn't show all the filters

fixed 3.1.97

@evshvarov check and close issue please

Before testing, please reset app settings from the menu:


When Invoke-RestMethod precedes Read-Host in a script file Read-Host executes before Invoke-RestMethod returns data. [Mac] [Linux]

This is an issue on Mac and Linux versions of PowerShell. We have validated that Windows executes as expected. Interestingly, we also tested this with Invoke-WebRequest and found that it did not have the same issue and executed as expected on all 3 platforms.
Steps to reproduce
You must execute this in a script via the terminal. This will not occur when commands are executed individually in the terminal by typing them.

Create a script file with Invoke-Rest Method before Read-Host as in the example.
Execute the script in the terminal.

   Invoke-RestMethod http://somerestapi.domain/api/derp/
   $test = Read-Host "Enter some text"
   Write-Host $test

Expected behavior
Execution of Invoke-RestMethod should complete before Read-Host is invoked.
Actual behavior
Enter some text: test
test
count next                                                   previous results
----- ----                                                   -------- -------
 1940 http://bestemmie.org/api/bestemmie/?limit=50&offset=50          {@{beste…

Environment data

Name                           Value
----                           -----
PSVersion                      7.1.0
PSEdition                      Core
GitCommitId                    7.1.0
OS                             Darwin 19.6.0 Darwin Kernel Version 19.6.0: Mon…
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Linux 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

This is, unfortunately, a well-known problem with many manifestations: see #4594 and #13985.


Implement Push API using Mozilla's servers

In Chrome, Push API is implemented using FCM (a rebranding of GCM), which naturally doesn't work with Google's servers disabled. It might be an option to make them available again by using some third-party server, for example, the one used in Firefox (Mozilla Push Service).
Note that while it implements the same developer-facing API, the way it interacts with the browser might be a bit different. Depending on these differences, either patches to the browser code would be required, or a custom push server that re-implements FCM-compatible browser API might be a more feasible solution in some circumstances.
Previously: #589, #703.

But does Chromium or a derivative implement the Push API? I'm not too familiar with it.

Basically, you can think of Push API as a vendor-neutral name for FCM/GCM (for websites at least, the chrome.gcm API in extensions is a completely different matter).

anything that has mozilla in name its a NO

@lipici Why not? (And in any case their implementation is open source, so we could run our own instance)

This is stuff I turn off. No thanks on push notifications for the browser, especially on 3rd party servers.

@Ph0rk0z Usually I turn it off too, however it does make sense for some sites (messengers, notably), and some people have requested it (see #589, #703).
I agree with your privacy concerns though, so I'd make this an opt-in feature (i. e. make whatever option in chrome://settings/content allows pushes default to Disabled), this still shouldn't be too hard to implement.

Does it make a big difference? I used messengers in FF and uGc and never had push notifications enabled.

@Ph0rk0z Well, not like you'll be obliged to use it :)
And if literally nobody needs it, nobody will work on it – I'm just pointing out the possibility, but I'm not that interested myself, too (although I'd gladly work on a server part as that might or might not be useful for microG too).

This is a good idea but I'm also not that interested in this...
Also, I think we should leave the default blank and let the user add the Mozilla Push API service if they want to.

Rather than use Mozilla servers, roll your own. I don't know if anyone has audited the source for connections to other Mozilla services.

Mozilla just laid off a large portion of its team. I cannot find whether that included their push service but judging from the recent moves from Mozilla I feel using their servers is no longer a good option.

Any updates? How can I self host a push notifications server for my ungoogled-chromium?


Shared logging for launcher->worker scenario

Use case -- I run a command on my laptop (launcher machine), it reserves an AWS worker machine, uploads script and runs it there. Later, you want AWS machine environment for metrics, but also want info from launcher machine, ie original command line in order to be able to reproduce the same run.
Right now my approach is to only start wandb on remote machine, manually log things of interest on local machine => pickle => upload to remote machine => unpickle => add to wandb.

Seems like this could be done using restart API instead


Speed up Docker build

Would it be faster if we split the installation of Build deps into a RUN and another for the curl of lates Ghost version?
https://github.com/docker-library/ghost/blob/master/Dockerfile#L33
The current setup is ok but builds a little slowly for mine on an armhf device. Just though it might be worth discussing/bringing this up as an improvement!

We do it this way because the build dependencies aren't required for
running ghost, so separating them out just makes the image larger for no
reason (since most people are pulling this image, not building it).

@tianon thanks! Something new for me :) I would need to go learn more about Docker but that's a useful tool that i'm using more frequently !

@tianon since we are on this topic (not the best place to ask), how does more command lead to a larger image? Anywhere i can read more about this?

https://docs.docker.com/docker/introduction/understanding-docker/#how-does-a-docker-image-work talks about it a bit -- basically, each command creates a new layer, and each of these layers is isolated from the previous layers (and thus removing something in a later layer cannot affect the size of the previous layer, since the image layers themselves are stacked and immutable).


JBDS-4043 Update cygwin version to 2.6.0

Fix updates version shown in installer to 2.6.0 and place direct link
instead of redirect because cygwin installer (size under 1M) will be
always included in online and bunded installer after
https://issues.jboss.org/browse/JBDS-4031 is fixed
It means it is  going to be alway downloaded during the build.

test this


Add jest-mongodb and locations tests

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.3%) to 55.457%

Totals

Change from base Build<PHONE_NUMBER>:
4.3%

Covered Lines:
236

Relevant Lines:
370

💛  - Coveralls