text:
[completion] Bump version to tags/0.32.0 (latest tag)

Please be sure to check out our contributing guidelines
before submitting your pull request.
Proposed Changes

Bump completion submodule to tags/0.32.0 (latest tag)
refs. https://github.com/zsh-users/zsh-completions/tree/0.32.0

ChangeLog
git log --oneline cf565254e26bb7ce03f51889e9a29953b955b1fb...ed4ff5384b03aa775a57d4c9588c88850026b0b3
ed4ff53 Merge pull request #743 from syohex/syohex/update-rspec-format
23614ea Update rspec format option candidates
d0a0608 Merge pull request #742 from syohex/syohex/update-ffind
6daa084 Update ffind completion
47ee32a Merge pull request #741 from syohex/syohex/fail2ban-client-metadata
c13c3ce Add license header and metadata and fix typo
a2fa978 Merge pull request #740 from syohex/pr-665
c69a1a0 Merge pull request #675 from xdch47/master
b7bc314 Add completion for fail2ban-client
c65ddb6 Improve mc completion
582c6f3 Merge pull request #739 from syohex/syohex/update-nano
b43531a Update nano completion
5ab4025 Merge pull request #738 from syohex/syohex/update-httpie
7a23291 Update httpie completion
013f6ac Merge pull request #737 from syohex/pr-683
bbfdc26 Add file local variables for _golang
815f380 Update to go 1.14
346c1a3 Merge pull request #736 from syohex/syohex/perf-script
836d9e2 Implement 'perf script' completion
8a47b2d Merge pull request #735 from syohex/syohex/perf-sched
cafbd76 Implement 'perf sched' completion
bb61ca2 Merge pull request #734 from syohex/syohex/perf-kmem
9db043c Update 'perf kmem' completion
ce6e7b8 Merge pull request #733 from zchrissirhcz/master
07c5f46 support cmake --install related options
d2e61b4 Merge pull request #732 from syohex/syohex/perf-trace
fe8e9a0 Implement perf trace
8e04c96 Merge pull request #731 from syohex/syohex/perf-lock
ba0cc35 Implement 'perf lock' completion
6b3869c Merge pull request #730 from syohex/syohex/perf-bench
ab17b68 Implement 'perf bench' subsystem and suite completion
af2e596 Merge pull request #729 from syohex/syohex/perf-timechart
8b7e37a Update 'perf timechart' completion
bb23316 Merge pull request #728 from syohex/syohex/perf-report
ffaa7d5 Implement 'perf report' completion
7efa6b7 Merge pull request #727 from syohex/syohex/perf-record
769585e Implement 'perf record' completion
c66b651 Merge pull request #726 from syohex/syohex/perf-data
2c2cc6c Implement perf data completion
2441475 Merge pull request #725 from syohex/syohex/perf-inject-buildid-cache
f46cc56 Update 'inject' and 'buildid-cache' options
61ef747 Merge pull request #724 from syohex/syohex/perf-mem
18a6415 Implement 'perf mem' completion
1e42bda Merge pull request #723 from syohex/syohex/perf-test
a2b542f Update 'perf test' completion
0928b14 Merge pull request #722 from syohex/syohex/perf-c2c
8292501 Implement perf c2c completion
e9e8e8f Merge pull request #721 from syohex/syohex/perf-subcommand
f816c92 Implement perf config/ftrace/kallsyms subcommand
a36eb3b Merge pull request #720 from syohex/syohex/update-subcommand
9dc327a Update subcommand
f7b828d Merge pull request #719 from syohex/syohex/perf-probe
e604852 Implement perf probe completion
a91e861 Merge pull request #717 from syohex/syohex/perf-stat
aea74be Implement perf stat completion
91c7785 Merge pull request #716 from syohex/syohex/perf-top
5809055 Implement perf top completion
3d6bbc1 Merge pull request #715 from syohex/syohex/yarn-posix
73505e4 Don't use sed gnu extension, use POSIX syntax
a500a4e Merge pull request #714 from syohex/syohex/fix-run-opt_args-issue
fd64c85 Fix run subcommand --cwd issue
bb8d024 Merge pull request #713 from syohex/syohex/update-yarn
1a420d3 Update subcommand flags
44e1c1e Improve completion when '--cwd' is specified
4601310 Update subcommand completion
195bdb4 Set description for all options
4817a6a Update yarn command line options
864db66 Merge pull request #710 from jsamr/patch-1
86995a1 replace broken link to linux-mag with its latest archive.org backup
41828e2 Merge pull request #706 from syohex/syohex/add-protoc
48550b5 Merge pull request #708 from syohex/syohex/improve-node-inspect-completion
e6eb268 Improve node inspect completion
6599eda Merge pull request #707 from syohex/syohex/update-node-v14
9f5aa05 Update node completion to v14
376c51c Add protoc compdef
d4e54f1 Merge pull request #660 from jubnzv/cppcheck-compdef
e8781a2 Merge pull request #705 from syohex/syohex/99
7e614ff Don't use _git private functions
bc51049 Merge pull request #701 from rex4539/fix-typos
9e9bee7 Fix typos
578d1d5 Merge pull request #697 from dancek/git-revise
bb376ae Add completion for git-revise
e928ee1 Merge pull request #699 from syohex/syohex/flameshot
6e16420 Add flameshot completion
72b1b8f Merge pull request #696 from nfischer/feat-emulator-avd-completion
3b36dcf Merge pull request #698 from fanquake/bitcoin_cli_0191
0b2d06f Update _bitcoin-cli completion for v0.19.1
99780ec Add avd completion to _emulator
e1523b4 Merge pull request #695 from syohex/syohex/dget-complete-also-package
dc00f90 Complete also package name
bf24777 Merge pull request #694 from syohex/syohex/yarn-add-file-completion
78d8744 Complete local file 'yarn add'
a264c2d Merge pull request #692 from syohex/syohex/update-kitchen
d9690b1 Fix regexp which collects subcommands
ed0c7a7 Merge pull request #691 from syohex/syohex/update-node
dcd7c63 Update node completion v12.16
10a79ec Merge pull request #690 from syohex/syohex/node-prof-process-completion
b9256a9 Complete only .log file if --prof-process is specified
dddbea8 Merge pull request #676 from pseyfert/cmake_unity
724cb01 Merge pull request #678 from v1z4/master
d1d7e6e Merge pull request #679 from dark-panda/add-pg-completions
2f2b027 Merge pull request #689 from nfischer/feat-add-emulator-options
a71b924 Add more options for Android emulator completion
f46ec9b Add additional PostgreSQL completions for PostgreSQL 12+
7455d60 Added file completion
a6e641b Fix typo in _cmake (#672)
152abee change os name: Mac OS to macOS (#656)
493984e Yarn | cross-platform sed replacement pattern newline solution (#666)
e32536a _yarn: fix parsing of yarn run on scripts containing } (#668)
4bf0ed4 cmake: new command line options
2b34796 cmake: add CMAKE_UNITY_BUILD variable
a9d0a2c Completion for Midnight Commander (`mc' command)
1eb4759 better completion with filetypes
f6eff10 Add cppcheck support
8def5f1 Merge pull request #655 from danteu/cmake_add_parallel
87e1313 Merge pull request #653 from MaximDevoir/feat/improve-yarn-suggestions
bbc8bad Merge pull request #654 from bondz/patch-1
6e6468d Merge pull request #649 from yan12125/port-new-subcommands
c9b3357 revert: suggest binaries on `yarn`
4b5da4c cmake: Add `--parallel` build option
0d8db2f _port: add new subcommands 'bump', 'diagnose' and 'reclaim'
21aa84d Add --latest flag for yarn upgrade-interactive
a47b58e Parse script commands without `jq`
c6bdbc6 Separate project scripts from binary packages
922eee0 Merge pull request #651 from jordanrastrick/yarn-script-file-completion
4add7f4 Improve _yarn changes
09ab278 Merge pull request #652 from lpbearden/master
ed44d39 added in missing option --edit
1000d2e fall back to file completion for yarn scripts
a3fab81 #647: remove kitty completion, upstream provides one
ef31690 Merge pull request #646 from pseyfert/golang1.13
40c6c76 Merge pull request #645 from lzutao/rm_multirust
a970467 Merge pull request #644 from veloute/patch-1
9a461c7 Merge pull request #643 from filalex77/add-inxi-completion
ca24e66 Merge pull request #642 from pseyfert/go-relative-paths
0a0894d go env can show values of individual environment variables
17239ce minor 1.13 changes
c864751 fixup new env vars
1133c0c prepare go 1.13
4001cd8 Remove _multirust which is replaced by rustup
725c65c Update _ufw to add 'prepend' command
c5a45e3 Add completion for inxi
e73235f [golang] unify package completion for build and run
b512d57 #610: add compdef for concourse 5.2.0 (https://concourse-ci.org)
303c6c5 Merge pull request #638 from dark-panda/fix-pg-createuser
2f2cca8 Merge pull request #637 from pseyfert/cmake_generator_variable
be21039 Merge pull request #636 from pseyfert/cmake_launch
c4e71ac Merge pull request #635 from laggardkernel/fix-vagrant
3ffe3e2 Merge pull request #634 from Shivamgupta1234/master
2ab70ac Fix a syntax error on the PostgreSQL `createuser` utility
1c41bbe [cmake] complete CMAKE_GENERATOR environment variable values
90aab67 provide CMAKE_<LANG>_COMPILER_LAUNCHER in cmake completion
facb6f4 hardcode location of command stat for macOS
ae17c53 Update _nano
3cf94ee minor suggested changes
46666e5 Add completion for nano editor!
d06d3f7 Add completion for nano editor!
4f939ad Merge pull request #628 from cuspymd/pm2
95e107f Merge pull request #626 from yous/git-flow-status
23ade7b Merge pull request #630 from jjangga0214/patch-1
fe6c149 Merge pull request #632 from pseyfert/gotest
b585ff1 #618: delete rvm, it is already provided by upstream project (https://github.com/rvm/rvm/blob/master/scripts/extras/completion.zsh/_rvm)
5b5e9fd add completion for fwupdmgr 1.2.9 (https://github.com/hughsie/fwupd)
d1c0b5d add completion for kitty 0.14.0 (https://sw.kovidgoyal.net/kitty)
a879b3b add options for 'go test -test.'
f68950a edit README.md: use `$ZSH_CUSTOM` if it exists
ba7ae00 Add pm2 completion
bdb5503 git-flow: remove non-existing subcommand

Thanks for submitting this!

authors: belak iiharu

repo: sorin-ionescu/prezto


text:
CSS and styling

We need a simple set up for adding CSS files. sheetify looks good! We just want to set it up and add some sample CSS to the project to make sure it works in dev and build.

Styling working with budo as of https://github.com/sotojuan/generator-choo/commit/bce4a5ef49a2f69ffca4c140b51974e50796aaec.

Happy to share that I finished up a basic scaffold:

It basically is a simple app with a couple pages to show routing and a todo list mini app to show state management.  I plan on creating a remove-demo script as well.  I spent most of the night working on it, but Id like to get feedback and even some code review if possible, it might be worth interrogating any design decisions I made as I really would like this to be as friendly to the community as possible.
Feel free to clone it here: https://github.com/trainyard/generator-choo
git clone https://github.com/trainyard/generator-choo

It's not on npm but I've been using npm link to test.

Awesome! I'll check it out when I get home. Thanks so much for your help!

Cool, what do you think?

source: gharchive/issue

authors: MattMcFarland sotojuan

repo: sotojuan/generator-choo

license: MIT

license_type: permissive

license_source: github-api


text:
[FEAT]: mypy workflow testing speech can be optimized

Description
Do we need to install --all-extras for mypy testing? I think it would take a lot of time. Only typing-related packages are required.
Additional Information
No response

Feel free to open a PR that removes --all-extra

Fixed in #80

nice!

@ProKil  do you have any other suggestions on saving CI time with workflow. I faced a exceeding limit of 2000 min when running another codebase.

One way is to limit CI to PRs. We could change mypy to pyright to save time, but I have not tested that yet.

thanks. good to hear.

There are several things that we could optimize including using a docker that has mypy and other tools pre-installed, and use local cache. You can also use self-hosted test runners and another tip I just found is that you can easily test run your commit before pushing using this https://github.com/nektos/act?tab=readme-ov-file. Maybe we should add this tip to the contribution guide.

sounds good. Good to know all of these. I am trying to update my project-template to optimize its CI time.

@ProKil I personally find that act is kind of not so easy to use? Should we add this into the contribution guide?

Already improved in https://github.com/sotopia-lab/sotopia/blob/7de34af7b52aadf85c5c4302e660f745032caff8/.github/workflows/mypy.yml#L7-L17

@ProKil I personally find that act is kind of not so easy to use? Should we add this into the contribution guide?

Does "act" mean "agent.act"?

authors: ProKil lwaekfjlk

repo: sotopia-lab/sotopia


text:
🛑 Loudlive is down

In 275a8a4, Loudlive (loudlive.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Loudlive is back up in b1eba41.

repo: sotoplatero/upp


text:
youtubeを見ながらやってみる

↓の動画を見ながら動かしてみる
https://www.youtube.com/watch?v=NKY2FYTCo7I

[準備]
java9をoracleからダウンロードし、インストールする
http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

 java -version で確認するとローカルマシン上が全てjava9になってしまうので、以下のように .zshrc に記載をして source する
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8"`

もとに戻った
java -version
>java version "1.8.0_144"
>Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
>Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

まずはjava8のまま、mvnコマンドがきちんと動作することを確認する
mvn clean install

successしました

runしてみる
java -cp 'monitor/target/libs/*':'monitor/target/main-1.0-SNAPSHOT.jar' monitor.Main

successしました

一応、mavenも確認する
mvn --version
>Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T05:58:10+09:00)
>Maven home: /usr/local/Cellar/maven/3.2.3/libexec
>Java version: 1.8.0_144, vendor: Oracle Corporation
>Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre
>Default locale: ja_JP, platform encoding: UTF-8
>OS name: "mac os x", version: "10.12.5", arch: "x86_64", family: "mac"

mvnのruntimeをjava9に変えてあげる必要がありそうだ

mvn のときだけ java9を使用するように変更する
vi ~/.mavenrc

以下を追記
JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "9"`

確認する
mvn --version

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T05:58:10+09:00)
Maven home: /usr/local/Cellar/maven/3.2.3/libexec
Java version: 9.0.1, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.5", arch: "x86_64", family: "mac"

IntelliJでこのプロジェクトをimportする
importするときにはjdk9をコンパイラにして、mavenプロジェクトとして扱う

pom.xml に以下を追記して mvn clean install
	<profiles>
		<profile>
			<id>java-9</id>
			<activation>
				<jdk>9</jdk>
			</activation>
			<properties>
				<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
				<maven.compiler.release>9</maven.compiler.release>
			</properties>
		</profile>
	</profiles>

エラーになった

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project utils: Compilation failure: Compilation failure:
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.utils/src/main/java/monitor/utils/Utils.java:[3,15] エラー: シンボルを見つけられません
[ERROR] シンボル:   クラス BASE64Encoder
[ERROR] 場所: パッケージ sun.misc
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.utils/src/main/java/monitor/utils/Utils.java:[25,13] エラー: シンボルを見つけられません
[ERROR] シンボル:   クラス BASE64Encoder
[ERROR] 場所: クラス Utils
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :utils

sun.misc パッケージにアクセスできないようだ

まず、そもそもIntelliJでちゃんとクラスが解決できていないようだ

IntelliJ Ideaの最新版(ideaIO-2017.3.dmg)をインストールすることにした

バージョンアップしたら、IntelliJの[Preference]>[Build,Excution,Deployment]>[Compiler]>[Java Compiler]の[Project bytecode version]に"9"が追加されていたので、追加して、apply

Project Settingsを見たら Language Levelが 8 になっていたので、9へ変更

intelliJのPreferenceを見たら、jdkぽいライブラリが見当たらなかったので、もう一度jdk9をimportしなおしたら解決した

話を戻して
以下のように変更すると、コンパイルが通った
Base64.getEncoder().encodeToString(content.getBytes())

もう一度 mvn clean install を行う

今度はsuccessした

mvn clean test を実行する

testは成功したが、WARNINGが出力された
ARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection$Dispatcher$Resolved (file:/Users/XXXX/.m2/repository/net/bytebuddy/byte-buddy/1.4.26/byte-buddy-1.4.26.jar) to method java.lang.ClassLoader.findLoadedClass(java.lang.String)
WARNING: Please consider reporting this to the maintainers of net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection$Dispatcher$Resolved
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
T

monitor.utils module の pom.xml に以下を追記
	<profiles>
		<profile>
			<id>java-9</id>
			<activation>
				<jdk>9</jdk>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<argLine>
								--add-opens java.base./java.lang=ALL-UNNAMED
							</argLine>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

※ちなみにsure-fire-pluginはmavenのテスト実行時にレポートを出力してくれるpluginのこと

もう一度 mvn clean test を実行する

パッケージを ALL-UNNAMED に指定することで、作成したクラスに対してアクセスできるようにできるようにしているらしい。

外部に公開する場合には
--add-opens java.base/java.lang=ALL-UNNAMED

を
--add-exports java.base/java.lang=ALL-UNNAMED

的な感じにすると良いらしい

mockitoなどでリフレクション等をやっている場合には
--illegal-access=deny オプションを指定してあげると良い

parent/pom.xml の mockito のバージョンを2.8.47へアップデートする

基本的にはJava9に対応したバージョンに依存ライブラリのバージョンもアップすべきである、とのこおと

プロジェクトルートに戻って、全体をリビルドしてみる
cd ../
mvn clean install

javax.annotationでエラーが出ているようだ
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project rest: Compilation failure: Compilation failure:
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[9,16] エラー: パッケージjavax.xml.bindは表示不可です
[ERROR]   (パッケージjavax.xml.bindはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[10,16] エラー: パッケージjavax.xml.bindは表示不可です
[ERROR]   (パッケージjavax.xml.bindはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[11,16] エラー: パッケージjavax.xml.bindは表示不可です
[ERROR]   (パッケージjavax.xml.bindはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[6,23] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Generated
[ERROR]   場所: パッケージ javax.annotation
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[7,21] エラー: パッケージjavax.xml.bind.annotationは表示不可です
[ERROR]   (パッケージjavax.xml.bind.annotationはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[8,21] エラー: パッケージjavax.xml.bind.annotationは表示不可です
[ERROR]   (パッケージjavax.xml.bind.annotationはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[9,21] エラー: パッケージjavax.xml.bind.annotationは表示不可です
[ERROR]   (パッケージjavax.xml.bind.annotationはモジュールjava.xml.bindで宣言されていますが、モジュール・グラフにありません)
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[16,1] エラー: シンボルを見つけられません
[ERROR]   シンボル: クラス Generated
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

Java EE モジュールはexcludeされているため、必要であれば --add-module してあげる必要がある

monitor.rest/pom.xml に以下を記載
	<profiles>
		<profile>
			<id>java-9</id>
			<activation>
				<jdk>9</jdk>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-compiler-plugin</artifactId>
						<configuration>
							<compilerArgs>
								<arg>--add-modules=java.xml.bind</arg>
							</compilerArgs>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

ビルドがこけてしまう
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project rest: Compilation failure: Compilation failure:
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[6,23] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Generated
[ERROR]   場所: パッケージ javax.annotation
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/StatisticsEntity.java:[16,1] エラー: シンボルを見つけられません
[ERROR]   シンボル: クラス Generated
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

これをオススメされた
https://news.mynavi.jp/article/jsr-16/
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
		</dependency>

							<compilerArgs>
								<arg>--add-modules</arg><arg>java.xml.bind</arg>
								<arg>--add-modules</arg><arg>java.xml.ws.annotation</arg>
							</compilerArgs>

これに変更して mvn clean install

[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[8,23] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Nonnull
[ERROR]   場所: パッケージ javax.annotation
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[27,37] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Nonnull
[ERROR]   場所: クラス MonitorServer
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[26,2] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Nonnull
[ERROR]   場所: クラス MonitorServer
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[31,2] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Nonnull
[ERROR]   場所: クラス MonitorServer
[ERROR] /Users/takaaki-suzuki/workspace/demo-java-9-migration/monitor.rest/src/main/java/monitor/rest/MonitorServer.java:[71,2] エラー: シンボルを見つけられません
[ERROR]   シンボル:   クラス Nonnull
[ERROR]   場所: クラス MonitorServer
[ERROR] -> [Help 1]

されにこれで実行する
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<compilerArgs>
						<arg>--add-modules</arg><arg>java.xml.bind</arg>
						<arg>--add-modules</arg><arg>java.xml.ws.annotation</arg>
						<arg>--patch-module</arg><arg>java.xml.ws.annotation=${settings.localRepository}/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar</arg>
					</compilerArgs>
				</configuration>
			</plugin>
		</plugins>
	</build>

ぬるぽになった(これは動画の結果と違う)
ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project rest: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile failed.: NullPointerException -> [Help 1]
[E

maven-compiler-plugin のバージョンを 3.7.0 -> 3.6.1 にダウングレードしたら動いた

cd ../
mvn clean install

したらsuccessした

java cpする
java -cp 'monitor/target/libs/*':'monitor/target/main-1.0-SNAPSHOT.jar' monitor.Main

java8 なので怒られた

一度java9にexportしよう
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "9"`

java -version

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

もう一度実行する
java -cp 'monitor/target/libs/*':'monitor/target/main-1.0-SNAPSHOT.jar' monitor.Main

Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader
        at monitor.Main.logClassPathContent(Main.java:46)
        at monitor.Main.main(Main.java:28)

ClassLoader から URLClassLoader にcastできないらしい

type hierarchy を見ると SecureClassLoader とか、色々いる

もう一度 java cp する
java -cp 'monitor/target/libs/*':'monitor/target/main-1.0-SNAPSHOT.jar' monitor.Main

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at monitor.Main.main(Main.java:32)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
        ... 1 more

add moduleして実行する
java --add-modules java.xml.bind -cp 'monitor/target/libs/*':'monitor/target/main-1.0-SNAPSHOT.jar' monitor.Main

次にプロジェクトをmodule化してみる

javac -version

ブランチを切り替える
git checkout migrated
mvn clean install

successした

./compile.sh

ビルドが成功し、プロジェクトルートにbuild ディレクトリが生成された

次に run.sh を実行する

jdepth で依存関係を確認する
jdeps -s -R -cp 'monitor/target/libs/*' monitor/target/main-1.0-SNAPSHOT.jar

こんなのが出た
分割パッケージ: javax.annotation [jrt:/java.xml.ws.annotation, monitor/target/libs/jsr305-3.0.2.jar]

monitorパッケージのだけ確認する
jdeps -s -R -include 'monitor.*' -cp 'monitor/target/libs/*' monitor/target/main-1.0-SNAPSHOT.jar

dotファイルに出力しなおす
jdeps -s -R -include 'monitor.*' --dot-output . -cp 'monitor/target/libs/*' monitor/target/main-1.0-SNAPSHOT.jar

dot -Tpng -O summary.dot

パッケージルートに module-info.java ファイルを置く

jarをmodule-pathに出力し、--add-modules で利用するmoduleを明示してあげる必要がある

使用するmoduleのpath指定と使用するmoduleの指定
javac \
	--class-path 'build/class-path/*' \
	--module-path build/module-path \
	--add-modules monitor.utils \

これでまた　./compile.sh を実行する

成功した

./run.sh も修正する

成功した

今度は monitor.observer にmodule-info.java を作成する

monitor.observer.alpha にも module-info.java を作成する
module monitor.observer.alpha {
    requires monitor.observer;
    exports monitor.observer.alpha;
}

monitor.observer.betaにもmodule-info.javaを作成する
module monitor.observer.beta {
    requires monitor.observer;
    exports monitor.observer.beta;
}

./compile.sh のmodule-pathを変更する

これを追記
	--add-modules monitor.observer.alpha,monitor.observer.beta \

run.sh にも同様に追記

module-info.java requires を記載すれば、javac で --module-path を指定しなくてよい、ということなのか？？

ぽい

module-info.java には直接的に依存するmoduleを全て書いてあげる必要がある

--patch-module  はmodule-info.javaには書けないっぽい

monitor.restもmodule化して ./compile.sh する
monitor.rest/src/main/java/module-info.java:2: 警告:[removal] モジュールjava.xml.bindは推奨されておらず、削除用にマークされています
    requires java.xml.bind;
                     ^
monitor.rest/src/main/java/module-info.java:3: 警告:[removal] モジュールjava.xml.ws.annotationは推奨されておらず、削除用にマークされています
    requires java.xml.ws.annotation;
                        ^
警告2個

open module monitor.rest にしてあげると全てのpackageがopenになるらしい

module-pathから必要なモジュールを利用することは理解できたが、class-pathの中のjarはロードされるのよね？？


text:
Fixed bug about passive wheele vent listeners in chrome

Solution to the problem #128, more info here => Document-level-passive-wheel-event-listeners

@apenab thank you!

Will a new version be published to npm soon?

Please update the latest version to NPM! thanks.

@souhe We need this update in NPM, some problem that can help you ?

source: gharchive/pull-request

authors: apenab joetidee souhe zhaosuxia

repo: souhe/reactScrollbar

license: mit

license_source: bigquery


text:
[Traefik Pilot] Traefik Plugin Analyzer has detected a problem.

The plugin was not imported into Traefik Pilot.
Cause:
failed to run with Yaegi: plugin: failed to create a new plugin instance: configuration incorrect, missing body name

Traefik Plugin Analyzer will restart when you will close this issue.
If you believe there is a problem with the Analyzer or this issue is the result of a false positive, please contact us.

fixed

fixed

authors: soulbalz traefiker

repo: soulbalz/checkbodyplugin


text:
Use of Semi-Supervised Learning

I am very interested semi-supervised learning part of your work. So I want to know how to run the semi-supervised training? Thanks for your great work.

First, create your 1% or 10% ImageNet subsets using preprocess_datasets.py.
Then you can use the same scripts like scripts/fusion.sh or scripts/feedback.sh. But you need to update the following flags:

--data_dir and --val_data_dir to the newly created subset paths.
--mode=finetune instead of --mode=freeze
--lr may need to be tuned and --batch_size needs to be updated to whatever fits on your GPU. Here are our settings:

1% DifFormer: --lr=1e-2 --batch_size=2
10% DifFeed: --lr=1e-2 --batch_size=2
1% DifFeed: --lr=1e-2 --batch_size=4
10% DifFeed: --lr=1e-2 --batch_size=4

authors: YonghanLU soumik-kanad

repo: soumik-kanad/diffssl


text:
Staging site sets navigator.mediaDevices to undefined

Issue
As per the API

getUserMedia() is a powerful feature which can only be used in secure contexts; in insecure contexts, navigator.mediaDevices is undefined, preventing access to getUserMedia(). A secure context is, in short, a page loaded using HTTPS or the file:/// URL scheme, or a page loaded from localhost.

This means that the pix&flix library and machine library will not work on staging site.
Suggested solution
Deliver staging site over secure connection (HTTPS)

I'm in the midst of getting HTTPS for staging: https://stg.sourceacademy.nus.edu.sg
Currently waiting for SoC side to issue a TLS certificate for the stg subdomain. (If you click the link, it will complain of an invalid certificate currently.)

HTTPS has been configured.

authors: angelsl geshuming jiayushe

repo: source-academy/cadet-frontend


text:
SWS3012 Missions not updating from repo

Start and end times were updated on bitbucket and pull down to ec2b but never made it to the database. According to prof henz this was not the case last sem. To do root cause analysis to find out what caused this!

Fixed by https://github.com/source-academy/cadet/pull/423

@chrisjwelly thanks haha

Note that this is fixed by https://github.com/source-academy/cadet/pull/423
which is merged AND already deployed in the current cadet backend.

repo: source-academy/cadet


text:
[suggestion] localbranch pull suggestion

hello
I have a very confusing problem. Every time I pull from a local branch, the wrong remote branch is pulled down. In the pull window, the remote branch is the default even if the remote branch is not tracked.
[suggestion] If the local branch does not track the remote branch, the default remote branch to be pulled is recommended to be changed to empty. thank you!

It is recommended to refer to sourcetree

Since user can Ctrl+Mouse Cllick to run pull quickly with default parameters, the remote branch is required. Currently, if local branch does not track any remote branch, the first remote will be selected, and try to select a branch with the same name or just the first one.
The auto-select feature is added also because some people's feature request. See issue #342.

BTW, at this point, this project has the same behavior with another well-known GIT client, Fork.

What I don't understand is why a local branch that doesn't track any remote branch needs to have a default remote branch to pull.
In the case of Ctrl+Mouse shortcut operation, you can just check whether there is a tracking remote branch. If there is, you can pull it. Otherwise, you are required to select it manually. Is this better? #342 issue seems does not conflict with this issue

What I don't understand is why a local branch that doesn't track any remote branch needs to have a default remote branch to pull. In the case of Ctrl+Mouse shortcut operation, you can just check whether there is a tracking remote branch. If there is, you can pull it. Otherwise, you are required to select it manually. Is this better? #342 issue seems does not conflict with this issue

Yes, you are right. Currently, I've done this job and I'm doing some testing with the modification.

The new remote branch auto-selection algorithm will be changed to:

If local branch tracks some branch in selected remote, just select it.
If local branch tracks no branch in selected remote, but a branch with same name exists in the selected remote, select it.
Otherwise, leave the selected branch to empty

The new remote branch auto-selection algorithm will be changed to:

If local branch tracks some branch in selected remote, just select it.
If local branch tracks no branch in selected remote, but a branch with same name exists in the selected remote, select it.
Otherwise, leave the selected branch to empty

That's great. Thank you!

You can test the latest build from https://github.com/sourcegit-scm/sourcegit/actions/runs/10846657299

I just test it. No problem ! Thank you !

repo: sourcegit-scm/sourcegit


text:
build: Track Buildifier using Bazel

Previously, we were not tracking the buildifier version in Bazel.
Also, the CI was moving the buildifier binary to /usr/local/bin for convenience.
Since @jhchabran pointed out that we may move to stateful agents
in the future, this change removes the /usr/local/bin hack,
and tracks the buildifier version using Bazel itself.
One of the things PR #83 does is that it removes the git diff check altogether.
However, that's not correct, because that will skip the formatting check
for C++ and Starlark files. Ideally, I'd like to have two different variations
of that "command", one for checking (in CI), and one for fixing (in local dev).
However, PR #83 only adds support for the checking for Python.
So for simplicity, I've left the git diff check in here for now.
If it is still problematic, we can remove it if we can figure out a way
of running all formatters in both check and fix modes.

@varungandhi-src (cc @dominiccooney) just to clarify, this was a support PR, I hacked this pretty quickly on my friday to make sure you got it for when you come back on Monday. Feel free to push things or make changes over there. I should have mentioned this over the PR description.

Oh yeah, totally, I got that, that's why I didn't comment on the commented out code. 😄 I was planning on pushing to that PR earlier (I think we did something similar on another PR), but then I decided to split it up and get your feedback instead on the separate PRs.

authors: jhchabran varungandhi-src

repo: sourcegraph/scip-clang


text:
Broken links in dialog windows

When I get a suggestion from Sourcery, there's a link in the modal to a page that describes the refactor.  For example:

Clicking that link (raise-from-previous-error) goes to https://docs.sourcery.ai/suggestions/raise-from-previous-error/ which is a 404.  The correct link is https://docs.sourcery.ai/Reference/Built-in-Rules/suggestions/raise-from-previous-error/
I've noticed this with all tooltips (it's not specific to the raise from previous error dialog).

In case it matters, I'm running 0.12.8 of the vscode Sourcery extention

Thanks for raising! Definite error on our part since we restructured our docs - will be fixed in the next release coming this week.

Fixed with 0.12.9

authors: Hellebore pzelnip

repo: sourcery-ai/sourcery-vscode


text:
Enable unified mode

Description
Enabled unified mode, since it'll be the default mode on Chef Infra Client 18.x
Issues Resolved
N/A
Check List

[x] A summary of changes made is included in the CHANGELOG under ## Unreleased
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable.

I'd like to hold on doing this until we get it properly adopted by Sous Chefs. It's been on my to-do list for a while and had started a clean up locally.

repo: sous-chefs/mingw


text:
Cannot enable ui with vault 0.10.x

The vault_config resource does not accept ui true.

More generally, whitelisting attributes means that the cookbook must be edited every time there's a change in the vault configuration syntax; maybe having some "other_options" hash would allow users to quickly adapt to syntax changes in the config file?

This functionality was implemented with #115.

authors: PowerSchill giorgian

repo: sous-chefs/vault


text:
[#463] Create composer version of WaterfallHostBotDotNet

Addresses # 463
Description
This PR adds the dialogs for WaterfallHostBot Composer version.
Detailed Changes

Add Greeting message.
Add the following bot dialogs with their respective functionality:

MainDialog
SsoDialog
SsoSignInDialog

Add manifest.json for the following skills:

EchoSkillBotDotNet
EchoSkillBotDotNet21
EchoSkillBotDotNetV3
EchoSkillBotJS
EchoSkillBotJSV3
EchoSkillBotPython
WaterfallSkillBotDotNet
WaterfallSkillBotJS
WaterfallSkillBotPython
TeamsSkillBotDotNet
TeamsSkillBotJS
TeamsSkillBotPython

Testing
These images show some of the processes working as expected on Emulator.

This PR was restructured in PR 106

repo: southworks/BotFramework-FunctionalTests


text:
can you add image caching

please can you add image caching  , so it will speed training to 3x

caching images in RAM

Thank you @sovit-123 caching and saving to drive , for us this is very great step

Hi, was this already done?

No @lennexac I have not worked on this project majorly for a while.

authors: VYRION-Ai lennexac sovit-123


text:
[Resprite] Some scraps

Описание PR

Изменены некоторые спрайты металлолома
Медиа

Требования

[ ] Я прочитал(а) и следую Рекомендациям по оформлению Pull Request и Changelog.
[ ] Я добавил(а) медиафайлы к этому PR или он не требует демонстрации в игре.

Критические изменения

Список изменений

:cl: MureixloL, DreamlyJack

tweak: Изменены спрайты!

@SonicHDC

ты зачем мержнул?
че делать-то теперь


text:
Uses correct string for version on RSI.cs

I dunno why but I can't actually direct commit this. I think it's an issue with the org perms.

I dunno why but I can't actually direct commit this. I think it's an issue with the org perms.

Fixed.

authors: DrSmugleaf SweptWasTaken


text:
bandana on head hides reptilian's snout

it looks horrible

#25716 might have introduced this inside bandanas.yml  in the ClothingMaskBandanaBase entry:
- type: HideLayerClothing
  slots:
  - Snout

I don't know why it's here in the first place but removing slots: Snout seems to fix and not break any other bandana

Bandanas have special behavior when they convert between head/mask. Check out #24597. Chances are there needed to be extra logic when the snout hiding functionality was added.

Bandanas have special behavior when they convert between head/mask

Because of  this any Head bandana will have it's Mask equivalent as a parent in the .yml
Adding this override in the ClothingHeadBandBase fixes the bandana on spawn.
 - type: HideLayerClothing
   slots: []

but further logic is required to change the HideLayerClothing component upon folding/unfolding

Bandanas have special behavior when they convert between head/mask. Check out #24597. Chances are there needed to be extra logic when the snout hiding functionality was added.

i think replacing the inheritig from maks bandana to head bandana to inheriting from head to mask would fix all that

authors: luizwritescode lzk228 themias


text:
Need a system to handle controls attached to entities

Right now 3 raycasts are being done every frame on the client: do_after, popups, and chat. Ideally these would just be controlled by a system that does 1 raycast and toggles control visibility (this would also make stuff like fading it in / out much easier).
This is probably going to require some decent work in the 3 systems and would be better waiting for smez's hud refactor first to avoid conflicts.

This also ties into status indicators (e.g. alerts / medical hud).


text:
Cargo is still unplayable on Barratry

Description

Cargo STILL doesn't have shuttle stuff on barratry. You can't do anything without admin help. This should not be the case for any map, at all. Come on.
Reproduction

Read #9429
Seriously can't believe it's gone on for this long
Screenshots

Read #9429

something something don't open the same issue twice.

something something don't open the same issue twice.

I'll refrain from doing so in the future

might wanna close this, it's obv a dupe of #9429


text:
Barratry 2.4.5

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

atmos has an axe now (and portable scrubbers too)
bridge has blast windows (+ caps room too)
perma is rockier (it kinda like asteroid now)
skull (+ secret thing)

if someone could check this before it gets merged, please do
i have no clue where the mass of deletions and additions came from in the 2nd commit

i'll fix this pr tomorrow (accidentally saved an initialized barratry)

upon checking the diff in a git terminal, it's just a bunch of number changes and i didn't accidentally save an initialized barratry (thank god)


text:
Add climb & slip tests

Adds more helper functions for simulating player inputs & movement and adds two tests to check that climbing & slipping work.  E.g., the banana slip test checks that players can slow-walk over banana peels without slipping, but will slip when moving at normal speeds.

i wonder what crouching would look like in this game

authors: ElectroJr Snowyypanda


text:
Zombie rules improved. More tunable overall, weaker victim zombies

About the PR

A wide set of zombie improvements based on player feedback and discussion on Discord and in other places. Also a much stronger set of data-driven zombie balance settings available in YML.
Player facing changes

Initial zombies are forced to convert after 10-15 minutes (down from 20-30). Also forced after 50% of players are zombies.
Zombies die permanently once they enter Death. If they enter Crit, they roll for a chance at a burst of healing (40% or 10% chance of returning).
Zombies coming back from crit have less life (50% - 75% health generally)
Hitting a crit zombie delays any healing which is always at least a set amount after death
Zombies biting other zombies do no damage.
Wait for minimum players to join to begin zombies, rather than just abandoning game round if people don't ready up in time.
Zombie players are infected after 5 minutes (rather than round / event start) and cannot convert until 10 minutes since event.
Shuttle auto-call at 75% and again at 90% zombies.

Important code changes

Added ZombieSettings which contains everything important incl damage, healing, heal from crit, speed and more.
Initial Zombies get EarlySettings and their victims get VictimSettings in ZombieRuleComponent so we can balance those separately
Zombie ratio and limits exposed in event. Zombie CVars have been removed.
If a sizable fraction of the station's crew is converted to zombies, the round will end on zombie extermination. This will happen every time on round-start zombies.
All zombies in any stage have a ZombieComponent. They also have one of : InitialInfected, PendingZombieComponent or LivingZombieComponent. This means queries don't need to check MobState or similar and can become empty and cheap.
Added: PassiveHealSystem flat-heals living zombies. BurstHealComponent brings them out of crit sometimes (40% or 10% chance).
Added: InitialInfectedSystem which manages Patient0 details (Relevant code split out of ZombieRuleSystem)
Added: PendingZombieSystem which manages the pre-zombie infection stage, taking relevant code from ZombieSystem.

Some code details

Every ZombieComponent knows which rule spawned them ZombieFamily.Rules
ZombifyOnDeathSystem has been combined into ZombieSystem (I used partial classes so as not to ruin the diff)
ZombifyOnDeathComponent is now redundant and has been removed. PendingZombie used instead.
Track which players infected who (in ZombieFamily) which allows better round end info in a later PR
Admin converted zombies attach themselves to a running ZombieRule, or if none, to the next one that runs
All timers now respect pause
PendingZombieSystem handles (new) GhostMoveAttempt to block accidental move->ghost while zombifying (console ghost still works)

Data Changes
Zombie Roundstart event
Initial Infected are similar to current zombies
Once zombies are wiped out, the round ends. When we have some post-zombie events, we can change this.
VIctim zombies:

Are much more likely to die on crit & death and take longer to convert or respawn
75% of current healing
Do no slash and less piercing damage on bite, so less likely to inflict bleeding. Also less likely to infect victims.

ZombieOutbreak End round event
Only possible after 60 minutes and with 30+ players
Similar to Zombie event. Zombies convert faster after it occurs (since it's already well after roundstart)
If 60% or more of players are turned, the round ends after they are wiped out.
Media

There is a demonstration on Youtube here: https://youtu.be/Pu1Zh_9q8VQ
Delay to turn undead

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

tweak: Our Zombie-vaccine program has been (mostly) successful. We salute those who gave their lives for the company. As a result we expect anyone infected on-station to be less infectious, do less damage and be slightly slower.
tweak: Zombies are less likely to get back up after you Crit them and they take longer to do so. They will not respawn if you have just hit them. Once dead, they never come back.
tweak: We've been screening staff for the zombie virus, but some with latent infections have slipped through. Initial zombies must wait about 10 minutes and are forced to convert sooner.
add:  Due to employee concerns, Centcom has begun monitoring stations and will dispatch emergency shuttles to those overwhelmed by a zombie horde. Please do not bring any zombies with you on the shuttle.

Taking damage when biting nonliving objects is an obscene buff. Zombies have structure damage for a reason. They are meant to be able to break down structures in order to get into places. I know there are issues with them destroying power objects, but it's more feasible to do that than a blanket structure nerf. You're just going to encourage cheap tactics like vending machine barricades rather than actual counterplay.

Taking damage when biting nonliving objects is an obscene buff. Zombies have structure damage for a reason. They are meant to be able to break down structures in order to get into places. I know there are issues with them destroying power objects, but it's more feasible to do that than a blanket structure nerf. You're just going to encourage cheap tactics like vending machine barricades rather than actual counterplay.

Obviously we need to tune how much of this damage there is. Initial infected have a lower penalty. Even with 5 damage per hit, surely you could break through most reasonable barricades in 10 bites (50% health)?
At least it's an option now.

by 10 bites you must mean 100, since a door is destroyed at 500 damage
thatll more than kill a zombie so please remove that
just make ame shock you when attacked, or put that in a separate pr

Okay @EmoGarbage404 @deltanedas I hear ya. It was a pretty ugly solution and I will take it (damage on non-organic) out.
A better solution is to balance zombies enough that Eng can defend that stuff anyway.

I need to

Split out Passive Healing into its own system and component that can be used by non-zombie mobs and respects pausing.
Move much of PendingZombie into ZombieComponent and give ZC to pending zombies
Create a LivingZombieComponent as a marker to simplify iteration
Remove Revive entirely
Remove (don't add) Midround zombies (pity, I like a scary midround event)
Perhaps a specific InitialInfectedZombie component instead of PendingZombie for those who can delay their own infection to simplify that.

Removing midround zombies is cringe. I'd rather want it midround with InitInf than roundstart.

So some general thoughts on the changes here:

announcing zombies: this is pretty rough in terms of balance. We used to have announcements for zombies and various other midround events, but the general consensus is that players would overprepare and typically obliterate these events, causing them to be stomped by 10 million preped greytiders. Obviously you could make it announce after a percentage of the crew has been zombified, but at that point it just feels excessive and like it's impacting the stealth elements that add depth to initial infected.
Limits for zombies (though i admit i don't fully understand the scope of what that means) seems like a strange choice for what is designed to be a snowballing conversion antag. The whole point of zombies is the increase in difficulty as more and more people become overwhelming and begin to swarm everyone. I understand that it is very often overwhelming. It's meant to be like that. If the intent is to have combat situations that don't overwhelm the station, that situation shouldn't be zombies. They were intentionally designed to be round-ending threats. If they cause rounds to stall, that's a different issue (that you're addressing), but the core functionality of mass conversion shouldn't really be poked at.
Having a "minor zombie event," like i mentioned earlier, seems like a balancing nightmare due to the intentionally spiraling nature of how conversion antags work. Having secret settings like weaker zombies and debuffs after conversion percentages is really obscure and not something that players are going to understand. I'd rather have a more cohesive experience and just keep them rarer.
Forcing conversion seems kinda strange to me but i do understand that there have been situations where players do not convert at all and it is a detriment. At the very least, I'd still keep it solely on the timer rather than also having it happen on 50% zombification. It seems like yet another weird complicating factor that is likely to confuse initial infected players. As a good reference: players shouldn't have actions happen to them that they cannot understand the immediate causes of. If it's warned, the timer makes sense. Hitting a 50% quota is likely to be very obscure.
Self healing zombies is good. Healing out of crit is equally fine in my opinion, though some may disagree. Not healing out of dead state is perfectly understandable. Whichever option you pick is up to you. It's really just a question of if you want zombies to have that extra leeway and scare factor. It's perfectly fine balance to keep the healing out of crit so long as they don't heal out of dead.

Overall, I want to caution against balancing them too weak. Zombies were always meant to be a rare and deadly event. The initial infected mode was rarer than all the other modes for a purposeful reason. In terms of changes that are needed, I would prefer if they really just extended to recovery options (reversing zombification) and end round conditions (auto-calling shuttle)

announcing zombies: this is pretty rough in terms of balance.
Yeah, that's the general reaction. I think this feature is getting cut.

Limits for zombies ... seems like a strange choice for what is designed to be a snowballing conversion antag.
This is a very insightful point, especially around player confusion. It's a pity, since I'd like to see some complex midround stuff but I agree we should make other events for this.

Having a "minor zombie event,"
Having established that we shouldn't have various qualities, you make a good point here about cutting the nerf thing.

Forcing conversion seems kinda strange to me but i do understand that there have been situations where players do not convert at all and it is a detriment.
Yes, I can't think of a way to reasonably force that is flexible enough to handle the possibility of all zombies deciding to go late and also the possibility of most going early.

I've heard stories about groups of survivors on the shuttle and then "whoops, one of them was initial infected" which just seems unfair.

The idea of a group of survivors escaping on a shuttle with a single one being infected the entire time is hilarious, highly suspenseful for the individual, and a great way to fuck with a group of survivors who have managed to stay alive. Good paranoia IMO

The idea of a group of survivors escaping on a shuttle with a single one being infected the entire time is hilarious, highly suspenseful for the individual, and a great way to fuck with a group of survivors who have managed to stay alive. Good paranoia IMO

Well the force system just starts the countdown, that person could be popping pills to try to outheal the conversion for a minute or two. And we can tune the setpoint for when the virus starts.

Post-death Revive has been removed. A burst heal is present while in crit (sometimes)
ZombieSystem has been split up, all timers respect pause now (I think)

Stuff I said I would do https://github.com/space-wizards/space-station-14/pull/17152#issuecomment-1581635410 is done
I think that all the comments from @metalgearsloth are resolved now. I hope they are happy with where this code is now.

* Zombies biting other zombies do no damage.

This is not cool, you guys are replacing my over 2 weeks old PR (https://github.com/space-wizards/space-station-14/pull/16963) with this one...

* Zombies biting other zombies do no damage.

This is not cool, you guys are replacing my over 2 weeks old PR (#16963), long completed and tested, with this one...

If you complain a 4th time about it I am going to close your PR.

* Zombies biting other zombies do no damage.

This is not cool, you guys are replacing my over 2 weeks old PR (#16963), long completed and tested, with this one...

If you complain a 4th time about it I am going to close your PR.

What's the point of this threat? Seems you're already closing it, since you're going to replace it with this new one. I've started working on that change 2 weeks ago and, desptite being new to both github and ss14's code, I worked on it with dedication and the PR was completed and tested in few days, waiting for approval. And it was just a waste of time: it seems to me you only care about your inner-circle of elite developers, the rest don't count. Do me a favor and make the code closed to changes, don't give us false hopes.

I'm sorry @John-Doom that you feel I replicated your work. I've actually been gathering requests for zombie changes for about a month and the no damage one came up in conversation so I put it in.
I'm not blessed by any means. As you can see, I have 12 open PRs. Several of them have been open with little comment for 2-3 weeks. Patience is needed, the project simply does not have enough maintainers.
https://github.com/pulls?q=is%3Aopen+is%3Apr+author%3Atom-leys+archived%3Afalse+repo%3Aspace-wizards%2Fspace-station-14+
Just take it easy on the admin team, they're doing their best.

@John-Doom my first pr was like 2 weeks before merging you aint special kid

@John-Doom my first pr was like 2 weeks before merging you aint special kid

They got discord banned.

@John-Doom my first pr was like 2 weeks before merging you aint special kid

They got discord banned.

Do you feel proud of both closing my hard work and banning me from discord, so I can't talk with the other players or get the latests news?

@John-Doom my first pr was like 2 weeks before merging you aint special kid

They got discord banned.

Do you feel proud of both closing my hard work and banning me from discord, so I can't talk with the other players or get the latests news? What kind of rules did I break to be treated like a criminal?

You were specifically warned by mirror to stop stirring about it (and I also told you what needed doing twice) but instead you decided to come to an unrelated PR and continue.

Do you feel proud of both closing my hard work and banning me from discord, so I can't talk with the other players or get the latests news? What kind of rules did I break to be treated like a criminal?

Moderators in every community need to remove disruptive people or everyone else will either leave or become disruptive. It might look like a power trip, but it is not.
You can appeal your ban in the forums, but I suggest you promise not to be disruptive in the future and stick with that promise. https://forum.spacestation14.io/index.php?/forum/4-ban-appeals/
It takes what feels like a long time for PRs to be approved in this project. You just need to be patient. I suggest you work on multiple different things so you have multiple PRs "in flight" at a given time. Also, you might want to work on PRs that resolve issues, that way there is little debate that you are working on something a moderator will approve.

Had a longer-form discussion on discord on what people have started disliking about zombies.

authors: EmoGarbage404 John-Doom deltanedas metalgearsloth tom-leys


text:
Ritual chair no longer deletes people when disassembled

About the PR

When ritual chair is disassembled, whatever is buckled to it gets deleted along with it
This PR fixes it
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

fix: Ritual chair no longer deletes mobs on disassembly

only ritual? what about others?

pretty sure the other ones graphs are correct, we had this issue once before

authors: TheArturZh lzk228 mirrorcult


text:
Carp Plush and Rehydratables can now be put into mop bucket.

About the PR
In addition to the shark plush, the space carp plush and the rehydratable syndicate version can now be put in mop buckets.
(Other rehydratables like monkey cubes can also be dropped in but aren't actually visible since they'll mostly just get hydrated right away)
Why / Balance
Mostly because it's neat but there could also be some opportunities for syndies to slip a dehydrated carp into a janitors bucket while it has no water so the carp will only pop out once the jani goes to refill the bucket.
Technical details
Adds a new ReactiveContainerComponent and ReactiveContainerSystem for containers that are also filled with a solution that reactive things should react with when inserted.
Also adds a PlushieCarp tag so the mop bucket can whitelist / display it.
Furthermore the mop bucket shark plush sprites have been moved into janitorial.rsi so that all mop bucket sprites can be in the same place.
Media
SS14 carp.webm

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
None
Changelog
:cl:

add: Carp plushies can now be placed in mop buckets, along with other rehydratable things like monkey cubes.

Carp rush 2.0

what is carp rush

Needs predicting.

Done.

Closed due to no response from PR author; has been continued in #33079.

authors: Psychpsyo SlamBamActionman deltanedas hord-brayden


text:
DamageableSystem cleanup & performance improvements

This PR improves & reorganizes parts of damageable code. It also has a mechanical change - damage modifier sets can no longer convert damage into healing. AFAIK this functionality is unused, and was mainly just a bad idea from the original damageable refactor.
Changes:

DamageableSystem now use component queries.
GetDamagePerGroup() calculations now reuse an existing dictionary instead of creating a new one every time damage changes.
TryChangeDamage() is now somewhat faster, it only creates one new dictionary instead of two and 4 dictionary enumerations have been removed.
ApplyModifierSet() is now somewhat faster by only adding the required fields and removing the TrimZeros() call.
Replaces DamageSpecifier.Total property with the GetTotal() method to make it clearer that it is not a field.
Added a new DamageSpecifier.Any() method and replaced several Total == 0 checks.

test fail seems not erroneous
   Failed ModifierSetTest [21 ms]
  Error Message:
   System.Collections.Generic.KeyNotFoundException : The given key 'Piercing' was not present in the dictionary.
  Stack Trace:
     at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Content.Tests.Shared.DamageTest.ModifierSetTest() in /home/runner/work/space-station-14/space-station-14/Content.Tests/Shared/DamageTest.cs:line 155
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

test fail seems not erroneous

I didn't realize negative damage modifier coefficients were still allowed, so this PR actually has a mechanical effect as well by removing them. Assuming there's no need for negative coefficients I'd rather just remove them, so  I've now updated the PR description, code comments, and test.

sounds reasonable yeah

authors: ElectroJr mirrorcult


text:
Buff Bulk Lizard Plushie Crate

About the PR

Increased the amount of plushies in the bulk lizard plushie crate.
Why / Balance

https://discord.com/channels/310555209753690112/1204995315757879346 the lizards demand more plushies
Technical details

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Changed the amount of plushies in the lizard plushie crate.

Sounds good

Might be worth weighing this with #25132 in mind one way or another.

Might be worth weighing this with #25132 in mind one way or another.

Could make it more expensive i guess..

Ah, thanks for adding in more plushies for my 'Weh' addiction. Much appreciated!

Too many ents, just change the price.

alright, increased price from 2500 to 5000.

Too many ents, just change the price.

alright, increased price from 2500 to 5000.

You did the opposite thing, decrease the price and leave it at 5 plushies.

5 plushie for 500$

Too many ents, just change the price.

alright, increased price from 2500 to 5000.

You did the opposite thing, decrease the price and leave it at 5 plushies.

didnt know if you wanted me to lower the price or increase the price..

authors: DogZeroX IProduceWidgets Kukutis96513 MouseHatsForAll TheShuEd UbaserB metalgearsloth


text:
Food Container Size Increase

About the PR
Increased the container size of all foods (that I could find, anyways) which had their reagents go over the container size.
Each container is at the nearest multiple of 5, with the exception of:

Nettle soup, increased to 30.5 as it has .5 Histamine in it, this means that you wont end up with having .5 of the reagent you had spare. It's purely so it looks pretty.
Super bite burger, it's a big burger, so it can hold a lot of flavouring reagents.
Tofu, made it consistent with it's slices.
Laughin' pea pod and Lemoon, made it exactly the amount because that's a thing that produce has. Presumably for mutagen or something, idk.

Why / Balance
Some foods would have less food then they should have, and things like soups and salads which take bowls would actually  spill when made.
Technical details
Changed the max container size of a bunch of food items. Not sure if this will cause the universe to explode.
Media
Do you want a screenshot of bungo curry? get it yourself
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

can you make chicken sandwiches hold more? when I tried putting a certain addictive chemical in it was already full so I just had to serve the sandwiches and glasses of meth as a side

What I did was only increase the foods that were over capacity, not right on, but yeah, I'll probably do that

i don't know how git works, but the PR is done. enjoy!


text:
Tags are not updated in dashboard.

No tags are update after dashboard creation.  Removing or adding tags, creates terraform changes but applying them has no effect on the dashboard.

There are separate endpoints on the API for updated tags on Alerts and Dashboards. I've add an issue on go-wavefront to add support for this. We can then add support for managing tags to the provider

authors: nathmclean ognnaot


text:
DOC: Add Craig as a maintainer

@eteq , is this the right way to update this file? Offline, you and Craig should meet to lay out scope and expectations. Thank you!

cc @brechmos-stsci

Actually... this is a good question we haven't decided for sure.  CODEOWNERs files are not just documentation - they also auto-set as reviewers, which is not quite the same as "maintainer" as in someone focused on infrastructure or the like.
As someone who's used CODEOWNER more than I, maybe @arfon can advise here?  Put more succinctly, the question is: would you say CODEOWNER is for "person who maintains the infrastructure", "person who reviews content", or both?
(Note mostly to self: we may want to back out #56 depending on the answer to the above.)
Regardless, though, this is a good ping to give @brechmos-stsci and @obviousrebel as maintainers in the team for this repo.  Will do that now.

As someone who's used CODEOWNER more than I, maybe @arfon can advise here? Put more succinctly, the question is: would you say CODEOWNER is for "person who maintains the infrastructure", "person who reviews content", or both?

IMO the CODEOWNERs we most need here are reviewers of content. Maintainers of the overall infrastructure/organization of the repo could be captured elsewhere?

Ops sorry. My bad. 😬
Is README a better place then?

Is README a better place then?

I'm not completely sure TBH. If we all agree that that CODEOWNERS file is most useful for would-be contributors opening pull requests on this repository (and looking for a review) then I think we should restrict CODEOWNERS to reviewers, and list the repo maintainers elsewhere. The README seems like as good a place as any?

After discussing the matter a bit, I think the best course is to have the CODEOWNERS be content as @arfon suggested, and have the infrastructure team be recorded as the GitHub team that has maintainer rights. I don't think there's really a need to keep it in the README itself since that would be duplicating the info that's already in the team membership (which I'll make public).
If that sounds good to you, @pllim and @arfon, we can close this and I'll open another PR with some updates to the codeowners (I've already updated the maintainers team)

If that sounds good to you, @pllim and @arfon, we can close this and I'll open another PR with some updates to the codeowners (I've already updated the maintainers team)

👍

Yes, I agree. Thanks for fixing this mess I created!

authors: arfon eteq pllim

repo: spacetelescope/notebooks


text:
How to use app.js in Asset/JS/App.js

I write JS in Asset/JS/App.js. how to use in page/componnet?

repo: spark-dotnet/framework


text:
Doesn't work on body

Infinite scroll worked on a div, but I want to scroll the document body so the address bar will auto-hide in mobile browsers. Infinite scroll seemed to bind to body, but was not triggered by scrolling.

Fixed in pull request #11

repo: sparkalow/angular-infinite-scroll


text:
[bug] Use of Ruby's memory management causes crash in unrelated code that also uses libxml2

Please describe the bug
This is a problem that occurs in CI when running the tests for alexandria. The test process crashes with Ruby 3.2 and up because libxml2 tries to allocate some memory during garbage collection and this is no longer allowed when using the Ruby allocator.
What I think happens is this:

GC starts
Ruby/GNOME traverses the known GObject objects to mark them
Ruby/GNOME fetches properties (in the GObject sense) for all these objects
One of the properties gets initialized to its default value
As part of this process some SVG is parsed using libxml2
Do do this, libxml2 tries to allocate some memory
Ruby does not want memory to be allocated during GC
The process crashes

In Ruby 3.3.0-preview1 the message is clearer due to https://github.com/ruby/ruby/commit/a1758fbd7fe7406601b0eb1617752db59b83586a

Help us reproduce what you're seeing
See the build results for https://github.com/mvz/alexandria-book-collection-manager/pull/236. I have not been able to reproduce this locally.

Expected behavior

Environment

Additional context

OK, I've looked a bit and I think there are three independent contributing factors that are combining to cause this segfault.
Three contributing factors
First, note that this isn't Nokogiri causing this problem, it's librsvg calling into the libxml2 that Nokogiri vendors. This is happening for complicated reasons, but I'm pretty sure it's because of the issues I outlined in https://github.com/sparklemotion/nokogiri/discussions/2746 -- though note in this case, instead of Nokogiri binding to somebody else's libxml2, it's somebody else binding to Nokogiri's libxml2.
Second, something librsvg is doing is allocating memory during Ruby's GC cycle. I'm not sure why this would be without some digging into the glib2 gem to understand the root cause here. Note that glib2 isn't doing anything obviously illegal by allocating memory during GC -- but I am very very curious why it's doing so much work during the mark phase of GC, and that may be unintentional and something the glib2 maintainers should look at.
Third, Nokogiri is configuring it's version of libxml2 to use ruby's memory management functions which means that ruby_xmalloc is invoke when memory is allocated.
Recommended workaround
These three things combine to cause this segfault. We can eliminate the segfault by removing any one (or more) of these three contributing factors.
The third factor is the easiest to address -- you can set the environment variable to default and it should avoid this issue. If you can do that, please do.
Longer-term fix for Nokogiri
The first factor is something that I'm already planning to fix -- see https://github.com/sparklemotion/nokogiri/discussions/2746 which I'll probably update with a backreference to this issue.
glib2 behavior
The second factor is, ultimately, something up to the glib2 team to decide whether and how to address. It looks like the mark phase of GC is causing (maybe unintentionally) a whole bunch of work to happen.
A cleaned up stack trace from the 3.3.0-preview1 stack dump shows this pretty clearly:
libruby.so.3.3(check_malloc_not_in_gc) (null):0
nokogiri.so(xmlAllocParserInputBuffer+0x1b) [0x7f8e3b72d3ab] /nokogiri-1.15.2/.../libxml2-2.11.4/xmlIO.c:2326
nokogiri.so(xmlAllocParserInputBuffer) (null):0
nokogiri.so(xmlParserInputBufferCreateIO+0x1d) [0x7f8e3b72db5d] /nokogiri-1.15.2/.../libxml2-2.11.4/xmlIO.c:3010
nokogiri.so(xmlCreateIOParserCtxt+0x37) [0x7f8e3b704ed7] /nokogiri-1.15.2/.../libxml2-2.11.4/parser.c:12275
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a72b2da) [0x7f8e1a72b2da]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7539eb) [0x7f8e1a7539eb]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7549ab) [0x7f8e1a7549ab]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7c4d67) [0x7f8e1a7c4d67]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a6da60f) [0x7f8e1a6da60f]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a72dd0d) [0x7f8e1a72dd0d]
/lib/x86_64-linux-gnu/librsvg-2.so.2(rsvg_handle_close+0x336) [0x7f8e1a731006]
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so(0x7f8e2c2ec456) [0x7f8e2c2ec456]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_loader_close+0xeb) [0x7f8e36c13eab]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(0x7f8e36c148e3) [0x7f8e36c148e3]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_new_from_stream_at_scale+0x7f) [0x7f8e36c1498f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f86a54e) [0x7f8e2f86a54e]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_info_load_icon+0x58) [0x7f8e2f86b848]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f873fba) [0x7f8e2f873fba]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f87432f) [0x7f8e2f87432f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_entry_get_icon_pixbuf+0xc4) [0x7f8e2f81bc14]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f818d4d) [0x7f8e2f818d4d]
/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_get_property+0x1d1) [0x7f8e38536e61]
/glib2-4.1.7/lib/glib2.so(gobj_mark+0xa0) [0x7f8e386e4dd0] /glib2-4.1.7/ext/glib2/rbgobj_object.c:295
/glib2-4.1.7/lib/glib2.so(call_cinfo_mark+0xe) [0x7f8e386eeae2] /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:94
/glib2-4.1.7/lib/glib2.so(each_cinfo) /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:80
/glib2-4.1.7/lib/glib2.so(rbgobj_instance_call_cinfo_mark) /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:100
/glib2-4.1.7/lib/glib2.so(holder_mark+0x25) [0x7f8e386e4275] /glib2-4.1.7/ext/glib2/rbgobj_object.c:84
libruby.so.3.3(gc_mark_stacked_objects+0x78) [0x7f8e40ef6cd8] /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:7438
libruby.so.3.3(gc_mark_stacked_objects_all) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:7476
libruby.so.3.3(gc_marks_rest) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8632
libruby.so.3.3(gc_marking_exit+0x0) [0x7f8e40ef7c92] /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8689
libruby.so.3.3(gc_marks) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8700
libruby.so.3.3(gc_start) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:9485

