Real-world benchmarks

Hi, thank you for the repository & data, it's very useful and quite unique. But there is one thing that can make these benchmarks even better.
What about to make some useful work inside a server method? Like:

make a 1k, 10k, 100k, 1M iterations of a loop (with a simple math by example)
allocate an array of 1k, 10k, 100k, 1M elements (of simple type as int or a heavy struct)
acquire a semaphore with 10, 100, 1000 tickets (similar to DB connection pool)
do a sleep for 10ms, 100ms, 1sec.
...

That will take time to implement for all implementations but the result will be more than just a benchmark of gRPC implementations. WDYT?
Thanks.

Hey, thanks for the kind words. While I agree that results from such benchmarks would be interesting, I don't think implementing them here will fly:

they would make benchmarks more complicated, less generic and harder to understand. Most likely, fewer people would be willing to contribute if each change required changes to each of those scenarios.
They would test some internals of the language itself, not the underlying gRPC library. While applicable on their own, it might be simpler to test them outside of any gRPC framework.
running all of such scenarios would require a lot of time. Even the current set of benchmarks, for up to 6 CPUs, IIRC takes > 12 hours to complete.
I am not able to invest much time in such a massive endeavour

That said, it might make sense to fork the repository and implement the changes you suggested.

Fair enough, thank you. Closing to not bother you.


Unable to browse docker microservice app in browser

Unable to browse the application as guided in the following microsoft website @ http://localhost:3000/
https://dotnet.microsoft.com/learn/aspnet/microservice-tutorial/run-docker
Operating System: windows 7
I have also attached the project.
myMicroservice.zip
Please find the attached screenshots for more details:-

I fixed this issue so closing it.


Agent Input / Output / Logging docs

Agent Input / Output / Logging docs are partial with several TODO statements that need completing.

Will be resolved by #75


Bad log lines in test_pageserver_max_throughput_getpage_at_latest_lsn

Seen in: https://neon-github-public-dev.s3.amazonaws.com/reports/pr-6917/8054789794/index.html
2024-02-26T20:59:28.762188Z ERROR page_service_conn_main{peer_addr=<IP_ADDRESS>:52078}: query handler for 'pagestream 395d957dd5fb678ff640dfcccccc520c 819b20ff8d01a7b1308ae4a3e48f1935' failed: unexpected message: CopyFail during COPY

This seems to happen for the last few requests, so there's an issue with pagebench waiting for the outstanding requests.

Pagebench uses the 'proper' API including CopyFail, which causes this to happen whereas it doesn't with ordinary postgres.

Client intends to hang up instead of sending copyfail, but looks like that isn't always happening.

@problame do we still have a benchmark disabled because of this issue?

No, it was disabled because of https://github.com/neondatabase/neon/issues/6724 which has been fixed since.
If we want the benchmark running again, I can take the same approach as Vlad did in
https://github.com/neondatabase/neon/blob/270d3be507643f068120b52838c497f6c1b45b61/test_runner/regress/test_pageserver_getpage_throttle.py#L17-L20
for this benchmark, then we can forget about this issue.
Alternatively (preferedly!), we could decide to invest time fixing this warning.
I still don't understand why it's happening.
Here's what the page_service client used by pagebench currently does (the comment gives context)
https://github.com/neondatabase/neon/blob/9a9d9beaeef393aa3ad8ba5b7700adfaab857126/pageserver/client/src/page_service.rs#L111-L137

See https://github.com/neondatabase/neon/pull/8023
Trying alternative 1 mentioned above:
If we want the benchmark running again, I can take the same approach as Vlad did in
neon/test_runner/regress/test_pageserver_getpage_throttle.py
Lines 17 to 20 in 270d3be
env.pageserver.allowed_errors.append(
# https://github.com/neondatabase/neon/issues/6925
r".*query handler for.*pagestream.failed: unexpected message: CopyFail during COPY."
)
for this benchmark, then we can forget about this issue.

Let's close this issue then?


upgrade_cni_plugin upgrades symlinks which are already in the correct form

What you expected to happen?
What happened?
The weave script function "upgrade_cni_plugin" will attempt to upgrade symlinks even if they exist already in the correct form due to buggy use of readlink: https://github.com/weaveworks/weave/blob/master/weave#L710 and https://github.com/weaveworks/weave/blob/master/weave#L713.
The comparison should probably be something like
    if [ "$(readlink -f $1/weave-net)" != "$1/$CNI_PLUGIN_NAME" ]; then

because readlink will return an absolute path e.g. /host/opt/cni/bin/$CNI_PLUGIN_NAME.
I think this would go unnoticed if /opt/cni/bin has write permissions (most use cases, probably). I have a read-only root-filesystem with all the moving parts of weave pre-installed. I run "kubectl apply..." to setup weave. Fails due to script "weave" attempting to update the symlinks weave-ipam etc although they already exist.
How to reproduce it?
The problem lies with how "readlink" is used in upgrade_cni_plugin. Here's a minimal example with the relevant functions copied into a test script:
test.sh
#!/bin/sh
set -ex

upgrade_cni_plugin_symlink() {
    # Remove potential temporary symlink from previous failed upgrade:
    rm -f $1/$2.tmp
    # Atomically create a symlink to the plugin:
    ln -s "$CNI_PLUGIN_NAME" $1/$2.tmp && mv -f $1/$2.tmp $1/$2
}

upgrade_cni_plugin() {
    # Check if weave-net and weave-ipam are (legacy) copies of the plugin, and
    # if so remove these so symlinks can be used instead from now onwards.
    if [ -f $1/weave-net  -a ! -L $1/weave-net  ];  then rm $1/weave-net;   fi
    if [ -f $1/weave-ipam -a ! -L $1/weave-ipam ];  then rm $1/weave-ipam;  fi

    # Create two symlinks to the plugin, as it has different
    # behaviour depending on its name:
    if [ "$(readlink -f $1/weave-net)" != "$CNI_PLUGIN_NAME" ]; then
        upgrade_cni_plugin_symlink $1 weave-net
    fi
    if [ "$(readlink -f $1/weave-ipam)" != "$CNI_PLUGIN_NAME" ]; then
        upgrade_cni_plugin_symlink $1 weave-ipam
    fi
}

CNI_PLUGIN_NAME=foo
upgrade_cni_plugin /tmp

$ . test.sh
+ . test.sh
++ set -ex
++ CNI_PLUGIN_NAME=foo
++ upgrade_cni_plugin /tmp
++ '[' -f /tmp/weave-net -a '!' -L /tmp/weave-net ']'
++ '[' -f /tmp/weave-ipam -a '!' -L /tmp/weave-ipam ']'
+++ readlink -f /tmp/weave-net
++ '[' /tmp/foo '!=' foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-net
++ rm -f /tmp/weave-net.tmp
++ ln -s foo /tmp/weave-net.tmp
++ mv -f /tmp/weave-net.tmp /tmp/weave-net
+++ readlink -f /tmp/weave-ipam
++ '[' /tmp/foo '!=' foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-ipam
++ rm -f /tmp/weave-ipam.tmp
++ ln -s foo /tmp/weave-ipam.tmp
++ mv -f /tmp/weave-ipam.tmp /tmp/weave-ipam

Symlinks are created at /tmp/weave-ipam and /tmp/weave-net, as expected. Run the script again:
$ . test.sh
+ . test.sh
++ set -ex
++ CNI_PLUGIN_NAME=foo
++ upgrade_cni_plugin /tmp
++ '[' -f /tmp/weave-net -a '!' -L /tmp/weave-net ']'
++ '[' -f /tmp/weave-ipam -a '!' -L /tmp/weave-ipam ']'
+++ readlink -f /tmp/weave-net
++ '[' /tmp/foo '!=' foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-net
++ rm -f /tmp/weave-net.tmp
++ ln -s foo /tmp/weave-net.tmp
++ mv -f /tmp/weave-net.tmp /tmp/weave-net
+++ readlink -f /tmp/weave-ipam
++ '[' /tmp/foo '!=' foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-ipam
++ rm -f /tmp/weave-ipam.tmp
++ ln -s foo /tmp/weave-ipam.tmp
++ mv -f /tmp/weave-ipam.tmp /tmp/weave-ipam

The symlinks are recreated erroneously. With a slight modification, things behave better:
@@ -16,10 +16,10 @@

     # Create two symlinks to the plugin, as it has different
     # behaviour depending on its name:
-    if [ "$(readlink -f $1/weave-net)" != "$CNI_PLUGIN_NAME" ]; then
+    if [ "$(readlink -f $1/weave-net)" != "$1/$CNI_PLUGIN_NAME" ]; then
         upgrade_cni_plugin_symlink $1 weave-net
     fi
-    if [ "$(readlink -f $1/weave-ipam)" != "$CNI_PLUGIN_NAME" ]; then
+    if [ "$(readlink -f $1/weave-ipam)" != "$1/$CNI_PLUGIN_NAME" ]; then
         upgrade_cni_plugin_symlink $1 weave-ipam
     fi
 }

Running the script:
$ rm /tmp/weave-*
$ . test.sh
++ CNI_PLUGIN_NAME=foo
++ upgrade_cni_plugin /tmp
++ '[' -f /tmp/weave-net -a '!' -L /tmp/weave-net ']'
++ '[' -f /tmp/weave-ipam -a '!' -L /tmp/weave-ipam ']'
+++ readlink -f /tmp/weave-net
++ '[' /tmp/weave-net '!=' /tmp/foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-net
++ rm -f /tmp/weave-net.tmp
++ ln -s foo /tmp/weave-net.tmp
++ mv -f /tmp/weave-net.tmp /tmp/weave-net
+++ readlink -f /tmp/weave-ipam
++ '[' /tmp/weave-ipam '!=' /tmp/foo ']'
++ upgrade_cni_plugin_symlink /tmp weave-ipam
++ rm -f /tmp/weave-ipam.tmp
++ ln -s foo /tmp/weave-ipam.tmp
++ mv -f /tmp/weave-ipam.tmp /tmp/weave-ipam

Symlinks created as expected. Run again:
$ . test.sh
+ . test.sh
++ set -ex
++ CNI_PLUGIN_NAME=foo
++ upgrade_cni_plugin /tmp
++ '[' -f /tmp/weave-net -a '!' -L /tmp/weave-net ']'
++ '[' -f /tmp/weave-ipam -a '!' -L /tmp/weave-ipam ']'
+++ readlink -f /tmp/weave-net
++ '[' /tmp/foo '!=' /tmp/foo ']'
+++ readlink -f /tmp/weave-ipam
++ '[' /tmp/foo '!=' /tmp/foo ']'

Symlinks are detected correctly.
Anything else we need to know?

Versions:

Latest
Logs:
n/a
Network:
n/a

@stevenjohnstone Thanks for the detailed issue! Mind creating a PR?


Fix #101: Remove SimpleType

