feat!: support ibis 2.x, drop ibis 1.x

I didn't run the tests, and this won't work as is, but I implement here the main changes in the backend API for ibis-bigquery to work with ibis 2.0.
The main changes are:

Moving all methods from Client to Backend and removing client.
Implementing a new Compiler class, which is the only attribute Backend know about the compiler
Remove a lot of repetitive classes in the compiler Select, TableFormatter...
For classes that are still needed, instead of linking one another, Compiler has attributes to all them
Removing the weird loop to_sql, build_ast, Context, Translator. Compiler contains the functionality
Removing some repetitive methods in Backend, like exists_table, which is implemented in the base backend for all backends
In list_tables and list_databases, the parameter like is now handled by a common function that implements the filtering
Base backends have been consolidated and standardized under ibis.backends.base

I don't have the time, the access to bigquery or the knowledge about bigquery to leave this working, but with these main changes, and all other backends as reference it shouldn't be difficult to get this working.
For the OmniSciDB backend there is a single PR that updates the backend from Ibis 1 to Ibis 2: https://github.com/omnisci/ibis-omniscidb/pull/39
@tswast let me know if you've got any specific question or problem.

To test that this is working properly, I'd add builds to the CI that install the master Ibis, and I'd run the backend tests with PYTEST_BACKENDS="bigquery" python -m pytest --pyargs ibis.backends.tests. This way, besides the tests in this repo, the tests in the Ibis repo that we use for all backends will also be executed.

@datapythonista I'm getting an error with the compile method from the base backend.  But I think you need to use to_ast_ensure_limit from the compiler to set the limit, and then call the compile method in the ast, instead of calling the compile in the backend directly.

@tswast @datapythonista
would be great to finish this up and release a new version of ibis-query

Still need a fix for query parameters, but making progress.

@datapythonista Are we dropping the query parameters feature? I see that raw_sql doesn't get params or the QueryContext that contains the params.
https://github.com/ibis-project/ibis/blob/faa2c368bfd56a34813ceba962bf98540f061312/ibis/backends/base/sql/__init__.py#L91-L131
I think I'll add a params argument to raw_sql for now and copy over the execute from the base class.

System tests are now passing locally. I'll do another few checks, but I think we should be good to release ASAP.

who hoo!


Add Postgis extension to the docker image available extensions.

Postgis extension is one of the most popular extension/motive to use postgres.
and  "Postgis is already available in Hydra's cloud product." according to @wuputah

Hi @wuputah, with this PR merged, adding postgis extension to the docker image can be done with pgxman, right?

pgxman is in early development so... stay tuned! The intention will be that you can have pgxman install extensions without having to modify the image, e.g. just by setting an environment variable. We welcome input and contributions over on pgxman/pgxman or in Discord.

Awesome! I realized that adding the new extension in the Docker build step makes longer build time. Exciting to see more about pgxman.


HDFS-16221. RBF: Add usage of refreshCallQueue for Router

Description of PR
In HDFS-16210, the feature of refreshCallQueue is added to RouterAdmin, but the usageInfo is not added. So when user is typing "hdfs dfsrouteraadmin", the option of "refreshCallQueue" will not be shown.
This ticket is to add the usage information for refreshCallQueue for Router.
Jira ticket: https://issues.apache.org/jira/browse/HDFS-16221
How was this patch tested?
unit test
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@goiri @ferhui Could you help to review this PR?

@symious Thanks for contribution, @goiri Thanks for review!


code-gen(sql): check if we can support generating joins for specific viaXxx checks

This may produce better query plans in some cases, but probably breaks the nested the selects that we have currently.

A more flexible way would be to accept leftJoins: {} in the query builder, allowing the user to use other generated where helpers.
queryPost({
  leftJoins: {
    tags: {
      type: "innerJoin", // default "leftJoin",
      shortName: "joinedTags",
    },
  },
  where: {
     $raw: query`(${tagWhere({
        isPublic: true
      }, "joinedTags."))`
  }
});

This may however conflict if we ever want to create things like aggregation helpers.
/cc @tjonger , @bjarn

Good suggestion. Seems like a plan.
Another thing we may add is detection for duplicate shortName usage. To prevent unexpected results in the cases that Postgres allows it, or to prevent Postgres from returning an error if we can statically check that already.

The above idea has a main problem; duplicate result sets for oneToMany joins. This is preventable with for example an DISTINCT ON or GROUP BY. However, both prevent us from using a custom order by which in turn breaks one of the requirements: allowing the user to sort on a joined result.
As mentioned above we need something like custom joins for when necessary for a custom orderBy or to deduplicate traversals in the where-clause. Let's see if we can do this another way. I am renaming this issue to be a bit more clear about the issue.


[BUG] 🐛 The operator delete existing whitelisted IP

Hi,
I think there is a small bug when IPs in the whitelist are already defined before using the operator.
For example if I manually add to a PostgreSQL managed DB an IP in the whitelist with the admin console it's deleted when I create the Custom Resource to whitelist the MKS' IP thanks to the operator.
In my opinion using the operator should not delete existing whitelist IP in the database configuration.
Regards
Stef

+1 that's pretty annoying, we've to put back every manually whitelisted IPs each time the operator updates the list. It's a huge problem when you work on your db from a client (pgAdmin, RedisInsight...)

Is it still a bug, or is it fixed ?

Hi! Issue is in our backlog and will be prioritized in the next sprints.


Granular limits for Virtual Cards

User story
As a Host admin, I would like to have more granular limits to accommodate the use cases of my hosted Collectives.
Best solution for this problem
Instead of proposing only a monthly limit like today, we should feature other limits supported by Stripe like the following.

Also:

The "Request Card" flow should be updated to feature all new possible limits
The background synchronization script should be inspected and updated if needed
The $2,000 global limit should be dropped as Host admins are already circumventing it

MVP
Currently, Host Admins can bypass this and edit parameters directly from Stripe. They're actively doing it and it's painful.
Metrics

How many Virtual Cards are using custom limits supported by Stripe and not featured by Open Collective? (need)
How many Virtual Cards are using new custom limits once they are supported by Open Collective? (usage)

Documentation
Update documentation for Virtual Cards from the Fiscal Host admin perspective.

The metrics we collect may not be totally accurate because, sometimes I (as a fiscal host admin) will just give a monthly recurring card to a group rather than what they’ve requested, because the granularity is too complicated to manage easily. E.g. We want $60 for this first month, then $600 next month

Hi @znarf and team - I've been thinking about this and I'm wondering if we should abstract the Stripe limit-setting process within the platform.
What I'm imagining is that each request would have a time period or frequency related to it, and that they could stack on top of one another on the Open Collective side - stair-stepping up and then falling back down at the end of the month where required - and then simply have that interface control the Stripe monthly limit, upward and downward? Note: the monthly limit resets on the first of every month.
So for example, something like this sequence:

Temporary Fund (TF), asks for $60 a month for internet access. OCF approves it within the OC platform. The limit goes up to $60 per month.
TF asks for a one-time expense this month of $80. OCF approves within the platform. The limit goes to $140 per month for one month, then back down to $60 on the last day of the month.
Later, TF requests an annual expense of $120. It is approved. The monthly limit changes to $180 that month, then returns to $60 at the end of the month. Then, it automatically increases to $180 per month again 11 months later.
Even later, the mega-example: TF requests $50 for an approved one-time payment. Monthly limit increases to $110. Another one-time expense that month, $40, and it increases to $150. And then another, $35, making the monthly limit $185. At the end of the month, it falls back to $60.

Can this work? (Perhaps this is already something you were thinking about.)
Something like this would work really well because it would allow fiscal hosts to have better control over specific increases and decreases, which we need to improve oversight and decrease risk for everyone, including collectives. What do you think?

I think @natehn 's suggestion is a good example of things that are relatively easy for computers and are very hard for humans. If we're going to lean into investing in VC features, I think it's a good approach. We should make computers do the complicated number part, and humans do the nuanced judgement part.

@natehn There is another feature being developed this sprint to expose the virtual card remaining limit.
wrt to the dynamic limit, maybe we should think about ways to pre-approve a card expense and generate a card only for that particular expense?
I dont think we incur costs on generating virtual cards, so we could create cards for very specific uses. They could be even time-limited by us, or they could have a lifetime transaction limit.
For example:

Temporary Fund (TF), asks for $60 a month for internet access. OCF approves it within the OC platform.
TF gets another card with $60/month limit

Later, TF requests an annual expense of $120.
TF gets another card with $120/year limit

TF requests $50 for an approved one-time payment.
TF gets another card with a hard limit of $50. We can discard this card after one use.

Another one-time expense that month, $40,
TF gets another card with a hard limit of $40

