RPC port

In the previous version of quorum-maker, default RPC port 22000 was available and could be used by RPC-JSON-based applications like web3js and ethers.js. For version  2.1 test/development network (option 1 in setup.sh) the RPC port is not available even though the correct RPC port shows up on the UI screen.  Since my node.js application depends on connecting to the blockchain via JSON-RPC, this is a serious issue.

you can add it in docker-compose file yourself, export port 22000 outside.
Or you can modify create_dev_network.sh yourself
function addNodeToDC(){
    echo "  node"$1: >> $projectName/docker-compose.yml
    echo "    container_name: node"$1 >> $projectName/docker-compose.yml
    echo "    image: "$dockerImage >> $projectName/docker-compose.yml
    echo "    working_dir: /node"$1 >> $projectName/docker-compose.yml
    echo "    command: [\"bash\" , \"start.sh\"]" >> $projectName/docker-compose.yml
    echo "    volumes:" >> $projectName/docker-compose.yml
    echo "      - ./node$1:/node$1" >> $projectName/docker-compose.yml
    echo "      - ./node$1:/home" >> $projectName/docker-compose.yml
    echo "      - ./node1:/master" >> $projectName/docker-compose.yml

    if [ -f .qm_export_ports ]; then
        i=$1

        if [ $i -lt 10 ]; then
            i="0"$i
        fi
        echo "    ports:" >> $projectName/docker-compose.yml
        echo "      - \"2${i}04:22004\"" >> $projectName/docker-compose.yml
        echo "      - \"2${i}00:22000\"" >> $projectName/docker-compose.yml
    fi

    echo "    networks:" >> $projectName/docker-compose.yml
    echo "      vpcbr:" >> $projectName/docker-compose.yml
    echo "        ipv4_address: $DOCKER_NETWORK_IP$(($1+1))" >> $projectName/docker-compose.yml
}

adding echo "      - \"2${i}00:22000\"" >> $projectName/docker-compose.yml into it.
It would export the rpc port to 20100

@michaelerose I assume you are running QM2 on Linux. On Linux we use docker bridges and each node has it's own IP address starting from <IP_ADDRESS>. So the RPC end point of first node is <IP_ADDRESS>:22000 and second node is <IP_ADDRESS>:22000 and third node is <IP_ADDRESS>:22000 etc. You can access these IP address from your host Linux box. Same way you can access QM2 UI also from a web browser on host Linux pointing to http://<IP_ADDRESS>:22004, http://<IP_ADDRESS>:22004, http://<IP_ADDRESS>:22004 etc. In short you dont have to modify the setup.sh or docker compose file to access RPC port QM2 UI running on Linux
On Mac OS, docker can not export an internal bridge to host OS. To work around this problem, on Mac OS, QM2 automatically exports ports to host. The second and third digits auto increments and currently QM2 can create maximum 99 nodes. So the port number exposed is 20100, 20200, 20300 and so on. Same is the case for Constallation, Raft and QM2 UI ports. So the RPC url for node one is localhost:20100, node two is localhost:20200, node 3 is localhost:20300 and so on. And QM2 UI can be opened from node 1 at localhost:20104, node two at localhost:20204, node three at localhost:20304.
If you running QM2 on Vagrant using the Vagrantfile included in QM2, ports are exposed same way, and the IP of the virtual machine is <IP_ADDRESS> by default. So you if you want to connect to RPC ports from host OS while running using Vagant, node one is available at <IP_ADDRESS>:20100, node two is available at <IP_ADDRESS>:20200, node three is available at <IP_ADDRESS>:20300 and so on. Same way QM2 UI can be accessed 20104, 20204, 20204 on IP Addreess <IP_ADDRESS>. You can connectt to these URLs from your host Windows or Mac OS.
PS: In Linux, if you really want to expose ports and access directly using localhost rather than <IP_ADDRESS>, <IP_ADDRESS> and so on, you can create a hidden file ".qm_export_ports" on quorum-maker directory (notice the "." in the beginning of the file name) and setup the Dev/Test Network and docker-compose.yml will have ports exported automatically. The exported ports are 20100, 20200, 20300 and so on just like the case of MacOS or Vagrant.

Thank you for responding so quickly ... trying this now

From: JerryZhao1988<EMAIL_ADDRESS>Sent: Friday, June 22, 2018 3:35 AM
To: synechron-finlabs/quorum-maker
Cc: michaelerose; Author
Subject: Re: [synechron-finlabs/quorum-maker] RPC port (#28)
you can add it in docker-compose file yourself, export port 22000 outside.
Or you can modify create_dev_network.sh yourself
function addNodeToDC(){
echo "  node"$1: >> $projectName/docker-compose.yml
echo "    container_name: node"$1 >> $projectName/docker-compose.yml
echo "    image: "$dockerImage >> $projectName/docker-compose.yml
echo "    working_dir: /node"$1 >> $projectName/docker-compose.yml
echo "    command: ["bash" , "start.sh"]" >> $projectName/docker-compose.yml
echo "    volumes:" >> $projectName/docker-compose.yml
echo "      - ./node$1:/node$1" >> $projectName/docker-compose.yml
echo "      - ./node$1:/home" >> $projectName/docker-compose.yml
echo "      - ./node1:/master" >> $projectName/docker-compose.yml
if [ -f .qm_export_ports ]; then
    i=$1

    if [ $i -lt 10 ]; then
        i="0"$i
    fi
    echo "    ports:" >> $projectName/docker-compose.yml
    echo "      - \"2${i}04:22004\"" >> $projectName/docker-compose.yml
    echo "      - \"2${i}00:22000\"" >> $projectName/docker-compose.yml
fi

echo "    networks:" >> $projectName/docker-compose.yml
echo "      vpcbr:" >> $projectName/docker-compose.yml
echo "        ipv4_address: $DOCKER_NETWORK_IP$(($1+1))" >> $projectName/docker-compose.yml

}
adding echo " - "2${i}00:22000"" >> $projectName/docker-compose.yml into it.
It would export the rpc port to 20100
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/synechron-finlabs/quorum-maker/issues/28#issuecomment-399350713, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADAl4QbbEJ1ScnbpZ-K_DtmM_4Ce8kM0ks5t_J5ZgaJpZM4UzIym.

This is not an issue. Features to access RPC and other ports exist.

Jerry -
This almost works ... I had to comment out the if/fi statements to get the changes to show up in docker-compose.yml. When I do that, port 20100 is exported and I have checked that I can
connect successfully with ethers.js/web3.js
So the only remaining issue is why the lines
if [ -f .qm_export_ports ]
....
fi
needed to be commented out
Once again, thanks for your help and advice

Michael

From: JerryZhao1988<EMAIL_ADDRESS>Sent: Friday, June 22, 2018 3:35 AM
To: synechron-finlabs/quorum-maker
Cc: michaelerose; Author
Subject: Re: [synechron-finlabs/quorum-maker] RPC port (#28)
you can add it in docker-compose file yourself, export port 22000 outside.
Or you can modify create_dev_network.sh yourself
function addNodeToDC(){
echo "  node"$1: >> $projectName/docker-compose.yml
echo "    container_name: node"$1 >> $projectName/docker-compose.yml
echo "    image: "$dockerImage >> $projectName/docker-compose.yml
echo "    working_dir: /node"$1 >> $projectName/docker-compose.yml
echo "    command: ["bash" , "start.sh"]" >> $projectName/docker-compose.yml
echo "    volumes:" >> $projectName/docker-compose.yml
echo "      - ./node$1:/node$1" >> $projectName/docker-compose.yml
echo "      - ./node$1:/home" >> $projectName/docker-compose.yml
echo "      - ./node1:/master" >> $projectName/docker-compose.yml
if [ -f .qm_export_ports ]; then
    i=$1

    if [ $i -lt 10 ]; then
        i="0"$i
    fi
    echo "    ports:" >> $projectName/docker-compose.yml
    echo "      - \"2${i}04:22004\"" >> $projectName/docker-compose.yml
    echo "      - \"2${i}00:22000\"" >> $projectName/docker-compose.yml
fi

echo "    networks:" >> $projectName/docker-compose.yml
echo "      vpcbr:" >> $projectName/docker-compose.yml
echo "        ipv4_address: $DOCKER_NETWORK_IP$(($1+1))" >> $projectName/docker-compose.yml

}
adding echo " - "2${i}00:22000"" >> $projectName/docker-compose.yml into it.
It would export the rpc port to 20100
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/synechron-finlabs/quorum-maker/issues/28#issuecomment-399350713, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADAl4QbbEJ1ScnbpZ-K_DtmM_4Ce8kM0ks5t_J5ZgaJpZM4UzIym.


Encoded parameters causes failed signature

Encoded values works fine, but encoded names does not. The OAuth specification seems to allow encoded characters in the parameter names.
Encoded names are needed since Rails expect parameters to have brackets in them. For example when updating the name of a device model one would send out device%5Bname%5D=foo

+1 on this issue.

I have sent a pull request to the oauth gem which fixes this issue. Hopefully they will include it.

great! thanks for the heads up, @ephracis


Added status check dialog

Summary
Added status check dialog if the API status check fails on load:

Also removed the feature flag, as this is now fully implemented and can be put through QA etc.
Relevant Technical Choices

To-do

[x] Remove feature flag
[x] Add dialog
[x] Amend tests
[x] Add to storybook

Testing Instructions
With no error

Have a fully functioning WordPress setup
Load the editor
Observe that there is no dialog alerting about missing ability to save the story

With error

Somehow disable WordPress API access (any hints for QA on how to do this @spacedmonkey?)
Load the editor
Observe the above error message as a dismissible dialog
Click the link in the dialog and observe that the WordPress plugin page opens in a new browser tab/window
Dismiss the dialog (at your own peril) and observe that it closes

Fixes #4847

@barklund I think we need an E2E test for this change with a percy screenshot.
I can help if you would like. I can build a little E2E test plugin that disables the rest api / triggers the status call to fail. From there it should be very simple to write an e2e test. Any other thoughts on testing this @swissspidy ?

@googlebot I consent.

I can help if you would like. I can build a little E2E test plugin that disables the rest api / triggers the status call to fail. From there it should be very simple to write an e2e test. Any other thoughts on testing this @swissspidy ?

I would leverage page.setRequestInterception instead of any helper plugin, so you can quickly test different scenarios (status codes, responses, etc.). Also, I don't think a percy screenshot is necessarily needed. Just verifying that the dialog is displayed should suffice.


how to use the analytics parameter?

What should the analytics parameter be set to in order to enable google analytics? Is it expecting the tracking ID or a full gtag.js snippet?

Just the tracking ID. I'm gonna improve documentation this weekend.

Thanks- similarly was wondering what's expected for the disqus parameter?

In disqus you should add the disqus_thread ID

Updated readme with better documentation on configuration


fix: Add loginLink to registration auth types

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Please provide enough information so that others can review your pull request:

Explain the details for making this change. What existing problem does the pull request solve?

Test plan (required)
Demonstrate the code is solid. If not, please add WIP: in its title.

Closing issues
Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).
Self Check before Merge
Please check all items below before review.

[ ] Corresponding issues are created/updated or not needed
[ ] Docs are updated/provided or not needed
[ ] Examples are updated/provided or not needed
[ ] TypeScript definitions are updated/provided or not needed
[ ] Tests are updated/provided or not needed
[ ] Changesets are provided or not needed

Hello @aberhamm thanks for the PR! PR looks good, can you add changeset? You can find the instructions here: https://refine.dev/docs/further-readings/contributing/#changeset


Fix basic scenario of built-in (embedded) extention

Summary
Contributes to https://github.com/epinio/ui/issues/192

Occurred changes and/or fixed issues

Run from ./dashboard via API=<rancher url> yarn mem-dev
This runs the normal rancher dashboard with the epinio extension 'built-in' / embedded
Generic creds hardcoded (currently with example username/password)

Depends on https://github.com/epinio/ui/pull/259

I think i've badly merged the about page changes (it should be in the cluster context)


Typings for pipe arguments give errors

Bug Report
Current Behavior

Reproduction
Take over code above into Intellij IDEA, or probably other editors?
Expected behavior
Correct typings, so the error will not pop-up.
Environment

RxJS version: 5.5.6

Updating to 5.5.11 solves the issue. So this can be closed.


sa argocd-rbac-operator-controller-manager trying to list configmaps at the cluster scope

when trying to run the operator I get:

W1212 18:17:35.941862       1 reflector.go:547] pkg/mod/k8s.io/client-go@v0.30.1/tools/cache/reflector.go:232: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:argocd:argocd-rbac-operator-controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
E1212 18:17:35.941892       1 reflector.go:150] pkg/mod/k8s.io/client-go@v0.30.1/tools/cache/reflector.go:232: Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:argocd:argocd-rbac-operator-controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope

