runtime: parallel json benchmark leads high CPU usage when go version > 1.15 on ARM64

I found a problem of CPU performance degradation on ARM64 platform. The parallel json benchmark in the latest go version resulted in a 50%+ increase CPU usage compared to the old version 1.15.
This  can be easily reproduced on ARM64:

install golang package
download go-jsonbench: https://github.com/kpango/go-json-bench
cd go-json-bench && make bench and observe CPU usage

My machine configuration:
Architecture:           aarch64
  CPU op-mode(s):       64-bit
  Byte Order:           Little Endian
CPU(s):                 128
  On-line CPU(s) list:  0-127
Vendor ID:              HiSilicon
  BIOS Vendor ID:       HiSilicon
  Model name:           Kunpeng-920
    BIOS Model name:    Kunpeng 920-6426
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 64
    Socket(s):          2
    Stepping:           0x1
    Frequency boost:    disabled
    CPU max MHz:        2600.0000
    CPU min MHz:        200.0000
    BogoMIPS:           200.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
Caches (sum of all):
  L1d:                  8 MiB (128 instances)
  L1i:                  8 MiB (128 instances)
  L2:                   64 MiB (128 instances)
  L3:                   128 MiB (4 instances)
NUMA:
  NUMA node(s):         4
  NUMA node0 CPU(s):    0-31
  NUMA node1 CPU(s):    32-63
  NUMA node2 CPU(s):    64-95
  NUMA node3 CPU(s):    96-127

The benchmark result is below:
CPU usage is about 2000% for go 1.15.7:

CPU usage is about 3000% for go latest version:

Finally, through git bisect search, I found that fe7ff71185cf was the first commit that leads performance degradation, but I was not clear why this commit had such a big impact on CPU performance.

Could you show the benchmark results using benchstat format? Does the benchmark execution time change? Thanks.

Could you show the benchmark results using benchstat format? Does the benchmark execution time change? Thanks.

The benchmark result for go 1.15.7:
go test -count=5 -run=NONE -bench . -benchmem
goos: linux
goarch: arm64
pkg: github.com/kpango/go-json-bench
BenchmarkJSONUnmarshalParallel-128       1211654              1046 ns/op             896 B/op          9 allocs/op
BenchmarkJSONUnmarshalParallel-128       1175497              1107 ns/op             896 B/op          9 allocs/op
BenchmarkJSONUnmarshalParallel-128        933501              1178 ns/op             896 B/op          9 allocs/op
BenchmarkJSONUnmarshalParallel-128       1144626              1075 ns/op             896 B/op          9 allocs/op
BenchmarkJSONUnmarshalParallel-128       1131621              1038 ns/op             896 B/op          9 allocs/op
BenchmarkJSONDecodeParallel-128           964694              1248 ns/op            1080 B/op         10 allocs/op
BenchmarkJSONDecodeParallel-128           904068              1277 ns/op            1080 B/op         10 allocs/op
BenchmarkJSONDecodeParallel-128           919507              1257 ns/op            1080 B/op         10 allocs/op
BenchmarkJSONDecodeParallel-128           832122              1231 ns/op            1080 B/op         10 allocs/op
BenchmarkJSONDecodeParallel-128          1012512              1167 ns/op            1080 B/op         10 allocs/op

The benchmark result for go latest version:
go test -count=5 -run=NONE -bench . -benchmem
goos: linux
goarch: arm64
pkg: github.com/kpango/go-json-bench
BenchmarkJSONUnmarshalParallel-128        778422              4004 ns/op             913 B/op         10 allocs/op
BenchmarkJSONUnmarshalParallel-128       1000000              1123 ns/op             912 B/op         10 allocs/op
BenchmarkJSONUnmarshalParallel-128       1000000              1243 ns/op             912 B/op         10 allocs/op
BenchmarkJSONUnmarshalParallel-128       1000000              1137 ns/op             912 B/op         10 allocs/op
BenchmarkJSONUnmarshalParallel-128       1000000              1109 ns/op             912 B/op         10 allocs/op
BenchmarkJSONDecodeParallel-128          1000000              1397 ns/op            1096 B/op         11 allocs/op
BenchmarkJSONDecodeParallel-128          1000000              1342 ns/op            1096 B/op         11 allocs/op
BenchmarkJSONDecodeParallel-128          1000000              1294 ns/op            1096 B/op         11 allocs/op
BenchmarkJSONDecodeParallel-128          1000000              1254 ns/op            1096 B/op         11 allocs/op
BenchmarkJSONDecodeParallel-128          1000000              1294 ns/op            1096 B/op         11 allocs/op

The benchmark execution time change using by benchstat:
goos: linux
goarch: arm64
pkg: github.com/kpango/go-json-bench
                          │   old.txt    │              new.txt               │
                          │    sec/op    │    sec/op     vs base              │
JSONUnmarshalParallel-128   1.075µ ± ∞ ¹   1.137µ ± ∞ ¹       ~ (p=0.056 n=5)
JSONDecodeParallel-128      1.248µ ± ∞ ¹   1.294µ ± ∞ ¹  +3.69% (p=0.024 n=5)
geomean                     1.158µ         1.213µ        +4.72%
¹ need >= 6 samples for confidence interval at level 0.95

                          │    old.txt    │               new.txt               │
                          │     B/op      │     B/op       vs base              │
JSONUnmarshalParallel-128     896.0 ± ∞ ¹     912.0 ± ∞ ¹  +1.79% (p=0.008 n=5)
JSONDecodeParallel-128      1.055Ki ± ∞ ¹   1.070Ki ± ∞ ¹  +1.48% (p=0.008 n=5)
geomean                       983.7           999.8        +1.63%
¹ need >= 6 samples for confidence interval at level 0.95

                          │   old.txt   │               new.txt               │
                          │  allocs/op  │  allocs/op    vs base               │
JSONUnmarshalParallel-128   9.000 ± ∞ ¹   10.000 ± ∞ ¹  +11.11% (p=0.008 n=5)
JSONDecodeParallel-128      10.00 ± ∞ ¹    11.00 ± ∞ ¹  +10.00% (p=0.008 n=5)
geomean                     9.487          10.49        +10.55%
¹ need >= 6 samples for confidence interval at level 0.95

Can someone help to explain this issue ?

cc @golang/arm @golang/compiler

My test results are slightly different from yours.

No matter whether these benchmarks are run with go1.15 or tip go, the CPU utilization is very high. The CPU utilization of tip go is about 50% higher than go1.15, which is consistent with what you observed.
go1.15: 1697%
tip go: 2294%
The performance of tip go is better than go1.15.

# benchstat go115 tip
goos: linux
goarch: arm64
                         │    go115    │                 tip                  │
                         │   sec/op    │    sec/op      vs base               │
JSONUnmarshal-96           4.810µ ± 3%   3.613µ ±   4%  -24.89% (p=0.002 n=6)
JSONDecode-96              4.265µ ± 1%   3.894µ ±   4%   -8.70% (p=0.002 n=6)
JSONUnmarshalParallel-96   2.294µ ± 5%   1.118µ ± 130%        ~ (p=0.065 n=6)
JSONDecodeParallel-96      1.268µ ± 4%   1.281µ ±   4%        ~ (p=0.310 n=6)
geomean                    2.779µ        2.118µ         -23.79%

                         │    go115     │                 tip                 │
                         │     B/op     │     B/op      vs base               │
JSONUnmarshal-96            2432.0 ± 0%     912.0 ± 0%  -62.50% (p=0.002 n=6)
JSONDecode-96              1.055Ki ± 0%   1.070Ki ± 0%   +1.48% (p=0.002 n=6)
JSONUnmarshalParallel-96    2432.0 ± 0%     912.0 ± 0%  -62.50% (p=0.002 n=6)
JSONDecodeParallel-96      1.055Ki ± 0%   1.070Ki ± 0%   +1.48% (p=0.002 n=6)
geomean                    1.583Ki          999.8       -38.31%

                         │   go115    │                 tip                 │
                         │ allocs/op  │ allocs/op   vs base                 │
JSONUnmarshal-96           10.00 ± 0%   10.00 ± 0%        ~ (p=1.000 n=6) ¹
JSONDecode-96              10.00 ± 0%   11.00 ± 0%  +10.00% (p=0.002 n=6)
JSONUnmarshalParallel-96   10.00 ± 0%   10.00 ± 0%        ~ (p=1.000 n=6) ¹
JSONDecodeParallel-96      10.00 ± 0%   11.00 ± 0%  +10.00% (p=0.002 n=6)
geomean                    10.00        10.49        +4.88%
¹ all samples are equal

I didn't dig into why the CPU utilization is so high, but the test data looks reasonable?
My test machine is a bit different with yours.
Architecture:           aarch64
  CPU op-mode(s):       64-bit
  Byte Order:           Little Endian
CPU(s):                 96
  On-line CPU(s) list:  0-95
Vendor ID:              HiSilicon
  Model name:           Kunpeng-920
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 48
    Socket(s):          2
    Stepping:           0x1
    BogoMIPS:           200.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asi
                        mddp asimdfhm
Caches (sum of all):
  L1d:                  6 MiB (96 instances)
  L1i:                  6 MiB (96 instances)
  L2:                   48 MiB (96 instances)
  L3:                   96 MiB (4 instances)
NUMA:
  NUMA node(s):         4
  NUMA node0 CPU(s):    0-23
  NUMA node1 CPU(s):    24-47
  NUMA node2 CPU(s):    48-71
  NUMA node3 CPU(s):    72-95
Vulnerabilities:
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Not affected
  Spec store bypass:    Not affected
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Not affected
  Srbds:                Not affected
  Tsx async abort:      Not affected

Maybe you can try to test it again by git checkout before commit runtime: add consistent heap statistics
And the result is that CPU utilization is less but performance is almost same with tip go

ping @erifan


Emit hop_to_executor instructors for foreign async calls.

Explanation: Fix a miscompile where a call to an Objective-C completion-handler method as async would fail to emit an
appropriate hop_to_executor instruction to hop back to the current executor afterward, meaning that subsequent code would not execute on the correct actor. This could cause data races and crashes.
Scope: Affects new code using Swift's Concurrency model.
Radar/SR Issue:  rdar://81468980
Risk: Low.
Reviewed By: Joe Groff
Testing: PR testing and CI on main, including new tests.
Original PR: https://github.com/apple/swift/pull/38767

@swift-ci please test

@swift-ci please nominate


Password Management (Need to separate to subtasks)

change password done
Forgot password planed

now we have change password system and forgot password system


Builder setShapeType

@IvBaranov : Hi, congratulations for the module.
I was trying it but when I try to set setShapeType I can not.
I tried with MaterialLetterIcon.Shape.CIRCLE, but it does not recognize it.
How can I do?
code:

 new MaterialLetterIcon.Builder(reactContext)
                .shapeColor(Color.parseColor("#000000"))
                .setShapeType(MaterialLetterIcon.Shape.CIRCLE)
                .letter("S")
                .letterColor(Color.parseColor("#000000"))
                .letterSize(26)
                .lettersNumber(1)
                .letterTypeface(font)
                .initials(false)
                .initialsNumber(2)
                .create();

