cmd/compile: optimization of constant pool on arm

For the following code
func ass12345678(a int) int {
return a + 0xffff
}
Currently go will store 0xffff to the constant pool and load it in runtime.
a.go:6  0x95a04 e59fb06c        MOVW 0x6c(R15), R11
a.go:6  0x95a08 e080000b        ADD R11, R0, R0
.................................
a.go:9  0x95a78 0000ffff        STRD.EQ [R0], -PC, R15, R15
But gcc optimized it to
a = a + 0x10000
a = a - 1
Both 1 and 0x10000 can be directly encoded to $immediate-12 into the instructions without any access to memory.

Also，
a | 0xffff ->
orr $0xff, a, a
orr $0xff00, a, a
a & 0xffff ->
bic $0xff00, a, a
bic $0xff, a, a

test.zip

The above attachment is a rough test, the output log on my raspberry pi 2 is
test0(constant pool) cost 29 seconds, test1(imm12) cost 20 seconds
it means,
total<PHONE_NUMBER>0 pairs of (ldr/add) cost 29 seconds, while<PHONE_NUMBER>0 pairs(add/add) cost 20 seconds, about 50% improvement.
However, the constant pool is in the data cache. If not, the cache miss will cause much more inefficiency.

@josharian, can you point @benshi001 to directions on how to run compiler benchmark tests?
@benshi001, you want to make pretty commit messages using https://godoc.org/golang.org/x/perf/cmd/benchstat like this one 50688fcb6ef0f74d6ff91dce95f8823b1f56bdf7

The time has come for me to clean up compiler benchmarking a bit. Let me do that first.

Not done, but cleaned up enough for the moment.
Commit your work. For memory benchmarking:
compilecmp -n 10
For exection time benchmarking (with everything else closed):
compilecmp -n 50 -cpu
These will compare master to HEAD. compilecmp supports lots of other variations, run with -h for more. Ask if you have questions or feature requests.

I have troubles with my benchmark test that @josharian suggested. The reason is due to the network security policy.
I ssh connected to a remote host locates in USA, and did
git clone https://go.googlesource.com/go
git fetch https://go.googlesource.com/go refs/changes/52/39552/2 && git checkout FETCH_HEAD
GOPATH=/root/gopath go get -u golang.org/x/tools/cmd/compilebench
GOPATH=/root/gopath go get -u github.com/josharian/compilecmp
GOPATH=/root/gopath go get -u golang.org/x/perf/cmd/benchstat
PATH=/root/gopath/bin:$PATH
compilecmp -n 10
Then I got the expected result on the remote host via ssh terminal.
I copy the /root/go and the /root/gopath from the remote host to my local raspberry pi 2.
/root/go ->   /home/pi/go
/root/gopath -> /home/pi/gopath
And did
GOPATH=/home/pi/gopath go build golang.org/x/tools/cmd/compilebench
GOPATH=/home/pi/gopath go build github.com/josharian/compilecmp
GOPATH=/home/pi/gopath go build golang.org/x/perf/cmd/benchstat
then the tools are built into ARM ELF.
But when I did
compilecmp -n 10, I only got part of the results,
compilecmp  master  HEAD
06:48:59 copy tree at master (19bd145d0721a28658b15deb548f22a3405d83bd) to /home/pi/.compilecmp/19bd145d0721a28658b15deb548f22a3405d83bd
06:49:03 /home/pi/.compilecmp/19bd145d0721a28658b15deb548f22a3405d83bd/src/make.bash
07:00:39 copy tree at HEAD (0f679e481a7cbcb0fbb930670581fa57cd027eee) to /home/pi/.compilecmp/0f679e481a7cbcb0fbb930670581fa57cd027eee
07:00:57 /home/pi/.compilecmp/0f679e481a7cbcb0fbb930670581fa57cd027eee/src/make.bash
before: /home/pi/.compilecmp/19bd145d0721a28658b15deb548f22a3405d83bd
after:  /home/pi/.compilecmp/0f679e481a7cbcb0fbb930670581fa57cd027eee
benchstat /tmp/590206338 /tmp/787780345
completed   10 of   10, estimated time remaining 0s (eta 7:13AM)
name       old text-bytes  new text-bytes  delta
HelloSize       595k ± 0%       594k ± 0%  -0.07%  (p=0.000 n=10+10)
name       old data-bytes  new data-bytes  delta
HelloSize      3.59k ± 0%      3.59k ± 0%    ~     (all equal)
name       old bss-bytes   new bss-bytes   delta
HelloSize      75.4k ± 0%      75.4k ± 0%    ~     (all equal)
name       old exe-bytes   new exe-bytes   delta
HelloSize      1.03M ± 0%      1.03M ± 0%    ~     (all equal)
The others like
name       old user-ns/op  new user-ns/op  delta
Template        488M ±11%       488M ± 6%    ~     (p=0.920 n=10+9)
Unicode         249M ±10%       242M ±12%    ~     (p=0.304 n=10+10)
GoTypes        1.45G ± 5%      1.48G ± 6%    ~     (p=0.342 n=10+10)
Flate           216M ±15%       223M ±10%    ~     (p=0.201 n=9+10)
GoParser        380M ± 9%       381M ± 8%    ~     (p=0.762 n=10+9)
Reflect         603M ± 5%       599M ± 7%    ~     (p=0.919 n=9+10)
Tar             258M ±16%       263M ± 6%    ~     (p=0.752 n=10+10)
XML             502M ± 8%       522M ± 7%    ~     (p=0.106 n=10+9)
are missing. what are wrong with my operations?

The network security policy forbids my raspberry pi board to access the internet, so I have to do it via tar cfz/ scp / tar xfz

Does any of the three tools need internet access when running? I do not think there is any difference between my board and the remote host.

Does any of the three tools need internet access when running?

No. I suspect that the problem is that compilecmp uses \r to update a running estimate of when the task will be done, and that your terminal didn't like it. But (unless the tmp dir has been emptied), the results are still there. Just manually run:
benchstat /tmp/590206338 /tmp/787780345
You could also tweak compilecmp to remove the live update. If that is in fact the problem, I'd be happy to either add a flag to remove it or (better) do some terminal sniffing to decide when not to use it. (Suggestions welcome on the latter front.)

I encountered two issues when running the benchmark test. And they were not related to the '\r'.

can't create compilebench.o: open compilebench.o: permission denied
bexport.go:94:2: can't find import: "cmd/compile/internal/big"

The first one can be fixed by changing line 234 of src/golang.org/x/tools/cmd/compilebench/main.go
from
args := []string{"-o", "compilebench.o"}
to
args := []string{"-o", "/tmp/compilebench.o"}
BTW: I am using golang 1.6.2 as bootstrap and build golang.org/x/tools/cmd/compilebench.
log.zip
However I got the benchmark result, thank you.
Here is the log (/tmp/185436984)
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
bexport.go:94:2: can't find import: "cmd/compile/internal/big"
compilebench: cannot find package "cmd/compile/internal/ssa" in any of:
/usr/lib/go-1.6/src/cmd/compile/internal/ssa (from $GOROOT)
($GOPATH not set)
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
BenchmarkHelloSize 1 688575 text-bytes 5808 data-bytes 134376 bss-bytes 1058816 exe-bytes
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
bexport.go:94:2: can't find import: "cmd/compile/internal/big"
compilebench: cannot find package "cmd/compile/internal/ssa" in any of:
/usr/lib/go-1.6/src/cmd/compile/internal/ssa (from $GOROOT)
($GOPATH not set)
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
can't create compilebench.o: open compilebench.o: permission denied
BenchmarkHelloSize 1 688575 text-bytes 5808 data-bytes 134376 bss-bytes 1058816 exe-bytes

The golang 1.6.2 is installed to /usr/lib/go-1.6, where root privilege is required.

Can I treat the following output as "there is improvement after applying my patch CL 39552" ?
pi@raspberrypi:~/pending/go/src $ compilecmp -n 20 -cpu
name       old time/op     new time/op     delta
Template       2.42s ± 2%      2.41s ± 2%    ~     (p=0.301 n=20+20)
Unicode        1.31s ± 6%      1.32s ± 4%    ~     (p=0.369 n=20+20)
GoTypes        7.92s ± 2%      7.92s ± 1%    ~     (p=0.813 n=20+19)
SSA            58.6s ± 3%      58.1s ± 3%    ~     (p=0.068 n=20+20)
Flate          1.52s ± 3%      1.52s ± 2%    ~     (p=0.647 n=20+19)
GoParser       1.88s ± 2%      1.88s ± 3%    ~     (p=0.813 n=20+19)
Reflect        5.29s ± 1%      5.30s ± 2%    ~     (p=0.258 n=19+20)
Tar            1.49s ± 5%      1.49s ± 4%    ~     (p=0.925 n=20+20)
XML            2.67s ± 2%      2.67s ± 2%    ~     (p=0.738 n=20+20)
name       old user-ns/op  new user-ns/op  delta
Template       2.95G ± 2%      2.95G ± 2%    ~     (p=0.515 n=19+20)
Unicode        1.60G ± 4%      1.59G ± 3%    ~     (p=0.381 n=20+19)
GoTypes        9.49G ± 2%      9.50G ± 1%    ~     (p=0.515 n=20+20)
SSA            74.1G ± 1%      73.6G ± 2%  -0.65%  (p=0.011 n=18+19)
Flate          1.74G ± 3%      1.74G ± 3%    ~     (p=0.928 n=19+20)
GoParser       2.23G ± 3%      2.24G ± 4%    ~     (p=0.479 n=20+20)
Reflect        6.25G ± 2%      6.25G ± 1%    ~     (p=0.884 n=20+19)
Tar            1.85G ± 4%      1.85G ± 4%    ~     (p=0.652 n=20+20)
XML            3.15G ± 3%      3.15G ± 2%    ~     (p=0.856 n=20+20)
name       old text-bytes  new text-bytes  delta
HelloSize       595k ± 0%       594k ± 0%  -0.07%  (p=0.000 n=20+20)
name       old data-bytes  new data-bytes  delta
HelloSize      3.59k ± 0%      3.59k ± 0%    ~     (all equal)
name       old bss-bytes   new bss-bytes   delta
HelloSize      75.4k ± 0%      75.4k ± 0%    ~     (all equal)
name       old exe-bytes   new exe-bytes   delta
HelloSize      1.03M ± 0%      1.03M ± 0%    ~     (all equal)

I also attached the log to CL 39552's commit message. I will try
"compilecmp -n 50 -cpu" tomorrow.