as I said here changing the operator so that it works only with cm in the same namespace is needed

Hi @filiprafaj, could you describe how you're running the operator? :) so I can reproduce this bug

@filiprafaj I've found the issue, the role for the argocd rbac CM is correct, but kustomize overwrites the default  argocd namespace (argocd), that's why the operator cant list the CM

this is how I get the resources, so the argocd namespace should be there (see the sed)
git clone https://github.com/argoproj-labs/argocd-rbac-operator.git
cd argocd-rbac-operator
sed -i 's/namespace: argocd-rbac-operator-system/namespace: argocd/' config/default/kustomization.yaml
make build-installer
cd ..
mkdir -p stage
cat ./argocd-rbac-operator/dist/install.yaml | \
 docker container run \
 -i --rm \
 -v $(pwd):/code \
        --user $(id -u):$(id -g) \
 -w /code looztra/kubesplit \
 -o ./stage \
 --no-resource-prefix
rm -rf argocd-rbac-operator
rm ./stage/namespace--argocd.yml


Update sbt-http4s-org to 0.4.0

Updates org.http4s:sbt-http4s-org from 0.3.1 to 0.4.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s", artifactId = "sbt-http4s-org" } ]

labels: sbt-plugin-update, semver-minor

This one is somewhat urgent.  Our builds are using deprecated GitHub Actions calls and will start failing on Monday.

I am working on this.

Great! The workflow steps suggested by the plugin seem like reasonable defaults within the org, but feel free to override.
I think the org plugin is checking sbt formatting, which is something we've never done in this repo.  We could and probably eventually should, but there are so many live branches, we might want to hold on that for the time being.

I think the org plugin is checking sbt formatting, which is something we've never done in this repo. We could and probably eventually should, but there are so many live branches, we might want to hold on that step for the time being.

Yeah, I copy-pasted and modified the steps for now.


[CircleGraph] Support tflite

Now, CircleGraph can show tflite.
It also updates circle-schema. It shows more operators like GELU.
ONE-vscode-DCO-1.0-Signed-off-by: Sanggyu Lee<EMAIL_ADDRESS>

Resolved conflict with #1656.

I see several OneExplorer errors from Check PR test. I excludes the change in OneExplorer, which can be done separately. I can see both circle and tflite w/o OneExplorer change.


feat(helm): Add PodSecurityPolicy creation

Add option to create a PodSecurityPolicy to allow the Trivy scanner to run within a cluster using PSPs.
It is the minimal possible to allow the scanner pods to run as root, and fix the "container has runAsNonRoot and image will run as root" error when the default PSP restricts it.
Related to #290.
I've set the name to start with 00 as there seems to be nothing set in the securityContext of the Trivy scanners to actually specify that they will run as root. This makes them use the alphabetically first PSP that allows the Pod spec to run, which in our case is the default restrictive one that allows the Pod but not the image.
I don't know where or how to change the spec of the Trivy scanners created by the operator so I'm focusing on what I used to make it run.

Sorry, I've been neglecting this PR for quite some time. I'll take a new look at it and update it.

With the default setup (no PSP) the Trivy container has the following SecurityContext:
securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
      - ALL
      - all
  privileged: false
  readOnlyRootFilesystem: true
  runAsGroup: 1
  runAsNonRoot: true

With a PSP called starboard-operator allowed by the starboard-operator ServiceAccount generated by the helm chart the starboard-operator* Pod got the PSP, however the scan-vulnerabilityreport* Pods didn't.
With a PSP called 00-starboard-operator both the starboard-operator* and scan-vulnerabilityreport* Pods got the PSP, and this gave the Trivy container the following SecurityContext:
securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
      - ALL
      - all
  privileged: false
  readOnlyRootFilesystem: true

Does starboard-operator actually specify a SecurityContext for the Trivy scanner that it will run as root or is it just set in the image?

I manged to add runAsNonRoot: false to the SecurityContext of the Trivy container in pkg/plugin/trivy/plugin.go.
This does allow it to properly use the starboard-operator PSP allowing it to run as root.
Do you want me add it here or should I open a new PR for it?
Or do you want me to open an issue about this whole thing since this got a bit more involved then I initially thought. :sweat_smile:

Thank you for digging into this @aarnq I think we can do all the work related to Trivy and PSP in scope of this PR. I just wanted to better understand the reproduction steps when Trivy scan job fails after you enable PSP admission controller. Could you share the default policy that blocks vulnerability scan jobs so we can see exact errors?

Sure, I can do that @danielpacak. This is when running on version v0.13.1.
For the default "restricted" PSP we have this defined:
spec:
  allowPrivilegeEscalation: false
  fsGroup:
    ranges:
    - max: 65535
      min: 1
    rule: MustRunAs
  requiredDropCapabilities:
  - ALL
  runAsGroup:
    ranges:
    - max: 65535
      min: 1
    rule: MustRunAs
  runAsUser:
    rule: MustRunAsNonRoot
  seLinux:
    rule: RunAsAny
  supplementalGroups:
    ranges:
    - max: 65535
      min: 1
    rule: MustRunAs
  volumes:
  - configMap
  - emptyDir
  - projected
  - secret
  - downwardAPI
  - persistentVolumeClaim

Then the scan-vulnerabilityreports would be in the state CreateContainerConfigError with the message :
message: 'container has runAsNonRoot and image will run as root (pod: "scan-vulnerabilityreport-[...]",
          container: [...])'

And they get the securityContext listed first in the comment above.
Let know if you want more.

👋 @aarnq I'm sorry it took us so long to finally look into your PR. I was actually wondering if it still makes sense to maintain a deprecated PodSecurityPolicy resource that eventually will be removed as explained in the PodSecurityPolicy Deprecation: Past, Present, and Future blog.
How does it sound if we just document how to use Starboard in a cluster that's still using deprecated PodSecurityPolicy admission controller?

No worries @danielpacak. Yeah sure, that sounds fine. :+1: I'll close this.
Thanks.


Default notebookFileRoot to ${fileDirname} instead of workspace root

For #7780
I need to run this with the real jupyter tests as not sure about the root directory when running with jupyter, but waiting for Don's PR to go through

Codecov Report

Merging #9027 into master will decrease coverage by 0.29%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #9027     +/-   ##
=========================================
- Coverage   56.57%   56.27%   -0.3%
=========================================
  Files         550      550
  Lines       28957    28589    -368
  Branches     4370     4376      +6
=========================================
- Hits        16382    16089    -293
+ Misses      11675    11599     -76
- Partials      900      901      +1

Impacted Files
Coverage Δ

...c/datascience-ui/react-common/settingsReactSide.ts
22.22% <ø> (ø)
:arrow_up:

src/client/datascience/jupyter/jupyterExporter.ts
18.66% <0%> (ø)
:arrow_up:

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-60%)
:arrow_down:

src/datascience-ui/react-common/logger.ts
0% <0%> (-40%)
:arrow_down:

...jupyter/kernels/jupyterKernelPromiseFailedError.ts
0% <0%> (-33.34%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-33.34%)
:arrow_down:

src/client/formatters/serviceRegistry.ts
50% <0%> (-25%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
50% <0%> (-25%)
:arrow_down:

src/datascience-ui/native-editor/redux/store.ts
50% <0%> (-25%)
:arrow_down:

src/datascience-ui/history-react/redux/store.ts
50% <0%> (-25%)
:arrow_down:

... and 49 more

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 6cadda5...75700f8. Read the comment docs.


fix(tests): Fix running dist tests and tests not running

Should now run tests for spec.ts and .tsx files
Now skips tests in the dist folder

@mhagmajer - now the tests that suddenly run fail. Can you please check that?

Outstanding .tsx tests fixed by https://github.com/xFAANG/askql/commit/8ea4a4d9bc670f30c3d61beeaf391475c44ff61d. Please rebase

Closes #86 and #89


Update version of poetry when the beta version merged

Currently we use the beta version 1.2.0b2 because of its problem in dependency resolution for the wheels of pillow

Creating the dependabot will ensure the a PR occurs when the version is released. Merging the PR will close this issue


Improve Belle styling with simple animations

This is more experimental, but for example when fading from hover/default state to active state we could leverage animations to give the components a better feeling.
Also switching from default state to hover could be a slide colour fade.

Solved with PR: https://github.com/nikgraf/belle/pull/105


Don't allow root folder to be executable path.

It seems unwise to serve files from the same directory Caddy is running from.

http://localhost:2015/caddy.exe downloads the server it self.
CHANGES.txt and README.txt which are distributed with Caddy will also automatically be the in server root.
Any backup or template caddyfiles will be public
If plugins are added which would reside in a /plugin directory or such. They'll also be served by the server.

At the very least I think the default server root should be /root or something similar.

Caddy would ideally be installed as a binary available in PATH which makes it suited to be started in the directory to serve.
Regarding template files/plugin directory, I agree there needs to be more flexibility and I see that as something that can be achieved via Caddyfile.

This is simply default configuration, you can create a Caddyfile with this directive:
root www and put your web in the www folder.

Caddy was designed to be able to serve a site that has the configuration file (Caddyfile) in it (it serves a 404 instead) and it has support for hiding other files as well. But I didn't intended for the caddy binary itself would literally be in the root of the site. Given that Caddy is (eventually) geared toward a less-technical crowd, that may be something to consider.
I have been spinning the idea around in my head of how to make a way to configure Caddy to hide any file using a hide directive, perhaps. Still not sure if it should be built into the core fileServer or if it should be a middleware. I also am wondering if it should be able to match simple patterns not just exact names/paths. (In either case, I agree it should be configurable.)

@pix64 Anything else on this? If so, feel free to comment or re-open with more details.
(I can move my own question about hiding files to a different issue.)


Update network_timezones.txt

fixes issue #1647 and #1655

Thanks for the pull request! Before a real human comes by, please make sure your PR has all of the below criteria checked

[ ] Give a description on what the PR is for.
[ ] Make sure your PR is based on the DEVELOP branch
[x] Don't send big changes all at once. Split up big PRs into multiple smaller PRs that are easier to manage and review

Please make sure you also read contribution guide and followed all of the steps.
Thanks!

Conflicts


Add support for custom default resolvers

Description

This PR adds a new configuration option that allows to change the default resolver:
@strawberry.type
class User:
    name: str

@strawberry.type
class Query:
    @strawberry.field
    def user(self) -> User:
        return {"name": "Patrick"}  # type: ignore

schema = strawberry.Schema(
    query=Query,
    config=StrawberryConfig(default_resolver=getitem),
)

query = "{ user { name } }"

result = schema.execute_sync(query)

This is useful for when people want to allow returning dictionaries and not just objects (the example above only allows dictionaries, but it can be easily changed to allow dict and objects)
Types of Changes

[ ] Core
[ ] Bugfix
[x] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

This release adds support for overriding the default resolver for fields.
Currentily the default resolver is getattr, but now you can change it to any
function you like, for example you can allow returning dictionaries:
@strawberry.type
class User:
    name: str

@strawberry.type
class Query:
    @strawberry.field
    def user(self) -> User:
        return {"name": "Patrick"}  # type: ignore

schema = strawberry.Schema(
    query=Query,
    config=StrawberryConfig(default_resolver=getitem),
)

query = "{ user { name } }"

result = schema.execute_sync(query)

Here's the preview release card for twitter:

Here's the tweet text:
🆕 Release (next) is out! Thanks to @patrick91 for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)

/pre-release

Pre-release
:wave:
Releasing commit [11c69b2f139afcb2e46d48473136474de074e502] to PyPi as pre-release! :package:

Pre-release
:wave:
Pre-release 0.120.0.dev.1658523480 [11c69b2f139afcb2e46d48473136474de074e502] has been released on PyPi! :rocket:
You can try it by doing:
poetry add strawberry-graphql==0.120.0.dev.1658523480


Add documentation

Is is possible to add documentation on how to simply use this plugin?
It would help a lot :-)

Hey @ThermScissorpunch
I appreciate the time you took to raise awareness about the lack of example usage of this package.
Are you having trouble using this package in your javascript projects? If so, I can provide some help. But if you already know how to use it, I encourage you to open a pull request to improve the documentation.

@ThermScissorpunch pinging you on this matter, otherwise closing it in a few days.


New Features

Hi!
How I can frozen columns and change contextMenu?
Is possible add onScrollbar events?
Thx!!!

Yes, merged cells are included in the latest version.

Frozen columns it is on the roadmap already. Yes you can change contextMenu.


Fix benchmarks for msgpack

Msgpack is in clear disadvantage since it has to translate from the Java API to
the Scala API (collections).
This PR fixes:

JMH issue -- suite was benchmarking data generation.
Msgpack performance issue for objects and arrays.
Up the level of the generated file to stress more serialization/deserialization.

Two notes:

The benchmarks are still unrealistic -- the generated data has to be highly
nested and structure, and not flat (as it is right now). It's not
representative of a real-world scenario.
If it were not by the serialization/deserialization, msgpack could be more
efficient than Spray JSON. However, for the moment, gzipped spray json is the
winner.

These benchmarks should be merged with the ones done by @dkomanov: https://medium.com/@dkomanov/scala-serialization-419d175c888a.
The highly regarded serialization benchmark suite in the JVM is http://eishay.github.io/jvm-serializers/prototype-results-page/#.
We have to be doing something wrong, since that above benchmark and Uber's benchmark
decides that the best solution for fast serialization and small file size is Zlib Messagepack.
http://highscalability.com/blog/2016/3/21/to-compress-or-not-to-compress-that-was-ubers-question.html
Note: sjson-new creates too much abstraction and it's not as efficient as it could be.
Pluggable backend have this deficiency.

Last thing: the results provided by Travis CI should not be used as reliable benchmark results. CPU frequency changes and Travis machines leave much to be desired.
These are my results for gzipped Spray vs MsgPack:
[info] GzipSprayBenchmark.moduleId1SaveToFile      avgt   20  881.388 ± 12.475  ms/op
[info] GzipSprayBenchmark.moduleId2LoadFromFile    avgt   20  630.591 ± 72.937  ms/op
[info] MessagePackBenchmark.moduleId1SaveToFile    avgt   20  373.162 ± 62.374  ms/op
[info] MessagePackBenchmark.moduleId2LoadFromFile  avgt   20  714.574 ± 71.670  ms/op


Weird bug during typing

I think it was an issue with sending keys to nothing. Try and except wasn't able to catch. Only happened once tho need to try to replicate again.

What a bug do you mean
Please describe
Does it not write?

Unfortunately, I don't remember the specifics of the bug and that's on me for not documenting it properly here. The fact that it happens during typing confuses me, but I don't think its an issue with my program.


react-native ios build fails during "select node.js version" phase

full error log:
2023-05-25T09:03:21.7183840Z ##[section]Starting: Select Node.js Version v2
2023-05-25T09:03:21.7189480Z ==============================================================================
2023-05-25T09:03:21.7189660Z Task         : Bash
2023-05-25T09:03:21.7189770Z Description  : Run a Bash script on macOS, Linux, or Windows
2023-05-25T09:03:21.7189900Z Version      : 3.214.0
2023-05-25T09:03:21.7189990Z Author       : Microsoft Corporation
2023-05-25T09:03:21.7190120Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
2023-05-25T09:03:21.7190270Z ==============================================================================
2023-05-25T09:03:22.5683000Z Generating script.
2023-05-25T09:03:22.5761530Z Formatted command: exec bash '/Users/runner/runners/3.220.2/scripts/select-node-version.sh' nvmrc
2023-05-25T09:03:22.6876310Z ========================== Starting Command Output ===========================
2023-05-25T09:03:22.9754650Z [command]/bin/bash /Users/runner/work/_temp/2079b89c-3726-47ee-8ffd-82dcbb1dfa0b.sh
2023-05-25T09:03:22.9786930Z /Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 6: /Users/runner/.nvm/nvm.sh: No such file or directory
2023-05-25T09:03:22.9819070Z /Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 10: nvm: command not found
2023-05-25T09:03:22.9830310Z /Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 11: nvm: command not found
2023-05-25T09:03:22.9846520Z /Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 19: nvm: command not found
2023-05-25T09:03:22.9882010Z /Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 19: nvm: command not found
2023-05-25T09:03:22.9892040Z Node version: v18.16.0
2023-05-25T09:03:23.7305490Z npm version: 9.5.1
2023-05-25T09:03:23.7409410Z ##[error]Bash wrote one or more lines to the standard error stream.
2023-05-25T09:03:23.7419540Z ##[error]/Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 6: /Users/runner/.nvm/nvm.sh: No such file or directory

2023-05-25T09:03:23.7421650Z ##[error]/Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 19: nvm: command not found

2023-05-25T09:03:23.7423580Z ##[error]/Users/runner/runners/3.220.2/scripts/select-node-version.sh: line 19: nvm: command not found

2023-05-25T09:03:23.7429980Z ##[section]Finishing: Select Node.js Version v2

android works for me. on ios this happens every time. happened yesterday for the first time.

Hello @Adnan-Bacic, for assistance on this issue please contact support by clicking on the "?" icon on the App Center portal.

where you want to receive bug reports is of course your decision. however i think that there is a lot of value in keeping the communication on a publicly available forum like github, instead of a closed off chat.
then other people can find it through searches, link to this issue other places, and contribute their own experiences.