SimpleType has been removed from sbt and a test has been added to show that projection on structure are correctly invalidated by sbt now.

Hi @zehkae,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla

@dwijnand This is not a breaking change because this API never got exposed to the public that I know of, it's internal to the compiler bridge.

I made the change you asked for by amending the last commit.
I'm not yet used to GitHub's Pull Request, so please tell me if it was incorrect to use --amend.
I ran the benchmark on my laptop as follows:
systemctl stop ondemand.service
cpupower frequency-set --min 1.5GHz
cpupower frequency-set --max 1.5GHz
cpupower frequency-set --governor performance
sbt runBenchmarks

The results are here.
Also, since your bot asked me to tell: I signed the CLA :smiley:

@zehkae Thanks! Can you run it before and after the benchmark? We need to compare if something has changed and I cannot do it because the environment won't be the same :wink:.

I agree that it's not a breaking change to the public Zinc API, but note that the API info does get persisted into gzip file, and is extracted by sbt to do things like test detection.

@jvican you're right. I've become so hyper-sensitive to breaking changes that I hadn't realised this wasn't public API.

@jvican Here are the benchmarks before the patch, and here are the results after.

@zehkae This change has an unexpected change in performance. You've run the benchmarks at different times (since you've reused the benchmark of after from yesterday). I'll run this on my computer and see how it affects it.

Hey @zehkae, I'm benchmarking this PR today, will report you results soon :wink:.

What's the status on this PR? Are we still waiting on some improvements?

I was doing benchmarks but this slipped through the cracks. I'll post results today.

Sorry for the slowliness in this PR @zehkae, but there's something that is not right. The measurements in my machine after this patch have too much fluctuation and show an increase in running time similar to the one you reported. I'll try to pin threads to get more predictable results and identify whether this decrease is real and why happens.
In the meanwhile, can you run benchmarks again? Use the Scala standard library and repeat the steps to set cpu frequency and governor. Make sure that you are not running any other processes while you benchmark and that they run exactly one after the other.