I doubt -n50 will help, those p values are quite high.
But it doesn't really matter, does it? Correct me if i'm wrong, but the goal of your CL was to make the generated code faster, and not to make the compiler faster. So now you've verified that your CL does not make the compiler slower (in fact, it's slightly faster now), but you still have to write benchmarks that shows that the code we generate on ARM is faster.
@bradfitz Am I missing something? Why are we making OP run the compiler benchmarks? Were you expecting the change to slow down the compiler?

My original intention is to make the generated arm code both faster and shorter.

I am not familiar with this benchmark system. How to write a proper test program to verify my change? I have attached a test above, it showed 30% improvement in execution time.

For benchmarks, you can use some of the go1 benchmarks as a model:
https://github.com/golang/go/blob/master/test/bench/go1/binarytree_test.go
Ending the file name in _test.go is required, naming the benchmark Benchmark... is required I think.
Your benchmark program should contain a loop that runs b.N times so that the benchmarks harness can determine an appropriate run count:
func BenchmarkBinaryTree17(b *testing.B) {
    for i := 0; i < b.N; i++ {
        binarytree(17)
    }
}

Compile-and-test is go test -bench Benchmark -count 10, where "Benchmark" is a regular expression to match tests/benchmarks ("Benchmark" matches all the benchmarks, probably "B" would work just as well).
To compile into a binary so you can examine the generated code, rerun later for testing against a different version, use go test -c . .
Run the resulting test binary with (for example) ./go1.test -test.bench Benchmark -test.count 10.
We use benchstat (go get rsc.io/benchstat) to compare before and after results.  If you save the output of two runs, you can compare them with
benchstat -geomean before.log after.log

I tend to run the benchmarks for a count of 25 to be sure that I get good numbers, and of course the more you can reduce changes in machine performance during a benchmark run, the better, but benchstat will help mitigate that somewhat or at least let you know that you have a problem.

@benshi001 if you think your change will benefit ARM code in general, you can start from the go1 benchmark suite mentioned by @dr2chase, i.e. do:
$ cd go/test/bench/go1
$ go test -bench=. -count 20 > old.txt

from the current master, then again from your patch:
$ go test -bench=. -count 20 > new.txt

and then run benchstat old.txt new.txt to compare them.
benchstat is at golang.org/x/perf/cmd/benchstat (the rsc.io/benchstat repository is old and deprecated).
Otherwise (if you see no change on the go1 benchmark suite) you'll have to write a go function that your CL makes faster and benchmark it as @dr2chase explained.
The archive you posted is not a valid benchmark because it's c and assembly code. Benchmarks improvements needs to be measured on go code.

Thanks to all of your helps. I will try it later.

With patch set 5 of CL 39552, I did the go1 benchmark test. Here are my operation steps and results.

Mixed results I'd say? You made 5 benchmarks slightly faster, but 10 are slightly slower (and a dozen are unchanged). You can also pass the -geomean flag to benchstat to make it print a line that summarizes the average effect.
Also please change the commit message in the CL to make clear that BreakImmediate is not part of the go1 benchmark suite. E.g. show the effects on go1 bench suite and then add that you also added a specific Benchmark function BreakImmediate that shows a 30% improvement with your CL.
At this point I'd say the effects of the change are documented, so you'll have to wait for the opinion of whoever review the change.

Helpful to include the -geomean option (why is it not the default? oh well) so you get the aggregate change.
In practice, for other optimizations, we look for a geomean improvement, and we look at the outliers, and we look skeptically at the inner loops of some of the frequent offenders in benchmark noise (Revcomp in particular).