Ah, I went to open an issue on ruby-gnome but discovered that you can implement a get_property method on a descendant of gobject (https://github.com/ToshioCP/Gobject-tutorial/blob/main/gfm/sec5.md#overriding-set_property-and-get_property-class-methods) and so this is likely going to be an issue in whatever gem you're using that's using glib. Maybe you have an idea of what gem that is?
The issue I was going to file looked like this, maybe you could file an upstream issue if you know what gem it is?

g_object_get_property can end up doing a lot of work during the GC mark phase
This is the stack trace of an error that was reported at https://github.com/sparklemotion/nokogiri/issues/2898, which shows that the GC mark phase is triggering some significant computing that requires allocating new memory:
libruby.so.3.2(rb_bug) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:800
libruby.so.3.2(newobj_slowpath+0x0) [0x7f6c86c299a5] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2812
libruby.so.3.2(newobj_slowpath_wb_unprotected) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2849
libruby.so.3.2(newobj_of0+0x16) [0x7f6c86d02ce6] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2886
libruby.so.3.2(newobj_of) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2896
libruby.so.3.2(rb_wb_protected_newobj_of) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2918
libruby.so.3.2(str_alloc_embed+0x10) [0x7f6c86e3ff98] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:894
libruby.so.3.2(str_new0) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:930
libruby.so.3.2(str_new_static+0x17) [0x7f6c86e4556f] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:1041
libruby.so.3.2(rb_enc_str_new_static) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:1076
libruby.so.3.2(warn_vsprintf+0x5) [0x7f6c86cd0644] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:349
libruby.so.3.2(warning_string) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:399
libruby.so.3.2(rb_warning_warn+0x0) [0x7f6c86c28d90] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:414
libruby.so.3.2(rb_write_warning_str) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:342
libruby.so.3.2(rb_warn) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:415
libruby.so.3.2(objspace_xmalloc0+0x13) [0x7f6c86c2990d] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:12289
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlAllocParserInputBuffer+0x17) [0x7f6c814c0557]
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlParserInputBufferCreateIO+0x19) [0x7f6c814c0c89]
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlCreateIOParserCtxt+0x33) [0x7f6c81498cd3]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646002da) [0x7f6c646002da]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646289eb) [0x7f6c646289eb]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646299ab) [0x7f6c646299ab]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c64699d67) [0x7f6c64699d67]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c645af60f) [0x7f6c645af60f]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c64602d0d) [0x7f6c64602d0d]
/lib/x86_64-linux-gnu/librsvg-2.so.2(rsvg_handle_close+0x336) [0x7f6c64606006]
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so(0x7f6c740b1456) [0x7f6c740b1456]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_loader_close+0xeb) [0x7f6c7cab2eab]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(0x7f6c7cab38e3) [0x7f6c7cab38e3]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_new_from_stream_at_scale+0x7f) [0x7f6c7cab398f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586454e) [0x7f6c7586454e]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_info_load_icon+0x58) [0x7f6c75865848]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_theme_load_icon_for_scale+0xcc) [0x7f6c7586ae7c]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75720a74) [0x7f6c75720a74]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75720eb2) [0x7f6c75720eb2]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586cecc) [0x7f6c7586cecc]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586e6f7) [0x7f6c7586e6f7]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_entry_get_icon_pixbuf+0xb6) [0x7f6c75815c06]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75812d4d) [0x7f6c75812d4d]
/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_get_property+0x1d1) [0x7f6c7e3d7e61]
glib2-4.1.7/lib/glib2.so(gobj_mark+0xa0) [0x7f6c7e585ad0] glib2-4.1.7/ext/glib2/rbgobj_object.c:295
glib2-4.1.7/lib/glib2.so(call_cinfo_mark+0xe) [0x7f6c7e58f772] glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:94
glib2-4.1.7/lib/glib2.so(each_cinfo) glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:80
glib2-4.1.7/lib/glib2.so(rbgobj_instance_call_cinfo_mark) glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:100
glib2-4.1.7/lib/glib2.so(holder_mark+0x25) [0x7f6c7e584f75] glib2-4.1.7/ext/glib2/rbgobj_object.c:84
libruby.so.3.2(gc_mark_stacked_objects+0x78) [0x7f6c86cfdc48] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:7437
libruby.so.3.2(gc_mark_stacked_objects_all) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:7477
libruby.so.3.2(gc_marks_rest) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:8675
libruby.so.3.2(gc_marks+0x423) [0x7f6c86cfec63] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:8716
libruby.so.3.2(gc_start) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:9547
libruby.so.3.2(heap_prepare+0x2d) [0x7f6c86d02058] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2431