There is an error in README, consider using shapeType() method rather than setShapeType().

@IvBaranov : ok, one last thing, you have to declare this in the xml file, to be able to use the module or through Builder to method create ().
<com.github.ivbaranov.mli.MaterialLetterIcon
    android:layout_width="@dimen/letter_icon_size"
    android:layout_height="@dimen/letter_icon_size" />

You can add MaterialLetterIcon either by declaring it in xml or by adding view programmatically using builder.

@IvBaranov : I have developed a bridge of your react-native module, can I refer to the profile of your module as a reference?

@IvBaranov :  There is a way to contact you privately?

@Angelk90 @0ff5pring would be ok.

@IvBaranov :  In your account on Twitter does not allow you to send private messages.

@Angelk90 sorry, fixed.


HackAUBG button in hamburger menu

Brief description:
Anchor should be a button instead with rectangle form
How to achieve it:
divs divs divs onClick

@annakukova can you please add a screenshot of the hamburger menu design so that @DemonHashira could better understand what he has to do.
You can paste it in a comment and it will get uploaded.


Add support for gzipped static content

When a static filename is requested, look for a gzip version of it before giving up. For example, GET bigfile.bin would check the flash filesystem for bigfile.bin. If it's not found, try again looking for bigfile.bin.gz. If that's found, send it with the proper headers to indicate compressed. If it's not found, fall through to a 404 not found.
See pull request for the gist of it: https://github.com/DavesCodeMusings/thimble/pull/1

Added in 0.3.0


Could not find a version that satisfies the requirement click==6.7 (from -r requirements.txt (line 1))

When running pip install -r requirements.txt then I get the below error message:
Could not find a version that satisfies the requirement click==6.7 (from -r requirements.txt (line 1)) (from versions: ) No matching distribution found for click==6.7 (from -r requirements.txt (line 1))
I am using Python 3.6.5. Also, when I then try to run python run.py then I get a error saying:
ImportError: No module named flask.
Thanks

Can't reproduce the issue here.
$ python --version
Python 3.6.5 :: Anaconda, Inc.
$ pip --version
pip 9.0.3 from /Users/mspier/Workspace/python/virtualenv/flamescope3/lib/python3.6/site-packages (python 3.6)
$ pip install -r requirements.txt
Collecting click==6.7 (from -r requirements.txt (line 1))
  Using cached click-6.7-py2.py3-none-any.whl
Collecting Flask==0.12.2 (from -r requirements.txt (line 2))
  Using cached Flask-0.12.2-py2.py3-none-any.whl
Collecting itsdangerous==0.24 (from -r requirements.txt (line 3))
Collecting Jinja2==2.10 (from -r requirements.txt (line 4))
  Using cached Jinja2-2.10-py2.py3-none-any.whl
Collecting MarkupSafe==1.0 (from -r requirements.txt (line 5))
  Using cached MarkupSafe-1.0.tar.gz
Collecting Werkzeug==0.14.1 (from -r requirements.txt (line 6))
  Using cached Werkzeug-0.14.1-py2.py3-none-any.whl
Building wheels for collected packages: MarkupSafe
  Running setup.py bdist_wheel for MarkupSafe ... error
  Complete output from command /Users/mspier/Workspace/python/virtualenv/flamescope3/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/9v/8nbfyjcx22512xg7vrz853800000gn/T/pip-build-gedw391n/MarkupSafe/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/9v/8nbfyjcx22512xg7vrz853800000gn/T/tmph5m5wa_bpip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.6
  creating build/lib.macosx-10.7-x86_64-3.6/markupsafe
  copying markupsafe/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/markupsafe
  copying markupsafe/_compat.py -> build/lib.macosx-10.7-x86_64-3.6/markupsafe
  copying markupsafe/_constants.py -> build/lib.macosx-10.7-x86_64-3.6/markupsafe
  copying markupsafe/_native.py -> build/lib.macosx-10.7-x86_64-3.6/markupsafe
  running egg_info
  writing MarkupSafe.egg-info/PKG-INFO
  writing dependency_links to MarkupSafe.egg-info/dependency_links.txt
  writing top-level names to MarkupSafe.egg-info/top_level.txt
  warning: manifest_maker: standard file '-c' not found

  reading manifest file 'MarkupSafe.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'MarkupSafe.egg-info/SOURCES.txt'
  copying markupsafe/_speedups.c -> build/lib.macosx-10.7-x86_64-3.6/markupsafe
  running build_ext
  building 'markupsafe._speedups' extension
  creating build/temp.macosx-10.7-x86_64-3.6
  creating build/temp.macosx-10.7-x86_64-3.6/markupsafe
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/include -arch x86_64 -I/anaconda3/include -arch x86_64 -I/anaconda3/include/python3.6m -c markupsafe/_speedups.c -o build/temp.macosx-10.7-x86_64-3.6/markupsafe/_speedups.o
  gcc -bundle -undefined dynamic_lookup -L/anaconda3/lib -arch x86_64 -L/anaconda3/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.6/markupsafe/_speedups.o -o build/lib.macosx-10.7-x86_64-3.6/markupsafe/_speedups.cpython-36m-darwin.so
  installing to build/bdist.macosx-10.7-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.macosx-10.7-x86_64
  creating build/bdist.macosx-10.7-x86_64/wheel
  creating build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/__init__.py -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/_compat.py -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/_constants.py -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/_native.py -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/_speedups.c -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  copying build/lib.macosx-10.7-x86_64-3.6/markupsafe/_speedups.cpython-36m-darwin.so -> build/bdist.macosx-10.7-x86_64/wheel/markupsafe
  running install_egg_info
  Copying MarkupSafe.egg-info to build/bdist.macosx-10.7-x86_64/wheel/MarkupSafe-1.0-py3.6.egg-info
Installing collected packages: click, itsdangerous, Werkzeug, MarkupSafe, Jinja2, Flask
  Running setup.py install for MarkupSafe ... done
Successfully installed Flask-0.12.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 itsdangerous-0.24

Can you try installing it on a clean virtualenv?

@ionakathryn assuming this is no longer an issue. Closing.

@spiermar I can confirm that this error occurs when using python 2.7. Maybe python 3 should be listed as a requirement in the README.md?

Should work with 2.7, that's my default environment. Wonder if this is Windows specific.

@spiermar the screen shot from above shows your using python 3 using a different version of pip than the user that is having a issue.  @arthurchipdean @ionakathryn python 2.7 will work, but pip needs to be upgraded to version 10.0.1.


Change GUI rows and columns to start at 1 to increase readability

Closes #2

Closed in favor of #4


Expired login Suggestion

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
Once login has expired I am required to click the remove button before I can click add and paste login info. In my ideal world you'd be able to readd the old account that has the expired login by just pasting login info and not having to click the remove button it seems like an unnecessary step.
Screenshots
(Don't have an expired login to give an example)
OS and Chatterino Version
Chatterino Nightly 7.4.1 (commit f6c90d99) built on 2023-02-20 with Qt 5.15.2, Windows SDK, MSVC 193431942, Crashpad
Running on Windows 10 Version 2009, kernel: 10.0.22621

Once login has expired I am required to click the remove button before I can click add and paste login info.

This is not true


Expose router?

Hi, is there any way to expose the router generated from restana?
I'm mainly interested in doing a router.prettyPrint() as supported by find-my-way, but I couldn't find any property/method of the service that returns the router.

Hi @JaneJeon, you can achieve this by passing your own routerFactory and therefore having control of the router instance. Please see the example below:
let prettyPrint

const router = require('find-my-way')
const routerFactory = (options) => {
  instance = router({
    ignoreTrailingSlash: options.ignoreTrailingSlash || false,
    allowUnsafeRegex: options.allowUnsafeRegex || false,
    maxParamLength: options.maxParamLength || 100,
    defaultRoute: options.defaultRoute || ((req, res) => res.send(404))
  })

  prettyPrint = () => instance.prettyPrint()

  return instance
}

const restana = require('restana')
const app = restana({
  routerFactory
})
...

You might also be interested on the routes() method in restana. Not that fancy as prettyPrint, but I guess will give you the same information.

Regards


Added Latest Event Pokemons

Added the Halloween 2023 pokemons,

Evil Mightyena
Voodoo Spinda
Pumpkin Gothorita
Overgrown Shiinotic

Didn't see your pull but added it myself 3 days ago


Find all references move to bottom

Find all references is currently on the left side, its more natural to have it configurable so that it can be moved to the bottom.
also, if we can add (expand all) hotkey that would be great.

We are having plans of supporting a more generic workbench layout (@sbatten knows more) and once that has been implemented then the references viewlet can be moved anywhere


Cpu feature level rework

[x] Use Default
[x] Make the cpu feature user-settable in a sane way
[ ] Move the field in Config and update the FrameInvariants accordingly

Coverage decreased (-0.03%) to 71.088% when pulling a1d509a5f5c32e12fd6736f3dafba008b36357f5 on rust-av:cpu-feature-level-rework into f8008ce9e43c885629456e63798b72f80db84560 on xiph:master.

I suggest you discuss this change with derf, since he is the one who mentioned using environmental variables in theora. I'm not entirely opposed to this change since it makes it possible to use with AWCY, but I don't actually want to average user to have access to this function.
One concern I have is with the ABI. In the future, we want to be able to add and remove different cpu feature levels. Will there be breakage if we do this?

I suggest you discuss this change with derf, since he is the one who mentioned using environmental variables in theora. I'm not entirely opposed to this change since it makes it possible to use with AWCY, but I don't actually want to average user to have access to this function.

Currently we have a situation in which the env approach seems to not work and we want the user to report back if something works or not with avx2 turned off.
Not sure which is the function you are wary of.

One concern I have is with the ABI. In the future, we want to be able to add and remove different cpu feature levels. Will there be breakage if we do this?

Until we have dynamic libraries, our concern is on the API stability :)
If you want to mix and match multiple implementations at runtime then we'd either have to extend the enum with all the supported combinations or we'd have to use a struct of booleans.
In general I guess I'll have to discuss with Tim a lot since if we want to do that it would mean multiple branches in hot paths and that feels more problematic that what is already present.

Unfortunately, it seems to not be helping. Both Native and AVX2 fails.

I suggest you discuss this change with derf, since he is the one who mentioned using environmental variables in theora. I'm not entirely opposed to this change since it makes it possible to use with AWCY, but I don't actually want to average user to have access to this function.

Derf wants to have a debug-only facility so I removed it from the API completely.


Keep camera on reload

@snoyer ptal

@snoyer ptal

Inconsequential nitpick: not a big fan of the hardcoded default values in camera_state_t, but it looks like they are hardcoded in the vtkCamera constructor too so I guess there's no way to avoid the duplication short of instantiating a vtkCamera to get...() the values at runtime :(

Inconsequential nitpick: not a big fan of the hardcoded default values in camera_state_t, but it looks like they are hardcoded in the vtkCamera constructor too so I guess there's no way to avoid the duplication short of instantiating a vtkCamera to get...() the values at runtime :(