a TF wants a monthly internet expense of $40 for 12 months
TF gets another card with a monthly limit of $40 and a lifetime limit of $480

I'd like to bring @kaylarep into this one.
Back when we were using Privacy, we had to create a new card for every new vendor. When we switched to Stripe, a perceived benefit was that we could give each Collective a single card for all their expenses, to make things easier for them. And it does make things easier for them...but also it makes oversight/approval a lot messier.
@kaylarep - what do you think of @hdiniz's suggestion above?

@natehn There is another feature being developed this sprint to expose the virtual card remaining limit.
wrt to the dynamic limit, maybe we should think about ways to pre-approve a card expense and generate a card only for that particular expense?
I dont think we incur costs on generating virtual cards, so we could create cards for very specific uses. They could be even time-limited by us, or they could have a lifetime transaction limit.
For example:

Temporary Fund (TF), asks for $60 a month for internet access. OCF approves it within the OC platform.
TF gets another card with $60/month limit
Later, TF requests an annual expense of $120.
TF gets another card with $120/year limit
TF requests $50 for an approved one-time payment.
TF gets another card with a hard limit of $50. We can discard this card after one use.
Another one-time expense that month, $40,
TF gets another card with a hard limit of $40
a TF wants a monthly internet expense of $40 for 12 months
TF gets another card with a monthly limit of $40 and a lifetime limit of $480

thanks for this proposal @hdiniz !
I'm thinking this could work...
I would just want the request form to be really clean and clear - for both the requester (Collective admin) and for the Host admin.  I'm thinking that perhaps a Collective admin would want to request multiple cards at 1x, and it would be nice to consider the best way to submit and to receive this, in a way that is not burdensome.
Also a nice way to view all a Collective's cards at once.  We have it, but its not as clean as it could be.
@natehn are you saying the oversight/approval is messier with multiple cards per collective or for 1 card per collective?

@kaylarep I was suggesting that having every charge on one card makes oversight trickier

We recently added more options for fiscal hosts to set a virtual card limit when creating/editing a card. @shannondwray
There is another issue for discussion around handling virtual card limit changes here:  https://github.com/opencollective/opencollective/issues/5994


Move glyph maps outside of files that depend on react-native

In order to build https://exponentjs.github.io/vector-icons/ I had to pull the glyph maps out -- right now they just live in the website directory but it would be great to depend on react-native-vector-icons instead so it's easier to stay up to date. Happy to submit a follow up PR that is a react-native-vector-icons version of that site too!

@oblador - updated based on our messenger discussion.
Definitely room to refactor generate scripts but didn't have time for it

cc @oblador

Sorry for the delay on this, I didn't like how this PR broke backwards compatibility so I made a different solution. Do you mind if i borrow your browser and put it up under this repo?


Error: no image was built

Description
PS D:\Test> nerdctl build -t iis-server .
time="2024-04-30T17:10:39+03:00" level=fatal msg="no image was built"
PS D:\Test> error: failed to solve: failed to copy to tar: rpc error: code = Unknown desc = write /dev/stdout: The pipe is being closed.
Steps to reproduce the issue

Describe the results you received and expected
I'm trying to build iis server image on windows containers, and this is the error I recieve.
I'm also very new to containers and the whole conception about them and have no idea how to procced from here
What version of containerd are you using?
latest
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

cc @profnandaa
Following the buildctl documentation on using output, I run the buildctl commands for each.
> buildctl --version

buildctl github.com/moby/buildkit v0.17.0 fd61877fa73693dcd4ef64c538f894ec216409a3

Docker tarball
> & "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=docker,name=docker.io/library/iis-server3:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

error: invalid output option: output: output file is required for docker exporter. refusing to write to console

OCI tarball
& "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=oci,dest=C:/Users/xxxxx/AppData/Local/Temp/output.tar,name=docker.io/library/iis-server2:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

[+] Building 2.4s (7/7) FINISHED
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 78B                                                                                0.0s
=> [internal] load metadata for docker.io/library/hello-world:latest                                                                       2.0s
=> [auth] library/hello-world:pull token for registry-1.docker.io                                                                          0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 122B                                                                                0.0s
=> [1/2] FROM docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348                 0.1s
=> => resolve docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348                 0.1s
=> CACHED [2/2] RUN echo "hello"                                                                                0.0s
=> ERROR exporting to oci image format                                                                                0.1s
=> => exporting layers                                                                                0.0s
=> => exporting manifest sha256:312b0358bbc84f03b6c40493bba15d0eea0b586cf19c901c8c8e5731e8185daf                                           0.0s
=> => exporting config sha256:0ba713f119e7b225effacd8744c7ee9601c023586f39c71cc2044c3dbf994d57                                             0.0s
=> => sending tarball                                                                                0.0s
------
> exporting to oci image format:
------
error: failed to solve: failed to get reader: content digest sha256:4a74766ac776b275376a07d5357fd928f8b871c9e3d409729ed7e1ff0c1e608c: not found

containerd image store
& "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=image,name=docker.io/library/iis-server3:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

[+] Building 2.3s (7/7) FINISHED
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 78B                                                                                0.0s
=> [internal] load metadata for docker.io/library/hello-world:latest                                                                1.9s
=> [auth] library/hello-world:pull token for registry-1.docker.io                                                                   0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 122B                                                                                0.0s
=> [1/2] FROM docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348          0.1s
=> => resolve docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348          0.1s
=> CACHED [2/2] RUN echo "hello"                                                                                0.0s
=> exporting to image                                                                                0.0s
=> => exporting layers                                                                                0.0s
=> => exporting manifest sha256:967e0c72299274e2770111f97d1d05c9b139417e755d8464b9e336a55276b543                                    0.0s
=> => exporting config sha256:0ba713f119e7b225effacd8744c7ee9601c023586f39c71cc2044c3dbf994d57                                      0.0s
=> => naming to docker.io/library/iis-server3:latest

cc @profnandaa
Following the buildctl documentation on using output, I run the buildctl commands for each.
> buildctl --version

buildctl github.com/moby/buildkit v0.17.0 fd61877fa73693dcd4ef64c538f894ec216409a3

# Dockerfile

FROM hello-world:latest
RUN echo "hello"

Docker tarball
> & "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=docker,name=docker.io/library/iis-server3:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

error: invalid output option: output: output file is required for docker exporter. refusing to write to console

OCI tarball
& "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=oci,dest=C:/Users/xxxxx/AppData/Local/Temp/output.tar,name=docker.io/library/iis-server2:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

[+] Building 2.4s (7/7) FINISHED
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 78B                                                                                0.0s
=> [internal] load metadata for docker.io/library/hello-world:latest                                                                       2.0s
=> [auth] library/hello-world:pull token for registry-1.docker.io                                                                          0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 122B                                                                                0.0s
=> [1/2] FROM docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348                 0.1s
=> => resolve docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348                 0.1s
=> CACHED [2/2] RUN echo "hello"                                                                                0.0s
=> ERROR exporting to oci image format                                                                                0.1s
=> => exporting layers                                                                                0.0s
=> => exporting manifest sha256:312b0358bbc84f03b6c40493bba15d0eea0b586cf19c901c8c8e5731e8185daf                                           0.0s
=> => exporting config sha256:0ba713f119e7b225effacd8744c7ee9601c023586f39c71cc2044c3dbf994d57                                             0.0s
=> => sending tarball                                                                                0.0s
------
> exporting to oci image format:
------
error: failed to solve: failed to get reader: content digest sha256:4a74766ac776b275376a07d5357fd928f8b871c9e3d409729ed7e1ff0c1e608c: not found

containerd image store
& "C:\Program Files\Buildkit\bin\buildctl.exe" `
    --addr=npipe:////./pipe/buildkitd `
    build `
    --progress=auto `
    --frontend=dockerfile.v0 `
    --local=context=. `
    --output=type=image,name=docker.io/library/iis-server3:latest `
    --local=dockerfile=C:/Users/xxxxx `
    --opt=filename=Dockerfile

[+] Building 2.3s (7/7) FINISHED
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 78B                                                                                0.0s
=> [internal] load metadata for docker.io/library/hello-world:latest                                                                1.9s
=> [auth] library/hello-world:pull token for registry-1.docker.io                                                                   0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 122B                                                                                0.0s
=> [1/2] FROM docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348          0.1s
=> => resolve docker.io/library/hello-world:latest@sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348          0.1s
=> CACHED [2/2] RUN echo "hello"                                                                                0.0s
=> exporting to image                                                                                0.0s
=> => exporting layers                                                                                0.0s
=> => exporting manifest sha256:967e0c72299274e2770111f97d1d05c9b139417e755d8464b9e336a55276b543                                    0.0s
=> => exporting config sha256:0ba713f119e7b225effacd8744c7ee9601c023586f39c71cc2044c3dbf994d57                                      0.0s
=> => naming to docker.io/library/iis-server3:latest