I don't know glib or GTK very well anymore, but the issue seems to stem from calling g_object_get_property from gobj_mark:
static void
gobj_mark(gpointer ptr)
{
    GObject* gobj = ptr;
    guint n_properties;
    GParamSpec** properties;
    guint i;

    properties = g_object_class_list_properties(G_OBJECT_GET_CLASS(gobj), &n_properties);

    for (i = 0; i < n_properties; i++) {
        GParamSpec* pspec = properties[i];
        GType value_type = G_PARAM_SPEC_VALUE_TYPE(pspec);
        if (G_TYPE_FUNDAMENTAL(value_type) != G_TYPE_OBJECT) continue;
        if (!(pspec->flags & G_PARAM_READABLE)) continue;
        /* FIXME: exclude types that doesn't have identity. */

        {
            GValue gval = G_VALUE_INIT;
            g_value_init(&gval, value_type);
            g_object_get_property(gobj, pspec->name, &gval);
            rbgobj_gc_mark_gvalue(&gval);
            g_value_unset(&gval);
        }
    }

    g_free(properties);
}

This seems like it's an unintentional side effect of some object's get_property implementation.

Thanks @flavorjones for the detailed analysis and explanation!
Based on your three factors, I will

Keep the environment variable set to default in CI.
Investigate setting the environment variable before requiring nokogiri, to avoid any potential crashes when users use alexandria (which is a Gtk+ based GUI program).
Await the result of #2746. As far as I can tell, that should solve the problem.
See if I can find out what is causing so much work to be done in a simple get_property implementation.