solution was this: https://github.com/MicrosoftDocs/appcenter-docs/issues/53


Core Process Engine - initial processing of DSL

AS A developer
I WANT TO
SO THAT
Acceptance Criterias

[ ] All DSL files are executable as REST endpoints;
[ ] REST endpoints can be called out as POST and GET requests;
[ ] Steps are executed as a list with every step being logged on temp / mock level (fine-graned via another story);

Expected output: https://github.com/buerokratt/Ruuter/blob/main/samples/backlog/steps.md

{
    "response": "<REST endpoint full response>"
}


Update Composer dependencies (2020-06-08-00-09)

Visual regression test passed!
View the visual regression test report


sub-techniques tour flexibility

As a user of the ATT&CK Website, I want the sub-techniques tour feature to be flexible as the data changes.
Currently the tour route is hardcoded to travel to specific matrices, techniques and groups. If a user builds the site with modified data which does not include these specific pages, or the content of these pages changes substantially, the tour will no longer work properly. The tour needs to be updated for flexibility by creating a tour module which parses the STIX data to determine the optimal tour route and whether any steps must be skipped.

Essentially, the tour needs to follow this route:
1. index (start page, doesn't need to be dynamic)
2. A matrix with sub-techniques
3. A technique with sub-techniques
4. One of the sub-techniques of that technique
5. A group/software that meets the following criteria:
5.1. Group has a relationship with a technique but not that technique's sub-techniques
5.2. Group has a relationship with a technique and (preferably) 2+ of that technique's sub-techniques
5.3. Group has a relationship with (preferably) 2+ sub-techniques but not the parent technique.
   If any of the above criteria are not met by any software/group, that section of the group/software page of the tour can be skipped.

We can parse the STIX to determine which matrix, technique, sub-technique, and group to travel to on the tour.


CASMPET-7175: iSCSI SBPS: radosgw-admin cmd fails with "auth: unabl…

Summary and Scope
CASMPET-7175: iSCSI SBPS: radosgw-admin cmd fails with "auth: unable to find a keyring..." part of s3fs mount for "boot-images"
- "radosgw-admin cmd..." is supposed to be issued on master node to generate s3 access/ secret key and not on
worker nodes. Fixed CFS play to create s3 access/ secret key on master node followed by mounting s3 boot images
on all worker nodes using this s3 key.
Issues and Related PRs
List and characterize relationship to Jira/Github issues and other pull requests. Be sure to list dependencies.

Resolves [issue id](issue link)
Change will also be needed in <insert branch name here>
Future work required by [issue id](issue link)
Documentation changes required in [issue id](issue link)
Merge with/before/after <insert PR URL here>

Testing
Tested worker nodes personalization on bare metal system: starlord with CSM 1.6.0-alpha.55 bits
Tested on:
baremetal system: starlord
Test description:
Tested iSCSI SBPS CFS plays (worker node personalization) on starlord with CSM 1.6. Observed that radosgw-admin command for s3 access/ secret key generation on master node followed by mounting s3 boot images using s3fs command on worker nodes is successful.

Were the install/upgrade-based validation checks/tests run (goss tests/install-validation doc)?
Were continuous integration tests run? If not, why?
Was upgrade tested? If not, why?
Was downgrade tested? If not, why?
Were new tests (or test issues/Jiras) created for this change?

Risks and Mitigations
None
Pull Request Checklist

[x] Version number(s) incremented, if applicable (NA)
[x] Copyrights updated
[x] License file intact (NA)
[x] Target branch correct
[x] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[x] HPC Product Announcement prepared, if applicable (NA)

@ravikanth-nalla-hpe please update the checklist in the PR, checking off all items once you have either verified them, or determined that they don't apply to this PR.

@ravikanth-nalla-hpe please update the checklist in the PR, checking off all items once you have either verified them, or determined that they don't apply to this PR.

Updated. Thanks.


Stage 3 updates

This brings together everything we need for stage 3.
It should be merged after stage 2 (PR #150) , and is current with main (as of b87d094ddc30740da76a872d67ae002551586e43 / apr 20)

There are a few issues that I noted in the punchlist, and as @johnarban and I have discussed, we will be streamlining a lot of the Stage 1 tutorial content. I'm merging this in for now because I realized I merged #155 to main without the update in [1819fda], so what's currently on main will probably not run without this PR.
There are also some errors that show up in the notebook, but they don't seem to affect the user experience, so we will clean all that up hopefully tomorrow.
(https://github.com/cosmicds/hubbleds/pull/156/commits/1819fdad9e3f534a3fa172a6e893afef97faf042)


I wish to join this organization

@0xMRTT, hi there I've just sent an invite for you to join the organization.
Don't forget to follow me and this organization on GitHub for future updates, thanks!


Workbench - ability to contribute window title variables

Adds WorkbenchWindowTitleContributionsRegistry that keeps track of the "contributed" window titlebar variables. The piece that is currently missing is to make sure that all contribuions are available early so that their name/description is added to the window.title setting description.
If we were to evolve this capability further and allow extensions to contribute their own variable, then we would have to give up on the idea of these contribute variables being available early and included in the setting description.
@bpasero, what are your thoughts?

Closing PR as we will pursue another solution.

Yeah I am building on top of yours!


Conflicting timelines for VDC expiration

While testing VDC on devnet a few days ago on Friday, I noticed that the expiration warning pop up on the main page showed a different time than what I saw on the wallet screen. In this case, the pop up said 14 hours until expiration on a newly deployed VDC, while the wallet page says that it expires on 30/01/2021, 09:15:45 when today is 15/01/2021 at 19:50 local time (PST).

since the current prices are not sufficient to do the actual deployment on the grid, whenever the vdc is changed (node added, pools extended, ... etc) the wallet funds are decreased more than expected so the overall expiration is reduecd.
how we calculate the expiration shown in the dashboard:
def calculate_expiration_value(self, load_info=True):
        funded_period = self.calculate_funded_period(load_info)
        pools_expiration = self.get_pools_expiration()
        return pools_expiration + funded_period * 24 * 60 * 60

in which funded period is always reduced

since the current prices are not sufficient to do the actual deployment on the grid, whenever the vdc is changed (node added, pools extended, ... etc) the wallet funds are decreased more than expected so the overall expiration is reduecd.
how we calculate the expiration shown in the dashboard:
def calculate_expiration_value(self, load_info=True):
        funded_period = self.calculate_funded_period(load_info)
        pools_expiration = self.get_pools_expiration()
        return pools_expiration + funded_period * 24 * 60 * 60

in which funded period is always reduced

I added this to 2.4 as blocked. the problem as mentioned before is the explorer prices are higher than the fixed plan prices #1925 and one way to address that is allowing #2252 which is blocked on this https://github.com/threefoldtech/tfexplorer/issues/277, another solution would be that we keep sending money to the user (which can and will be abused spepcially that we share the wallet secret with the user), another reason is the cost of TFT transactions

Newly deployed VDC presents two different expiration times in the same screen (time/date of the screenshot is 10:05- GST - 05/02/2021):

Even though we have the issue as labour described we cannot present them to the end user at the same time.  We have to decide which calculation method we will use and use that one for every presentation expiration time everywhere.

Any update?

@weynandkuijpers 2 PRs are ready to merge on explorer and farmmgmt side, all what is left is coming up with deals of the CU/month, SU/month that makes the plan correct.

Sounds great.  What deals do you refer to -> price per CU/SU of the farms that will participate in the VDC service deployment

@weynandkuijpers  Yup indeed also the https://github.com/threefoldfoundation/tft-stellar/issues/269 should be addressed, otherwise it will cost 72 TFT extra every month

for the 72TFT differencce we will implement as a separate service https://github.com/threefoldtech/js-sdk/issues/2600 ... would have preferred that to be fixed on the tft-stellar level.

@xmonader plnn the stellar fix as a feature for one of the future releases. Is this something you can put on now for the 3.0 release?

@xmonader @weynandkuijpers The mobile wallet change is currently being tested on the stellar testnet, as the change to 0.01 TFT is deployed on the testnet.threefold.io.

link to issue : TFConnect: Allow tft fee of less than 0.1 if the tx funding service requires less #207

@sasha-astiadi link 207 does not make any sense.  Please remove.
As discussed - changes have been implemented, backend service put into production. So this issue is  done / putting it into verification.

verified :
the expiration date of VDC in the wallet info page = VDC validity remaining days +14 days grace period


hand cursor only appears when mouse is down, even when useHandCursor is set to true

I've updated to version 2.4.8 and am experiencing an issue with the hand cursor not appearing as it should. It only appears when the mouse is down but returns back to a normal pointer when the mouse is up. I'm using the same code I was in 2.4.7:
let testSprite:Phaser.Sprite = this.game.add.sprite(0, 0, "ss_1", "button_bg");         testSprite.inputEnabled = true;         testSprite.input.useHandCursor = true;

Thanks for submitting this issue. This has been fixed already. You can find the fix in the dev branch if you want to test it prior to 2.4.9 release.


Fix validator not found and wrong events url

fix error in sim tests where validator with index 0 cannot be found
fixed error where validator is using wrong events url

@ChainSafe/eth2-0 how is it possible for e2e tests to fail without single warning or error. I also didn't make any significant changes 😞

@ChainSafe/eth2-0 how is it possible for e2e tests to fail without single warning or error. I also didn't make any significant changes 😞

@ChainSafe/eth2-0 how is it possible for e2e tests to fail without single warning or error. I also didn't make any significant changes

I would love to find a way for sim tests to provide valuable feedback, but is it possible?

@ChainSafe/eth2-0 how is it possible for e2e tests to fail without single warning or error. I also didn't make any significant changes

I would love to find a way for sim tests to provide valuable feedback, but is it possible?

cc @wemeetagain Seems like when I fix events sim tests aren't working. My best guess is that something is wrong with using events for duties so it works if they are disabled (not working)

cc @wemeetagain Seems like when I fix events sim tests aren't working. My best guess is that something is wrong with using events for duties so it works if they are disabled (not working)


Work better against huge directories

I tried running symbex '*.*' in a top-level folder and there was a long delay before it started doing anything.
This is because of this code:
https://github.com/simonw/symbex/blob/b0024829e1b4b2bf29698064d62efbb5e5ec072b/symbex/cli.py#L81-L83
There's no need to wait for the rglob("*.py") to finish running before starting work - it would be more efficient as a generator.

Now when I run symbex '*.*' in a directory with many subdirectories (like ~/Dropbox/Development on my laptop) it starts outputting results straight away and streams for a long time.

@simonw I certainly understand the desire to have few dependencies!
I'm also open to extracting the .gitignore stuff as a library. That kind of thing might be better done when I've got at least two projects that need the functionality, to be sure the API works, but now I do.
I'm building on top pathspec, but adding a significant amount  - it is particularly nasty because of the way that .gitignore files can be in any directory, and you want to avoid even looking at them if you don't recurse into the directory, and you also need to include the ones in parent directories, without re-doing work. So this imposes a fairly tight structure on the way the directory traversal has to work.


Config server should provide health indicator

When the config server can't fetch or pull due to an unavailable git repository, it should signal the error using a HealthIndicator. Currently it's just logged ("Remote repository not available", "Could not pull remote ...") which is a bit inconvenient for monitoring.

Sample DOWN details:
{
    "status": "DOWN",
    "configServer": {
        "status": "DOWN",
        "repository": {
            "application": "myfeed-ui",
            "profiles": "development",
            "label": "blah"
        },
        "error": "java.lang.IllegalStateException: Cannot clone repository"
    }
}

Sample UP details:
{
    "status": "UP",
    "configServer": {
        "status": "UP",
        "repositories": [
            {
                "sources": [
                    "git@github.com:spencergibb/myfeed-config.git/myfeed-ui.yml",
                    "git@github.com:spencergibb/myfeed-config.git/application.yml"
                ],
                "name": "myfeed-ui",
                "profiles": [
                    "default"
                ],
                "label": "master"
            },
            {
                "sources": [
                    "git@github.com:spencergibb/myfeed-config.git/myfeed-ui-development.yml",
                    "git@github.com:spencergibb/myfeed-config.git/myfeed-ui.yml",
                    "git@github.com:spencergibb/myfeed-config.git/application.yml"
                ],
                "name": "myfeed-ui",
                "profiles": [
                    "development"
                ],
                "label": "master"
            }
        ]
    }
}


Reduce log spam on request logs

I just wonder. It feels like it may have been a mistake to leave to leave the request logging for all requests in there. At info level is it?
It sounds like a debugging measure that perhaps was intended to be temporary.

I just wonder. It feels like it may have been a mistake to leave to leave the request logging for all requests in there. At info level is it? It sounds like a debugging measure that perhaps was intended to be temporary.

This was consequence of this refactor #113. Before we sent the response to "about" and "stats" endpoint before create RequestLogger on ApiRequestHandler::onRequest. Now we still create the RequestLogger on  ApiRequestHandler::onRequest but we then we call "callEndpointAction to handle everything,  so RequestLogger is logging all requests


add Beh Xuan Yong

@bexuyo, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?


Rinsing: Capitalisation issues

The following headings should be capitalised:
temperature
duration
instrument

ready for review and merge on pull request #46


Reformat legends

Rich text screws up the number of bullet points

Codecov Report
Base: 60.66% // Head: 60.66% // No change to project coverage :thumbsup:

Coverage data is based on head (6dfd4aa) compared to base (9571661).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #252   +/-   ##
=========================================
  Coverage     60.66%   60.66%
  Complexity      553      553
=========================================
  Files           103      103
  Lines          2044     2044
  Branches        206      206
=========================================
  Hits           1240     1240
  Misses          736      736
  Partials         68       68

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Improve string manipulation

Currently, you can only add strings together. It would be useful if you could

Retrieve the length of a string
Retrieve a character at an index of a string
Retrieve a substring of a string
Split a string into a string array with a separator character?

Resolved via 8db89310dc6775f46f6e50357f72880632b9ecde


[Feature] Enhancement to MITRE Tactics for Related Alerts

For #308 we want to add a multiplier to the score based on how many MITRE tactics are related.  While we can do this in the Scoring module itself, it may benefit other use cases to provide a high level summary of MITRE tactics in the raw output of the Related Alerts Module.
Proposing the addition of the following columns in the output, names to be finalized later:

Name
Description

AllTactics
All observed MITRE tactics, including those found in the related alerts, as well as the source incident

AllTacticsCount
Count of unique MITRE tactics found in AllTactics

I think that one is pretty cool actually.


Issue #27 - Fixed XML report/log file handling

Fixed XML report/log file handling to remove invalid characters and convert control characters in the CDATA section to their hexadecimal representation.
modified:   BoostTestAdapter/Boost/Results/BoostTestResultXMLOutput.cs
modified:   BoostTestAdapterNunit/BoostTestAdapterNunit.csproj
modified:   BoostTestAdapterNunit/BoostTestResultTest.cs
new file:     BoostTestAdapterNunit/Resources/ReportsLogs/ControlCharacters/sample.test.log.txt
new file:     BoostTestAdapterNunit/Resources/ReportsLogs/ControlCharacters/sample.test.report.txt

I'm still not sure how the whole thing is working? I think boost test is using cout or a file stream to create the log files or XML. If there is no explicit encoding/codepage set in the boost code I expect boost is using the default encoding/codepage (http://www.siao2.com/2008/03/18/8306597.aspx). So I'm not sure if your solution to hard ode the encoding would work e.g on a Japanese OS? But I think we should merge anyway because behavior is better as before.
:+1:

I completely agree, in fact my fix is to be considered just as an improvement of the existent code. In general it is not safe to guess the encoding: this should be clearly indicated in the XML and the reader should be written according. Basically we don't have enough information about the Boost UTF output to write a more reliable code.

:+1:


Throw an exception when multiple country codes are retrieved

Hello! Thank you for creating such a helpful library.
I've noticed something since we can now do a partial match search for country names.
【What I've noticed】
$data = (new League\ISO3166\ISO3166)->name("Bah");
I was trying to find a country name that includes 'Bah'. However, the result was 'Bahamas' instead of 'Bahrain'.
【Suggestion】
How about making it so that an error occurs when two or more country names are found with a partial match search?
I've written a patch and test code for this. I'd appreciate it if you could check it.
Thank you as always.

Hmm, I see how this could be an issue depending on your expectations.
Right now it simply returns the very first match found. There is no clear indication there could be more than one match (undocumented). I am not sure what the desired behavior would be though.

Throwing an exception
This way you immediately know there is more than one result. But you don't know if it is limited to two or possibly more. Also, you don't get any results back at all this way. Personally I think this is the least preferable solution.
:boom: This is a breaking change requiring a major version bump.

Return a multidimensional array
We could return all matches found in an array. But since I decided not to use value objects so far, it could be a bit awkward to check for whether or not this is the case (from a user point of view).
:boom: This is a breaking change requiring a major version bump.

Change nothing but document behavior
We could document the method to elaborate that it simply returns the first matching value. Downside is that most users probably don't read that stuff.
:wrench: This merely requires a bump in patch version.

Hi @alcohol,
Thank you for your detailed response and for considering my proposal. I understand your concerns about throwing an exception and the potential impact it could have on the library.
In light of your comments, I'd like to propose an alternative. Would it be possible to provide a method for exact match searches? This method could function similarly to the 'name' method that was available before version 4.0.0.
This solution would enable exact match searches without impacting the current partial match functionality, and it wouldn't necessitate a major version bump. I believe this would be a valuable addition to the library.
Thank you for your time and consideration. I appreciate your work on this library and am looking forward to future improvements.
Best Regards,

I am definitely open to that suggestion. If you would submit a PR, we can work out the little details along the way.

Thank you for your acceptance of the proposal. I'll proceed to submit a PR. Best regards.


testutil: fix typo in comment

LGTM. Can you fix all typos in one commit if possible?

@xiang90 sorry, I was using the links on http://goreportcard.com/report/coreos/etcd and editing the files in GitHub's UI. I'll edit them locally next time and push them all up at once.

@shawnps Ah... We are very interested in goreportcard. We will improve golint soon. : ). Thanks for your awesome product.

@shawnps It would be great if it can bypass generated code like /github.com/coreos/etcd/client/keys.generated.go

@xiang90 it should be able to. Let me take a look.

@xiang90 https://github.com/gojp/goreportcard/commit/aa605c53f7843b9171c8407ae02d4ad2bab5ebb6
.generated.go files should no longer be checked


Fallback correctly to ipv4 when ipv6 is not supported

This is a one line fix so that mitmproxy (git master version) correctly works on a system where ipv6 is disabled.
Without it, I get the following exception when trying to run mitmproxy:
Traceback (most recent call last):
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/net/tcp.py", line 862, in __init__
    self.socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
  File "/usr/lib/python3.6/socket.py", line 144, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 97] Address family not supported by protocol

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/proxy/server.py", line 46, in __init__
    (config.options.listen_host, config.options.listen_port)
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/net/tcp.py", line 867, in __init__
    if self.socket:
AttributeError: 'ProxyServer' object has no attribute 'socket'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/arch/mitm/dev/mitmproxy/venv/bin/mitmproxy", line 11, in <module>
    load_entry_point('mitmproxy', 'console_scripts', 'mitmproxy')()
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/tools/main.py", line 137, in mitmproxy
    run(console.master.ConsoleMaster, cmdline.mitmproxy, args)
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/tools/main.py", line 92, in run
    server = proxy.server.ProxyServer(pconf)
  File "/home/arch/mitm/dev/mitmproxy/mitmproxy/proxy/server.py", line 51, in __init__
    if self.socket:
AttributeError: 'ProxyServer' object has no attribute 'socket'

I think a better fix would be to catch OSError here: https://github.com/titeuf87/mitmproxy/blob/38fe2f244ae277ffe5b9618bca669da0bf659ad7/mitmproxy/net/tcp.py#L868, because it already contains the suggested error recovery.
Or am I missing something?

OSError and socket.errorare the same thing (OSError is the new exception type since Python 3.3. Older versions threw socket.error
The issue is unrelated to that: when you get in the exception handler, self.socket does not exist (since the self.socket = ... line did throw the exception.
The exception code checks for if self.socket:, but since that attribute does not exist, it throws a new exception (the AttributeError).
By defining self.socket = None above, it will exist and so the exception handler code won't throw a new exception.


Invalid instantiation of generic indexed access type gives "any" without warning

TypeScript Version:  master (60986ad)

Search Terms: invalid instantiation generic index indexed access lookup type intersection any warning error
Code (compile with --noImplicitAny)
function index<T extends {[P in K]: {}}, K extends string>(t: T, k: K): T[K] {
    return t[k];
}
function index2<T, K extends keyof T>(t: T, k: K): T[K] {
    return t[k];
}
let t = {a: 42};
let k: "a" & {} = undefined;
let x0 = t[k];          // x0 is any, error TS7017
let x1 = index(t, k);   // x1 is any, no error
let x2 = index2(t, k);  // x2 is any, no error

Expected behavior: Either x1 and x2 produce an error/warning or their types are something other than any.
Actual behavior: As marked above.
Playground Link: Link (remember to enable --noImplicitAny)
Related Issues: Didn't find any.

Here's a modified repro that (1) gets rid of the mapped type constraint (2) gets rid of the incorrect initialiser for k. I think the problem is that indexing returns errorType and the caller doesn't log an error when that happens.
function index<T extends {[s: string]: {}}, K extends string>(t: T, k: K): T[K] {
    return t[k];
}
function index2<T, K extends keyof T>(t: T, k: K): T[K] {
    return t[k];
}
let t = {a: 42};
declare let k: "a" & {};
let x0 = t[k];          // x0 is any, error TS7017
let x1 = index(t, k);   // x1 is any, no error
let x2 = index2(t, k);  // x2 is any, no error

Well, this is an instance of the general problem we have with reporting errors on type instantiation. In general, it can occur as a result of chain or tree of instantiations, far away from either the usage or the declaration. In this case, however, we are close enough to the instantiation to confidently say that index is the best error location.
I'm going to try threading an error location  through checkCallExpression >>= getReturnTypeOfSignature >>= instantiateType >>= instantiateTypeWorker >>= getIndexedAccessType >>= getPropertyTypeForIndexType [1]. It will probably fix the bug, and may be useful enough to ship. However, I don't think it will scale well: if we start passing in lots of error locations, the chance that we'll start reporting errors in bizarre locations goes up. For example, if we were to add an error location to instantiation of conditional types, I'm certain we would see examples of an error happening on a call expression that should actually be on the original type alias, or perhaps even a derived type alias.
[1] Using a parameter, not the State monad. :frowning_woman:

Well, I talked about this idea with @RyanCavanaugh and we think it might work out. I put what I have in the branch sandersn/better-instantiateType-errors and I'll come back to it after I have a chance to finish up a couple other things.

Narrator: It did not work out.

However, these examples do now produce unknown at least, which is an improvement.


Added onIconClick to extension search input

When searching for extensions in the Minecraft target, clicking on the magnifying glass icon on the right of the search bar wouldn't do anything. It was unclear to me why it was behaving differently. As far as I could tell, there weren't any flags that would set this in the target itself and when inspecting the html, everything looked the same as it does in arcade, where clicking the icon will kick off a search as expected.
Adding the onIconClick field to the input does change the icon into a button, but I think this is a fine change. I actually think that this modification makes it clearer that the icon can be clicked since it comes with the css that we have defined for common-buttons (pointer and darker background color on hover).
This is a quick video showing how it looks as only an icon and then now as a button:
https://github.com/microsoft/pxt/assets/49178322/0c0a67a5-bf2d-4c0d-acf9-a8b61e2375ed
Here's a target in Minecraft: https://minecraft.makecode.com/app/cc86807a84f344ed00a69ca22a3c95f31105b02f-3cdea2d8d6#
This includes some css changes that I made to the button to make it look the same as the other targets. I'm opening another PR in Minecraft to get those changes.
Fixes https://github.com/microsoft/pxt-minecraft/issues/2392

Port to stable.

Port to stable.

This should just be a cherry-pick from master, right?

Yes


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2474 ms

Resolved: Samsung performance has improved in 645cebc.


_SynchronizedBatchNorm's backward is redefined by its forward, right?

I am reading the source codes of Synced BN in fyu/drn, zhanghang1989/PyTorch-SyncBatchNorm and your program at the same time.
I find that your program is different with the others, the others rewrite the BN function to pass the global mean and std to it while the official BN function calculate the local mean and std inside, but you just use simple expression like output = (input - _unsqueeze_ft(mean)) * _unsqueeze_ft(inv_std * self.weight) + _unsqueeze_ft(self.bias) in the _SynchronizedBatchNorm module which is inherited from the torch.nn.modules.batchnorm.
So I think this means that the _SynchronizedBatchNorm's backward will be redefined automatically to be adjusted to the expression so that you do not need to rewrite the function like others program, right?

Hi, @acgtyrant. Your understanding is correct. Actually, nn.Module does not explicitly declare any backward operation. It relies on autograd.Function for the back-propagation. In _SynchronizedBatchNorm, we have overwrite the forward method, and thus the gradient will be "implicitly" re-defined, as described in your comment.
The only reason for inheriting torch.nn.modules.batchnorm is that we re-use the __init__ method and it also helps us check the compatibility
N.B., we do not call the official fused batch-norm function because doing so will increase the communication complexity between multiple GPUs. (Currently we sync only x.mean() and x.pow(2).mean() not x).


fix #71 - Unittests of package fails when calling as dependency

Codecov Report

Merging #72 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #72   +/-   ##
=======================================
  Coverage   91.75%   91.75%
=======================================
  Files          35       35
  Lines        4243     4243
=======================================
  Hits         3893     3893
  Misses        350      350

Impacted Files
Coverage Δ

source/dyaml/testcommon.d
79.31% <100%> (ø)
:arrow_up:

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 8775767...40757bd. Read the comment docs.


logger.py and parser.py update

I think these files could need an update, but maybe we can collect first which things need to be done.

add type information, otherwise these files interfere with mypy --strict
remove "levels" dict as logging has support for these strings directly
I had a bit of a hassle to adopt the logging system in cases where I build a python library with this template
According to https://docs.python.org/3/howto/logging.html
i would revert to using logger = logging.getLogger(__name__) but we still might wanna have a initialization function

I added type information. We don't really have to use __name__ because the logger is created in __main__. Giving it the name main is just fine. When the setup logger method is used elsewhere, it could be called as you suggest.

I agree for executable. My point was to be able to use the project-template for a library. Then several loggers in different libraries have to be coordinated and this seems to be the standard way to do it.
For our application class it does not really matter.
I'm not a fan of the logger.py as it adds a lot of things where

i'm not sure what they are doing
i'm not a fan of adding complexity to add color
using the template for a library and setting sys.strerr as a streamhandler can be bad. The person using our library should decide on their own where the logging goes. As an example, in the ngo __main__.py i setup the logger to write to stderr. For the API use of ngo as a library, I don't want to do this, because then everybody using the API gets error messages to stderr and can't redirect them to their own logging system, etc...

@susuhahnml what do you think ?

I agree that we need to set it up so that it works well as a library. Regarding the color, I really like having an output with colors, i think it improves a lot readability. Regarding the point of the standard error, I am not sure I fully follow. You mean that when you log a message it goes to the corresponding logger and not the stderr?

@susuhahnml there  are many different targets one can log to. stderr is just one possibility. Depending on the type of project, stderr might not be a good target to log messages too.
@MaxOstrowski do we already have a project that can serve as a good role model? If yes, we can incorporate the logger setup from there. Otherwise, we can also just keep the current one and do this later. After all it's just a template and meant to be changed and extended anyway.

Regardings the colors:
Colors can be nice as visual output, but I fear that dependent on the output target (text file, different consolve, html, database, etc...) that they might interfere with the target system and leave ugly unrecognized characters somewhere.
Regarding stderr:
It should not be the default if your project is used as a library. I think with your setup it is not possible to redirect your logger to something else and it might interfere with the users intended use of stderr.
I started with this template for ngo but simply removed any setup code because it was too simple.
In main.py I do call:
logging.basicConfig(stream=sys.stderr, level=args.log)

to setup my application to write logs to stderr. Furthermore, my application allows to set a logging level as an argument in the parser. Thats it, nothin more.
In my actual source files I use:
log = logging.getLogger(__name__)

at the beginning of each file, as I have several modules that I want to log separately, but this might be different for other projects and you might wanna go for something like:
log = logging.getLogger("fillname")

to have a common log for your whole application.
The advantage of this very slim setup is, that logging.basicConfig(stream=sys.stderr, level=args.log) does not get executed when you use ngo as a library. But logging still takes place.
You can easily setup the configuration in your own project that uses the ngo api e.g.
logging.basicConfig(stream="debuglog.txt", level="DEBUG")

and all logging goes to your log file, including the logging of ngo.
It all automatically applies to all your python libraries that use this proposed principle, and according to https://docs.python.org/3/howto/logging.html that is the way to use the logging system.
The filtering is already done by the logging lib, the formatting is the standard format logging proposes and I do not see a reason to change it for a general python-template.

Shouldn't one use something like isatty() to detect if the output is a terminal.

Shouldn't one use something like isatty() to detect if the output is a terminal?

One can. :)

I am done here. If there are further refinement proposals, just add a PR.


Cscfairmeta 92 pas dataset issues in etsin

Added the functionality to include PAS datasets to the result.

This will be reviewed once Metax-test is back online

To evaluate:
https://etsin-test.fairdata.fi/dataset/bf7d4efa-9c51-469d-9923-c76abcb56909
What should be done with this functionality? This is a dataset that has a PAS value greater than 0 but smaller than 80. ("Entering PAS"). For now, this is probably considered to be a PAS dataset.

Unrelated discovery while testing:
https://etsin-test.fairdata.fi/dataset/c80c5d64-64ea-4136-98ea-edee6d7ea1b5/
This dataset's data tab crashes, but did so already before this pull request. Ticket to be created.


Fix IamFleetRole syntax

Closes #616.
Closes #186.

Codecov Report

Merging #619 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           master    #619   +/-   ##
======================================
  Coverage    37.7%   37.7%
======================================
  Files          51      51
  Lines        3302    3302
======================================
  Hits         1245    1245
  Misses       1854    1854
  Partials      203     203

Impacted Files
Coverage Δ

model/spot_fleet.go
0% <0%> (ø)
:arrow_up:

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 7db8629...69ab8aa. Read the comment docs.

@danielfm LGTM. Thanks a lot for your continuous support 👍


install-app Vs clone-app subcommands

The clone-app add the app name as an entry in the apps.txt in the site directory. So, running install-app to add it will double the entries.
I think this step should be removed from the clone-app command to be more predictable.

The clone-app command adds the app entry even if the cloning fails. It should be added only if the cloning is successful.

If there is no new line at the end of apps.txt file or there are multiple new lines added manually, inconsistencies will happen. A solution is to delete all new line entries and then add a new line and the app name.


v0.1.0

Probably bedboss is not ready yet, but I would like to here your comments

Composed all scripts together
Added some corrections to the scripts

Things to finish:

[x] Add documentation
[x] Add tests???
[x] Add GitHub actions
[x] #1

This is really great! I think this is a great start and I think this is way better structure than what we had before. I wasn't able to review everything because I ran into some blockers that I couldn't get past, though. There's a lot we can do to clean this up and make it better. Here's my suggestions for you:
Docs feedback:

please construct a proper mkdocs setup for this. All it requires is copying and editing a mkdocs yaml file and then I will be able to view the docs in a nice, linked way with mkdocs serve. You already have the structure set up correctly.
please in general follow the documentation pattern using mkdocs that we use for all our other lab packages.
why is usage printed both in docs/README.md and docs/usage.md?
usage docs page is outdated

to see how to auto-update a usage docs file, see: https://github.com/pepkit/looper/blob/master/update-usage-docs.sh

bedboss should use VersionInHelpParser

https://github.com/pepkit/ubiquerg/blob/1d79b7c2d2e2319b3221b30cf63ccb377ac1fbc4/ubiquerg/cli_tools.py#L17-L28
Example of how to use it: https://github.com/pepkit/divvy/blob/ef51a9e5225b7ce1b8dd36713442687816298422/divvy/compute.py#L429

I think instead of bedboss boss it should be bedboss all. Or should we introduce subparsers, bedboss run qc bedboss run make bedboss run all ?
Can you write a simple example test tutorial, or transfer the other bedbase pipeline tutorial, provide some dummy test example data, to show me how to actually run this?
BedMaker class description is in the init docstring instead of in the class docstring. Please check your docstrings for content and format. You may be able to find a linter to help with the format part.
I found no documentation on how to write a bedbase config file.

Code feedback:

The way this argumentParser works strikes me as strange (using args = parser.parse_args(sys.argv[1:2]) and creating separate argument parsers. This could become a maintenance challenge. I believe the accepted way to build an ArgumentParser with multiple commands like this is to use subparsers. This is what we have done in the past.  See for example: https://github.com/pepkit/looper/blob/df535be2a0bd7257ee37148cb601d688ec557909/looper/init.py#L61

config_db_local.yaml is duplicated in pipeline_schemas/ and bedboss/

please come up with a strategy for testing this. At least something; discuss with me if needed. I suggest just creating a simple smoketest to start: create a very small BED file, and have the test run it through the whole pipeline, maybe even in python. Confirm some of the outputs. That's at least something to show how it runs.

double-check your docstrings on your exceptions, some are wrong/generic/confusing.

What is "OSMException" ? I don't know what OSM means.

I was not able to find a pipeline_interface -- is the intent to run this with looper? There is one that says pipeline_name BEDMAKER in the pipeline_schemas folder, but this is confusing to me... Actually I can't really follow what the items in pipeline_schemas are for.

I would consider switching the CLI from an argument-based parameterization to a config-based parameterization, given the number of parameters that are required for this process.

Converting from string.format() syntax to using Python f-strings throughout. They are much easier to read and understand.

bedboss qc:

CLI appears to not provide pypiper/divvy/logmuse args, but other pipelines do.
bedboss qc used the est_line.sh shell script under the 'bedmaker' folder, which confused me.
bedqc.py doesn't make sense to me. It has several problems:

It writes a file output instead of using pipestat to report a result.
it only records a result if there's a problem.
It records a result as prose instead of as machine-understanble numbers.
It just discards the results if they pass the cutoff.
Instead, this should be reporting a result of:

number of regions
file size
mean region width
... these are  each independent reportable results, whether the file passes or fails. they should be recorded in the stats/output of the pipeline.

it's not clear why bedboss qc uses --bedfile and then bedboss make uses --input-file -- can we standardize these inputs somehow?

bedboss make: bedmaker could be improved a lot.

get_bed_type is doing 2 tasks, these should be split into functions with appropriate names.
need more info on 'standardizing chromosome names (docstring, etc)'
it's not clear what bedtype is
docstring to _get_chrom_sizes doesn't tell the whole story. this function is also potentially creating something. It should be divided into two appropriately named functions.
Several bedmaker arguments makes no sense. Please go through all bedmaker CLI args, think about them carefully, and make them understandable. For example:

for -n the docs seem to indicate a boolean but then shouldn't it be a flag argument? What's the variable for?: "-n NARROWPEAK, --narrowpeak NARROWPEAK whether the regions are narrow (transcription factor implies narrow, histone mark implies broad peaks)"
for -t, the docs say it's a bigwig file, but the arg is called INPUT_TYPE, and it's not clear what goes there? "-t INPUT_TYPE, --input-type INPUT_TYPE a bigwig or a bedgraph file that will be converted into BED format"

bedboss stat

the argparser is incorrect; it should specify which are the required fields but it doesn't. It doesn't lit config file as a required argument, but if you don't provide it, it fails.

@nsheff @xuebingjie1990 It seams that bedboss is ready for it's first release:)


[Question] about onReceivedServerTrustAuthRequest in IOS

Hi,
I'm using this package to open https site. I want to ignore the ssl for now and I've done it successfully in Android with code below:
InAppWebView(
initialUrl: "https://localhost:8080/test/registration",
onReceivedServerTrustAuthRequest: (_, __) async {
return ServerTrustAuthResponse(
action: ServerTrustAuthResponseAction.PROCEED);
},
)
But In IOS, it's just showing a blank white screen. How can i ignore the ssl in IOS?
Thanks!

Check the IMPORTANT Note for iOS section.
Probably you need to add some configuration into your Info.plist file, such as:
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key><true/>
</dict>

or maybe NSAllowsLocalNetworking.
Check the official iOS Wiki.


Support OffsetCommit and OffsetFetch API for storing offsets in Kafka instead of Zookeeper

We should also bench mark this against the different connection options too (so 3 tests total)

with zookeeper
without zookeeper using Sarama
without zookeeper with librdkafka

While this is a good option for folks the way we are handling the commits in batch (per partition) reduces the overall Zookeeper load drastically while still keeping at least once processing (so after work is done) semantics. We should be able to benchmark that also through different batch size tests.

github.com/helpshift/ekaf 's producer also doesn't need zookeeper.

There seem to be several open issues related to Zookeeper and offsets. As of 0.8.2, kafka can support clients offsets storage inside a special topic without using zookeeper. We are already using 0.8.2 in production and would recommend upgrading to others.
It is not clear to me if go mirrormaker uses/supports the new API? I assume it does not. If there is anybody familiar with this project can point out where the upstream libraries are and whether they support the new API, that would be great. The only support needed in this project would a configuration directive like consumer.offset.storage = kafka for example (while still defaulting to zookeeper). See http://kafka.apache.org/082/documentation.html#distributionimpl

@t-pascal I think what you might be looking for is https://github.com/elodina/go_kafka_client/blob/master/docs/offset_storage.md


Bundle Generic Support in TS

Forked from PR #66  in order to make corrections / changes and generate the TS files for review.
This version adds generic support to Bundle, Bundle.entry, and Bundle.entry.resource. It also fixes a few minor issues that creeped in during PR #66 .
In order to ensure there were no conflicts in the future, I added some hinting to the generic directives (e.g., instead of T, bundles have BundleContentType).  This way, if we move towards adding more generics in the future we don't have to rename all of these.
Thoughts? @jdkelly @ir4y @jmandel @bkaney

IDK what this error means, or if it is a problem, but for all versions (2,3, and 4) I get this error when trying to package for DT:

Which in this case is where we define the resource binding:

@GinoCanessa  - There doesn't seem to me to be a circular reference, and I don't know if this a real problem? Or should I just add the minimum typescript 3.7 and call it good?

I like being more explicit, instead of just T

I'm guessing it's a problem because FhirResource contains Bundle, which is now actually Bundle<FhirResource> by default.  I'm okay with adding a dependency on TS 3.7 (since I believe it was released late 2019).
If we are doing that, I should probably add the comment to the generated header as well, to prevent it from happening in the future.

I agree with target > 3.7

@GinoCanessa  - should this PR go into dev? Or should we merge dev to main first?


Is there way I can create long lived chain?

Version: x.x.x
Python: 2.7/3.4/3.5
OS: osx/linux/win

What was wrong?
Sorry for silly question, but could I create long lived Blockchain? I.e I want to save state between launches.

The code which produced the error
The full output of the error

How can it be fixed?
Fill this section in if you know how this could or should be fixed.

I assume this.can be closed after all this time. For posterity, the ganache-cli is capable of taking snapshots and reloading from them.
See the ganache-cli repo for more info.
Feel free to raise a new issue if there are any other questions.


Keyword "Apache Spark" shows up on Warehouse as two keywords "Apache", "Spark"

Here's how I set my project's keywords (ref):
keywords=['Apache Spark'],

So my intention was 1 keyword, "Apache Spark". However, here on Warehouse this shows up as two keywords, "Apache" and "Spark".
Is this intentional?
I know that setup() also accepts a single string for keywords, instead of a list of strings, as follows:
keywords='Apache Spark',

In this case I would expect the keywords to be interpreted as whitespace-delimited -- that is, two keywords, "Apache" and "Spark", as they currently are on Warehouse.

This seems to be the doing on format_tags filter.
https://github.com/pypa/warehouse/blob/master/warehouse/filters.py#L101
Specifically
L108: split_tags = re.split(r'\s+', tags)
I think the correct behavior is this:

If passed argument tags is a list, then call format_tags recursively (or iteratively), to clean each individual one.
If tags is a string, then execute the existing flow.

Legacy pypi doesn't seem to be doing any formatting - just dumps the keyword as a string on the UI.
@dstufft or @rjwebb can confirm.

Does distutils (and setuptools) allow lists for keywords? I scanned the code quickly and could find no evidence that this is supported there. If not, I wouldn't imagine warehouse shouldn't either.

@robhudson - setuptools accepts lists for keywords. See the first link in my original post, under "(ref)".

distutils allows lists. There is a test in Lib/distutils/tests/test_dist.py:
self.assertEqual(dist.metadata.keywords, ['one', 'two'])

In PyPI/Warehouse it will always be a string, distutils/setuptools coerces it.

@dstufft - Does that mean it's not possible to have a single tag that has a space in it?

@nchammas that means it's not possible to deterministically parse the output of this field, because it can be a fee form string, and it can also be a list that distutils/setuptools coerced into a string. So we have to use some sort of mechanism to determine where to split these (or we need to not try and split them and just render it as is).
Currently our hueristics are implemented such that a single tag with a space in it shows up as two tags, because in the wild people have done stuff like "tag1 tag2".

Okie doke. Sounds like this issue should be closed as "Won't Fix" and if people want a multi-word tag like "Apache Spark" they should be instructed to capture that differently, perhaps as "apache-spark".
Does that make sense?

I think that if you use keywords="Apache Spark," you might get the behavior you want, but yea, closing this as WONTFIX. Thanks!


feat(transformer/decorators): support transform member decorators

Current dependencies on/for this PR:

main

PR #2171   👈

This stack of pull requests is managed by Graphite.


Fix for Multiset#include? with ruby 2.3

Multiset depends on Set and the implementation of Set#include? changed from returning @hash.include?(e) in ruby 2.2 to returning @hash[e] in ruby 2.3.
Tests for this gem are written for a really old version of rspec, so specify that to verify that tests pass with the change.
Also update the require for the rdoc task.
Prime: @fgarces

🚢

I've merged these changes to a salsify-master branch. I'm also going to submit a PR to the original repo.


Create unit tests for authentication service

There is not a single test for authentication service

@ppitonak I think @naina-verma just wrote some Functional tests on this. Do they satisfy this issue?

@joshuawilson No, I believe that we should have some basic unit tests for AuthenticationService - this class contains 3 non-trivial methods with no docs and a lot of lines with commented code (mainly navigation).

@nimishamukherjee @sanbornsen can you please look into this.


How to add for='...' to Label?

What is the correct/best method to add  for='...' to Label?
This will fail:
Label('Username', for='username'),
Input(id='username', name='username', type='text', placeholder='Enter your username', required=True)

This is working:
Label('Username', **{'for':'username'}),
Input(id='username', name='username', type='text', placeholder='Enter your username', required=True)

I see that FastHTML/FastTag uses fr to handle for
Label('Username', fr='username'),
Input(id='username', name='username', type='text', placeholder='Enter your username', required=True)

FastHTML/FastTag
https://www.fastht.ml
FastTag - Python library that mirrors fasttags from FastHTML/FastCore
https://github.com/adamritter/fasttag

I'm super stoked that you are actively trying out hypermedia and making issues.
for_ should already work and be autocompleted for Label and Output elements.
Label(for_="username")

https://github.com/thomasborgen/hypermedia/blob/b291a047d8d26f23a199383eb5bace55f5b9aed4/hypermedia/types/attributes.py#L518
and
https://github.com/thomasborgen/hypermedia/blob/b291a047d8d26f23a199383eb5bace55f5b9aed4/hypermedia/types/attributes.py#L363
I think all the attributes that conflicts with keywords has a trailing _ underscore. :) ie: class_, but with class_ you can use classes=[] instead.

Thanks,
Label("Username", for_="username")

Results in a for with a hyphen, for- ?
<label for-="username">Username:</label>

class_ result in classwithout a hyphen.

Thanks for checking and Sorry... the Alias was not set up correctly.

Fixed, will be released together with another issue. :)

Fixed in 5.2.0 release :)