> ctr --namespace=buildkit images ls

REF                                  TYPE                                                 DIGEST                                                                  SIZE      PLATFORMS     LABELS
docker.io/library/iis-server3:latest application/vnd.docker.distribution.manifest.v2+json sha256:967e0c72299274e2770111f97d1d05c9b139417e755d8464b9e336a55276b543 115.0 MiB windows/amd64 -

If I understand the last post correctly, the first case is the one that is happening underneath the failing nerdctl build command, is that right?

error: invalid output option: output: output file is required for docker exporter. refusing to write to console

This error comes from buildctl, but only happens if buildctl is directly connected to a terminal, and I expect the same failure on Linux, or with --progress=plain.
So try redirecting buildctl's stdout and stderr to separate files, which should emulate what nerdctl is doing. If that works, then buildctl is fine and the problem does lie in nerdctl's setup. (Based on the initial error, nerdctl closed the fd connected to buildkit's stdout too early? Weird that --progress=plain affects that though. I haven't actually checked the code though, so maybe that's not weird for current implementation reasons.)

error: failed to solve: failed to get reader: content digest sha256:4a74766ac776b275376a07d5357fd928f8b871c9e3d409729ed7e1ff0c1e608c: not found

That second case's failure looks like a bug in buildkit; a quick check shows that digest is the Windows nanoserver 10.0.20348.2762 base image, so it should be in the content store already. Might be worth raising as an issue in the buildkit project, and if possible, confirming whether we have the same problem on Linux. (I assume it's not fixed by --progress=plain)
This last one might be an issue with exporting "foreign"/"non-distributable" layers; that layer is not marked non-distributable anymore, but I recall there was a bug in buildkit or containerd where the "foreign"/"non-distibutable" flags were being conflated with the presence of URLs where the layer could be fetched by HTTP, and I suspect the Windows base images still have the URL metadata even though the layers are no longer flagged foreign/non-distributable... https://github.com/moby/buildkit/pull/2561#issuecomment-1040805683 is what I'm thinking of, and it looks like this conflation still exists. I didn't break that comment out into a separate bug report at the time, sadly. (There might also be an issue somewhere else in either buildkit or containerd that this issue is triggering; but we'd have to track that down via buildkit first anyway.)
Anyway, see if adding prefer-nondist-layers=true to the output options fixes that last one, or has any effect at all, even.

@TBBle Everything works fine on Linux. The problem is with Windows using PowerShell.

Test 1 in https://github.com/containerd/nerdctl/issues/3629#issuecomment-2460037061 also shows things working correctly on Windows. However, to test the failure case under nerctl build, stdout and stderr should be redirected to a file.

Seems like a buildkit issue. Filing a bug in buildkit

The bug's actually in https://github.com/containerd/console: https://github.com/containerd/console/issues/83


Combination of MVC+Middleware+Wildcard Route give the error

I was inspired by Middleware and try it using with Zend MVC as described here.
All worked well until I tried using Wildcard route.
When a route has 'middleware' config key with an array of Middleware applied it arise error  rawurlencode() expects parameter 1 to be string, array given in Wildcard::assemble().
Minimal routes configuration to get error
return [
    'routes' => [
        'default' => [
            'type' => 'Segment',
            'options' => [
                'route' => '/[:controller[/[:action]]]',
                'constraints' => [
                    'controller' => '[a-zA-Z]?[a-zA-Z0-9_-]*',
                    'action' => '[a-zA-Z]?[a-zA-Z0-9_-]*',
                ],
                'defaults' => [
                    'middleware' => [Page\ConnectivePage::class, Page\RendererMiddleware::class],
                    'controller' => 'index',
                    'action' => 'index',
                ],
            ],
            'may_terminate' => true,
            'child_routes' => [
                'wildcard' => [
                    'type' => 'Wildcard',
                    'priority' => 10,
                    'options' => [],
                ],
            ],
        ],
    ],
];

@popovserhii
Please keep in mind, the route type Wildcard is deprecated.
https://docs.zendframework.com/zend-router/routing/#zend92router92http92wildcard-deprecated

@froschdesign
This means that bug won't be fixed?

That‘s not the question! You should not use this route type because of the potential security issue.

I don't mind that there is a potential security issue. Could you give a link where I can read about this problem in more detail?

At the moment I can found only that: https://github.com/zendframework/zf2-documentation/issues/1320


Supply !eval suffix to transpilers directly.

As mentioned here https://github.com/systemjs/systemjs/issues/450#issuecomment-106772331 this fixes source maps with dynamically loaded and transpiled scripts.
Removed eval!-suffixed sourceURL, as this does not seem necessary anymore. I only tested debugging in Chrome though.

Thanks have fixed this separately on master.


Add .npmrc file association as ini-file

.npmrc files are INI-files so it would be nice to automatically associate the language mode, like so:
            {
                "id": "ini",
                "filenames": [
                    ".flake8"
                ]
            },

Since VS Code support Node.js out-of-the-box it would be nice it also then supports .npmrc out of the box.

I'll send a PR.


ts-lint fails with psl import in version 1.1.29

Here is the error:
./node_modules/.bin/tslint -p tsconfig.json
src/helpers/custom-domains.ts:5:22 - error TS2307: Cannot find module 'psl'.

5 import * as psl from 'psl';
                       ~~~~~

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>build: `yarn run lint && ./node_modules/.bin/tsc`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/X/.npm/_logs/2018-08-03T13_56_09_536Z-debug.log

Error: functions predeploy error: Command terminated with non-zero exit code2
error Command failed with exit code 1.

Simply forcing version 1.1.28 of psl fixes the issue.

It seems the request package depends on psl by transitivity. This issue will quickly become a problem.

It seems the issue was related to a transient issue with the npmjs repository. The import is now working. As a consequence, I close the issue.


Broken Link

The link embedded within "Learn about ATP anti-phishing policy options" throws a 404 error.

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

ID: e0ef695c-464d-43b3-2cc4-d9fe7f5aa261
Version Independent ID: bb02b3da-6bd7-b81c-ffd8-3a3b8940dd2a
Content: Increase threat protection for Microsoft 365 Business
Content Source: microsoft-365/business/increase-threat-protection.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

@mamidu3  - Thank you for submitting feedback.
I will get this issue over to the Microsoft 365 writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@mamidu3 PR #579 has been created to fix and close this issue once the PR is merged.
Thank you and we appreciate your contribution to make the docs better!


Nondeterministic test case TestRateLimitUtil.millisecond rate-limiting works

This test case fails quite often on my local branches/CI:
 Error:    Run 1: TestRateLimitUtil.millisecond rate-limiting works:53 � Runtime java.lang.Exception: Assertion error:
expected: 200 OK
 but was: 429 Too Many Requests

Lately failed on #1661

I can have a look at it.

Hopefully fixed in https://github.com/javalin/javalin/commit/e1b0a00913bf9ecc46e57746300682754b7c2329


feature: dependency checking script should check version

Feature Description
It is a problem when the dependency checking script (hack/check_pre_req.sh) claims success but the dependency is at too old of a version.
Proposed Solution
Make the dependency checking script check the versions.
Want to contribute?

[ ] I would like to work on this issue.

Additional Context
If this feature had been present then issue #2491 would not have been raised (the user would have been told that they have too old a version of kflex).

It's not trivial to make it work in general


Add a Gitter chat badge to README.md

mrkno/Kassy now has a Chat Room on Gitter
@mrkno has just created a chat room. You can visit it here: https://gitter.im/mrkno/Kassy.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

@Awarua- thoughts?

I suppose if this project get real traction then it would be good to have a public discussion forum.
I just look at it like another platform that's going to send me notifications :disappointed:

It just wants to add a badge, you don't have to participate (the only reason it is asking was that I was testing a hubot adapter with gitter)

Approved

It ties us to one platform + we would need to rename the chat room later.
Do this kind of thing after we have migrated to an organization.


Preserve stack traces in Python 2.7

(This is written against PetrDlouhy's open pull request #8, so I'll have to rebase once that goes in -- sending pull req now to avoid losing track of it.)
The actual change here is tests.py line 29-38, which adds special handling for re-raising errors under Python 2.7.
six.raise_from just throws away the original exception under Python 2. So you end up with an exception like: ModelAdminCheckException: Above exception occured while running test 'test_queryset', but there is no exception above, making the problem impossible to debug.
This pull req makes sure the original error message and stack trace are visible on Python 2, by appending the original exception's error message to the ModelAdminCheckException message, and re-raising the original exception's stack trace.

Coverage increased (+6.9%) to 96.599% when pulling eae2e9135287a39d690db6e0cf68159fa547d4d1 on jcushman:py2-error into 53ecdfa9604cbd049e34930f48845d445af452e5 on greyside:master.