@mvz OK, I'm going to close this issue since I don't think there's anything immediately actionable beyond the work at #2746. But I'm happy to continue the conversation if you've got questions, just comment here or on #2746.

authors: flavorjones mvz

repo: sparklemotion/nokogiri


text:
"Mix to" need to be switched back and forth to another wallet for Apply button to work

The destination wallet is open and properly selected but we need to choose another wallet and back for apply button to be active, as if no wallet was selected.

Perhaps I misunderstand, but if you wish to make no change to these settings, why would the Apply button be active? It should only be active if there is a change to configuration that needs to be applied.

I think it's because there's two option, one "Mix to X" and one that is just "Start Mix"
So it seems like "Start mix" will just mix indeast of "Mix to X"
Possibly that the Start mix could change to "Start mixing to X" if there's one set.

Ok - so as I understand it, you were starting the mix by editing the mix configuration rather than just clicking the Start Mixing button, because you felt that just using the "Start Mixing" button would not respect the mix configuration?
First I've heard of this, although I can see the potential for confusion. I'm not sure that changing to "Start mixing to X" will be better though - it seems to suggest that mixing to that X wallet will happen immediately, or on the next mix.

Well the confusion is what makes me go to mixto more often than I need to make sure the wallet has Applied the command properly. If the fields are valid I expect to be able to click "Apply" even if they're the same settings as before.
"Mix!" is a verb that could also mean "Start Mixing"
I thought of a better way to resolve confusion;
When incomplete "Mix to" is good but when filled it could be simply "to walletXYZ"
So it'll end up reading as
[Start Mixing]   [to walletXYZ]
Or could be
[Start mixing]   [Mixing to walletXYZ]
(when set)