I have pushed two commits: one that reorders the statements (so that you don't have to do it) and the other one that adds Java Thread Affinity for the benchmarks. Please, update your master and try running the benchmarks again with JTA enabled. Make sure that JNA (Java Native Access) is installed in your computer first.
In the meanwhile, I'll run them, but please run them again. I'm curious to see the results.

Oh, and by the way, don't forget to cherry-pick the JTA commit whenever you want to test the results before this patch.

@jvican I think you're too stringent. You shouldn't require external contributors to run benchmarks for hours on their computer without being able to do anything else. Furthermore, the benchmark results posted so far show that the difference is within the margin of error so I don't see what you hope to learn here. There are way too many factors at play here to be able to understand microscopic difference. If you want good benchmarking results, I suggest that you setup a CI that reports results for each merged PR and shows a nice graph like http://arewefastyet.com/, this will provide much better information than benchmarks run on contributors' machines.

This is a pretty intrusive change in Zinc. I think I'm not being too stringent. This software is going to be used in production real soon, so I don't want any performance regression to happen, and even less in a PR that only addresses an issue of correctness, it does not add anything to the current status of Zinc. I'm not happy to sacrifice 700 ms with a duplicated margin error.
Benchmarks in CI are even less reliable than running them in a computer, especifically if you have no control over the machines and they run in containers, which is usually the case. This is not a possibility.
The contributing guide clearly states that any change touching the core logic of the incremental compiler has to gone through benchmarks. For you, this may be uninteresting or unnecessary, since you develop and maintain your own bridge which is not in production. For me, as now maintainer of Zinc, it's pretty serious.
The fact that I want to get predictable benchmarking results and get things right should not hinder a more in-depth analysis on the consequences of this PR.
It's true that the author of this PR should perhaps not be involved in it. So I'll take care of this from now on. But I'm swamped in work, so this may delays some days more.

Has anyone done any profiling of zinc at all, using VisualVM or YourKit Profiler? I suspect the time you'll find much more improvement to be made from figuring out what to optimize based on profiling rather than relying on macro benchmarks results.

Has anyone done any profiling of zinc at all, using VisualVM or YourKit Profiler? I suspect the time you'll find much more improvement to be made from figuring out what to optimize based on profiling rather than relying on macro benchmarks results.

Yes, I have, and it's not easy, particularly because scalac results intermingle with Zinc's. I think we need to improve our benchmarking suite and find out a way to attach Yourkit hooks in the beginning of the phases. But this requires time and it's not a priority for me now.

@smarter my recent speedups was all based on Yourkit output. Baenchmarks are good to find any big breaks (but situation can be improved if our benchmarks produce times for zinc related phases alongside with full time).
@jvican I usually profile whole build and later on narrow down (in YourKit 'focus on method') scope to given phase.

I ran the benchmarks again following your indications, here are the results:
benchmarks-before.txt
benchmarks-after.txt
Sorry for not responding earlier, but I can only run the benchmarks overnight when I don't need my laptop.

I'll get back to this one soon.

I've run benchmarks on my machine because @zehkae's results were suspiciously unreasonable. I don't know how the results were showing such a negative performance impact of this change.
BEFORE:
[info] # Run complete. Total time: 00:25:57
[info]
[info] Benchmark                                                           (_tempDir)    Mode  Cnt           Score            Error   Units
[info] HotScalacBenchmark.compile                                    /tmp/sbt_919ba19  sample   18       20721.726 ±        665.170   ms/op
[info] HotScalacBenchmark.compile:compile·p0.00                      /tmp/sbt_919ba19  sample            19528.679                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.50                      /tmp/sbt_919ba19  sample            20854.079                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.90                      /tmp/sbt_919ba19  sample            21635.898                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.95                      /tmp/sbt_919ba19  sample            21877.490                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.99                      /tmp/sbt_919ba19  sample            21877.490                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.999                     /tmp/sbt_919ba19  sample            21877.490                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.9999                    /tmp/sbt_919ba19  sample            21877.490                    ms/op
[info] HotScalacBenchmark.compile:compile·p1.00                      /tmp/sbt_919ba19  sample            21877.490                    ms/op
[info] HotScalacBenchmark.compile:·gc.alloc.rate                     /tmp/sbt_919ba19  sample   18         291.385 ±         10.283  MB/sec
[info] HotScalacBenchmark.compile:·gc.alloc.rate.norm                /tmp/sbt_919ba19  sample   18<PHONE_NUMBER>.556 ±   38074179.544    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Eden_Space            /tmp/sbt_919ba19  sample   18         288.506 ±         23.916  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm       /tmp/sbt_919ba19  sample   18<PHONE_NUMBER>.333 ±  537833505.454    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Old_Gen               /tmp/sbt_919ba19  sample   18          13.500 ±         13.043  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Old_Gen.norm          /tmp/sbt_919ba19  sample   18   307806890.667 ±  297145775.885    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Survivor_Space        /tmp/sbt_919ba19  sample   18           6.972 ±          2.564  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm   /tmp/sbt_919ba19  sample   18   156339664.444 ±   59747847.126    B/op
[info] HotScalacBenchmark.compile:·gc.count                          /tmp/sbt_919ba19  sample   18         102.000                   counts
[info] HotScalacBenchmark.compile:·gc.time                           /tmp/sbt_919ba19  sample   18       22066.000                       ms
[info] WarmScalacBenchmark.compile                                   /tmp/sbt_919ba19  sample    3       53284.438 ±      39804.378   ms/op
[info] WarmScalacBenchmark.compile:compile·p0.00                     /tmp/sbt_919ba19  sample            51069.846                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.50                     /tmp/sbt_919ba19  sample            53351.547                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.90                     /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.95                     /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.99                     /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.999                    /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.9999                   /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:compile·p1.00                     /tmp/sbt_919ba19  sample            55431.922                    ms/op
[info] WarmScalacBenchmark.compile:·gc.alloc.rate                    /tmp/sbt_919ba19  sample    3         123.283 ±         99.933  MB/sec
[info] WarmScalacBenchmark.compile:·gc.alloc.rate.norm               /tmp/sbt_919ba19  sample    3<PHONE_NUMBER>.000 ±  565872164.065    B/op
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Eden_Space           /tmp/sbt_919ba19  sample    3         116.214 ±         71.571  MB/sec
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm      /tmp/sbt_919ba19  sample    3<PHONE_NUMBER>.333 ±<PHONE_NUMBER>.767    B/op
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Survivor_Space       /tmp/sbt_919ba19  sample    3           2.445 ±          4.584  MB/sec
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm  /tmp/sbt_919ba19  sample    3   138730165.333 ±  166744646.238    B/op
[info] WarmScalacBenchmark.compile:·gc.count                         /tmp/sbt_919ba19  sample    3          75.000                   counts
[info] WarmScalacBenchmark.compile:·gc.time                          /tmp/sbt_919ba19  sample    3        8668.000                       ms
[info] ColdScalacBenchmark.compile                                   /tmp/sbt_919ba19      ss   10       44980.828 ±       1047.047   ms/op
[info] ColdScalacBenchmark.compile:·gc.alloc.rate                    /tmp/sbt_919ba19      ss   10         149.075 ±          3.742  MB/sec
[info] ColdScalacBenchmark.compile:·gc.alloc.rate.norm               /tmp/sbt_919ba19      ss   10<PHONE_NUMBER>.000 ±   94085063.199    B/op
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Eden_Space           /tmp/sbt_919ba19      ss   10         140.662 ±          6.393  MB/sec
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm      /tmp/sbt_919ba19      ss   10<PHONE_NUMBER>.200 ±  314960053.291    B/op
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Old_Gen              /tmp/sbt_919ba19      ss   10           0.002 ±          0.008  MB/sec
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Old_Gen.norm         /tmp/sbt_919ba19      ss   10      109006.400 ±     368292.066    B/op
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Survivor_Space       /tmp/sbt_919ba19      ss   10           2.996 ±          0.345  MB/sec
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm  /tmp/sbt_919ba19      ss   10   144192171.200 ±   16592896.254    B/op
[info] ColdScalacBenchmark.compile:·gc.count                         /tmp/sbt_919ba19      ss   10         252.000                   counts
[info] ColdScalacBenchmark.compile:·gc.time                          /tmp/sbt_919ba19      ss   10       29289.000                       ms
[success] Total time: 1559 s, completed Apr 4, 2017 1:41:00 PM
[success] Total time: 0 s, completed Apr 4, 2017 1:41:00 PM

AFTER:
[info] # Run complete. Total time: 00:25:59
[info]
[info] Benchmark                                                            (_tempDir)    Mode  Cnt           Score            Error   Units
[info] HotScalacBenchmark.compile                                    /tmp/sbt_1eb81994  sample   18       21021.852 ±        584.833   ms/op
[info] HotScalacBenchmark.compile:compile·p0.00                      /tmp/sbt_1eb81994  sample            19964.887                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.50                      /tmp/sbt_1eb81994  sample            21189.624                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.90                      /tmp/sbt_1eb81994  sample            21917.755                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.95                      /tmp/sbt_1eb81994  sample            21978.153                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.99                      /tmp/sbt_1eb81994  sample            21978.153                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.999                     /tmp/sbt_1eb81994  sample            21978.153                    ms/op
[info] HotScalacBenchmark.compile:compile·p0.9999                    /tmp/sbt_1eb81994  sample            21978.153                    ms/op
[info] HotScalacBenchmark.compile:compile·p1.00                      /tmp/sbt_1eb81994  sample            21978.153                    ms/op
[info] HotScalacBenchmark.compile:·gc.alloc.rate                     /tmp/sbt_1eb81994  sample   18         287.482 ±          8.089  MB/sec
[info] HotScalacBenchmark.compile:·gc.alloc.rate.norm                /tmp/sbt_1eb81994  sample   18<PHONE_NUMBER>.333 ±   37767637.669    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Eden_Space            /tmp/sbt_1eb81994  sample   18         291.150 ±         22.934  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm       /tmp/sbt_1eb81994  sample   18<PHONE_NUMBER>.000 ±  474416737.126    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Old_Gen               /tmp/sbt_1eb81994  sample   18          15.226 ±         12.359  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Old_Gen.norm          /tmp/sbt_1eb81994  sample   18   349794773.778 ±  282991988.622    B/op
[info] HotScalacBenchmark.compile:·gc.churn.PS_Survivor_Space        /tmp/sbt_1eb81994  sample   18           7.021 ±          2.916  MB/sec
[info] HotScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm   /tmp/sbt_1eb81994  sample   18   159634081.778 ±   68370763.968    B/op
[info] HotScalacBenchmark.compile:·gc.count                          /tmp/sbt_1eb81994  sample   18         106.000                   counts
[info] HotScalacBenchmark.compile:·gc.time                           /tmp/sbt_1eb81994  sample   18       23959.000                       ms
[info] WarmScalacBenchmark.compile                                   /tmp/sbt_1eb81994  sample    3       53105.481 ±       8333.743   ms/op
[info] WarmScalacBenchmark.compile:compile·p0.00                     /tmp/sbt_1eb81994  sample            52747.567                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.50                     /tmp/sbt_1eb81994  sample            52948.894                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.90                     /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.95                     /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.99                     /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.999                    /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:compile·p0.9999                   /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:compile·p1.00                     /tmp/sbt_1eb81994  sample            53619.982                    ms/op
[info] WarmScalacBenchmark.compile:·gc.alloc.rate                    /tmp/sbt_1eb81994  sample    3         123.700 ±         21.462  MB/sec
[info] WarmScalacBenchmark.compile:·gc.alloc.rate.norm               /tmp/sbt_1eb81994  sample    3<PHONE_NUMBER>.333 ±  296877411.797    B/op
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Eden_Space           /tmp/sbt_1eb81994  sample    3         113.270 ±         69.536  MB/sec
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm      /tmp/sbt_1eb81994  sample    3<PHONE_NUMBER>.667 ±<PHONE_NUMBER>.066    B/op
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Survivor_Space       /tmp/sbt_1eb81994  sample    3           2.648 ±          2.103  MB/sec
[info] WarmScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm  /tmp/sbt_1eb81994  sample    3   150189434.667 ±  104657211.705    B/op
[info] WarmScalacBenchmark.compile:·gc.count                         /tmp/sbt_1eb81994  sample    3          76.000                   counts
[info] WarmScalacBenchmark.compile:·gc.time                          /tmp/sbt_1eb81994  sample    3        9262.000                       ms
[info] ColdScalacBenchmark.compile                                   /tmp/sbt_1eb81994      ss   10       44784.657 ±        967.608   ms/op
[info] ColdScalacBenchmark.compile:·gc.alloc.rate                    /tmp/sbt_1eb81994      ss   10         149.636 ±          3.113  MB/sec
[info] ColdScalacBenchmark.compile:·gc.alloc.rate.norm               /tmp/sbt_1eb81994      ss   10<PHONE_NUMBER>.400 ±   71999309.520    B/op
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Eden_Space           /tmp/sbt_1eb81994      ss   10         139.034 ±          8.819  MB/sec
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Eden_Space.norm      /tmp/sbt_1eb81994      ss   10<PHONE_NUMBER>.800 ±  393275917.747    B/op
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Survivor_Space       /tmp/sbt_1eb81994      ss   10           3.095 ±          0.893  MB/sec
[info] ColdScalacBenchmark.compile:·gc.churn.PS_Survivor_Space.norm  /tmp/sbt_1eb81994      ss   10   148218612.000 ±   41195067.353    B/op
[info] ColdScalacBenchmark.compile:·gc.count                         /tmp/sbt_1eb81994      ss   10         250.000                   counts
[info] ColdScalacBenchmark.compile:·gc.time                          /tmp/sbt_1eb81994      ss   10       28821.000                       ms

The results look much better! :smile:.
In short, this PR introduces a slowdown of 100ms while hot, while decreasing the margin error for 80ms for the average case. While warm, this PR is faster by almost 2 seconds (and margin error is dramatically decreased for the average case). Lastly, while cold this PR brings 200ms improvement. There are almost no difference in memory consumption.
After all, this PR does not seem to affect negatively the performance of Zinc. Given my results, I feel pretty confident merging this.
Thank you for all your work @zekhae. @smarter Hope this also helps you on the Dotty side.


Fix bug when finding version by specified version name

Changes

Fix bug when finding version by specified version name.

Add unit test for version.go.

@leonwanghui thanks for your suggestion, it's has been modified.


Opt-out of lower-casing

Thanks for such great library!
Would be great to have ability to keep original letter case.
For example this string The-NetApp-Guide-to-Kubernetes is converted to boring The net app guide to kubernetes

If anyone wants to work on this, see the initial attempt and feedback in https://github.com/sindresorhus/humanize-string/pull/16.


Minor swagger annotation cleanup

Wrong usage of swagger ApiOperation "produces". See http://docs.swagger.io/swagger-core/v1.5.X/apidocs/index.html?io/swagger/annotations/ApiOperation.html
It should automatically inherits the value of the @Produces annotation

Codecov Report

Merging #921 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #921      +/-   ##
============================================
+ Coverage     99.36%   99.42%   +0.06%
  Complexity     2097     2097
============================================
  Files           319      319
  Lines          5792     5788       -4
  Branches        310      306       -4
============================================
  Hits           5755     5755
  Misses            5        5
+ Partials         32       28       -4

Impacted Files
Coverage Δ
Complexity Δ

...va/com/quorum/tessera/q2t/TransactionResource.java
100% <ø> (ø)
17 <0> (ø)
:arrow_down:

...java/com/quorum/tessera/p2p/PartyInfoResource.java
100% <ø> (ø)
15 <0> (ø)
:arrow_down:

...rum/tessera/thirdparty/RawTransactionResource.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

...com/quorum/tessera/api/common/UpCheckResource.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

...com/quorum/tessera/api/common/VersionResource.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

.../tessera/admin/cli/subcommands/AddPeerCommand.java
100% <0%> (+2.63%)
11% <0%> (ø)
:arrow_down:

.../quorum/tessera/sync/SyncResponseMessageCodec.java
100% <0%> (+3.22%)
5% <0%> (ø)
:arrow_down:

...ain/java/com/quorum/tessera/p2p/RestP2pClient.java
100% <0%> (+6.89%)
9% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Keep track of messages we created a notification for

Once those messages have been read or deleted (using another client) we can remove the notification.
Keeping track of those messages also allows us to recreate notifications after a reboot or app crash.

This has been implemented.


No handler for double click on  vscode.TreeItem

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.88.0
OS Version: windows 11

Steps to Reproduce:
I need to handle double click on vscode.TreeItem but i did not find any.
I need separte handler for single click and double click
I have followed sample - https://github.com/microsoft/vscode-extension-samples/blob/main/tree-view-sample/src/testViewDragAndDrop.ts
Could anyone please let me know how to handle double click on vscode.TreeItem?

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

A slightly hacky solution but you can have a listener and if a command is executed twice within X milliseconds it can count as a double click.
clearTimeout(timer)
timer = setTimeout(() => {
    clickedNode = undefined
}, DELAY)

if(clickedNode.id === node.id) {
    // Handle double click
} else {
    // Handle single click
}

clickedNode = node

This solution will always execute a single click before a double click though, if that's undesirable then you might need to wait the delay amount before applying the single click, making sure that the node was not clicked again during that time (or a different node was clicked).
It's sad that some commands had special support like vscode.open instead of having a single and double handlers...

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Configure Pod/Node affinity

Some workloads have significant CPU and/or memory requirements. We want to set those pods to run away from each other so that they don't compete for resources. We can also set rules to separate like pods in order to increase our fault tolerance when a node fails.

Issue is no longer valid as we are now 3rd party hosted


aggregate_temporal(_period): handling of empty intervals

Fixes #263
Could potentially be part of 1.1.0.

Thanks, maybe to be extra clear, we can also expand this sentence:

For each interval, all data along the dimension will be passed through the reducer.

to

For each interval, all data along the dimension will be passed through the reducer, or an empty array if the interval is empty.

For each interval, all data along the dimension will be passed through the reducer.

@jdries I think you looked at the original version, not the new proposal. At least this sentence is not in the proposal.


How is this project going?

Hey guys,
is there any news regarding this plugin? Any demo site?
Regards, Felipe

Hi @felipeolcav -- this plugin isn't really maintained any longer, although if you'd like to ask @Schamper, he may be willing to bring it up to compatibility 😄

If there's demand for compatibility, I could take a look at what needs to be done to get it up and running on the latest NodeBB.


Normalize hostname and username capitalization; for example whoami output is all lowercase even if hostname and username are not

Normalize hostname and username capitalization; for example whoami output is all lowercase even if hostname and username are not
Applies to both DirectoryEntries and $FolderTargets

Done  - whoami
Done - DirectoryEntry - NetBIOS - handled via a -replace on the Caption in Resolve-IdentityReference
ToDo - DirectoryEntry - DNS - probably will be handled via Resolve-IdentityReference
Done - FolderTargets (local drive) - NetBIOS - handled via Get-FolderTarget
ToDo - FolderTargets (network drive) - NetBIOS - probably will be handled via Get-FolderTarget
ToDo - FolderTargets (local drive) - DNS- probably will be handled via Get-FolderTarget
ToDo - FolderTargets (network drive) - DNS - probably will be handled via Get-FolderTarget
ToDo - Get-FolderTarget properly implement $ThisHostname param


Image Background Color

I love this component but I would like to be able to set a background color for the modal. I have a large library of png images with a transparent background. These look fine on the white background on the page in their small version but when enlarged show a transparent background that is visually unappealing. Any suggestions?

@millportmedia I've made two additions to make transparent png images look nicer:

The background color of the images is black by default.
If black is not suitable for your images you can change it to something else with a new prop called imageBackgroundColor

The commit is here https://github.com/aautio/react-modal-image/commit/2638f40aa2472ab5fc1a48af629d0dfe2f0c9272
I've planned to update the demo site and NPM package to be updated later today.
Would this look like something that would work for you?

Version 2.4.0 was just been published to NPM. See the demo site with the second last image for a demo of the new background image property: https://aautio.github.io/react-modal-image/


MythBServerInfoLOCAL not make any effect on server

all script running without error, but i think MythBServerInfoLOCAL.py not make any effect

how to make like this?

Use this script as game mod(add to playlist)

great.
thankyou


[discussion] Improve the documentation and processes for contributing code.

Hi everyone. After dealing with some small tasks, I realized there are some areas where the project’s code contribution guidelines could be improved. Specifically:

Establishing a consistent code style (and providing a code style file).
Providing a brief yet accurate introduction for each component.
Including configuration details necessary to run the source code.
Other relevant details.

I’ve wasted some time during development due to the first-three issues. I think adding these elements could make the project more appealing to other developers and encourage open-source contributions.

If possible, I’m more than willing to take on this responsibility. I’ll also continuously collaborate with the relevant project leaders to create the most effective documentation for the project’s open-source contribution guidelines.
Feel free to assign it to me anytime.@wtt40122 @gaoxh @wodiwudi


Fix rolling update for StatefulSet integration

What type of PR is this?
/kind bug

What this PR does / why we need it:
Fix rolling update for StatefulSet integration
Which issue(s) this PR fixes:

Fixes #3690
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Fixed rolling update for StatefulSet integration

/hold for #3686

/unhold

LGTM, just nits from me. I think we could consider a dedicated KEP for serving workloads, where we could mention the new annotation (and the fast-admission annotation added before), but I wouldn't like to block the PR on it before 0.10, as this is an important fix.
cc @tenzen-y

I synced with @mbobrovskyi and he will create a KEP for serving workloads - starting from the StatefulSet support. We will then extend the KEP with LeaderWorkerSet when we have a prototype. But I think it would be great to merge this for 0.10 anyway.

/assign @tenzen-y

/lgtm
/hold
for the approval of the KEP update https://github.com/kubernetes-sigs/kueue/pull/3692
cc @tenzen-y

/approve
/hold cancel
Moving forward along with the KEP update, see also: https://github.com/kubernetes-sigs/kueue/pull/3692#issuecomment-2517332000


Update handled unhandled for Unity

Adds a handledState param to the notify method, which by default will be a handledException.

This is fine though I think this should go into a separate unity branch rather than making it publicly accessible. Otherwise, I think there needs to be some validation here that the fourth parameter is a handled state.

I'm going to close this off for now. Let's look into it with the new notifier architecture soon ;)