Not a big fan either tbh, but better to have something than uninitialized values.

resetToDefault now do not rely on a vtk camera

@snoyer please review


ENH: bundle inspect.isclass to avoid paying the cost of inspect import.

Importing attrs on my fairly decent machine takes around 20-30 ms. Since I am using attrs in CLI tools, every small bit counts, and I'd like to make import attrs faster.
inspect is known as an expensive module to import, and since we use it only for one trivial oneline method, would it be acceptable to remove inspect import ? That makes importing attrs more or less free on my machine.

Current coverage is 100.00%

Merging #37 into master will not affect coverage as of ab8606d

@@            master     #37   diff @@
======================================
  Files            7       7
  Stmts          361     365     +4
  Branches        86      86
  Methods          0       0
======================================
+ Hit            361     365     +4
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of ab8606d

Powered by Codecov. Updated on successful CI builds.

I’ve played with it with ipython %time and got consistetly ~15% speed boost which seems worth it.  So TIL although you made it sound more profound. :)
Can you add a comment to _compat that explains this?  I don’t want this reasoning to get lost over the years.

So just to give a more precise number for posterity. On my i7 desktop machine:
# each time is the best of a 5 iterations loop
time python -c ""
real	0m0.014s
user	0m0.012s
sys	0m0.004s
# master
time python -c "import attr"
real	0m0.028s
user	0m0.024s
sys	0m0.000s
# with this change
time python -c "import attr"
real	0m0.020s
user	0m0.020s
sys	0m0.000s

The difference is less striking on my macbook.

Thanks!  I hope you’ve noticed the slots changes?  Seems like something you may care about.

I haven't ! In my applications, speed is generally more important, but it is good to know we have the option.

Leaner software is usually also faster software. :)


Mismatch in locations of generating resources with schema.

Description:
On some connectors, the resource folder is getting generated on the root folder.[1]
But on another set of connectors, resources are getting generated inside the modules under the project name.[2]
Please refer to the example below.
[1]

[2]

Both of the above connecters contains the record/types.bal (ballerina file with record types) inside the root path.
So ideally it should generate a resource folder inside the root folder[1] in my opinion.
Steps to reproduce:
[1]
Clone https://github.com/ballerina-platform/module-ballerinax-github
Setup the repo and type bal build -c --skip-tests inside github folder.
[2]
Clone https://github.com/ballerina-platform/module-ballerinax-googleapis.calendar
Setup the repo and type bal build -c --skip-tests inside calender folder.
Ballerina version:
Ballerina Swan Lake Alpha 5
Findings related to the issue
[2] This scenario was happening for connectors with . on the connecter name.
e,g :
[package]
org= "ballerinax"
name= "googleapis.calendar"

Suggested Labels (optional):

Suggested Assignees (optional):

Closing this issue as it will be handled by the Issue 131.


One source to rule them all

The electricity baseline, as it is found on the Fed Commons, points to a single source, "Ingwersen, et al. electricitylci: A Python Package for U.S. Regionalized Electricity Life Cycle Inventory Data Creation" under the category "In_Development."
Is this still accurate?

The last known recommended citation for the electricity baseline is the following:

EPA, "Electricity Life Cycle Inventory," 15 March 2022. [Online]. Available: https://github.com/USEPA/ElectricityLCI/commit/43ab081bcb7706efb69851aa533195cc5e2e124d.

The electricity baseline, as it is found on the Fed Commons, points to a single source, "Ingwersen, et al. electricitylci: A Python Package for U.S. Regionalized Electricity Life Cycle Inventory Data Creation" under the category "In_Development."
Is this still accurate?

We never completed that paper :-(


Fail to run 'run_experiment'

“bc_exp_script.py", line 26, in experiment
print(variant['expert_name'])
KeyError: 'expert_name'

Sorry for the missing yaml file. We will sort up and provide a set of parameter files that reproduces our exps this week. I will remind you in this issue once we done it.

Thanks for your feedback! We have updated our demonstration experiment settings. Sorry for the mistake again.

@tyq1024 Please see https://github.com/apexrl/COIL/tree/master/specs for supplemented exp yaml files.

Thanks!

running demo_spec.yaml

File "run_scripts/coil_script.py", line 167, in
experiment(exp_specs, snapshot=snapshot, extra_data=extra_data)
File "run_scripts/coil_script.py", line 57, in experiment
env_specs['eval_env_seed'], variant['coil_params']['discount'],
KeyError: 'discount'

running hc_md.yaml

File "run_experiment.py", line 36, in
for variant in vg_fn():
File "/COIL/rlkit/launchers/launcher_util.py", line 457, in vg_fn
dict_to_yield = add_variable_to_constant_specs(constants, flat_variables)
File "/COIL/rlkit/launchers/launcher_util.py", line 428, in add_variable_to_constant_specs
cur_sub_dict = cur_sub_dict[sub_key]
KeyError: 'coil_params'


[iOS] Undefined symbols for architecture armv7 when building for Generic iOS Device

[x] Review the documentation: https://docs.viromedia.com/
[x] Search for existing issues: https://github.com/viromedia/viro
[x] Use the latest ViroReact release: https://docs.viromedia.com/docs/releases

Environment
Please provide the following information about your environment:

Development OS: MacOS
Device OS & Version: Xcode 10.2.1 (10E1001)
Version: react-viro: 2.15.0 & react-native: 0.60.4

Description
I cannot compile my application it throws this error:
ld: warning: ignoring file /Users/loiclopez/app/node_modules/react-viro/ios/dist/ViroRenderer/static_lib/ViroKit_static_lib.framework/ViroKit_static_lib, missing required architecture armv7 in file /Users/loiclopez/app/node_modules/react-viro/ios/dist/ViroRenderer/static_lib/ViroKit_static_lib.framework/ViroKit_static_lib (2 slices)
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_VROViewAR", referenced from:
      objc-class-ref in libViroReact.a(VRTARSceneNavigator.o)
      objc-class-ref in libViroReact.a(VRTARUtils.o)
  "_OBJC_CLASS_$_VROViewControllerGVR", referenced from:
      objc-class-ref in libViroReact.a(VRTSceneNavigator.o)
      objc-class-ref in libViroReact.a(VRTVRSceneNavigator.o)
  "_OBJC_CLASS_$_VROViewScene", referenced from:
      objc-class-ref in libViroReact.a(VRT3DSceneNavigator.o)
  "getBlankTexture(VROTextureType)", referenced from:
      -[VRTMaterialManager loadVideoTextureForMaterial:driver:context:] in libViroReact.a(VRTMaterialManager.o)
      -[VRTMaterialVideo updateMaterialVideoTexture] in libViroReact.a(VRTMaterialVideo.o)
  "VROGeometryUtilGetPrimitiveCount(int, VROGeometryPrimitiveType)", referenced from:
      -[VRTGeometry updateGeometry] in libViroReact.a(VRTGeometry.o)
  "toDegrees(float)", referenced from:
      +[VRTARHitTestUtil rotationFromVector:] in libViroReact.a(VRTARHitTestUtil.o)
      ___49-[VRTNodeModule getNodeTransform:resolve:reject:]_block_invoke in libViroReact.a(VRTNodeModule.o)
      -[VRTScene cameraOrientation] in libViroReact.a(VRTScene.o)
      -[VRTScene logSceneDebugInfo:] in libViroReact.a(VRTScene.o)
      -[VRTNode onRotate:node:rotationRadians:rotateState:] in libViroReact.a(VRTNode.o)
      +[VRTARUtils createDictionaryFromAnchor:] in libViroReact.a(VRTARUtils.o)
  "toRadians(float)", referenced from:
      -[VRTNode setRotation:] in libViroReact.a(VRTNode.o)
      -[VRTCamera setRotation:] in libViroReact.a(VRTCamera.o)
      -[VRT360Video setRotation:] in libViroReact.a(VRT360Video.o)
      -[VRT360Video updateSceneWithSphereTexture] in libViroReact.a(VRT360Video.o)
      -[VRT360Image setRotation:] in libViroReact.a(VRT360Image.o)
      -[VRT360Image updateSceneWithSphereTexture] in libViroReact.a(VRT360Image.o)
      ___56-[VRTARSceneNavigatorModule setWorldOrigin:worldOrigin:]_block_invoke in libViroReact.a(VRTARSceneNavigatorModule.o)

  // and more errors...

Reproducible Demo

Clone the viromedia/viro repository
yarn install & pod install
open ViroSample.xcworkspace
build with generic device

This issue only occurs when archiving for a release or build for Generic iOS Device.

Hi @loic-lopez,
We've since removed support for armv7 from our builds (enables support for iPhone 4/4S and iPad Mini 1). To update your build too, set the Architectures you build to $(ARCHS_STANDARD_64_BIT) instead of $(ARCHS_STANDARD).

@achuvm thanks for reply, don't forget to update this repository too.


Planned Releases and Community Communication

Hi!
I tried reaching out in gitter but it seems that no one looks at https://gitter.im/spring-cloud/spring-cloud-aws any more.
Where do you plan to communicate planned release dates? We'd like to upgrade to SC 2020.0.0 but it seems there's no compatible SC AWS release yet.

Hey @kschlesselmann ,
do you mind opening  opening discussion with category Q&A please?
I believe it's more clear and better way to communicate then gitter since questions can be searched for.
If you have any more questions or ideas please don't hesitate to open discussion! :)

Hey @kschlesselmann ,
do you mind opening  opening discussion with category Q&A please?
I believe it's more clear and better way to communicate then gitter since questions can be searched for.
If you have any more questions or ideas please don't hesitate to open discussion! :)

Yeah, good idea. Didn't know about "Discussions" yet :-)
https://github.com/awspring/spring-cloud-aws/discussions/22

Yeah, good idea. Didn't know about "Discussions" yet :-)
https://github.com/awspring/spring-cloud-aws/discussions/22


Add MS Docs link to resource symbol hovers

Closes #2152

Nice!

Do we have a sense of how many of the links we generate will be valid and not resulting in a 404?

Do we have a sense of how many of the links we generate will be valid and not resulting in a 404?

No, but the doc generation is based off the information available in https://github.com/Azure/bicep-types-az - so in theory it should only be if the two are out of sync.

@anthony-c-martin In the past, RP teams had to explicitly request REST doc generation from swagger. The REST docs are probably only available for a subset of types. On one hand, I wouldn't want to display links that go to a 404 page. On the other hand, we'd have to make requests to the URLs during type generation to confirm the page isn't a 404. Valid links could become broken after type generation anyway. So maybe it's fine and we'll just rely on user reports. (Not sure if we can telemetry on clicks leading to 404s.)
@tfitzmac and @mumian is doc generation still on demand or is it automatic?

The REST docs still require a request to onboard but the template/Bicep reference docs are generated from the types in bicep-types-az, as Anthony mentioned. I would need to double-check for any missing RPs in the docs but there is nothing preventing us from having a complete match.

The REST docs still require a request to onboard but the template/Bicep reference docs are generated from the types in bicep-types-az, as Anthony mentioned. I would need to double-check for any missing RPs in the docs but there is nothing preventing us from having a complete match.

Thanks for confirming!


Commands social

the avatar grab command in the social is up and running (tested).


fix: suppress exceptions when attempting to write to closed fds

Closes #1
A cleaner way to approach this might be to have an explicit way to terminate threads which could be triggered by, e.g., a contextlib.closing manager, but to do that right you'd probably need to enable locks to ensure the state of the file descriptor doesn't change between the "termination" check and the actual write call (and tbh, I don't know if that's even possible without introducing additional code/lock awareness at an outer layer).

I am sorry for the delay, I got caught up in the other work. I've verified that both problems with Travis CI have nothing to do with this.
I think providing a flag to silence an error may cause additional problems down the road. If I figure out a nicer way to fix this without the flag, then I have to deprecate and remove the flag. Creating something not so pleasant. I think your changes are fine. I'll accept them now. I'll update the changes to remove the flag and will release a new version on PyPI by the end of tomorrow. Thank you for reminding me.


Bot handoff

Is bot to human handoff possible in V4? If yes, can I have a sample for the same?

Dup of https://github.com/Microsoft/BotBuilder-Samples/issues/1133
These are not official handoff samples, but I would recommend taking at look:
C#: https://github.com/tompaana/intermediator-bot-sample
Node: https://github.com/tdurnford/botframework-human-handoff


Consider using pytest-mypy-plugins for type tests

I have notied that you have this file: https://github.com/dbrgn/result/blob/master/result/typetests.py
It might be a good idea to switch to https://github.com/typeddjango/pytest-mypy-plugins if you need more features like:

Testing errors
Testing different mypy setups

That's how we test our Result: https://github.com/dry-python/returns/tree/master/typesafety/test_result

@sobolevn Hey, I had a quick look at this stuff. I'd prefix this by saying I don't do much Python day to day, only as a 'hobby' from time to time ;)
After going it, I'm a bit unsure of the benefits as opposed to just the current setup which runs mypy over the python file we've got (typetest.py). It's a bit ad-hoc for sure and we've have to separately include it in the CI testing setup as opposed to pytest-mypy-plugins which automatically picks up the yaml test file and runs it without any extra config.
Is there any additional benefits we would gain from using pytest-mypy-plugins over running mypy over the file like we've got currently
So after writing this all out and re-reading your comment,
I guess these are the benefits over just using mypy directly,