If the fields are valid I expect to be able to click "Apply" even if they're the same settings as before.

This is not standard UX practice - something must need to be "applied" for the Apply button to be active.

[Start mixing] [Mixing to walletXYZ]

Agree with this second suggestion, had come to this same conclusion. Implemented in 306f241.

authors: Transisto craigraw

repo: sparrowwallet/sparrow


text:
[Feature Request] Mix From any account

This is a pretty straightforward request, and I think can be accommodated.  It would be nice to be able to pick UTXOs from any arbitrary non-whirlpool account (or at least the first "n" accounts?) to be used in a Tx0 transaction for Whirlpool.
I use multiple accounts, some of which I've setup as multiple separate watch-only wallets on my mobile.  (It's not my use case, but I can imagine a setup where each account is permissioned differently, shared with different sets of watch-only users, etc.).  Currently, to add UTXOs from Accounts 1+, a pre-transaction needs to be done to move it to the Deposit Account #0.  This would let us avoid that first extra transaction (this seems prudent, given current blockspace debates taking place among the broader community of developers).

I agree this would be useful, and has been in development from the Samourai team who maintain the Java Whirlpool client. I hope to add support for this soon.

Can this and other features be closed after https://github.com/sparrowwallet/sparrow/releases/tag/1.9.0 removed Whirlpool?