Coverage increased (+6.9%) to 96.599% when pulling eae2e9135287a39d690db6e0cf68159fa547d4d1 on jcushman:py2-error into 53ecdfa9604cbd049e34930f48845d445af452e5 on greyside:master.

Coverage increased (+6.9%) to 96.599% when pulling eae2e9135287a39d690db6e0cf68159fa547d4d1 on jcushman:py2-error into 53ecdfa9604cbd049e34930f48845d445af452e5 on greyside:master.

Coverage increased (+6.9%) to 96.599% when pulling eae2e9135287a39d690db6e0cf68159fa547d4d1 on jcushman:py2-error into 53ecdfa9604cbd049e34930f48845d445af452e5 on greyside:master.

#8 has been squashed and merged, you can rebase now.

Coverage decreased (-1.8%) to 95.758% when pulling 0d0795f7610dc329cb5d111f2dce3a63a1917538 on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

Coverage decreased (-1.8%) to 95.758% when pulling 0d0795f7610dc329cb5d111f2dce3a63a1917538 on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

Coverage decreased (-1.8%) to 95.758% when pulling 0d0795f7610dc329cb5d111f2dce3a63a1917538 on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

Coverage increased (+0.04%) to 97.576% when pulling 15d43bb0cd7e6a3aded2c6d59bb3b2a76ad806ab on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

Coverage decreased (-3.0%) to 94.545% when pulling 22d4f65bde7e0e188c0ea5f5f44eebb7a897b22b on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

Coverage increased (+0.04%) to 97.576% when pulling 7dba371a01a2e2d9c04742899db8634e47efe608 on jcushman:py2-error into 746382c951f501b15a7e44acf9688af51e140825 on greyside:master.

OK, rebased. Took a few passes to get all the tests happy.

Thanks for the quick response!


change allowNonLSP1Recipient by force + improve descriptions

Task linked: DEV-8049 [Discussion] Change back event parameter in LSP7/8 to force


Update starter from tutorial feedback

And incorporate changes we wanted to make anyway

UI Shell header added
Styling simplified
quotes swapped for single (default angular cli tslint)

I don't think so ... the starter isn't just limited to the tutorial after all

Just noticed an X when you click the action icons in the deploy preview? Is that intentional?

Just noticed an X when you click the action icons in the deploy preview? Is that intentional?

Ah good catch ...  I believe we fixed that with a newer version of carbon-angular so we may just need to regenerate the package-lock

Huh, apparently not ... https://github.com/IBM/carbon-components-angular/pull/782 fixes that for sure :+1:

Everything should be good to go now 💯

I can't merge due to @youda97's review ... Do you have any other comments @youda97? Or can someone with more access merge?


Cannot override "scale-to-zero-threshold" property on riff deployments

As a riff user, I wanted to override the default scale-to-zero-threshold behavior in config-autoscaler from 5m to 10s, but the change appears to not apply at runtime.
To reproduce,

go to "Config and storage -> Config Maps -> config-autoscaler" (from the Dashboard) and edit the scale-to-zero-threshold from 5m to 10s
create and invoke a node function (I used the stock square function)
verify the results
wait for 10s .. 1m .. 5m ... the pod will terminate eventually

"data": {
    "concurrency-quantum-of-time": "100ms",
    "container-concurrency-target-default": "100",
    "container-concurrency-target-percentage": "1.0",
    "enable-scale-to-zero": "true",
    "enable-vertical-pod-autoscaling": "false",
    "max-scale-up-rate": "10",
    "panic-window": "6s",
    "scale-to-zero-grace-period": "2m",
    "scale-to-zero-threshold": "10s",
    "stable-window": "60s",
    "tick-interval": "2s"
  }

It might be a problem in Knative itself - possibly knative/serving#1958.

Yes, looks like a dup of https://github.com/knative/serving/issues/1958, which is itself a user error because of the unfortunate way that the autoscaler enforces some limits on configuration values and essentially ignores invalid values. See my comment.

I agree the threshold should probably remain the same, but the way that values below the threshold are processed could be improved as per my suggestion.


Upgrade project to use ghc-8.6 & bump dependencies

Every unit test passes.
Only '/sendSticker' integration test is failing, which also seems to fail in 'master' branch.

Thank you for contribution!


Closing the infoview buffer with :q! causes errors

If I close the infoview window manually with :q!, it errors with
Error executing vim.schedule lua callback: ...mPackages/start/plenary.nvim/lua/plenary/async/async.lua:18: The coroutine failed with this message: ...k/myNeovimPackages/start/lean.nv
im/lua/lean/infoview.lua:680: Invalid window id: 1002
stack traceback:
        [C]: in function 'error'
        ...mPackages/start/plenary.nvim/lua/plenary/async/async.lua:18: in function 'callback_or_next'
        ...mPackages/start/plenary.nvim/lua/plenary/async/async.lua:45: in function 'handler'
        ...wrapped-0.10.0/share/nvim/runtime/lua/vim/lsp/client.lua:685: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>
Press ENTER or type command to continue

and these errors happen periodically afterwards when I move my cursor as well. Since these errors don't happen with :q, I thought it may be a difference in the autocmd trigger order. Below is what autocmds trigger with :q
18:56:46 - Started autocmd log (2024-07-17)
18:56:46 - CursorHold
18:56:49 - QuitPre
18:56:49 - BufLeave
18:56:49 - WinLeave
18:56:49 - WinClosed
18:56:49 - BufWinLeave
18:56:49 - BufHidden
18:56:49 - WinEnter
18:56:49 - BufEnter
18:56:49 - CursorMoved
18:56:49 - User
18:56:50 - CursorHold
18:56:52 - Stopped autocmd log (2024-07-17)

and with :q!. Note that unlike with :q, WinClosed activates immediately and then again slightly later.
18:57:07 - Started autocmd log (2024-07-17)
18:57:07 - CursorHold
18:57:08 - WinClosed
18:57:08 - BufWinLeave
18:57:08 - BufHidden
18:57:10 - QuitPre
18:57:10 - BufLeave
18:57:10 - WinLeave
18:57:10 - WinClosed
18:57:10 - BufWinLeave
18:57:10 - BufUnload
18:57:10 - WinEnter
18:57:10 - BufEnter
18:57:10 - CursorMoved
18:57:11 - User
18:57:12 - CursorHold
18:57:13 - Stopped autocmd log (2024-07-17)

Related to https://github.com/Julian/lean.nvim/issues/20 but the error is slightly different: window id vs buffer id.

Indirectly addressed by https://github.com/Julian/lean.nvim/issues/43, which I would love to see finally merged as well.

I'd somewhat say "don't do that" :) as using :q! on a buffer with no modifications is pointless, but nonetheless given this wasn't impossible to work around I've pushed a fix. Give it a shot and feel free to let me know if you notice anything else!

Give it a shot and feel free to let me know if you notice anything else!

It works, thanks for the fix!

I'd somewhat say "don't do that" :) as using :q! on a buffer with no modifications is pointless, but nonetheless given this wasn't impossible to work around I've pushed a fix.

I agree, the reason is I have <ctrl-q> bound to :q! so I use that shortcut reflexively to close any window. I've been using https://github.com/Julian/lean.nvim/issues/43#issuecomment-2234820480 so I don't need to do this manually anymore, thankfully. I raised the issue because, well, the dual to ":q! is the same as :q so don't do :q!" is ":q! is the same as :q so both should work" :p.


dev loss overfits after 7k steps (SQuAD)

setting:
The dev branch code
tensorflow v1.1.0
Python 3.6.1 |Anaconda 4.4.0 (64-bit)
1 TITAN X (Pascal)
Driver Version: 375.26
Running:
Run the default scripts in the tutorial to duplicate the result of SQuAD.
Results:
python -m basic.cli --batch_size 30
test step 20000: accuracy=0.6044, f1=0.7255, loss=3.7624

python squad/evaluate-v1.1.py $HOME/data/squad/dev-v1.1.json out/basic/00/answer/test-020000.json
{"exact_match": 63.434247871333966, "f1": 73.9342647706341}

Seems it overfits after 7K steps.
The score at step 7K:
python -m basic.cli --batch_size 30
test step 7000: accuracy=0.6129, f1=0.7289, loss=3.0944

python squad/evaluate-v1.1.py $HOME/data/squad/dev-v1.1.json out/basic/00/answer/test-007000.json
{"exact_match": 64.00189214758751, "f1": 74.19603365373315}

An valuable mention is issue #35 . And the default learning rate is 0.001 instead of 0.5 in the paper. I suppose 0.5 is for the CNN dataset.
I also notice this is a comment in the tutorial Dev Data (old) NOTE: These numbers are from v0.2.1. Why would this matter?
Any insight will be appreciated.