Testing errors -- mypy will just fail, but with the plugin we can assert things don't type check in expected cases
Testing different mypy setups -- different configurations? (mypy_config)

Hmm, after writing this I can definitely see some benefits. I think I'm inclined to switch over, unless @dbrgn you've got some concerns as well?

The python inside yaml is a bit awkward though.

😬


Provide default values for ObservableDictionary and ObservableSet initializers

This PR makes it simpler to initialise both ObservableDictionary and ObservableSet.
Before
let initialDictionaryValue = [String: String]()
let observableDictionary = ObservableDictionary<[String: String]>(initialDictionaryValue)

let initialSetValue = Set<String>()
let observableDictionary = ObservableSet<String>(initialSetValue)

After
let observableDictionary = ObservableDictionary<[String: String]>()

let observableDictionary = ObservableSet<String>()

Codecov Report

Merging #388 into master will not change coverage.
The diff coverage is 50%.

@@           Coverage Diff           @@
##           master     #388   +/-   ##
=======================================
  Coverage   77.13%   77.13%
=======================================
  Files          51       51
  Lines        3167     3167
=======================================
  Hits         2443     2443
  Misses        724      724

Impacted Files
Coverage Δ

Sources/Collections/ObservableDictionary.swift
0% <ø> (ø)
:white_check_mark:

Sources/Collections/ObservableSet.swift
32.92% <100%> (ø)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5bad00b...eeee1b2. Read the comment docs.

👍


Add unit testing and fix the CI workflow

This add some very minimal unit testing and runs it on Github actions for every push and pull request. Currently, there are just some tests for the OrcaCalculation implementation. But with these examples, it should be very easy to add more tests for different inputs. It would be very good to add at least one parser test. For this I would need the contents of a remote_folder run with orca, but I don't have access to orca to run it. @danielhollas could you maybe provide me with that output? I can then add some basic parser test as an example

Thanks so much @sphuber, this is awesome. I will merge this once I test locally.

@danielhollas could you maybe provide me with that output? I can then add some basic parser test as an example

Great, I'll send the files on Slack.


Add jslint or jshint to ensure JavaScript code quality

I'm on it!

Merged to master on 10/27/2018


A3 Pathing fix.

Should correct the issue of portals in town being clicked on when walking past them (ormus->WP, WP ->Ormus etc)

we should just use force move, that will make 100% sure it does not happen

But if you say it is regardless of the issue at hand a nicer pathing we can merge.

But if you say it is regardless of the issue at hand a nicer pathing we can merge.

well all the testing that was done it didn;'t happen anymore, but force move would work as well... i just went for the quick road lol. plus i always felt weird the way it ran around for cain and stashing.


Updating SUV parameters (time/injected dose) doesn't change the SUV[Bug]

Describe the Bug
Using the SUV side panel to adjust the SUV calculation does not change the image SUV (except patient weight)

SUV is calculated as shown here:

cimg (t), BW and ID all affect the calculation.
OHIF does it correctly

cimg (t) needs to be decay corrected back to the injection time, so changing the injection time SHOULD change the SUV
changing the injection time from 072100.00 to 012100.00 should change the SUV

Changing the ID SHOULD affect the calculation
changing dose from 588802304 to 10802304 does NOT change SUV

Changing the BW  DOES affect the calculation
changing BW from 91 kg to 50 kg changes SUV

Steps to Reproduce

On OHIF DEMO go to an PET-CT study
Draw an ellipse and get an SUV value
change the Injection time
SUV will not change
change injected dose
SUV will not change
change the body weight
SUV will change

The current behavior
Changing Injected dose and injected time does not change the SUV
The expected behavior
Changing injected dose and injected time should change the SUV
OS
Windows 10
Node version
OHIF Demo
Browser
Version 119.0.6045.160

what's the manufacturer of your PET images? For instance if its philips, philips give a private tag to get suv values (a conversion factor) and in this case there's no decay correction to apply

The data I've referenced in the reported bug is on OHIF Demo and it appears to be a GE Discovery ST.
We have Siemens and GE scanners at UHN and I haven't dealt with the Phillips private tag myself. SUV should be able to be calculate without that tag if an image is provided in BQML and has the proper injection information included.
I presume the private tag in the siemens images include all the decay correction, patient weight and injected dose into one convenient factor which is great but I'm not sure how OHIF is handling the SUV conversion, I presume its not via the tag since that tag won't exist on GE and SIEMENS Images.

OK i found it, Humm I see it's a bug yes, the SUV shall change,

Yes I confirm this bug is everywhere....

The important part is just that everything is taken from the same reference time.  So yes depending on that tag you would need to correct it or not.  But I'm referring to not just injection time but also the injected dose.  Both numbers can be changed in the PET SUV panel in TMTV mode but when applied don't change the value.
I was looking at https://viewer.ohif.org/tmtv?StudyInstanceUIDs=<IP_ADDRESS>.4.1.145<IP_ADDRESS>.7009.2403.871108593056125491804754960339

Didn't got the time to explore it but i think is more related to a bug in OHIF as the SUV calculation is properly tested

I tried in the basic viewer and it worked fine check this out
https://github.com/OHIF/Viewers/pull/4147
I also tried in latest tmtv and worked fine

Oh I see it is the injection time change hmmmmmm

Ok updated the PR, it was a silly bug since dcmjs has changed how get works

Just to confirm the SUV should change if any of Patient WT, Injection Time, Injection Dose, Half life or Acquisition time change.  All of those will affect the calculated SUV.

I can confirm the suv change for all not the acquisition time, not sure why

I didn't looked at the code yet, but the injection time has two flavors, originally the tag was injectionTime for old studies and this tag became deprecated in favor of injectionDateTime
So I think we made something to prioritize injectionDateTime and if not available use the deprecated injectionTime assuming the date identical to acquisition date
That special logic could be a bed for a bug