authors: Giszmo MaverickJones craigraw


text:
Discussion: Would it make sense to replace file_get_contents with guzzle

Hello,
we've encountered an issue with our robots.txt checks. For sites that are not live yet, we expect the checks to fail, but there is no way to set the timeout and these checks take really long time to finish (in the meantime our monitoring system OhDear fails to fetch healtcheck results because response-time is around 30s). But there is no nice way to lower the response time for only these checks (at least not one that I'm aware off).
I know there is a way to set timeout on guzzle, maybe it is on other php http clients as well, but guzzle is the only one I'm familiar with. curl would be another option since it allows setting timeout as well.
Regards
Lio

I agree that this could/should be more flexible. Currently I have no time for handling this.
I'd be open for a PR that solves this:

clean
extensible
tested
documented

@freekmurze thank you for your quick response. I've played around with replacing file_get_contents with curl but I was not able to achieve any progress due to https://github.com/curl/curl/issues/9272. No matter the timeout I set, all failed reuests to robots-txt were taking nearly 5 seconds.

@freekmurze thank you for your quick response. I've played around with replacing file_get_contents with curl but I was not able to achieve any progress due to https://github.com/curl/curl/issues/9272. No matter the timeout I set, all failed reuests to robots-txt were taking nearly 5 seconds.