cleanup top-bar component

** Description: **
Style declaration are contained within the HTML template file and should be moved into the CSS file.
SP: 1
** Acceptance Criteria: **

Style declarations are moved into the CSS file

Removed and replaced top bar with plain header with app title


Added the Issue template using Issue Forms feature

[x]  Forked and Cloned this repository
[x]  Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
[x]  Prepare bug report issue form in .github/ISSUE_TEMPLATE/documentation.yaml
[x]  Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
[x]  Pushed changes to master and tested issue on self fork
[x]  Submitted PR

@version0chiro  Great work. One more change before we can approve. We have made few changes in the language and also the format of Code of conduct. Please check https://github.com/appwrite/appwrite template and update accordingly.
Thank you.

Updated the template as per the main template✍


[Android/Hermes] Error: Failed to release a CodePush update

I cannot create CodePush updates for Android anymore. iOS works fine.
I'm just getting the error: Error: Failed to release a CodePush update:

using
"hermes-engine": "^0.5.2-rc1",
"react": "^16.13.1",
"react-native": "^0.63.2",
"react-native-code-push": "^6.3.0",
"metro-config": "^0.58.0",

And appcenter version 2.6.7

After digging around the source code, I can pinpoint the issue. It prints
Converting JS bundle to byte code via Hermes, running command:\n