Ok I think i know why the injection time does not really have an effect
it is here
https://github.com/cornerstonejs/calculate-suv/blob/fb299f0897d274b458fbdb98187e9a5f13b152e7/src/calculateScanTimes.ts
As you see if prefers earliestAcquisitionDateTime
if (
    seriesDateTime.getTimeInSec() <= earliestAcquisitionDateTime.getTimeInSec()
  ) {
    return results.fill(seriesDateTime);
  } else {

Could you please explain the logic and confirm if it makes sense?

Do you mean injection time has no effect or acquisition time has no effect?  I kind of understand the logic of using the series time if acquisition time is missing, but if someone physically types in a new number than shouldn't it use that?

Seems like the logic takes the earliest date and time if there are multiple options. I'm unsure about the rationale behind this approach. Perhaps we should consider removing it? but then what happens if there are multiple from start?

The logic is correct see here : https://qibawiki.rsna.org/images/8/86/SUV_vendorneutral_pseudocode_20180626_DAC.pdf
if	Series	Date	(0x0008,0x0021)	and	Time	(0x0008,0x0031) are	not	after	Acquisition	Date	(0x0008,0x0022)	and	Time	(0x0008,0x0032)		{ scan	Date	and	Time	=	Series	Date	and	Time } else	{ //	else	may	be	Siemens	series with	altered	Series	Date	and	Time // either	check	earliest	of	all	images	in	series	(for	all	bed	positions) (wrong	for	case	of	PETsyngo	3.x	multi-injection) scan Date	and	Time	= earliest	Acquisition	Date	(0x0008,0x0022)	and	Time	(0x0008,0x0032)		in	all	images	of	series
If series time si later than the earliest acquisition time the earliest acquisition time should be used as reference, so the code is correct.

I'm not sure I understand the logic of "If series time is not after acquisition time then use series time"
Shouldn't acquisition time be the target to decay correct to?  On GE systems the series time is when the tech creates the series but the acquisition time is when the image is actually scanned.
Right now if I open a study the patient info panel shows me the series time in the box labelled acquisition time.  So might be best to show both.

  If that's left blank reload data won't change.  If I enter M or F or O it will change.
Injection time doesn't change SUV.  Still not sure I understand why that is based on the conversation above.
Acquisition time can't be changed (looks to be the same as series time for this study so not sure which its showing)

Yes I agree we should display both Series Time and AcquisitionTime (the earliest one)
That's normal Sex doesn't change the SUV as SUV don't take care of Male or Female (Sex is used for SUL calculation)
Outside the phatom study Injection time update changes SUV, i think we are OK for injection time.
Yes also agree series / acquisition time should be editable as well.

Yes the problem I had with sex  is that if you try and reload the SUV on that phantom study (ie change the weight from 6 to 12) it won't recalculate if the sex field is empty.  Agree it is only used for SUL so it should affect it but it seems to prevent reload when blank.

From: Salim Kanoun @.>
Sent: May 24, 2024 6:42 PM
To: OHIF/Viewers @.>
Cc: Driscoll, Brandon @.>; Author @.>
Subject: [External] Re: [OHIF/Viewers] Updating SUV parameters (time/injected dose) doesn't change the SUV[Bug] (Issue #3805)
Yes I agree we should display both Series Time and AcquisitionTime (the earliest one)
That's normal Sex doesn't change the SUV as SUV don't take care of Male or Female (Sex is used for SUL calculation)
Outside the phatom study Injection time update changes SUV, i think we are OK for injection time.
Yes also agree series / acquisition time should be editable as well.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/OHIF/Viewers/issues/3805*issuecomment-2130468111__;Iw!!CjcC7IQ!JvJZ96W0W8TPrvbX20rEY4C_c4nWMG3zMHYKrub6od65y9_BpwNh7HtNrZwZKF7JfhUe-cWeI9NmcqmPDgRvp5x0AFEPLA$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A257DJKULPYA2Y5QKTLORNLZD666NAVCNFSM6AAAAAA7YI4MM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZQGQ3DQMJRGE__;!!CjcC7IQ!JvJZ96W0W8TPrvbX20rEY4C_c4nWMG3zMHYKrub6od65y9_BpwNh7HtNrZwZKF7JfhUe-cWeI9NmcqmPDgRvp5yI5vT2zQ$.
You are receiving this because you authored the thread.Message ID: @.***>
This e-mail may contain confidential and/or privileged information for the sole use of the intended recipient.
Any review or distribution by anyone other than the person for whom it was originally intended is strictly prohibited.
If you have received this e-mail in error, please contact the sender and delete all copies.
Opinions, conclusions or other information contained in this e-mail may not be that of the organization.
If you feel you have received an email from UHN of a commercial nature and would like to be removed from the sender's mailing list please do one of the following:
(1) Follow any unsubscribe process the sender has included in their email
(2) Where no unsubscribe process has been included, reply to the sender and type "unsubscribe" in the subject line. If you require additional information please go to our UHN Newsletters and Mailing Lists page.
Please note that we are unable to automatically unsubscribe individuals from all UHN mailing lists.
Patient Consent for Email:
UHN patients may provide their consent to communicate with UHN about their care using email. All electronic communication carries some risk. Please visit the UHN website and search “Using email to Communicate with Your UHN Health Care Team” to learn about the risks of electronic communication and how to protect your privacy. You may withdraw your consent to receive emails from UHN at any time. Please contact your care provider, if you do not wish to receive emails from UHN.

Agreed there's a bug here


If geo widget is hidden upon load it shows only partial tile (pages mode & relevant) [2]

From @MartijnR on April 15, 2015 17:13
resizing the window shows all tiles, or hide/show input button to resize the map
Copied from original issue: kobotoolbox/enketo-express#188

From @MartijnR on July 2, 2015 21:22
The same issue occurs in pages mode and when revealing irrelevant geo widgets.

From @MartijnR on April 15, 2015 17:17
https://github.com/Leaflet/Leaflet/issues/3002

From @MartijnR on July 2, 2015 21:38
This is a workaround for what is probably a leaflet bug. Leaving this issue open to see if the workaround can be removed in the future.
https://github.com/enketo/enketo-core/commit/04b05232d4d9c21ba0fbf7bd4a874b7348e1141d

From @JPustkuchen on June 10, 2016 15:59
I can confirm this problem still exists in Leaflet 1.0.0-rc1

From @MartijnR on June 10, 2016 16:4
Thanks!


Action trigger lost, when edit action

Describe the bug
When editing a previously defined action, it loses the selected trigger. When hitting save, this is also removed in the data and the action is not doing anything anymore, as it does not have trigger.
To Reproduce
Steps to reproduce the behavior:

Go to 'action'
Add an action and hit save
Find the newly created action in the list and click the edit button
change something and save again
trigger command lost(!)

Expected behavior
The previously selected command should not be changed as long as not explicitly done by the user.

Which version is used?
If it is stable 0.6.7 please set it to latest or download it directly from github. I fixed the problem with 0.6.8, otherwise I can't reproduce the behavior.


Remove prompt for community module issues

Description
The current recommendation for non-desktop-supporting modules is to open an issue on the module's repo.
This change also removes the list of supported modules, as it's out of date and directory is a better source anyway.
Why
We removed the issue template but not the request to log an issue on our repo.
Screenshots

Microsoft Reviewers: Open in CodeFlow

Would be nice to take the time to move to a static page (https://github.com/microsoft/react-native-windows-samples/issues/620), if I can just figure out a good example to model after...


[BUG] Datarule not working or im using it wrong

The data rule seems to be not working i dont know if i am using it wrong http://prntscr.com/nnm1nq

i think is just USER instead


Enable the 2nd DRAM controller for ADKU3 and S121B cards

These cards have two separate DRAM channels. Therefore they need two MIG cores to drive the I/Os, otherwise the action can only access 1/2 of the available memory. In the past this effort had been prevented by the PSL DCP blocking DRAM I/Os.
There are two options to support DRAM on these cards (TBD):
a) Combine the two AXI buses with AXI interconnect.
=> No change to action wrapper, as the action still just sees one AXI with 2x the memory size
=> May be able to clock the merged AXI faster to get the max. bandwidth from the DRAM controllers.
b) Connect both MIG AXI buses to the action directly
=> ~2x bandwidth possible, the two DRAM controllers work independently.
=> Requires changing the action wrapper and all example actions!

Is it feasible to let the user select one of these 2 options depending on his needs : more space or more bandwidth?

I don't think we need all combinations (driving someone mad).
IMHO the most important option is a) : Provide the full DRAM size, more bandwidth as well. Let the AXI interconnect handle the AXI routing to one of the (2-4) MIGs.
Option b) doesn't really give more benefits, just a little more control.
Testing all "little complex" combinations will be a nightmare without much added customer value.
=> Support 1 DRAM (no AXI interconnect needed), or all DRAM MIGs (AXI interconnect needed)
Users who really need fewer MIGs can then manually remove unused MIGs from the block design, or propose changes to automate this.
I agree with the naming. All names should start with 0.