Even though there seems overfit. You should pick the best model on dev set, not the point overfit starts. The cross entropy loss is not always consistent with the accuracy as you can see here.

@insikk Thanks for those insights. The best dev/acc is at 7K while the best dev/f1 is at 14K. f1 is a more reliable one?

I think so. When I saw some incorrect predictions, which has em value 0 (False), it seems possible to be considered as correct answer. For example, missing/containing proposition is considered as incorrect on EM score. F1 is more reliable in my opinion for information retrieval purpose.
However, if what you want to achieve is generating human like answer, em is better than f1.
I also tried metric for answer containing sentence prediction.
What do you think?

Seems I was enable to duplicate the results by both tensorflow 0.1.2 and tensorflow 1.1.0 (dev branch).
What I did was:

cleaned up all generated datasets which had been generated before, and regenerated it
used cuda 8.0 and cudnn 5, which had NOT been used somehow

Also refer to #35


The term 'tree.exe' is not recognized ...

Actions to Reproduce
Get-ChildItemTree

Expected Behavior
Something like this.
Actual Behavior
tree.exe : The term 'tree.exe' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\Travis.C.LaGrone\Documents\PowerShell\Modules\Tree\1.0.1\Tree.psm1:27 char:13
+     $tree = tree.exe -F @args
+             ~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (tree.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

.

Environment
PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.1
PSEdition                      Core
GitCommitId                    6.2.1
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.10032.0, 6.2.1}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

PS> Remove-Module 'Tree'; Get-Command 'Tree' -All | Format-List

Name            : tree.com
CommandType     : Application
Definition      : C:\Windows\system32\tree.com
Extension       : .com
Path            : C:\Windows\system32\tree.com
FileVersionInfo : File:             C:\Windows\system32\tree.com
                  InternalName:     tree
                  OriginalFilename: TREE.COM
                  FileVersion:      10.0.17763.1 (WinBuild.160101.0800)
                  FileDescription:  Tree Walk Utility
                  Product:          Microsoft® Windows® Operating System
                  ProductVersion:   10.0.17763.1
                  Debug:            False
                  Patched:          False
                  PreRelease:       False
                  PrivateBuild:     False
                  SpecialBuild:     False
                  Language:         English (United States)

This module uses Tree for Windows in order to get the initial directory structure and then colorizes its output and renders the unicode representation.

Make sure to download the Tree for Windows and make it accessible through your system PATH variable.

Resolved


Controller->goBack/returnUrl with shared hosting (under the same domain)