This line can be found in react-native-utils.ts#L366, but it does not reach the next print statement which prints the hermes command (react-native-utils.ts#L369) so it has to be between those two statements. (react-native-utils.ts#L367-L368)
It's either the getHermesCommand() function, or the spawn(hermesCommand, hermesArgs) call.

Also, when running with the --debug flag, I still don't get extra information about the error thrown (trying to see this statement)

@mrousavy do you get a ton of other debug output? If not, you should read how to use debugging with the CLI.

@anywherepilot I'm getting TypeError: Invalid Version: ^0.63.2:

@anywherepilot I'm getting TypeError: Invalid Version: ^0.63.2:

This helped me -> https://github.com/microsoft/react-native-code-push/issues/1676#issuecomment-679957976
Hope you can get it work now!

i am getting error internal server  and we are using the Codepush plugn from azure devops.. not sure how to debug as well.. any help

Hi there!
I'm from CodePush team. It looks like:

microsoft/react-native-code-push#1676
microsoft/react-native-code-push#1939

https://github.com/microsoft/appcenter-cli/pull/1104 was opened for these issues. Could you please check it?

So I've upgraded to 2.7.2 and now when I run codepush it still doesn't work, even if I use 0.63.3 instead of ^0.63.3 for the react-native version!

Closing as stale.