So far, no card implements two DRAM MIGs (with two separate DRAM interfaces in hardware/hdl/core/psl_fpga_<cardname>.vhd_source


[fonts] can we repackage Nerdfonts

Certain shells and other bling require nerdfonts. https://www.nerdfonts.com/
Can we repackage them, or do we even need to?

I guess we could just clone stuff from their git repos and move them to the right directories (/usr/share/fonts)

I guess we could just clone stuff from their git repos and move them to the right directories (/usr/share/fonts).

Sure!
If we're supposed to be COPY ied from does it make sense to lay out the structure like this? I see in the README you're prefixing everything with /files/ but I'd also guess that that isn't needed as we could just do the build steps once and then just have a FROM scratch with the correct files in the correct place.

I know it isn't particularly necessary, I just thought about using a /files/ROOT and /rpms to make it similar to how ublue-os/config does it!

If we're doing RPMs too then it makes sense :+1:

Actually this could be a bit of an issue, as the GH runner literally runs out of space when fetching all the fonts :( Any ideas?

To be honest I wonder wether or not this is even necessary though. As you can just clone your necessary fonts on your image as you wish without overloading it with a bunch of things, the NerdFonts github even has some instructions on how to do that

Sure, if Nerdfonts takes up too much space it could be left out and just have some page in the docs dedicated to adding custom fonts.


A11y violation in Navbar

https://zrc.netlify.app/#/Components/Organisms/Navbar
There is a warning in lighthouse related to this component when used in an application:
Lists do not contain only  elements and script supporting elements (


refactor(protocol-engine): Implement moveToCoordinates

Overview
This PR implements the Protocol Engine moveToCoordinates command. In the short term, this is necessary to fully implement the JSON Protocol v6 spec. In the longer term, it will be important in the implementation of Python Protocol API v3.
Closes #10757. See that ticket for the API specification.
Changelog

Implement the moveToCoordinates Protocol Engine command as previously specified.
Fix a float->int truncation bug in the JSONCommandTranslator.
Refactor the tests for MotionView.get_waypoints_to_well().

Manual testing
I think we currently have to test this by running commands on a real robot.
I've hacked together some scripts to help with this in Opentrons/otietalk#1.
Some interesting things to look out for:

[ ] When the pipette has a tip, the bottom of the tip should move to the given coordinates. When it doesn't, the bottom of the nozzle should move to the given coordinates.

[ ] When an 8-Channel pipette is used, the back-most channel should move to the given coordinates.

[ ] By default, the pipette should automatically move high enough to clear all loaded labware and modules.

[ ] The handling of critical points is a little delicate and I only tenuously understand it.
One case I know of where this matters is when an 8-Channel pipette is used, and the pipette starts off in a labware with the centerMultichannelOnWells quirk, like a reservoir or trough. Supposing the pipette got there with a moveToWell or similar, its initial "logical location" will be at the center of the well—even though the back-most channel is somewhere behind the center. If I got something wrong with critical points, the initial "move up" step of the arc will wrongly include an unexpected XY motion in addition to its normal Z motion.

Other review requests

[ ] Is the handling of critical points correct?
[ ] Is the handling of critical points understandable? Can I explain it better through better comments, for example?
[ ] As implemented, this will not dodge the Thermocycler like moveToWell does. This matches PAPIv2's behavior. We agree that in the future, we want more sophisticated collision checking based on geometry and coordinates and bounding boxes, rather than logical wells. But for now: Do we want to document anywhere that moveToCoordinates does not dodge the Thermocycler? Note that moveToWell does not currently document that it does dodge the Thermocycler.
[ ] Is there any other location-tracking code I missed that needs to be adjusted?

Risk assessment
Medium.
This isn't used by anything today as far as I know, so there's no risk to changing production behavior right now. But, it will be used in the future, and it is new motion planning code, which is sensitive. See the testing notes and review requests.

Pretty sure I need to update this, too:
https://github.com/Opentrons/opentrons/blob/da09f5f490d51c79f4398b54164b542cfede78a8/api/src/opentrons/protocol_engine/state/pipettes.py#L74-L89

Re-drafting to fix this: https://github.com/Opentrons/opentrons/pull/10840#issuecomment-1164870264


Java9 Maven Issue

Basically, compiling with maven under java9 breaks projects using the pf4j dependency.
For more information see forum.

The problem is described in detail in https://bugs.openjdk.java.net/browse/JDK-8136805.


Add TLauncher

Official website: https://tlauncher.org/en/
Developer: TLauncher team
Description: Popular launcher for Minecraft game
Download link: https://dl2.tlauncher.org/f.php?f=files%2FTLauncher-2.86-Installer-1.0.1.exe

TLauncher allows playing Minecraft without having bought the game from Mojang (which is an EULA violation), so I'm afraid it's a no-go for inclusion in scoop-games.

Oh well, at least i tried 😆 , thanks anyway


Integration test for logout and login

Design planning
https://www.notion.so/tonomy-foundation/2022-08-17-Tonomy-ID-SDK-User-ts-planning-41e32d4f50c349dd9f3b810b31877b37
Definition of done

[ ] Write an integration test in jest that can be used to test the logging out and logging back in

already done


MSM: Unify FFA & test circuits to use generic interpreter/cap pattern

Switches existing MSM circuits (FADD + Test) to the Cap/Interpreter pattern
Removes copy-paste
Adds tests where needed
Adds lookups support

@dannywillems thanks!  Feel free to merge when it passes!


How to take the output of one action and move to the next action

Abstract
TBD
Subject

TBD

Adding a relevant note. https://github.community/t/reusing-sharing-inheriting-steps-between-jobs-declarations/16851/14


Uncaught Error: Number of bits 192 exceeds maximum possible data type.

I have used toJson() method to convert .dbc file to json object. but getting below error if file has exceeds192 bits.
Uncaught Error: Number of bits 192 exceeds maximum possible data type
at computeDataType (candied.js?v=5f239b87:1640:11)
at DbcParser.addSignal (candied.js?v=5f239b87:1838:23)
at DbcParser.updateData (candied.js?v=5f239b87:1661:16)
at candied.js?v=5f239b87:3037:23
at Array.forEach ()
at Dbc.load (candied.js?v=5f239b87:3033:11)
To Reproduce
Steps to reproduce the behavior:

Use toJson() on dbc object.
Used this snippet : import {Dbc} from 'candied';

const dbc = new Dbc();
const fileContent = dbcReader('tesla_can.dbc');
const data = dbc.load(fileContent)
dbc.toJson({pretty: true}); // Pretty will print the returned json on multiple lines
3. See error which is pasted above
Expected behavior
All dbc file should generate Json object irrespective of number of bits.
Desktop (please complete the following information):

OS: [windows 10]
Browser [chrome]
Version ["candied": "^2.2.0"]

DBC files which are lower than 192 bits working fine.

Bumping this b/c it is quite relevant. The spec doesn't say anything about possible datatypes and therefore any bit size > 64 is allowed, yet candied throws an error.
@bit-dream any suggestions how to fix this?
2 options that come to my mind:

Adding an unknown datatype which is inferred in the case of bit size > 64
Adding a flag to the parsing to turn on/off type computation

@doosuu I would agree that the spec doesn't necessarily define datatypes. However, I know for Vector's own DBC editor, you can assign pseudo types by specifying whether or not the signal is signed/unsigned/single/double precision. Even for CAN FD within the editor, you can't create signals >64 bits, it will throw an error. The max type you can get is a IEEE double (64bits).
In practice, I don't think I've seen people use signals larger than a double before in CAN. But with that being said, if users have a need for larger types, I think adding an unknown type would be a good path forward. So I would be fine with that approach to give the library more flexibility.
My only concern would be intra-compatibility with bit sets >64. You may not be able to load a .dbc file with signals that large in other dbc applications/libraries. I haven't tried it with Vector's tool, but my gut says it might fail to parse the file.

@bit-dream I understand where you are coming from :-)
Currently, I am faced with a customer DBC file which uses a very large bit size to reserve space in a message until they have fully defined and broken it down. Right now candied refuses to load it. If you are fine with an unknown, I could contribute a pull request to add this feature to the parser.

@doosuu Yeah, I think I'm fine with the unknown type proposal. If you contribute the change, I'll gladly pull it in.

@bit-dream do you plan to create a new official release sometime soon?


feat: allow setting balance if current provider supports it

What I did
Allow setting an account's balance directly
How I did it
Tried to add a setter to the balance property, but that didn't work, so I had to override Pydantic behavior a bit
How to verify it
Load an Address, any AccountAPI subclass, and then any ContractInstance and try account.balance += "1 ether"
Checklist
Needs some tests

[x] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

Tested with Foundry plugin, Address, ContractInstance and AccountAPI all work properly
Note that account.balance += "1 ether" doesn't work, need to use something like int(1e18) instead


Add support for custom options/flags

Take Firefox cask for an example; brew cask install firefox will install en-US version of Firefox by default. Could there be some switch to install different version of the program?
To install the British English version user could do something like
brew cask install firefox --lang en-GB

We've matured well beyond this point - we have plenty of solutions for the various cases that would cause a Cask author to want to add a flag. A general facility for Cask-specific flags is unlikely to make it in because of the difficulty in maintaining Casks with that much variance.
So given that, I'm closing this for now - anybody that feels strongly can feel free to petition for reopening. :ok_hand: :ear:

Well, in regards to language flags, I do see them as useful. Maintaining separate casks in caskroom/versions is cumbersome and requires a bunch of work that sometimes even leaves some of the versions outdated. Consolidation into a single cask could really help with this.

@vitorgalvao ah good call - agreed. I think we should either open a fresh thread for that feature or rename this issue before reopening; I've always tracked this one as "Casks get to define their own flags". I think if we want to support a new flag we should do it first-class in core.

Sounds good. I always find it better to open new issues, as we can start with an explanation of what we already know/decided without the baggage of the discussion about how we got there. Would you care to do it?

sorry, so is there already a mechanism to select a different language for Firefox than en-US?

@Januzz See homebrew-versions and 26 versions of Firefox:
https://github.com/caskroom/homebrew-versions/search?utf8=✓&q=firefox
Available for installation via brew cask install caskroom/homebrew-versions/%CASK_NAME%


How to pass pattern dynamically into directive

assume that i have text box. dynamically i want to pass the pattern. I tried following thing but not working.
Html:

Script:
$scope.setPattern = function() {
var pattern = /^([0-9]+ ?)*$/;
return pattern;
};
but in the above code setPattern() function is not getting called. Is there any way to send patterns dynamically.
Thanks in advance..

I am also wondering about this.

Hi! Yes, I actually do this to automate tests.
In your controller:
$scope.myPattern = /whatever/;

In your view:
<input type="text" ng-pattern="{{myPattern}}" />

The pattern will change if you change the $scope variable as well.

I tried as below but no luck
In my View
input type="text" ng-pattern-restrict="{{pattern}}"
In my controller:
$scope.pattern = /^([0-9]+ ?)*$/;

Oops, my bad. You may need a string representation of your pattern.
In your controller:
$scope.pattern = "^([0-9]+ ?)*$";

It works well.
Thanks a log AlphaGit :+1:

I'm glad I was able to help! Have a great weekend. :)

Yep works great, thanks for fast answer!


CI for Linux, macOS, and Windows

Please add a CI for Linux, macOS, and Windows.

Closed via @andreasabel's contribution at #138


'browser' version does not seem ready to usage inside a browser

I have loaded in an HTML page the code stored in the dist/browser directory.
I cannot find any global variable ready to be called by my custom code.
My view is that the only point of having a dist/browser directory is to offer standalone browser-ready code, equipped with a local README that explains how to use it.

@marco-faustinelli, I'm happy to accept a PR if you'd like to contribute to this repository with those instructions. You can take a look at test/browser.html for this very purpose if you've never used a standalone browserify module before.
The global variable you are looking for is window.libphonenumberand here's the snippet from the test file:
var phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();
var PNF = libphonenumber.PhoneNumberFormat;
var phoneNumber = phoneUtil.parseAndKeepRawInput('912345678', 'PT');

console.log(phoneUtil.format(phoneNumber, PNF.E164))


Disable hostkey check for ssh

https://github.com/rancher/fleet/issues/118

https://github.com/rancher/fleet/issues/93


backend can not start with default ulimit

The back end did not start next day after closing. Error was too much open file message. Default ulimit was 1024, Only when I typed this cmd
ulimit -n 10000
back end could start. I think this should be in documentation if someone encounter such scenario.
OS: Xubuntu
Hard disk : Normal hard disk( not SSD )

Thanks for the quick reply. I hope you could add it after checking it more with hardware limitations such as this.


Remove BOOST functionality and protobufs

After this, we shouldn't need to do mvn generate-sources.

I do hope that this means that the BOOST functionality should be removed just for milestone 2.2. :)
Thanks for clarifying!

Yes, this is definitely just temporary.  We're trying to do a release soon, and we're just cleaning partial features and tabling them for after the release.

Thanks you!
Please don't hesitate to contact me as soon as you're ready for integrating BOOST.

I'm currently at Google (Mountain View) doing an internship, so I'm only 1 hour drive away from JGI.  If you want to get together at some point this summer and hack on things a bit, let me know :)

This is now temporarily removed.

Good, but export likely needs a cancel button.

On May 29, 2017, at 6:34 PM, Michael Zhang<EMAIL_ADDRESS>wrote:
This is now temporarily removed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/SynBioDex/SBOLDesigner/issues/159#issuecomment-304748472, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWD9y3-ARun9EVdgLinxVzFbIBC-mNjks5r-2QmgaJpZM4NY0kO.

There is now a cancel button.


optimizing on_dispatch

Since we use multi-threads to handle each event, on_dispatch will create a new thread for any event. However, this is not optimal because some bots might have create threads for events that they don't care.    We need to add a filter function, which should return true for events that a bot cares about and hence threads should be created.  If the filter function returns false, no threads should be created.

How would the filtering be specified? Should I add a bool async for each discord_set_on_xxx()?
Ex:
// function signature
void
discord_set_on_ready(struct discord *client, message_create_cb *callback, bool async);

// function call
discord_set_on_ready(client, &on_ready, true); // will create new thread

Just a very simple filter like the following.
static bool
dispatch_filter(void *p_cxt)
``

So, if enabled it will make all dispatch events multithreaded, and the default behavior is have it singlthreaded?


Start using anyhow for errors and get rid of manual error stacking

In conjunction with anyhow enabled applications this generates nicer
error messages like:
Error failed to flash /Users/egger/OSS/stm32f429i-disc/target/thumbv7em-none-eabihf/release/examples/serial_echo

Caused by:
    0: Error while flashing
    1: Something during the interaction with the core went wrong
    2: An error with the usage of the probe occured
    3: Operation timed out

or
Error failed attaching to target

Caused by:
    0: An error with the usage of the probe occured
    1: An error specific to a probe type occured
    2: Command failed with status JtagGetIdcodeError

Signed-off-by: Daniel Egger<EMAIL_ADDRESS>

LGTM, thanks for doing this!


Improvement: describe output could be self-explanatory

Hi, I want to propose a little improvement.
I never remember what surya describe's # and ($) mean, so I have to open this repo every time I use surya.
Adding a small explanation in the output would be helpful. Alternatively, the symbols can be replaced with words.

 Like 💵 & 🛑 ? Or do you think words would be a better experience?

I think the payable one can be pretty evident with $ or 💵, but the non-constant one is more confusing. Specially the relationship between them, as $ implies #.
I like that the output is concise, and using words for everything may be too much text. What about adding something like this at the end?
$ = payable, non-constant function
# = non-constant function

Using emojis is cool, but not widely supported, so take into account that adding them requires some kind of platform detection.


