Repeating git commands causing progress badge to constantly appear

Type: Bug
I noticed the progress badge for the SCM tab in the activity seemed to be flickering so I checked the log and it seems to be repeating commands that produce "NotAGitRepository" errors. This seems to be happening because I have some files open that belong to git repos, while other files don't belong to git repos.
I was able to partially reproduce the issue with newly created directories, one of which was git repo, while the others were not. Oddly, the error did not constantly repeat itself. The error only repeated with my actual workspace, where I have files from several different repositories.
As a temporary solution I've set "git.showProgress" to false to disable the progress badge entirely. However, I'd much prefer to actually use the progress badge.
I've included a trace-level log from my attempt to reproduce the issue. I've also included a screen recording showing the problem.

Log
2023-02-06 23:26:22.044 [info] Log level: Trace
2023-02-06 23:26:22.044 [info] Validating found git in: "C:\Program Files\Git\cmd\git.exe"
2023-02-06 23:26:22.044 [info] Using git "2.39.1.windows.1" from "C:\Program Files\Git\cmd\git.exe"
2023-02-06 23:26:22.044 [trace] [swf] Scan workspace folders: [d:\Downloads\test1]
2023-02-06 23:26:22.044 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:26:22.044 [trace] [swsf] Scan workspace sub folders. autoRepositoryDetection=true
2023-02-06 23:26:22.044 [trace] [swsf] Workspace folder: d:\Downloads\test1
2023-02-06 23:26:22.044 [trace] Opening repository: d:\Downloads\test1
2023-02-06 23:26:22.044 [trace] [swsf] Workspace scan settings: repositoryScanMaxDepth=1; repositoryScanIgnoredFolders=[node_modules]; scanRepositories=[]
2023-02-06 23:26:22.044 [trace] [swsf] Workspace scan sub folders: []
2023-02-06 23:26:22.060 [info] > git rev-parse --show-toplevel [27ms]
2023-02-06 23:26:22.060 [trace] Repository root for path d:\Downloads\test1 is: d:\Downloads\test1
2023-02-06 23:26:22.087 [info] > git rev-parse --git-dir --git-common-dir [25ms]
2023-02-06 23:26:22.090 [info] Open repository: d:\Downloads\test1
2023-02-06 23:26:22.090 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:22.096 [info] No remotes found in the git config file.
2023-02-06 23:26:22.121 [info] > git config --get commit.template [27ms]
2023-02-06 23:26:22.122 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [27ms]
2023-02-06 23:26:22.127 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:22.153 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [26ms]
2023-02-06 23:26:22.154 [trace] Operation end: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:22.188 [info] > git status -z -uall [63ms]
2023-02-06 23:26:22.189 [trace] Operation end: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:22.190 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:22.196 [info] No remotes found in the git config file.
2023-02-06 23:26:22.222 [info] > git config --get commit.template [29ms]
2023-02-06 23:26:22.223 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [27ms]
2023-02-06 23:26:22.228 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:22.256 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [28ms]
2023-02-06 23:26:22.256 [trace] Operation end: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:22.257 [info] > git status -z -uall [32ms]
2023-02-06 23:26:22.258 [trace] Operation end: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:22.274 [debug] [wt] Change: d:\Downloads\test1\.git\fsmonitor--daemon
2023-02-06 23:26:22.274 [debug] [wt] Change: d:\Downloads\test1\.git\fsmonitor--daemon\cookies
2023-02-06 23:26:22.274 [debug] [.git] Change: d:\Downloads\test1\.git\fsmonitor--daemon
2023-02-06 23:26:22.608 [trace] Operation start: CheckIgnore (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:22.633 [info] > git check-ignore -v -z --stdin [25ms]
2023-02-06 23:26:22.634 [trace] Operation end: CheckIgnore (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:23.280 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:23.286 [info] No remotes found in the git config file.
2023-02-06 23:26:23.329 [info] > git config --get commit.template [47ms]
2023-02-06 23:26:23.330 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [44ms]
2023-02-06 23:26:23.334 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:23.361 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [27ms]
2023-02-06 23:26:23.362 [trace] Operation end: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:23.362 [info] > git status -z -uall [30ms]
2023-02-06 23:26:23.363 [trace] Operation end: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-06 23:26:25.072 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:26:25.072 [trace] [svte] Repository for editor resource d:\Downloads\test1\readme1.txt already exists: d:\Downloads\test1
2023-02-06 23:26:25.281 [trace] Operation start: Show (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:25.283 [trace] Operation start: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:25.309 [info] > git ls-files --stage -- D:\Downloads\test1\readme1.txt [26ms]
2023-02-06 23:26:25.309 [trace] Operation end: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:25.309 [info] > git show --textconv :readme1.txt [28ms]
2023-02-06 23:26:25.310 [trace] Operation end: Show (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-06 23:26:29.799 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:26:29.880 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:26:29.880 [trace] [svte] Open repository for editor resource d:\Downloads\test2\readme2.txt
2023-02-06 23:26:29.884 [trace] Opening repository: d:\Downloads\test2
2023-02-06 23:26:29.928 [info] > git rev-parse --show-toplevel [44ms]
2023-02-06 23:26:29.928 [info] fatal: not a git repository (or any of the parent directories): .git
2023-02-06 23:26:29.929 [trace] Opening repository for path='d:\Downloads\test2' failed; ex=Failed to execute git {
  "exitCode": 128,
  "gitErrorCode": "NotAGitRepository",
  "gitCommand": "rev-parse",
  "stdout": "",
  "stderr": "fatal: not a git repository (or any of the parent directories): .git\n"
}
2023-02-06 23:26:36.458 [trace] [swf] Scan workspace folders: []
2023-02-06 23:26:39.544 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:26:39.545 [trace] [svte] Open repository for editor resource d:\Downloads\test2\readme2.txt
2023-02-06 23:26:39.547 [trace] Opening repository: d:\Downloads\test2
2023-02-06 23:26:39.575 [info] > git rev-parse --show-toplevel [29ms]
2023-02-06 23:26:39.576 [info] fatal: not a git repository (or any of the parent directories): .git
2023-02-06 23:26:39.576 [trace] Opening repository for path='d:\Downloads\test2' failed; ex=Failed to execute git {
  "exitCode": 128,
  "gitErrorCode": "NotAGitRepository",
  "gitCommand": "rev-parse",
  "stdout": "",
  "stderr": "fatal: not a git repository (or any of the parent directories): .git\n"
}
2023-02-06 23:27:38.695 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:27:38.773 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true
2023-02-06 23:27:38.773 [trace] [svte] Open repository for editor resource d:\Downloads\test3\inner\readme3.txt
2023-02-06 23:27:38.776 [trace] Opening repository: d:\Downloads\test3\inner
2023-02-06 23:27:38.815 [info] > git rev-parse --show-toplevel [38ms]
2023-02-06 23:27:38.815 [info] fatal: not a git repository (or any of the parent directories): .git
2023-02-06 23:27:38.815 [trace] Opening repository for path='d:\Downloads\test3\inner' failed; ex=Failed to execute git {
  "exitCode": 128,
  "gitErrorCode": "NotAGitRepository",
  "gitCommand": "rev-parse",
  "stdout": "",
  "stderr": "fatal: not a git repository (or any of the parent directories): .git\n"
}

Code_2023-02-06_23-22-27.webm
VS Code version: Code 1.75.0 (e2816fe719a4026ffa1ee0189dc89bdfdbafb164, 2023-02-01T15:23:45.584Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 9 5950X 16-Core Processor             (32 x 3400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
63.90GB (39.80GB free)

Process Argv
--crash-reporter-id 6e042173-714b-4856-9752-72ac64f95cfb

Screen Reader
no

VM
0%

Extensions (33)

Extension
Author (truncated)
Version

vscode-sql-formatter
adp
1.4.4

ksp-cfg-support
al2
0.2.1

vscode-subtitles
ast
0.4.0

vscode-django
bat
1.10.0

vscode-eslint
dba
2.4.0

githistory
don
0.6.19

overtype
DrM
0.4.7

shell-format
fox
7.2.2

vscode-graphql
Gra
0.8.5

vscode-graphql-syntax
Gra
1.0.6

twitch-chat-log-language
JAK
1.0.4

latex-workshop
Jam
9.6.1

vsc-python-indent
Kev
1.18.0

gnuplot
mam
1.0.5

vscode-autohotkey-plus-plus
mar
3.2.0

Kotlin
mat
1.7.1

rainbow-csv
mec
3.5.0

isort
ms-
2022.8.0

python
ms-
2023.2.0

vscode-pylance
ms-
2023.2.10

remote-containers
ms-
0.275.0

remote-ssh
ms-
0.96.0

remote-ssh-edit
ms-
0.84.0

remote-wsl
ms-
0.75.1

vscode-remote-extensionpack
ms-
0.23.0

powershell
ms-
2023.1.0

remote-explorer
ms-
0.2.0

gremlins
nho
0.26.0

subtitles-editor
pep
1.1.7

logcat-color
Rai
0.0.1

vscode-xml
red
0.24.0

vscode-fileutils
sle
3.10.0

code-spell-checker
str
2.16.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vscaat:30438848
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
vsccc:30610678
pyindex848:30577860
nodejswelcome1:30587005
282f8724:30602487
pyind779cf:30657577
89544117:30613380
pythonsymbol12:30657548

I just noticed #173513, which appears to describe this same issue, but from VS Code 1.74.3. I thought this problem was introduced with 1.75.0, but it may have been present in earlier versions and I never noticed until now.

I've updated to 1.75.1 and the issue is still present, though I'm no longer getting the "NotAGitRepository" log message. I've included the log with the --log trace --disable-extensions flags.

Log
2023-02-10 13:58:37.322 [info] Log level: Trace
2023-02-10 13:58:37.322 [info] Validating found git in: "C:\Program Files\Git\cmd\git.exe"
2023-02-10 13:58:37.322 [info] Using git "2.39.1.windows.1" from "C:\Program Files\Git\cmd\git.exe"
2023-02-10 13:58:37.322 [trace] [swf] Scan workspace folders: [d:\Documents\personal-notes]
2023-02-10 13:58:37.322 [trace] [svte] Scan visible text editors. autoRepositoryDetection=subFolders
2023-02-10 13:58:37.322 [trace] [swsf] Scan workspace sub folders. autoRepositoryDetection=subFolders
2023-02-10 13:58:37.322 [trace] [swsf] Workspace folder: d:\Documents\personal-notes
2023-02-10 13:58:37.322 [trace] Opening repository: d:\Documents\personal-notes
2023-02-10 13:58:37.323 [trace] [swsf] Workspace scan settings: repositoryScanMaxDepth=1; repositoryScanIgnoredFolders=[node_modules]; scanRepositories=[]
2023-02-10 13:58:37.323 [trace] [swsf] Workspace scan sub folders: [d:\Documents\personal-notes\.vscode]
2023-02-10 13:58:37.374 [trace] [swf] Scan workspace folders: [d:\Documents\personal-notes]
2023-02-10 13:58:37.407 [info] > git rev-parse --show-toplevel [87ms]
2023-02-10 13:58:37.409 [trace] Repository root for path d:\Documents\personal-notes is: d:\Documents\personal-notes
2023-02-10 13:58:37.437 [info] > git rev-parse --git-dir --git-common-dir [28ms]
2023-02-10 13:58:37.441 [info] Open repository: d:\Documents\personal-notes
2023-02-10 13:58:37.441 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-10 13:58:37.444 [trace] Opening repository: d:\Documents\personal-notes\.vscode
2023-02-10 13:58:37.474 [info] > git rev-parse --show-toplevel [30ms]
2023-02-10 13:58:37.474 [trace] Repository root for path d:\Documents\personal-notes\.vscode is: d:\Documents\personal-notes
2023-02-10 13:58:37.474 [trace] Repository for path d:\Documents\personal-notes already exists
2023-02-10 13:58:37.474 [trace] Opening repository: d:\Documents\personal-notes
2023-02-10 13:58:37.474 [trace] Repository for path d:\Documents\personal-notes already exists
2023-02-10 13:58:37.477 [info] > git config --get commit.template [29ms]
2023-02-10 13:58:37.480 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [28ms]
2023-02-10 13:58:37.485 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:37.512 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [27ms]
2023-02-10 13:58:37.512 [trace] Operation end: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:37.513 [info] > git status -z -uall [30ms]
2023-02-10 13:58:37.515 [trace] Operation end: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-10 13:58:37.516 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-10 13:58:37.554 [info] > git config --get commit.template [35ms]
2023-02-10 13:58:37.555 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [33ms]
2023-02-10 13:58:37.560 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:37.587 [info] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [27ms]
2023-02-10 13:58:37.588 [trace] Operation end: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:37.588 [info] > git status -z -uall [30ms]
2023-02-10 13:58:37.589 [trace] Operation end: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-10 13:58:37.597 [debug] [wt] Change: d:\Documents\personal-notes\.git\fsmonitor--daemon\cookies\2820-205
2023-02-10 13:58:37.717 [trace] [swf] Scan workspace folders: []
2023-02-10 13:58:37.722 [debug] [wt] Change: d:\Documents\personal-notes\.git\fsmonitor--daemon\cookies\2820-206
2023-02-10 13:58:37.953 [trace] Operation start: CheckIgnore (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:37.977 [info] > git check-ignore -v -z --stdin [24ms]
2023-02-10 13:58:37.977 [trace] Operation end: CheckIgnore (blocking: false, readOnly: true; retry: false; showProgress: false)
2023-02-10 13:58:38.109 [debug] [wt] Change: d:\Documents\personal-notes\.git\fsmonitor--daemon\cookies\2820-207
2023-02-10 13:58:39.112 [trace] Operation start: Status (blocking: false, readOnly: false; retry: false; showProgress: true)
2023-02-10 13:58:39.141 [info] > git config --get commit.template [26ms]
2023-02-10 13:58:39.142 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [25ms]
2023-02-10 13:58:39.146 [trace] Operation start: GetRefs (blocking: false, readOnly: true; retry: false; showProgress: false)

Reproduced also on 1.75.1.
In the short term, since this was driving me mad, I used the Hide Badge option.

I've updated to 1.76.0 and the issue is still present.

I've updated to 1.78.2 and I still have this problem.

@JAK0723, I have recently fixed an issue very similar to this one. The fix is already included in the latest Insiders release. I will go ahead and optimistically close this issue. Please download the latest Insiders release and reopen the issue if you are still able to reproduce it. Thank you!


Nukmer Coler

About the PR
This PR adds the Nuka-Cola Machine, basic Nuka Cola, and Irradiated Nuka Cola. Also adds some Nuclear14 files for organization. Small, and simple.
Changelog

:cl:

add: Added the Nuka-Cola Machine, regular ol' Nuka Cola, and Irradiated Nuka Cola.

fixed all the stuffs


added  -i / -max-iterations option

I was also considering implementing eps / stopping when the graph becomes stable. But need to think about how to best implement that.
(This PR is based on the previous PR, probably best to merge the other PR first)

If you want to check it out, there are some details about PageRank with epsilon and one way to do it here:
https://github.com/frankmcsherry/blog/blob/master/posts/2017-08-21.md
There is also some code in the timely repo, but it is much less optimized than this code.
One big difference is that you lay out the data differently: this project lays the data out by edge destination, so that accumulation happens without random access / lookups. When you want to do "sparse" work, you typically want to lay the data out by edge source.

Also looks good to me; thank you!
Fwiw (no need to update) there are a few Rust idiomatic things that may make the code less awkward looking. Not that they'll necessarily make it fully pleasant by themselves, though. :)
For example
match peer_output_path {
    Some(ref path) => write_pagerank_values_to(&path, &src, index, peers, nodes),
    None => {}
}

can be rewritten as
if let Some(ref path) = peer_output_path {
    write_pagerank_values_to(&path, &src, index, peers, nodes);
}

or (less clearly, I find) as
peer_output_path.as_ref().map(|path| write_pagerank_values_to(&path, &src, index, peers, nodes));

Thank you. Both for the pointing me to the sparse solution and the Rust advise. I will have a look. At this moment I don't need fully optimized but to "just work" for about 270 M edges. But the epsilon would be good anyway just to know when it's stable (but of course if it is not much effort I'll take the more optimized version).
I was also considering wrapping it as a Python library but I think I am getting carried away.
I agree, I prefer the second option. I'll use that next time.

At this moment I don't need fully optimized but to "just work" for about 270 M edges.

I would double check that it is producing the outputs that you want, btw. There is not universal agreement on what pagerank values should be, especially wrt "pre-blending" or "post-blending" or "normalized to sum to 1.0" vs "not normalized at all". There should be a simple graph-agnostic transformation from the output values to any of these, but do check before you plug them in somewhere, and complain if you don't like how they turn out. :)


[BUG]: "c is not defined" error in Stores nested reactivity playground tutorial

In the Playground Stores nested reactivity even after clicking on solve throws an error as
c is not defined
at Object.fn (blob:https://www.solidjs.com/3b9da96b-4f17-4a73-9277-a86c079f1baa:8:24)
at runComputation (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:688:22)
at updateComputation (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:671:3)
at runTop (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:788:7)
at runQueue (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:875:5)
at completeUpdates (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:824:7)
at runUpdates (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:810:5)
at writeSignal (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:635:7)
at setter (https://cdn.skypack.dev/-/solid-js@v1.7.11-8423VVsYWPLIcUbulGlF/dist=es2019,mode=imports/optimized/common/solid-647953fd.js:185:12)
at addTodo (blob:https://www.solidjs.com/525c0f59-0c04-40b0-81b7-8c3da87e1bc7:14:5)

Attaching a screenshot from Chrome 115.0.5790.171 on Windows 11

I'm having trouble reproducing this... Maybe try a hard refresh?

I'm having trouble reproducing this... Maybe try a hard refresh?

yep. After refreshing cache its working fine


Upstream sync0010

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
497

Relevant Lines:
550

💛  - Coveralls


syncing

@mkostin
Hi Max, in case you can help.  I forked the msopentech\opencv in June.  I found couple of commits by you from back in April in the forked repo that don't show up in the msopentech\opencv.  Since I forked in June I'd expect the commits are in the upstream.
I'm curious if you'd have some thoughts how this might happen.  Thanks!
https://github.com/stjong/opencv/commit/b56f591dda12925bba4b8ff0ce41f04802640af7
https://github.com/stjong/opencv/commit/be777684a33a732e0a4e4c2b9840a2a0fcb3f6f4

@stjong some time ago OCV refactored highgui module and extracted video logic into videoio module, thus WinRT related logic has been refactored as well. Use master (Itseez or Microsoft) branch as a reference point, it contains all the latest bits.

@mkostin, thanks for the info, it's good to know as we learn more about the implementation.
Perhaps this is more of a question about git as we are pulling our changes in stjong to Microsoft.  After doing a sync (pull from Microsoft to stjong), I still see the files from the 2 commits in the the forked repo (stjong).   Do you remember if the two commits were reverted in Microsoft?   But if so, the forked repository pulling all the changes in from Microsoft should see that and be in sync'ed (i.e. I shouldn't be seeing left over files).
Let me know if something is obvious..  Thanks Max!


[NEW ICON] Skill Name

Skill Name
Terraform
Why?
Will be useful for people who work in the DevOps field
Reference Image
No response

Duplicate issue of #147


Added sintlucasedu

Sintlucas, Eindhoven
https://www.sintlucas.nl/
https://www.sintlucas.nl/opleiding/software-development/
https://adfsproxy.sintlucas.nl/adfs/ls/?client-request-id=d77467a0-10a2-5000-110f-9e185d500d00&wa=wsignin1.0&wtrealm=urn%3Afederation%3AMicrosoftOnline&wctx=LoginOptions%3D3%26estsredirect%3D2%26estsrequest%3DrQQIARAAnZE_aNRQHMfzLtfYqz171kVwk05CLu8lL3nvHQhNLgk63YladZCSPy-9a--SNH-wOjo5SZFOgiKFKtzoJJ0cnLp4iwgdnYqoFKeO3uHSsfQ7fPnx_X2HH5_fDRE1UWsJ_pcmT12GUYTkgE-nU8oW5xrv1orvuw2he3nh7dXH3bowAqxXFGneUpS8HxeDMvByHpbxoJn3vIynySRsBslQWY2SbJgrIY-8clA0vTzd-gTAGIAjAEaVTWpBYlqWzig2LWyaRGUYM9NAuG1pCJnEcttEd5GFXMNwnLasMeboxEWGAW3GsG7ocLLVCGWWgw0GGXYsDarYtjXEoMUw04jpwjayiGObqn1YWeiYZdFTp5Zk_Wf8b6U2vXE1TfLitVjt2PDJSDwTmI-TGsXUg9SQfcSZjKlGZKqqXOYR1yhCuscieCBKScrjfvhDvLbe9HmZ5Rs8zpdPg2vGg3EV_KxW4OxJFezOTJDfLXbe_Hn_1d5bvvIy_TUvHMwo7kroGNodP4sfruCtTpZsPhjeV6CzVg74PdtaV54qJSSPbnfVjZukhbYlsC1J-1JtVmwI18V2Fx1J4FgCLy4I-7Xz_298ERzOo7lakPiZF4f9cHEJIT-kkGoyJRzKGPm67PuEytAPsBZQj3LqPa-fqfa5Lpxc2jv-tvPl1Yfft_4B0&cbcxt=&username=j.beurskens%40sintlucasedu.nl&mkt=&lc=
The Domain is different from the URL-domain because @sintlucasedu.nl is for all the students, and @sintlucas.nl is for the teachers and professors at the school.

@jiri132 lib/domains/nl/sintlucasedu: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

hey thanks for checking it out,
When trying to change it I found that the correct file already existed my bad and have a good day.


HHH-13040 - MetadataBuilderContributor should be applied before MetadataBuildingProcess.prepare

https://hibernate.atlassian.net/browse/HHH-13040

@gsmet I think this one should also be backported to 5.3 as well. It's a small change, without major risks since it's quite a new functionality, but the benefits for the user are nice, hence we might want to backport it.

Thanks, merged. Marked it as a potential candidate for backporting but I wouldn't hold my breath if I were you.
Hopefully, we will get 5.4 out of the door soon.

@gsmet Most users don't know about this new property, but it could be that they discover it later from the docs, and if we don't backport it, they won't be able to register the AttributeConverters dynamically. Anyway, thanks for integrating it.


dnf4: 4.19.2 -> 4.20.0

Description of changes
https://github.com/rpm-software-management/dnf/releases/tag/4.20.0
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 306788 run on x86_64-linux 1

11 packages built:

dnf-plugins-core (python311Packages.dnf-plugins-core)
dnf-plugins-core.man (python311Packages.dnf-plugins-core.man)
dnf4
dnf4.man
dnf4.py
python311Packages.dnf4
python311Packages.dnf4.man
python311Packages.dnf4.py
python312Packages.dnf4
python312Packages.dnf4.man
python312Packages.dnf4.py


Support running tests prefixed with f or x

Currently you get the Run | Debug commands on top of every describe, it, etc.

In my case I need to keep compatibility with Karma/Jasmine, and for testing I sometimes need to rename describe or it to either fdescribe, xit, etc., but would still need the ability to run tests with vscode-jest-runner on demand with the command.

Is it possible to make the Run | Debug commands appear on top of fdescribe, xdescribe, fit and xit as well?

probably thats possible by including them here:
https://github.com/firsttris/vscode-jest-runner/blob/14079944bbee5026689e489ce0808a76953642d1/src/util.ts#L24
have not tested it.
step for testing:
1.) clone the project
2.) npm install
3.) Go to Menu "Run" => "Start Debugging"
4.) test your test-project with the new vscode instance just opend.
regards
Tristan

What about the it?

i think that might be a change to jest-editor-support


Doc update: Remove querydsl-apt from regular classpath

When a dependency is set to 'provided' the classes are available on classpath during development. Even worse: The compiler is compiling the code with success and the implementation will fail due runtime.
The solution for that issue is (I think): Add the dependency to the maven plugin itself. So it's only available due runtime of the plugin and won't be added to the classpath of the programm itself.

Thanks for the contribution. The APT processor uses the project compile classpath for compilation. Plugin dependencies won't be part of that classpath. Did you try that configuration?
I agree that there is the risk that APT dependencies might be referenced also elsewhere. Did that happen in your case?

For sure: I've tried it in an example project and it works very well. The Q-Files are generated and they work in all my test cases.
As far as I know the dependency added by a plugin is only on the classpath when the lifecycle runs the plugin goal. See Sonatype documentation 7.1.2: http://books.sonatype.com/mvnref-book/reference/_configuring_maven_plugins.html
I removed slf4j-log4j as well because it clashes with my logback on the CP:
SLF4J: Found binding in [jar:file:/<private>/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/<private>/.m2/repository/org/slf4j/slf4j-log4j12/1.7.11/slf4j-log4j12-1.7.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]

Are you sure this dependency is really needed? I'm new to QueryDSL but if it uses slf4j for all logstatements, it is ok without slf4j-log4j. If you use log4j as well, you should replace the entry with log4j-over-slf4j (http://www.slf4j.org/legacy.html).

I've been using this configuration without issues: https://github.com/johnktims/spring-boot-querydsl-liquibase-starter/blob/master/pom.xml#L81

@johnktims @Shredder121 Is this good to merge?

:+1:

Yes, it's good, @johnktims do you want to merge?


docker leaves an orphan container that is causing infinite kubelet panics on kubelet restart

/kind bug
What happened:
With Garden Linux 184.0.0 docker leaves an orphan node-exporter container that is causing kubelet panics on kubelet restart.
What you expected to happen:
No orphan containers and kubelet to be able to start successfully after restart.
How to reproduce it (as minimally and precisely as possible):

Create a Shoot cluster with Kubernetes v1.20.x or v1.21.x and Garden Linux 184.0.0

Make sure that orphan node-exporter containers exist after successful Shoot creation

The node-exporter Pods are with a single restart:
$ k -n kube-system get po -l component=node-exporter
NAME                  READY   STATUS    RESTARTS   AGE
node-exporter-qc6t5   1/1     Running   1          31m
node-exporter-x7nxk   1/1     Running   1          30m

The Pod statuses:
$ k -n kube-system get po node-exporter-qc6t5 -o jsonpath='{.status.containerStatuses}' | jq
[
  {
    "containerID": "docker://17b77b024374d51156cce47e2e9c6925faadcb658124dcd426fb0b2214afc0d6",
    "image": "sha256:92c0bc9bfa155b6fb88ace153a6050726a29a3d1f43594b13017d8a936809197",
    "imageID": "docker-pullable://eu.gcr.io/sap-se-gcr-k8s-public/quay_io/prometheus/node-exporter@sha256:eeed365560149e3d390eafd6ce8154bcde401aed06f18e6ceedc01cbeadf0bc3",
    "lastState": {
      "terminated": {
        "containerID": "docker://613305690b544984e9509a6d9d71e022ca3ad90c5c0275deccbee8a0c9b5d98d",
        "exitCode": 128,
        "finishedAt": "2021-07-08T06:46:57Z",
        "message": "No such container: 6d85eb5410fffafc8e6b97ddc5b9afed8237ac68fe6239fba990eee5cf294124",
        "reason": "ContainerCannotRun",
        "startedAt": "2021-07-08T06:46:57Z"
      }
    },
    "name": "node-exporter",
    "ready": true,
    "restartCount": 1,
    "started": true,
    "state": {
      "running": {
        "startedAt": "2021-07-08T06:47:05Z"
      }
    }
  }
]

$ k -n kube-system get po node-exporter-x7nxk -o jsonpath='{.status.containerStatuses}' | jq
[
  {
    "containerID": "docker://a5f35a5fd0e5e1f2d4856973a3bda12843aba4cb97baf6aeda49e4847c2585e4",
    "image": "sha256:92c0bc9bfa155b6fb88ace153a6050726a29a3d1f43594b13017d8a936809197",
    "imageID": "docker-pullable://eu.gcr.io/sap-se-gcr-k8s-public/quay_io/prometheus/node-exporter@sha256:eeed365560149e3d390eafd6ce8154bcde401aed06f18e6ceedc01cbeadf0bc3",
    "lastState": {
      "terminated": {
        "containerID": "docker://b8ae858d76a1c6e554523d44f13687a04d23833a9c03aae1fedc02f2a025e0ad",
        "exitCode": 128,
        "finishedAt": "2021-07-08T06:48:13Z",
        "message": "No such container: bd19547090fead78a9e72be943030554b176715c3371565eeeaec3eed94fe5ea",
        "reason": "ContainerCannotRun",
        "startedAt": "2021-07-08T06:48:13Z"
      }
    },
    "name": "node-exporter",
    "ready": true,
    "restartCount": 1,
    "started": true,
    "state": {
      "running": {
        "startedAt": "2021-07-08T06:48:20Z"
      }
    }
  }
]

You can see that the first container failed with reasons No such container: <id>.

Make sure that orphan node-exporter docker containers exists on the Node

# docker ps -a | grep node_exporter
a5f35a5fd0e5        92c0bc9bfa15                                                                             "/bin/node_exporter …"   40 minutes ago       Up 40 minutes                                   k8s_node-exporter_node-exporter-x7nxk_kube-system_1cf99e57-b1d8-478e-9678-9ff0d1c3dbf3_1
b8ae858d76a1        quay.io/prometheus/node-exporter                                                         "/bin/node_exporter …"   40 minutes ago       Created                                         k8s_node-exporter_node-exporter-x7nxk_kube-system_1cf99e57-b1d8-478e-9678-9ff0d1c3dbf3_0

You can see that container b8ae858d76a1 is orphan. It is in Created state.

Restart kubelet on the Nodes (generally kubelet can be restarted because of feature flag change; it can be restarted by the kubelet-monitor service, etc.)

ssh to the Node and restart kubelet:
# systemctl restart kubelet

Make sure that kubelet panic infinitely and cannot recover after the restart

$ k get no ip-10-250-11-209.eu-west-1.compute.internal
NAME                                          STATUS     ROLES    AGE   VERSION
ip-10-250-11-209.eu-west-1.compute.internal   NotReady   <none>   43m   v1.21.2

Events:
  Type     Reason                   Age                From             Message
  ----     ------                   ----               ----             -------
  Normal   Starting                 46m                kubelet          Starting kubelet.

  Warning  DockerStart              43m (x2 over 43m)  systemd-monitor  Starting Docker Application Container Engine...
  Normal   Starting                 2m35s              kubelet          Starting kubelet.

  Normal   NodeHasSufficientMemory  2m5s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    2m5s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     2m5s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 118s               kubelet          Starting kubelet.

  Normal   NodeHasSufficientMemory  111s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    111s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     111s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 104s               kubelet          Starting kubelet.
  Normal   NodeHasSufficientMemory  103s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    103s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     103s               kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 96s                kubelet          Starting kubelet.
  Normal   NodeHasSufficientMemory  96s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    96s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     96s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 89s                kubelet          Starting kubelet.

  Normal   Starting                 59s                kubelet          Starting kubelet.
  Normal   NodeHasSufficientMemory  59s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    59s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     59s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 52s                kubelet          Starting kubelet.

  Normal   NodeHasSufficientMemory  44s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    44s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     44s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 37s                kubelet          Starting kubelet.
  Normal   NodeHasSufficientMemory  37s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    37s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     37s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 30s                kubelet          Starting kubelet.

  Normal   NodeHasSufficientMemory  14s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   Starting                 14s                kubelet          Starting kubelet.
  Normal   NodeHasNoDiskPressure    14s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     14s                kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID
  Normal   Starting                 7s                 kubelet          Starting kubelet.
  Normal   NodeHasSufficientMemory  7s                 kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    7s                 kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     7s                 kubelet          Node ip-10-250-11-209.eu-west-1.compute.internal status is now: NodeHasSufficientPID

The kubelet will never recover from this issue and the Node will be replaced after time.

I am able to reproduce the issue with:

Garden Linux 184.0.0 + docker

I am NOT able to reproduce the issue with:

Garden Linux 184.0.0 + containerd
Garden Linux 318.8.0 + docker

Hence, I suspect that this is an issue with the docker version of Garden Linux 184.0.0.
Environment:
Kubernetes version - v1.20.x, v1.21.x
Garden Linux version - 184.0.0

Here is some initial investigation:

to the best of my knowledge we only see this issue with Kubernetes 1.21.x which is still in preview. I have checked a 1.19 cluster which does not have this issue. I assume Kubernetes 1.20 will also work fine.
Kubelet 1.21.2 is built against Docker v20.10.2 where Kubelet 1.20.8 is built against Docker v17.12.0
Garden Linux 184.0 comes with Docker 19.03.13 where Garden Linux comes with Docker 20.10.5+dfsg1

I'd suspect the Docker version update in the Kubelet does contribute to the issue (e.g. a newer Docker client talking to an older Docker implementation).

I assume Kubernetes 1.20 will also work fine.

Nope, this issue affects v1.20.x as well. My initial investigations were even on v1.20.x. I will update the issue that v1.20.x is also an affected version.

No a solution but possibly a viable workaround: Restarting docker removes the stale container, so instead of just restarting the kubelet, docker should be restarted beforehand.
Some further analysis. On starting the "broken container" the following error message appears in the log. This is true for both, through the kubelet and through docker start:
Jul 09 07:09:50 shoot--d040949--no-panic-worker-iejcm-z1-765d6-2hc59 dockerd[2977]: time="2021-07-09T07:09:50.768218407Z" level=error msg="75a524941816804030d48a97f761cdf38c5418f9e2a59e3666cd1945293e494a cleanup: failed to delete container from containerd: no such container"

I restarted docker with log level debug. Upon restart the broken container was removed (checked though docker ps -a). This appears in the log:
Jul 09 07:52:43 shoot--d040949--no-panic-worker-iejcm-z1-765d6-2hc59 dockerd[132445]: time="2021-07-09T07:52:43.227596005Z" level=debug msg="Calling DELETE /v1.40/containers/75a524941816804030d48a97f761cdf38c5418f9e2a59e3666cd1945293e494a?force=1&v=1"

PS: This is the docker issue that describes the problem: https://github.com/docker/for-linux/issues/1148
Unfortunately there is no solution but it mentions the same workaround as I did above.

@MrBatschner: The OS extension is probably the only component that restarts the kubelet!?
It appears that docker can be restarted without stopping all the containers (see https://docs.docker.com/config/containers/live-restore/#enable-live-restore). It also appears the default setting.

any solution for this?


Docker / Docker Compose support

Please make arm64, amd64 docker containers for Baatchit, this would make it very easy to deploy

hello @driftywinds , thankyou for raising an issue here..
Coming to arm64 and amd64 docker containers are they like some kind of images? As i don't know much about them but will do my research and fulfill this issue for sure :)

hello @driftywinds , thankyou for raising an issue here..
Coming to arm64 and amd64 docker containers are they like some kind of images? As i don't know much about them but will do my research and fulfill this issue for sure :)

yes they are images that are configured for this software called Docker that lets people deploy the app with one command. The image itself has different layers of software that are needed to run the app like next.js etc. Thank you for looking into it!


Adding Career page

I want to make a career page for the website. On this page, I would take 5-10 career options which will be explained briefly, and then mention the basic needs and qualifications needed for that particular career.
For eg, one career option will be Software Engineer. Under this column I will include the following:
Basic Information -A software engineer applies engineering principles to the design, development, maintenance, testing, and evaluation of software and systems that make computers or other devices containing software work. They play a crucial role in developing software solutions that meet user needs and requirements.
Basic Needs: Proficiency in programming languages such as Java, C++, Python, JavaScript, Ruby, and others., Strong analytical and problem-solving skills, Familiarity with front-end and back-end technologies, frameworks, and libraries. Experience with SQL and NoSQL databases, including design, querying, and optimization.
Qualifications: Bachelor's degree in Computer Science or related field; certifications in specific programming languages or technologies can be beneficial.
These all information will be inserted in a suitable format which makes the page attractive to the user.
I would like to work on this issue. @Vin205 please assign me this issue under gssoc-exd, hacktoberfest, and an appropriate level.

@shreya20v ASSIGNED!

can i work onn this


Make phf_codegen::Map implement std::fmt::Write

Hi @sfackler ! First of all, thanks a lot for this library, using it helped me get better performances for a structural biology software I am writing that needs to read a lot of parameter tables.
When I was writing my build.rs file however, I noticed that phf_codegen::Map does not implement the std::fmt::Write trait. Currently I have to write something like:
write!(&mut file, "static {}: {} =", name, ty)
    .and(map.build(&mut file))
    .and(write!(&mut file, ";\n"))
    .expect(&format!("could not write `{}` map", name));

But with Write implemented this would become:
write!(&mut file, "static {}: {} = {};\n", name, ty, map)
    .expect(&format!("could not write `{}` map", name));

Is there a particular reason for this ? If the only reason is that you don't have time to implement that, I can open a PR.

I think the thing to do here would be to make build() return a Display type rather than taking the writer in as an argument.

@sfackler : indeed, that looks like the most sensible option. Do you want me to work on a PR ?

Sure!

Closed by #161


feat: add popup in support page

fixes #1297
before :
https://github.com/user-attachments/assets/658c6fcb-6582-4305-8b5a-154eb1a6d54f
after :
https://github.com/user-attachments/assets/6d867e50-4896-4972-9a23-2ddfd8803d99

@Its-Aman-Yadav please review and merge my pr

Kindly resolve conflicts @ANKeshri


TreeSet简单实现

基于TreeMap实现TreeSet 红黑树增加KeyValues方法用于遍历树节点信息

Codecov Report

Merging #159 (1692f53) into dev (6015f57) will increase coverage by 0.20%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##              dev     #159      +/-   ##
==========================================
+ Coverage   95.80%   96.00%   +0.20%
==========================================
  Files          40       41       +1
  Lines        2239     2280      +41
==========================================
+ Hits         2145     2189      +44
+ Misses         75       73       -2
+ Partials       19       18       -1

Impacted Files
Coverage Δ

internal/tree/red_black_tree.go
95.66% <100.00%> (+0.30%)
:arrow_up:

set/treeset.go
100.00% <100.00%> (ø)

pool/task_pool.go
99.05% <0.00%> (+0.94%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


MWPW-157987: Missing tests and card id copy message

Increasing test coverage and adding title for less confusion when displaying IDs

Resolves: MWPW-157987
Test URLs:

Before: https://main--milo--adobecom.hlx.page/tools/caas?martech=off
After: https://mwpw-157987--milo--shkhan91.hlx.page/tools/caas?martech=off

To test hover over ID to see the message.

The lighthouse score on the tool configurator page is same before and after. So aem-psi-check is not valid in this case?


Frequently seeing RuntimeError: event loop is closed with connaisseur pods

Describe the bug
We are frequently seeing occurrences of RuntimeError: event loop is closed across all our K8S clusters with long running connaisseur pods
NAME                                      READY   STATUS    RESTARTS   AGE
connaisseur-deployment-58dcdfc7ff-8fxqm   1/1     Running   0          2d5h
connaisseur-deployment-58dcdfc7ff-fn298   1/1     Running   0          2d5h
connaisseur-deployment-58dcdfc7ff-qbcss   1/1     Running   0          2d5h

{"timestamp": "2023-08-25 01:41:54.716856", "message": "automatic approval for unchanged image \"nvcr.io/nv-ngn/nid/qcow2-hook-sidecar:master-a42defb@sha256:fc33fd658d127498b1b23315e0eccf1de779f1c58643e2adfcb40e1ec559ca0f\".", "admission_review": {"user": "system:serviceaccount:ovn-kubernetes:ovn-node", "operation": "UPDATE", "kind": "Pod", "name": "virt-launcher-d84294b7-1e0d-4d29-a1b2-a284ea901a0f-lj9px", "namespace": "np-chi-04-gs"}, "image": "nvcr.io/nv-ngn/nid/qcow2-hook-sidecar:master-a42defb@sha256:fc33fd658d127498b1b23315e0eccf1de779f1c58643e2adfcb40e1ec559ca0f"}
{"timestamp": "2023-08-25 01:41:54.763673", "client_ip": "<IP_ADDRESS>", "method": "POST", "path": "/mutate", "query": "timeout=30s", "protocol": "HTTP/1.1", "status_code": "200"}
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x7f4c2cfde3e0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/base_subprocess.py", line 126, in __del__
    self.close()
  File "/usr/local/lib/python3.11/asyncio/base_subprocess.py", line 104, in close
    proto.pipe.close()
  File "/usr/local/lib/python3.11/asyncio/unix_events.py", line 765, in close
    self.write_eof()
  File "/usr/local/lib/python3.11/asyncio/unix_events.py", line 751, in write_eof
    self._loop.call_soon(self._call_connection_lost, None)
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 761, in call_soon
    self._check_closed()
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 519, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
{"timestamp": "2023-08-25 01:41:54.922689", "message": "automatic approval for unchanged image \"nvcr.io/nv-ngn/nid/virt-launcher:release-0.59-nid_8bd64853b@sha256:9bd3ded59531f9e1875ed4962caafb0536e5b49eefafc538846e4c6c54c187b1\".", "admission_review": {"user": "system:serviceaccount:ovn-kubernetes:ovn-node-dpu-host", "operation": "UPDATE", "kind": "Pod", "name": "virt-launcher-c94ee05b-3894-470c-bfb5-4e7093cf21a4-gbj4g", "namespace": "np-chi-04-gs"}, "image": "nvcr.io/nv-ngn/nid/virt-launcher:release-0.59-nid_8bd64853b@sha256:9bd3ded59531f9e1875ed4962caafb0536e5b49eefafc538846e4c6c54c187b1"}

The error seems to eventually recover, but frequent occurrences of this error is concerning.
Expected behavior
Connaisseur should not run into these asyncio errors
Optional: Versions (please complete the following information as relevant):

Kubernetes Cluster: v1.23
Connaisseur: v3.0.0

Sorry, i have been on vacation this week. I'll have a look next week.

I also saw it and it was fixed using:
    result = loop.run_until_complete(__async_mutate());
    return result;

With the event loop initialized outside the function.


copy k8s.io/kubernetes/pkg/util/file to k8s.io/utils/file

This change is a precondition of moving k8s.io/kubernetes/pkg/util/mount out of the kubernetes package. The whole set of work is related to kubernetes/kubernetes#69585. Once this is merged I'll update the kubernetes code to reference it and remove the package from kubernetes/kubernetes
/kind feature
/assign @lavalamp
/cc @andrewsykim

@thockin update names, tests and docs.

@thockin renamed to path and updated names, do you see anything else that would block shipping this?

Ping @thockin for approval.


Remove internal usage of pycromanager.logging

As described in #766, here we move towards a more canonical use of Python's logging module by having pycromanager sub-modules define their own loggers and use them.
We cannot remove the existing monkey-patch-based pycromanager.logging module yet, since it is public API surface and is used by PyJavaZ, and therefore it must be kept until at least those references  are removed, but I went ahead and nuked the relevant documentation...happy to additionally (or instead) add any deprecation or other warnings to the corresponding functions to try to prevent future use until they are removed?

Note that this PR was initially drafted based on the following search:
$ grep -R logging . | cut -d':' -f1 | sort | uniq | grep -v '\.git' | grep -v "Binary file"
./java/src/main/java/org/micromanager/remote/RemoteViewerStorageAdapter.java
./pycromanager.egg-info/SOURCES.txt
./pycromanager/acquisition/java_backend_acquisitions.py
./pycromanager/headless.py
./pycromanager/logging.py

Bumped to the new version of pyjavaz so you should be good to build on that

All set to merge this? The only other thing I see is to bump the minor version in pycromanager/_version.py. The new version will automatically build and deploy to pypi

Thanks for all your work on this!


Friday 08-11-2024 Roll call

Roll Call!
Leave a comment with these two things:

A summary of your study using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

Bonjour !

Morning!

salut

hi

Good Morning!

GOOD MORNING STUDENTSSSSSSS

Hola

hello

morning

hello

hi

Good Morning

Hello

✌


Support send template

Hi @spovich @jlberglund @kshnurov,
I created a support for send template, because we would like to use it. It looks like somebody was faster than me, but I did this a little bit different way. And I would like to start a conversation about how can we support the template_name template_content async ip_pool send_at. I think to store these things in the Message class will not be the right place, but it would be great that I can setup it when I call the mail method. That's why I created a new Template class for it. But how about that rename it and call SendOptions or something similar and there we can reach these things.
And I was thinking about the async setup as well. So my problem the present setup that I can choose, it will send all the emails via async or not, but it would be better if I can choose these emails will send with async and those ones with normal mode in the mail method. Maybe I'm not right, but we could discuss it.

Hi @Sysqa, thanks for the PR!
Is there any supposed functionality for Template class? If not (I don't see any) - there's no need for it and 2-3 simple methods inside Message would be more than enough.
Also I don't like 3 additional methods (mandrill_deliver , send_template and send), looks very ugly for me - it's not saving any lines, adds extra complexity and ambiguity (can you say what's the difference between mandrill_deliver and send without looking into the code?). I think it's better to leave everything inside deliver! method.
If we add template?, template_name and template_content methods, the resulting code can look like this:
def deliver!(mail)
  mandrill_api = Mandrill::API.new(MandrillDm.configuration.api_key)
  message = Message.new(mail)

  @response = if message.template?
    mandrill_api.messages.send_template(
      message.template_name,
      message.template_content,
      message.to_json,
      MandrillDm.configuration.async
    )
  else
    mandrill_api.messages.send(
      message.to_json,
      MandrillDm.configuration.async
    )
  end
end

Hi @kshnurov,
I tried to explain above why I'm using a different class and asking your idea about that.
Basically I can agree with your idea that leave inside everything in the deliver method, but the rubocop always complaining: the row is too long, the condition is too deep, the method is too complex. So that's why this 'ugly' solution. Actually what is the main rule that I should follow?

@Sysqa I agree with @kshnurov I'm not opposed to selectively disabling rubocop rules where it makes sense.

right good to know, no problem

@Sysqa, once again, is there any supposed functionality for Template class?
My idea is that a class that does nothing shouldn't exist.

@kshnurov sure I'll try to explain the idea. If you check the madrill api how to look like the api request then you can see something like this:
    "template_name": "example template_name",
    "template_content": [
        {
            "name": "example name",
            "content": "example content"
        }
    ],
    "message": { ... }
    "async": false,
    "ip_pool": "Main Pool",
    "send_at": "example send_at"

So we implemented the message part of this thing. I thought that the template things are not belong to the message class. As I suggested or actually asked your idea that how about we will create a new class (or rename my template class) call it sendoptions or something like that where we can store, handle the template_name template_content async ip_pool send_at. Basically that is why I asked before do something else, because I do not want to do unnecessary work if you will not use it. I hope this a better answer your question.

@Sysqa oh, now I got it. We already have a Configuration class, we can use it. It'll allow to add per-mailer and per-mail configuration.

@kshnurov right Could you explain how? I'm not sure that everything is clear about it.

@Sysqa it's hidden inside mandrill_dm.rb https://github.com/spovich/mandrill_dm/blob/master/lib/mandrill_dm.rb
Put it into a separate file, add everything as you want and send a pull.

@kshnurov that's ok I found it. What is not clear that how can I use different config with different emails?

The same way you're doing it with template_name/template_content. Parse
what's passed to mail() and use it to initialize Configure class inside
deliver! (instead of initializing it once in mandrill_dm.rb).
сб, 30 янв. 2016 г. в 23:36, Sysqa<EMAIL_ADDRESS>
@kshnurov https://github.com/kshnurov that's ok I found it. What is not
clear that how can I use different config with different emails?
—
Reply to this email directly or view it on GitHub
https://github.com/spovich/mandrill_dm/pull/30#issuecomment-177295460.

--
Шнуров Кирилл

@kshnurov gotcha, but it's a bit weird for me...

Templates support added in https://github.com/spovich/mandrill_dm/pull/26


Replace pelican with server name for production image

I think I missed changing the docker image tag from pelican_platform/pelican to pelican_platform/<server-name>. This PR attempts to address the issue.
Update:
This PR also fixed the bug where pelican arguments can't be passed to tini

LGTM! The -- syntax is fairly standard, everything before it is for tini options and everything after is the subsequent command + its options

Thanks for the explanation!


X11 Forward

Feature description

In native MAC program terminal, I just "ssh -X" to use X11 (With Xquartz). How I can same thing on this program?

From a user on the App Store

To whom it may concern,
I hope you are well. I am curious if WebSSH allows for X11 forwarding through the usage of "-X” when ssh-ing. I’m an avid fan of WebSSH, but I am at a place where I have to start using software supported by X, and I really don’t want to go back to Terminal.
All the best,
Carter


autogen: install pillow

Prevents error messages in generated output.

Green in travis and multiple builds of OMERO-docs-superbuild


Make Footer section in the Home page

make footer section in the home page to make it more user interactive.

I wan to do this work. pls assign me this project.

Please assign me this task under GSSOC'23

I am interested to work on this issue . Could you please assign it to me.

I can use tailwind css to implement and make it become more lookable. Kindly assign me under 2023

I want to work on this issue I am GSSOC'24 contributor please assign me this issue , and also label it according to its difficulty level.

Fork and do that


Risk Assessment Model and Python Library

Issue #31 resolved.
Issue #60 resolved.
link - https://pypi.org/project/iquant/1.1/
It can be installed by "pip install iquant==1.1".

Thank you :)


Is this app abandoned?

There are a lot of problems and this place seems to be abandoned.
This app looks fine, but it's incompatible with current versions of underlying components.
Are there some plans for the future of this project?

I found a more frequently updated and better looking plugin here https://github.com/devopsprodigy/kubegraf
Its also on the grafana plugin repository.

@NagleIT Are you using it? Is it trustworthy?

We will be using it soon, Its developed by a reputable company and provided opensource at no cost. Looks good to us but judge for yourself, Open a issue on their project if you are concerned.

@NagleIT thank you for you opinion. I started to test it locally.

https://github.com/devopsprodigy/kubegraf is  far better app than this one ! Reliable metrics + solid design !


Cleaner code

All RpcObservables and FrequencyObservables take an options? argument, which contains a provider field. If not empty, that provider will be used.
If provider is not specified, then they will use the global provider, defined in api.ts. This provider is initialized to NullProvider at the beginning.
Removed overview. I don't think it's super useful, and only creates complications.

Pull Request Test Coverage Report for Build 127

140 of 141 (99.29%)  changed or added relevant lines in 18 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+3.4%) to 45.926%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/light.js/src/rpc/other/makeContract.ts
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

packages/light.js/src/rpc/utils/createRpc.ts
1
93.88%

packages/light.js/src/api.ts
1
96.0%

Totals

Change from base Build 118:
3.4%

Covered Lines:
831

Relevant Lines:
1817

💛  - Coveralls

For all func() that did something inside its body, I added funcWithApi(), which is a pure version of func(), and correctly memoized.


Machine mac-30 lost external connection to iPhone device.

Machine mac-30 lost external connection to iPhone device.

External connection has been restored by rebooting machine machine mac-30.


[BUG] After I delete  Project or User

version: 1.1.0

Delete Project
场景：普通用户，创建项目，工作流定义 创建工作流并保存
正常操作：普通用户或管理员用户，进入 项目管理 页，进行删除项目操作，提示 “please delete the process definitions in project first! ”
极端操作：使用超级管理员账户，进入 安全中心 页，选择 用户管理，删除该普通用户，提示 “Seccess”。会出现以下现象：
1.超级管理员账户，进入 项目管理 页，被删除用户所创建的项目不存在。
2.Mysql 数据库中，t_escheduler_project 表中，被删除用户所创建的项目存在。
3.使用任意账户，进入 项目管理 页，创建与被删除项目的同名项目，创建成功。
4.超级管理员账户，进入 安全中心 页，选择 用户管理，为用户授权项目时，会显示不存在于 项目管理 页但存在于 Mysql 表中的项目

Delete User
场景：进行 删除用户 操作，会出现以下问题：
被删除用户 创建的所有资源 仍会在 HDFS 平台 和 Mysql 表中，且该用户的所有资源通过 UI 无法使用；
被删除用户 创建的项目也会被删除掉，管理员账户 查看 项目管理 会发现 已删除用户所创建的项目已不存在，但数据库中关于该用户所创建项目的数据并未被删除，若项目在删除用户操作之前被赋权给其他人，被删除的项目仍会在管理员对其他人的赋权中展示。

以下为自测恢复操作：
Step 1：使用管理员账户，进入资源中心，删除属于 被删除用户 的所有资源
Step 2：删除该用户在 HDFS 平台上创建的资源 （若该用户有进行迁移租户操作，则需要删除旧租户下属于该用户的相关文件）
Step 3：若 被删除用户 有创建项目，删除该用户在 Mysql 表 t_escheduler_project 中对应的数据（该用户创建的项目记录）
Step 4：若 被删除用户 有创建项目，则，取消对 其他用户 的 属于该用户创建项目 的赋权（或删除 Mysql 表 t_escheduler_relation_project_user 相关数据）
Step 5：若 被删除用户 有创建数据源，数据源会不可用，并提示“resource not exist”，删除该用户在 Mysql 表 t_escheduler_datasource 中对应的数据（该用户创建的数据源记录）
Step 6：若 被删除用户 有被赋权项目，且在被赋权的项目中，有创建 工作流定义，会出现被删除用户创建的工作流定义不可用，需要修改 Mysql 表 “t_escheduler_process_definition” 中，相关工作流的 “user_id” 为有该项目权限的用户ID或管理员用户ID

以下为本人参照 DolphinScheduler 官网及 https://blog.csdn.net/github_39577257/article/details/102783298 在搭建、测试过程中整理的文档。
包含架构、搭建、以及本人测试过程中的一些疑问，烦请不吝赐教https://blog.csdn.net/MiaoSO/article/details/103137481

(1). Delete the Project
Premise: Ordinary user, create project, create workflow and save
Normal operation: Normal user or administrator user, enter "Project", delete the project operation, prompt "please delete the process definitions in project first! "
Extreme operation: Use the administrator account, enter "Security -> User Manage", delete the ordinary user, prompt "Seccess". The following phenomena may occur:

Super administrator account, enter project management page, and the project created by the deleted user does not exist.
In the Mysql database, in the t_escheduler_project table, the deleted project created by the user exists.
Enter the project management page with any account, create the project with the same name as the deleted project, and create it successfully.
Super administrator account, enter "Security -> User Manage", when authorizing the project for the user, it will show the project that does not exist in the project management page but exists in the Mysql table

(2). Delete the User
Premise: delete the user and the following problems will occur:
1.All resources created by the deleted user will still be in the HDFS platform and Mysql table, and all resources of the user cannot be used through the UI.
2.Project created by deleted  users will also be removed, the administrator account to check the project management will find the project which created the user does not exist, but in Mysql table  the project still exist.
If the project had been empowerment to others before delete user action, the deleted items will still be shown in "Security -> User Manage -> Grant authority -> Project "
The following is the self-test recovery operation:
Step 1: use the administrator account to enter the "Resources" and delete all resources belonging to the deleted user
Step 2: delete the resources created by the user on the HDFS platform (if the user has a tenant migration operation, delete the files belonging to the user under the old tenant)
Step 3: if the deleted user has created an item, delete the data corresponding to the user in the Mysql table t_escheduler_project (the project record created by the user).
Step 4: if the deleted user has created a project, then cancel the assignment of other users belonging to the project created by the user (or delete Mysql table t_escheduler_relation_project_user related data).
Step 5: if the deleted user has created a datasource, the datasource will be unavailable, and the prompt "resource not exist" will be prompted. Delete the data corresponding to the user in the Mysql table t_escheduler_datasource (the record of the datasource created by the user).
Step 6: If the deleted user has an item that is authorized, and in the item that is authorized, a workflow definition has been created. It will appear that, the workflow definition created by the deleted user will be unavailable. It is necessary to change the Mysql table "t_escheduler_process_definition". The "user_id" of the related workflow is the user ID or administrator user ID that has permissions for the project.

1.1.0 is not apache version, and has been passed a long time, you can use 1.3.3 if you are interesting in DolphinScheduler


VRF contracts

Added here as a separate commit https://github.com/smartcontractkit/integrations-framework/pull/34


Provide .pc file for pkg-config

Provide .pc file for pkg-config

@dirkschulze oh, sorry for leaving this issue as opened. I think this issue would be closed by PR #60


[Das_Schwarze_Auge_4-1] Melee Weapon calculations with sheet workers. BE calculations. parry weapons and shields

Changes / Comments

Introducing possbility to use parry weapons and shields and doing rolls on parries with those (37f7e5c766dea110d0b15f101d3a7482c0301714)
Introduced a correct calculation of handicap (BE) through armor, including correct calculation of AT and PA values (91e2ea459cf75c171494961a31658bbca2bfd8fd)
Changed the algorithm to apply migrations to new versions so that it is easier to add more migrations in the future and simpler to understand what's happening (5e24ddf614d55359bbc4e2d79a07a817fda5823b, 82de2b94a69c7c3952a9dcdc0a9703b824bfbd29)

There are some new attributes and some others where changed from autocalculating fields to sheet worker scripts. One attribute was renamed. For all of those I added migrations to calculate them on first opening of the sheet so that users don't have to change anything by hand.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[x] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[x] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Wunderbar. Ich habe mal einen Branch bei mir angelegt pre-dsa4.1-shields-parry-encumbrance. Soweit ich das weiß, ist "encumbrance" das Standardwort für "Behinderung" in diesem Kontext. Falls du mit dem Branch arbeiten willst, sag mir bitte Bescheid, da ich den sonst meinen Gepflogenheiten entsprechend ständig force-pushen werde ... :X

Ne mach nur 👍


Method 'MapEnum' in type 'MassTransit.DynamicInternal.Npgsql.TypeMapping.INpgsqlTypeMapper'

Is this a bug report?
Yes
Can you also reproduce the problem with the latest version?
Yes
Environment

Dotnet version: net6
Operating system: Unix <IP_ADDRESS>
IDE (Rider, VS Code, Visual Studio):

Steps to Reproduce

(Write your steps here:)

Expected Behavior

No error.
Actual Behavior

Message moved to error queue.
MT-Fault-ExceptionType:	System.TypeLoadException
MT-Fault-Message:	Method 'MapEnum' in type 'MassTransit.DynamicInternal.Npgsql.TypeMapping.INpgsqlTypeMapper' from assembly 'Npgsql.TypeMappingMassTransit.DynamicInternal531c10c5c3c744e08d5640f94078f149, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have an implementation.
MT-Fault-MessageType:	MassTransit.Courier.Contracts.RoutingSlip
MT-Fault-StackTrace:	at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
at System.Reflection.Emit.TypeBuilder.CreateTypeInfo()
at MassTransit.Internals.DynamicImplementationBuilder.CreateTypeFromInterface(ModuleBuilder builder, Type interfaceType) in /_/src/MassTransit/Internals/Reflection/DynamicImplementationBuilder.cs:line 80
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

Package references:

I've just moved message back to its original queue and it was processed successfully on windows.

Why is this an MassTransit issue?

There is only MassTransit in stack trace. So I thought it is MT related issue.

Only seems related to using a Postgres type in a message contract or something? INpgsqlTypeMapper

No, of course not. My contract has only properties with primitive datatypes.

So why would MassTransit be trying to create a proxy for a Postgres type?

I have some services which uses Npgsql actively and never seen such exceptions. But this service is the only one that uses Marten for persistence.

Well, as I stated above, a standalone repository showing the issue is required before I'll spend any time investigating.

Just leave this issue open for now. I'll try to find some time on weekend to investigate.

Found anything yet?

Not yet. Had no time. Will try this weekend.
чт, 4 авг. 2022 г., 22:17 Chris Patterson @.***>:

Found anything yet?
—
Reply to this email directly, view it on GitHub
https://github.com/MassTransit/MassTransit/issues/3555#issuecomment-1205673365,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD7NMHYW7T4JJLTWCMVS3KTVXQJLLANCNFSM542DZM6Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

Unable to reproduce it on windows/WSL (Ubuntu). But catched it again on our prod environment today. The service is deployed in linux container (alpine). So maybe the problem is only on alpine. Will try to change alpine for ubuntu.
Okay, I think I'm closing the issue.

There are extra items needed for .NET running on Alpine, I ran into all kinds of issues trying to make it work doing anything complex. I think I switched to the regular Ubuntu (or Buster) images to get more complete coverage. There were a bunch of extra packages to install on apk to get Alpine to work with anything.

And yes, changing to ubuntu based docker image (jummy in my case) did the trick.


Add permissive license (BSD 3-Clause LICENSE).

Happy to change to MIT, ISC, etc as you prefer. Figured you just forgot to add this when you pushed the library!

Thanks, it was indeed on my TODO list to add a license. BSD 3-clause is fine. Thanks!

Cheers for the quick merge! I can now OSS my ELS library & client :+1:


fsutils/mkmbr/mkmbr.c: fix null pointer access when not all device space is defined in mbr

Summary
argv[argn] is accessed out of range when there are neither four partitions are specified nor the last partition is of auto size.
mkmbr /dev/mmcsd1 233 666 auto 1234 -> partn = 2 -> argv[6] -> panic
#0  0x4005544b in ?? ()
#1  0x42056a90 in mkmbr_main (argc=<optimized out>, argv=<optimized out>) at mkmbr.c:140
#2  0x42007449 in nxtask_startup (entrypt=0x420569e8 <mkmbr_main>, argc=6, argv=0x3ca01a60) at sched/task_startup.c:70
#3  0x42003be4 in nxtask_start () at task/task_start.c:114

Fix the problem by adding a number of partition variable nr_part based on input argument number.
Impact
Null pointer bug fixed.
Make mkmbr command support divide the device into less than four partitions with space left at the end.
Testing
nsh> mkmbr /dev/mmcsd1 233 666 auto 1234
nsh>

@JackyCaoYJ


why can't I fix the more bork?

I've been unable to reproduce the issue again so I don't know what to fix. I'll leave the "bork buttons" for a little while.

seems to be fixed now


fix(base-controller): Fix selectors initial value comparison

Explanation
The "selectors" feature of the ControllerMessenger did not work correctly for the first event published after subscribing, because the original value of the payload (at time of subscribing) was not available for comparison.
To address this, a registerInitialEventPayload method has been added to the ControllerMessenger and RestrictedControllerMessenger. This allows registering a function that returns the "event payload state" at a given time, which is used internally by the subscribe method to correctly initialize the payload cache when a subscriber with a selector is added. This ensures that the selector works correctly even for the initial state change, in that it will return the correct previous value, and not fire at all if the selected piece of state is unchanged.
In a later PR, BaseControllerV2 can be updated to register an event payload for the stateChange event. This will fix this flaw for the stateChange event of each controller.
References
Fixes #3649
Changelog
@metamask/base-controller

Added: Add registerInitialEventPayload to ControllerMessenger and RestrictedControllerMessenger

This allows registering an event payload function for an event, which has the benefit of improving the "subscriber selector" feature.
An event with a registered initial event payload function will work better with selectors, in that it will correctly compare with the initial selected state and return the previous value the first time it's published. Without this, the initial published event will always return undefined as the previous value.

Checklist

[x] I've updated the test suite for new or updated code as appropriate
[x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[x] I've highlighted breaking changes using the "BREAKING" category above as appropriate

The base controller has been updated in #3702
See that PR for a demonstration of how this would work

I'm going to wait until https://github.com/MetaMask/core/pull/3713 is merged and released before merging this, to keep the releases more focused.


Test Docker to containerd migration

This issue assumes:

Create a Kubernetes cluster running 1.21 on cloud provider of choice
Ensure that all nodes are running Docker

This can be checked by running kubectl get nodes -o wide or SSH-ing to nodes and checking is there docker systemd unit

Create some workload, e.g a bunch of Deplyoments
Try upgrading the cluster to Kubernetes 1.22

This should fail with the error that we don't support Kubernetes 1.22 clusters running Docker

Migrate the cluster to containerd

Follow this guide to migrate the cluster: https://docs.kubermatic.com/kubeone/master/guides/containerd_migration/

Make sure that all pods are still running as expected
Try upgrading the cluster to Kubernetes 1.22

Acceptance criteria:

Migrating to containerd is successful
Migration guide is up to date and works as expected
Upgrading the cluster is successful after migrating it

Part of #1476

passed!
minors:

I had the same issue https://github.com/kubermatic/kubeone/issues/1458
my private key was missing in tf.json, had to add it manually(maybe it's the expected behavior)


reflect Pin IsVisible to show/hide pin

Pin has
public static readonly BindableProperty IsVisibleProperty;
but even if I set value to false pin is still rendered

FEATURE REQUEST / SUGGESTION
Pin should be rendered only based on this value.
SUMMARY
DETAILS
For example I have many groups of Pins and I want to display just part of them
PLATFORMS
which platform do you want?

[x] Android
[x] iOS
[x] UWP

I can't reproduce.
Pin.IsVisible is works fine in Android / iOS.

Do I understand your reporting correctly?

Yes, you are correct it looks like that is working only if pins are added and after that modified
If you use this code:
var pin = new Pin()
{
Position = new Position(vehicle.Lat, vehicle.Lon),
IsVisible = false
};
GoogleMap.Pins.Add(pin);

It does not work

I understand!
It's a bug.
Pin.IsVisible does not used when native marker created.
Thanks you for reporting.

Ok, I fixed it.
Please waiting for release.

I did it.
I released 1.8.0-beta6 which contains fix for this!

I checked it and it works thank you

Pin pi = new Pin(); pi.Position = new Position(39.386407, 32.445372); pi.Label = "TEST"; pi.IsVisible = false; pi.Icon = BitmapDescriptorFactory.FromView(new HaritaPinView("58")); map.Pins.Add(pi);
It does not work.
Problem: "pi.Icon = BitmapDescriptorFactory.FromView(new HaritaPinView("58"));"
How can we solve this problem?

Pin pi = new Pin(); pi.Position = new Position(39.386407, 32.445372); pi.Label = "TEST"; pi.IsVisible = false; pi.Icon = BitmapDescriptorFactory.FromView(new HaritaPinView("58")); map.Pins.Add(pi);
It does not work.
Problem: "pi.Icon = BitmapDescriptorFactory.FromView(new HaritaPinView("58"));"
How can we solve this problem?

I am now having exactly the same issue. Is there any update?


Make sure gRPC PHP works with PHP 7

Does anyone know the status on this? We'd love to use php7 because it's done really well in benchmarks on our code, but we need gRPC.

The plan is to tackle this soon. Will give a better update in the next couple of weeks.

The plan is to tackle this soon. Will give a better update in the next couple of weeks.

I would love to have this too! I need php 7 support for grpc since my project is already on php7.

I really appreciate the work you've done. Can you give a better update now? We've been blocked by this for a while.

I'm wondering if this could help: zephir build --backend=ZendEngine3? It looks like they got the same error: zend_object_value in the phalcon project trying to build for php7 and had some success: https://github.com/phalcon/cphalcon/issues/11203. I don't have hardly any experience building php extensions, but does anyone with more understanding have any thoughts on that? Is it worth trying?

This is a huge deal for us too.  We have done a lot of testing ourselves, and we have seen major performance increases with PHP 7, but like others, we can't proceed without gRPC.

@stanley-cheung, is there any chance you have an update on this yet?

thanks a lot for all your work - php7 would be highly appreciated

:+1:
Looking forward to this.
Scott

Yes, sorry for the lack of update. This is very much in the radar. I am hoping to get to this this quarter.

cool!

I have forked code the grpc php extension, and upgraded grpc PHP extensions from PHP5 to PHP7. It may be have some problems,  but can right run example and unittest. links: https://github.com/thinkerou/grpc-php7

That's great news! Thanks so much.  Does that tag mean that this will go out in the next release?

I have updated but I don't know how commit grpc-php7to grpc/src/php, make new directory for saving grpc-php7? @stanley-cheung

@stanley-cheung, do you think @thinkerou's contributions will work?

@stanley-cheung I'm also very interested in PHP 7 support. I'm waiting on this to be able to deploy a new microservice library.

If the directory src/php/ext/ has two directories which are grpc and grpc-php7, this will need to maintain two codes when the code changed; I want to attempt to use marco to wrap function that can use in php5 and php7, but the method make the code ugly.

@jtattermusch  thinks that gRPC will not officially support PHP7 for GA: https://github.com/grpc/grpc/issues/6366#issuecomment-227801621

Now the master branch and the v1.0.x have supported PHP7, congratulations!

Two things:

I'm going to release the 1.0.0RC2 pecl extension soon. That will install both on PHP5 and PHP7.
There is an issue with PHP7 and the Protobuf-PHP code generation. I am fixing it. Once that's fixed then PHP7 support is complete.

Final update:

The 1.0.0RC2 version of the PECL extension has been released. It will install both on PHP5 and PHP7.
The PHP7 Protobuf-PHP issue has been fixed. Code generation should work on PHP7.
Thanks thinkerou for his contribution to making this work!


Cant install no .app found

I was really looking forward to using this but there is no .app file actually available for me to install this application.

From the release page, download the latest HSTracker.dmg file (atm 0.11.3) then uncompress it and move HSTracker to your Applications folder


The "to" argument must be of type string. Received undefined

I always get the following error while trying to initialize the plugin in an nx project.
I first install the plugin: npm install @angular-architects/module-federation
Then I want to start the init function with: nx g @angular-architects/module-federation:init
I use nx instead of ng because of the splitted angular.json file.
But after entering the project-name and the port I get the following error message:
TypeError [ERR_INVALID_ARG_TYPE]: The "to" argument must be of type string. Received undefined
    at validateString (internal/validators.js:124:11)
    at Object.relative (path.js:493:5)
    at generateSsrMappings (C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-architects\module-federation\src\schematics\mf\schematic.js:285:37)
    at C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-architects\module-federation\src\schematics\mf\schematic.js:217:33
    at Generator.next (<anonymous>)
    at C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-architects\module-federation\node_modules\tslib\tslib.js:115:75
    at new Promise (<anonymous>)
    at Object.__awaiter (C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-architects\module-federation\node_modules\tslib\tslib.js:111:16)
    at C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-architects\module-federation\src\schematics\mf\schematic.js:132:24
    at MergeMapSubscriber.project (C:\Users\Schade\IdeaProjects\camunda\node_modules\@angular-devkit\schematics\src\rules\call.js:75:24) {
  code: 'ERR_INVALID_ARG_TYPE'
}
The "to" argument must be of type string. Received undefined

What can I do to prevent this? My wish is to make one of my apps in my nx-workspace accessable for an other angular application outside of this workspace. I was hoping to use module federation for this.
My latest npm-dependencies:
"dependencies": {
    "@angular-architects/module-federation": "^14.2.3",
    "@angular/animations": "^13.3.6",
    "@angular/common": "^13.3.6",
    "@angular/compiler": "^13.3.6",
    "@angular/core": "^13.3.6",
    "@angular/forms": "^13.3.6",
    "@angular/platform-browser": "^13.3.6",
    "@angular/platform-browser-dynamic": "^13.3.6",
    "@angular/router": "^13.3.6",
    "@nrwl/angular": "14.1.4",
    "primeflex": "^3.1.3",
    "primeicons": "^5.0.0",
    "primeng": "^13.3.2",
    "rxjs": "~7.4.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^13.3.5",
    "@angular-eslint/eslint-plugin": "^13.2.1",
    "@angular-eslint/eslint-plugin-template": "^13.2.1",
    "@angular-eslint/template-parser": "^13.2.1",
    "@angular/cli": "^13.3.5",
    "@angular/compiler-cli": "^13.3.6",
    "@angular/language-service": "^13.3.6",
    "@nrwl/cli": "^14.1.4",
    "@nrwl/cypress": "14.1.4",
    "@nrwl/eslint-plugin-nx": "14.1.4",
    "@nrwl/jest": "14.1.4",
    "@nrwl/linter": "14.1.4",
    "@nrwl/workspace": "14.1.4",
    "@nxrocks/nx-spring-boot": "^4.0.2",
    "@types/jest": "27.4.1",
    "@types/node": "16.11.7",
    "@typescript-eslint/eslint-plugin": "5.18.0",
    "@typescript-eslint/parser": "5.18.0",
    "cypress": "^9.1.0",
    "eslint": "8.12.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "jest": "^28.1.0",
    "jest-preset-angular": "^12.0.0",
    "nx": "14.1.4",
    "prettier": "^2.5.1",
    "ts-jest": "27.1.4",
    "typescript": "4.6.3"
  }

same here

Hello, I've encountered the same issue while trying to use the @angular-architects/module-federation plugin in my Nx project. I also received the "to" argument error when running the nx g @angular-architects/module-federation:init command.
I found that the error originates from the generateSsrMappings function in the schematic.js file. The path.relative() function expects both "from" and "to" arguments to be of type string, but it seems that the "to" argument can sometimes be undefined, causing the error.
A temporary workaround could involve modifying the schematic.js file to add a fallback value for the "to" argument.
// changed this line
const relOutPath = path.relative(projectOutPath, outPath).replace(/\\/g, '/') + '/';

// to
const relOutPath = path.relative(projectOutPath, outPath || '').replace(/\\/g, '/') + '/';

However, this is not an ideal solution, as it requires manual changes to the package's source code...
Here are my project's dependencies for reference:
"dependencies": {
    "@angular-architects/module-federation": "^15.0.3",
    "@angular/animations": "~15.2.0",
    "@angular/common": "~15.2.0",
    "@angular/compiler": "~15.2.0",
    "@angular/core": "~15.2.0",
    "@angular/forms": "~15.2.0",
    "@angular/platform-browser": "~15.2.0",
    "@angular/platform-browser-dynamic": "~15.2.0",
    "@angular/router": "~15.2.0",
    "@nrwl/angular": "15.9.2",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.12.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~15.2.0",
    "@angular-devkit/core": "~15.2.0",
    "@angular-devkit/schematics": "~15.2.0",
    "@angular-eslint/eslint-plugin": "~15.0.0",
    "@angular-eslint/eslint-plugin-template": "~15.0.0",
    "@angular-eslint/template-parser": "~15.0.0",
    "@angular/cli": "~15.2.0",
    "@angular/compiler-cli": "~15.2.0",
    "@angular/language-service": "~15.2.0",
    "@nrwl/cypress": "15.9.2",
    "@nrwl/esbuild": "15.9.2",
    "@nrwl/eslint-plugin-nx": "15.9.2",
    "@nrwl/jest": "15.9.2",
    "@nrwl/js": "^15.9.2",
    "@nrwl/linter": "15.9.2",
    "@nrwl/node": "15.9.2",
    "@nrwl/web": "15.9.2",
    "@nrwl/workspace": "15.9.2",
    "@schematics/angular": "~15.2.0",
    "@types/jest": "^29.4.0",
    "@types/node": "~18.7.1",
    "@typescript-eslint/eslint-plugin": "^5.36.1",
    "@typescript-eslint/parser": "^5.36.1",
    "cypress": "^12.2.0",
    "esbuild": "^0.17.5",
    "eslint": "~8.15.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "jest": "^29.4.1",
    "jest-environment-jsdom": "^29.4.1",
    "jest-preset-angular": "~13.0.0",
    "ngx-build-plus": "^15.0.0",
    "nx": "15.9.2",
    "prettier": "^2.6.2",
    "ts-jest": "^29.0.5",
    "ts-node": "10.9.1",
    "typescript": "~4.9.5"
  }

Please let me know if there's any more information I can provide or if there's a recommended solution to this issue. I'm looking forward to using module federation in my project. Thank you!

I've encountered the same issue while trying to use the @angular-architects/module-federation plugin in my Nx project. I also received the "to" argument error when running the nx g @angular-architects/module-federation:init command.
I found that the error originates from the generateSsrMappings function in the schematic.js file. The path.relative() function expects both "from" and "to" arguments to be of type string, but it seems that the "to" argument can sometimes be undefined, causing the error.
A temporary workaround could involve modifying the schematic.js file to add a fallback value for the "to" argument.
// changed this line
const relOutPath = path.relative(projectOutPath, outPath).replace(/\\/g, '/') + '/';

// to
const relOutPath = path.relative(projectOutPath, outPath || '').replace(/\\/g, '/') + '/';

However, this is not an ideal solution, as it requires manual changes to the package's source code...
Here are my project's dependencies for reference:
"dependencies": {
    "@angular-architects/module-federation": "^15.0.3",
    "@angular/animations": "~15.2.0",
    "@angular/common": "~15.2.0",
    "@angular/compiler": "~15.2.0",
    "@angular/core": "~15.2.0",
    "@angular/forms": "~15.2.0",
    "@angular/platform-browser": "~15.2.0",
    "@angular/platform-browser-dynamic": "~15.2.0",
    "@angular/router": "~15.2.0",
    "@nrwl/angular": "15.9.2",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.12.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~15.2.0",
    "@angular-devkit/core": "~15.2.0",
    "@angular-devkit/schematics": "~15.2.0",
    "@angular-eslint/eslint-plugin": "~15.0.0",
    "@angular-eslint/eslint-plugin-template": "~15.0.0",
    "@angular-eslint/template-parser": "~15.0.0",
    "@angular/cli": "~15.2.0",
    "@angular/compiler-cli": "~15.2.0",
    "@angular/language-service": "~15.2.0",
    "@nrwl/cypress": "15.9.2",
    "@nrwl/esbuild": "15.9.2",
    "@nrwl/eslint-plugin-nx": "15.9.2",
    "@nrwl/jest": "15.9.2",
    "@nrwl/js": "^15.9.2",
    "@nrwl/linter": "15.9.2",
    "@nrwl/node": "15.9.2",
    "@nrwl/web": "15.9.2",
    "@nrwl/workspace": "15.9.2",
    "@schematics/angular": "~15.2.0",
    "@types/jest": "^29.4.0",
    "@types/node": "~18.7.1",
    "@typescript-eslint/eslint-plugin": "^5.36.1",
    "@typescript-eslint/parser": "^5.36.1",
    "cypress": "^12.2.0",
    "esbuild": "^0.17.5",
    "eslint": "~8.15.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "jest": "^29.4.1",
    "jest-environment-jsdom": "^29.4.1",
    "jest-preset-angular": "~13.0.0",
    "ngx-build-plus": "^15.0.0",
    "nx": "15.9.2",
    "prettier": "^2.6.2",
    "ts-jest": "^29.0.5",
    "ts-node": "10.9.1",
    "typescript": "~4.9.5"
  }

Please let me know if there's any more information I can provide or if there's a recommended solution to this issue. I'm looking forward to using module federation in my project.

Had the same problem. I think @angular-architects/module-federation:init is trying to create the remote entries for all existing application in the monorepo. Therefore it looks for the option "outputPath" in the "build" target of each app. The error occurs, if an app doesn't have this option configured in its "project.json".
Just add the option to make it run through. Of course you have to check the generated code in "assets/mf.manifest.json" of your app but you might end up adapting this file anyway.


Add force_keep_data prop to Mesh

I'm trying to implement a mechanism by which a Mesh can be set to retain its data after being uploaded to VRAM regardless the global behavior set at the rasterizer (keep_copies). (For the motivation please check #5044.)
So far I've added a boolean property to Mesh, called force_keep_data.
Now I need a way of ensuring that this property is set before the surfaces are passed to the rasterizer so it knows whether it has to keep the data or can drop it. Afterwards would be too late.
So this PR is still a work in progress. I would like to know if I'm on the right path. If my approach is good,
I'd need some way of ensuring the order. Are properties expected to be unserialized in _get_property_list() order? Also if there is a more reliable way of ensuring.
Edit: Solved.

Looks like very good idea. Will surface access work for such meshes?

Please provide short description of PR motivation directly in PR cover, that will make it self-contained
and easier to reference in future.

as I don't have time to test currently - please provide info on code state (does it work, any issues?)
and some minimal script to test this.

I'm very interested in this, though.

I've finished implementing and documenting it!
The general rule is: call set_force_keep_data() on the Mesh before adding surfaces. So if the mesh is included in the scene or loaded by code, it's already too late. In those cases the flag must be set right in the scene editor.
One problem I faced was that I needed the property force_keep_data to be set before those properties of surfaces. My way of solving it is tracking three states for the flag at the rasterizer level (unknown, enabled, disabled).
If explicitly disabled, the data already stored is immediately dropped and no future data will be retained. If kept unset (unknown) the rasterizer will add it to a purge list to drop it on the next frame.
This sorts out some problems:

The order in which properties are read/written doesn't matter.
Even if keeping data is not desired, as the property will be eventually set to false, the memory it takes will be freed almost at the same time that if this mechanism had not existed (per Mesh setup).
If the scene was saved by an earlier version of the editor, thus force_keep_data not being set, the rasterizer will bre free to drop the data anyway on the next frame (although it will have accumulated data of multiple Meshes so a higher RAM peak usage will happen during start-up).

Thanks! Looks good.

Minimal example.
On mobile (tested on Android), without force_keep_data the cubes at the sides won't be created and some error messages will be logged.

Sorry to stress Travis… but this needed a hopefully last important addition: a flag for the scene importer to set the force_keep_data on Meshes if they are tagged with -keepdata.

Rebased.
Do maintainers get a notification when I rebase or it's better that I comment like this?

Do maintainers get a notification when I rebase or it's better that I comment like this?

It's good that you comment, I did not get a notification for the rebased commit.

Please always comment, as there are many PRs, and no messages about updated
PRs are sent
by Github.
On Thu, Jun 23, 2016 at 9:52 AM, Rémi Verschelde<EMAIL_ADDRESS>wrote:

Do maintainers get a notification when I rebase or it's better that I
comment like this?
It's good that you comment, I did not get a notification for the rebased
commit.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/5086#issuecomment-227965031,
or mute the thread
https://github.com/notifications/unsubscribe/AAAX09aadIpQXPdBRUY-tt7u4t_GimuXks5qOi0ugaJpZM4Iv6fE
.


Bug:

Describe the bug
ResponseTrait -> respondNoContent should not return Content-Type header.
This makes postman trigger the bug parse error since content-type is text/html although it's none
CodeIgniter 4 version
4 stable
Expected behavior, and steps to reproduce if appropriate
ResponseTrait -> respondNoContent should not return Content-Type header.
Context

OS: Windows 10
Web server php builtin webserver
PHP version 7.2

for now I'm using $this->response->setStatusCode(204)->removeHeader('Content-Type') to fix it.

This is weird, it turn's out that Postman have a bug in cookie interceptor that trigger the parse error. Hence, this is not related to codeigniter bug, I'll close this issu.


Canvas doesn't resize with browser

When we zoom the browser, the canvas stays at it's original size
possible source to solve:
http://webglfundamentals.org/webgl/lessons/webgl-resizing-the-canvas.html

It seems the canvas sizes fine with the browser, but not with the zoom control (CTRL+mouse scroll)

This bug was inadvertently solved when committing changes for #23

Closing, because the issue is solved (text zoom). The actual browser resize is not working now, but can be fixed by using percentage size in the HTML. I haven't done that since I want to test with a small cube.