falcosidekick httpOutput.url configmap issue

falco and falcosidekick generate service name based on fullname helper template:
https://github.com/falcosecurity/charts/blob/770a308d6203a04de640bce16eadcddc4d2c30fd/falcosidekick/templates/_helpers.tpl#L18-L22
(in most cases .Release.Name-.Chart.Name-falcosidekick)
in some cases when using falco chart as requirement for a master chart and supplying falcosidekick.enabled=true , Chart.Name may be different for the falco and falcosidekick templates. causing httpOutput.url to be not match the generated service name
https://github.com/falcosecurity/charts/blob/770a308d6203a04de640bce16eadcddc4d2c30fd/falco/templates/configmap.yaml#L195 gives prevents a simple workaround to first issue by ignoring httpOutput.url variable when using falcosidekick.enabled=true
httpOutput.url should override the generated value from falcosidekick to allow workarounds

This issue is follow up from chat with @Issif https://kubernetes.slack.com/archives/CMWH3EH32/p1633331438498300

This is a use-case I didn't checked before, sorry. I'll figure out how to solve this.

/remove-lifecycle stale
Still relevant. My revision number for my helm chart is greater than 100 at this point, and I've had to manually edit the configmap to move the extra "-falco" every time. I have a link to this issue in my NOTES.txt to remind me :)

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale
163 deploys now, one of these days I'll get tired of editing the configmap manually after a helm upgrade and fix this, but I'm a little pressed for time at the moment