My feeling is that the returnUrl is set only when a session is created. And that causes a funny behavior in certain situations.
Suppose you have two applications on a dev system like
http://localhost/yii-application-test/frontend/web/
http://localhost/yii-application-test/backend/web/
With the standard config they share their cookies on the domain localhost. So if you login/logout in backend and then switch to frontend and login you will be redirected to backend afterwards. Reason: the returnUrl has been remembered when the session was created and that was directly after the logout in backend.
So if you do not want to have this you need to use different sessions for frontend and backend (e.g. http://webtips.krajee.com/different-backend-frontend-sessions-yii-advanced-app/)
Maybe, that should be added to the documentation since most beginners start with local scenarios and such things will drive them guys crazy.
(issue created from comments in https://github.com/yiisoft/yii2/issues/4343)

fixed by https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md


Use 14.04 for base image

Purpose
Moving to Ubuntu 14.04 Trusty base image for long term support and stability.

Not working just yet - issue loading the rCharts library- cc @nieldlr

Still planning for this to happen? Getting problems now that the r-studio Wily packages are gone.

Hi @Japh, work on this project has been stopped right now and we've moved to another repo. We're hoping to open source it soon, but it's powering our new dashboard here: http://diversity.buffer.com/

At least would be nice to proper archive it for software archaeologists - https://open.buffer.com/diversity-dashboard/


42 major refactoring

Introduce neat npm scripts

Okay, not exactly what I wanted... Seems I messed up my branches slightly :)


[BUG] tests failures

There are two reported
05:56:30 ~/falcoudev/build/clang-12$ unit/unit.algo.reduce.exe
[EVE] - Target: eve::avx2_ - Assertions: Disabled - PRNG Seed: 18102008
[SCENARIO] - Check reduce (with T = eve::wide<signed char, eve::fixed<1ULL>>)
[SCENARIO] - Check reduce (with T = eve::wide<unsigned char, eve::fixed<32>>)
[SCENARIO] - Check reduce (with T = eve::wide<short, eve::fixed<16>>)
[SCENARIO] - Check reduce (with T = eve::wide<unsigned short, eve::fixed<4>>)
[SCENARIO] - Check reduce (with T = eve::wide<int, eve::fixed<8>>)
[SCENARIO] - Check reduce (with T = eve::wide<float, eve::fixed<8>>)
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 91 == 89 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 89 == 85 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 86 == 78 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 82 == 70 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 77 == 59 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 71 == 47 occured instead.
reduce.cpp:46 - **FAILED** - Expecting: res == expected but 64 == 32 occured instead.
reduce.cpp:57 - **FAILED** - Expecting: res == expected but 64 == 32 occured instead.

Seems like float to char conversion problem. That's ub.
06:00:16 ~/falcoudev/build/clang-12$ unit/unit.memory.store.conditional.exe
[EVE] - Target: eve::avx2_ - Assertions: Disabled - PRNG Seed: 18102008
[SCENARIO] - Check store behavior with ignore (with T = eve::wide<float, eve::fixed<1ULL>>)
conditional.cpp:34 - **FAILED** - Expecting: data == what.back() but 17.000000 == 1.000000 occured instead.
conditional.cpp:37 - **FAILED** - Expecting: data == what.front() but 17.000000 == 1.000000 occured instead.
conditional.cpp:40 - **FAILED** - Expecting: data == what.front() but 17.000000 == 1.000000 occured instead.
conditional.cpp:34 - **FAILED** - Expecting: data == what.back() but 1 == 0 occured instead.
conditional.cpp:37 - **FAILED** - Expecting: data == what.front() but 1 == 0 occured instead.
conditional.cpp:40 - **FAILED** - Expecting: data == what.front() but 1 == 0 occured instead.
[SCENARIO] - Check store behavior with ignore (with T = eve::wide<float, eve::fixed<2>>)
Erreur de segmentation (core dumped)

Do not know what this is yet.

Ok for reduce tests I wrote a patch:
https://github.com/jfalcou/eve/pull/814
However, the store conditional mystifies me.
@jtlap
Is this only floats?
This is the code that gets executed:
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L117-L126
We switched at some point from "we promise that the first elements of wide are 0" to "we don't guarantee what they are".
I suspect that there are garbage values before the beginning, when generating the mask
@jtlap - can I ask you to
bitcast this mask
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L119
to eve::logical<eve::wide<T> and print that?

here is the compilation and execution
avx2 clang12
cd /home/jt/falcoudev/build/clang-12/
ninja -k 0 unit.memory.store.conditional.exe
[1/5] Building CXX object CMakeFiles/test_pch.dir/cmake_pch.hxx.pch
[2/5] Building CXX object CMakeFiles/test_pch.dir/test/test_pch.cpp.o
[3/5] Linking CXX executable unit/test_pch
[4/5] Building CXX object
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o
[5/5] Linking CXX executable unit/unit.memory.store.conditional.exe
Compilation finished at Sat Jul 17 06:51:36
06:52:37 ~/falcoudev/build/clang-12$ unit/unit.memory.store.conditional.exe
[EVE] - Target: eve::avx2_ - Assertions: Disabled - PRNG Seed: 18102008
[SCENARIO] - Check store behavior with ignore (with T = eve::wide<float,
eve::fixed<1ULL>>)
conditional.cpp:34 - FAILED - Expecting: data == what.back() but
17.000000 == 1.000000 occured instead.
conditional.cpp:37 - FAILED - Expecting: data == what.front() but
17.000000 == 1.000000 occured instead.
conditional.cpp:40 - FAILED - Expecting: data == what.front() but
17.000000 == 1.000000 occured instead.
conditional.cpp:34 - FAILED - Expecting: data == what.back() but 1
== 0 occured instead.
conditional.cpp:37 - FAILED - Expecting: data == what.front() but 1
== 0 occured instead.
conditional.cpp:40 - FAILED - Expecting: data == what.front() but 1
== 0 occured instead.
[SCENARIO] - Check store behavior with ignore (with T = eve::wide<float,
eve::fixed<2>>)
Erreur de segmentation (core dumped)
06:52:42 ~/falcoudev/build/clang-12$

with g++11 I got a compile time error. Does it help ?
07:02:43 ~/falcoudev/build/g++-11$ ninja -k 0
unit.memory.store.conditional.exe
[1/2] Building CXX object
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o
FAILED:
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o
/usr/bin/g++-11  -I/home/jt/falcoudev/eve/test
-I/home/jt/falcoudev/eve/include -mavx2 -O3 -DNDEBUG -std=c++20 -Werror
-Wall -Wpedantic -Wextra -Winvalid-pch -include
/home/jt/falcoudev/build/g++-11/CMakeFiles/test_pch.dir/cmake_pch.hxx
-MD -MT
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o
-MF
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o.d
-o
test/unit/memory/CMakeFiles/unit.memory.store.conditional.exe.dir/store/conditional.cpp.o
-c /home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘double [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka ‘int
[1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘long unsigned int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘unsigned int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘long int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘float [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -1 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka ‘int
[1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘long unsigned int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka
‘unsigned int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka ‘int
[1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘long int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘double [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘float [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘unsigned int [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -3 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp: In lambda
function:
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka
‘float [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:33:74:
error: array subscript -7 is outside array bounds of ‘e_t [1]’ {aka
‘eve::logical [1]’} [-Werror=array-bounds]
   33 |     eve::store[eve::ignore_first(T::size() - 1)](what, &data -
T::size() + 1);
      | ~~~~~~~~~~~~~~^
/home/jt/falcoudev/eve/test/unit/memory/store/conditional.cpp:31:9:
note: while referencing ‘data’
   31 |     e_t data;
      |         ^~
cc1plus: all warnings being treated as errors
ninja: build stopped: cannot make progress due to previous errors.
07:04:39 ~/falcoudev/build/g++-11$
Le 17/07/2021 à 01:51, Denis Yaroshevskiy a écrit :

Ok for reduce tests I wrote a patch:
#814 https://github.com/jfalcou/eve/pull/814
However, the store conditional mystifies me.
@jtlap https://github.com/jtlap
Is this only floats?
This is the code that gets executed:
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L117-L126
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L117-L126
We switched at some point from "we promise that the first elements of
wide are 0" to "we don't guarantee what they are".
I suspect that there are garbage values before the beginning, when
generating the mask
@jtlap https://github.com/jtlap - can I ask you to
bitcast this mask
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L119
https://github.com/jfalcou/eve/blob/4079d887f6d5b585bb88636a423d958752399249/include/eve/module/real/core/function/regular/simd/x86/store.hpp#L119
to |eve::logical<eve::wide| and print that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jfalcou/eve/issues/812#issuecomment-881775339, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC5L3ICUZUZ3OLVZJEANETTYDAXZANCNFSM5AQFCY6A.

Isn't this fixed ?

Only one of them. The other needs conditional.mask fix

Reported as fixed


Develop

:tada: This PR is included in version 0.1.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Use picocli heuristic instead of jline2 one ?

I'm using Jline2 (I can not using Jline3 for now because I need a java 7 compliant library)
I faced a classicissue as JLine seems to not be able to detect correctly if a terminal is ANSI compatible or not.
(see https://github.com/jline/jline2/issues/185)
I find a way to use Picocli heuristic instead of the not so good Jline2 one (see https://github.com/jline/jline2/issues/185#issuecomment-889119519)
I don't know if this should be added to the example in the README ?

Will you be able to provide a pull request for this?

I can give it a try.
Should I just add it in the main example with a comment ?
Or should I create a dedicated chapter (so so don't push it in the example) ?

The main example is fine.
Please add a link to the JLine 2 ticket that you mentioned.


Simplifiy private CLI for logging ANI results

Currently each private ANI method takes the filename(s) to parse, the query and subject FASTA filenames, the DB to write to, and the configuration values (like k-mer size etc).
Rather than the configuration values (which are fiddly and change between tools), we can just specify the DB configuration ID, or simply the DB run ID. The later would also allow looking up the FASTA filenames to get the MD5 checksums, rather than recomputing them (again), so should be faster.

This API change enables bulk logging of multiple ANI values at once, needed for faster sourmash (done in PR #177) and row-wise fastANI (issue #180).


KAFKA-5209 : Transient failure: kafka.server.MetadataRequestTest.testControllerId

Added sleep after creating the socket so that socket can be spawned properly and ready to send the request.  @guozhangwang may I request you to review it.

Being a minor one, it wouldn't need much time to review :)
@guozhangwang it requires your few minutes though.

@umesh9794 Thanks for picking it up.
We generally would not recommend "fixing" a unit test by adding sleep time, as it simply adds non-deterministic timing dependency on the unit test, hence the test will become more flaky on different environments.
If you believe the root cause of the issue is indeed because of metadata not propagated in time, consider using TestUtils.waitUntilMetadataIsPropagated, and try running the unit test with / wo your patch on a "slow environment" e.g. 1 CPU, small memory, to demonstrate that "wo the patch the test fails X times every 100 runs, and with the patch the test never fail for 1000 runs" etc.
You can take a look at some other flaky unit test PRs for reference.

@guozhangwang Thanks for your wonderful description especially for "non-deterministic timing dependency". I didn't know about the TestUtils.waitUntilMetadataIsPropagated, thanks for mentioning it. I will refer it and try to fix the issues soon.

Closing the PR since no activity for several years.


Recipes of DPRNN-TasNet

Summary
This PR adds scripts for a recipe of DPRNN-TasNet using WSJ0-3mix dataset.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.61%. Comparing base (ebb5eb0) to head (7725451).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #174   +/-   ##
=======================================
  Coverage   81.61%   81.61%
=======================================
  Files         169      169
  Lines       15344    15344
=======================================
  Hits        12523    12523
  Misses       2821     2821

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


Version 1.3.0 is breaking: cassettes cannot be found

Unfortunately I have not been able to pinpoint the issue yet (I have taken a look at the changes from 1.2.0 to 1.3.0) but I can share that I have a branch where all my tests correctly find the relevant cassettes on version 1.2.0 (and Xcode 9), but with 1.3.0 (and Xcode 10) the tests crash as the cassettes can't be found.
Something about the diff between 1.2.0 and 1.3.0 is causing this change. Any ideas what may be the issue?
If we can't pinpoint the problem, then maybe we should deprecate 1.3.0 and release it as 2.0.0 instead since the changes are seemingly breaking behavior.

Hi @loudmouth , breaking cassette? Is this a cassette that's part of DVR? Unit Test? Or a personal one?
I recently discovered an issue we are correcting locally, in which a DVR cassette could not be found b/c of a multi-part form encoded header uses the new hasher protocol and intermittently fails b/c of an indeterminate order.
Is this related?

Hey @dmiluski it's a cassette that's included in the unit test target of my own project that cannot be found.
I think it's possible that the issue you described is the same one. Do you have any tips on how I could verify if it's the same?

Some more info on this:
I'm now running Xcode 10 GM. I need to finish up the current feature work I'm doing so I decided to simply re-record the recordings. After running the tests and while recording and watching the tests succeed, I grabbed the file DVR recorded and included it in my project, ensuring that the file was added to the relevant test target package. Upon running the same tests again, the cassette cannot be found.
I will get a branch showing the issue and push it soon.

https://swiftunboxed.com/protocols/hashable/
Starting in Swift 4.2, hash values are seeded with a random value at launch. During the lifetime of the program, the hash values will be stable.
Any chance you already migrated to swift 4.2?

In my case, we had a specific test which was failing, which came from our multi-part requests. Quite confused by the issue, I tore down the failing test to compare raw data to data. Upon investigating, I noticed that the great majority was the same except for maybe 30 characters which were just ordered differently.
The content that was ordered differently turned out to be the below BodyPart, which encodes these headers into the data which DVR then compares for reference. B/c of the new random seeded behavior, this order isn't preserved leading to intermittent failures. In this case, it turns out Apple already offered another model we could use to maintain order.
https://developer.apple.com/documentation/swift/dictionary
Which lead to a very mall code change to address.
public struct BodyPart: FormDataType {
-    private let headers: [String: String]                                // Order not preserved between tests
+    private let headers: DictionaryLiteral<String, String> // Order preserved

So going back to the root of the issue, I'm assuming this may be related to some latest usage of Swift 4.2/Xcode 10, and not specifically a difference between 1.2 vs 1.3?
But if you have a failing test you can share, happy to take a further peak.

Scratch that. Still seeing the failure. Will follow up once I find out what I missed.

Coming back to this, I had to do a two part change in our SDK code which uses DVR to validate.
One part was using the DictionaryLiteral above to preserve order. The other change was to update how our arguments were passed in:
let parameters: DictionaryLiteral<String, String> = [
              "keyA": "<value>,
             "keyB": <value>,
              "keyC": <value>,
          ]

This was a bummer but it our case wasn't. major blocker since the majority of our request/response tests are for serialization/deserialization or general client sdk handling of which deserialization didn't require an order.
If your use cases are more complex this this (🤞), we may need to reconsider how we determine equivalent responses.
But if not, we may be able to close out this issue. with Swift 4.1.x+ approach of DicationaryLiterlas?

Hey @dmiluski
Sorry for the delay. Here is a link to a set of test cases within one XCTestCase subclass that are failing. One thing to note about my project setup, is that instead of configuring each test with it's own DVR session, my HTTP client is static on the XCTestCase subclass. Before all tests start, i begin recording/replaying and after all tests in the class finish, i stop recording/replaying. Therefore, my cassette has many recordings, not just one. I do this as I have well over a hundred network acceptance tests and recording/crashing the test runner each time i need to update is not scalable.
In case it's helpful, here is the helper code where I configure DVR.
Regarding dictionaries, there is no way to guarantee the order of keys in a dictionary so I think maybe an array of tuples (String, AnyValueType) would be better as order is deterministic with an array.

@dmiluski I am just getting back to this today. While I understand the theory that you used a dictionary literal to preserver the order of your headers, I'm not sure I understand how the interaction with DVR works.
In my code, I simply do the following:
let dvrSession = DVR.Session(cassetteName: cassetteName, backingSession: client.urlSession)
client.urlSession = dvrSession

And then in the static methods for XCTestCase setUp and tearDown which are called at before all tests in a class and after all tests in a class (as opposed to the instance methods which are called before each test) I begin recording and stop recording respectively.
Is there code I should be modifying in my code base to ensure my recordings are found?

Hi @loudmouth , is there any public API I could play with that causes the issue you're running into? Fortunately/Unfortunately our recordings have been done for quite a while and exist in our local unit test target. So I don't have a reproducible issue like yours just yet.
I was debating if there was something that may require a sort to resolve? But wasn't sure where to make that determination?

We also integrate DVR as a submodule which can make it a bit easier to debug.
https://github.com/venmo/DVR/blob/d41094d26e4d97e20a79e8260ecff84e4b36ff66/Sources/DVR/Cassette.swift#L57
I was seeing if you are making it to this method and failing on an expected known success comparison? (When testing a single cassette with known request?)

Ok, the issue was that I was using a dictionary internally to represent my URL parameters before serializing a URL string—with the change to the way hash values are seeded in Swift 4.2, the url that was serialized varied on different runs and therefore DVR was unable to consistently match URLs stored in Cassettes with those that were being generated at runtime.
The solution was simple, just sort the url key-value pairs (alphabetically by keys). Everything is working now on my end. I can confirm that the underlying issue was not with DVR so I am marking this closed.


Support EIP-4844 transaction when building pending block

Describe the feature
https://github.com/paradigmxyz/reth/blob/449a9c002369db892a552e8d0ba3a2424866e5ad/crates/rpc/rpc/src/eth/api/pending_block.rs#L28-L37
TODO
keep track of max blob space
set eip4844 header fields correctly
apply pre_block_beacon_root_contract_call
see also
https://github.com/paradigmxyz/reth/blob/449a9c002369db892a552e8d0ba3a2424866e5ad/crates/payload/basic/src/lib.rs#L634-L641
Additional context
No response

I could take it

sweet,
quick node here, most of the code could be unified with the default block builder fn but they have slightly different args etc so for now it's fine to duplicate

A question:
Do I have to rewrite pre_block_beacon_root_contract_call function inside pending_blocks.rs file or should I import it from reth-basic-payload-builder? The easiest I think could be rewrite the function otherwise I have to make pub some structs and fields and also convert some errors.
Thanks in advance


Test AMIS

Script to test the presence of the AMIs provided in the variables.tf file

this  looks gr8 ! gonna refactor the tests a bit so we can see output in Test Summary

refactored mike's test script to use Bats

by converting Bats' TAP output to JUnit (via script installed in Docker image) we can use CircleCI's Test Summary (e.g., compare build 233 & build 235)

since each of the AMI tests are essentially identical but with different variables, the Bats tests are generated programatically on each CI build via the setup.sh script

(if the above seems like too much fanciness & DRY-ness at the expense of easy debugging, I can quick push another commit to use a static Bats test file instead)

refactored config.yml to use Workflows (split Terraform & AMI validation into separate jobs)

LGTM


Expose getClientStats in org.http4s.client.asynchttpclient.AsyncHttpClient

org.asynchttpclient.DefaultAsyncHttpClient defines a method org.asynchttpclient.DefaultAsyncHttpClient#getClientStats which can be used to obtain the details about the connections the client has made and other interesting stuff.
val client = new DefaultAsyncHttpClient(config)
client.getClientStats

Currently there is no way to call this method from a httpClient which is defined like so:
val retryPolicy = RetryPolicy[IO] { ... }
val config: DefaultAsyncHttpClientConfig = new DefaultAsyncHttpClientConfig.Builder()...
val sensitiveHeaders: Set[CaseInsensitiveString] = ...

val httpClient: Resource[IO, Client[IO]] = AsyncHttpClient.resource[IO](config).map(Retry[IO](retryPolicy, sensitiveHeaders.contains))

Exposing org.asynchttpclient.DefaultAsyncHttpClient#getClientStats in org.asynchttpclient.DefaultAsyncHttpClient would enable access to very useful functionality.

Ember achieves this with a subclass of Client.  I think the functionality is great, but I'm not thrilled about the subclass design.
A couple other ideas come to mind:

Add an apply[F: ConcurrentEffect[F]](org.asynchttpclient.AsyncHttpClient: AsyncHttpClient): Client[F] method so you can pass your own client, which you can reference for its state.  You'd be responsible for the resource management.
Add an allocateWithUnderlying[F[_]](config: AsyncHttpClientConfig): F[((Client[F], AsyncHttpClient), Unit], and probably parallel resourceWithUnderlyingandstreamWithUnderlying` methods.  Then you could pass in the same config, but it adds a lot of heft to the API for a minor convenience.

I think the first option is simple and composes nicely.  What do you think?

Also ping @ChristopherDavenport, since he has spent more time in with the subclass.  My experience with it is not being able to fix something while maintaining bincompat, but he has more experience with the ergonomics of actually using it.

Hey @rossabaker, Thanks for your feedback!
The first option does seem very straightforward! I looked at Ember and how it achieves this and did something similar:
final class ClientWithStats[F[_]](
    private val client: Client[F],
    private val clientStats: ClientStats)(implicit F: Bracket[F, Throwable])
    extends DefaultClient[F] {

  def getClientStats: ClientStats = clientStats

  def run(req: Request[F]): Resource[F, Response[F]] = client.run(req)
}

And then in org.http4s.client.asynchttpclient.AsyncHttpClient

  def createClient[F[_]](c: AsyncHttpClient)(implicit F: ConcurrentEffect[F]): Client[F] = Client[F] { req =>
    Resource(F.async[(Response[F], F[Unit])] { cb =>
      c.executeRequest(toAsyncRequest(req), asyncHandler(cb))
      ()
    })
  }

  def allocate2[F[_]](config: AsyncHttpClientConfig = defaultConfig)(implicit
      F: ConcurrentEffect[F]): F[(ClientWithStats[F], F[Unit])] =
    F.delay(new DefaultAsyncHttpClient(config))
      .map(c => (new ClientWithStats[F](createClient(c), c.getClientStats), F.delay(c.close)))

  /** Create an HTTP client based on the AsyncHttpClient library which includes
    * [[ClientStats]]
    *
    * @param config configuration for the client
    */
  def resourceWithStats[F[_]](config: AsyncHttpClientConfig = defaultConfig)(implicit
      F: ConcurrentEffect[F]): Resource[F, ClientWithStats[F]] =
    Resource(allocate2(config))

What do you think about this approach? And if this makes sense, could you also guide me on how to refactor def getClientStats: ClientStats to something like def getClientStats: F[ClientStats]?
Thanks!

Your createClient looks like the apply I was thinking of, and I think that's great and should be added to http4s.  (We call similar apply on other builders).  I think we should get that into series/0.21, and re-express allocate in terms of it.  Would you like to send a PR for that?
allocate2 and resourceWithStats and ClientWithStats are good, but not as general.  You want stats, but maybe somebody else wants the signature calculator, or to flush the pool partitions.  We could make it more general by exposing the whole underlying client instead of just the stats, but then there are unsafe methods.  Someone could close() the client underneath us, outside our Resource management.  Yours exposes a safe subset of the API to your app, to address your needs.  So I think you have a good design, but everything beyond apply is better in your app than in the library.
As for F[ClientStats], I don't think you gain much by wrapping that: it will always be the same ClientStats instance.  The problem is that those values are not referentially transparent: getTotalConnectionCount() may return a different value now than it will a second from now.  If you want to make that functional, you'd want to create a wrapper around ClientStats that returns all values in F, and just does a bunch of F.delay(...) calls to the underlying.
class HarpeetsSaferClientStats[F[_]: Sync](underlying: ClientStats) {
  def totalConnectionCount: F[Long] = F.delay(underlying.getTotalConnectionCount())
  ...
}

And then instead of exposing an F[ClientStats], you expose a HarpeetsSaferClientStats[F].  The difference between this and Ember is that Ember's stats are an immutable type, and AHC's are mutable, so the F has to move.  That HarpeetsSaferClientStats wrapper could be general enough to be worth adding, but I don't have a good name for it.

Thanks for the great explanation @rossabaker! I'll create a PR to add the createClient  as an additional apply method and re-express allocate in terms of it.
I could add HarpreetsSaferClientStats and call it AsyncHttpClientStats maybe?

That sounds great to me!  And please open on series/0.21 branch so it can be released sooner -- it will also be in the 1.x milestones.

Raised a PR to add an apply method that takes in an AsyncHttpClient.


Backend: Gitlab Commit Exporter

Treat this issue as a Master issue that will track child issues.

Closing as a cleanup.
This was supposed to be used by the query on the following page, however we switched to use GitHub labels instead of the master issue:
https://github.com/konveyor/pelorus/blob/master/docs/UpstreamSupport.md


wrap method on newest leaflet not working

i'm sorry for my english.
there is a function that i found on leaflet 0.7.7 ("wrap" Conversion Methods). it has made me solved a problem like #82 with some additional code.
but i can't run this function again on the newest leaflet (currently 1.0.1). i don't know why.. so for a while, i just use leaflet 1.0.1 but i change little bit code on "wrap function" (use leaflet 0.7.7 code). let me know if I missed anything or had some incorrect code for "wrap" methods on the newest leaflet. or maybe "wrap" methods has been changed?
Thanks and i'm sorry if i missed something, let me know that ;)

Can you publish a fiddle/codepen/playground that displays this behaviour?

this is an example i use wrap on leaflet 0.7.7
jsfiddle-wrap-on-leaflet-0.7.7
it has worked and the coordinate has changed
and this is an example i use wrap on leaflet 1.0.1
jsfiddle-wrap-on-leaflet-1.0.1
it has not worked and the coordinate has not changed. Did I miss something??

The LatLng will not wrap around, as the longitude is between -180 and -180.
This is the expected, documented behaviour in 1.0.0. The method will always wrap between -180 and +180.
Please note that the behaviour in 0.7.x is different: the L.LatLng.wrap method accepted extra parameters.
Use L.Util.wrapNum() manually on the latitude if you need to. You might need to manually instantiate the wrapped LatLng in this way.
Documented behaviour → not a bug → closing.


Pass options to Repo.all?

Hi, I'd like to increase the database timeout for a specific query that needs to be paginated, which can be achieved in Ecto by passing timeout: value to Repo.all. Is there a way to pass ecto repo options to scrivener_ecto? Looking at the source code it seems not. I could look into implementing this feature but it would be nice if you could point me in the right direction first. For example, I am not sure if changes need to be made in the scrivener base repo as well.
At the moment the following options are supported by ecto Repo.all/Repo.one:

https://hexdocs.pm/ecto/Ecto.Repo.html#module-shared-options
https://hexdocs.pm/ecto/Ecto.Repo.html#c:all/2-options

Thanks for your consideration!

@padde sorry for the (very) slow reply. Scrivener.Config does support passing arbitrary options via the :options keyword. You'd then need to update Scrivener.Ecto to take advantage of these new options.

@drewolson Would you be open to a pull request that enables this Repo.all pass-through? I would also like to have it due to the timeout: value option (we use that a lot), and think it wouldn't be too challenging to implement. Thanks!

Sure, a PR would be welcome.
On Fri, May 29, 2020 at 10:36 AM Sammy Taylor<EMAIL_ADDRESS>wrote:

@drewolson https://github.com/drewolson Would you be open to a pull
request that enables this Repo.all pass-through? I would also like to
have it due to the timeout: value option (we use that a lot), and think
it wouldn't be too challenging to implement. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/drewolson/scrivener_ecto/issues/48#issuecomment-636039786,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAA3UCB6FTIQR3ZRZHKFP3RT7I7DANCNFSM4EQKL4MA
.

@pinksynth @drewolson any update on this? This feature would be very useful when working with custom default_options and prepare_query callbacks.


Unable to satisfy requirements

I updated the pods gem, removed my Pods folder, then attempted pod install
platform :ios, '8.0'
pod 'RestKit', '~> 0.20.0pre'
pod 'SVProgressHUD'
pod 'AFNetworking', '~> 2.5'
pod 'SBJson'
pod 'JSONKit'

pod install

[!] Unable to satisfy the following requirements:

- `AFNetworking (~> 2.5)` required by `Podfile`
- `AFNetworking (~> 1.3.0)` required by `RestKit/Network (0.20.3)`

@quantumpotato
The issue your getting is because RestKit uses AFNetworking (~> 1.3.0) as a dependency.
This is not related to AFNetworking issue or bug.
As stated in the README, this is not a support forum. Please try asking this question on Stack Overflow.
Thank you.

Thanks, @icodebuster.


Util.isValid should throw specific exception type

If the encryption / decryption fails on SecretBox, then Util.isValid is called -- this throws RuntimeException.
https://github.com/abstractj/kalium/blob/master/src/main/java/org/abstractj/kalium/crypto/Util.java#L46
Because RuntimeException is so general, if I want to catch this specific exception I have to check the message:
https://github.com/wsargent/play-kalium/blob/master/app/controllers/HomeController.scala#L25
This is not good -- there should be a specific EncryptionFailedException that extends from RuntimeException that can be checked individually.

I don't understand why isValid throws at all?  I was definitely expecting it to return true or false, but instead it returns true or "blow up the JVM" :smile:

I'm on the fence about using a more specific exception for isValid, however I am much less enthusiastic about a boolean return, it's too easy to forget to check which I've been guilty of when using libSodium.
My thought is that if you have a specific exception for isValid which you handle one way and then don't handle all runtime exceptions the same way it could reveal to an attacker something about the Kalium specific implementation that could give them a heads up. If there is a bug in the Kalium code, it really should just look like a decryption failure. It's a "fail closed" sort of mentality. @wsargent in your example why wouldn't you treat an NPE or other runtime exception similar to your decryption exception?

Because I want to log it specifically as a decryption exception with an SLF4J marker, and it’s much harder to do with no type information.
Will.
From: Ben Doerr<EMAIL_ADDRESS>Reply: abstractj/kalium<EMAIL_ADDRESS>Date: March 29, 2016 at 7:46:56 AM
To: abstractj/kalium<EMAIL_ADDRESS>CC: Will Sargent<EMAIL_ADDRESS>Subject:  Re: [abstractj/kalium] Util.isValid should throw specific exception type (#50)
I'm on the fence about using a more specific exception for isValid, however I am much less enthusiastic about a boolean return, it's too easy to forget to check which I've been guilty of when using libSodium.
My thought is that if you have a specific exception for isValid which you handle one way and then don't handle all runtime exceptions the same way it could reveal to an attacker something about the Kalium specific implementation that could give them a heads up. If there is a bug in the Kalium code, it really should just look like a decryption failure. It's a "fail closed" sort of mentality. @wsargent in your example why wouldn't you treat an NPE or other runtime exception similar to your decryption exception?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

I'm inclined to agree that being able to handle it 'specifically' is a good idea. What we expose back to the user (eg. generic error message) should be up to the individual developer/app requirements.

@wsargent thank you so much for spending time bringing this up. I really appreciate it. However I do not think this is something I would like to add right now, nor have the time for this. It's pretty much possible to handle such exception as is.
But if you really want to see this into the codebase, please raise a PR with a clear explanation why you need this and ping the others involved for discussion/review.
Thank you.

That's fine -- I think https://github.com/google/tink/ may be a better pure Java fit for my needs.


composer: allow php ^8.0

Should I send also migration from Travis to GitHub actions? Since Travis is ultra-slow these days and obviously does not have PHP 8.0 ready, GitHub actions are far better nowadays.

@oscarotero this one is also ready.
depends on: https://github.com/middlewares/utils/pull/23
You can see it here: https://github.com/solcik/payload/actions/runs/389719194
It is also prepared for https://coveralls.io/

github actions
phpunit upgrade
phpstan added
PHP ^7.3 || ^8.0

Hi, as mentioned here: https://github.com/middlewares/trailing-slash/pull/3#issuecomment-736904404 I'm going to close this pull request.
Thank you anyway for your work!