I updated my patch, did a new benchmark test, and attached the result in the commit message of patch set  7 of CL 39552 (https://go-review.googlesource.com/?polygerrit=0#/c/39552/).
How to understand the "[Geo mean]                  410µs           586µs        +42.99%" ? A very bad result?

That geomean can't be correct, either there's something wrong with the files you passed to benchstat or there's a bug in the computation of the geomean. Most of the benchmarks got faster and the worst one is a +2.65%, the geomean can't be +40%.

I made go1 benchmark test two times for the original go and two times for my patch. Then 6 comparison are made. (old means original go and new means my patch)
old_1 vs old_2
new_1 vs new_2
old_1 vs new_1
old_1 vs new_2
old_2 vs new_1
old_2 vs new_2
The conclusion is,

There are floating errors among each round of test
Some single test (HTTPClientServer-4) varies much larger than others among each round of test
My patch has optimization in general (excluding the floating error)

The attachment is the detailed comparison.
compare.zip

Current status,
Keith Randall has a better solution  https://go-review.googlesource.com/41612
than mine https://go-review.googlesource.com/#/c/39552/

update:
Keith Randall's solution https://go-review.googlesource.com/41612 is merged. But more need to be optimized.
a = b + 0x00ffff00 -> a = (b + 0x01000000) - 0x00000100
a = b + 0xfffffff0 -> a = b - 0x10


Title: Add Nifty 50 price prediction using LSTM In  Machine learning and Data science Intermediate

Initiative (Required)
GSSoC 2024 Extd 🚀
Is your feature request related to a problem? Please describe.
The feature request addresses the challenge of accurately predicting Nifty 50 prices by improving the model's ability to capture long-term dependencies and trends in stock market data, which traditional models may struggle to do effectively.
Describe the solution you'd like.
The solution involves implementing an LSTM model to better capture time dependencies and trends in Nifty 50 price data, improving prediction accuracy. This includes optimizing hyperparameters, incorporating additional features like volume or market sentiment, and fine-tuning the model for faster convergence and reliable results.
Add any other context or screenshots about the feature request here.
Please add labels(gssoc-ext , hactoberfest-accepted , Level(1, 2, 3))

I am the mentor of this project.
Hello @deepanshubaghel
I appreciate your pull issue, can you describe little bit and give screenshots!!

I am the mentor of this project. Hello @deepanshubaghel I appreciate your pull issue, can you describe little bit and give screenshots!!

Key features include:

Data preprocessing with MinMaxScaler and handling missing values using forward fill.
LSTM model with two layers and Dropout for regularization.
Evaluation using metrics such as RMSE, MAE, MSE, and R² scores for both training and testing data.
Visualization of actual vs predicted values and loss metrics across epochs.
This implementation aims to enhance stock price prediction by leveraging LSTM's ability to model sequential data effectively.

@SakiraAli1115 please review it and assign
Please add labels(gssoc-ext , hactoberfest-accepted , Level(1, 2, 3))

@Kushal997-das  kindly assign this issue

@Kushal997-das @SakiraAli1115


⚠ Bofrost.be has degraded performance

In 1e29dc3, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2132 ms

Resolved: Bofrost.be performance has improved in e738ed9.


Adding support for mesos-slave metrics and splitting up plugin into master/slave.

Based on feedback received in issue https://github.com/rayrod2030/collectd-mesos/issues/4 from @rasputnik this PR adds support for mesos-slaves and also splits the master/slave functionality into two separate plugins.

First of all: great job! Looking forward to see it merged. I made a dockerized version of your plugin:
https://github.com/bobrik/docker-collectd-mesos
I found some issues during testing:

slave/mem_* metrics are missing in mesos-slave module.

This should be gauge:

    'master/uptime_secs': Stat("counter", "master/uptime_secs"),

You should add verbose logging to mesos-master.py that says something like "not writing data from non-leader", this could save some debugging time.

master_mem_total and master_mem_used could be reported in bytes, then y axis formatters in tools like grafana would show correct values. Same applies to slave memory metrics.

Conversion to integer kills values like slave_cpus_percent: 0.025 becomes 0.

@bobrik Great feedback thank you and I'll work on implementing some of your suggestions and merging this PR.

Unhandled python exception in loading module: NameError: global name 'islave_cpus_percentnc' is not defined

I'm pretty sure this is not what you intended to do.

Thanks for catching that.  Should be fixed now.


Manual Pshtt Scanner Broken

🐛 Summary
Unable to execute a manual pshtt scan for domains. Issue is fixed here #232 . Will need new docker image made available.
To reproduce
Steps to reproduce the behavior:

Execute docker run --volume $PWD/results:/home/scanner/results dhsncats/domain-scan:latest --scan=pshtt ftc.gov

Expected behavior
What did you expect to happen that didn't?
Generate a file with pshtt results for domain
Any helpful log output or screenshots
Paste the results here:
MAC-0014539:~ bonesk$  docker run --volume $PWD/results:/home/scanner/results dhsncats/domain-scan:latest --scan=pshtt ftc.gov
[pshtt] Downloading third party data...
Traceback (most recent call last):
  File "./scan", line 622, in <module>
    run(options, unknown, cache_dir, results_dir)
  File "./scan", line 122, in run
    scan_domains(scans, domains, options)
  File "./scan", line 171, in scan_domains
    init = scanner.init(environment, options)  # type: ignore
  File "/home/scanner/scanners/pshtt.py", line 41, in init
    'preload_list': pshtt.load_preload_list(),
  File "/opt/pyenv/versions/3.6.4/lib/python3.6/site-packages/pshtt/pshtt.py", line 1485, in load_preload_list
    raw = base64.b64decode(raw).decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 1: invalid continuation byte
MAC-0014539:~ bonesk$

Add any screenshots of the problem here.

I believe this is fixed now with these three commits to cisagov/domain-scan:

2cdac865ec6ccd48924e94a980e73a5e82c3bcee
f2f4cf1f121bcd256719f84f7b444df7e848b948
264188ea62487b7e8606e7cb5368ee101f1dfc87

I built a new dhsncats/domain-scan:latest Docker image and pushed it to Docker Hub, so if you pull it and re-run the command @KeithBonesJr listed above it should now work.
@KeithBonesJr and @climber-girl - The dhsncats Docker Hub organization is now deprecated in favor of cisagov.  I also pushed the new Docker image to cisagov/domain-scan:latest, and that is where you should be pulling it from going forward.  Can you please let the others know, update your runbooks accordingly, etc.?


Use Cobra library as argparser

Use https://github.com/spf13/cobra as a better arg parser instead of the flag package.

Cobra might be overkill. I can sort of see us using pflag, which cobra is based on, but when we go to containers (soon?) some of the flags will go away:

migrate database would become a pre-deployment job container, or else we must do complicated gymnastics to prevent starting two instances of our service at the same time which both try to migrate the database, leaving it in unusable state
log style selection should default to json logging, with the switch to human readable a field in the config.yaml. It's not a problem if the service starts with json logging on dev machines and switches after the first line
the path to the config file should be fixed, possibly allowing another override via environment variable
(did I forget any cmd line flags?)

New target solution: github.com/urfave/cli (v2) instead of cobra.
Compare https://github.com/eurofurence/reg-room-service/blob/main/cmd/reg-room-service/main.go this is extremely clear and very easy to understand, and allows setting everything via env if desired.


Progress Bar restarts at 0:00 after 2 seconds

What version of Music Assistant has the issue?
2.1.0b1
What version of the Home Assistant Integration have you got installed?
2024.5.5
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Previously reported at:  https://github.com/orgs/music-assistant/discussions/2390
For me, the progress bar is in a loop and progresses only for the first 2 seconds before it resets back to 00:00 again.

As far as I can observe, the album is still played, song after song, but Music Assistant does not display the next title, nor does it display all titles played.
The player in use is a "Home Assistant MediaPlayers" player.  The device is a Linkplay-based player (using the HACS custom integration). Within Home Assistant, the progress bar behaves as expected.
How to reproduce
n/a
Music Providers
Plex Media Server Library
Player Providers
Home Assistant MediaPlayers
Full log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2024.5.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Alternative

What version of the Home Assistant Integration have you got installed?  -->  2024.5.1

Is QUEUE FLOW MODE enabled in the settings?

Thank you, @OzGav.

Like already explained by OzGav, its always preferred to use one of the native Music Assistant providers, which are optimized for the best user experience and playback quality. Only use the HA MediaPlayer as last resort when there is no "native" option available. So for LinkPlay based players, use the DLNA and/or Airplay provider.
That said, I found some bugs yesterday in the HA Mediaplayer provider actually so its worth trying if this issue is fixed in the next update (2.0.7)

@mzurhorst Please advise if this is still a problem in 2.0.7

Hi @OzGav, am I supposed to install anything manually?
My HA updated to 2.1.0.b6 yesterday, but does not offer anything else.
How would I leave the beta track?

The beta will have the update as well. Is this still an issue?

Well, something changed.  The numbers are gone, see below.
But would say, this was introduced with 2.1.0.b5 already.  Not sure.
I still see the bar progressing at in tiny steps, and it is reset afterwards.

So if the bar is now increasing would you agree that this issue is fixed?

No, it is not.  As I said, the progress bar makes a little progress, and resets.  (=goes back).
I have captured a .gif.  Please see attached.      Here, you also see how this behave in the middle of a track.
I can click randomly onto the progress bar, and the music jumps to this position.   But it is also the same, when I just select a new song.

This is clearly an issue where the player is not reporting progress to HA.
Unless that is fixed, you will not have great results with this player in MA. I suggest you to use the Airplay or DLNA provider in MA with linkplay based players.

I will have to look into this in a calm minute.   For the moment, I have raised this topic to the developers of the Linkplay integration. Maybe those have an idea to fix this on their side.

Closing due upstream issue. FYI native linkplay provider support is on the backlog. ETA Unknown.


The game crashes when taking a screenshot in photo mode

Hello, dear Maxim! There was a problem with the game freezing when taking a screenshot in photo mode. What information can I provide you to make it easier to figure out the problem? The game is 2.12 a, Windows 11 platform, all C++ packages are installed in the current version. I haven't installed any mods except for the Cyber Engine settings. When I delete this "cyber_engine_tweaks.asi" file from the game folder, the screenshots work again. Since I have little experience, I shuffled files for a very long time until I realized which file was causing the problem

Files from the error report folder
Cyberpunk2077.exe-20240415-120330-4452-9144.txt
gpucrash-2024-04-15_<IP_ADDRESS>4.log
integrity.json
report.txt
stacktrace.txt
sysinfo.json


Cache Miss

Nasuni Support performed a Health Check and they show cache miss around 40% while Grafana shows around 5%. We are using the following query. How do we fix this?
SELECT last("filer_read_misses") / (last("filer_read_hits") + last("filer_read_misses")) * 100 FROM "Nasuni" WHERE ("hostname" =~ /^$Appliance$/) AND $timeFilter GROUP BY time($__interval)

After researching the issue with Support, we found an issue with their Health Check script that we're working to fix. The data in Nasuni Dashboards is correct.


fix: flir ndtiff metadata

Add if/else statements to get Flir camera properties from the Micromanager NDTIFF files.
To access metadata, you can follow the NDTIFF documentation and do the following,
from ndstorage import Dataset
from pathlib import Path

path_to_tile_dir = Path(r"/path/to/acquistion/path/to/tile") # path to an image tile. Usually first one in experiment
dataset = Dataset(str(path_to_tile_dir)) # open the image tile
channel_to_test = dataset.get_image_coordinates_list()[0]["channel"] # get the name of the first channel in the image
ndtiff_metadata = dataset.read_metadata(channel=channel_to_test,z=0) # retrieve metadata for first z plane. All images contain the metadata, with the channel and z position updated for each individual image in the tile
print(ndtiff_metadata) # print the dictionary. You can parse this offline

Sorry for the noise in the merges, I found a few bugs in the large documentation and typing PR that I just merged.


Elemental CAPI integrate elemental-toolkit

The goal of this issue is to enable integration with the elemental-toolkit.
The elemental installer should be implemented.
The install and reset fields should also become schema-less data.
The 'unmanaged' installer can be optionally be updated to write these fields in the work dir, under install.yaml and reset.yaml.
Up to the users to do anything with them.
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: ElementalRegistration
    metadata:
      name: my-registration
      namespace: default
    spec:
      config:
        elemental:
          agent:
            installer: "elemental"
          install:
             anything: goes
          reset:
             anything: goes

There should also be a convenient and easy way to locally build a bootable Elemental image, containing the elemental cli, the elemental-agent, and an initial configuration for the agent to register.

Linking parent #968


crash upon restore after minimizing to tray

Version: <IP_ADDRESS>6; Variant: Installed; Arch: Amd64
Path: C:\Program Files\SyncTrayzor\SyncTrayzor.exe
System.Exception: IBrowser instance is null. Browser has likely not finished initializing or is in the process of disposing.
at CefSharp.WebBrowserExtensions.Reload(IWebBrowser browser, Boolean ignoreCache)
at Stylet.Screen.<Stylet.IScreenState.Activate>b__1f(ScreenState oldState, ScreenState newState) in c:\projects\stylet\Stylet\Screen.cs:line 155
at Stylet.Screen.SetState(ScreenState newState, Action2 changedHandler) in c:\projects\stylet\Stylet\Screen.cs:line 141    at Stylet.ScreenExtensions.<>c__DisplayClass1.<ActivateWith>b__0(Object o, ActivationEventArgs e) in c:\projects\stylet\Stylet\ScreenExtensions.cs:line 68    at System.EventHandler1.Invoke(Object sender, TEventArgs e)
at Stylet.Screen.SetState(ScreenState newState, Action`2 changedHandler) in c:\projects\stylet\Stylet\Screen.cs:line 141
at Stylet.WindowManager.WindowConductor..ctor(Window window, Object viewModel) in c:\projects\stylet\Stylet\WindowManager.cs:line 220
at Stylet.WindowManager.CreateWindow(Object viewModel, Boolean isDialog) in c:\projects\stylet\Stylet\WindowManager.cs:line 194
at Stylet.WindowManager.ShowWindow(Object viewModel) in c:\projects\stylet\Stylet\WindowManager.cs:line 90
at SyncTrayzor.Pages.ShellViewModel.EnsureInForeground() in C:\projects\synctrayzor\src\SyncTrayzor\Pages\ShellViewModel.cs:line 183
--- End of stack trace from previous location where exception was thrown ---
at Stylet.Xaml.ActionBase.InvokeTargetMethod(Object[] parameters) in c:\projects\stylet\Stylet\Xaml\ActionBase.cs:line 201
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Thanks for reporting this.
I'm pretty sure I just botched an intermediate release - this doesn't affect any official releases. I've undone my mistake :smile:


How to pass properties. (hive-jdbc)

I was following the docs but wondering how to pass this type of properties:
cfg = {
    "hive.resultset.use.unique.column.names": False,
    "hive.mapred.supports.subdirectories": True,
    "hive.execution.engine": "tez",
    "hive.auto.convert.join": True,
    "hive.auto.convert.join.noconditionaltask": True,
    "hive.auto.convert.join.noconditionaltask.size": 405306368,
    "hive.vectorized.execution.enabled": True,
    "hive.vectorized.execution.reduce.enabled": True,
    "hive.cbo.enable": True,
    "hive.compute.query.using.stats": True,
    "hive.stats.fetch.column.stats": True,
    "hive.merge.mapfiles": True,
    "hive.merge.mapredfiles": True,
    "hive.merge.size.per.task": 134217728,
    "hive.merge.smallfiles.avgsize": 44739242,
    "mapreduce.job.reduce.slowstart.completedmaps": 0.7,
    "hive.tez.container.size": 8192,
    "hive.tez.java.opts": "-Xmx6553m",
    "tez.runtime.unordered.output.buffer.size-mb": 819,
    "tez.runtime.io.sort.mb": 3276
}

table = (
  spark.read
  .format("jdbc")
  .option("url", "<jdbc-url>")
  .option("dbtable", "<table-name>")
  .option("user", "<username>")
  .option("password", "<password>")
  .option("fetchSize", "100")
  .options(**cfg)
  .load()
)

This one should prevent schema_name.colunm_name to only column_name:
https://stackoverflow.com/questions/77681704/how-to-set-properties-in-org-apache-hive-jdbc-hivedriver-pyspark-databricks
https://spark.apache.org/docs/latest/configuration.html#custom-hadoophive-configuration
It is not working.
How to pass jdbc properties?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 18953e60-a5ee-d74d-eccc-9360ac826c67
Version Independent ID: 18953e60-a5ee-d74d-eccc-9360ac826c67
Content: Query databases using JDBC - Azure Databricks
Content Source: databricks/connect/external-systems/jdbc.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@virtualdvid
Thanks for your feedback! We will investigate and update as appropriate.

@virtualdvid
You can pass JDBC properties in the options method as a dictionary. Here is an example:
table = (
spark.read
.format("jdbc")
.option("url", "")
.option("dbtable", "")
.option("user", "")
.option("password", "")
.option("fetchSize", "100")
.options(cfg)
.load()
)
In this example, cfg is a dictionary containing the JDBC properties you want to set. You can add or remove properties from this dictionary as needed.
Make sure that the property names in the dictionary match the names of the properties you want to set. For an issue like this, I'd recommend you create a support ticket since the support team will be able to respond much more quickly and have a conversation with you to figure out what could be going on.

Thanks for providing feedback that helps improve our documentation. We've created an internal work item (DOC-12183) to address your feedback. The timeline for resolution varies based on resourcing.

#please-close

@virtualdvid You can pass JDBC properties in the options method as a dictionary. Here is an example:
table = ( spark.read .format("jdbc") .option("url", "") .option("dbtable", "") .option("user", "") .option("password", "") .option("fetchSize", "100") .options(cfg) .load() ) In this example, cfg is a dictionary containing the JDBC properties you want to set. You can add or remove properties from this dictionary as needed.
Make sure that the property names in the dictionary match the names of the properties you want to set. For an issue like this, I'd recommend you create a support ticket since the support team will be able to respond much more quickly and have a conversation with you to figure out what could be going on.

mmm This doesn't solve the issue, actually I put this "solution" in the question. This doesn't work, that's why I'm asking.


Play Framework 2.6 support

Hi there.
In our company, we are currently in a process of migrating our Play modules from 2.3 to 2.6 (yup, huge jump).
We managed to upgrade almost everything, except play2war of course. :)
This is very important for us and therefore I am willing to work on making play2war work with Play 2.6.
Is there any specific procedure to follow? :)
Also, anyone who is willing to help is welcome. :)
PS.
I am aware of https://github.com/play2war/play2-war-plugin/issues/308, but I will work on 2.6 only.

I managed to find some time to get back to this one. :)
All the tests in the branch 321_play_2_6 are green and it looks like on my machine, locally, our application (that uses play2war) runs as it should on Wildfly.
However, this is not always true...
On our test environments (they only differ by having nginx as a proxy from my local setup) I am getting some concurrency issues again. :(
I think, I stuck a bit...
@yanns @jroper if anyone of you can point me where can I look at, I would be grateful... :) (no pressure though)
I am getting following exceptions:
UT000002: The response has already been started  java.lang.IllegalStateException: UT000002: The response has already been started
	at io.undertow.server.HttpServerExchange.startResponse(HttpServerExchange.java:1720)
	at io.undertow.server.HttpServerExchange.getResponseChannel(HttpServerExchange.java:1284)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:556)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:478)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:465)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at akka.stream.impl.io.OutputStreamSubscriber$$anonfun$receive$1.applyOrElse(OutputStreamSubscriber.scala:57)
	at akka.actor.Actor.aroundReceive(Actor.scala:517)
	at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	at akka.stream.impl.io.OutputStreamSubscriber.akka$stream$actor$ActorSubscriber$$super$aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.stream.actor.ActorSubscriber.aroundReceive(ActorSubscriber.scala:202)
	at akka.stream.actor.ActorSubscriber.aroundReceive$(ActorSubscriber.scala:182)
	at akka.stream.impl.io.OutputStreamSubscriber.aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588)
	at akka.actor.ActorCell.invoke(ActorCell.scala:557)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
	at akka.dispatch.Mailbox.run(Mailbox.scala:225)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

or
java.lang.NullPointerException
	at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:565)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:478)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:465)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at akka.stream.impl.io.OutputStreamSubscriber$$anonfun$receive$1.applyOrElse(OutputStreamSubscriber.scala:57)
	at akka.actor.Actor.aroundReceive(Actor.scala:517)
	at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	at akka.stream.impl.io.OutputStreamSubscriber.akka$stream$actor$ActorSubscriber$$super$aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.stream.actor.ActorSubscriber.aroundReceive(ActorSubscriber.scala:202)
	at akka.stream.actor.ActorSubscriber.aroundReceive$(ActorSubscriber.scala:182)
	at akka.stream.impl.io.OutputStreamSubscriber.aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588)
	at akka.actor.ActorCell.invoke(ActorCell.scala:557)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
	at akka.dispatch.Mailbox.run(Mailbox.scala:225)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

or
java.nio.channels.ClosedChannelException
	at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:238)
	at io.undertow.server.HttpServerExchange$WriteDispatchChannel.write(HttpServerExchange.java:2028)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:563)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:478)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:465)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
	at akka.stream.impl.io.OutputStreamSubscriber$$anonfun$receive$1.applyOrElse(OutputStreamSubscriber.scala:57)
	at akka.actor.Actor.aroundReceive(Actor.scala:517)
	at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	at akka.stream.impl.io.OutputStreamSubscriber.akka$stream$actor$ActorSubscriber$$super$aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.stream.actor.ActorSubscriber.aroundReceive(ActorSubscriber.scala:202)
	at akka.stream.actor.ActorSubscriber.aroundReceive$(ActorSubscriber.scala:182)
	at akka.stream.impl.io.OutputStreamSubscriber.aroundReceive(OutputStreamSubscriber.scala:29)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588)
	at akka.actor.ActorCell.invoke(ActorCell.scala:557)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
	at akka.dispatch.Mailbox.run(Mailbox.scala:225)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

or
Exception in thread "default task-362" java.nio.BufferOverflowException
	at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:363)
	at java.nio.ByteBuffer.put(ByteBuffer.java:859)
	at io.undertow.util.HttpString.appendTo(HttpString.java:209)
	at io.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:167)
	at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:588)
	at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at org.xnio.conduits.Conduits.writeFinalBasic(Conduits.java:132)
	at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.writeFinal(AbstractFixedLengthStreamSinkConduit.java:175)
	at org.xnio.conduits.ConduitStreamSinkChannel.writeFinal(ConduitStreamSinkChannel.java:104)
	at io.undertow.channels.DetachableStreamSinkChannel.writeFinal(DetachableStreamSinkChannel.java:195)
	at io.undertow.server.HttpServerExchange$WriteDispatchChannel.writeFinal(HttpServerExchange.java:2007)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:561)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:596)
	at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:478)
	at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:561)
	at io.undertow.servlet.spec.AsyncContextImpl$3.run(AsyncContextImpl.java:315)
	at io.undertow.servlet.spec.AsyncContextImpl$6.run(AsyncContextImpl.java:455)
	at io.undertow.servlet.spec.AsyncContextImpl$TaskDispatchRunnable.run(AsyncContextImpl.java:566)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

@yanns, @jroper
I just cleaned TODOs.
All tests sbt itt are green.
My tests of our application also are green.
I think, that we can release 1.6.0 version of this plugin. :)
Can you please advice how this can be achieved?

Awesome news @pwyczes !!
Sorry for my lack of participation.
To be honest, as I don't use it anymore, it's difficult for me to find time & motivation for this.
AFAIK, only @dlecan can perform a release.
If he does not have the time anymore, maybe he can transfer the rights to you so that you can take care of this project.
I'd advise to do a 1.6.0-RC1 release before, to announce it on the play list, so that you can receive feedback before a 1.6.0 release.

Hi all,
Sorry for my response time @yanns and @pwyczes, I'm working on other projects now.
Yes, I agree with @yanns, I can transfer to @pwyczes the rights of the project, and even of the whole organization.
Let's do that now, you will be able to do a release on your own.

Hi @pwyczes,
I know that everyone is busy but do you have any plan to release it any time sooner ?

Hi @pwyczes  @dlecan
It looks like all the handwork is already done and would appreciate your help to release support for 2.6. Please help? thank you!


Updating property with type "ANY" only works every other time (2.1.0)

When using properties with type "ANY", then all following UPDATEs on this property do either:

Set the property to the given value, if the last value was null
Set the property to null, if the last value was not null

A shortened copy&paste from my console:
CREATE DATABASE memory:testdb
CREATE CLASS Test EXTENDS V
CREATE PROPERTY Test.value ANY
CREATE VERTEX Test

UPDATE (SELECT FROM Test) SET value = false

    Updated record(s) '1' in 0.004000 sec(s).

SELECT FROM Test

    ----+-----+------+-----
    #   |@RID |@CLASS|value
    ----+-----+------+-----
    0   |#11:0|Test  |false
    ----+-----+------+-----

UPDATE (SELECT FROM Test) SET value = false

    Updated record(s) '1' in 0.004000 sec(s).

SELECT FROM Test

    ----+-----+------+-----
    #   |@RID |@CLASS|value
    ----+-----+------+-----
    0   |#11:0|Test  |null
    ----+-----+------+-----

Interestingly enough a UPDATE ... RETURN always shows the right value, like Updated record(s) '[Test#11:0{value:false} v8]' in 0.005000 sec(s)., even if the next SELECT ... will return a null.
I also tried to set an Integer because I suspected some parsing problems with booleans, but that did the same strange with of setting and erasing the value.
This happens in OrientDB version 2.1.0 (Community Edition).

any news on this?

Hi @elexx
I reproduced the problem, I'll work on this in short and I'll let you know.
Thanks for reporting

fixed in branches 2.0.x, 2.1.x and develop (2.2)


Dual-Stack cluster, Helm chart results in SingleStack deployment

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What version of the Traefik's Helm Chart are you using?
10.0.2
What version of Traefik are you using?
2.4.9
What did you do?

Install dual-stack Kubernetes cluster.
Install Calico
Install Traefik using Helm

What did you see instead?
I saw that the deployment from helm install traefik traefik/traefik results in a SingleStack deployment, and it doesn't get a IPv6 address when it should.
What is your environment & configuration?
Platform/architecture: Raspberry Pi 4, running Ubuntu 20.04 LTS (arm64)
Kubernetes version: 1.21.x
Default Helm traefik values.
Additional Information
After deployment I executed kubeadm get svc traefik -o yaml and the resulting output is:
apiVersion: v1
kind: Service
metadata:
  annotations:
    meta.helm.sh/release-name: traefik
    meta.helm.sh/release-namespace: default
  creationTimestamp: "2021-07-19T20:33:08Z"
  labels:
    app.kubernetes.io/instance: traefik
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: traefik
    helm.sh/chart: traefik-10.0.2
  name: traefik
  namespace: default
  resourceVersion: "1335"
  uid: 831207c4-e46e-47d5-9c0a-6b85032cd36a
spec:
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  externalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: web
    nodePort: 31611
    port: 80
    protocol: TCP
    targetPort: web
  - name: websecure
    nodePort: 30437
    port: 443
    protocol: TCP
    targetPort: websecure
  selector:
    app.kubernetes.io/instance: traefik
    app.kubernetes.io/name: traefik
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}

This shouldn't have ipFamilies as IPv4 when the cluster is dual-stack configured, nor have ipFamilyPolicy as singleStack.

Hello @samip5,
The helm chart currently does not configure ipFamilies at all, and therefore you are seeing the default IPv4 settings generated by kubernetes.
Please feel free to open a PR to add dual stack capabilities to the service!

Hello @samip5,
The helm chart currently does not configure ipFamilies at all, and therefore you are seeing the default IPv4 settings generated by kubernetes.
Please feel free to open a PR to add dual stack capabilities to the service!

Hello @dtomcej,
I have now opened a PR regarding this, and I have also tested that it works now like it should.


ent-kaurene oxidase activity ; GO:0010241

ent-kaurene oxidase activity ; GO:0010241
Catalysis of three successive oxidations of the 4-methyl group of ent-
kaurene resulting in kaurenoic acid.
This is actually three separate reactions; see
http://ca.expasy.org/cgi-bin/nicezyme.pl?<IP_ADDRESS>
We should therefore split this term into three separate functions, one
representing each reaction. We could have a process term 'ent-kaurene
oxidation' which would be the equivalent of the existing 'ent-kaurene
oxidase activity' term, and have a comment saying that this process is
made up of three reactions, with the GO term names / IDs.
Reported by: girlwithglasses
Original Ticket: "geneontology/ontology-requests/3241":https://sourceforge.net/p/geneontology/ontology-requests/3241

thanks www.movied.org


Quiet the output on brew update for R builds.

PTAL @BanzaiMan

This, #397, #396, and #395, have been deployed to production.


Create tickets for implementations

[x] #14
[ ] #16
[ ] #34

@FECTeamOne/serum mark your widget as done when you're ready. Last one to wrap up can close this issue!


fixing video uploads

Fixed the issue related to posting a video post on Tumblr.
A video post can be uploaded as follows:
$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
$client->setToken($token, $tokenSecret);
$post_data = array('type' => 'video',  'caption' => 'this is a test video', 'data' => $path_of_video_file);
$createPost = $client->createPost($blog, $post_data);

Merge this please

@ravimisra We ended up patching this issue on the backend some time ago. I just re-tested, and was able to create a video file without issue using the following snippet (sensitive information replaced with ...):
<?php

require __DIR__ . "/vendor/autoload.php";

const CONSUMER_KEY = "...";
const CONSUMER_SECRET = "...";
const ACCESS_TOKEN = "...";
const ACCESS_TOKEN_SECRET = "...";
const BLOG = "...";

$video_file = getenv("HOME") . "/Downloads/video.mp4";

$client = new Tumblr\API\Client(CONSUMER_KEY, CONSUMER_SECRET);
$client->setToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$post_data = ["type" => "video",  "caption" => "this is a test video", "data" => $video_file];

try {
    print_r($client->createPost(BLOG, $post_data));
} catch (Exception $ex) {
    print_r($ex);
}

Please feel free to create an issue if you still run into problems posting videos.

Video Not Upload issue . Error status 401
require DIR . "/vendor/autoload.php";
const CONSUMER_KEY = "...";
const CONSUMER_SECRET = "...";
const ACCESS_TOKEN = "...";
const ACCESS_TOKEN_SECRET = "...";
const BLOG = "12345678";
$video_file = "../video.mp4";
$client = new Tumblr\API\Client(CONSUMER_KEY, CONSUMER_SECRET);
$client->setToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$post_data = ["type" => "video",  "caption" => "this is a test video", "data" => $video_file];
try {
print_r($client->createPost(BLOG, $post_data));
} catch (Exception $ex) {
print_r($ex);
}

@himanshupatel95 If you're getting responses with a 401 status code, that means we could not find a user for the provided access token and access token secret.
Please go to https://api.tumblr.com/console to create a new access token and give that a shot.

@himanshupatel95 If you're getting responses with a 401 status code, that means we could not find a user for the provided access token and access token secret.
Please go to https://api.tumblr.com/console to create a new access token and give that a shot.

Thanks


Make the TagList.create methods publicly accessible.

It would useful to be able to use the static create methods in TagList.

Talking in person, the use-case can be solved with one of the Id.withTags calls:
http://netflix.github.io/spectator/javadoc/HEAD/spectator-api/com/netflix/spectator/api/Id.html#withTags-java.util.Map-


UTS-46 Mapping Tables

UTS-46 mapping tables and associated codegen. Still needs some cleanup/tests/docs, but I wanted to get a draft PR for some early thoughts.
FYI, I did start out using Scalameta to generate the code, but hit issues with the size of the generated AST (stack unsafe methods in the printer and huge amounts of memory required to generate the output), so I switched to a more stringy approach.

@armanbilge the interesting code in is the local plugin. CodePointMapping.scala is all generated (and huge).

This is exciting, taking a look now! Is your plan to keep the generated code committed, or should it eventually be a src_managed kind of thing?

UTS46IDNAMappingTable.scala is documented, but I've not got to LookupTableGen.scala yet.

This is exciting, taking a look now! Is your plan to keep the generated code committed, or should it eventually be a src_managed kind of thing?

Not sure. Probably src_managed. I'm open to suggestion on that.
It's nice to be able to look at it without having to go into target, but having a big file in src that is generated annoying (also annoying for Scalacheck/Scalafmt).
I think in Circe we have this type of thing in src_managed, but in http4s (I'm thinking MimeDb stuff) it's in src. Do you know why that is done differently?

in http4s (I'm thinking MimeDb stuff) it's in src. Do you know why that is done differently?

Historical reasons possibly. I'd be in favor of moving that scheme to src_managed/ as well ... although we are revisiting the MimeDB thing before 1.0 anyway.
Other concerns are build reproducibility and possibly not needing the internet? Although the latter is a bit silly since dependencies and stuff have to come from the internet anyway.

This is really cool, thanks for getting the PR up!
What are the plans for testing? I believe there's also a file of tests available from unicode, which we can either generate sources from or just read dynamically at runtime (it will take some fiddling to do this on JS, but very doable).
Regarding the generated code: obviously it's all internal implementation details that we can iterate on and optimize in the future. But I was curious about how Array would compare to using @switch, or even some sort of trie-structure to try and "compress" the blocks of repeated values.

For the Array idea, are you thinking we partition the code points into contiguous and non-contiguous Array[Int] values, then for contiguous ones just do arr(i) and for non-contiguous ones do a binary search? Or am I totally off base there?

What are the plans for testing? I believe there's also a file of tests available from unicode, which we can either generate sources from or just read dynamically at runtime (it will take some fiddling to do this on JS, but very doable).

Is there a test file for just the mapping stage of UTS-46? I didn't see one earlier, but perhaps I missed it.
My current plan was,

For [0, 0x10FFFF], (all Unicode code points) ensure that we always get a sentinel value or a code point back from the mapping function.
Look around for some testing data for UTS-46's mapping stage online
If we can't find any/enough good testing data, then wait until we have the full UTS-46 algorithm in place and use the test data that Unicode provides. If it works for the full algorithm, it works for the mapping stage. That said, I'd like to have each stage tested as much as possible.

For the Array idea, are you thinking we partition the code points into contiguous and non-contiguous Array[Int] values, then for contiguous ones just do arr(i + baseOffset) and for non-contiguous ones do a binary search? Or am I totally off base there?

Oh right, the non-contiguous blocks 🤔 A binary search seems reasonable, but of all the implementations I looked at I don't remember seeing that technique used (although I may have missed it). Tries seem to be a common choice.

Is there a test file for just the mapping stage of UTS-46? I didn't see one earlier just the test data for the full UTS-46 algorithm, but perhaps I missed it.

Ah, right. I was thinking about this one which is the full algorithm.
https://www.unicode.org/Public/idna/14.0.0/IdnaTestV2.txt
Just spitballing: at least on the JVM, can we somehow test this against icu4j? I believe you can directly access the mapping table.
https://github.com/unicode-org/icu/blob/86166e0a2dd1119e086d04b8973dc486b4af8dcc/icu4j/main/classes/core/src/com/ibm/icu/impl/UTS46.java#L69

@armanbilge I've rebased onto main. I moved the generated code to src_managed and squashed out the large file.
I'm increasingly skeptical of my stringy code gen stuff...I'm considering trying Scalameta again and micro batching the output to avoid large compile time heap usage and the stack unsafe printing issues...in any case I'm probably going to do a pretty large refactor/cleanup of the LookupTableGen.
I'm also going to take a look at alternative methods for encoding the tables, e.g. tries etc. That may or may not be part of this PR. I want to get this generally stable and clean enough to merge so we can get a full IDNA implementation, then optimize.
In any case the non-generated code is getting closer to something stable, though still not all the way there yet. Let me know your thoughts on that when you get a chance.

@isomarcte thanks for the update. For code-gen, have you considered tree hugger? That's what the MimeDB is using.
https://eed3si9n.com/treehugger/

That may or may not be part of this PR. I want to get this generally stable and clean enough to merge so we can get a full IDNA implementation, then optimize.

I'm fully on-board with that :)

@armanbilge I've not. I'll take a look at it.

Update: I've a much better version of this on my branch https://github.com/isomarcte/idna4s/tree/tree-hugger. Unfortunately, tree-hugger's printer is also stack unsafe and I'm getting similar issues to what I got with Scalameta.
I'm considering a couple options.

Dumb question: we are publicly exposing a lot of sealed ADTs. How confident are we that supporting a new Unicode version or UTS46 revision or something wouldn't force us to break compatibility?

You mean CodePointStatus and IDNA2008Status? I'm very confident those will change between Unicode variants.
From section 5 of UTS-46

A table is provided for each version of Unicode starting with Unicode 5.1, in versioned directories under [IDNA-Table]. Each table for a version of the Unicode Standard will always be backward compatible with previous versions of the table: only characters with the status value disallowed may change in status or mapping value. Unlike the IDNA2008 table, this table is designed to be applied to the entire domain name, not just to individual labels. That design provides for the IDNA2003 handling of label separators. In particular, the table is constructed to forbid problematic characters such as U+2488 ( ⒈ ) DIGIT ONE FULL STOP, whose decompositions contain a "dot".

This doesn't explicitly say that they won't add a new status type (which would be the only way we'd break bincompat here)...but I doubt that would happen. If that did happen, then we'd have to create a new ADT for CodePointStatus to avoid binary breaking changes, but it should be noted that this type is only used in   def mapCodePoint(codePoint: CodePoint): CodePointStatus which isn't the primary interface. The actual IDNA algorithm will be operating directly on String values, so that will use   def mapCodePoints(useStd3ASCIIRules: Boolean, transitionalProcessing: Boolean)(input: String): Either[MappingFailure, String] which doesn't reference any of those types. Meaning even if we did have to deprecate that ADT, the impact of that deprecation would be minor. mapCodePoint is really nice for testing and understanding the system, but not actually needed for IDNA. I can add in an Unknown constructor to handle this though. Let me circle back to that.

@armanbilge I still need to add tests and a few docs, but this is very close to done now.
I'm using IntMap and BitSet rather than the switches. ScalaMeta for code gen (I worked around the stack unsafe issues), and dropped a ton of code.
I'd love your thoughts.

The major issue with this approach is that the first invocation of mapCodePoints or mapCodePoint is very slow. This is because the underlying static variables backing the various IntMap and BitSet values are not computed until the first invocation. That is, the init method on the class backing object CodePointMapper isn't invoked until then.
After the first invocation, things are very fast.
I'm kicking around various ideas on how to improve this. Having the first invocation be slow here seems problematic to me, consider the first request on an http4s stack timing out due to this.
I can make initialization faster through various means, but most of them are trading compiled code size for initialization speed.

I was wondering about that too. I looked at the generated code, are you using immutable collections to build them up? Might mutables be better here?
Also there's a bitset impl in cats collections with different performance characteristics (and support for sparsity I believe). Wort checking out.
I am also worried that on JS they need to become lazy vals to avoid becoming linked into JS if they are not actually used.

I was wondering about that too. I looked at the generated code, are you using immutable collections to build them up? Might mutables be better here?

I've tried various encodings using mutable builders, usually they are slightly slower than just using the List.apply literal.

I was thinking specifically about the IntMap and BitSet actually, are those slower as well?

Oh, IntMap is only in immutable. I tried building up with just a mutable.HashMap and converting the result to an IntMap, but that didn't help at all.

I'll try with the mutable.BitSet (and take a look at the one in cats).

@armanbilge hey, good news! Turns out most of the cost is in the BitSet construction so using mutable.BitSet yielded an 90% increase in initialization time for me.
On my system that is ~1.8 seconds. So still slow, but maybe fast enough? Not sure how we decide what fast enough is.

@armanbilge There is still some tuning that could be done here, but do you think this is fast enough (in terms of initialization) for now? I'm planning a optimization step after all the main code is done.

So still slow, but maybe fast enough? Not sure how we decide what fast enough is.

Yeah tbh seems slow :( it depends on use-case. For a long-lived process annoying but whatever, but for a serverless Lambda or CLI or something you better be praying it never hits this code path 😂
Also, this is effectively a long blocking process that will presumably eat up a thread on the Cate Effect compute pool. So not ideal 😅
I'm afraid to measure what 1.8s translates to on JS.

With all that said, I think we should move forward with tests and such, and then get bogged down in these optimization nightmares. Worst case we can generate different code for different platforms maybe 🤔

@armanbilge I took one more pass at it and I've got the init time to ~150ms. I don't really know how to benchmark init time, but my very basic benchmarks show that ~75ms is JVM startup before init.
I'll make a PR into this PR for my changes.

@armanbilge over here: https://github.com/isomarcte/idna4s/pull/1
For some reason I can't add you a reviewer for PRs on my fork.

@armanbilge I've moved on the documentation and testing. You'll see a few documentation and test commits trickle in over the next 1-2 days as I get time to wrap this PR up.
Thanks for all the reviews. You really helped make this a much better piece of code than my original iterations.

Awesome!! Thanks for spear-heading these foundational projects and getting neck-deep in all the relevant standards :)

@armanbilge ready for review

Sorry I haven't gone through your latest changes, but I had a question about testing. Do you think my idea from https://github.com/typelevel/idna4s/pull/5#issuecomment-1235830921 could work here to directly test the mapping?

Just spitballing: at least on the JVM, can we somehow test this against icu4j? I believe you can directly access the mapping table.
https://github.com/unicode-org/icu/blob/86166e0a2dd1119e086d04b8973dc486b4af8dcc/icu4j/main/classes/core/src/com/ibm/icu/impl/UTS46.java#L69

That slipped my mind with all the codegen stuff. Let me take a look.

@armanbilge test added using icu4j. https://github.com/typelevel/idna4s/pull/5/files#diff-a6cdc4c12abfc27eeea89d49658d28354a40f1f55d7ef462d4f5945d3dfdc09cR32

@armanbilge I also just added a commit to make the Unicode version we target explicit in the build.sbt and temporarily set it to 14.0.0 to avoid flakiness with the tests. I think before we release we should (explicitly) target the latest version of Unicode, but for now I want to avoid the flaky tests.

I have no idea how it would be used downstream, but is it also worth BuildInfoing the unicode version into our sources so it's available at runtime? I can do this in a follow-up PR if you think it could be useful.

I have no idea how it would be used downstream, but is it also worth BuildInfoing the unicode version into our sources so it's available at runtime? I can do this in a follow-up PR if you think it could be useful.

I have that here: https://github.com/isomarcte/idna4s/blob/uts-46-alt2/core/shared/src/main/scala/org/typelevel/idna4s/core/uts46/CodePointMapper.scala#L448
I extract it out of the IdnaMappingTable.txt file during source code generation.

@isomarcte:

https://github.com/isomarcte/idna4s/pull/2

@armanbilge I've merged your PR, added the ASCII fast path, and I believe I've addressed all your comments.


Allow children to observe transition motion properties

Description
Allow to observe motion properties from children composable UI
https://github.com/bumble-tech/appyx/assets/5773436/be1f7aef-3149-495b-85de-9979d62d9eaf
Check list

[x] I have updated CHANGELOG.md if required.
[x] I have updated documentation if required.

Could you add a short block to the bottom of https://bumble-tech.github.io/appyx/interactions/uirepresentation/ something like "Observing MotionProperty changes"?
No need for lengthy text, practically just include the relevant sample code block with a 1-2 sentence description of the use-case. An embedded web demo can be added in another PR later (let's have an issue for it).


Add length limit when reading memory from instance into VM

I created https://github.com/CosmWasm/cosmwasm/issues/217 since I don't really know how to determine the correct values at the moment. Merging now to reduce diff.


Add a guide to introduces new modders to version control

Not sure yet where to put it so I'm setting this PR as draft, feedback welcome.
Basically I have the impression that some new modders, especially those on the younger side kinda start out coding/modding with Northstar and as such might not be aware of tools like git to track their changes. Maybe sticking an explanation of git and/or version control in general could help here ^^

I think that would be neat - but theres already a lot of good git resources that we should link to.
I also think we should link to text based resources first instead of videos.


[building-rollup] Can't disable workbox

I want to disable workbox. Reading the documentation I find this. But this code doesn't work:
  plugins: {
    workbox: false,
  },

Also the createBasicConfig doesn't exists.


[BUG] Warning in cast_string.cu

This is not quite a bug, instead something needs to be improved as we have compiler warnings:
cast_string.cu(121): warning #186-D: pointless comparison of unsigned integer with zero
[INFO]      [exec]           detected during:
[INFO]      [exec]             instantiation of "void spark_rapids_jni::detail::string_to_integer_kernel(T *, cudf::bitmask_type *, const char *, const cudf::offset_type *, const cudf::bitmask_type *, cudf::size_type, __nv_bool) [with T=uint8_t]"

Close this as it was already fixed.


Floating window hides multiline messages in Goneovim but not in terminal or other GUIs

I tried using the plugin floatline.nvim which uses a floating window to create one single global statusline. However, I noticed that with the plugin active it covers the last line of multiline printouts. However, I only have this problem in Goneovim, and not in Neovim-qt or or in my terminal emulator, or nvui according to this comment, leading me to suspect that this is a problem with how Goneovim handles floating windows.
To reproduce
Here's a minimal init.vim to reproduce the error:
call plug#begin('~/.config/nvim/packages/')
Plug 'windwp/floatline.nvim'
call plug#end()

lua << EOF
require('floatline').setup()
EOF

To test it:

> goneovim -u path/to/file/above
:echo 'foo' | echo 'bar'
Notice that 'bar' gets hidden by the statusline (a floating window)

Now try the same thing in your terminal emulator (or any other Neovim GUI):

> nvim -u path/to/file/above
:echo 'foo' | echo 'bar'
'bar' does not get hidden

@akiyosi I'm probably doing something wrong because I've downloaded and unpacked the Goneovim-latest-linux_archlinux-5.15.1 artifact, but when I run the binary but I get the error:
error while loading shared libraries: libQt5WebChannel.so.5: cannot open shared object file: No such file or directory

@Melkster
Sorry for not being able to document it.
It looks like you tried the package for archlinux, which assumes that you have qt5 libraries on your system (maybe, as I understand it).
Do you have any qt5 packages already installed on your system?
Also, will it work with the normal package Goneovim-latest-linux-5.14.1?

@Melkster
Is there any new situation?

@akiyosi Sorry I forgot to respond.
I got it to work by using the normal package Goneovim-latest-linux-5.14.1 and I it seems to have fixed the issue. Thank you! :)

@Melkster
Thank you for confirming!
Closed.


[query] Rudimentary static evaluation of predicates

Should we see a query with an expression like [(< ?x ?y)], and it turns out that both ?x and ?y are known — by deduction from the schema, by input binding, by deduction (e.g., for a boolean-valued variable, we might also have [(!= ?y true)], which allows us to ground ?y to false) — then we have an opportunity to compute the value prior to executing the query.
This ticket covers the basics: taking a pattern like [(< 5 4)] and marking the pattern as is_known_empty.

N.B., it would be worth checking in advance whether SQLite will do this for us, should we generate SQL like WHERE 5 < 4.


In-place amendment to existing type

Suggestion
🔍 Search Terms

In-place amendment to existing type
Dynamic union types
Extend union types
Accumulate types
Union type composition
TypeScript master union type
TypeScript type annotation

✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
I would like to propose a feature that allows in-place amendment to existing types in TypeScript using a new syntax. This feature would enable developers to extend and modify types dynamically, making it easier to manage and enforce something like a string-based API.
📃 Motivating Example
Consider an application that has a string-based API for handling various actions. To ensure type safety and proper autocompletion, we would like to create a master type that accumulates all possible actions. This way, developers can easily extend the master type by adding new actions without manually updating the type each time.
💻 Use Cases
Suppose we have a string-based API with several actions:
type Action = 'create' | 'update' | 'delete';

Now, let's say we want to add a new action, 'archive', to the API. Currently, we would need to manually update the Action type:
type Action = 'create' | 'update' | 'delete' | 'archive';

However, this approach becomes cumbersome and error-prone as the number of actions grows. It also causes problems with type exports and imports, as redefining the same type name can lead to confusion and errors.
Instead, imagine a feature that allows in-place amendment to the Action type using a new syntax:
type @Action<Action | 'archive'>

This syntax would find the type denoted by the name 'Action' and perform the specified operation on it, without redefining or creating a new type. It would provide a clean and concise way to extend existing types dynamically, accommodating a wide range of use cases.
By supporting in-place type amendment, TypeScript could enable developers to manage and maintain string-based APIs more efficiently. This would also ensure type safety and improved autocompletion when working with large, complex APIs. The new syntax would adhere to TypeScript's existing API and prevent potential issues with type exports and imports, making it a reliable and efficient solution.

I’m almost positive this is a duplicate
FWIW this isn’t really safe, as the proposed mechanism of amending the type widens it, making it very easy to pass invalid values to functions that aren’t expecting them.  Normally declaration merging is only allowed to narrow a type (adding properties to an interface, e.g.)

You can already do that today if that's your intent. This pattern is used in a few places on DefinitelyTyped:
interface ActionNames {
  "create": unknown; // value type is not relevant
  "update": unknown; // value type is not relevant
  "delete": unknown; // value type is not relevant
}

interface ActionNames {
  "archive": unknown;
}

type Action = keyof ActionNames;

Duplicate #36146

Looks great! Thanks again, @RyanCavanaugh , I don't need it to work with "type". Working with "interface" will help me to accomplish the same goal all the same.
Cheers!


HomeKit Secure Video

Hi, is there any public SDK or documentation available for HK Secure Video?

Additionally, in case if it’s commercial-only (which I would find very odd), how does one obtain that ADK?

become an Apple MFi licensee as a commercial entity, see https://developer.apple.com/programs/mfi/.

Does this requirement (Apple MFi license) still apply after the recent open sourcing?

https://twitter.com/HerrSupereg/status/1214025078603755520
https://github.com/Supereg/secure-video-specification


Multiselect content z-index bug

Default z-index of multiselect content is 1. If there is another element with higher z-index nearby it always appears above multiselect content.
To set a higher z-index to multiselect__content-wrapper class should help but it does not.
Here is a fiddle: https://jsfiddle.net/burlakko/qj7xovms/18/
Setting higher z-index to it's descendants also doesn't help
.multiselect__content-wrapper * {position: relative; z-index: 6;}

Same issue here

Add
.multiselect--active {
  z-index: 10;
}

This also doesn’t happen on the current master, thus it should be fixed in the new release.

I suppose this hasn't been fixed in 2.1.0 yet.
.multiselect z-index defaults to 9
.multiselect--active defaults to 1
This means that active multiselects will always be below inactive ones.

Hi everyone
The error continues to appear, I recommend that you modify the z-index but in 2 css tags: vue-multiselect.min.css
Style CSS:
.multiselect--active => z-index: 20
.multiselect__content-wrapper => z-index: 20
In my case I only put 20, because in my project I have another z-index.
Thank you

On my side I use Vuetify and the multiselect is in a v-toolbar.
The only way I've found is to do this :
.v-toolbar {
  z-index: 10;
}

Otherwise nothing worked.


Update 2020-12-14_16-00-00_FAQ_kevm_iele_glow-en.md

Minor edit to Glow section.
What? (required)
What has changed/been added?
Why? (optional)
Why has this change occurred if applicable?
How can this be tested? (optional)
Describe how this change can be tested
Screenshots (optional)
Upload some screenshots of the changes

This PR shouldn't be merged
since the Glow section will be deleted.
Because Glow won't be ready before 2021

closing as this section is no longer relevant


add operator label images

also opening to test brand new CI integration
@RobertKrawitz

hmm e2e didn't run....

/retest
/hold
until after beta3 cut on 3/29

/hold cancel
/retest

/retest

/lgtm

/retest

/hold
No sense in endless retesting that's bound to fail.

/lgtm

had to sync image pull spec between image-references and the deployment

@sjenning what for here?

@RobertKrawitz https://openshift-gce-devel.appspot.com/build/origin-ci-test/pr-logs/pull/openshift_etcd-quorum-guard/4/pull-ci-openshift-etcd-quorum-guard-master-e2e-aws/65#openshift-tests-featureplatformsmoke-managed-cluster-should-ensure-pods-use-images-from-our-release-image-with-proper-imagepullpolicy-suiteopenshiftconformanceparallel

I see.
/lgtm

/retest

/hold cancel


Formatting issue in generated Java code

Brief Description
A space is being added between function qualifiers in generated Java code.
Minimum Steps to Reproduce
Put the following into Umple online:
class Test {
  public static void Main()
  {
  }
}

Look at the generated output. You'll see that there's an unnecessary space between static and void.

The reason I assigned these a "Med" tag is because fixing this issue will require modifying a lot of test files. I suggest that whoever ends up working on this issue does it via regex. Notepad++ has an excellent find/replace in files feature that accepts regex as the find and replace patterns.


Sync Master 1.9.1 with Dev

Align the commits of master with dev so they will be equal for a minute

@valentijnscholten Merge conflicts on the versions, but fixing would require to change them in dev on this pr, and then changing them right back to what they were immediately afterwards. Is this really worth it since to changes in master are already in dev?

We need the commits to be in sync. You can resolve the conflicts and set version to 1.10.0-dev and then merge without squashing. It will be an empty PR I think but it will prevent conflicts on the next release. The only reason this is happening is because the PRs where merged into dev instead of the hotfix branch.

This one is now also included in this PR, which is fine: https://github.com/DefectDojo/django-DefectDojo/pull/3119


Can pysynphot be useful as a dependency?

Some of the spectrum manipulation "wish list" items I saw on the sprint kick-off meeting are things that pysynphot can already do. For example, flux unit conversions, arithmetic, (some) statistics, etc. Instead of starting from scratch, we should look into whether pyfocal can somehow benefit from pysynphot.
http://ssb.stsci.edu/pysynphot/docs/

Since almost all objects in pyfocal are based on astropy objects, we should try and use astropy as much as possible, and then look an incorporating pysynphot when there's a clear lack of coverage.
For instance, astropy has unit conversions, nddata arithmetic (with associated NDUncertaity classes for how to perform arithmetic on uncertainty arrays that are variance/invariance/stddev/etc), also WCS arithmetic.
However, I know that astropy doesn't seem to be able to do any data resampling when, for instance, two spectra are different resolutions. So that might be a good place to include pysynphot.

Just keep in mind that pysynphot uses its own spectra object. Switching back and forth between astropy and pysynphot might be clunky. So, some thoughts are needed.

I don't think we should build in a dependency on pysynphot, given that there are no definite plans right now for refreshing it, and I have heard that it needs refreshing. However, we might be able to adopt the same approach (or approaches) for resampling.

There are good arguments both for and against.
pysynphot is definitely not going away soon and there is no point reimplementing what it can already do (and tested to give acceptable answers).

Here is a reply from Timothy Pickering about PySynphot usage in JWST ETC. See below.

We use pysynphot for the following things:

merging spectra with different wavelength sets onto a common wavelength set.
performing flux unit conversions.
bandpass normalizations.
spectra I/O that handles flux units.
parameterized SED models (e.g. phoenix).

There isn't much utility gained by switching to pysynphot at this time.


DOC add what's new page to give credit and document changes

Codecov Report

Merging #114 (9cee6f5) into master (33026eb) will increase coverage by 0.15%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##           master     #114      +/-   ##
==========================================
+ Coverage   74.87%   75.02%   +0.15%
==========================================
  Files          28       28
  Lines        1154     1157       +3
  Branches      172      175       +3
==========================================
+ Hits          864      868       +4
+ Misses        230      228       -2
- Partials       60       61       +1

This is a good idea! thanks @agramfort .
We have a CHANGE.md, I will integrate them in this page to avoid duplicates.

Thx a lot @agramfort ! Let's merge this so we can start using it :smile:


Build with IJ 223

Checklist

[x] I have filed an issue about this change and discussed potential changes with the maintainers.
[x] I have received the approval from the maintainers to make this change.
[x] This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more
details.
Discussion thread for this change
Issue number: #4037
Description of this change
Some remarks and explainations:

Added symlinks in sdkcompat/v223 layer where possible as:

it makes review easier (less code)
it is inline with our intention: we want to avoid differences where possible and track them efficiently

Removed unused (and incompatible with 2022.3) imports in ProjectViewDocumentationProvider.java
It's not possible to us "debug" button with current Bazel Plugin We need to merge and release #4051 . Nevertheless, it's still possible to build plugin from command line, and install in IntelliJ 2022.3 manually
PR based on #4007

I'm also not sure about the symlinks. I agree that duplicating files may not be the best way to support multiple versions, we can consider other alternatives and apply them in following PRs.

I think we will be ok with expanding the symlinks.


Access allowed by @Pattern when inverted

When a Pattern constraint is defined with invert = true and no subject is present, access to the resource is allowed.  It should be denied.

When the pattern type is EQUALITY or REGEX, this is now correctly handled.
When it's CUSTOM, the invert flag is can be accessed from context.args using the key ConfigKeys.PATTERN_INVERT.  If you want to allow access even if there is no subject, ignore the invert flag; otherwise, return the opposite of your normal result.
This boolean will then be re-inverted internally, meaning that if invert is true and deadboltHandler.getSubject returns an empty optional, you need to return true if you want to deny access to subjectless requests.  If invert is false and you want to deny access to subjectless requests, you need to return false.
For example, the checkPermission implemention of a DynamicResourceHandler could look something like this (based on test code from https://github.com/schaloner/deadbolt-2-java/blob/master/test-app/app/be/objectify/deadbolt/java/test/security/CompositeDynamicResourceHandler.java#L53)
@Override
public F.Promise<Boolean> checkPermission(final String permissionValue,
                                          final DeadboltHandler deadboltHandler,
                                          final Http.Context ctx)
{
    // this can be completely arbitrary, but to keep things simple for testing we're
    // just checking for zombies...just like I do every night before I go to bed
    return deadboltHandler.getSubject(ctx)
                          .map(option -> option.map(subject -> subject.getPermissions()
                                                                      .stream()
                                                                      .filter(perm -> perm.getValue().contains("zombie"))
                                                                      .count() > 0)
// if invert is true and there is no subject, returning true here will deny access because of internal re-inversion
                                               .orElseGet(() -> (Boolean) ctx.args.getOrDefault(ConfigKeys.PATTERN_INVERT,
                                                                                false)));
}


Fetch with HTTPS authentication?

how do I implement HTTPS authentication? I need to access a file under HTTPS and also authentication by token, is Fetch able to do that?
thanks
ps; adding user/pass on header or something similar

@moshlp you are able to pass this information as a header.


local-storage operator not deployed

When deploying ocs operator, local storage operator doesnt get properly deployed
the deployment for the local storage operator contains several mentions of image-registry.openshift-image-registry.svc:5000/ which prevent the deployment to succeed
editing the deployment to remove those elements makes the deployment succeed
Name:               local-storage-operator-759c56f6bf-jx8cs
Namespace:          openshift-storage
Priority:           0
PriorityClassName:  <none>
Node:               openshift-master-0.qe3.kni.lab.eng.bos.redhat.com/<IP_ADDRESS>
Start Time:         Sun, 08 Sep 2019 01:30:55 -0400
Labels:             name=local-storage-operator
                    pod-template-hash=759c56f6bf
Annotations:        alm-examples:
                      [
                        {
                          "apiVersion": "local.storage.openshift.io/v1",
                          "kind": "LocalVolume",
                          "metadata": {
                            "name": "example"
                          },
                          "spec": {
                            "storageClassDevices": [
                              {
                                "devicePaths": [
                                    "/dev/vde",
                                    "/dev/vdf"
                                ],
                                "fsType": "ext4",
                                "storageClassName": "foobar",
                                "volumeMode": "Filesystem"
                              }
                            ]
                          }
                        }
                      ]
                    capabilities: Full Lifecycle
                    categories: Storage
                    containerImage: quay.io/openshift/origin-local-storage-operator:4.2.0
                    createdAt: 2019-08-14T00:00:00Z
                    description: Configure and use local storage volumes in kubernetes and Openshift
                    olm.operatorGroup: openshift-storage-operatorgroup
                    olm.operatorNamespace: openshift-storage
                    olm.targetNamespaces: openshift-storage
                    openshift.io/scc: restricted
                    repository: https://github.com/openshift/local-storage-operator
                    support: Red Hat
Status:             Pending
IP:                 <IP_ADDRESS>
Controlled By:      ReplicaSet/local-storage-operator-759c56f6bf
Containers:
  local-storage-operator:
    Container ID:
    Image:         image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909061135
    Image ID:
    Port:          60000/TCP
    Host Port:     0/TCP
    Command:
      local-storage-operator
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:
      WATCH_NAMESPACE:    openshift-storage (v1:metadata.namespace)
      OPERATOR_NAME:      local-storage-operator
      PROVISIONER_IMAGE:  image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-static-provisioner:v4.2.0-201909020729
      DISKMAKER_IMAGE:    image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-diskmaker:v4.2.0-201909040619
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from local-storage-operator-token-r4vq2 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  local-storage-operator-token-r4vq2:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  local-storage-operator-token-r4vq2
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason   Age                     From                                                        Message
  ----     ------   ----                    ----                                                        -------
  Warning  Failed   24m (x8287 over 31h)    kubelet, openshift-master-0.qe3.kni.lab.eng.bos.redhat.com  Error: ImagePullBackOff
  Normal   BackOff  4m40s (x8376 over 31h)  kubelet, openshift-master-0.qe3.kni.lab.eng.bos.redhat.com  Back-off pulling image "image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909061135"

I am seeing the same issue on my environment(set up with install-scripts):
[cloud-user@rhhi-node-worker-0 ~]$ oc -n openshift-storage describe pods/local-storage-operator-5c64497db9-27428
Name:               local-storage-operator-5c64497db9-27428
Namespace:          openshift-storage
Priority:           0
PriorityClassName:  <none>
Node:               rhhi-node-master-2/<IP_ADDRESS>
Start Time:         Tue, 10 Sep 2019 16:36:35 +0000
Labels:             name=local-storage-operator
                    pod-template-hash=5c64497db9
Annotations:        alm-examples:
                      [
                        {
                          "apiVersion": "local.storage.openshift.io/v1",
                          "kind": "LocalVolume",
                          "metadata": {
                            "name": "example"
                          },
                          "spec": {
                            "storageClassDevices": [
                              {
                                "devicePaths": [
                                    "/dev/vde",
                                    "/dev/vdf"
                                ],
                                "fsType": "ext4",
                                "storageClassName": "foobar",
                                "volumeMode": "Filesystem"
                              }
                            ]
                          }
                        }
                      ]
                    capabilities: Full Lifecycle
                    categories: Storage
                    containerImage: quay.io/openshift/origin-local-storage-operator:4.2.0
                    createdAt: 2019-08-14T00:00:00Z
                    description: Configure and use local storage volumes in kubernetes and Openshift
                    olm.operatorGroup: openshift-storage-operatorgroup
                    olm.operatorNamespace: openshift-storage
                    olm.targetNamespaces: openshift-storage
                    openshift.io/scc: restricted
                    repository: https://github.com/openshift/local-storage-operator
                    support: Red Hat
Status:             Pending
IP:                 <IP_ADDRESS>
Controlled By:      ReplicaSet/local-storage-operator-5c64497db9
Containers:
  local-storage-operator:
    Container ID:
    Image:         image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909091819
    Image ID:
    Port:          60000/TCP
    Host Port:     0/TCP
    Command:
      local-storage-operator
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:
      WATCH_NAMESPACE:    openshift-storage (v1:metadata.namespace)
      OPERATOR_NAME:      local-storage-operator
      PROVISIONER_IMAGE:  image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-static-provisioner:v4.2.0-201909081401
      DISKMAKER_IMAGE:    image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-diskmaker:v4.2.0-201909091819
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from local-storage-operator-token-2vmlm (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  local-storage-operator-token-2vmlm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  local-storage-operator-token-2vmlm
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                     From                         Message
  ----     ------     ----                    ----                         -------
  Normal   Scheduled  9m44s                   default-scheduler            Successfully assigned openshift-storage/local-storage-operator-5c64497db9-27428 to rhhi-node-master-2
  Normal   Pulling    8m13s (x4 over 9m43s)   kubelet, rhhi-node-master-2  Pulling image "image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909091819"
  Warning  Failed     8m13s (x4 over 9m43s)   kubelet, rhhi-node-master-2  Failed to pull image "image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909091819": rpc error: code = Unknown desc = Error reading manifest v4.2.0-201909091819 in image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator: name unknown
  Warning  Failed     8m13s (x4 over 9m43s)   kubelet, rhhi-node-master-2  Error: ErrImagePull
  Warning  Failed     7m47s (x7 over 9m42s)   kubelet, rhhi-node-master-2  Error: ImagePullBackOff
  Normal   BackOff    4m41s (x20 over 9m42s)  kubelet, rhhi-node-master-2  Back-off pulling image "image-registry.openshift-image-registry.svc:5000/openshift/ose-local-storage-operator:v4.2.0-201909091819"

This is because local-storage-operator is not maintained by ocs-operator team. And, we are using their dev branch to unblock us. Looks like there has been changes recently.


[WIP] Admin page front end

This is a prototype of the page the admins will use to handle users. It doesn't have any functionality, just styled components.

There is quite some repetition/code reuse regarding page handling (first, prev, next, last page). Would it be possible to move these elements into a component and add this component to the different tables?

Yes, you're right, Michal has mention this as well. I'll re-write the redundant code into one customizable component.


Cranelift: vany_true for b64x2 produces an illegal instruction on aarch64

Hey!
Looks like vany_true is producing a wrong instruction for b64x2. It works for b8x16, b16x8 and b32x4.
.clif Test Case
function %vany_true_b64x2() -> b1 {
block0:
    v0 = vconst.b64x2 [false false]
    v1 = vany_true v0
    return v1
}
; run: %vany_true_b64x2() == false

Steps to Reproduce
clif-util test ./the-above.clif
Expected Results
The test to pass
Actual Results
Qemu crashes with an illegal instruction
     Running `qemu-aarch64 -L /usr/aarch64-linux-gnu -E LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib /mnt/c/Users/Afonso/CLionProjects/wasmtime/target/aarch64-unknown-linux-gnu/debug/clif-util test ./filetests/filetests/runtes
ts/simd-vanytrue.clif`
skipped ./filetests/filetests/runtests/simd-vanytrue.clif: host can't run X86_64 programs
skipped ./filetests/filetests/runtests/simd-vanytrue.clif: host can't run X86_64 programs
skipped ./filetests/filetests/runtests/simd-vanytrue.clif: host can't run X86_64 programs
qemu: uncaught target signal 4 (Illegal instruction) - core dumped
Illegal instruction

Versions and Environment
Cranelift version or commit: main
Operating system: linux
Architecture: aarch64
Extra Info
Disassembly:
PS C:\Users\Afonso\CLionProjects\wasmtime\cranelift> cargo run -- compile -D --target aarch64 .\filetests\filetests\runtests\simd-vanytrue.clif
    Finished dev [unoptimized + debuginfo] target(s) in 0.29s
     Running `C:\Users\Afonso\CLionProjects\wasmtime\target\debug\clif-util.exe compile -D --target aarch64 .\filetests\filetests\runtests\simd-vanytrue.clif`
.byte 0, 228, 0, 79, 0, 164, 224, 110, 0, 60, 8, 78, 31, 0, 0, 241, 224, 7, 159, 154, 192, 3, 95, 214

Disassembly of 24 bytes:
   0:   00 e4 00 4f             movi    v0.16b, #0
   4:   00 a4 e0 6e             .byte   0x00, 0xa4, 0xe0, 0x6e
   8:   00 3c 08 4e             mov     x0, v0.d[0]
   c:   1f 00 00 f1             cmp     x0, #0
  10:   e0 07 9f 9a             cset    x0, ne
  14:   c0 03 5f d6             ret

A test suite with vany_true tests is introduced as part of #3304

That's surprising -- thank you for this report! cc @akirilov-arm or @sparker-arm -- thoughts?

It is just an oversight - we have been relying on the WebAssembly tests, which cover only the I8X16 type (because the lane sizes do not matter actually - the operation is equivalent to checking if there is a non-zero bit anywhere in the vector). There is also a wart in the ISA - the vector pairwise instructions (which we use) do not support 64-bit elements consistently. Looking at the current implementation, the fix should be really simple (untested code):
let s = VectorSize::from_ty(ctx.input_ty(insn, 0));
let size = if s == VectorSize::Size64x2 {
  VectorSize::Size32x4
} else {
  s
};

(since vany_true is a polymorphic operation, I still prefer to have VectorSize::from_ty() detect any unexpected types such as vectors that are larger than 128 bits)


Github workflow for trigerring the csm release

Description
This PR includes the workflow for triggering the auto release of csm drivers and modules using repository dispatch event.
Issues
List the issues impacted by this PR:

Issue ID

https://github.com/dell/csm/issues/1490

Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Please share how the trigger job has been tested