Test generators for kzg-4844 libraries

Based on #3272.
Tests to be written for

[x] compute_kzg_proof
[x] verify_blob_kzg_proof
[x] verify_blob_kzg_proof_batch
[x] blob_to_kzg_commitment
[x] verify_kzg_proof
[x] compute_blob_kzg_proof

Great work!
Some installation errors:
Linux (CircleCI)
Operating System: Ubuntu 20.04.5 LTS
OSType: linux
Architecture: x86_64
Python: CPython 3.8
Collecting py_arkworks_bls12381==0.3.1
  Downloading py_arkworks_bls12381-0.3.1.tar.gz (11 kB)
  Installing build dependencies ... - \ | / done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... - error
    ERROR: Command errored out with exit status 1:
     command: /home/circleci/specs-repo/venv/bin/python3 /home/circleci/specs-repo/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpomv4ghkj
         cwd: /tmp/pip-install-3wfzp7my/py-arkworks-bls12381_1a72aa3f75004b0cad637ad55afd6093
    Complete output (6 lines):

    Cargo, the Rust package manager, is not installed or is not on PATH.
    This package requires Rust and Cargo to compile extensions. Install it through
    the system's package manager or via https://rustup.rs/

    Checking for Rust toolchain....
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/80/36/e237fbcf36960097892686f34414cef260132f04299619e7e6d4d0f4858b/py_arkworks_bls12381-0.3.1.tar.gz#sha256=6eb0f01d4545747626753fe5baf4c2a1ff014b03a7eb6531a6941ee5e6d5bce6 (from https://pypi.org/simple/py-arkworks-bls12381/) (requires-python:>=3.7). Command errored out with exit status 1: /home/circleci/specs-repo/venv/bin/python3 /home/circleci/specs-repo/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpomv4ghkj Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement py_arkworks_bls12381==0.3.1 (from eth2spec[lint]) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.2.0, 0.2.1, 0.3.0, 0.3.1)
ERROR: No matching distribution found for py_arkworks_bls12381==0.3.1