How is SelectWinningAd called?

The SellerFrontEnd service exposes the SelectWinningAd API. The client can send an RPC or HTTPS to the SellerFrontEnd service.  We are still working on the client design and will share more details in the future.


add a focus tab or feature

Add a tab (or feature in img2img) that allows you to zoom and crop and run img2img on a smaller selection within the image, then blend it back into the original.

Partially implemented in #397 for inpaint


DO NOT MERGE: Dynamic Lists, Purchase Orders, read/write and nested resources, v-1

Moved the existing Model to be SearchModel to indicate that the underlying model is based on search (elastic search in the app)
Added SimpleModel to indicate the underlying model is based on ActiveRecord (so no facets, etc).
Added NestedSimpleModel for simple models that are nested under other SimpleModels
Changed execute to execute_get and added an execute_post to facilitate some write requests (previously it was read only).
Added List and ListItem models to support DynamicLists in the app. Includes the ability to create lists and update list items (if the user has the appropriate feature flag).
Added PurchaseOrder to add support for POs in the app.

Closing without merging


默认的参考文献格式好像不是apa

使用biblatex和biber
reference.bib:
@article{irnich_path-reduced_2010,
	title = {Path-Reduced Costs for Eliminating Arcs in Routing and Scheduling},
	volume = {22},
	issn = {1091-9856},
	url = {https://pubsonline.informs.org/doi/10.1287/ijoc.1090.0341},
	doi = {10.1287/ijoc.1090.0341},
	abstract = {In many branch-and-price algorithms, the column generation pricing problem consists of computing feasible paths in a network. In this paper, we show how, in this context, path-reduced costs can be used to remove some arcs from the underlying network without compromising optimality, and we introduce a bidirectional search technique to compute these reduced costs. This arc elimination method can lead to a substantial speedup of the pricing process and the overall branch-and-price algorithm. Special attention is given to variants of shortest-path problems with resource constraints. Computational results obtained for the vehicle routing problem with time windows show the efficiency of the proposed method.},
	pages = {297--313},
	number = {2},
	journaltitle = {{INFORMS} Journal on Computing},
	author = {Irnich, Stefan and Desaulniers, Guy and Desrosiers, Jacques and Hadjar, Ahmed},
	urldate = {2022-08-31},
	date = {2010-05},
	note = {Publisher: {INFORMS}},
	keywords = {vehicle routing, branch and bound, column generation and variable elimination, integer programming},

}
@article{hadjar_branch-and-cut_2006,
	title = {A Branch-and-Cut Algorithm for the Multiple Depot Vehicle Scheduling Problem},
	volume = {54},
	issn = {0030-364X},
	url = {https://pubsonline.informs.org/doi/abs/10.1287/opre.1050.0240},
	doi = {10.1287/opre.1050.0240},
	abstract = {We consider the multiple depot vehicle scheduling problem ({MDVSP}) and propose a branch-and-bound algorithm for solving it that combines column generation, variable fixing, and cutting planes. We show that the solutions of the linear relaxation of the {MDVSP} contain many “odd cycles.” We derive a class of valid inequalities by extending the notion of odd cycle and describe a lifting procedure for these inequalities. We prove that the lifted inequalities represent, under certain conditions, facets of the underlying polytope. Finally, we present the results of a computational study comparing several strategies (variable fixing, cutting planes, mixed branching, and tree search) for solving the {MDVSP}.},
	pages = {130--149},
	number = {1},
	journaltitle = {Operations Research},
	author = {Hadjar, Ahmed and Marcotte, Odile and Soumis, François},
	urldate = {2022-09-12},
	date = {2006-02},
	note = {Publisher: {INFORMS}},
	keywords = {algorithms, branch-and-cut algorithm for the {MDVSP}, cutting plane/facet, integer, multicommodity, multicommodity formulation, multiple depot vehicle scheduling problem, networks/graphs, programming, scheduling, transportation, vehicles},

}

使用默认的格式，并设定为authoryear：
\documentclass[cn,hazy,blue,14pt,screen, citestyle = authoryear]{elegantnote}
得到的引文和引文目录是：
Hadjar, Marcotte, and Soumis 2006
Irnich et al. 2010
[1] Ahmed Hadjar, Odile Marcotte, and François Soumis. “A Branch-and-Cut Algorithm for the Multiple Depot Vehicle Scheduling Problem”. In: Operations Research 54.1 (Feb. 2006). Publisher: INFORMS, pp. 130–149. ISSN: 0030-364X. DOI: 10.1287/opre.1050.0240. URL: https://pubsonline. informs.org/doi/abs/10.1287/opre.1050.0240 (visited on 09/12/2022).
[2] Stefan Irnich et al. “Path-Reduced Costs for Eliminating Arcs in Routing and Scheduling”. In: INFORMS Journal on Computing 22.2 (May 2010). Publisher: INFORMS, pp. 297–313. ISSN: 1091-9856. DOI: 10.1287/ijoc.1090.0341. URL: https://pubsonline.informs.org/doi/10.1287/ ijoc.1090.0341 (visited on 08/31/2022).
而正确的apa格式是：
Hadjar et al. 2006
Irnich et al. 2010
Hadjar, A., Marcotte, O., & Soumis, F. (2006). A branch-and-cut algorithm for the multiple depot vehicle scheduling problem [Publisher: INFORMS]. Opera- tions Research, 54(1), 130–149. https://doi.org/10.1287/opre.1050.0240
Irnich, S., Desaulniers, G., Desrosiers, J., & Hadjar, A. (2010). Path-reduced costs for eliminating arcs in routing and scheduling [Publisher: INFORMS]. INFORMS Journal on Computing, 22(2), 297–313. https://doi.org/10.1287/ijoc.1090.0341
当我把bibstyle修改为apa时，即：
\documentclass[cn,hazy,blue,14pt,screen, bibstyle = apa, citestyle = authoryear]{elegantnote}
才出现正确的引文目录
不知道是我的问题还是其他什么地方出了什么问题

https://github.com/ElegantLaTeX/ElegantNote/blob/23c5a00e65ace8c306954441ac2fdbb29a65c9b9/elegantnote.cls#L47-L48
bibstyle 的默认值不是 apa


Smoke Grenade

The smoke isnt working, also i dont see a model.

The grenades are a work in progress, I don't think I have enough time to finish them

Also when someone pick up a Flashbang it has 999999 ammo, how to fix this?


Fix printing of module type (precedence of Pmty_with inside Pmty_functor)

Fix a printing bug when mixing functor types and module type "with" operator.
Add tests for this case.
Add printing of module type extensions.

Great, thanks @let-def. Any other fixes like this that you find are definitely appreciated.


AWSCoreModule.cpp linker errors

I'm getting the following linker errors  when trying to build on 4.21.2 with VS2017 15.9.7:
AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::InitAPI(struct Aws::SDKOptions const &)" (?InitAPI@Aws@@YAXAEBUSDKOptions@1@@Z)
AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::ShutdownAPI(struct Aws::SDKOptions const &)" (?ShutdownAPI@Aws@@YAXAEBUSDKOptions@1@@Z)

It was building successfully prior to upgrading to VS2017 15.9.7.

@jarrodspurrier do you have the v141 build tools installed?

Also if you're experiencing this issue, then that means you're missing dll and lib files from the ThirdParty folder in the plugin. I know this because I experienced the exact same issue, hope this helps.

@chris-gong I have same error but I copied all dll and lib files from your fork. v141 tools installed. Do you have any suggestions?

@TimSmolonski I would suggest using the entire fork if possible. Also, if you are using the GameLift Server SDK, you may have to add these two lines to the GameLiftServerSDK.Build.cs file. PublicDefinitions.Add("USE_IMPORT_EXPORT");
This repository also has a working version of both the client and server sdk's working together, https://github.com/ZX-Diablo/UE4GameLift/tree/master/Plugins

@TimSmolonski I would suggest using the entire fork if possible. Also, if you are using the GameLift Server SDK, you may have to add these two lines to the GameLiftServerSDK.Build.cs file. PublicDefinitions.Add("USE_IMPORT_EXPORT");
This repository also has a working version of both the client and server sdk's working together, https://github.com/ZX-Diablo/UE4GameLift/tree/master/Plugins

Oh I used your fork but compiling wasn't successful but with added PublicDefinitions it works. Thank you man! As I can understand, compiler didn't see some definitions and wasn't able to compile, am I correct?
Also as I can see from the ZX-Diablo repo, he added PublicDefinitions to target platform Win64 (https://github.com/ZX-Diablo/UE4GameLift/blob/7bf71b2470270c1868cdafc5e24b6b68d5ae91bb/Plugins/GameLiftServerSDK/Source/GameLiftServerSDK/GameLiftServerSDK.Build.cs#L83)
Is it not necessary to add this Definitions to Linux target build or it just won't work?

@TimSmolonski are you making a client for Linux or are you just trying to get the client sdk to build on the server for uploading to GameLift? Because if it's the latter, I would recommend excluding the GameLiftClientSDK from your server build if possible because there's no need for it to be in the server.


ACME test cleanups

Motivation for this change
The parts of #83474 that don't add new functionality. Should be backported to 20.03 on merge.
cc @flokli
@GrahamcOfBorg test acme
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

@emilazy I tried to git cherry-pick -x 6285d5eabda26d0e696a328bcc9b8bf33dea1b3a e6d5e83cf10f8d6d900c53f8b29399e3619434c7 352e30df8a38b1b673c19de817fedca7d3d95d71 d0f04c1623ae74f256ff5ced77ac78c7fe3b6abc 695fd78ac45763b02ae4c68abda28974bb72c96b 21f183a3fe4eddbbb418cc1ee37a9f86526f675a, but this seems to not apply cleanly. Maybe we missed another patch that landed in master?
Could you open a backport PR against 20.03 instead?

It's #81848; will open a manual backport PR.
cc @grahamc – might it be a good idea to backport the implementation of specialisation.* to 20.03, without removing nesting? Currently there's no way to write a configuration or test using the feature that's compatible with both 20.03 and master.

@emilazy  This did a great work on making the acme server infrastructure reusable for other vm tests that also involve acme certificates! :heart:
Do you have any plans on moving more of the tooling into common/acme/*?
I could imagine the acme and dnsserver machine configurations being moved there entirely, and networking.nameservers = lib.mkForce [ nodes.dnsserver.config.networking.primaryIPAddress ]; also being part of ./common/acme/client.


Update documentation about Spring Cache automatic instantiation

Also, the READ.ME link points to wrong tutorials repo: https://github.com/blocha/infinispan-simple-tutorials


Doc Fixes

Fix various mistakes I made in the previous PR #22 (sorry about that...)
fix a few typos.
Field at offset 0x0C in the Process structure is the ParentProcessIndex.

Concerning this last point, below is the code for the struct to XML file (ProcMon64 v3.92):
.text:000000014003B023                 mov     edx, [r14+4]  ; process ID at offset + 4
.text:000000014003B027                 lea     rcx, [rbp+57h+arg_18]
.text:000000014003B02B                 call    sub_14006FA00
.text:000000014003B030                 nop
.text:000000014003B031                 mov     rcx, rax
.text:000000014003B034                 call    sub_1400AC930
.text:000000014003B039                 mov     r8, rax
.text:000000014003B03C                 lea     rdx, aProcessid ; "ProcessId"

...

.text:000000014003B05B                 mov     edx, [r14+8]  ; ParentProcessId at offset +8
.text:000000014003B05F                 lea     rcx, [rbp+57h+var_A0]
.text:000000014003B063                 call    sub_14006FA00
.text:000000014003B068                 nop
.text:000000014003B069                 mov     rcx, rax
.text:000000014003B06C                 call    sub_1400AC930
.text:000000014003B071                 mov     r8, rax
.text:000000014003B074                 lea     rdx, aParentprocessi ; "ParentProcessId"

...

.text:000000014003B093                 mov     edx, [r14+0Ch]  ; ParentProcessIndex at offset + 0x0C
.text:000000014003B097                 lea     rcx, [rbp+57h+var_98]
.text:000000014003B09B                 call    sub_14006FA00
.text:000000014003B0A0                 nop
.text:000000014003B0A1                 mov     rcx, rax
.text:000000014003B0A4                 call    sub_1400AC930
.text:000000014003B0A9                 mov     r8, rax
.text:000000014003B0AC                 lea     rdx, aParentprocessi_0 ; "ParentProcessIndex"

...

I couldn't find any use for the field at offset +0x60... It doesn't seem to be used at all. I might be mistaken though.

Thanks!


Support interfaces as ingredients in interactions

At the moment it is not possible to have an interface as an ingredient in interaction with different implementations. It is quite a limitation.

The underlying feature is to support an Either sort of type.
Step 1  is to implement this in the baker type system. Which in java naturally maps to an interace with multiple implementing classes.
We should be able to to this in a backwards compatible way by generalizing the existing EnumType (which only supports strings) into an EitherType and SingletonType.
Step 2 is how to know all possible implementation classes of an interface
Since there is no sealed trait in java, we need some hint of where to look.
Either a package name and use https://github.com/ronmamo/reflections
Or, require an annotation that lists all possibilities like:
@ImplementedBy(MyIngredientA.class, MyIngredientB.class)
interface MyIngredient {

}

Hi @nikolakasev. We just faced this problem with the following use case.
We have an interaction where ingredient "payload" depends on other ingredient "requestType". Payload is very different per requestType. And we have 9 requestTypes and so 9 payloads. First our thought was to have an interface and different implementations. But this is not supported.
One of the other solutions is to use just a Map. But we do not really want it as you cannot force the types in this case and it is very difficult to use it later without documentation as you have to know which entries do you need to fill per requestType.
We have found a better solution for now. We create a class with all the fields there for all payloads (all requestTypes) and different builders per payload/requestType. It is a bit more work as you cannot use lombok here and you have to build those builders manually, but it should be nice to use later.

What are the types of requests and payloads?
Have you considered the granularity of your interaction? Maybe it's doing too much and splitting in separate interactions is an option?
Does the interaction require all the data from the "payload" ingredient or just a small part of it?

The interaction need to check that all the required fields for a specific requestType are filled in correctly and send this payload to a service.
Splitting it is not a good option as you would have 9 interactions that do the same thing.
That is why we have decided to build different builders for the payload per requestType.


Add /dag/resolve endpoint

The first commit is a bugfix, should probably make that into a interface-http-core test case.
TODO:

[x] pass easiest tests
[x] ~add "get local block" api to Ipfs~ this wasn't needed nor is it accessible without js-ipfs-http-client 44.0.0 which will also not send content-length headers anymore so it'll break all multipart functions...
[x] pass rest of the tests except cidv0<->cidv1
[x] ~continue cidv0<->cidv1 on another PR~ well it wasn't so difficult

Creating a merge commit to preserve the cidv0->cidv1 commits.


Change current command.stub to use new 'signature' of Laravel 5

Modify stub of command generator to use new 'signature' for Laravel 5 instead of old 'name + arguments + options'

I personally prefer the old way of handling commands.

👍  for the new one ;)

Maybe we can allow both as an option? --signature or --name

I prefer the new one 👍

I like having the option to have either one of the command types. Makes everyone happy :)

up


docs: use readthedocs for project.

docs:  use readthedocs site create docs for project.

docs content as followers:

getting_started
modules
plugins
use_cases
reference
and so on.

when this merged I can help add GitHub Actions to generate github.io doc web.


Return SignalProducer<Model, Moya.Error> from within enum

I'm struggling with a solution for our internal networking library.
We're using Moya ReactiveCocoa, together with Moya-SwiftyJSONMapper, which makes it possible create calls like this:
RCStubbedProvider.request(ExampleAPI.GetObject).mapObject(GetResponse).on(failed: { (error) -> () in
    print(error)
}) { (response) -> () in
    print(response)
}.start()

This makes mapping to models quite easy, but the disadvantage is that we have to know the type for mapping on the implementation level.
We could solve this by creating wrappers for each defined method, like this:
extension ExampleAPI {
    static func getObjectCall() -> SignalProducer<GetResponse, Moya.Error> {
        return RCStubbedProvider.request(ExampleAPI.GetObject).mapObject(GetResponse)
    }
}

This makes it clear on implementation level that the method will return a GetResponse object.
I'm looking for a generic way to define this within the Enum, which seems to be impossible (based on my Swift knowledge). That's why I'm here to open this issue, maybe you guys have an idea for this.
My "everything is possible" way of doing this would be to add an extra requirement to the TargetType protocol:
var responseType:ALSwiftyJSONAble { get }

Where this part would automatically return a GetResponse model:
RCStubbedProvider.request(ExampleAPI.GetObject)

Curious about your ideas guys!

Hmm, yeah. nothing pops into my head immediately. I agree that automating this somehow would be :100:

I think mapping responses to models is something that is quite far away from a networking abstraction library such as Moya. I do not see this kind of stuff directly within Moya.
That said, you could create an internal protocol JSONMappable that defines the responseType property and conforms to TargetType. Your API definition(s) may then conform to JSONMappable.
I've done something similar with Argonaut but opted for an implementation where you can optionally parse the response to Argo model(s).
Something along the lines of
Provider.request(.Profile)
    .filterSuccessfulStatusCodes()
    .mapJSON()
    .mapToType(User) // maps to a User model

Yeah, but the problem remains, as I still have to know the model type on implementation level (User in your example).
In my ViewModel / ViewController etc. I simply want to call Provider.request(.Profile) which then should return a SignalProducer<User, Moya.Error>.

Ok, I guess you can do something like this.
// Create your own protocol that extends `TargetType`
protocol JSONMappableTargetType: TargetType {
    var responseType: ALSwiftyJSONAble { get }
}

// Implement your Moya enum using `JSONMappableTargetType `
enum ExampleAPI:  JSONMappableTargetType {
    // Implement all TargetType properties

    var responseType: ALSwiftyJSONAble.Type {
        switch self {
        case .X:
            return GetResponse.self
        // etc.
    }
}

// Then add an additional request method
func requestType<T>(target: JSONMappableTargetType) -> SignalProducer<T, Error> {
    return request(target).mapObject(target.responseType)
}

Yep. I was gonna suggest something like that.

Alright, interesting. I've implemented your suggestion and encountered some issues. You can check the example project here:
https://github.com/AvdLee/Moya-SwiftyJSONMapper/tree/ObjectMapper_from_enum
Problems encountered:

After rewriting, the project compiled:
// Works but has al the mapping logic in it, I don't want that!
func requestType<T:ALSwiftyJSONAble>(target: ExampleAPI) -> SignalProducer<T, Moya.Error> {
    return RCStubbedProvider.request(target).flatMap(FlattenStrategy.Latest, transform: { (response) -> SignalProducer<T, Moya.Error> in
        do {
            let jsonObject = try response.mapJSON()

            guard let mappedObject = T(jsonData: JSON(jsonObject)) else {
                throw Error.JSONMapping(response)
            }

            return SignalProducer(value: mappedObject)
        } catch let error {
            return SignalProducer(error: Moya.Error.Underlying(error))
        }
    })
}

However, on the implementation level, where I want this to work:
    func exampleRequestDirectMapping(){
        requestType(ExampleAPI.GetObject).on { (object) -> () in
            print("Example origin \(object.origin)")
        }.start()
    }

It still doesn't. When I explicit cast to the given return type, it does work:
    func exampleRequestDirectMapping(){
        // This instead works, with type definition
        let producer:SignalProducer<GetResponse, Moya.Error> = requestType(ExampleAPI.GetObject).on { (object) -> () in
            print("Example origin \(object.origin)")
        }
        producer.start()
    }

I would suggest to open the Example project yourself and see the problem in action. Hoping we can find the solution for this!

If this is wrapped up, I'm going to close it. Feel free to re-open if we can help further.


[fastcdr/jack2/fcl/ensmallen/hwloc] Update to latest release

Related to https://github.com/microsoft/vcpkg/pull/13536
Update the version to latest release

[X] fastcdr/ensmallen: fix the cmake targets file in new revision.
[X] jack2: the readme file name changed in new revision.
[X] fcl: the config name changed to fcl-config, and it already find dependency port.
[X] hwloc: the directory for the source files changed, and removed and Added one file in new reversion.

@ras0219-msft looks good :
C:\Dev\vcpkg>.\vcpkg.exe install fastcdr
Computing installation plan...
The following packages will be built and installed:
    fastcdr[core]:x86-windows
Detecting compiler hash for triplet x86-windows...
A suitable version of powershell-core was not found (required v7.0.3). Downloading portable powershell-core v7.0.3...
Extracting powershell-core...
Starting package 1/1: fastcdr:x86-windows
Building package fastcdr[core]:x86-windows...
Could not locate cached archive: C:\Users\billy\AppData\Local\vcpkg\archives\c4\c4b0fbba75c0e109e1e8d93252f1bcfbcd594a25.zip
-- Downloading https://github.com/eProsima/Fast-CDR/archive/065d49248bd4afbae670836ee1f1c718b9760dde.tar.gz...
-- Extracting source C:/Dev/vcpkg/downloads/eProsima-Fast-CDR-065d49248bd4afbae670836ee1f1c718b9760dde.tar.gz
-- Applying patch install-cmake.patch
-- Using source at C:/Dev/vcpkg/buildtrees/fastcdr/src/18b9760dde-47acd16266.clean
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/Dev/vcpkg/packages/fastcdr_x86-windows/share/fastcdr/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\Users\billy\AppData\Local\vcpkg\archives\c4\c4b0fbba75c0e109e1e8d93252f1bcfbcd594a25.zip
Building package fastcdr[core]:x86-windows... done
Installing package fastcdr[core]:x86-windows...
Installing package fastcdr[core]:x86-windows... done
Elapsed time for package fastcdr:x86-windows: 6.997 s

Total elapsed time: 12.33 s

The package fastcdr:x86-windows provides CMake targets:

    find_package(fastcdr CONFIG REQUIRED)
    target_link_libraries(main PRIVATE fastcdr)

C:\Dev\vcpkg>cd test

C:\Dev\vcpkg\test>type CMakeLists.txt
project(example CXX)
find_package(fastcdr CONFIG REQUIRED)

C:\Dev\vcpkg\test>cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=C:\Dev\vcpkg\scripts\buildsystems\vcpkg.cmake -S . -B build
-- The CXX compiler identification is MSVC 19.28.29304.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.28.29304/bin/Hostx86/x86/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.18)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: C:/Dev/vcpkg/test/build

C:\Dev\vcpkg\test>ninja -C build
ninja: Entering directory `build'
ninja: no work to do.

Thanks for your contribution!


storyboard volunteer checkout view

Draw / diagram the view for checked in volunteers to check out.

Decided to use API call to checkout and re-render an updated view of index. See PR #99


DO NO MERGE: manually update guides

manually update omero-web guides
guides generated using https://github.com/ome/omeroweb-install/pull/49

Conflicting PR. Removed from build OMERO-docs#100. See the console output for more details.
Possible conflicts:

PR #2038 jburel 'Install'

omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst

--conflicts

Conflicting PR. Removed from build OMERO-docs#70. See the console output for more details.
Possible conflicts:

PR #2038 jburel 'Install'

omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst

--conflicts


Fixing a word format issue

@twright-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.


rtx use should install only specified tools

right now if you call rtx use it will install all missing tools, but it should only install the ones specified.
For example, rtx use node@20 should not install<EMAIL_ADDRESS>if it is missing.

This was fixed in #689 I believe


Set up notifications with flux.

Examples here:
https://fluxcd.io/docs/guides/notifications/

This is done, but I had to manually bootstrap the configuration. That process needs to be automated or documented.

The manual bootstrap is completed. I'm leaving this open to investigate any remaining alert types.


Layer 2: do not listen slave and noarp interfaces (via netlink)

What this PR does / why we need it:
This PR disables listening on interfaces which have master or NOARP flag set.
It also overrides previous check from #350
Which issue(s) this PR fixes :
Fixes #349, #351
Special notes for your reviewer:
There is new library included: github.com/vishvananda/netlink. It's well tested too.
Kubernetes uses it in ipvs proxier and kubenet projects.

Close due #353


Use the generated Signon API key in Whitehall

I’ve given the “Whitehall” user access to the newly-minted API endpoint in Signon, and run the signon-sync-token-secrets-to-k8s job, so this secret should be ready for use in each app.

Why Whitehall needs to access Signon's APIs? What feature does this relate too?


Statistic plugin

Hi!
Thank you for this great alternative to EMQX!)
But is there any plugin to see Statstic about connected clients and their IDs ?
Thank you!

Hi @pyxiscloud !
This sounds like something that can be added! Are there any particular statistics/behaviour you'd like to see?

- Main tab: server uptime, server version

connected clients, topics, subscribtions. Current value and max value from server start.
Clients tab (connected time, Id, username, protocol version, subscriptions count, current connetion status). Filter fields by client Id , username, protocol.
**Settings tab ** - username/password to access this web page

Thanks @pyxiscloud - I've added this to the roadmap, we'll think about how to implement it in a nice way :)

This discussion is now located at https://github.com/orgs/mochi-mqtt/discussions/280#discussioncomment-6755593


Neevor/working on testing

@EmperorDali I'm doing a pass through now, but this has my changes and yours.


translucenttb-np: Add version 2022.1

Closes https://github.com/ScoopInstaller/Extras/issues/10071

[x] I have read the Contributing Guide.

/verify

@Zliced13 Uninstall failed:
--> Installing the Manifest translucenttb-np.json

Installing 'translucenttb-np' (2022.1) [64bit]
bundle.msixbundle (6.5 MB) [======================================================================================] 100%
Checking hash of bundle.msixbundle ... ok.
Running pre_install script...
Linking ~\scoop\apps\translucenttb-np\current => ~\scoop\apps\translucenttb-np\2022.1
'translucenttb-np' (2022.1) was installed successfully!

--> Refreshing environment variables

--> Comparing ARP Entries

PS C:\Users\WDAGUtilityAccount\Desktop\bucket> scoop uninstall translucenttb-np
Uninstalling 'translucenttb-np' (2022.1).
Running pre_uninstall script...
Remove-Item : Cannot find path 'C:\ProgramData\Packages' because it does not exist.
At line:2 char:1
+ Remove-Item "$env:ProgramData\Packages\*.TranslucentTB_*" -Force -Rec ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\ProgramData\Packages:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Unlinking ~\scoop\apps\translucenttb-np\current
'translucenttb-np' was uninstalled.
PS C:\Users\WDAGUtilityAccount\Desktop\bucket>

@rasa Test it again, it should work this time.

Installed and uninstalled fine.


Bug: glitches with combination of $getSelection, $getSelectionStyleValueForProperty and $patchStyleText

Im having a warm time figuring out what the issue with this process is.
Problem: When a style is applied to text and the user tries to reselect and change that style, then the selection isnt updated or additional style changes are not applied.
I thought it was something I did but realised the problem is also in the Lexial Playground
https://github.com/facebook/lexical/assets/6108793/db03c0de-2278-4afa-81dd-704aeb0e9e0a
Thinks to take note of:

Font family disappears from toolbar
Doesnt re-appear while selection is active and user keeps changing the font family
new style applied but selection doesnt know about it

Lexical version: 0.12.2
Steps To Reproduce

Apply font-family style to text
select another piece of text
re-select the previously styled text
The selection isnt read correctly
Try applying more styles that require $patchStyleText,
Nothing happens

The current behavior
Selection isnt updated if reselecting a piece of text that had styles previously applied to it
The expected behavior
Should be able to apply styles at any time to any formatted text and see the selection data updated

Any help would be appreciated.
Thanks!

I think this is because you are running on Linux and the listed fonts in the dropdown - Times New Roman, etc not all of them are preinstalled on Linux. So a fallback font is applied, but since the code doesn't locate the failover font, the selection in the dropdown menu breaks. A way to confirm this is to change the font face options to fonts that your Linux distro has installed and see if the issue persists.

I don't think it has anything to do with the fonts.. you can test it with font sizes too.. the same thing happens

Additional note: in the implementation I did, I used styles for bold, italic, strike through.
And the same thing happens

Additional note: in the implementation I did, I used styles for bold, italic, strike through.
And the same thing happens
Also if I blur the editor and come back with a collapsed selection, the correct style is found by the selection

But good hint about the OS
I did a bit more digging:
Windows Chrome:  ✅
Linux Chrome: ✅
Linux Firefox: ❌
Windows Firefox: ❌

Question: is the lexical code in the playground slightly newer than the released version?

Yes, the repo code is always ahead of the published version, but not to an extent where this would be broken/fixed to the latest released version. I reproduced this in Firefox on Windows as well. I need to summon the Lexical gurus - @fantactuka or @zurfyx , to summarize selection is wrong in Firefox, I've added a screenshot for the outcome from identical operations of changing the font size:

Why would the offset be going wild in Firefox, but OK in Chromium?

i see.. Thanks for checking.
i asked because there is at least one change regarding selection since the last release and there is one difference between the playground results and mine.
https://github.com/facebook/lexical/commit/816ef987f161e1b22eba73f065e101544b4e941c
Also another thing i noticed while developing is that whenever there is an unexpected exception, the editor has some weird behaviours like this but without bubbling up the error.
Could be unrelated but just a note.

I'm seeing similar issues.
In the editorState, if I look at my currently selected node in the _nodeMap with the key "4" it shows the style of {font-size: 20px}

in the same editorState, when I look at the selection for key "4", it's showing the styles from key "3"


container/heap: avoid use of the term "heap invariants"

Go version
go version go1.21.1 openbsd/amd64
Issue
In the documentation of the Init function as well as the Interface interface and within the PriorityQueue example the term "heap invariants" is used. Maybe it is because I lack the academic background, but the term confused me when trying to understand the purpose of the Init function.
After some further reading I now understand, that it basically just means that the Init function establishes a correctly "sorted" heap from an "unsorted" input. I assume, that "sorting" is not the correct term to use and "establishing invariants" is a formally correct way to describe what Init does.  However, I feel like easier language could be used to describe the function of Init and thus ease the understanding of the package.

The first part of the package documentation says:

A heap is a tree with the property that each node is the minimum-valued node in its subtree.How about:

so how about we document Init thus:

Init reorders the elements of the sequence to establish the heap property.

and replace "heap invariants" with "heap property" throughout?
Feel free to send a CL.

Thanks for chiming in, @adonovan ! I have slightly adapted your suggestion and created a PR.
I have excluded the mention of a "sequence", since it is my understanding that a heap could be implemented with, e.g., a tree data structure, which is (to my knowledge) not considered a sequence.
Even though it might just be a small improvement, I feel like "heap property" will be more commonly understood than "heap invariants". Mentioning that the Init function reorders elements will likely further improve the readers understanding of what the function does.

I really think "heap invariant" is fine.

I'm fine with either, but Ian is usually right. "Invariant" is an important word to know, and if you learned it from this package, maybe that's no bad thing. Sorry for the churn.

Alright; no hard feelings.  Maybe the term is more commonly known than I'm aware and it was just a personal gap in education.


Improve roxygen documentation

Sooner, rather than later, I should probably review and improve all roxygen documentation and make sure params and inheretParams are clean

Also, make sure param definitions are clean. I should update summarise_noise_data() and summarise_timer_data() to use compress_df instead of summ_data

I updated all of the summarise_() functions to use compress_df and improved (I think) roxygen documentation throughout. I did change a 1 or 2 argument names to hopefully clarify things e.g., I changed summ_data in parse_tag_list() and parse_code_ending() to data_to_parse to differentiate it from compress_df. Those functions can really be run on ANY data frame with a column "tag_id". I think there's still 1 or 2 places where we might standardize argument names, but I'm done for now.


OP Stack Proximity card fixes and polish

Some links in the OP Stack Proximity card are incorrect or broken:

[ ] OSO link should be: https://www.opensource.observer/
[ ] Forum post link should be: https://gov.optimism.io/t/retro-funding-5-guest-voter-selection-algorithm-explanation/8719

Card styling needs work:

[ ] Card corner radius should be 12pt
[ ] Title should be aligned to top left corner of inner card
[ ] Subtext (github username) should be style "p" and color "secondary-foreground"
[ ] Description text style should be "alt/small" (inter 14/20 regular) and color ""secondary-foreground"
[ ] Badge in upper right corner looks small, should be size "default"

If 100th percentile...

[ ] Title should still read "...ranks in the top 1% of developers..."

Could you share screen shots of folks in different percentiles to verify the UI? @stepandel

^ are no longer accurate -- I pushed some fixed


Loot table (random loot)

I don't seem to find a video tutorial or a good wiki post that can help me with setting up random loot using loot_table, if you would please make a video tutorial or PM me your Skype so that I could get to know how to use this feature

i have the same problem as i want my server to work the same as Timelesspvp.net
:(


Channel update propagation speed

Background
I can't find reliable information about this anywhere so decided to ask here as the developers surely know better! How fast do the node/channel updates propagate? I use charge-lnd to provide hints to the users about my channel balances, those that have too much outbound liquidity get lower fees so they're more likely to be used in routing. However, these changes seem to take a lot of time to propagate to other nodes. I check my channels at 1ml.com and amboss.space, the latter shows outdated fees and it's been almost 3 hours since they were changed. I don't think it takes less than 1 hour at least to reach these public browsers.
What's even more interesting is that even those nodes that connect to my node directly don't get these updates quick enough. For example, my Breez wallet connects to my node via a private channel and when I run getchaninfo 7540... in the developer console I get old fees. getinfo says "syncedToGraph": true and "syncedToChain": true. Breez uses lnd 0.12.1-beta currently. My friend also connects to my node via a public channel and he also reported old fees for that channel.
I wouldn't care about this but it sometimes causes routing to fail due to insufficient fees because the sender used outdated information. How can this be sped up if at all? Is it a bug or a fundamental limitation (or a DoS prevention measure)? I don't know if there's any other way to signal channel balances to the world so that users don't blindly pick channels without enough liquidity and fail too often. I understand why channel balances have to be private but changing fees is a really good mechanic that preserves privacy and lets balance channels naturally.
Your environment

lnd v0.13.0-beta-27-gf9a51882
Linux 5.10.17-v7l+ #1421 SMP Thu May 27 14:00:13 BST 2021 armv7l GNU/Linux (RPi 4B)
Bitcoin Core v0.21.1

Steps to reproduce

update channel fees via RPC or external tools

Expected behaviour

the new values are propagated to other nodes relatively quickly (10-15 minutes to remote nodes and withing minutes to the directly connected nodes)

Actual behaviour

the new values are propagated to other nodes for hours, even to those that have channels opened to my node

How fast do the node/channel updates propagate?

The short answer is "eventually". Each node may have different parameters w.r.t how quickly it sends out updates, how many batches it sends out at a time, etc. You shouldn't count on them being transmitted "instantly" across the network, things are batched and staggered to reduce bandwidth usage and duplicate updates being transmitted.


NFC support

WebNFC is available starting with Chrome 89. Adding NFC support to Nault would make it possible to share accounts and amounts from one device to another when sending transactions. Essentially an alternative to QR, but easier and faster.
Sharing an account to another device
Detect if NFC is supported by the browser/device on the receive screen. Include a link/button to grant NFC permissions. Once granted write to the NFC tag the same data string as used to generate the QR code.
Receiving an account from a NFC tag
On the send screen, include a link/button to grant NFC permissions if supported. Once granted read the NFC tag and prefill the account and amount input.

Unfortunately it seems from the documentation at https://www.chromestatus.com/feature/6261030015467520 and https://web.dev/nfc/ that direct device to device communication is not working and not in the current scope (HCE if I get it correctly).
So it would only be possible to read from or write to NFC tags.

Looks like you're right. Does that mean even a dedicated POS terminal wouldn't work? That's a shame.

What does "device to device is not working" even mean?

Can a browser app (on Chrome, like Nault) be a NFC tag writer (requesting nano)?
Can it write the NFC tag on the same device it's on?
Can the device then be read by another device (the active NFC tag reader)?


Carthage error 65

When installed through Carthage
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -project /Users/alekzernov/Downloads/enegyhouserev2.0/Carthage/Checkouts/Typhoon/Typhoon.xcodeproj -scheme Typhoon -configuration Release -derivedDataPath /Users/alekzernov/Library/Caches/org.carthage.CarthageKit/DerivedData/9.4_9F1027a/Typhoon/4.0.5 -sdk iphonesimulator -destination platform=iOS\ Simulator,id=1D1D025C-9F81-4183-B247-1F69285384B6 -destination-timeout 3 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES build (launched in /Users/alekzernov/Downloads/enegyhouserev2.0/Carthage/Checkouts/Typhoon)
help me please

fatal error: 'OCMockitoIOS/OCMockitoIOS.h' file not found
#import <OCMockitoIOS/OCMockitoIOS.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** BUILD FAILED **

Yes, I had the exact same issue. I solved it for now by specifying the version as this seems to be a 4.0.5 issue.
github "appsquickly/Typhoon" "4.0.4" solved it for me.

Any chance to get this fixed. It's always good to use the latest release. Thanks

Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/edison/workspace/weiguan/project/gitlab/wg-dev/wg-app-ios/Carthage/Checkouts/Typhoon/Typhoon.xcodeproj -scheme Typhoon -configuration Release -derivedDataPath /Users/edison/Library/Caches/org.carthage.CarthageKit/DerivedData/9.4.1_9F2000/Typhoon/4.0.6 -sdk iphonesimulator -destination platform=iOS\ Simulator,id=5FE46D7A-0E86-44A9-A986-16425353E16F -destination-timeout 3 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES build (launched in /Users/edison/workspace/weiguan/project/gitlab/wg-dev/wg-app-ios/Carthage/Checkouts/Typhoon)

Same as 4.0.6 :(

Can anyone help me with this issue? I'm not very familiar with Carthage.


PendingReboot module included in Boxstarter has not been updated since 2015

Hi,
The PendingReboot module included in Boxstarter has not been updated since 2015
Any chance that the current version found at https://github.com/bcwilhite/PendingReboot could be included?
Thanks,
/Kenny

Accor4ding to the Changelog (which starts at 2018), I'm not sure what updating it actually gives us?


Issue with docs.zowe.org/stable/user-guide/start-zowe-zos/

Description

There is a note under ZWESISTC that states:

The ZWESISTC task starts and stops the ZWESASTC task as needed. Do not start the ZWESASTC task manually.

However, I believe this note should be under ZWESASTC which currently only states:

This is handled automatically by Zowe cross memory server. You don't need to manually start or stop this started task.

"You don't need to manually start..." is more ambiguous than "Do not start..."
Pages to Update

https://docs.zowe.org/stable/user-guide/start-zowe-zos/#starting-and-stopping-the-cross-memory-server-zwesistc-on-zos
Screenshots

Expected behavior

Additional context

See https://github.com/zowe/docs-site/pull/3542


Latest p5.sound.js and p5.sound.min.js in p5.js

When can the latest p5.sound.js and p5.sound.min.js files be moved to the p5.js repository? Is it in the new release version of p5.js-sound, or can it be done every time a new change has been made to p5.sound.js and p5.sound.min.js?

This is answered here.
There is an explaination in the wiki.


Skyline: adjust the MPPReport external tool to roll up replicate info…

… at the molecule level instead of the protein level for non-proteomic molecules

I've been interacting with Agilent, and just gave it another nudge.

@bspratt please push this forward or close it

Closing this PR but keeping the branch. Agilent still has interest in this even if they're moving slowly.


Should a table lookup randomizer be included.

A table lookup result could either be entirely generated server side (e.g. returning a plain text result), or the server could generate a table index which could then be mapped to the explicit result by all clients.
Linked to #1 #8

Possible solution:

Have the table definition on the server in the database.
Transmit the definitions of all tables to the client when joining the session.
Use a basic randomizer to query a table lookup.
Map the randomizer's result to a table entry client-side.


ReadStream._read (used by createReadStream) ignores number of bytes actually received

Related to #42, but the the issue isn't the value of highWaterMark (although lowering it is a workaround for this issue).
ReadStream._read (https://github.com/mscdex/ssh2-streams/blob/master/lib/sftp.js#L2749) always advances the position by toRead number of bytes no matter how many bytes the server sends in response.
Moving that code inside the read callback and advancing by bytesRead instead fixes the issue, but I'm not sure if that could cause other issues.

Looks like this has been fixed in https://github.com/mscdex/ssh2-streams/commit/c5f7b8612872fe910d109a0e287bfefce98fea89.

Looks like this has been fixed in https://github.com/mscdex/ssh2-streams/commit/c5f7b8612872fe910d109a0e287bfefce98fea89.


error

I faced this error in both IDA and cli capa
ERROR:capa.ida.plugin.form:Failed to load rules from C:/capa-rules-master (error: invalid rule: C:/capa-rules-master\anti-analysis\anti-debugging\debugger-detection\check-for-kernel-debugger-via-shared-user-data-structure.yml: invalid rule: unexpected statement: instruction).
ERROR:capa.ida.plugin.form:Make sure your file directory contains properly formatted capa rules. You can download the standard collection of capa rules from https://github.com/mandiant/capa-rules.
INFO:capa.ida.plugin.form:Analysis failed.
this problem not only in this rule but un many other rules
capa version: 3.2.1 (using pip)
capa-rules: the katest in the repository
ida version: 7.7

Hot fix git reset --hard bdf76e6e19

Please see https://github.com/mandiant/capa/blob/master/doc/rules.md on pointers which rules to use with which version.
Sorry, about the confusion. The v4 release will also "fix" this.


Enable logout functionality

Add logout functionality
Allow users to log out of their account from any page if they are signed in.
Passport.js provides a logout() function to easily terminate a login session from any route handler.


virtual.VisPlane

should accept a list of planes as input arg

fixed
also for bbox and for ray, all now accept lists


Support all AudioParam automation methods

File: param.rs
Relevant section in spec: https://webaudio.github.io/web-audio-api/#AudioParam
Implement automation methods

[x] SetValueAtTime
[x] LinearRampToValueAtTime
[x] ExponentialRampToValueAtTime
[x] SetTargetAtTime
[x] SetValueCurveAtTime
[x] CancelScheduledValues
[x] CancelAndHoldAtTime

Improvements / Spec

[x] spec - All panic calls should be replaced by clean and compliant Errors
[x] spec - Automation methods should return self or Result(self, Error) to allow method chaining
[x] spec - Sanity check all method arguments (e.g. times, time_constant)
[ ] refactoring - Review all AudioNode::new to remove set_value or set_value_at_time, default values should be properly initialised at instantiation without calling an automation method explicitly (this is maybe a bad idea as it would create a confusion between the param default value and user defined default value)
[ ] perf - set_target_at_time can run forever as it as no "real" end time or value, a possible performance improvement would be to internally cancel the event when intrisic_value is close enough to the target (note that Chrome implements such strategy)

To be discussed further

Maintain AutomationEventQueue in control thread instead of audio thread (e.g. Arc<Mutex<AutomationEventQueue>>?) - is maybe necessary for proper Error handling (cf. discussion in https://github.com/orottier/web-audio-api-rs/pull/62#discussion_r764294272
Possibly review set_value_curve_at_time signature to use Vec<32> instead of &[f32] (cf. discussion in https://github.com/orottier/web-audio-api-rs/pull/62#discussion_r764292652)

Hey, just to let you know that I've started to work on this one, if ok for you let me know if prefer a PR per item

Sure, go ahead! Let me warn you in advance the current setup may not be ideal for SetTargetAtTime so feel free to change the whole architecture. Also, I think only A-rate is properly tested with the existing implementation so some bugs may appear

Hey, I have started to have a look at CancelScheduledValues but the following problem appeared: it seems that the only way to remove items from events: BinaryHeap<AutomationEvent> is to use the retain method which is still experimental (cf. https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.retain).
This seems to lead to the following options:

Go on with the BinaryHeap, but requires to build using rust-nightly
Change the type of the event queue to use a simpleVec, which will be of course a bit less efficient
Or use another higher-level type such as https://docs.rs/priority-queue/1.2.1/priority_queue/priority_queue/struct.PriorityQueue.html (which seems to allow removing arbitrary items)?

I would personally go for the Vec solution, as from my point of view such queue rarely contains hundreds of events, but this probably depends of the usage and use-cases too...
Do you have any opinion, ideas or preferred way on that point?

Is the clear() function not sufficient?
In any case I would rather not switch to nightly.
Vec indeed sounds good. As the documentation of the BinaryHeap says, inserts of already sorted items is inefficient, which is probably the most common use case in this API

Is the clear() function not sufficient?

No, because we need to filter events according to cancelTime

In any case I would rather not switch to nightly.
Vec indeed sounds good. As the documentation of the BinaryHeap says, inserts of already sorted items is inefficient, which is probably the most common use case in this API

Ok thanks, I have made a simple wrapper around Vec with an API similar to the BinaryHeap, so that reverting or changing it later should be quite easy.

4 down, 3 to go!

I will close this one and open new issues for the 2 points left:

set_target_at_time limit check
AutomationEventQueue in control thread


ItemImpl parsing is too lenient

Syn currently successfully parses this impl, while libsyntax does not.
impl <Struct as Trait>::Item {}

error: expected one of `,`, `:`, `=`, or `>`, found `as`
  |
  | impl <Struct as Trait>::Item {}
  |             -^^ unexpected token
  |             |
  |             expected one of `,`, `:`, `=`, or `>` here

Rustc can parse this now. We were just ahead of the curve.


Parameter "keep_alive" for Ollama

Hi,
Is it in the roadmap to be able to pass the parameter "keep_alive" to Ollama?
https://github.com/ollama/ollama/blob/main/docs/faq.md#how-do-i-keep-a-model-loaded-in-memory-or-make-it-unload-immediately
I have tried many techniques to set the environment variable OLLAMA_KEEP_ALIVE without success, therefore I would like to pass the parameter in Flowise, but it's not in the list.
Thanks

PR merged - https://github.com/FlowiseAI/Flowise/pull/2892


Support configuring the New Relic data region in the connector

A new connector property, nr.region, can be used to choose New Relic data
region. By default US is used.
In order to be able to configure the data region in the telemetry client, the
newrelic-telemetry-java-sdk lbirary had to be updated to 0.13.1.

@wulczer functionality looks good to me.
Can you also update the internal semvers here and here?
Should be all set after that.  Thanks!

Can you also update the internal semvers here and here?

@ericmittelhammer done and force-pushed!


String mutability

Should strings be mutable internally and/or externally?
As-is, strings are mutable internally, but they appear to be immutable externally.
If we kept to the invariant that strings are immutable internally, it makes some things easier but others harder. Notably: most defensive copies of strings would be removed, but setting characters in strings would be a lot slower (O(n) instead of O(1)), as would concats of a short string to a long string. (Suddenly you have to copy the entire long string)

Still mulling on this. I want Huo to be fast, but I'm not actually sure what the main contributors to speed are. It would be nice if we had some performance metrics and tests. I will do some research on that.

My initial thought on the matter would be to make strings immutable, and then later on go back and change things up if necessary.

Yeah, I like immutability in general, and if it makes the API for strings simpler that's definitely good. If you're inclined to make strings internally immutable I'm fine with making that jump. I haven't got any profiling up yet, but I haven't written any complex programs to push the interpreter either. I'm starting a graph data structure program to test that.

profiling

My guess? Currently it's hideous. There's an awful lot of "just copy all the things" happening at the moment. But profiling will help with that.
Actually, my inclination would be to make everything but arrays immutable internally.
I'll drop a pull request that does so, and we can see if it makes sense.


Introduce daemon event 'tag' upon image tagging

This change introduces tag event upondocker tag operation. Untag (rmi) has daemon events but this one does not.
So the operation:
$ docker tag busybox foo:bar
$ docker rmi foo:bar

Used to be just
$ docker events
2015-05-15T01:09:11.000000000Z foo:bar: untag

Now:
$ docker events
2015-05-15T01:09:01.000000000Z foo:bar: tag
2015-05-15T01:09:11.000000000Z foo:bar: untag

Signed-off-by: Ahmet Alp Balkan
cc: @duglin

:-)

LGTM

just two small questions, LGTM the rest

@runcom @duglin thanks for reviewing. Left some replies.

LGTM


Add feature for supplier submits clarification question

#113828715
The functional tests for the Supplier submits a clarification question story.

:+1:

:sparkles: this has been tested against preview :sparkles:


Since last update (2.0.12), completing a task causes ToDo.txt file to be "lost"

Bug Report
Important
Please follow this template strictly when reporting bugs.
Reports that do not adhere to this template will not be addressed and will be closed.
App Ver: 2.0.12
OS:   Both:  Linux LMDE 6,  Pop!_OS 22.04
Package:  Flatpak
Expected:  After completing an item, ToDo list to be displayed as usual.
Actual:   The app apparently thinks ToDo list is still open, but all To Do items are removed from display.
To recreate:    Open  a ToDo list. Complete an item by clicking the checkbox on the left of the item, when the entire ToDo list is cleared from the display and what is shown is "No ToDos in this file".
The work-around is to close the app and re-open it, where all items are then displayed again. The item that was selected for completion is being completed, so the issue is apparently occurring upon refresh of the list.
Screenshots:
See attached - this is what  I see after completing a ToDo item. There are literally hundreds of ToDo items in the file, though.

@TriggerDingus does this just happen when you finish a task or also, when you create or delete a task?
Is there a file sync running in your environemnt? Syncthing, Dropbox, Google or something similar?

@TriggerDingus also, is this a duplicate of https://github.com/ransome1/sleek/issues/692?

@TriggerDingus does this just happen when you finish a task or also, when you create or delete a task?
Is there a file sync running in your environemnt? Syncthing, Dropbox, Google or something similar?

I know this answer is gonna suck, but it's only upon Completion and it seems to be only for a large percentage of tasks I complete  - maybe 75% of them since the last app update.  I don't yet recognize any particular consistent features of the tasks I'm completing that might trigger this issue, unfortunately. It is happening on two completely different systems of mine, though.  (I sync the same file between them using Syncthing)

@TriggerDingus also, is this a duplicate of #692?

Yes, it actually is. I did a search for the issue assuming others were experiencing it as well but apparently I didn't use the right search terms.

Then let me suggest we handle it over at https://github.com/ransome1/sleek/issues/692. Closing here.


tools/curations: Make several Gradle tasks non-abstract

These tasks don't need to be abstract as they don't have any abstract functions. So, drop the abstract keyword in favor of open, as Gradle tasks are required to be non-final.

Looks like AbstractGenerateCurationsTask itself can be just open, too. Would you mind doing that change, and while at it also rename the class to not contain "Abstract" anymore?