authors: freekmurze ivangrozni

repo: spatie/robots-txt


text:
Validate tool unable to handle large SBOMS

It appears, to be confirmed, that the SBOM validate tools are unable to handle large SBOMs (>1000 nodes).

A problematic file is attached to this issue. More examples are also available with same error.
keycloak-13.0.1.zip-too-big.txt

@dkruszew I'm going to move this over to the SPDX online tools repo.
I believe the issue is related to the connection timing out prior to completing the request.
In looking at the file, it is quite large at 122,244 lines.
You can download the latest commandline version of the SPDX online tools from the release page and run locally.
I tried this and it took 1 minute 46 seconds on a laptop.  This is processing 1,153 lines per second - slower that I would of expected but not crazy unreasonable.
I noticed you have a lot of relationships in this document.  One optimization that would make a potentially big difference is to cache the verification results of each element so we don't end up re-traversing the same nodes when we reference the same file.
I've added an issue to track this enhancment: https://github.com/spdx/tools-java/issues/20

authors: dkruszew goneall

repo: spdx/tools


text:
Provide const constructors for "empty" - e.g. Option none and IList nil

I would like to add default values to optional function parameters such as:
void process([Option<X> param = none()]) { ... }

This results in the error Default values of an optional parameter must be constant.
Enhancement request - add  "const constructors" to dartz for simple "empty" values such as Option none and IList nil.
My current error prone workaround is to leave the default as null and use the "if null" operator ?? to replace the parameter param ?? none().