macOS
CPU: M1 pro
Python: pypy3.9
Building wheels for collected packages: py_arkworks_bls12381
  Building wheel for py_arkworks_bls12381 (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for py_arkworks_bls12381 (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      Running `maturin pep517 build-wheel -i /Users/hww/dev/consensus-specs/venv/bin/python3 --compatibility off`
      🔗 Found pyo3 bindings
      💻 Using `MACOSX_DEPLOYMENT_TARGET=11.0` for aarch64-apple-darwin by default
      error: package `ark-ff v0.4.1` cannot be built because it requires rustc 1.63 or newer, while the currently active rustc version is 1.61.0
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `"cargo" "rustc" "--release" "--manifest-path" "/private/var/folders/zf/7y9f1tzn2y33y9601hsthq_40000gn/T/pip-install-m_okx_w7/py-arkworks-bls12381_0cc61e4af6c84c97824e35b118764cfd/Cargo.toml" "--message-format" "json" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C"<EMAIL_ADDRESS>      🐍 Found PyPy 3.9 at /Users/hww/dev/consensus-specs/venv/bin/python3
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/Users/hww/dev/consensus-specs/venv/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for py_arkworks_bls12381
Failed to build py_arkworks_bls12381
ERROR: Could not build wheels for py_arkworks_bls12381, which is required to install pyproject.toml-based projects
WARNING: You are using pip version 22.0.4; however, version 23.0.1 is available.
You should consider upgrading via the '/Users/hww/dev/consensus-specs/venv/bin/python3 -m pip install --upgrade pip' command.
make: *** [install_test] Error 1

IIUC, milagro_bls_binding also uses maturin. It looks like py-arkworks-bls12381 distributions only support CPython 3.11+arm64 now: https://pypi.org/project/py-arkworks-bls12381/#files
@kevaundray could you make py to support Python >=3.8 (CPython & PyPy) and different platforms? 🙏

@kevaundray do you have some py-ecc v.s. arkworks benchmarks of the pairing? Once we make CircleCI pass, we can try to see if this PR also makes #3255 CircleCI pass.

@hwwhww I will prepare benchmark numbers + a script to verify and make the modifications that you mentioned above :)

@hwwhww
Ran benchmarks on my laptop MacBook Pro M1.
Reproduce
To reproduce from source, you can do the following:

Checkout commit
Setup virtual environment
python3 -m examples.benches.bench

To reproduce from pypi:

Download a version >0.3.2

Py-ecc benchmarks
pairingsGen<PHONE_NUMBER>0001303 ms
pairings<PHONE_NUMBER>0001445 ms
multiplyG1 0.8747412499906204 ms
multiplyG2 3.522136249994219 ms
addG1 0.018061249993479578 ms
addG2 0.07142667000152869 ms
G1_to_bytes48 0.001760420000209706 ms
G2_to_bytes96 0.0599379200139083 ms

Arkworks benchmarks
pairingsGen 1.298829099869181 ms (~133x)
pairings 1.2997874999200576 ms (~135x)
multiplyG1 0.021608329989248887 ms (~40x)
multiplyG2 0.06284999999479624 ms (~58x)
addG1 0.0006941699939488899 ms (~28x)
addG2 0.0021008399926358834 ms (~35x)
G1_to_bytes48 0.00037416999475681223 ms (~4.5x)
G2_to_bytes96 0.0005658299960487057 ms (~104x)

Notes
pairings vs pairingsGen
I store the points in Projective coordinates, but arkworks requires pairing input to be in Affine coordinates. This will incur a cost.
pairingsGen is just the generators being used to which arkworks can optimise as the conversion from Projective to Affine since z=1.
pairingsGen will replace one of the pairings with two points which don't have z=1, to see if there is a noticeable cost.

I've added a lot more distributions and have updated setup.py here to use 0.3.2
See here for added distributions

@kevaundray Thank you! CircleCI (Linux) installation succeeds now.
But for macOS, I only see Python 3.10 and Python 3.11 distributions:

py_arkworks_bls12381-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
py_arkworks_bls12381-0.3.2-cp311-cp311-macosx_10_7_x86_64.whl
py_arkworks_bls12381-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
py_arkworks_bls12381-0.3.2-cp310-cp310-macosx_10_7_x86_64.whl

Any chance you could also upload CPython 3.8 and 3.9 support? Python3.8 is the minimum requirement of eth2spec.
I guess it's still early for PyPy+macOS+arm64 distribution so you can skip it for now. (Also, PyPy only provides 3.8 and 3.9 support now. 🥲)

I managed to install it with a CPython 3.10 env on the same machine. The test case that used to take me ~30s to run now it's just 6.03s with --bls-type=fastest! 🚀 🚀

@hwwhww I've pushed a 0.3.3 which now uses 3.8 :)

@hwwhww if tests are generated using py-arkworks specifically and not via the bls interface, we can probably reduce the six seconds further via py-arkworks specific functions!

So either there's something wrong with the tests or something wrong with ckzg. When tested against ckzg, there are failures in compute_blob_kzg_proof, verify_blob_kzg_proof, and verify_blob_kzg_proof_batch, such as:
AssertionError: ../../newtests/compute_blob_kzg_proof/small/compute_blob_kzg_proof_case_valid_blob_94b2a33de83f0ee5/data.yaml
proof.hex()='97425e513a683f1d90a8ebadf84b8f60576e41270272a5561714c450fc904e9eb44f15d8ea37f7672739e82a8f5eb671'
expected_proof.hex()='b1f94037a955facd0540d16dc23533d7f6e6fbe0573af591ca6a2a641edbb8fe3f7feb1df3d82d739f08d99a4abca36c'

AssertionError: ../../newtests/verify_blob_kzg_proof/small/verify_blob_kzg_proof_case_correct_proof_5caa8bb4962217cb/data.yaml
valid=False
expected_valid=True

AssertionError: ../../newtests/verify_blob_kzg_proof_batch/small/verify_blob_kzg_proof_batch_case_9176f3148be71345/data.yaml
valid=False
expected_valid=True

All of the test cases for the other functions pass, so I suspect there's an issue with compute_blob_kzg_proof that's causing failures in the verify functions.

So either there's something wrong with the tests or something wrong with ckzg. When tested against ckzg, there are failures in compute_blob_kzg_proof, verify_blob_kzg_proof, and verify_blob_kzg_proof_batch, such as:
AssertionError: ../../newtests/compute_blob_kzg_proof/small/compute_blob_kzg_proof_case_valid_blob_94b2a33de83f0ee5/data.yaml
proof.hex()='97425e513a683f1d90a8ebadf84b8f60576e41270272a5561714c450fc904e9eb44f15d8ea37f7672739e82a8f5eb671'
expected_proof.hex()='b1f94037a955facd0540d16dc23533d7f6e6fbe0573af591ca6a2a641edbb8fe3f7feb1df3d82d739f08d99a4abca36c'

AssertionError: ../../newtests/verify_blob_kzg_proof/small/verify_blob_kzg_proof_case_correct_proof_5caa8bb4962217cb/data.yaml
valid=False
expected_valid=True

AssertionError: ../../newtests/verify_blob_kzg_proof_batch/small/verify_blob_kzg_proof_batch_case_9176f3148be71345/data.yaml
valid=False
expected_valid=True

All of the test cases for the other functions pass.

Seems like a bug was found -- ckzg was not following the spec! See https://github.com/ethereum/c-kzg-4844/pull/168 for a fix!

That was a c

I think it's fine to merge it now and then @kevaundray can add more bls.py fixes later. Please use squash and merge for the 45 commits. pray
But also see @jtraglia pointed out that the new test vector found inconsistency between pyspec or c-kzg, should we address that in this PR? (or the issue may be in c-kzg?)

that was a c-kzg bug after all!


When at ?page=2 and do a hard refresh the paginator change to page 1

Hi, when I do a hard refresh at page=2, the paginator-box component goes back to page=1.

Show your component call and input parameters pls.

Hi, I called the component like this:
<PaginationBox
            startPage={this.startPage.bind(this)}
            edgeLinks={false}
            hrefPrefix={`?q=${this.state.searchString}&page`}
            items={this.state.total_count}
            limit={this.state.per_page}
            selectHandler={this.page.bind(this)} />

The startPage function is exactly like what was on the README.
When clicking on the component itself, the page number and URL changes, no issues. But when doing a hard refresh on the browser, the component jump to page=1 :(

Here a demo of it

You url is more difficult and you need change startPage function like that:
startPage: function () {
        var loc = window.location.href, search = loc ? loc.split('=') : 0;
        return search[2] ? search[2] : 1;
    }

No luck on that. It seems that the startPage function is not being called. I have remove the function body and just include a console.log and can confirm that startPage was not called either during paging or refreshing.

I find problem. I'll try to fix it soon

:+1:

I update npm package. Now it should work correctly. But you still have to use the second variant startPage.

Tks for the fix!


User-defined authentication class cannot retry after the session expires and reconnects

Because the scheme name of the custom authentication class is not digest, retry will not be triggered when the session expires and reconnects.
https://github.com/python-zk/kazoo/blob/34cdd60f26ff790618244450fd648b77f9f1353c/kazoo/protocol/connection.py#L726

I believe this issue was already resolved in the 2.7.0 release.
Can you please confirm you do not see this issue when using the latest kazoo?


Play/stop icons for "Continue at end" option

Swapping the icons instead means it'll no longer be in "disabled" state aka both states will be clickable for the future swapping
Godot changed editor scale for all icons to 1.0 so I guess I'll do that as well

I'll need some images of this change before merging. I choose a way where the icon will not interfere with command flow in timeline displayer, enabling and disabling the icon.

Isn't 1 scale too big?

Doesn't seem to affect anything, it's an import setting while the real scale is adjusted by ui


Added lines to include the links which would give the preview of Abou…

…t Page
The changes include addition of two links which will show images of the About Page.

@raisedadead I think this PR is invalid.


Make update depdendency job compatible with ORM pull requests

That would've been to easy if that worked on the first try 😄 (with the repo and branch)
I've followed these commands https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally?tool=webui
There are two options now -- we can build from a fork repo using [repo URL + branch name] or we can build from a pull request [repo URL + PR id]
https://ci.hibernate.org/blue/organizations/jenkins/hibernate-search-personal-marko/detail/build%2Fupdate-update-job-6-2/2/pipeline/7

Works for me, please don't forget to forward-port to main


Switch to base-pom

Like for syndesis-rest. Also important for aligning for a monorepo setup.
Would this be hard, @zregvart ? // cc @iocanel

Would this be hard, @zregvart ? // cc @iocanel

Not so hard I think, perhaps we could also have a standalone syndesis-partent POM for rest, verifier and connectors?

yes, which we will have anyway when moving to syndesisio/syndesis ....


CSP-823 : Disable caching on server side

In order to support Schema Registry HA, disabled caching on the server side.

@guruchai, please have a look at this when you get time.


Nonce only for script-src and not style-src

Is there a way to use nonce only for script-src and not for style-src?
Because nonce are automatically added to script-src and style-src even if only one nonce is declared to a <script> tag => 'unsafe-inline' is no longer considered valid for style-src.

@stof That is working. Thanks for your answer.


(maint) bolt-pdb-inventory shouldn't error without config

Wen would this be useful? And how did it fail before?

CLA signed by all contributors.

Now Rubocop's complaining.


Use boolean value for publish only option

(would be a minor bump)

If I remember correctly , this was supposed to be a string that gets appended to the identity like "identity#publish" so it should remain a string ?
@davidzhao or @cnderrauber Can you please confirm ? 🙂


Error with the switch api

In my config, I have a switch connected to one of the port of the freebox delta switch.

When I activate the switch API, I get this error ERROR [freebox_exporter_rs::mappers] invalid type: map, expected a sequence at line 1 column 765 and it result in no metrics being sent to prometheus.
Is it possible to make the exporter handle this type of setup ?

Hi @andy3469, to help you can I have more details about this issue ?
Such as :

Processor architecture
Did you build sources yourself?
Can you change the log level to Debug in config file and provide the logs when the error occurs?
Does your Freebox is in bridge mode ?

Also do your device have a dedicated mac address, is it a simple switch like a hub and not a router?

The server running the exporter as an AMD processor so x86 and I use the docker container to run the exporter.
When changing the log level to Debug there isn't more logs when the error occurs kind of like the container doesn't care about the log level.
The ethernet 1 port is the server and the ethernet 4 port is a simple switch from d-link with no mac address as it's not programmable.


[QUERY] How to get amount of token using OpenAI

Title
I want to get the total amount of tokens using openai for single task
Description
I got from openai debug
'x-ratelimit-limit-tokens': '30000'
'x-ratelimit-remaining-tokens': '18305'

I heard that its difference is exactly the amount of spent token for request, is that true?
Additional Context
But anyway I want to have an ability to get the total amount of spent token for one task

u can  use  openai's tiktoken  to encode the return result  of  get_dom_with_content_type()   in
ae/core/skills /get_dom_with_content_type.py, which the total process can be  encapsulated in a self-defined function

@aBabken We use Autgen agentic framework under the covers. It makes the calls to openai. It has an accounting component, howeve, it is only partially accounting due to a bug in the way it works. We have filed this with autogen. Hoping they address it soon, if not, we will have to figure out a way to hack through the library. If you figure out a way and want to post a PR, please feel free.


[UX] Detect and warn when fork is missing for pull-request:create

When you are create a new pull-request but forgot to fork (or there is a name mismatch) you get Not Found (GitHub). This is not very helpful.
To not affect the speed to much, simple execute the operation and the catch the exception.
When it's a 404 check if the fork exists, and give a helpful message.
The remote fork "sstok/gush" doesn't seem to exists.

* You need to fork the source repository before you can use this command.
* There could a name mismatch, Gush asserts your fork has the same name as the source repository,
  use the `--source-repo` option if you use a different name.
* If you don't want to use a fork, use the `--source-org` and `--source-repo` options.

OK name mismatches are actually no problem (as long as the original repository had this name, long life redirects) 🙃

ARE KIDDING ME 💀 GitHub now automatically clones the repository for you 😳😂 Well that was an easy fix 😄


sending multiple positions in one request

The code in TrackerEventHandler.messageReceived() checks if the message is a list and inserts them over a loop.
How do we send multiple messages using https://www.traccar.org/osmand/ request?

You send them as separate requests.


Bugfix/unr 3992 replicating actors with nonreplicating owners

Description
We only want to AddOwnerInterestOnServer if the owner is replicating, otherwise we get the warning "Interest for Actor  is out of date because owner  does not have an entity id."
Release note
Release note added.
Tests
Verified the warning no longer fires on our project.
Documentation
Release note.
Primary reviewers
@m-samiec @ImprobableNic

I actually should do a followup to check what happens with load balancing in general since we follow the Owner in hierarchies.

@cmsmithio this has gone into master, will you merge it locally or should we preport this to the rc?

@m-samiec We have it merged locally.  I can pull it into the rc as well if you like.

I have the other PR to preport as well, I'll add this one.


Get-PowerBIActivityEvent Returning [] - Empty Results

Ever since this Tuesday (June 1st, 2021), the normal script I run on a weekly basis to pull Activity data from Power BI started returning null values. I normally export CSV, and if I am pulling one day or looping multiple days I cannot get any data.
I updated all PowerBIMgmt modules and imported them, but no luck.
I tried in both PowerShell ISE and Visual Studio Code.

It's doesn't seem to be something related to the cmdlet specifically. Are you able to get response directly when calling API directly? https://docs.microsoft.com/en-us/rest/api/power-bi/admin/getactivityevents

No go. Tried even in the docs.microsoft.com REST API Try It window:

What you get back is by design from try it. ActivityEvents response is paginated by hour, if you keep calling with continuationToken value, you'll get response from next hour. You get complete results by repeat this until there's no continuationToken exists in response.
Get-PowerBIActivityEvent will do above steps for you and I hope you can try again from this cmdlet and take a fiddler trace, see if there's any call failed with api.powerbi.com.

It seems now that there was only a lapse between May 26th - and May 31st with the [] results. I am now able to collect data june 1st and forward.


Provide Webpack setup path

Like turbo-rails, it would be nice if this gem could double as an install script for Tailwind CSS on Webpack. If Webpack is detected, we run tailwindcss:install:webpack.

I'd like to mention that trying to install Tailwind CSS with Webpacker manually, got this issue.

I'd like to mention that trying to install Tailwind CSS with Webpacker manually, got this issue.


Straight line configuration when using random guess

Sometimes when using the random guess method (as described in https://github.com/ubsuny/23-Homework7G4/issues/54) I get a configuration that looks like this

Is this valid? I know we're not looking for it but I'm curious if this actually works or if it's just kind of a fluke. It happens reasonably often

I have achieved a much stranger configuration

Another one, I think sometimes the issue is if some start really far away from the rest they stabilize there

At this point I will use this to document configurations that I think are technically incorrect but arise from the optimization and may be useful. Here's one that looks kind of like number 5

with

Looks like it could be 4 or 6 but not quite? Unsure

Been filtering them out, but got another relatively unique  (?) one

Also increased the dot size so I don't have to squint as much

At this point I am starting to wonder if for the more complex configurations this is a monkeys and typewriters type of situation but I will persist a little longer

Finished using this method (for now at least) so I'll close this issue


Is it possible to have all fields of the helper extension class that are of type "Array" return strings directly?

I searched and google no results about it.
I know can use String.fromCharCode(detail.title[0]) to convert one letter, but the Array type no length field, I don't know it how long, can not use for...i to convert all element to string.
And can not convert to List.

I searched for it but it seems like there is no easy way
https://github.com/dart-lang/ffigen/issues/504
I am open to ideas

I searched for it but it seems like there is no easy way
dart-lang/ffigen#504
I am open to ideas

I try to use:
String arrayToString(Array<Char> array) {
  final stringList = <int>[];
  var i = 0;
  while (array[i] != 0) {
    stringList.add(array[i]);
    i++;
  }
  print('array $stringList');
  return String.fromCharCodes(stringList);
}

output
array [-25, -84, -84, -28, -72, -128, -28, -72, -86, -27, -120, -101, -26, -124, -113, -27, -73, -91, -27, -99, -118, -28, -67, -100, -27, -109, -127]

The stringList elements are all of number less than 0, convert failed.
The real string is chinese: '有文件的创意工坊作品'

You might want to try utf8 encoding the values

Tried, failed too
No one encode value will less than 0 ?

Try this: stringList.add(array[i] & 0xFF)
Then utf8.decode(stringList);

Try this: stringList.add(array[i] & 0xFF)
Then utf8.decode(stringList);

Chinese Worked.
Emoji Worked.
Is it possible to temporarily replace the Array property of the helper class with this function?

Works well for other languages too.

you can write the following extension(not tested):
import "dart:convert";
import "dart:ffi";
import "dart:typed_data";

extension ArrayCharExtensions on Array<Char> {
  String toDartString() {
    var bytesBuilder = BytesBuilder();
    int index = 0;
    while (this[index] != 0) {
      bytesBuilder.addByte(this[index]);
      ++index;
    }

    var bytes = bytesBuilder.takeBytes();
    return utf8.decode(bytes);
  }
}

you can write the following extension(not tested):
import "dart:convert";
import "dart:ffi";
import "dart:typed_data";

extension ArrayCharExtensions on Array<Char> {
  String toDartString() {
    var bytesBuilder = BytesBuilder();
    int index = 0;
    while (this[index] != 0) {
      bytesBuilder.addByte(this[index]);
      ++index;
    }

    var bytes = bytesBuilder.takeBytes();
    return utf8.decode(bytes);
  }
}

I forgot this operation 🤣


How about swift 3 support ?

I've converted project to Swift 3 here: https://github.com/Clean-Swift/CleanStore/pull/15.

@rayvinly Are you still actively maintaining this project?

There are 2 active Swift 3 branches that must be reviewed and merged.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Great.  Thank you.
On October 25, 2016 at 14:29:13, Cristian Azov<EMAIL_ADDRESS>wrote:
There are 2 active Swift 3 branches that must be reviewed and merged.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Clean-Swift/CleanStore/issues/14#issuecomment-256126333,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEV_Aln4-E88LBKTi3YuYkR3FI3af3M8ks5q3km_gaJpZM4KL8ps
.

Did you fork it? Or is there an active branch that we can pull request to?

Pls close, master is now Swift 4.


Buttons have rounded corners

resolves #41
Note. You need pygame 2.0.0.dev8 for this to work.

I'm done ok? I'm done.


Typescript export interfaces

Hi,
is I just installed 4.0.0., but I cannot import interfaces from your library. Can you please export those interfaces?
Thanks you

The update has been published to npm, fyi @Radik24
cc @tmaurer3

Thank you! @wju @tmaurer3


delete old files and upload updated scripts

delete old files and upload updated scripts

no conflict with the base branch. okay to merge.


Troubles with visualisation

Hello, I am having troubles with visualising using the few commands of code here, I am hoping you could advise me.
This is the training and testing codes:

This is the one for learning curves which I have no problems in generating

For Learning curves
I cannot seem to figure what files i could use for the probability and ground truth and not sure if they are the correct ones.

For Confusion matrix
Same issue, not sure which are my fields are, hence I am getting many errors.

For further information, the only data that appear in my results are as follows:

It would be great if you could advise me . Thank you very much.

@SSicaaJL we're going to work on improving the visualization documentation. In the meantime, follow this for confidence thresholding:
def confidence_thresholding_cli(
        probabilities,
        ground_truth,
        ground_truth_split,
        field,
        **kwargs
):
    """Load model data from files to be shown by confidence_thresholding.

    :param probabilities: Path to experiment probabilities file
    :param ground_truth: Path to ground truth file
    :param ground_truth_split: Type of ground truth split - train, val, test
    :param field: Target prediction field
    :param kwargs: model configuration arguments
    :return None:
    """

for confusion matrix:
def confusion_matrix_cli(test_statistics, ground_truth_metadata, **kwargs):
    """Load model data from files to be shown by confusion_matrix.

    :param test_statistics: Path to experiment test statistics file
    :param ground_truth_metadata: Path to ground truth metadata file
    :param kwargs: model configuration arguments
    :return None:
    """

sorry for the late response.

@SSicaaJL
The filed parameter is the name of the column / output feature you want to visualize. In your case it would be field = "RainTomorrow".
For the learning curves:
I don't know how you obtained train_stats. If you got it from the API model.train() you can use it as it is, otherwise you just have to load the training_statistics.json file that was saved at the end of training. After you do that learning_curves(train_stats, field, output_directory=output_dir, file_format='png') should work.
For the confusion matrix:
just use the field parameter as i specified and your command should work.
Will update the docs to try to explain better what is field.


A method to get a column name by index.

@haroon-sheikh Thanks a lot for the PR!! 🎉 Here are a few observations.

Instead of creating a new Exception type i.e. ColumnNotFoundException, we can just throw standard IndexOutOfBoundsException and set appropriate error message. The custom exception doesn't have any useful info/behavior other than the message. Also, columns or headers is a list and this case is same as accessing an element not in list.

Thanks for improving javadocs in class GaugeConnection also.

thanks @apoorvam for the feedback. I've now amended the exception.

Thanks for your contribution! 🎉 The PR is merged and the changes will be available in next Gauge-Java release.


Add support for UTCNow, UTCToday, IsUTCToday

Now(), Today(), IsToday() are taking the time zone of the "current user", which is not ideal for server-side product to consume.
Can we support UTCNow, UTCToday, IsUTCToday, like how Microsoft Dataverse has it, as mentioned in the documentation?

Note to implementors - this should use the same time service / dependency injection that we use for Now(), Today(), etc.

As a mitigation, the engine can set the current timezone to UTC and call Now()
https://github.com/microsoft/Power-Fx/blob/631173631d3b4ab9dd06d6fe2d3a2a2451c100cf/src/tests/Microsoft.PowerFx.Interpreter.Tests/RecalcEngineTests.cs#L839

Thanks Mike for the suggestion. I played around with it. Now() works as expected after setting the time zone, but it didn't work for other scenarios:

Test cases
Value

C#'s DateTime.UtcNow
2022-11-18T00:45:19.9013114Z

C#'s DateTime.Now
2022-11-17T16:45:19.9013114-08:00

1
myDateTime (which is FormulaValue.New(DateTime.Now))
2022-11-17T16:45:19.9013114-08:00

2
myDateTime, with SetTimeZone(TimeZoneInfo.Utc)
2022-11-17T16:45:19.9013114-08:00
How can I make it to be in UTC?

3
Now()
2022-11-17T16:45:19.9013114-08:00

4
Now(), with SetTimeZone(TimeZoneInfo.Utc)
2022-11-18T00:45:19.9013114Z

5
DateTime(2022,11,17,1,0,0)
2022-11-17T01:00:00.0000000

6
DateTime(2022,11,17,1,0,0), with SetTimeZone(TimeZoneInfo.Utc)
2022-11-17T01:00:00.0000000
How can I make it to be in UTC?

7
IsToday(DateTime(2022,11,17,1,0,0))
True

8
IsToday(DateTime(2022,11,17,1,0,0)), with SetTimeZone(TimeZoneInfo.Utc)
True
This seems wrong to me. Looks like IsToday is just checking the local time here. Likewise for Today()

In general, I'd like all date times to be treated as UTC unless specified explicitly. Out of all the test cases above, 2, 6 and 8 seems incorrect to me. Is there some other config I should tune to make them in UTC?
I'm also curious to learn the why we're blocking DateTimeValue() be created when System.DateTimeKind is UTC. Ideally, we'd like to be able to do something like Formula.New(DateTime.UtcNow). Not absolutely necessary though.
In case you're curious about the test code --
// Setup
var engine = new RecalcEngine(
    new PowerFxConfig(System.Globalization.CultureInfo.InvariantCulture));
var utcNow = DateTime.UtcNow;
var localNow = utcNow.ToLocalTime();

Console.WriteLine($"UTC now: {utcNow.ToString("o")}");
Console.WriteLine($"local now: {localNow.ToString("o")}");

var symbolTable = new SymbolTable();
symbolTable.AddVariable("myDateTime", FormulaType.DateTime);

var parse = engine.Parse("myDateTime");
var evaluator = engine.Check(parse, null, symbolTable).GetEvaluator();

// Test local now as variable
var symbolValues = new SymbolValues().Add("myDateTime", FormulaValue.New(localNow)); // DateTimeKind.Utc is not allowed here...
var result = await evaluator.EvalAsync(default, symbolValues).ConfigureAwait(false);
Console.WriteLine($"PowerFX eval 'myDateTime': {((DateTime)result.ToObject()).ToString("o")}");

// Test again, but with SetTimeZone()
symbolValues.SetTimeZone(TimeZoneInfo.Utc);
result = await evaluator.EvalAsync(default, symbolValues).ConfigureAwait(false);
Console.WriteLine($"PowerFX eval 'myDateTime', w/ UTC timezone: {((DateTime)result.ToObject()).ToString("o")}");

// Test Now()
parse = engine.Parse("Now()");
evaluator = engine.Check(parse, null, symbolTable).GetEvaluator();
result = await evaluator.EvalAsync(default, new SymbolValues()).ConfigureAwait(false);
Console.WriteLine($"Now(): {((DateTime)result.ToObject()).ToString("o")}");

// Test Now() again, but with SetTimeZone()
result = await evaluator.EvalAsync(default, symbolValues).ConfigureAwait(false);
Console.WriteLine($"Now(), w/ UTC timezone: {((DateTime)result.ToObject()).ToString("o")}");

// Test DateTime 'literal'
parse = engine.Parse("DateTime(2022,11,17,1,0,0)");
evaluator = engine.Check(parse, options: null, null).GetEvaluator();
result = await evaluator.EvalAsync(default, new SymbolValues()).ConfigureAwait(false);
Console.WriteLine($"DateTime(2022,11,17,1,0,0): {((DateTime)result.ToObject()).ToString("o")}");

// Test DateTime 'literal', but with SetTimeZone()
result = await evaluator.EvalAsync(default, symbolValues).ConfigureAwait(false);
Console.WriteLine($"DateTime(2022,11,17,1,0,0)), w/ UTC timezone: {((DateTime)result.ToObject()).ToString("o")}");

// Test IsToday()
parse = engine.Parse("IsToday(DateTime(2022,11,17,1,0,0))");
evaluator = engine.Check(parse, options: null, null).GetEvaluator();
result = await evaluator.EvalAsync(default, new SymbolValues()).ConfigureAwait(false);
Console.WriteLine($"IsToday(DateTime(2022,11,17,1,0,0)): {result.ToObject()}");

// Test IsToday(), but with SetTimeZone()
result = await evaluator.EvalAsync(default, symbolValues).ConfigureAwait(false);
Console.WriteLine($"IsToday(DateTime(2022,11,17,1,0,0)), w/ UTC timezone: {result.ToObject()}");

The time behavior of PowerFX is documented here. Please note the following:

For User local date/times, canvas apps use the time zone of the browser or device, but model-driven apps use the user's setting in Dataverse. These settings typically match, but results will differ if these settings differ.

Also note that the C# DateTime.Now is using the TimeZone information of the computer it is currently executing, which is different from the previous statement from Microsoft Docs.
I have written a blog post some time ago about handling different TimeZones in Dataverse, if that helps. Hint, to break free from the computer TimeZone information you need to use the DateTime.Kind = Unspecified

Here's what I think we should do at the SDK level:
[1] Avoid any direct usage of DateTime.Today / DateTime.Now / DateTime.UtcNow within the code
Those APIs directly use machine specific settings, and instead we need to be using the engine’s settings.
This may fix row 8
[2] Allow FormulaValue.New(datetime) to accept UTC or local time.
Remove this restriction: https://github.com/microsoft/Power-Fx/blob/e38b709dde50f1ed927315f25b9e6b8e1d1688db/src/libraries/Microsoft.PowerFx.Core/Public/Values/FormulaValueNew.cs#L91
This restriction is forcing hosts to call DateTime.ToLocalTime() themselves, which is dangerous since it isn't consistent with engine settings (violates 1 above).
Instead, normalize timezone at point of usage within the engine. The engine will have the settings
This will fix row 1 and 2.
[3] Ensure Fx Functions all honor Engine.SetTimeZone()
Now() does, but DateTime() does not- see row 6 above.
When in Engine.TimeZoneSettings are in UTC, taking this Fx expression:
DateTime(2022,11,17,1,0,0)
And extracting it’s C# DateTime, should produce this:
new DateTime(2022,11,17,1,0,0, DateTimeKind.Utc).ToString("o") "2022-11-17T01:00:00.0000000Z"


Always a list for log/writer

This isn't issue; it's a discussion point.
Do we have or know of any use cases where shouldn't use a list? This is ignoring the tuple situation when the w isn't used.

A pro for "always use list" is that a truly deterministic test would imply a certain order of tell calls.

I like this idea. I think it’s inline with the goal of making this library more specialized for the purposes of testing and moving away from a thin wrapper around RWST. 👍 from me.


app crashing on opening after integration of react-native-hms-iap

Hello @atoool,
Demo application has 3 in-app product types: Consumables, Non-Consumables and Subscription types. You should create an application in AppGallery Connect and enable merchant services, then create the products with Demo App's requested product Ids.
For further detail please take a look at this video and documentation.

@rozeridilar ,
i did completed integration as per the documentation and created application in AppGallery connect, enabled merchant services ,added agconnect-services.json

@atoool great. Lastly, to run demo app properly, you should create in-app products with the requested product ids. In the demo app, you may see product ids in src/utils/Globals.js file.
Here is how your AppGallery Connect should be:

For further details please take a look at this video.


Navbar fixed top and modal popup bug

When opening a modal popup on a page with navbar fixed top, the page below the navbar get wrong horizontal adjustment (padding) compared to the navbar above. This only occors if the page has a vertical scrollbar.
Enviroment:
Bootstrap v4.0.0-alpha.6.
IE11 and Google Chrome Versjon 58.0.3029.110 (64-bit).
Please see attached screenshot.

What version of Windows?

Fixed here : #18441 and will be available in our next release

Thank you so much Johann-S!

I have just installed Bootstrap v4.0.0-beta, but this bug still occurs. Is this still a known issue?

yep we fixed a couple of issues about that see : https://github.com/twbs/bootstrap/issues/23278

I encourage you to try our last dist files :+1:

I use the css files and js files from bootstrap-4.0.0-beta\dist, but still the same problem. When opening a modal popup on a page with navbar fixed top, the page below the navbar get wrong horizontal adjustment (padding) compared to the navbar above. This only occurs if the page has a vertical scrollbar.

Is it exactly this file ? Downloaded from this URL ? https://raw.githubusercontent.com/twbs/bootstrap/v4-dev/dist/js/bootstrap.min.js

Yes, it is exactly that file. Downloaded bootstrap.min.js from the url you provided again now to be 100% sure, but still the same problem. When the modal is displayed the navbar get wrong horizontal adjustment (padding) compared to the page below. This only occurs when the page has a scrollbar.

Please provide a reduce test case with a CodePen and I'll reopen this issue

Here is a CodePen test case that shows the bug:
https://codepen.io/softmaker/pen/aLQKve

Ok I forked your Codepen with our latest change and this bug is still present : https://codepen.io/Johann-S/pen/BwGVvP

Same in 3.3.7

When opening a modal popup on a page with navbar fixed top, the page below the navbar get wrong horizontal adjustment (padding) compared to the navbar above. This only occors if the page has a vertical scrollbar.
Enviroment:
Bootstrap v4.0.0-alpha.6.
IE11 and Google Chrome Versjon 58.0.3029.110 (64-bit).
Please see attached screenshot.

This worked for me: https://stackoverflow.com/a/26883617/6063523
Regards!

@waclaw66 see https://github.com/twbs/bootstrap/pull/27331#issuecomment-425366402

When opening a modal popup on a page with navbar fixed top, the page below the navbar get wrong horizontal adjustment (padding) compared to the navbar above. This only occors if the page has a vertical scrollbar.
Enviroment:
Bootstrap v4.0.0-alpha.6.
IE11 and Google Chrome Versjon 58.0.3029.110 (64-bit).

This is pretty old, so sorry for digging up a 1.5 year old issue, but I don't see this problem changing in v4 or v5. We're anticipating a specific layout with fixed/sticky top navbars (where they are edge to edge). If you're customizing the layout to not do that with the auto margins, drop the .fixed-top/.sticky-top and there's no more shifting.
https://codepen.io/emdeoh/pen/jOMpogJ

This is pretty old, so sorry for digging up a 1.5 year old issue, but I don't see this problem changing in v4 or v5. We're anticipating a specific layout with fixed/sticky top navbars (where they are edge to edge). If you're customizing the layout to not do that with the auto margins, drop the .fixed-top/.sticky-top and there's no more shifting.
https://codepen.io/emdeoh/pen/jOMpogJ


i18n Support

Hi there,
I was wondering if you have any plans to support i18n or any multi-language feature in your project's roadmap?
I understand that there are various i18n packages available, but since I have forked this project and added customized features, it would be difficult to merge with your new features in the future. Therefore, it would be greatly appreciated if you could consider adding i18n support to make the integration process easier.
For this Next.js project, perhaps the next-i18next package could be used to achieve this goal.
For example:
import { useTranslation } from 'next-i18next'

export const Footer = () => {
  const { t } = useTranslation('footer')

  return (
    <footer>
      <p>{t('description')}</p>
    </footer>
  )
}

Thank you for your consideration!

Hi @DysonMa, there are no plans to add this to the starter. The starter is simply meant as a starting point or a source of inspiration for how you can build a storefront for a Medusa server.
We will most likely be revisiting the starter at some point later this year when we start working on implementing a storefront component library - https://github.com/medusajs/medusa/discussions/2856. When we do that we will definitely consider it, but I can't make any promises 🙂
My suggestion to you would be to implement it in your own storefront.
Closing for now

Hello, I am currently working with this template, practicing a little and I would like to know what the root file (_app.js) is so I can configure the i18n https://www.i18next.com/overview/getting-started tool to use it as you propose, friend, could you explain to me where I can locate the configuration in the template?


Support longer token symbols via wallet_watchAsset

This increases the maximum token length that can be suggested via wallet_watchAsset from 6 to 11, which matches the maximum symbol length for custom tokens added on the MetaMask extension.

Thanks for the reviews! Marking this as "DO-NOT-MERGE" for now until the mobile team has signed off on this.

Removing the DO-NOT-MERGE label, as it seems everyone on the mobile team has signed off on this.


Add separables filters

complete the separable filter list:

maximum_separable_2d|3d_x.cl
minimum_separable_2d|3d_x.cl
mean_separable_2d|3d_x.cl
gaussian_blur_separable_2d|3d_x.cl

need test for mean and gaussian still
need to verify that it works well in 2d and 3d

just missing the test for the mean_separable, I don't get what is suppose to be the output value.
Not important as the mean2dsphere seems to do the job.


U414/t444 collision system

Multithreaded the collision system.
To make it threadsafe changes to Transform's getMatrix and BoundingBox's getCorners were needed so those functions have had their names changed to clarify what it is that they do.
Also fixed #376 to make testing easier.
Use commit 7bbef3e9978674ac654e86b47e3a0c0b0a9f069c to compare it with the single threaded version by setting the OLD_COLLISION_SYSTEM define in CollisionSystem.cpp

Requested changes have been added and latest dev has been merged into the branch

This is now ready to be merged into dev


LITE-19980: Add bump command for updating eaas runner version

Codecov Report

Merging #69 (3554a95) into master (92f75d5) will decrease coverage by 0.03%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master      #69      +/-   ##
==========================================
- Coverage   88.86%   88.83%   -0.04%
==========================================
  Files          49       49
  Lines        3485     3520      +35
  Branches      575      580       +5
==========================================
+ Hits         3097     3127      +30
- Misses        276      278       +2
- Partials      112      115       +3

Impacted Files
Coverage Δ

connect/cli/plugins/project/extension_helpers.py
95.74% <83.33%> (-3.36%)
:arrow_down:

connect/cli/plugins/project/commands.py
100.00% <100.00%> (ø)

connect/cli/plugins/project/constants.py
100.00% <100.00%> (ø)

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 92f75d5...3554a95. Read the comment docs.


Router Rate-limiting seems broken in v2.4.0

Environment info:

KrakenD version: Version: 2.4.0
System info: Linux 4.18.0-425.3.1.el8.x86_64 x86_64
Hardware specs: Irrelevant
Backend technology: Irrelevant
Additional environment information: Irrelevant

Describe the bug
Router Rate-limiting stopped working since version 2.4.0. Different combinations of capacity, max_rate and every have been tested on multiple different endpoints/backends.
Your configuration file:

{
  "version": 3,
  "port": 8080,
  "host": ["http://<IP_ADDRESS>:8080"],
  "debug_endpoint": true,
  "endpoints": [
    {
      "endpoint": "/rl-test",
      "extra_config": {
        "qos/ratelimit/router": {
          "max_rate": 1
        }
      },
      "backend": [
        {
          "url_pattern": "/__debug/default"
        }
      ]
    }
  ]
}

Commands used
How did you start the software?
krakend run -c krakend.json

seq 1 200 | xargs -n1 -P10  curl http://localhost:8080/rl-test

Expected behavior
KrakenD replies with error due to rate limit exceded.
Logs
v2.3.2:
[GIN] 2023/06/30 - 17:41:24 | 200 |     312.181µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:41:24 | 200 |    1.049689ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:41:24 | 200 |      21.623µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:41:24 | 200 |     251.617µs |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:41:24 | 503 |       9.958µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |       6.827µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |        2.26µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |       6.404µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |       6.034µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |        6.02µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |       6.865µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded
[GIN] 2023/06/30 - 17:41:24 | 503 |       19.63µs |             ::1 | GET      "/rl-test"
Error #01: rate limit exceded

v2.4.0:
[GIN] 2023/06/30 - 17:40:44 | 200 |      165.54µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |     426.748µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |    2.683145ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |    3.062392ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |     3.82558ms |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |    7.691049ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |      144.22µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |     6.28419ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |     288.643µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |     426.779µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |    6.347204ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |    7.819164ms |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |      49.678µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |      602.33µs |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |      36.901µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |     225.824µs |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |      39.672µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |     261.591µs |             ::1 | GET      "/rl-test"
[GIN] 2023/06/30 - 17:40:44 | 200 |     461.841µs |             ::1 | GET      "/__debug/default"
[GIN] 2023/06/30 - 17:40:44 | 200 |    1.339708ms |             ::1 | GET      "/rl-test"

Additional context
Nothing worth noting.

Hi @mczudowski ,
Thank you for reporting this. It has been fixed in v2.4.1.


Feature: User details will show when clicked on any user

Feature description
On clicking on any of the users in the Ranked Acivity it will show his name and profile in a material dialog box.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I agree to follow this project's Code of Conduct

Assign it to @binayshaw7777

He is doing RR for the point

I want to work on this issue under JWOC


Unexpected ReferenceError: LZMA is not defined fron running DejaVu as a local web app

Tell us where you are using Dejavu (Hosted web app, Chrome extension, Docker Image, Within appbase.io)
Hosted web app
What is the version of Dejavu that you are using?
1.6.1
Describe the issue that you are seeing, or the feature request :-), include any screenshots as necessary.

I keep trying to run dejavu locally as a web app on top of ElasticSearch, started this way: yarn start directly meaning regardless of docker, and rendered through Firefox: http://localhost:1358/live/
However I have this error raised in console.log (web inspector tab).
[WDS] Disconnected!  live.js:25809:5
ReferenceError: LZMA is not defined[Learn More]  JSONURL.js:1:7
[HMR] Waiting for update signal from WDS...  live.js:25941:2
Download the React DevTools for a better development experience: https://fb.me/react-devtools
live.js:46069:9
ReferenceError: Auth0 is not defined[Learn More]

I haven't noticed any logs error that node would have compained about. ElasticSearch logs do not complain either. I paid attention to specify CORS rules in ./config/elasticsearch.yml as expected.

There are some bower dependencies, can you run bower install?

Closing this as it's related to a missing installation step. We have also just migrated off Bower so this shouldn't even happen after the upcoming release.


Run shinyproxy on https (443) only

Hi,
Have tried to set up ShinyProxy on https only. This seems possible as per the documentation - https://www.shinyproxy.io/security/#https-ssl-tls

Note that when only https is available (i.e. no redirects from http configured in nginx), it is required to add the following to the application.yml in order to use forward headers:
server:
useForwardHeaders: true

The problem is that when setting up with https only, NGINX ingress and OpenID, the https scheme is not passed through from the NGINX ingress to the ShinyProxy container which in-turn causes a number of issues with OpenId. Namely:

The Return URL that shinyproxy generates for OpenID on https is generated with http

The reason this happens is due to ShinyProxy using the default codes here - spring-security DefaultOAuth2AuthorizationRequestResolver.java # L141

@garyallenkt Were you able to work around this issue?
Thanks!

Any updates on this issue ?

OpenAnalytics did a great job in helping resolve this.
You should be able to get the latest version of ShinyProxy (2.3.0) and follow the updated documentation here - https://www.shinyproxy.io/security/#https-ssl-tls
Best of luck.

Hi @garyallenkt,
Thank you for your quick response. I tried with the latest version but the issue persists in my case.  I am embedding the entire shinyproxy in Iframe. In order to log, the server redirects the HTTPS connection to HTTP connection which is not allowed by the majority of the browsers.  Do you how I may fix this?
Regards

@fmichielssen

I am using a fork from Telethon kids repo and they use 2.3.0 too, but just to be sure I also pulled openanalytics's image. For your reference, here are my configs.
docker_compose.yaml
version: "3.6"
services:
  nginx:
    image: nginx:alpine
    container_name: tki_nginx
    restart: on-failure
    networks:
      - tki-net
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    ports:
      - 80:80
      - 443:443
    command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
    depends_on:
      - shinyproxy

  certbot:
    image: certbot/certbot
    container_name: certbot
    restart: on-failure
    volumes:
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"

  influxdb:
    image: influxdb:1.7.3-alpine
    container_name: tki_influxdb
    restart: on-failure
    volumes:
      - ./run_first_time.sh:/home/run_first_time.sh
      - type: volume
        source: shinyproxy_usage
        target: /var/lib/influxdb
        volume:
          nocopy: true
    networks:
      - tki-net
    ports:
      - 8083:8083
      - 8086:8086

  shinyproxy:
    depends_on:
      - influxdb
    image: openanalytics/shinyproxy
    container_name: open_analytics_shinyproxy
    restart: on-failure
    networks:
      - tki-net
    volumes:
      - ./application.yml:/opt/shinyproxy/application.yml
      - /var/run/docker.sock:/var/run/docker.sock
    expose:
      - 8080

networks:
  tki-net:
    name: tki-net

volumes:
  shinyproxy_usage:

application.yaml
proxy:
  title: Lorem ipsum

  hide-navbar: true
  landing-page: /
  heartbeat-rate: 10000
  heartbeat-timeout: 600000
  port: 8080
  docker:
    internal-networking: true
  authentication: openid
  openid:
    auth-url: https://lorem-ipsum.auth0.com/authorize
    token-url: https://lorem-ipsumauth0.com/oauth/token
    jwks-url: https://lorem-ipsum.auth0.com/.well-known/jwks.json
    client-id: SUPERCOOL
    client-secret: SUPERCOOLSECRET

  server:
      useForwardHeaders: true
  specs:
  - id: lorem_ipsum
    display-name: Lorem Ipsum
    description:
    container-cmd: ["R", "-e", "shiny::runApp('/root/app')"]
    container-image: lorem/ipsum
    container-network: tki-net
    container-env:
      user: "shiny"
      environment:
        - APPLICATION_LOGS_TO_STDOUT=false
  usage-stats-url: http://influxdb:8086/write?db=shinyproxy_usagestats

and nginx.conf
worker_processes 1;
events {
  worker_connections 1024;
}

http {
  sendfile on;
  upstream tki_shinyproxy {
    server open_analytics_shinyproxy:8080;
  }

  server {
    listen 80;
    server_name example.org;
    server_tokens off;
  }

  server {
    listen 443;
    server_name example.org;
    server_tokens off;

    ssl on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    # SSL
    ssl_certificate /etc/letsencrypt/live/example.orgfullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
      proxy_pass http://tki_shinyproxy;

      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_read_timeout 600s;

      proxy_redirect off;
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
  }
}

Any possible update on this? @garyallenkt @fmichielssen

Managed to fix it.
This code
 server:
      useForwardHeaders: true

needs to be outside proxy:

server is indeed a top-level block and not inside proxy

Unfortunately I am having the same problem with shinyproxy 2.3.1
I have this block outside the proxy block in the application.yml file
server:
useForwardHeaders: true
and I have the Nginx proxy set up exaclty as described in the documentation. I also  (to test if i just had made some dumb ngnix error set up an Apache server and had the exact same problem).
My Nginx config blocks are:
server {
listen                80;
server_name           mydomain.com;
rewrite     ^(.*)     https://$server_name$1 permanent;
}
server {
listen                443 ssl;
server_name           mydomain.com;
access_log            /var/log/nginx/shinyproxy.access.log;
error_log             /var/log/nginx/shinyproxy.error.log error;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate       /etc/pki/tls/certs/divandinc_com.crt;
ssl_certificate_key   /etc/pki/tls/private/divinc.key;
location / {
proxy_pass          http://<IP_ADDRESS>:3600/;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";
   proxy_read_timeout 600s;

   proxy_redirect    off;
   proxy_set_header  Host             $http_host;
   proxy_set_header  X-Real-IP        $remote_addr;
   proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
   proxy_set_header  X-Forwarded-Proto $scheme;
 }

}
Does anyone have any ideas about what might be wrong? or even thoughts about how to fix it?

What's the error? Can you share your config files like how I did? Maybe I can help you

@greenspray thank you for taking a look! I really am so stumped on this! My Nginx config it in the comment above, and this is what my application.yml looks like:
Aside from changing the port and adding the serverforward header line, i have tried to keep everything exactly as it was installed. I even tested this with shiny proxy 2.3.0 since that seemed to be working for everyone on this thread, but that had the same problem.
proxy:
  title: My Title
  logo-url: http://www.openanalytics.eu/sites/www.openanalytics.eu/themes/oa/logo.png
  landing-page: /
  heartbeat-rate: 10000
  heartbeat-timeout: 60000
  port: 3600
  authentication: simple
  admin-groups: scientists
  users:
  - name: jack
    password: password1
    groups: scientists
  - name: jeff
    password: password1
    groups: mathematicians
  # Docker configuration
  docker:
    cert-path: /home/none
    url: http://localhost:2375
    port-range-start: 20000
  specs:
  - id: 01_hello
    display-name: Hello Application
    description: Application which demonstrates the basics of a Shiny app
    container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
    container-image: openanalytics/shinyproxy-demo
    access-groups: [scientists, mathematicians]

server:
  useForwardHeaders: true

logging:
  file:
    shinyproxy3.log

I also tested using apache as the webserver instead, and I have the same problem. My two current theories are that either something is wrong with my application.yml set up , or that because i dont understand proxy/reverse proxy that well something in my proxy block is allowing redirect to http.

@Claire-Kelley  what's your exact error ?

@greenspray9 I am not getting an error ! It works perfectly so that when i go to my website i can see the shiny proxy log in page and it is served over HTTPS (this is the desired behavior). The problem is that when i log in (using simple authentication for now) the page starts being served over HTTP (not HTTPS- this is the problem! )

@ckelley-ct Sorry I have no experience with the type of login you want. Maybe there is some kind of redirect happening?

I have the same problem, did you find a solution?

@HEPBO3AH yes I did - for me the the problem was with the insecure image (the line   logo-url: http://www.openanalytics.eu/sites/www.openanalytics.eu/themes/oa/logo.png in the example code above ). If you change that to an image served over https or remove it, then the problem resolves.

FYI, we have moved the image to https://www.openanalytics.eu/shinyproxy/logo.png

managed to make the reverse proxy with nginx and login securely using simple authentication, but once i try to use openid it fails because it uses http as callback protocol:
https://login.microsoftonline.com/9ac05e7d-e6a1-433a-9801-a60642903c2b/oauth2/authorize?response_type=code&client_id=d1abf394-b312-4717-a1c4-daaeee4f3b28&scope=openid email&state=5ZEbvVrVKBGpwId02I91SNRN-oPSbqkSR9oOlj7PRRQ%3D&redirect_uri=**http://<IP_ADDRESS>/login/oauth2/code/shinyproxy&nonce=EhOFxVuVRksPOxd0hG-CKPDd2s78bhFIzSSC_PPU5-Q**
This is my application.yml
`
proxy:
title: Open Analytics Shiny Proxy
logo-url: https://www.openanalytics.eu/shinyproxy/logo.png
landing-page: /
heartbeat-rate: 10000
heartbeat-timeout: 60000
port: 8080
authentication: openid
admin-groups: scientists
#bind-address: <IP_ADDRESS>
Example: 'simple' authentication configuration
users:

name: jack
password: password
groups: scientists
name: jeff
password: password
groups: mathematicians

Example: 'openid' authentication configuration
openid:
auth-url: https://login.microsoftonline.com/9ac05e7d-e6a1-433a-9801-a60642903c2b/oauth2/authorize
token-url: https://login.microsoftonline.com/9ac05e7d-e6a1-433a-9801-a60642903c2b/oauth2/token
jwks-url: https://login.microsoftonline.com/common/discovery/keys
client-id: d1abf394-b312-4717-a1c4-daaeee4f3b28
client-secret: xxx
Docker configuration
docker:
container-backend: docker
port-range-start: 20000
container-protocol: https
specs:

id: euler
display-name: Euler's number
#container-cmd: ["R", "-e", "shiny::runApp('/root/euler')"]
container-image: euler
access-groups: scientists

server:
useForwardHeaders: true
logging:
file:
shinyproxy.log
`

I managed to make the reverse proxy with nginx and login securely using simple authentication, but once i try to use openid it fails because it uses http as callback protocol:
https://login.microsoftonline.com/9ac05e7d-e6a1-433a-9801-a60642903c2b/oauth2/authorize?response_type=code&client_id=d1abf394-b312-4717-a1c4-daaeee4f3b28&scope=openid email&state=5ZEbvVrVKBGpwId02I91SNRN-oPSbqkSR9oOlj7PRRQ%3D&redirect_uri=http://<IP_ADDRESS>/login/oauth2/code/shinyproxy&nonce=EhOFxVuVRksPOxd0hG-CKPDd2s78bhFIzSSC_PPU5-Q
getting error AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: 'd1abf394-b312-4717-a1c4-daaeee4f3b28'.

same error for me with 2.4

Hi @danielfm123, @roberts2727 so with ShinyProxy 2.4 the following config won't work anymore:
``
server:
useForwardHeaders: true
instead you have to use:

server:
forward-headers-strategy: native

Can you report back whether this solves the issue for you?

Issue Resolved! Thank you Sir.

Yes, it  works but kills the package DT

ShinyProxy 2.4 the following conf

Would if be worth mentioning that on https://www.shinyproxy.io/security/?

Hi @shosaco this is already added to our new website: https://www.shinyproxy.io/documentation/security/#forward-headers . The URL your pointing to is an remainder from the old website, which I now cleaned up.

As I believe that your question is answered, I'm closing this issue. Feel free to re-open it if you need more help.

This is not working  for me
server:
forward-headers-strategy: native
using Openid on azure B2c


Kadanes Algorithm

Description 📜
Kadane’s Algorithm is an iterative dynamic programming algorithm. It calculates the maximum sum subarray ending at a particular position by using the maximum sum subarray ending at the previous position.
Fixes #7811

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I'm GWOC'21 contributor

Remove hash sign from documentation
uncheck all except C/CPP
also remove hash sign from C/CPP

Remove hash sign from documentation
Uncheck all except DSA
Remove hash sign from DSA
Send your PR link into your respective DSA Channel not in C/CPP group.

"/assign"

"/assign"

you can't do this here.!
Please go to issue section and create your unique issue on whateve topic which is remaining !

I guess your file should go  in /C_CPP/Algorithmic Approaches/Dynamic/ directory


[BesTLA] Support int5&int6 for kernels and models

Type of Change
Add new weight_dtype: int5 and int6
Support model quantization of int5 and int6

LLaMa2-7B
weight_dtype=int5, group_size=128, alg=sym, scale_dtype=bf16, comp_dtype=int8:
 Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun. But her parents were always worried about her safety, and forbade her
model_print_timings:        load time =   205.45 ms
model_print_timings:      sample time =     3.88 ms /    16 runs   (    0.24 ms per token)
model_print_timings: prompt eval time =   191.15 ms /    33 tokens (    5.79 ms per token)
model_print_timings:        eval time =   948.45 ms /    15 runs   (   63.23 ms per token)
model_print_timings:       total time =  1164.44 ms
========== eval time log of each prediction ==========
prediction   0, time: 191.15ms
prediction   1, time: 63.11ms
prediction   2, time: 62.90ms
prediction   3, time: 62.90ms
prediction   4, time: 62.94ms

weight_dtype=int5, group_size=128, alg=asym, scale_dtype=bf16, comp_dtype=int8:
 Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun. But her parents were too busy with their work, and they didn't
model_print_timings:        load time =   208.64 ms
model_print_timings:      sample time =     4.40 ms /    16 runs   (    0.28 ms per token)
model_print_timings: prompt eval time =   190.07 ms /    33 tokens (    5.76 ms per token)
model_print_timings:        eval time =   964.22 ms /    15 runs   (   64.28 ms per token)
model_print_timings:       total time =  1183.92 ms
========== eval time log of each prediction ==========
prediction   0, time: 190.07ms
prediction   1, time: 64.27ms
prediction   2, time: 63.99ms
prediction   3, time: 63.92ms
prediction   4, time: 64.02ms

LLaMa2-7B
weight_dtype=int6, group_size=128, alg=sym, scale_dtype=bf16, comp_dtype=int8:
 Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun with her friends. However, she had never gone on an adventure before,
model_print_timings:        load time =   406.25 ms
model_print_timings:      sample time =     4.29 ms /    16 runs   (    0.27 ms per token)
model_print_timings: prompt eval time =   200.18 ms /    33 tokens (    6.07 ms per token)
model_print_timings:        eval time =  1129.39 ms /    15 runs   (   75.29 ms per token)
model_print_timings:       total time =  1544.76 ms
========== eval time log of each prediction ==========
prediction   0, time: 200.18ms
prediction   1, time: 75.18ms
prediction   2, time: 74.97ms
prediction   3, time: 75.01ms
prediction   4, time: 74.91ms

weight_dtype=int6, group_size=128, alg=asym, scale_dtype=bf16, comp_dtype=int8:
 Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun while doing it. This young girl was full of curiosity, always eager to explore
model_print_timings:        load time =   204.77 ms
model_print_timings:      sample time =     3.94 ms /    16 runs   (    0.25 ms per token)
model_print_timings: prompt eval time =   199.53 ms /    33 tokens (    6.05 ms per token)
model_print_timings:        eval time =  1146.44 ms /    15 runs   (   76.43 ms per token)
model_print_timings:       total time =  1361.33 ms
========== eval time log of each prediction ==========
prediction   0, time: 199.54ms
prediction   1, time: 76.22ms
prediction   2, time: 76.11ms
prediction   3, time: 76.17ms
prediction   4, time: 76.01ms

please update supported data types in https://github.com/intel/neural-speed/blob/main/docs/advanced_usage.md

please update supported data types in https://github.com/intel/neural-speed/blob/main/docs/advanced_usage.md

Added

int4 reference
sym:
 Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun in the process.
Unfortunately, her parents were quite against this kind of
model_print_timings:        load time =  5127.59 ms
model_print_timings:      sample time =     3.94 ms /    16 runs   (    0.25 ms per token)
model_print_timings: prompt eval time =   183.49 ms /    33 tokens (    5.56 ms per token)
model_print_timings:        eval time =   764.45 ms /    15 runs   (   50.96 ms per token)
model_print_timings:       total time =  5900.96 ms
========== eval time log of each prediction ==========
prediction   0, time: 183.49ms
prediction   1, time: 50.81ms
prediction   2, time: 50.48ms
prediction   3, time: 50.52ms
prediction   4, time: 50.51ms

asym:
Once upon a time, there existed a little girl, who liked to have adventures. She wanted to go to places and meet new people, and have fun doing so. However, her parents were not very keen on the idea of letting
model_print_timings:        load time =   196.11 ms
model_print_timings:      sample time =     3.47 ms /    16 runs   (    0.22 ms per token)
model_print_timings: prompt eval time =   180.31 ms /    33 tokens (    5.46 ms per token)
model_print_timings:        eval time =   780.00 ms /    15 runs   (   52.00 ms per token)
model_print_timings:       total time =   986.11 ms
========== eval time log of each prediction ==========
prediction   0, time: 180.31ms
prediction   1, time: 51.77ms
prediction   2, time: 51.58ms
prediction   3, time: 51.55ms
prediction   4, time: 51.50ms

int5/int4 = 1.23
int6/int4 = 1.47

LLaMa2-7B
weight_dtype=int5, group_size=128, alg=sym, scale_dtype=bf16, comp_dtype=int8:

Tasks
Version
Filter
n-shot
Metric
Value

Stderr

winogrande
1
none
0
acc
0.6875
±
0.0130

piqa
1
none
0
acc
0.7622
±
0.0099

none
0
acc_norm
0.7715
±
0.0098

lambada_openai
1
none
0
perplexity
3.3888
±
0.0913

none
0
acc
0.7002
±
0.0064

weight_dtype=int6, group_size=128, alg=sym, scale_dtype=bf16, comp_dtype=int8:

Tasks
Version
Filter
n-shot
Metric
Value

Stderr

winogrande
1
none
0
acc
0.6827
±
0.0131

piqa
1
none
0
acc
0.7633
±
0.0099

none
0
acc_norm
0.7671
±
0.0099

lambada_openai
1
none
0
perplexity
3.3843
±
0.0912

none
0
acc
0.7000
±
0.0064


/bin/sh: 1: tar: not found

Jenkins and plugins versions report

Environment

Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?
have no try.
Reproduction steps
RUN tar -xvf xx.tar.gz
Expected Results
no error
Actual Results
/bin/sh: 1: tar: not found
Anything else?
No response

From ubuntu:18.04

path error，fixed。


Explore the benchmarking of Tools as workflows

Tools submitted for evaluation in past challenges are often dockerized command-line programs.
Tools submitted for evaluation in the NLP Sandbox are dockerized API services.

Both programs and API services have limitations that we are capturing in #51.
This Epic aims to explore the implication of defining a Tool as a workflow. The motivation is that workflow are more and more used to perform biomedical tasks. Sage recently ramped up effort in that domain by settings up a Nextflow Tower.
In my mind, here are the few pros and cons of workflow:
Pros:

Workflow steps can be run on several servers (horizontal scaling)
Re-running a workflow doesn't always start from scratch but instead re-use cache

Useful during the development and application of a tool, less for benchmarking tools, unless several submitted tools share the same initial set of steps?

Cons:

Myriads of workflow standard, no consensus yet (CWL is popular but interest in NF from the workflow community recently increased).
Steep learning curves before developing and running workflows?

Tasks:

Identify and compare the pros and cons of requesting (challenge) participants to submit tools as programs, API (micro)services and workflows.
Explore how we could benchmark workflow tools

Where would the workflow tool submitted for evaluation live (e.g. dockstore, biocontainers, workflowhub)
How to run and evaluate the performance of the workflow

Resources

Schemas for the GA4GH Tool Registry API

Idea: a workflow tool would live in a public workflow registry like dockstore, biocontainers, workflowhub. We would then use the TRS to get information about a tool submitted, including the information on how to run the tool.

Here are some additions to the pros and cons list you have above for the workflow submissions:
Pros:

Pipeline can be explicitly outlined
Having explicit steps in your pipeline allows it to be more modular.  For instance, theres the possibility of replacing certain steps of a pipeline with other tools.

Cons:

Steep learning curve (Similar curve to API based submissions + Docker + GitHub in my opinion)
Evaluation of workflows ( CAVATICA, Nextflow Tower, Terra ) - but currently no set system (This will be explored very soon )
Having multiple steps to the workflow means there is possibly many Docker containers.  How will we support private Docker containers?

Steep learning curve (Similar curve to API based submissions + Docker + GitHub in my opinion)

Not sure why Docker and GitHub are part of the equation. Isn't Docker required when developing portable workflows (required in the context of benchmarking).

Having multiple steps to the workflow means there is possibly many Docker containers. How will we support private Docker containers?

Do you mean private images? How is this linked to the number of containers to run?

Not sure why Docker and GitHub are part of the equation. Isn't Docker required when developing portable workflows (required in the context of benchmarking).

Docker and GitHub are barriers because not everyone uses them.  GitHub is added because if we have template workflows or template API repos for people to pull from, we basically add GitHub as a dependency.  If people don't know how to use GitHub, that is new technology they have to learn.

Do you mean private images? How is this linked to the number of containers to run?

Not necessarily.  Lets say in a workflow you have 5 steps.  Each of the steps use a different Docker images.  Regardless of whether each image is public or private, we would need the ability to:

access the images (if private)
Cache the image somehow (technically even when someone specifies a specific Docker image + tag, you can still write over it)


on iOS TextInput native value is not matching provided value prop

[x] I have reviewed the documentation
[x] I have searched existing issues
[x] I am using the latest React Native version

on iOS TextInput native value is not matching provided value prop, on Android is working as expected
basically there is no way to manipulate / filter / replace what the user is typing in a TextInput on iOS, the TextInput is ignoring provided value prop or probably TextInput is not re-rendered accordingly, hope you can fix it - it is quite important
Steps to Reproduce
class ControlledInput extends React.Component {
  onChangeText = (text) => {
    this.setState({ inputValue: 'this text should always suppress user typed text but will not work on iOS' })
  }
  render() {
    const { inputValue } = this.state
    return (
      <TextInput
         onChangeText={this.onChangeText}
         value={inputValue}
      />
    )
  }
}

Environment
Environment:
OS: macOS High Sierra 10.13.4
Node: 8.9.1
Yarn: 1.6.0
npm: 5.7.1
Watchman: 4.9.0
Xcode: Xcode 9.3 Build version 9E145
Android Studio: 3.1 AI-173.4720617
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.3 => 0.55.3

@react-native-bot I added also Repro Steps

Same issue here.  However, it seems that the TextInput will update with the state value if that state value is modified from the last render.  Otherwise, the TextInput uses what the user typed, not what is passed in via the value prop.
As you said, this prevents input filtering.
Environment:
OS: macOS High Sierra 10.13.4
Node: 8.1.2
Yarn: Not Found
npm: 5.6.0
Watchman: 4.7.0
Xcode: Xcode 9.3 Build version 9E145
Android Studio: Not Found
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.4 => 0.55.4

Maybe a duplicate of #18874 ...?


[FEATURE] Add the Gitpod ready-to-code system

Is your feature request related to a problem? Please describe.
Adding the Gitpod ready-to-code system will make the process of compiling much easier in just a single click.
This is very useful when you want Gitpod to run yarn commands quickly for you and run the whole project quickly. It's much better than cloning the repository, reading the readme, installing the necessary tools, etc....
Describe the solution you'd like
Setup the Gitpod ready-to-code system. I already know how to set it up. It is just by creating a PR, configuring it, and giving Gitpod access to this organization. 🙂
Describe alternatives you've considered
The user can do it locally, but by using Gitpod it will skip many steps and it helps to make everything quicker.
Additional context
I would like to work on this. It's very easy to set it up. 😄

@Panquesito7  Feel free to work on this and make a PR when ready

@Panquesito7 Feel free to work on this and make a PR when ready

Awesome, thanks! 😄


wrong typings with v1.1.6

I updated my app to @ionic/storage to v1.1.6 and I can't use the setEngine method because it isn't present in the typings (absent in both es5/storage.d.ts and es2015/storage.d.ts). Tried installing, removing, reinstalling, etc.

setEngine was renamed to setDriver
https://github.com/driftyco/ionic-storage/commit/c42d173675918f33db0cef4235ac385d9ba682ae


TextBlocks: fast path or slower path? (property versus content)

Issue type
enhancement
Which version of the app?
WinUI 3 Gallery
Description
<TextBlock Text="Some text" .../> and <TextBlock>Some text.</TextBlock> are both used in (seemingly) the same situations. Let's choose the right version for the situation?
Screenshots
No response
Windows version
Insider Build (xxxxx)
Additional context
https://learn.microsoft.com/windows/apps/design/controls/text-block

I thin kin some PR, this was discussed and the idea was to do it in the future using fastpath where it makes sense but not migrate existing TextBlocks. The question of course also arrises if fastpath text rendering is still a thing in WinUI 3.

#1279

You mean you choose to keep the inconsistency?

Back than other things were more important, given we have #1279 I think we could start thinking about this topic again. What do you think @karkarl

I am going to assume the label "good first issue" is a sign of "green light"?


fix: carry over existing failedAttempts after disconnect

@ldeffenb Sorry for hijacking your PR but I had not way to push to your branch :)
This PR is the same as ldeffenb's https://github.com/ethersphere/bee/pull/1826/files with the requested changes.
Thanks!

This change is

@ldeffenb Sorry for hijacking your PR but I had not way to push to your branch :)

No worries and I'm glad you did!  I tried to get my fork updated this morning, but then my $$$ job took over my time.  Glad to see the fix made it in!


#40 Introduced folders for css and js files in the clientlibs

This should take care of #40

Pushed 3a4d236, thanks for the contribution!


Netflix - dragging progress bar drags window

Version: Latest Appstore
Dragging the progress bar while playing a video drags the entire window.

While I can reproduce, the code explicitly disabling dragging; it's annoying but try the suggested workarounds.

This appear to be something out of my control, having explicitly disabled this and in a prototype WkWebView SimpleViewer exhibits same behavior in addition to stuttering UI.
The back story is that a transparent view is placed atop the view to manage drags, which I thought was intercepting drags, but appears not, at least not in the prototype. At the time it was a temporary measure so this is a work in progress. Hopefully this might get cleared out - things are always improving.

Found the problem; title bar drag support via mouseDown() was complicating intra window views' drags. Fixed in build 8423.


Clone-Link broken

Describe the bug
The link you get for cloning a repository seems to be broken (at least for already-existing repos – I cannot speak for new repos). Instead of a hostname, they contain undefined, e.g. undefinedgit/GBS2324BASH/gbs2324bash-go42tum.git
Edit: Apparently, this only occurs on artemis.ase.in.tum.de, not artemis.ase.cit.tum.de.
To Reproduce

Go anywhere where a “Clone Repository” button exists (e.g., a student's view of an exercise or the instructor's exercises overview)
Click on “Clone Repository”
Notice that the URL is malformed, starting with an “undefined”.

Expected behavior
The clone URL should be valid.
Screenshots

Which version of Artemis are you seeing the problem on?
6.9.0
What browsers are you seeing the problem on?
Firefox
Additional context
There is no relevant log output. The only error I can see is pertains to a cross-origin request violation for sentry.ase.in.tum, which I see on all Artemis pages.
Relevant log output
No response

Ok, removing the entire brower state seems to resolve the issue. A bit weird, but I guess a viable workaround.

You should use artemis.cit.tum.de


xcodebuild error

Discussed in https://github.com/orgs/WalletConnect/discussions/2338

Originally posted by emeryk1005 May 10, 2023
When I use the xcodebuild command to compile ipa, I will encounter such an error
error: Resource "/Users/xxx/iOS/wallet-ios/Pods/./build/Release-iphoneos/WalletConnectSwiftV2/WalletConnect_WalletConnectRelay.bundle" not found. Run 'pod install' to update the copy resources script.
Xcode shows that there will be such a folder, as shown in the figure

I don't know exactly what is going on here and how should I handle this situation. I tried to set SYMROOT or BUILD_DIR in the command, but still this error

hey @emeryk1005 were you able to resole the issue?

@emeryk1005
The dapp build is successful, but I'm getting this issue when the archive command.

@aquariumy does the issue is relevant? I've recommend to update cocoapods. As I remember there was a bug with recourse. If issue still exists I'll take a look

@flypaper0 thanx!


Winget download step could be smarter to check if there's already downloaded installer and verify hash matches to avoid re-downloads

Currently every winget installation related command will trigger a new download. In scenarios that a previous install attempt failed, we can make the download step smarter by checking if there's a previous download and verifies hash, if successful, reuse the previous download.

Duplicate of #343


Fixes arithmetic for Magnum Opus inside BKLearningModel.CalculateLearningRate

Adds parens so that the difference between current skill value and 230 is calculated before multiplying it with the factor.
Without the parens, the value will be calculated as such:

0.02 * skillValue
then subtracting 230

instead of the, what I suppose is, the intended

skillValue - 230
then multiplying with 0.02

Thank you, please contact me in Discord


Simple workflows

I was just playing around with actions and found out that github automatically add a couple of workflows for you (CI and CodeQL). I observed that druid-grafana actions were failing and I managed to resolve those in my fork. I added .github/workflows/codeql-analysis.yml to the repo just to be pedantic. Let me know if you want these, it does

Static analysis of js and go code
Tests frontend, backend in addition to building the plugin.

Awesome :) happy to merge that right now!


Fix a sharding corner case

@xichen2020 @robskillington

Coverage increased (+0.05%) to 88.953% when pulling 6af7cea7de85375c3f711d01bb3fb4aeaa33952e on chao-move-shard into 9bad5fcff20d4ec2f6ffd8d394cb7ceee35a83a3 on master.


Add xit and xdescribe

In Mocha you can comment out tests by changing their it or describe blocks to xit or xdescribe. This change will add support for those functions.

@mohsen1 thanks mate!


Update request: trunk 0.17.2 → 0.18.0

Package name: trunk
Latest released version: 0.18.0
Current version on the unstable channel: 0.17.2
Current version on the stable/release channel: 0.17.2
Checked the nixpkgs pull requests
It's a big release since 0.17.2 and adds a lot of new features including an --offline flag which is helpful for nix
@freezeboy
Note for maintainers: Please tag this issue in your PR.

there was PR created before this issue https://github.com/NixOS/nixpkgs/pull/273792
maybe because PR title doesn't match contribution guidelines it was't found

Yeah. Sorry about that. I missed it.

it's ok, no harm done :-)

Do you know how to remove a package?
I believe trunk-ng will get deprecated now.

Do you know how to remove a package? I believe trunk-ng will get deprecated now.

yes, I've recently removed a package https://github.com/NixOS/nixpkgs/pull/271569
as for trunk-ng, I can't see anywhere that is has been deprecated yet


last id entered

how to capture the last inserted id using
$model = new NmaeModel();
$model->save($data);

Please ask for assistance on the forums. We only track bugs here. And this is for the website, not the framework.


QuantumCircuit to PennyLane template conversion

Context:
Each quantum software framework has its architecture when it comes to how they handle creating circuits and applying gates. Therefore a converter between Qiskit's QuantumCircuit and a custom template in PennyLane could be provided. This converter could then be utilized by users who are new to PennyLane but have prior experience with other quantum computing software frameworks.
Description of the Change:
Adds the converter function load in converter.py that creates a PennyLane template from an arbitrary

QuantumCircuit object;
QASM file;
QASM string.

Adds the entrypoint pennylane.io such that PennyLane can use the load function.
Benefits:
Allows the conversion from Qiskit circuit object to Pennylane templates. Once the conversion has been done, these templates can then be placed within a quantum circuit in PennyLane.
Circuits containing parameters converted this way can be parametrized by passing a dictionary as an argument to load.
Each converted circuit can be added to a quantum circuit in PennyLane an arbitrary many times. The user can also specify different parameters each time if desired.
Further allows shifting the converted circuit. Passing the wire_shift argument allows to shift the indices of wires already defined in the original QuantumCircuit object e.g. if the QuantumCircuit acts on wires [0, 1] and if wire_shift == 1, then the returned Pennylane template will act on wires [1, 2].
Possible Drawbacks:
N/A
Related GitHub Issues:
N/A

By the way, it looks like the tests are failing on Python 3.5 - could be a dictionary ordering issue

Codecov Report

Merging #55 into master will decrease coverage by 0.81%.
The diff coverage is 94.23%.

@@            Coverage Diff             @@
##           master      #55      +/-   ##
==========================================
- Coverage     100%   99.18%   -0.82%
==========================================
  Files           8        9       +1
  Lines         316      368      +52
==========================================
+ Hits          316      365      +49
- Misses          0        3       +3

Impacted Files
Coverage Δ

pennylane_qiskit/qiskit_device.py
100% <ø> (ø)
:arrow_up:

pennylane_qiskit/__init__.py
100% <100%> (ø)
:arrow_up:

pennylane_qiskit/ops.py
100% <100%> (ø)
:arrow_up:

pennylane_qiskit/converter.py
94% <94%> (ø)

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 4aee6c9...cfb00f5. Read the comment docs.

The reason why there's a test failing for Python 3.5 is that the test called test_qasm_from_file which uses the following fixture:
@pytest.mark.skipif(sys.version_info < (3, 6), reason="tmpdir fixture requires Python >=3.6")

This one is used for creating a temporary qasm file.

By the way @antalszava, it looks like Codecov is failing because the lines 130-131 aren't being covered by the tests:
else:
    float_params = [float(param) for param in parameters]
    operation(*float_params, wires=operation_wires)

Thank you for all the feedback, it was really valuable!

As far as the changes in PennyLane are concerned, I would envision something like the following in __init__.py (similar to how the device entrypoint is treated):

def load(name: str, quantum_circuit_object):
    """load(name, quantum_circuit_object)
    Load a plugin :func:`~.load` which can then be used to convert objects of
    quantum circuits from other frameworks.

    Args:
        name (str): the name of the plugin to convert from
        quantum_circuit_object: the quantum circuit that will be converted
            to a PennyLane template

    Returns:
        _function: the PennyLane template created from the quantum circuit
            object
    """

    if name in plugin_converters:

        # loads the plugin load function
        plugin_converter = plugin_converters[name].load()

        # calls the load function of the converter on the quantum circuit object
        return plugin_converter(quantum_circuit_object)

    raise ValueError(
        "Converter does not exist. Make sure the required plugin is installed "
        "and supports conversion."
    )

Once this is defined, the following from_qasm can also be added
def from_qasm(quantum_circuit: str):
    """load(name, quantum_circuit)
    Loads quantum circuits defined in QASM by using the converter in the
    PennyLane-Qiskit plugin.

    Args:
        quantum_circuit (str): the name for the QASM file or string

    Returns:
        _function: the PennyLane template created from the quantum circuit
            object
    """
    return load('qasm', quantum_circuit)

In the latest version, the entrypoints were extended with:
'qasm = pennylane_qiskit:load_qasm',
Therefore, each plugin will be available through entrypoints and by passing their string as the name argument to load.
In order to make this seamless, I have created one single function for QASM and added a simple check.
Furthermore, the load function has been refactored, it has been split into smaller functions such that it is more readable.


Unable to match the pretrained performance in the folds.

Hi, thanks for sharing your work!
I have been trying to work on your pre-trained models shared for 3d res and 3d dpn. To begin I started with resnet models and as of now, I am not able to get the performance match for each of the folds mentioned in the supplementary section of your paper.
I will now enlist the steps which I made inorder to make your codebase run and end with the performance I achieve, kindly let me know if I made a mistake at any of the steps.

Made a run_test.sh for testing the pretrained models.

#!/bin/bash
set -e

# python prepare.py
# lr & weight decay values taken from paper experimental section -- for testing ignore them
cd detector
maxeps=150

model_name=res18

f=3
i=6

echo "process $i epoch"
echo "loading resmodel/res18fd${f}00$i.ckpt"
echo ${PWD}

if [ $i -lt 10 ]; then
    CUDA_VISIBLE_DEVICES=5,6 python main.py --lr 0.01 --wd 1e-4 --model $model_name -b 32 --resume resmodel/res18fd${f}00$i.ckpt --test 1 --save-dir resmodel/res18fd$f/ --config config_training$f
elif [ $i -lt 100 ]; then
    CUDA_VISIBLE_DEVICES=5,6 python main.py --lr 0.001 --wd 1e-4 --model $model_name -b 32 --resume resmodel/res18fd${f}0$i.ckpt --test 1 --save-dir resmodel/res18fd$f/ --config config_training$f
elif [ $i -lt 1000 ]; then
    CUDA_VISIBLE_DEVICES=5,6 python main.py --lr 0.0001 --wd 1e-4 --model $model_name -b 32 --resume resmodel/res18fd${f}$i.ckpt --test 1 --save-dir resmodel/res18fd$f/ --config config_training$f
else
    echo "Unhandled case"
fi

echo "i: $i"
if [ ! -d "results/resmodel/res18fd$f/val$i/" ]; then
    echo "Creating directory.."
    mkdir -p results/resmodel/res18fd$f/val$i/
fi
mv results/resmodel/res18fd$f/bbox/*.npy results/resmodel/res18fd$f/val$i/

Running this for each fold and we obtain _lbb & _pbb for each study(".mhd" file) in corresponding fold.

3.Now, following your comments from 105, 42 -- I created 10 sub-annotations (from following script) from original annotations.csv provided in evaluationScript/annotations/annotations.csv
# all_exclude_fpath = '/raid/shadab/prateek/dgx30/prateek/DeepLung/evaluationScript/annotations/annotations_excluded.csv'
original_annots_fpath = '/raid/shadab/prateek/dgx30/prateek/DeepLung/luna16/CSVFILES/annotations.csv'
# ex_csv_rdr = csv.reader(open(all_exclude_fpath), delimiter=',')
orig_csv_rdr = csv.reader(open(original_annots_fpath), delimiter=',')
# all_excluded_annots = None
all_original_annotations = None

# #get all excluded annotations
# for row in ex_csv_rdr:
#     if all_excluded_annots == None:
#         all_excluded_annots = [row[0]]
#     else:
#         if row[0] not in all_excluded_annots:
#             all_excluded_annots.append(row[0])

#fold=0
for fold in range(10):

    subset_fpath = '/raid/shadab/prateek/dgx30/prateek/DeepLung/luna16_preprocess/subset'+str(fold)
    subset_fnames = sorted(glob(os.path.join(subset_fpath, '*_clean.npy')))
    #extract seriesuid and get rid of full path and suffix
    subset_fnames = [os.path.basename(f).rsplit('_clean.npy')[0] for f in subset_fnames]
    # print(subset_fnames)

    #get the annotations for only fold
    fold_annotations_fname='annotations'+str(fold)+'.csv'
    fold_annotations=[]
    fold_annots_writer = csv.writer(open(os.path.join(subset_fpath, fold_annotations_fname), 'w'), delimiter='\n')

    fold_sids_fname='seriesids'+str(fold)+'.csv'
    fold_sids=[]
    fold_sids_writer = csv.writer(open(os.path.join(subset_fpath, fold_sids_fname),'w'), delimiter='\n')

    #read original annots reader & select seriesids which are common with
    orig_csv_rdr = csv.reader(open(original_annots_fpath), delimiter=',')
    for row in orig_csv_rdr:
        curr_sid = row[0]
        if curr_sid in subset_fnames:
            fold_annotations.append((",").join(row))
            if curr_sid not in fold_sids:
                fold_sids.append(curr_sid)

    fold_sids_writer.writerow(fold_sids)
    print('Written '+os.path.join(subset_fpath, fold_sids_fname))
    fold_annots_writer.writerow(fold_annotations)
    print('Written '+os.path.join(subset_fpath, fold_annotations_fname))
    print

Now assigning the correct paths(added snapshot to verify) in frocwrtdetpepchluna16.py [Sidenote: Also uncommented the getcsv function call to create csv files for each detp.]

After this I manually track the results to select best detp value for each fold from the output of frocwrtdetpepchluna16.py. Although, the original code compares against multiple models & then outputs best epoch and dept but because I am using pretrained models there is no point of comparison against multiple models.

Now after I know each folds best annotation file (for eg fold 0 has detp=-2 best and fold 1 has detp=-1.5 best) then I have written a script to combine the results to get a big annotation file similar to the one you provided here.

# To combine best-csv files from each fold

startline = ["seriesuid,coordX,coordY,coordZ,probability"]

par_fpath = '/raid/shadab/prateek/dgx30/prateek/DeepLung/evaluationScript/annotations'
fname = 'my3DRes18_annotations.csv'
annot_writer = csv.writer(open(os.path.join(par_fpath, fname),'w'), delimiter='\n')
annot_content  = []
annot_writer.writerow(startline)

# detps = [-1.5, -1.5, -1.5, -1.5, -2, -2, -1.5, -1.5, -1.5, -1.5]
epoch_nums = [8,49,20,6,143,97,28,24,14,20]
folds = [i for i in range(10)]
detps = [-2 for i in range(10)]

fold_annot_fpath = '/raid/shadab/prateek/dgx30/prateek/DeepLung/detector/results/resmodel/res18fd' #0/val8'

for fold,ep,detp in zip(folds, epoch_nums, detps):
    temp_annot_fpath = fold_annot_fpath + str(fold) + '/val'+str(ep)

    temp_annot_path = os.path.join(temp_annot_fpath, 'predanno'+str(detp)+'.csv')
    temp_csv_reader = csv.reader(open(temp_annot_path, 'r'))
    firstLine = True
    for row in temp_csv_reader:
        if firstLine:
            firstLine = False
            continue
        annot_content.append(",".join(row))

annot_writer.writerow(annot_content)

Now after Running noduleCADEvaluationLUNA16.py by adjusting path of "results_filename" to the one we get after combining from step 4. I get the following result:

Quantitatively, the performance on each fold is as follows

Folds
performance
paper reported

0
85.841
86.1

1
84.821
85.38

2
75.78
79.02

3
77.43
78.63

4
86.942
87.95

5
82.672
83.6

6
84.415
89.59

7
87.516
87

8
87.046
88.86

9
80.494
80.41

Kindly let me know your comments? It would be best if you can help me verify the performance for fold 2 and fold 6.

# detps = [-1.5, -1.5, -1.5, -1.5, -2, -2, -1.5, -1.5, -1.5, -1.5]
epoch_nums = [8,49,20,6,143,97,28,24,14,20]
folds = [i for i in range(10)]
detps = [-2 for i in range(10)]
It seems you use detection probability as -2 for all the folds. Maybe you can have a try to see whether it is the issue.

I don't think that to be an issue, because even if I narrow down to match the performance for only fold 2 and fold 6 as they have the most difference.
For fold 2,

For fold 6,

So changing value from -2 won't make any difference.
Also just to be clear that in the above 2 it shows exactly same performance does not mean it gives same everytime. For example, check following where best is -2.

Other than detps = [-2 for i in range(10)], do you see any other step I understood or done wrong?

How about trying more detection probability [-3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2]? Your performances on other folds are better than mine. So the procedure should be correct. The difference probably is the hyper-parameter of the detection probability.


⚠ Bofrost.be has degraded performance

In 649929a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2338 ms

Resolved: Bofrost.be performance has improved in 7f3ec8e after 40 minutes.


Configure suggestion mask string

Adding and optional parameter to the block-field-suggestion plugin to replace the current [Suggestion message hidden by GraphQLArmor] in case users would like to obscure their usage of Armor for security. This parameter is also added to the Apollo and Envelop Armor sections.
https://github.com/Escape-Technologies/graphql-armor/issues/116

Hello @defond0,
Thanks for your suggestion. Will approve asap :)

Hello @defond0,
Thanks for your suggestion. Will approve asap :)

Thanks! CI let me know I needed to lint, getting that going now.

Codecov Report

Merging #115 (2e92b03) into main (b118959) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #115   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          200       201    +1
  Branches        46        47    +1
=========================================
+ Hits           200       201    +1

Impacted Files
Coverage Δ

.../src/envelop/protections/block-field-suggestion.ts
100.00% <ø> (ø)

...kages/plugins/block-field-suggestions/src/index.ts
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Thanks! CI let me know I needed to lint, getting that going now.

Great job, thanks you for the PR ! This is indeed an interesting feature.

This will be added in<EMAIL_ADDRESS>