[bug] [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received type number (31)

Steps to reproduce
Tell us about your environment:

Puppeteer version: "^10.0.0"
Platform / OS version: Mac Big Sur 11.2.3
Node.js version: 14.17.2

What steps will reproduce the problem?
Running the function creates an error
Please include code that reproduces the issue.

 export async function generatePDFFromFile(apiKey: string, fromFile: string, toFile: string, purchase: any) {

    const puppeteer = require("puppeteer")
    const savePath: string = `${toFile}.pdf`

    const content = await populateHTMLWithData(apiKey, purchase ,fromFile)

    const browser = await puppeteer.launch({ headless: true });
    const page = await browser.newPage();
    await page.setContent(content);
    await page.pdf({ path: savePath, format: "A4" });
    await browser.close();

    [...]
    }

Content is not really relevant. It's an HTML template.
What is the expected result?
Expected result would be creating a PDF file, with the name "toFile.pdf".
What happens instead?
Returns the following error:  TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received type number (31)

After investigation, it comes from the helper.js function "getReadableAsBuffer":
async function getReadableAsBuffer(readable, path) {
    if (!environment_js_1.isNode && path) {
        throw new Error('Cannot write to a path outside of Node.js environment.');
    }
    const fs = environment_js_1.isNode ? await importFSModule() : null;
    let fileHandle;
    if (path && fs) {
        fileHandle = await fs.promises.open(path, 'w');
    }
    const buffers = [];
    for await (const chunk of readable) {
        buffers.push(chunk);
        if (fileHandle) {
            await fs.promises.writeFile(fileHandle, chunk);
        }
    }
    if (path)
        await fileHandle.close();
    let resultBuffer = null;
    try {
        resultBuffer = Buffer.concat(buffers);
    }
    finally {
        return resultBuffer;
    }
}

When fileHandle is creating, it returns a descriptor (as an integer). When it's passed in "fs.promises.writeFile", I get the error about Invalid Type.
Work around
If I replace "fileHandle" in fs.promises.writeFile with "path", I get expected output and creation of the PDF. But I'd rather not do that.
Is there any other solutions? Is there something that I am missing?

Solved by re-installing firebase CLI


Pass OODS values to channel.

This change is

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.24%. Comparing base (ca561b3) to head (1dd4d82).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #464      +/-   ##
==========================================
+ Coverage   96.22%   96.24%   +0.01%
==========================================
  Files          56       56
  Lines        8647     8671      +24
  Branches     8647     8671      +24
==========================================
+ Hits         8321     8345      +24
  Misses        278      278
  Partials       48       48

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Do generators support PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION?

Docs:
https://developers.google.com/protocol-buffers/docs/reference/python-generated#cpp_impl

That's controlled by protoc, I'm not sure


Auto parameters

- What I did
Added a range of automatically generated parameters for

replicas
limits
reservations

- How I did it
Overrides are materialized to CNAB parameters, whose destination is a file path mirroring the structure of the compose file.
When the run tool extract the package, it reconstructs the overrides as an "overriding compose file"
This means that we can use this to easily add new "automatic parameters" in the future
- How to verify it
//TODO
- Description for the changelog
//TODO
- A picture of a cute animal (not mandatory but encouraged)
//TODO

Looks like we would not be able to merge this PR because of merge conflicts. Please rebase, fix conflicts, and force push to your branch.


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2243 ms

Resolved: Samsung performance has improved in 6efa1a6.


Add server-side paging and sorting how-to

This is the server-side paging and sorting how-to.

@mlaponder Because I added so many image files, I am going to shut down this PR and upload the finished draft straight to development. I will send you a link. If you have any tech fixes, just let me know and I will make them on my end. I don't think there will be any more tech issues though, because my app worked after following your instructions.


ZCL_ABAPGIT_OBJECT_SICF=>READ_TADIR called but does not exist

https://github.com/abapGit/abapGit/blob/ff6725e7596bedd1f5b3fb3610df266246e576f0/src/zcl_abapgit_tadir.clas.abap#L256-L261
https://github.com/abapGit/abapGit/blob/a3faae98315d13e5bfca82ed42f0851e35cca5b7/src/objects/zcl_abapgit_object_sicf.clas.abap#L16-L23
Seems like a typo in ba787d373ed6da92763510ce4bc7aa0a4332dc3c

try deleting the dynamic all, its been this way for a while

see comment in https://github.com/abapGit/abapGit/issues/3453. agree. we can delete the call since it seems to work fine without it

see comment in #3453. agree. we can delete the call since it seems to work fine without it

Thanks, I forgot about that issue.
I had some problems though with BMFR without the special handling in read_single. Though it may be different as SICF just has a dynamic suffix.


bottom: 0.5.4 -> 0.5.6

Motivation for this change
Update https://github.com/ClementTsang/bottom
Changes since 0.5.4:

Fixed temperature sensors not working on non-Linux platforms.
Fixed CPU graph colours not matching the legend in the "all" state.

Update done automatically with nix run 'nixpkgs#nix-update' -- --version 0.5.6 bottom
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Tested on NixOS x86_64-linux and NixOS aarch64-linux. It didn't work on aarch64-linux, but that's unrelated and I'll open another PR to fix it.


(#1039) Improved flow for cases when chocolatey is not installed

Description Of Changes
The change has following affects:

Proper error propagation
Error messages are captured in logs
Failed state is correctly reported
Error handling mechanisms work as expected
Doesn't break the automation tool's PowerShell session

Motivation and Context
With this correction script will stop and not attempt to install the chocolatey server.
Automated approach will recognize error and for manual options user is able to spot error and logs.
Testing

[x] I have previewed these changes using the Docker Container or another method before submitting this pull request.

Change Types Made

[ ] Minor documentation fix (typos etc.).
[x] Major documentation change (refactoring, reformatting or adding documentation to existing page).
[ ] New documentation page added.
[ ] The change I have made should have a video added, and I have raised an issue for this.

Issue #

Change Checklist

[ ] Requires a change to menu structure (top or left-hand side)/
[ ] Menu structure has been updated

Related Issue
Fixes #1039

Test
Describe 'Test case when Chocolatey is not installed' {
    BeforeEach {
        # Function we're testing
        function Test-ChocolateyAvailability {
            if ($null -eq (Get-Command -Name 'choco.exe' -ErrorAction SilentlyContinue)) {
                Write-Error "Chocolatey not installed. Cannot install standard packages." -ErrorAction Stop
            }
            return $true
        }

        # Mock Get-Command to simulate Chocolatey not being installed
        Mock Get-Command { return $null } -ParameterFilter { $Name -eq 'choco.exe' }
    }

    It 'Throws an error when Chocolatey is not found' {
        { Test-ChocolateyAvailability } | Should -Throw
    }

    It 'Throws the correct error message' {
        $expectedMessage = "Chocolatey not installed. Cannot install standard packages."
        { Test-ChocolateyAvailability } | Should -Throw $expectedMessage
    }

    It 'Should call Get-Command with correct parameters' {
        try {
            Test-ChocolateyAvailability
        } catch {
            # Ignore the expected error
        }
        Should -Invoke Get-Command -Times 1 -ParameterFilter {
            $Name -eq 'choco.exe' -and
            $ErrorAction -eq 'SilentlyContinue'
        }
    }
}

Test result - Detailed Pester Test Results - Chocolatey Availability Tests
Test Summary

Total Tests: 3
Passed: ✅ 3
Failed: ❌ 0
Skipped: ⚠ 0
Duration: 00:00:00.0820122

Test Environment

PowerShell Version: 7.4.5
Pester Version: 5.6.1
OS: Microsoft Windows NT 10.0.19045.0

Test Configuration
Mock Get-Command returns: null
ParameterFilter: Name -eq 'choco.exe'
ErrorAction: SilentlyContinue

Detailed Test Results
1⃣ Test: Throws an error when Chocolatey is not found

Result: ✅ Passed
Duration: 00:00:00.0122264
Test Block:

{ Test-ChocolateyAvailability } | Should -Throw

2⃣ Test: Throws the correct error message

Result: ✅ Passed
Duration: 00:00:00.0055697
Test Block:

$expectedMessage = 'Chocolatey not installed. Cannot install standard packages.'
{ Test-ChocolateyAvailability } | Should -Throw $expectedMessage

3⃣ Test: Should call Get-Command with correct parameters

Result: ✅ Passed
Duration: 00:00:00.0421638
Test Block:

Should -Invoke Get-Command -Times 1 -ParameterFilter { $Name -eq 'choco.exe' -and $ErrorAction -eq 'SilentlyContinue' }

Function Being Tested
function Test-ChocolateyAvailability {
    if ($null -eq (Get-Command -Name 'choco.exe' -ErrorAction SilentlyContinue)) {
        Write-Error "Chocolatey not installed. Cannot install standard packages." -ErrorAction Stop
    }
    return $true
}

@pauby I took liberty to just prep this one. I had more than 2 commits, cos I forgot to update issue's ID number in commit message 😓


testutil: always print errors on failure

I'm noticing all those empty teardowns...  do they have to exist or could we remove them and have EXECUTE_TEST() accept a NULL?

I plan to clean up some more so that we can have an ADD_SIMPLE_TEST that has no setup or teardown.

(Or rather, we can just reuse ADD_TEST... anyway I'll clean those up in a separate PR.)

Would you mind rebasing?  I hope the latest master builds green on Travis...

Rebased. Part two is in https://github.com/openssl/openssl/pull/1841

I think the remaining Travis failure is unrelated (it's the shlib_loadtest).

Agreed


⚠ Samsung has degraded performance

In 5687a18, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2005 ms

Resolved: Samsung performance has improved in 9c2ab9f.


remove laser file trimming?

The data from the laser files are being trimmed in pulse.py to make the grid 32x32 rather than 40x32. I don't think that is needed, and the code works OK with this. The new notebook in PR #165 can work with either the 32x32 grid or 40x32.
https://github.com/radiasoft/rslaser/blob/fe3246643c7ad7eeec2f911708fd8817b8b10c1c/examples/single_pass/SinglePass01-LaserPulse.ipynb
I think the _reshape_data() method should be removed
https://github.com/radiasoft/rslaser/blob/master/rslaser/pulse/pulse.py#L878

Agreed.
This has been resolved via pull request #165


Increase input payment font size to 28rem

Fixes issue #99. Thoughts on the new size?

I think it could be even bigger. like 25% to 50% bigger.

maybe use the typo in bold?

The next iteration:

ok let's go for it for now. I think this is the type of things where we would benefits from the help of the bitcoin design group.


Add Authorization rules

This PR, we implemented following features:
Installed CanCanCan to project.
Add a role column to the users table.
A user can delete a post if it is theirs or if they have an admin role (column role has value "admin").
Add the "Delete" button to the view and make sure that only authorized users can see it.
A user can delete a comment if it is theirs or if they have an admin role (column role has value "admin").
Add the "Delete" button to the view and make sure that only authorized users can see it.

Thank you @Ismailco.

@muneebulrehman Thank you!


Request for release of 0.10.0

A new tag that includes #59 is needed. So could you please release a new version?

Tagged.


Remove project doc files likely to remain unused

? Also, remove ./docs/pycharm as well: those are outdated -- I'd rather have PyCharm setup described in Cookicutter Django docs, under IDE Setup/PyCharm or smth like that.

@webyneter this hasn't been touched in months, any reason to not merge it? Yes, we could (re)move or move the PyCharm docs, but as it stands, I'd say it's an improvement anyway, isn't it?

@browniebroke, yeah, pretty much. Feel free to merge at will.


Mass quick action to update cohorts

Critical Changes
A mass quick action Add To Cohort will now be available on Program Engagement List Views so the users can update Program Cohort records in bulk. This new quick action will not be available on the Recently Viewed List View.
Changes
Issues Closed
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below
- [ ] Place holder data is incorporated (Refer to Case Management Sample Data document)
- [ ] Base axe-core JEST test included for any new LWC (No critical violations)
- [ ] CRUD/FLS is enforced in Apex
- [ ] Permission sets are updated to account for CRUD/FLS for new object metadata
- [ ] All modified classes are unit tested (Apex) at 100% coverage
- [ ] UX approval or UX not necessary

[x] PR contains draft release notes
[x] Attach work item to the pull request with Lurch **Lurch:attach W-000000 or **Lurch:add
[ ] All acceptance criteria have been met

[x] Developer
[ ] Code Reviewer
[ ] QA

[ ] QE story level testing completed

**Lurch:attach W-038648

Tracking W-038648

@microveldt , I have gone ahead and made the changes you have requested. Please let me know if you have any additional questions for me.


One sentence in memcpy and wmemcpy is not correct

This sentence in https://github.com/MicrosoftDocs/cpp-docs/blob/afad7ce969535386a0c1b69ebcecfddb3c27ae15/docs/c-runtime-library/reference/memcpy-wmemcpy.md is not correct.

Make sure that the destination buffer is the same size or larger than the source buffer.

When the destination buffer is larger than count, it doesn't matter even if the destination buffer is smaller than the source buffer. Maybe we should modify this sentence to

The destination buffer should be larger than the minimum value between the size of the source buffer and the count.

The same problem exists on memmove page.

I changed it to: Make sure that the destination buffer is large enough to accommodate the number of copied(/moved in the case of memmove) characters.
Will be live tomorrow afternoon (Thurs)


Support of the new Filters parameters

It's possible to add the support of the new Filters parameter which allows to specify multiple extensions...

Can you send a usage example? How would you use it in the original type?

YOu can use the existing Filter property
/// <summary>
        /// Gets or sets the filter string, used to determine what files are monitored in a directory.
        /// </summary>
        /// <value>The filter string. The default is "*.*" (Watches all files.)</value>
        public string Filter
        {
            get
            {
                return _fileSystemWatcher.Filter;
            }
            set
            {
                _fileSystemWatcher.Filter = value;
            }
        }

Hi,
If want to monitor multiple file extensions
I see this thread in my search but your good implementation don't have this fonctionnality :
https://stackoverflow.com/questions/6965184/how-to-set-filter-for-filesystemwatcher-for-multiple-file-types#answer-61145821

I see. Have you tried setting all the filters into the Filter property?
Try watcher.Filter = "*.txt;*.csv"
If that doesn't work I will implement the Filters
Στάλθηκε από Outlook για Androidhttps://aka.ms/AAb9ysg

From: Eric CANADAS @.>
Sent: Wednesday, April 10, 2024 10:37:03 AM
To: melenaos/FileSystemSafeWatcher @.>
Cc: melenaos @.>; Comment @.>
Subject: Re: [melenaos/FileSystemSafeWatcher] Support of the new Filters parameters (Issue #6)
Hi,
I want to monitor multiple file extensions
I see this thread in my search but your good implementation don't have this fonctionnality :
https://stackoverflow.com/questions/6965184/how-to-set-filter-for-filesystemwatcher-for-multiple-file-types#answer-61145821
—
Reply to this email directly, view it on GitHubhttps://github.com/melenaos/FileSystemSafeWatcher/issues/6#issuecomment-2046745223, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABXJ2CCSPV2PQ3C7ZGFU6BDY4TTZ7AVCNFSM6AAAAABF6X3DHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG42DKMRSGM.
You are receiving this because you commented.Message ID: @.***>

Yes, I tried this but it's not working !

You can get the new version now.
I hope that helps!

Great !
It works like a charm ! ;-)
Thanks for the responsiveness !!

Thanks for testing it!


Running locally

I've been trying to get the application to run locally, to better understand the inner workings of the app. I've managed to get so far that the page loads and I can make decks. However, it seems that the data isn't fully up-to-date. For instance, in your code you use card.label to get the card title, but in the data card.name is used. Do you use a data migration script to update the data after initial import, or am I doing it wrong?

Of course, just after this, I find the server/scripts directory. Running node fetchdata.js seems to be the trick. Might be a good idea to add that to the readme.

@ronderksen it is in the README :), section Development, 8th line of the first recipe to follow to run things locally.
Closing this.

Totally missed that, sorry.


isdefined(Main, :IJulia) returns false

Patchwork uses isdefined(Main, :IJulia) to load IJulia specific code. I've also been working on something like that for Vega but using this doesn't work.
I'm using Julia 0.4.0-rc1 and on IJulia master.
I added an @show isdefined(Main, :IJulia) in Patchwork.jl and got false. Then ran the same in the notebook which gave me true!
In [1]: using Patchwork
INFO: Recompiling stale cache file /Users/rohitvarkey/.julia/lib/v0.4/Patchwork.ji for module Patchwork.
isdefined(Main,:IJulia) = false
In [2]: isdefined(Main, :IJulia)
Out[2]: true

I thought it was a problem with my Jupyter config but seems to be affecting others too. See https://github.com/shashi/Patchwork.jl/issues/12.

This is not going to work with precompiled module. You need to do the detection in your __init__ function.
Also, this is not a IJulia issue and I think there's aloready an base julia issue for conditional module.

Thanks @yuyichao. Sorry for the noise.


<script webc:setup src> web:setup with external files

<script webc:setup src="setup.js">/script>

Thanks for adding @zachleat! When my webc:setup got longer than a few lines I thought this would be a nice way to keep things tidy.

it would be also cool if we can use require for e.g. accessing files from fs module


Add emojis support for buttons.

Please add custom and normal emoji support for buttons.

It's already been suggested.
https://github.com/users/merlinfuchs/projects/1/views/1?filterQuery=emoji+buttons

closing this because it's a duplicate of #23


NPE on Synchronous load without default configuration

Added the default configuration instantiation instructions

Well, these parts of code are not complete examples of lib integration. Pre-configuration of is not intended to be described here. Wiki is there for that.

Thanks for the update. Appreciated.


Allow defining required privileges to bypass protection checks

Allow defining required privileges to bypass protection checks for some nodes, this would allow defining administrative functions for registered tools.
Possible functionality:

[ ] Option to require verification each time protection bypass is used
[ ] Separate protection bypass settings for reading and writing
[ ] Allow overriding default protection checks with before_read / before_write callbacks

Currently metatool:get_node does protection checks here https://github.com/S-S-X/metatool/blob/master/metatool/api.lua#L226-L230
Problem is that it does not know anything about operation and cannot therefore do selective allow or deny.
Currently flow goes like this:
item used -> minetest default on_use callback
-> metatool:on_use(itemname_clean, unpack({...})) api.lua#L46
-> metatool:get_node(tooldef, player, pointed_thing) api.lua#L91
Adding custom tool.is_protected(pos, player, node) callback for tool would be easy because all information for that is already available, that however wont make difference between read and write operations.
Better approach could be to provide node.can_read(pos, player, node) or tool.can_read(pos, player, node) and similar can_write methods.
This requires moving player:get_player_control() handling to be done before calling metatool:get_node method and metatool:get_node could then get information about operation that would be applied if node and position is returned.


Support class and module scope

Not sure how difficult this is - right now, we use the full import path to the fixture as a unique key (tests.conftest.my_fixture) but that's not unique enough for the other scope.

Probably throw an error if used with function scope.


npx create-aztec-app

Take from aztec-starter

let's hold off on creating npx aztec-starter since updating it to be a box will essentially take care of it (aztec-cli unbox starter) and people will need to install aztec-cli and the sandbox to do anything with aztec-starter anyways


Zxing dosen't show the camera in some devices

Sory for my bad English.I used documentation of Zxing https://github.com/Redth/ZXing.Net.Mobile for implementing it on xamarin.android for barcode detector app. It is working fine on phones with android 6.0 and detect all kind of barcodes, But on phones with android 7.0 and higher, instead of camera it shows a page with my default color theme and shows buttons and textview that i have in layout. If i blindly without any camera put a barcode in front of camera it can detect it. so my only problem is i cannot see camera but it is working somehow.I searched Entire web but i cannot find anything useful.And yes i have permissions for camera and flashlight in manifest.This is my code for permissions:
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
    {
        global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
    protected override void OnResume()
    {
        base.OnResume();

        if (ZXing.Net.Mobile.Android.PermissionsHandler.NeedsPermissionRequest(this))
            ZXing.Net.Mobile.Android.PermissionsHandler.RequestPermissionsAsync(this);
    }

This is my code for initialize scanner
protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        MobileBarcodeScanner.Initialize(Application);
        SetContentView(Resource.Layout.xlRealMain);
        scanner = new MobileBarcodeScanner();

        this.Window.AddFlags(WindowManagerFlags.Fullscreen);
        btnbarcode = FindViewById<Button>(Resource.Id.barcode);
        btnbarcode .Click += async delegate {

            //Tell our scanner to use the default overlay
            scanner.UseCustomOverlay = false;

            //Start scanning
            var result = await scanner.Scan();

            HandleScanResult(result);
    }
    void HandleScanResult (ZXing.Result result)
    {
        string msg = "";

        if (result != null && !string.IsNullOrEmpty(result.Text))
            msg = "Found Barcode: " + result.Text;
        else
            msg = "Scanning Canceled!";

        this.RunOnUiThread(() => Toast.MakeText(this, msg,
        ToastLength.Short).Show());
    }

ok please help me

I am facing the same issue on few devices on Android 5.1.

https://github.com/Redth/ZXing.Net.Mobile/issues/739

Thanks for reporting this issue!  Unforunately it took me way too long to respond 😭.  Sorry, I apologize!  Recently the source code for this project was completely refactored to modernize it.  Many PR's were included in this effort, and many bugs were hopefully fixed.  Please try out the latest 3.x series of NuGet packages (currently in prerelease).  To try and make the project more maintainable in my spare time going forward, I've decided to close all existing issues to start with a clean slate.  If you're still experiencing this issue on the newest version, please open a new issue with as much detail as possible.  Thank you for your patience and understanding!  Happy scanning!


Update workflows to latest

Trying to see why previous GH Action run failed. https://github.com/giantswarm/app-exporter/runs/1026249130?check_suite_focus=true
Updating the workflows to the latest to see if that helps.

Generated code. Going with a ping.