Release controller 0.10.3 and helm chart 0.12.3

What
Describe what the change is solving
How
Describe the solution
Breaking Changes
Are there any breaking changes in this PR?

#350  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Abdiramen and the rest of your teammates on  Graphite


correcting wrong documentation s/Trade/User/

Summary
A short summary into the pull request including the reason for that change.
Changes / Features
What has being changed - provide code snippets, examples, screenshots, lists -
any kind of information hat helps to understand the update.
Make sure to address all topics of the self-review
checklist.
Closes: Don't forget to link an existing issue for your change. If there is no
open issue for your change - create one to make it more likely that his update
will be accepted:
python-kraken-sdk/issues/new/choose.

Closing because:

out of date
no valid PR description / no related issue


Add tflint-fix target

what
Add target that fixes tflint some easy complaints
why
Simplify maintenance

/rebuild-readme

Not needed anymore, I've iterated through all repos with this anyways


Remove unused external contact info

Context
This method used to branch between the contact info on the Provider
itself and contact info from an enrichment if one existed.
It no longer does that so is uneeded now as the fields exist on the
Provider.
Changes proposed in this pull request

Remove Provider#external_contact_info
Serialize the fields directly in V2:SerializableProvider

Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[ ] Tested by running locally

Umm how did you manage to delete code and lowered code coverage?

Umm how did you manage to delete code and lowered code coverage?

God knows... Not good merging a 'failed' PR but I couldn't see how to ignore that.