I tried adding "const constructors" to dartz such as described by Stack Overflow issue How to write abstract class constructors so that it will be flexible for extending in sub classes but quickly ran into issues with mixins https://github.com/dart-lang/sdk/issues/29395 and https://github.com/dart-lang/sdk/issues/32223. It's never as straightforward as it should be...

Good suggestion -- I've been wanting this as well, but haven't been able to get it to work under strong mode either. However, with the existing fake higher-kinded mixins being close to useless under Dart 2, I was thinking of killing them off anyway. This might get rid of the problem and allow const constructors for some of the types. I'm currently on vacation, but will have a look soon!

@spebbe did you get a chance to look into it?

@modulovalue, i've been trying out a couple of solutions to this but got stuck deciding which path to follow. If I push a branch with my current favourite solution, would you, @rich-j and/or anyone else be willing to try it out and see if it looks ok to you?
One problem is that 'const' + type reification behaves strangely in certain situations, but it might be possible to work around or just learn to live with.

I'm up for trying out your implementation. Though I admit that we've been trained to not push the Dart type system very hard - probably because the compiler always wins ;-)

@rich-j, @modulovalue Cool! I've pushed the branch 0_9_0_wip_2, with some const support for IList, Option, Unit and some other types. There are plenty of other changes, including a couple of removals (mainly monad transformers) and a few things that aren't backwards compatible... Also, Conveyor kind of works on Dart 2 now! It is a work in progress though, so beware of bugs and/or incomplete functionality.
Good luck -- feedback, suggestions and/or PR:s are very welcome!

Branch 0_9_0_wip_2 so far shows no issues with our code or tests. Plus we can now specify default values - yea!
void process([Option<X> param = const None()]) { ... }

One dart aspect that threw me was the need to specify the default value with a const keyword. Shouldn't dart know that it's const?  It took me a little digging to find DON’T use const redundantly which specifies that:

Default values are not included in this list because future versions of Dart may support non-const default values.

Also I noted that we can't use the none() or nil() convenience functions to define const values  because of the const rules.
For anyone that wants to try this pre-release just change the pubspec.yaml dependency to:
dartz:  #'^0.8.3'
  git:
    url: https://github.com/spebbe/dartz
    ref: 0_9_0_wip_2

That's great @rich-j -- thanks for trying it out!
I'll try to fill in the blanks so that this can be released properly, but it might be a couple of weeks away.
BTW, I tried declaring none() like Option<A> none<A>() => const None(); and it actually type checks! However, the return value will always have a runtime reified type of Option<Null> and then all hell breaks loose on DDC and friends. I assume this is a bug in the analyzer/compiler and that this shouldn't actually pass as valid code, but I'll file a ticket and see what happens.

@spebbe could you publish a version of dartz that contains the const updates on pub.dev? or maybe at least 0.9.0wip as a prerelease?

@modulovalue, Yes! I don't know why I haven't done that earlier -- i'll publish tonight.

Published 0.9.0-dev.1

Hell just froze over! 0.9.0 is merged to master and released to pub.dev.

I am curious if I miss something, but I cannot make const IList or Option as it's an abstract class.
Ilist<int> projectIds = const IList<int>() //It's a abstract class

Correct, you can't create an instance of an abstract class. You need to create instances from the implementation classes. For Option constants use either None or Some. For IList use Nil for an empty list - note the Cons constructor is not const so you can't create a constant IList with data.
Ilist<int> projectIds = const Nil<int>();
Option<int> maybeId = const None<int>();

Thank you ❤ . That is precisely what I need.

authors: Musta-Pollo modulovalue rich-j spebbe

repo: spebbe/dartz


text:
Display extension still when space for filename is not enough

Ref: #305
The PR makes the app display filename always with its extension, even when the space is not enough. Ellipsis when overflowing will occurs at the end of the basename. Though someone can still not see the full filename on mobile devices, the extension may help to get information about the files.
DRAWBACK: When screen is resized, sometimes there will be a small gap between the ellipsis and extension, which looks a little strange.

Try: https://github.com/matt-d-rat/react-middle-truncate?

react-middle-truncate works wired indeed. Here is a screencast:
https://user-images.githubusercontent.com/49339031/153558894-a4337b4b-10c3-4931-879e-d872a626faf0.mp4
I do not know if I misused it or else. The diff is:
diff --git a/components/FileListing.tsx b/components/FileListing.tsx
index 09fac0f..c0097c2 100644
--- a/components/FileListing.tsx
+++ b/components/FileListing.tsx
@@ -45,6 +45,9 @@ const EPUBPreview = dynamic(() => import('./previews/EPUBPreview'), {
   ssr: false,
 })

+// Disabling SSR due to windows var
+const MiddleTruncate = dynamic<any>(() => import('react-middle-truncate/lib/react-middle-truncate'), { ssr: false })
+
 /**
  * Convert url query into path string
  *
@@ -71,14 +74,9 @@ const formatChildName = (name: string) => {
   return render ? name.replace(emoji ? emoji[0] : '', '').trim() : name
 }
 export const ChildName: FC<{ name: string }> = ({ name }) => {
-  let basename = formatChildName(name)
-  const extension = getExtension(basename)
-  basename = basename.substring(0, basename.length - extension.length)
-  return (
-    <span className="truncate before:float-right before:content-[attr(data-tail)]" data-tail={extension}>
-      {basename}
-    </span>
-  )
+  const childName = formatChildName(name)
+  const extension = getExtension(childName)
+  return <MiddleTruncate text={childName} end={extension.length} />
 }
 export const ChildIcon: FC<{ child: OdFolderChildren }> = ({ child }) => {
   const { render, emoji } = renderEmoji(child.name)

I tried a few other options including: https://github.com/bluepeter/react-middle-ellipsis

1
2

Still not as good. Seems like the div measuring doesn't like flexboxes - they either overflow or truncate too much characters. Let's stick to this basic version of extracting and displaying the extension only.

repo: spencerwooo/onedrive-vercel-index


text:
Document how to install dependencies for tests (Fixes #919)

Hi, I ran into the same issue described here: https://github.com/spf13/hugo/issues/919
And @tatsushid's solution worked for me too. This commit adds the command to the documentation.

+1

Hello @egonSchiele,
thank you for submitting this addition. I've merged your contribution as 51ee3fc73595a86ecf0b69ab6a4f27f56159224f (master) and 2fd9d71f4484ed21970efeb4fab5e2106d646b1a (v0.15.docs).
Cheers,
Digitalcraftsman

Cool, thanks @digitalcraftsman !


text:
Apply a function over a sequence

Note: The description below is no longer valid. See this comment for a current correct description of this PR, which is ready but I have some suggested usability improvements.

@derekperkins, I was playing around with the code in #683 tonight and it’s
missing some functionality that I really want—and I mostly have it working, but
there are some incompatibilities with the delimit function as written.
Basically, I want to replace this:
{{ with .Params.tags }}

  Tags//
  {{ $len := len . }}
  {{ if eq $len 1 }}
    {{ partial "post/tag/link" (index . 0) }}
  {{ else }}
    {{ $last := sub $len 1 }}
    {{ range first $last . }}
      {{ partial "post/tag/link" . }},
    {{ end }}
    {{ partial "post/tag/link" (index . $last) }}
  {{ end }}

{{ end }}

with this:
{{ with .Params.tags }}

  Tags//
  {{ delimit (apply (sort .) "partial" "post/tag/link" ".") ", " }}

{{ end }}

This means:

Sort .Params.tags.
Loop over .Params.tags, replacing each tag with the output of partial
with "post/tag/link" as the partial and the tag as the context (.).
Delimit the resulting objects with ", ".

The result of partial is an HTML template, which is not trivially convertible
to a string, so I’m hitting panics in the delimit code because it tries to
cast.StringE each value. If that isn’t done, you can’t easily concatenate the
delimiters to HTML template…and you want it to be safeHtml in this case (but
I could probably do that with an appropriate | safeHtml at the end of the
delimit).
There’s a few things I don’t like about this particular syntax, but it offers
some intriguing capabilities if we can get it working (I do have apply
working in this branch, but not with your functions underneath).

As soon as this is green, this is good to go.

Merged in ae9c25a. This is very handy, looking forward to clean ups some of my templates with this.

authors: bjornerik halostatue