fix: comment out validators #118

Issue #, if available: #118
Description of changes:

Minor internal changes to ensure consistency across utilities, and ease maintenance before we write docs.
Checklist

[x] Meet tenets criteria
[ ] Update tests
[ ] Update docs
[x] PR title follows conventional commit semantics
[x] Remove validators. We need an universal schema owned by Lambda for each event source, or else we'll likely break some customers if a few services change, as we won't be notified.
[ ] Snake_case. IIRC, EventBridge detailtype was the only odd one out but I'll double check if there are others
[ ] Refactor test event data. Data_classes and validator utility are partially using the same events, so we'll refactor tests to provide events to all tests as fixtures.
[ ] Kwargs over args. Some internal code is using args over kwargs - Moving to kwargs make it easier to refactor, and order of args wouldn't be impacted.
[ ] Docstrings. Enhance Example section in docstrings.
[ ] Remove flake8 polyfill. Double check whether a fresh Python env hits the issue you hit with that, since we don't use it
[ ] Raise own Validation Exception. For customers wanting to catch that exception (e.g. custom middlewares) they'll have to find Pydantic exception to catch it properly
[ ] Enhance imports. Envelopes and a few others can be turned into high level imports to clean up customers' code, plus DX.
[x] Test coverage. Validation errors aren't being tested as of now.
[ ] [Optional] Enhancing envelope selection. Time allowing, I'll experiment with providing a similar experience we have in the validator envelope utility envelope.<event_source>.
[ ] [Optional] Create a standalone parser. Time allowing, I'll experiment creating a standalone parser function with the same functionality the decorator
[ ] [Optional] Support for API Gateway, Kinesis, S3, and SNS. Likely to be after 1.7.0, but time allowing we can do that sooner.

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #189 into develop will increase coverage by 0.31%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #189      +/-   ##
===========================================
+ Coverage    99.20%   99.51%   +0.31%
===========================================
  Files           64       64
  Lines         2505     2462      -43
  Branches       113      108       -5
===========================================
- Hits          2485     2450      -35
+ Misses          14       10       -4
+ Partials         6        2       -4

Impacted Files
Coverage Δ

aws_lambda_powertools/utilities/parser/__init__.py
100.00% <ø> (ø)

..._powertools/utilities/parser/envelopes/__init__.py
100.00% <ø> (ø)

...mbda_powertools/utilities/parser/envelopes/base.py
90.62% <ø> (ø)

...da_powertools/utilities/parser/schemas/__init__.py
100.00% <ø> (ø)

...owertools/utilities/parser/schemas/event_bridge.py
100.00% <ø> (ø)

..._powertools/utilities/parser/envelopes/dynamodb.py
100.00% <100.00%> (ø)

...powertools/utilities/parser/envelopes/envelopes.py
86.36% <100.00%> (ø)

...ertools/utilities/parser/envelopes/event_bridge.py
78.57% <100.00%> (ø)

...ambda_powertools/utilities/parser/envelopes/sqs.py
100.00% <100.00%> (ø)

aws_lambda_powertools/utilities/parser/parser.py
100.00% <100.00%> (ø)

... and 9 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #189 into develop will increase coverage by 0.51%.
The diff coverage is 96.11%.

@@             Coverage Diff             @@
##           develop     #189      +/-   ##
===========================================
+ Coverage    99.20%   99.71%   +0.51%
===========================================
  Files           64       64
  Lines         2505     2465      -40
  Branches       113      107       -6
===========================================
- Hits          2485     2458      -27
+ Misses          14        6       -8
+ Partials         6        1       -5

Impacted Files
Coverage Δ

...da_powertools/utilities/parser/schemas/__init__.py
100.00% <ø> (ø)

...ertools/utilities/parser/envelopes/event_bridge.py
85.71% <85.71%> (ø)

...mbda_powertools/utilities/parser/envelopes/base.py
94.11% <94.11%> (ø)

aws_lambda_powertools/utilities/parser/__init__.py
100.00% <100.00%> (ø)

..._powertools/utilities/parser/envelopes/__init__.py
100.00% <100.00%> (ø)

..._powertools/utilities/parser/envelopes/dynamodb.py
100.00% <100.00%> (ø)

...ambda_powertools/utilities/parser/envelopes/sqs.py
100.00% <100.00%> (ø)

...s_lambda_powertools/utilities/parser/exceptions.py
100.00% <100.00%> (ø)

aws_lambda_powertools/utilities/parser/parser.py
100.00% <100.00%> (ø)

...da_powertools/utilities/parser/schemas/dynamodb.py
100.00% <100.00%> (ø)

... and 9 more

Continue to review full report at Codecov.

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

@cakepietoast ready when you are -- this is mostly semantics to ease maintenance after publishing the parser utility -- Could you take a look and see if the docstrings, import system, etc. are to what you'd expect too?
The additional conftest for parser, test data from data_classes, etc. will be dealt with in a separate PR - We need to consolidate all those JSON into fixtures available to all functional tests to prevent unnecessary I/O + easier to use.

Next steps before 1.7.0:

Review by @cakepietoast
Parser docs


The 'imports::versions' test fails on OSX

I don't know why but here is the output: https://gist.github.com/kzvi/bf225ec60343397938dd5fbd97479678
OS: OSX 10.13.5
Node: v10.5.0
NPM: 6.1.0
rustc: rustc 1.28.0-nightly (e3bf634e0 2018-06-28)
cargo: cargo 1.28.0-nightly (e2348c2db 2018-06-07)

It looks like there's some errors there about node dependencies, perhaps npm install or the equivalent is required?

@alexcrichton I think it is mostly because of usingrequire and webpack bundling. We need to add in extra parameters and supply it through the configuration file

I think we should add in webpack.config.js and supply target: node.  I will first try this locally and confirm.

@sendilkumarn hm I think that's already done?


Path expansion issue in install script creates a bad directory for px install

Describe the bug
Wrong installation path on Linux with installer script
To Reproduce
Steps to reproduce the behavior:

curl -fsSL https://withpixie.ai/install.sh | bash
Logs show the following

- PX CLI has been installed to: INSTALL_PATH=${INSTALL_PATH:-${DEFAULT_INSTALL_PATH}}. Make sure this directory is in your PATH.

It creates a directory with that name and pixie is inside:
$ ls INSTALL_PATH=\$\{INSTALL_PATH:-\$\{DEFAULT_INSTALL_PATH\}\}
px

Expected behavior

The install script should either prompt for installation path.
If non-interactive mode is used as a standard, it should expect an installation path arg or should install the bin in the same directory from where it is called

Version/info
[0000]  INFO Pixie CLI
0.1.25+Distribution.59beb5c.20200326150522.1

Additional context
Running on Elementary OS (Ubuntu 18.04 derivative) with zsh. But pixie spawns bash for install script
┆Issue is synchronized with this Jira Bug by Unito

Closing as stale issue


Packaging the ROCK (4.11 + AMD patches) kernel

Issue description
The ROCm project needs the ROCK kernel for a good while longer.  The current ROCm release is 1.6, and 1.7 is being released now.  There will be one or more releases at least before the required functionality is upstreamed.
It seems like packaging the ROCK kernel is the right thing to do in the meantime.
https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver
The last changes were in August, and there are indications that it's being rebased on top of 4.13 based on https://github.com/RadeonOpenCompute/ROCm/issues/256 comments.

The kernel should be called 4.11.0-kfd based on the naming convention the ubuntu packages use.

I had a look at the default kernel config in the ROCK kernel, and the only obvious relevant difference from ubuntu was DRM_AMD_DC=y, so I enabled that and build the kernel from their tree.  If you want to try the kernel, you can cherry-pick 76cb3819c1b10139dad4d4f828a9544fb6ffb305 and set
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_rock.
It boots without any obvious errors, and DC seems to be working.
I'll get into the userspace stuff next.

Cool.. I also tested this yesterday.  Didn't think you'd get around to it.. :-) https://github.com/NixOS/nixpkgs/pull/32376

Userspace seems to be a little bit more involved..

should be out this week. https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/988926-amd-rolls-out-rocm-1-7-platform-for-supercomputing-17/page5

@alexanderkjeldaas So you tested this kernel already on NixOS?  Do you have any other WIP stuff?

I get some display issues.  And wifi doesn't work. So it's not 100%.

I have some stuff in https://github.com/alexanderkjeldaas/nixpkgs/tree/ak/rocm-changes

roct compiles now

Ok, we should definitely coordinate this, because you're already doing what I was going to do next.
Is there anything in particular you're stuck on, or some work that can be divided?

let's create a list of stuff:
I'm working on hcc, just finished hsa-runtime-amd.

[x] hsa-runtime-amd
[ ] hcc
[ ] https://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver

Could you try ROCm-OpenCL-Driver?

Sure, I'll continue with it.   I will have limited time before the weekend though.

I'm looking at https://github.com/RadeonOpenCompute/ROCm-Device-Libs now

I'm also afraid that I don't have time to finish this.. :-)

ROCm-Device-Libs done.
I can't edit the ROCm board.

I'm continuing on hcc

Continuing with hcc now. Current issue is finding the right HSA headers for hcc.  I tried hsa-runtime-amd but looks like rocr-runtime is the one to use.  Still not found during some compilation steps.

all in ak/rocm-changes in my tree.

I'm working on ROCm-OpenCL-Runtime

ROCm-OpenCL-Runtime is done.

I'll have some free time over the next few days, so I was going to have a look at your changes.  I notice you have amdgpu-pro changes in there.  Are you using any of the pro stack when testing ROCm?
Have you got to the point where the CL runtime is actually working?

The CL runtime is "working" in that clinfo ++ work, things link etc.  But I
can't find my card yet.
On Tue, Dec 12, 2017 at 10:51 PM, David McFarland<EMAIL_ADDRESS>wrote:

I'll have some free time over the next few days, so I was going to have a
look at your changes. I notice you have amdgpu-pro changes in there. Are
you using any of the pro stack when testing ROCm?
Have you got to the point where the CL runtime is actually working?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/corngood/nixpkgs/issues/4#issuecomment-351206559, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAUtqSx4CA8wf2AnOONc5qwP353yWe-Nks5s_vVbgaJpZM4Q3COY
.

I'm not using amdgpu-pro, or I'm testing it independently.
On Wed, Dec 13, 2017 at 12:27 AM, Alexander Kjeldaas<EMAIL_ADDRESS>wrote:

The CL runtime is "working" in that clinfo ++ work, things link etc.  But
I can't find my card yet.
On Tue, Dec 12, 2017 at 10:51 PM, David McFarland <
<EMAIL_ADDRESS>wrote:

I'll have some free time over the next few days, so I was going to have a
look at your changes. I notice you have amdgpu-pro changes in there. Are
you using any of the pro stack when testing ROCm?
Have you got to the point where the CL runtime is actually working?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/corngood/nixpkgs/issues/4#issuecomment-351206559,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUtqSx4CA8wf2AnOONc5qwP353yWe-Nks5s_vVbgaJpZM4Q3COY
.

I've just packaged the ROC-smi utility.  It returns nothing on my system.
Same with clinfo.
If you could figure out how the kernel and those utils need to work
together, then I'd be happy.
On Wed, Dec 13, 2017 at 12:27 AM, Alexander Kjeldaas<EMAIL_ADDRESS>wrote:

I'm not using amdgpu-pro, or I'm testing it independently.
On Wed, Dec 13, 2017 at 12:27 AM, Alexander Kjeldaas<EMAIL_ADDRESS>
wrote:

The CL runtime is "working" in that clinfo ++ work, things link etc.  But
I can't find my card yet.
On Tue, Dec 12, 2017 at 10:51 PM, David McFarland <
<EMAIL_ADDRESS>wrote:

I'll have some free time over the next few days, so I was going to have
a look at your changes. I notice you have amdgpu-pro changes in there. Are
you using any of the pro stack when testing ROCm?
Have you got to the point where the CL runtime is actually working?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/corngood/nixpkgs/issues/4#issuecomment-351206559,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUtqSx4CA8wf2AnOONc5qwP353yWe-Nks5s_vVbgaJpZM4Q3COY
.

Like you get literally nothing?  I'm getting:
➜  nixpkgs git:(ak/rocm-changes) sudo $(nix-build -A roc-smi)/bin/rocm-smi

====================    ROCm System Management Interface    ====================
================================================================================
 GPU  DID    Temp     AvgPwr   SCLK     MCLK     Fan      Perf    OverDrive  ECC
  0   67b1   45.0c    N/A      483Mhz   1300Mhz  24.71%   auto      0%       N/A
================================================================================
====================           End of ROCm SMI Log          ====================

With an R9 290 using the kernel from my branch.

What's your /sys/module/amdgpu/parameters/dc?  Mine is -1.  Also, I didn't update any firmwares from master.

I think my problem is that I'm booting with nomodeset, and then amdgpu refuses to load.

I'm unable to boot without nomodeset.

I'm going to try a few other motherboards and see whta i get.

I've only been testing in xorg.  Do you need to run without it?

rocm-smi now works with kernel 4.15.0-rc3
I've rebased my branch with nixpkgs head and added a few updates.

That's good.  Is opencl working?  Anything I can help with?


Laravel 10.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 9.x.
Before merging, you need to:

Checkout the l10-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: Shift detected a dependency for the laravel/framework. Unless you have a special requirement for depending on the entire Laravel framework, it's recommended to add dependencies for the specific illuminate packages instead.

:warning: Shift detected GitHub Actions which run jobs using a version matrix. Shift attempted to update your configuration for Laravel 10. However, you should review these changes to ensure the desired combination of versions are built for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/laravel-robotstxt.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "verschuur/laravel-robotstxt": "dev-l10-compatibility",
    }
}

Finally, run: composer update

Don´t know about the failing test but the generated update seems to be working fine for me


make -l overridable

Describe the bug
The default usage of -l set to cores makes building on my system slow, as it usually has a load of 2 or 3, so make will not start more than one or two builds, despite the fact that there are more than 2 cores idle, as the load probably is due to IO wait.
Therefore it would be nice to be able to deactivate -l without individually overriding individual derivations or disabling its usage completely in builds.

Have you seen https://nixos.org/manual/nix/stable/#chap-tuning-cores-and-jobs ?

I'm aware of max-jobs, though that doesn't really help. In general all nix related builds are basically serialized due to the usage of -l. Just throwing a bigger max-jobs won't help with that, as regardless of number of jobs that nix tries to run in parallel, make will now do more, just because the system load is above the threshold that is dictated by cores.

Upvote.  It will be valuable for systems with lot of cores (20+) but slow spinning disks.

See also #143820

-l's were removed in https://github.com/NixOS/nixpkgs/pull/192447


Internal: Add Scripts to sync with Dev Machine

Summary
It's hard to remotely debug Gestalt and keep sync with Pinboard on our devapps.
This wraps some common commands with watchman and rsync into one command, and linking is easy as running:
On your local machine:
yarn gestalt:link

In Pinboard:
yarn gestalt:link

What changed?
Copies over the watchman-sync utility script from Pinboard and adds a script to run it
Links

Jira
[TDD](link to Paper doc)
[Figma](link to Figma file)

Don't you use VSCode remote? Give it a try before all this extra effort to sync local development?

Abandoning PR due to lack of bandwith atm. We can still use this branch as needed


Fixes #7.

Turn on HTTP/2, with fallbacks to HTTP/1.1 so that
the ws websocket library will still work.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.88%. Comparing base (ea83486) to head (3c2e43e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
+ Coverage   87.79%   87.88%   +0.08%
==========================================
  Files           6        6
  Lines         549      553       +4
  Branches       49       49
==========================================
+ Hits          482      486       +4
  Misses         66       66
  Partials        1        1

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


Terraform AWS provider SharedConfigErr with AWS SSO

Hello,
Since this morning, I am unable to deploy to AWS, getting the following error message:
error configuring Terraform AWS Provider: Error creating AWS session: SharedConfigErr: only one credential type may be specified per profile: source profile, credential source, credential process, web identity token, or sso
EDIT: Sample repo available: https://github.com/edalongeville/pulumi_sample_credentials
My environment:
AmazonLinux
Python 3.8.7
Poetry used to install python dependencies
Pulumi 2.19.0 installed using brew
Pulumi-aws 3.26.1
Steps:
These steps have been tested on both an existing project (stack already deployed) and a new one.
After running poetry install and ensuring my .venv is enabled, I navigate to my pulumi python project and run poetry run pulumi up. I get the following, as expected:
(.venv) [linuxbrew@8b00ad41377e test]$ poetry run pulumi up
[...]
     Type                 Name          Plan       Info
 +   pulumi:pulumi:Stack  test-staging  create
     └─ aws:s3:Bucket     my-bucket                1 error

Diagnostics:
  aws:s3:Bucket (my-bucket):
    error: 1 error occurred:
        * error configuring Terraform AWS Provider: no valid credential sources for Terraform AWS Provider found.

    Please see https://registry.terraform.io/providers/hashicorp/aws
    for more information about providing credentials.

    Error: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors

I then login using aws sso login. This is the content of my ~/.aws/config:
[default]
sso_start_url = https://<COMPANY>.awsapps.com/start
sso_account_id = <MY_AWS_ACCOUNT_ID>
sso_role_name = AWSAdministratorAccess
sso_region = eu-west-1
region = eu-west-1
output = json
credential_process = aws-sso-credential-process --profile default

From here, I attempt a poetry run pulumi up again, and get:
(.venv) [linuxbrew@8b00ad41377e test]$ poetry run pulumi up
[...]
     Type                 Name          Plan       Info
 +   pulumi:pulumi:Stack  test-staging  create
     └─ aws:s3:Bucket     my-bucket                1 error

Diagnostics:
  aws:s3:Bucket (my-bucket):
    error: 1 error occurred:
        * error configuring Terraform AWS Provider: Error creating AWS session: SharedConfigErr: only one credential type may be specified per profile: source profile, credential source, credential process, web identity token, or sso

This is were I'm stuck. I have attempted rolling back pulumi to 2.18.2 and pulumi-aws to 3.25.1 (latest versions for which the deployment worked). I have also ensured that I had no env var configured for AWS.
Could you please help me investigate this further?

I'm also hitting this error this morning. I have 2 programs, 1 runs successfully, the other one fails with this error. It looks like the error is coming from a call to default_vpc = ec2.get_vpc(default=True) (if I add this line to the program that was succeeding, it now fails.

I had some leftover credentials in my ~/.aws folder since I am also now using SSO. Once I deleted those credentials and only logged in using SSO everything started working again.

I tried @komalali 's solutions but unfortunately  it doesn't work for me.
My scenario is:

I have a custom component resource  where I declared rds component.
I linked this with npm link to use this resource in a particular project (within index)
In my project, I ran npm run link myComponent.
When I run pulumi previe a message  * error configuring Terraform AWS Provider: Error creating AWS session: SharedConfigErr: only one credential type may be specified per profile: source profile, credential source, credential process, web identity token, or sso appear.

NOTE: when I upload my package to custom repository (i.e: Nexus) and then I use this package, this working correctly

@edalongeville Are you still hitting this issue?
@MatiasNMont I wonder if somehow a different provider configuration is getting picked up in your local scenario vs. when it's published?

Same issue here, just now, after trying to setup SSO as well.
$ AWS_PROFILE=root-sso pulumi -v=9 up
error: failed to load checkpoint: blob (key ".pulumi/stacks/production.json") (code=Unknown): NoCredentialProviders: no valid providers in chain. Deprecated.
	For verbose messaging see aws.Config.CredentialsChainVerboseErrors

If I revert back to using access keys, it all magically works again.
$ AWS_PROFILE=root pulumi -v=9 up
Previewing update (production):
... snip ...

I'm not using aws-sso-credential-process (or aws-sso-util) though.

@shousper In the above, it looks like the access issue is for your state in an S3 backend instead of the actual configuration for the provider itself? Any chance you're using a pre-v2.23.0 version of Pulumi? Up until v2.23.0, the version of go-cloud used didn't have support for AWS SSO in the underlying AWS SDK.

Thanks @leezen. I think you hit the nail on the head. Was still using 2.22 :derp:

At this point, given the lack of updates, I'll close this issue, as we cannot reproduce the original issue.


bug: bounding box disappears temporary on right-click

Bounding boxes disappear (visually) when right-clicking. This means that the annotation actually remains in the list and re-appears when displaying the frame again.
A proper delete functionality would be nice (see issue: #2).

Was fixed, but a proper delete functionality is still missing (see issue: #2).


Couldn't make multipart/form-data requests with oak.

Issue
Setup:

Deno Version: 1.15.3 (release, x86_64-apple-darwin)
v8 Version: <IP_ADDRESS>
Typescript Version: 4.4.2
SuperDeno Version: 4.6.0
Oak Version: v9.0.1

Details
I'm using oak server. I tried the following code to test a multipart/form-data endpoint, didn't seem to work.
Both superoak and superdeno seemed not to work properly.
await req
    .post(url)
    .field('form_key', 'form_value')
    .attach('form_key2', 'path_to_file', 'filename');

I can only receive an empty body text/plain request.
I've also tried using superagent with jspm. Still not working. Maybe its because nodejs package having some bugs on deno by jspm.

Hey @c0per 👋
Hmm sorry multipart form data isn't working out 😅 do you have a simple oak server example code that you can share which can be used to test against?

server.ts
import {
  Application,
  Router,
  RouterContext,
} from<EMAIL_ADDRESS>import { assertEquals } from<EMAIL_ADDRESS>
export const app = new Application();
const router = new Router();

router.post("/endpoint", async (ctx: RouterContext) => {
  // Content-Type should be multipart/form-data
  console.log(ctx.request.headers.get("content-type"));

  // body should be "form-data"
  const body = ctx.request.body();
  assertEquals(body.type, "form-data");

  // printing form value
  console.log(await body.value);

  ctx.response.status = 200;
});

app.use(router.routes());
app.use(router.allowedMethods());

server.test.ts
import { app } from "./server.ts";
import { superoak } from<EMAIL_ADDRESS>import { superdeno } from<EMAIL_ADDRESS>Deno.test("multipart/form-data", async (t) => {
  const pathToFile = "./test.jpg";

  await t.step("superoak", async () => {
    const req = await superoak(app);
    await req
      .post("/endpoint")
      .field("form_key", "form_value")
      .attach("file_key", pathToFile, "filename")
      .expect(200);
  });

  await t.step("superdeno", async () => {
    const controller = new AbortController();
    const { signal } = controller;
    app.addEventListener("listen", async ({ hostname, port, secure }) => {
      const protocol = secure ? "https" : "http";
      const url = `${protocol}://${hostname}:${port}`;

      await superdeno(url)
        .post("/endpoint")
        .field("form_key", "form_value")
        .attach("file_key", pathToFile, "filename")
        .expect(200);
    });

    await app.listen({ port: 0, signal });
  });
});

I took some time into it. I made a pr #37 to fix this.
superagent has 2 implementations: One for browser, one for nodejs. This project uses jspm.dev, which packs the browser version of superagent by default.
The browser version depends on XHR to handle form-data. And in xhrSham.js, form-data is stringified, so fetch doesn't process it the right way.
The fix is to pass FormData directly to fetch. Fetch is able to handle form-data by itself.

Released in https://github.com/asos-craigmorten/superdeno/releases/tag/4.6.1 - thanks for your contribution 😄


fix: exit when node project not found

Addresses:

https://github.com/eslint/create-config/issues/19

We will early exit when package.json is not found

Bump


filter data attributes in params based on creatable_fields and updatable_fields

Hi All,
I am using Ember Data. When a model is created or updated, ember data sends the entire serialized model to the api end point. However, when I override creatable_fields (or update), i get error saying params not allowed, due to the extra attributes. I can't find anything on how to "fix" this problem. Here's my hack for now:
  def setup_request
    if params[:action] == "create"
      resource = (self.class.name.sub(/Controller$/, "").singularize + "Resource").constantize
      fields = resource.creatable_fields(context).map { |f| f.to_s.dasherize }
      params[:data][:attributes] = params[:data][:attributes].select { |k, _| fields.include?(k) }
    end
    super
  end

Is this the right thing to do or there's a flag somewhere that I can set so that all the extra fields could be ignored or dropped?

I don't believe that there is not currently a flag to cause fields that are not in the creatable_fields or updatable_fields to be dropped. I think that's an interesting idea that would definitely solve a practical problem. @lgebhardt, how would you feel about adding that flag?
If you'd rather handle the issue on the Ember side (instead of preprocessing the attributes), you could create customized serializers to remove the unsupported fields. See http://emberjs.com/api/data/classes/DS.RESTSerializer.html#method_serialize

@barelyknown (first of all, long time fan of your show!), I'm slightly torn. Doing it on the Ember side feels more right, but much less practical.
The reason is the createable and updatable fields have already been defined on the server side. I'd rather not redefine it all over again, especially when there's logic in creatable and updatable fields definition on the rails side for all my 20+ models. Currently my models can be accessed by 3 different roles, admin, tenant, and landlords, each could perform create/update slightly differently. On the server side, context[:current_user] gives me a simple way to distinguish them and set what's allowed. To do this in Ember, I have to somehow get access to the "session" service (from a serializer?) and redefine the same rules again for all 20+ models. (Or please let me know if there's a better to way to override serialize.)
Also the behavior of filtering out the extra attributes on the server side is in-line with what Rails does with strong params. So I think it will be less surprising for those who use Rails.

First, thanks about your nice words. I appreciate it.
I basically agree with everything you said. Handling it on the client feels right, but it would be a bit of a pain for the reasons that you stated. And, I also believe that filtering them out is idiomatic within Rails given the approach with strong parameters - you're right about that too.
 I'd like to see a configuration that controls whether or not fields should be discarded that aren't allowed, and then a filter like the one from your original comment that discards them. If you can create the PR, please make sure to add tests for both config cases.

ok will submit a PR within a day or so.

@barelyknown The PR should achieve mostly what we discussed here, but I am not sure if my PR work for this sentence: "filter like the one form your original comment...". As far as I can tell, verify_permitted_params seems to be the place to make the change, rather than using a filter (or maybe I am misunderstanding you completely). Anyway, let me know.

I see the need for adding the configuration option, though it seems like it does open the door for some confusion on the client. For example the client that misspells a parameter may be at a loss for why something isn't updating as they expect. What do you think about adding a warning to the metadata when a parameter is skipped? We could also make this optional.

:+1: for warnings. I think if allow raise_if_parameters_not_allowed is set to false, then warnings should be generated (i.e. no additional config option to enable the warnings).
I took a look at the code but don't see any existing warnings generated in Request parsing (maybe I missed it?). So to implement it, perhaps I should do the following:

add an attr called "warning" to the request object
collect warnings in verify_permitted_params if applicable
merge the warnings into ActsAsResourceController#base_response_meta

Does the above sound right? Any suggestions for name? Should "warnings" be a key in the meta object (since I don't see any suggestions for warning in the JSONAPI spec)? For the messages, should I reuse the same in ParametersNotAllowed error?

@barelyknown @lgebhardt Added warnings in the latest commit. Let me know if you want me to change anything else. And sorry about the changes this time turned out to be much bigger; I discovered after the last update that I forked this project months ago and master wasn't up to date. Anyway, all should be fixed now.


test/unit/preprocessors: remove unused fieldKey

this prop was being applied to the wrong object (request vs Context)
removing the code has no effect on the test

I noticed this while working on https://github.com/getodk/central-backend/pull/1243

My mistake - this is required!


Does it need to remove the notificationCenter observer or not?

Hi, I viewed your blog and want to post a comment, but somehow it did't show after post, so I just directly create an issue in Github.
There is nothing wrong happened when following your instruction, but I have an question -- you add the notificationCenter observer in viewController's viewDidLoad method, but I can't find in the code of removing observer.
I tried in my app to remover the observer in viewWillDisappear, but if do so, the viewController will never receive the notification. After google it, I found a post in stackoverflow http://stackoverflow.com/questions/25497928/dealloc-in-swift , it said can remove the observer in deinit method and actually no need to remove it since iOS9.
So I'm wondering do we need to remove the observer or not. If yes, how can we remove it and keep the viewController can receive the notification? Call it in deinit?

Hi, thanks for your question (I'll double check the blog too).
So, to answer your question, if/when your observer is not useful anymore, you can remove it so it will stop listening to notifications, it is still supported. But you are right, as mentioned in the iOS9 prerelease notes you don't need to deallocate the observer anymore, unless you use it with a Block syntax because of the strong reference to it.
If you still wish to remove the observer, I've found a pretty interesting article from @natashatherobot which may help you: Where To Remove Observer for NSNotification in Swift
I hope this helps :)

Thanks for your reply. It solved my doubts. :)


issues with VSCode 1.28.2

Unfortunately, I have issues with this debugger. I set a debug point and launch configuration
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "octave",
      "request": "launch",
      "name": "Octave Debug Adapter(preview)",
      "exec": "/path/to/octave-4.4.1/bin/octave-cli",
      "program": "${command:AskForProgramName}"
    },
  ]
}

debugger seems to be running but it kind of stuck without an option to step over or do anything:

looks like it does not like the filename to be test.m and gives in call stack
error (Unknown Source:undefined)

if I rename test.m from root of workspaces folder to hallo.m the debugger seems to be running and variables are shown.

@gitletH
p.s. a bit un-related but perhaps you and @@paulo-fernando-silva (https://github.com/paulo-fernando-silva/vscOctaveDebugger) can join forces on octave debugger for VSCode.


Does it work on esp8266?

A very good webserver for micropython, even with websocket and template!
My question is, does this powerful lightweight web server work on esp8266? After all, micropython offically support 8266, and 32 and 8266 using same basic MicroPython libraries. Or should I do some modify to make it works.
Thanks a lot!

Hello and thank you :')
I have never tested it on esp8266 but do you can do it ?

@jczic Seems dosent work, actually can not download the microWebSrv lib to 8266, I use uPycraft as IDE.

Yes ok, you have not enought RAM memory to load MicroWebSrv... It works fine with modules who have 4 SDRam extension.

@jczic Thanks a lot, still a very good project.

Thank you ! 👍


Fixes Oddities surrounding maintaining momentum after hitting a ceiling

###Contains
Fixes PR #2821
Makes velocity of character = 0 when the character hits a ceiling. The gravity than does the rest.
Character takes damage if he/she hits the ceiling above allowable speed limit.
Made crashing speed generation more consistent and better than previously(Does not guarantee if player will take damage upon horizontal collision but is certainly better and consistent than the previous one)
###How to test
Run the game. Go under a low ceiling environment eg. under a tree.
Enable hjump.
Jump and die due to hitting on ground at a speed as if falling from a mountain.

Pinging @Cervator  and @portokaliu for review

Hooray Jenkins reported success with all tests good!

Also pinging @skaldarnar especially since #2823 seems sorta similar :-)


refactor: only use dasherized superBlock

Rather than passing around the English name (e.g. Responsive Web Design)
this uses the dasherized name everywhere. Since that is the i18n key, we
avoid needless dasherizing and nameifying.

Hey Oliver, I know this is not a part of this PR, but I am getting this error, and it has to do with this file:
https://github.com/freeCodeCamp/freeCodeCamp/pull/41067/files#diff-a7afad27efa2b193737aeab03e45f6f6dcc3d367963ea1c11bfe966630e8abd9R166

Error
Warning: Each child in a list should have a unique "key" prop.

Check the render method of `SuperBlockIntroductionPage`. See https://fb.me/react-warning-keys for more information.
    in Fragment (created by SuperBlockIntroductionPage)
    in SuperBlockIntroductionPage (created by withI18nextTranslation(SuperBlockIntroductionPage))

I can open a new PR, if this is going to be merged soon or you do not mind the conflict?

I can open a new PR, if this is going to be merged soon or you do not mind the conflict?

Not at all. I'm happy to fix any conflicts.


move cron example to camel-k-examples repo

Starting with the cron example, I'll be moving all examples from the camel-k repo to the camel-k-examples repo. For this cron example, I've added a didact tutorial. Here is the PR to add this example to the new destination
Please kindly review and let me know what changes I could make.
@Delawen @Astefanutti @squakez @oscerd

Release Note
NONE

Any reason why not to move all the examples in one shot?

To allow for each one to be reviewed before being added. I've encountered a few that no longer work and will need a few alterations. There are also some that might require me providing some context.

The failed job doesn't seem related to this, does it?
Besides that, I think this is good to merge.


Circulation pump

Sorry, this is not an ESPAltherma issue. It is just an info looking at ESPAltherma data:
Why the circulation pump is something on during the night, if the water temp is set to  off during the night?
I set the water temp from 22:00 to 6:00 at 30°, and after at 46°.
But during the night if the water temp is 40°, the circulation pump every 10 minutes goes on (but without heating the water)
is it normal?
thank you

Hi, as far as I know, this should be expexted/normal behavior. The water has to circulate. if the water temp drops under your wanted temp of 30° it would heat again. I think this behvior is mentioned in the Manuals for my Altherma.
I hope this is useful...


Import snapshot programmatically?

Is it possible to import a snapshot file programmatically when creating a new Docker container?
This would be useful to configure an instance and then export a snapshot to re-use.

@Ne0nx3r0 , that could potentially be a great addition.
I'll check it out and see what I can do.
Thanks for the feedback!

Any update about this? Maybe I can help you @pantsel because It will be a nice feature to use in my project.

Any update on this. I have been looking everywhere couldn't find anything.

+1 we really need this


Fix for inaccurate bidrectional edges on edge hover

Fix for #2341
Fixes a bug where bi-drectional arrows don't show up when mousing over the edge. Mousing over the node has always worked, but edge mouseover did not because only one edge is hover-able.

@fbarl Could you review please?

@fbarl Simplified with the approach you laid out.

Hmm okay so my original thought would be not to add a bunch of extra edges that are not bidirectional to the highlightedEdgeIds list. It would be confusing to someone looking at the state tree and seeing a bunch of edges that don't exist.

I absolutely agree the only proper way to do it would be not to include non-existent IDs there, but that's also something that could be done without bidirectionality information (if we intersect with the list of all edge IDs). That's what I plan to do in the next refactoring round by moving both highlightedEdgeIds and highlightedNodeIds into selectors.  Having EDGE_ID_SEPARATOR set to a simple dash isn't the best policy as host IDs can contain dashes, so an example edge we get looks something like:
ip-172-20-2-209;<host>-ip-172-20-1-176;<host>
Then a big mess happens when split(EDGE_ID_SEPARATOR).reverse().join(EDGE_ID_SEPARATOR) is executed on such a string. :) That resulted in this PR fix having no effect when I tested it on the Hosts topology.
A simple solution would be to set EDGE_ID_SEPARATOR to something that we can be fairly sure is never gonna be a part of a node ID. Perhaps -----? :D

Nice catch! Updated the edge ID separator to several dashes


iTerm command + left is mapped to prefix

Hi all,
I'm using Mac - iTerm2 with "natural text editing" key map, and the cmd + left arrow is mapped  to prefix (C-b) instead of actually going to the start of the line, which makes me actually type cmd + left arrow + left arrow to go to start of the line.
Changing the prefix key to C-a by adding the following lines in .tmux.conf also didn't work.
unbind-key C-b
set-option -g prefix C-a
bind-key C-a send-prefix

Is there any way around this?

Hello @talohana 👋
I'm sorry I have no idea.
Please reach out to tmux support channels. Thanks!

Also as far as C-a is concerned, the default behavior of Oh my tmux! is to use both C-b and C-a as prefix.
Finally, please do not change .tmux.conf: only override settings in your ~/.tmux.conf.local copy.

Today I played with the configuration a little more - it turns out the C-a prefix is what caused the issue, unbinding it fixed it.


Add custom collections/playlists

Describe the solution you'd like
Just as favorite is a built-in collection. It would be great if we could create custom collections. This could also be implemented by allowing us to create new tags, give us the ability to attach a tag to a media.
Describe alternatives you've considered
I currently achieve this with custom albums and copy files to it, but this is a waste of storage.

You can already tag media, either individually by going to the media Info page, or in bulk by selecting them in the Collection page and then go to the menu > Edit > Edit tags. Contrary to favorites, tags are embedded in the files, so if you sync or copy the media out of your device, the tags are not lost.


feat: Add resetPusherInstance function

Fixing issue when pusher Instance is initialized multiple times
Problem
We encountered a critical bug in the project where initializing the Pusher instance multiple times for different users led to the registration of handlers/listeners multiple times. This caused unexpected behavior and performance degradation as well as crashes on android. The root cause was the absence of a mechanism to reset the Pusher instance and clear all the previous listeners and subscribed channels when a different user logged in.
Solution
To address this issue, I've introduced a new public function named resetPusherInstance to the existing class. This function is responsible for performing the necessary cleanup tasks before initializing the Pusher instance for a new user session. Here's what the solution entails:

New Public Function: Added a new public function resetPusherInstance to the class. This function encapsulates the logic to unsubscribe from all the previously subscribed channels and remove all the listeners/handlers associated with the current Pusher instance.

Usage during User Switch: Whenever a different user logs in, the resetPusherInstance function is invoked to ensure that any previous listeners and subscriptions are removed before initializing a new Pusher instance.

Preventing Redundant Listeners: With this change, we prevent the issue of redundant listeners being registered due to multiple Pusher instance initializations.

How This Fixes the Issue
By incorporating the resetPusherInstance function into the class, we provide a reliable way to reset the Pusher instance's state and prevent the accumulation of redundant listeners and subscriptions. This ensures that each user session starts with a clean slate, mitigating the problem of multiple initialization-related bugs.
Testing
I've thoroughly tested this solution by simulating various scenarios of user logins and Pusher instance initializations. The tests demonstrate that the resetPusherInstance function effectively clears previous state and prevents the bug from occurring.
Changes Made

Added the resetPusherInstance function to the existing class.
Updated relevant documentation and comments to explain the new function and its purpose.

Impact
This contribution not only addresses the bug we encountered but also improves the overall stability and performance of the project when dealing with multiple user sessions.
Additional Notes
I'm open to feedback and suggestions for further refinement of this solution. Thank you for considering this pull request.

Thanks for the contribution.


⚠ Bofrost.de has degraded performance

In f552092, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1703 ms

Resolved: Bofrost.de performance has improved in 001a12d after 15 minutes.


Broken by server side update

Looks like Blizzard broke it for good, now getting the following when starting Hearthstone:
Closed: Hearthstone requires the Blizzard desktop app, but cannot find it. Please visit www.battle.net to re-install.
Running login again does not help, trying craft seems to also fatal with:
Region: eu
Online version: 193541_28.6.0
Installed version: 193541_28.6.0
strings: 'Hearthstone.app/Contents/Resources/Data/level0': No such file
Can not determine required Unity version!

This was such an awesome hack, but looks like game over?

I can still login and play just fine:

I can confirm it still works. The error is misleading because the script always tried to transform the installation from the macOS structure even when there is no update, this should no longer happen now.


Allow x_o=None

Adresses #191
This PR will implement a function that checks whether x_o was passed as None and if so, it will run a single simulation to infer the data dimension.
Todo:

[ ] input checks have to be able to deal with x_o=None
[ ] make an assert if x_o=None and num_rounds>1

Some development decisions (to be discussed):

why not put it into the input checks? The input checks can be skipped. But if x_o=None, we always want to run a simlation to get x.shape
why put it in inference/base.py? Because the data dimension is required by SNPE, SRE, and SNL

Closing PR because we decided to fully change how x_o is handled. Will do this on another branch and in another PR.


M_PI_4 and M_PI_2 in Swift 4

https://stackoverflow.com/questions/44424738/what-is-the-syntax-for-m-pi-4-and-m-pi-2-in-swift-3
M_PI_4 is now .pi / 4

i see


Add chainerx.ravel

Add chainerx.ravel

I have made the change.

I am fixing the cpplint error now.

@aksub99 Could you resolve conflict?

Please remove chainerx/manipulation/shape.py.

I have removed shape.py and resolved conflicts.

pfnCI, test this please.

Jenkins CI test (for commit 8fd49127210b9a89fa3dd34e5e464b8e3d2c40e5, target branch master) failed with status FAILURE.

Jenkins failure seems unrelated to this PR. LGTM.


gqrx: add wrapGAppsHook

Description of changes
Fixes saving settings on non-NixOS systems ("No GSettings schemas are
installed on the system").
Fix https://github.com/NixOS/nixpkgs/issues/173848.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@QuantMint: Can you test this please? (I'm on NixOS/Gnome, so I'm unable to reproduce the original issue.)

Result of nixpkgs-review pr 173864 run on x86_64-linux 1

3 packages built:

gqrx
gqrx-gr-audio
gqrx-portaudio

@QuantMint: Thanks for testing.


select_unlabeled_msgs appears to have a max results issue

unclear if this is an actual issue or if perhaps we were getting truncated results from API caching
closing and monitoring


Persist water target between sessions

I've made a few additions to make the water target persist. I'm not 100% sold on the changes I did on didTapReset(), but everything works as intended.

It looks fine. The only change I'd do Is to wrap all these UserDefaults touchpoints in a class and communicate between the viewModel and this wrapped UserDefaults thru a protocol, just for testing purposes. But as we don't have tests here, It's totally fine for me :)


Changed "Boarding Saved" to "draft saved" when saving a draft.

@Sheeri
If you afree with my variants of strings. You can merge this pull request
https://github.com/WildAid/o-fish-android/pull/357


Safari - Security Error with TexImage2D

Hey I've encountered this bug with latest version engine on safari web browser:

I tried to reproduce with the examples on Safari 17 but I don't see this. http://localhost:5000/index.html#/graphics/particles-spark
How do you reproduce this? What exact Safari version are you using? Does it have some side effects (textures not loading?).

Also, provide a specifics of which URL you are launching PlayCanvas application, and from which URL the texture is loaded.
As you might be missing CORS headers if you are trying to load textures cross-domain.

I did some more digging and it is a CORS issue. I'm loading my assets from the firebase. I found this on forum which is same problem I had: https://forum.playcanvas.com/t/solved-cors-error-coming-from-playcanvas-engine/27433
I thought it was an engine problem since the error was pointing to the source code.
Thanks for your help!

Thanks for the update, closing for now.


GitLink menu items no longer appearing

GitLink stopped working.
IntelliJ IDEA 2022.1.1 (Ultimate Edition)
Build #IU-221.5591.52, built on May 10, 2022
Runtime version: <IP_ADDRESS>+1-b2043.45 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.4
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 10
Non-Bundled Plugins:
org.intellij.plugins.hcl (221.5591.19)
uk.co.ben-gibson.remote.repository.mapper (4.1.1)
zielu.gittoolbox (212.8.9)
Kotlin: 221-1.6.21-release-337-IJ5591.52

Just figured it out.  N


Implemented feature #62-cursor

Implemented the cursor by injecting undefined data (not being displayed) in front of the new sample data.

Signed-off-by: Marcel Schöckel<EMAIL_ADDRESS>

If you know a way to test it please let me know. It's the same as the basic waves, we can't really test for web gl rendering or the correct data injection from inside cypress.

In #111 we had a similar issue where we don't quite know how to test plotting functionalities. I'd suggest we open up an issue that evaluates how to test those additionally to the frontend testing issue we still have in the sprint backlog. Are you fine with that?


Create Model prediction script

O/P - Confusion matrix , Classification report ,  AUC , PR graph as .csv and .png respectively.

I think #30 created by @valli180  should fix this.

Solved by #30


Resolve bind poses from FBX clusters instead of FBX poses.

See #90986 for more context.
Skeletons imported with ufbx sometimes have broken bind poses:
ufbx previous

ufbx previous bind pose

this PR (both bind pose and initial pose are the same)

Turns out this was not a bug, either in ufbx or in the Godot ufbx importer. The issue is broken data in files, the Godot ufbx importer read the bind poses from FBX Pose objects. The rest pose matrices in these were correct for most files, but they seem to be incorrect in a significant minority of files.
FBX2glTF does not attempt to import bind poses, so it avoids this problem. This PR introduces an alternative method of reading the bind pose data, and initial testing shows improved skeletons in all tested files. I'll do more rigorous testing in the background using the same process as in #90986.
One thing to consider is whether we should have an option whether to import the bind pose data or not. This would allow compatibility with FBX2glTF and allow users to hotfix potentially broken bind poses in files, though if testing indicates that the new method is fully robust, it may not be as necessary.

Ran through all the dataset files containing skeletons:
Loaded 2264 files in 598min 50s.
Processed 5.41GB at 0.15MB/s.
Ignored 0 invalid files.

After this fix there were no more obviously broken skeletons, and most seem to match FBX2glTF 100% accurately. Result categories out of 2264 files:

2135 equal: Again some with non-important material or light differences
80 with broken skinned meshes in FBX2glTF, these seem to be caused by blend shapes
25 meshes with relatively significant differences in skeletons, but this time no obvious issues. Mostly the differences are in the roll of the bones, probably caused by the bind pose data in the file.
6 files with various ufbx issues for me to look at later:

ufbx bad spine:  FBX2glTF, ufbx
ufbx missing hair and shoes: FBX2glTF, ufbx
ufbx missing spears: FBX2glTF, ufbx
ufbx missing triangle: FBX2glTF, ufbx
ufbx triangulation issue: FBX2glTF, ufbx
ufbx extra bones:  FBX2glTF, ufbx (wrist bones, the face here is the usual FBX2glTF "missing skinned mesh" issue)

Example of the extent of skeleton difference caused by loading the bind pose:
FBX2glTF

ufbx

All in all, the testing indicates that this fix seems to be robust and fixes all the significant issues encountered before, without breaking any of the previously working cases.
The roll issue and the occasional bone distortion is still significant enough, that I'd propose adding an importer option to disable attempting to import the bind pose, treating the initial pose as rest pose, like FBX2glTF does. Any thoughts?

I think we need to debate adding a new option, but we can review that in a separate pr. That means you can stack the two prs together into that pr.

We need to debate adding a new option, but that can review that in a separate pr. That means you can stack the two prs together into that pr.

Makes sense, in that case this PR is fine to merge by me!

@lyuma provided some test cases with multiple bind poses per bone.
Added explicit support for this in the form of warning the user if a bone has multiple conflicting bind pose definitions. Note that this may still mix up different bind poses for different parts of the mesh, but at least now bones do not get completely messed up and users should see a warning.
I'd still highly recommend adding a setting for disabling importing bind poses (maybe even not importing them by default), as they seem to have quite a few problems in the wild, and even this solution is a bit hacky.

I think this needs a rebase on master.

Thanks! I'll squash the commits after seeing that the CI passes etc.
Also ran through all the skeletons in my dataset (+ the entirety of the public dataset) again with the new changes. Seems like the new bind pose resolution method loads files correctly.
29 of 2636 files had multiple bind poses, and on manual review all seemed to be alright. One file had only a 4% error in bone pose, so that might have been a false positive. I just set the 1% relative error threshold arbitrarily, so could be looked into if necessary.

Thanks!


Allow to specify username and avatar for DiscordWebhookAppender

Appender Improvement
Which appender should be improved?
DiscordWebhookAppender
What should be improved?
It should be possible to configure a username and avatar for sending the messages

Support for thread_id was moved to #188


Add progress reporting and cancellation to Drop uploads

This PR refactors the Drop upload process slightly, adding progress reporting and cancellation.
Individual Uploads
This is achieved via NSProgress. The static methods inside AssetUpload.h/.m have been refactored into an AHAAssetUploading object, with the following two "public" APIs (they aren't actually exposed outside the framework):
-(AHAPromise <NSURL *> *)uploadAssetWithConfiguration:(AHAConfiguration *)configuration
                                                 type:(AHAAssetType)assetType
                                               format:(AHAAssetFormat)assetFormat
                                                 data:(NSData *)data
                                             progress:(NSProgress *__autoreleasing *)outProgress;

-(AHAPromise <NSURL *> *)uploadAttachmentWithConfiguration:(AHAConfiguration *)configuration
                                                  mimeType:(NSString *)mimeType
                                                      data:(NSData *)data
                                                  progress:(NSProgress *__autoreleasing *)outProgress;

The new item here is the outProgress parameter. When called with a non-null pointer, upon return the pointer will be filled with an NSProgress object that can be used to track the progress of the upload. Additionally, the NSProgress cancellation API can be used to cancel the upload. If you do this, the returned promise will fail with an error with the domain NSURLErrorDomain and the code NSURLErrorCancelled.
Observation of progress can be done with KVO on on the relevant NSProgress properties, such as fractionCompleted. The progress object's totalUnitCount property will be set to the size of the data being uploaded in bytes, so if multiple uploads are being performed their progress objects can be combined into a single parent NSProgress object with correct weighting etc.
Overall Progress
AHADropCoordinator now has a public dataUploadProgress property. When uploads are in progress, this will return a since NSProgress object that encapsulates the progress of all in-progress uploads. Binding the fractionCompleted property of this object to a progress bar will give an accurate progress indication of the whole set of uploads.
When the cancellable property of the progress object is YES, cancel can be called on this object to cancel all in-progress uploads.
It's important to note that dataUploadProgress will be nil until delegate deliveries of the mix stem, preview audio and attachments have completed with a non-error result. If the delegate doesn't implement some of the optional delivery methods, this is counted as a successful delivery of nothing and progress reporting will work correctly.
Therefore, it's recommended that the dataUploadProgress property be observed with KVO to be notified when upload progress has begun.

Uploading has been refactored to require less promise mapping :+1: In my tests, it appears to work just fine.


Handle multiple instances of dev phone

e.g.,
Multiple browser tabs open that are associated with different soft phones
Configurable phone numbers - can change the phone number from the soft phone UI
Example use cases include testing regions (try a UK number, then a US number, or just US numbers from different area codes), etc.

While not very approachable, it is doable today by using 2 different Twilio accounts.
Here's how I did it in case someone else needs to do it before it is officially supported:

Use twilio login to create multiple profiles, each logging into separate upgraded Twilio accounts.
Run twilio dev-phone -p YourProfileName
Run PORT=3002 twilio dev-phone -p YourOtherProfileName.

Now the Dev Phone runs on port 3001 (default) and 3002, each using a different profile (account).


10-init-users.sh: sed: can't move '/etc/group' to '/etc/group.bak': Invalid argument

Trying to deploy in portainer and container refuses to work. See below log.

Are you using the container on Proxmox in a LXC container ?

Are you using the container on Proxmox in a LXC container ?

Yes I am.

A recent Proxmox update seems that have broken something: changes inside the container are no longer allowed.  This can potentially affects any container, not just this one.
Can you share the config of your LXC container ?  I tried to reproduce on my side and was not able.
Maybe you could also try to see if you have the same issue with a new LCX container.

A recent Proxmox update seems that have broken something: changes inside the container are no longer allowed. This can potentially affects any container, not just this one.
Can you share the config of your LXC container ? I tried to reproduce on my side and was not able.
Maybe you could also try to see if you have the same issue with a new LCX container.

Here you go.
unprivileged = no
cores: 2
features: nesting=1
hostname: MOLXCDOCKER01
memory: 8192
net0: name=eth0,bridge=vmbr0,firewall=1,gw=<IP_ADDRESS>,hwaddr=56:CB:97:8D:63:03,ip=192.168.1.xxx/24,type=veth
ostype: ubuntu
rootfs: VM01:subvol-132-disk-0,size=64G
swap: 512

Did you removed apparmor to be able to run a container with this config ?

Also, were you able to test with a new LXC container to verify if you have the same issue ?

I have the exact same behaviour as @mikeyo ; my lxc-conf on a fully-updated proxmox-system
arch: amd64
cores: 4
features: mknod=1,mount=nfs,nesting=1
hostname: xy
memory: 6144
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=DA:D1:BD:18:A4:90,ip=dhcp,type=veth
ostype: archlinux
rootfs: nvmepool:subvol-102-disk-0,size=30G
swap: 1024
lxc.apparmor.profile: unconfined
lxc.cap.drop:

Thanks for the info, but now we need to know if you can reproduce after creating a new LXC container.  I cannot reproduce myself with a fresh install of Proxmox 7.3-3 (no subscription), with the same LXC container config.

It would also be useful if you could contact Proxmox support about this problem.  This issue affect any container, not only this one.  Looks like the problem occurs when modifying the content of the container.  For example, you can try the following:
docker run --rm -ti alpine:3.17 sh
mv /etc/group /etc/group.bak

Or
docker run --rm -ti ubuntu:22.04 bash
mv /etc/group /etc/group.bak

To be confirmed, but doing other kind of changes with other files should result in the same failures.

It would also be useful if you could contact Proxmox support about this problem. This issue affects any container, not only this one. Looks like the problem occurs when modifying the content of the container. For example, you can try the following:
docker run --rm -ti alpine:3.17 sh
mv /etc/group /etc/group.bak

Or
docker run --rm -ti ubuntu:22.04 bash
mv /etc/group /etc/group.bak

To be confirmed, but doing other kind of changes with other files should result in the same failures.

I can confirm that running the mv command manually produces this error on any file.
The LXC container is a new container. I created a ubuntu 22.10 template, installed docker, portainer, removed apparmor.

I made now some tests and for me the issue seems to be a combination of overlayfs with backing filesystem zfs for docker in the lxc container; As soon as I installed fuse-overlayfs, added "storage-driver": "fuse-overlayfs" to /etc/docker/daemon.json, restarted docker and recreated the container, the error has been gone and I also do not see the issue @jlesage  posted (simple example to mv /etc/group) any longer. So there is in fact no issue at all with your container. Thx again for you work!

Thanks!
also followed this steps: (for future reference)
set/check containter features:
Nesting: true
FUSE: true
https://github.com/containers/fuse-overlayfs/releases
Download the "fuse-overlayfs-x86_64" file, move to "/usr/local/bin/fuse-overlayfs" and make it executable.
chmod +x /usr/local/bin/fuse-overlayfs
https://c-goes.github.io/posts/proxmox-lxc-docker-fuse-overlayfs/
https://forum.proxmox.com/threads/lxc-with-nested-docker-overlayfs-upper-fs-missing-required-features.102362/

for me this procedure worked and i'm able to replicate it:
enable keyctl, nesting, fuse on lxc container, then reboot lxc.
mkdir /etc/docker
nano /etc/docker/daemon.json
{
  "storage-driver": "fuse-overlayfs"
} <- put this inside the new file daemon.json
apt install fuse-overlayfs
fuse-overlayfs --version
reboot lxc or reload docker service
docker info if you see Storage Driver: fuse-overlayfs is done..

There is an easy solution for this.
Simply make an ext4 storage for your docker lxc containers. Learned this the hard way long ago.
That issue happens, because overlay2 on zfs doesn't support "RENAME_WHITEOUT"
If you guys simply look into your proxmox dmesg, you'll see that.
BUT!
Things are slowly changing, a year ago, overlay2 on zfs didn't worked at all.
Since some moths, 5 or 6, overlay2 got a lot improvements, so basically 90% works on zfs.
As far as i see only "rename_whiteout" needs to be implemented, and xino has some issues. (xino isn't correctly working on ext4 either)
About the docker workaround:
I myself left some space during proxmox install, then added a new partition with gdisk, formatted it with ext4 and mounted it inside proxmox as directory.
But as you can't shrink a zfs volume (or you can, but its hard + you need a spare drive), there is an easier solution:

Create a zvol device (set the size as you need):
zfs create -V 50gb YOURTANK/dockervol

Format as ext4:
mkfs.ext4 /dev/zvol/YOURTANK/dockervol

mount that somewhere, you can do it permanently with fstab:
/dev/zvol/YOURTANK/dockervol /dockervol ext4 defaults 0 0

4 Now you have 2 Options.
1 - Either you mount that directory inside LXC directly:
mp0: /dockervol,mp=/var/lib/docker,replicate=0
2 - Or you add that mountpoint as a Directory in the Proxmox Gui:
Datacenter -> Storage -> Add -> Directory -> Content: Disk Image, Container
And you move simply your LXC Disk onto that "Storage"
If you run just 1 lxc docker container,i would recommend 1.
If you have already a working docker container, and you're too lazy to rsync "/var/lib/docker" onto the new mountpoint, or you have multiple docker containers, then i would do 2.
There are no benefits or downsides, if you do just the mountpoint, you simply save a bit space. Moving the whole lxc disk to that ext4 storage just takes up more space, thats all..
If you want to delete that zvol, because you don't need it or whatever:
zfs destroy YOURTANK/dockervol
Cheers

hi @Ramalama2. Thanks for the great idea of reformatting a ZFS dataset to ext4 which I didn't even think of before. However, in my case even after mounting that volume as ext4 to a folder, docker still fails to start with the same error sed: cannot rename /etc/group: Invalid argument.
$ cat docker-compose.yaml

version: '3'

services:
  baidunetdisk:
    image: johngong/baidunetdisk:latest
    container_name: baidunetdisk
    ports:
      - "5800:5800"
      - "5900:5900"
    volumes:
      - /dockervol:/config
    # restart: unless-stopped

And the info about that folder is:
root@pve:~/docker/baidu_net_disk#
fdisk /dev/zd176

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The device contains 'ext4' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

And dmesg still shows a lot of [100403.988551] overlayfs: upper fs does not support RENAME_WHITEOUT.. Any idea what might be wrong? Thanks!

A bit late reply, didn't checked github for a long time.
It looks for me like /var/lib/docker still runs on an zfs volume.
Rarely but sometimes i had even the case, that i had to reinstall the container on the new ext4 volume, means recreating the container from scratch and install docker inside etc...
I don't know why it sometimes doesn't work with simply moving the container to the new ext4 dataset, but yeah.
However, if it still won't work for you, there isn't much time left, till proxmox releases v8.1 with zfs2.2 and a newer kernel, that will definitively fix the docker issues, since zfs2.2 supports natively RENAME_WHITEOUT.

Cheers

I can gladly confirm this issue has been fixed after upgraden to Proxmox 8.1 :)

Great, thanks for the update !

Great, thanks for the update !

Oh yes sorry, i forgot about this issue thread either. Feel free to Close @jlesage
Things will only get better as Proxmox Progresses, or more specific with ZFS Updates.
There is still 1/2 issues because zfs doesn't suppport ALL overlay2 features, only 99% but jdownloader2 at least works without issues.
Cheers

I encountered same error with @jlesage mkvtoolnix. Here I have 2 drive mirror ZFS pool for Docker under OMV(openmediavault). So cause for all of this is ZFS? Just as I got interested on it.

I encountered same error with @jlesage mkvtoolnix. Here I have 2 drive mirror ZFS pool for Docker under OMV(openmediavault). So cause for all of this is ZFS? Just as I got interested on it.

yes, zfs prior to 2.2 didn't supported RENAME_WHITEOUT, overlay2 relies on it, and thats the default docker container fs.
has nothing todo with proxmox itself, same will happen on any other os that uses zfs prior to 2.2

I encountered same error with @jlesage mkvtoolnix. Here I have 2 drive mirror ZFS pool for Docker under OMV(openmediavault). So cause for all of this is ZFS? Just as I got interested on it.

yes, zfs prior to 2.2 didn't supported RENAME_WHITEOUT, overlay2 relies on it, and thats the default docker container fs. has nothing todo with proxmox itself, same will happen on any other os that uses zfs prior to 2.2

So I should check that zfs plugin for for OMV is prior to 2.2 and then all I can do is wait for them to update to 2.2 or newer?


[FORGE] Compatibility issue with Hardcore Revival

versions:
forge 36.0.43
HardcoreRevival_1.16.3-5.2.0
damage-tint-forge-1.16.5-1.0.1
I'll post an issue in both repositories:
The screen turns weird and black instead of showing your surroundings:

Looks like the mod author got it fixed, thanks for reporting though https://github.com/blay09/HardcoreRevival/commit/853b4c67c7bde3dacbb4b97c5a8bce2934a4078d


Laravel 5.3.15 with Passport creates a new session record on logout

Laravel Version: 5.3.15
PHP Version: 7.0.2
Database Driver & Version: Mysql

Description:
I've done a fresh install of laravel 5.3.15 and instead of using postman I've went ahead and attempted to interact with my server through chrome. I'm not exactly sure why but I feel that this is definitely something that shouldn't be happening by design.
I've configured everything so that the sessions are stored in the database, not in the file. Every time I login to the application a new session record gets generated in the database as expected. When I logout though, the old sessions user_id field is set to null. Then, if I log back into the server under the same user_id a new record will populate in the database. This, to me seems like a very very bad thing as if a person makes a robot to login and out on the same or multiple accounts multiple times over the course of a month, it will flood the session table will multiple records. Again, I'm not sure if this is by design or not but If anyone can provide me with some justification/guidance for this functionality or address this as an actual problem this would be most helpful.
Thank you in advance!
Below are steps to reproduce.
Steps To Reproduce:
Step 1:
Below shows the database empty before logging into the application

Step 2:
Below is the image showing the Frontend's Cookie list as empty before logging in

Step 3:
After selecting the Login option this is what populates in the database

Step 4:
After selecting the login option this is what populates in the cookies list on the front-end

Step 5:
After entering in the user credentials and logging in the backend database session table looks like this

After entering in the user credentials and logging in, the frontend will have the following

Step 6:
After selecting the logout button the database then looks something like this

Step 7:
After selecting the login button the front-end, a second time, will look similar to before

Step 8:
After logging in the front-end, a second time, will have something like this

And the database will have something like this.

After doing some investigating, there is a line of code in the logout function that is suppose to handle regeneration of ids and encryption. However, it causes new records to be inserted within the sessions table. Commenting out this line still allows the id and the payload encryption to get regenerated appropriately, but I'm currently unsure if the payload remains persistent during the time a user is "logged off" of that specific session.
Illuminate\Foundation\Auth\AuthenticatesUsers.php
/**
* Log the user out of the application.
*
* @param  Request  $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
$this->guard()->logout();
    $request->session()->flush();

    //$request->session()->regenerate(); <-- Comment out this line.

    return redirect('/');
}


[FEATURE] Create keyword translator function that takes tcpb-specific keywords and translates them to the JobInput object

I started doing this for the imd_orbinal_type keyword for Umberto's Molden file thing.
Ultimate solution should probably be a function the recursively looks up all fields on JobOutput object (recursively so that it dives into Enum fields) and then .pop()'s those items out of the keywords dictionary so that only non-protocol buffer specific keywords remain to place into the user_options field.

Closed by #23 . No need to support all JobInput values as specific keywords because many are IMD specific or not relevant for the QCSchema interface. Instead am using the mo_output keyword to specify when molecular orbital information is required, rather than giving direct access to fields like imd_orbital_type that users are unlikely to be able to guess.


Improve the equation editor's trash bin functionality

It currently only triggers when the mouse pointer hovers the icon.

When would you like it to trigger?

When the symbol's bounding box overlaps the trash bin icon would be nice.


Add user to roster

Add ability to tell Ludolph to add user to his roster list. Only admin should be able to add users.

Current state of user subscription management has been described in wiki.
This bug will update the functionality and add ability to manage JIDs not from config file but from the roster. What needs to be done:

Add ability to deny user 'subscribe' request by default (new config option)
Update command wrapper not check USERS list, but check if user is in roster instead
Add command to add JID to roster

Possible scenarios after implementation:

auto_authorize = True, users list is empty: All users can 'subscribe'
auto_authorize = True, users list is defined: Only users from list can 'subscribe'
auto_authorize = False, users list is empty: No users can 'subscribe'
auto_authorize = False, users list is defined: No users can 'subscribe'

This is initial concept of the change... Main benefit is to maintain user roster from Ludolph instead of config (eg. admn doesnt have to have ssh access to server), and adding new users wont require to restart the bot. The question is isnt security risk to trust the server roster, rather than local config file?

User management should use persistent DB to store users that could be in roster.
Have look at XEP-0133: Service Administration and possibly implement when admin add uer to server can be added to ludolph's roster...

It turns out that the current user management (via the config file) is sufficient for most of the use cases. Please re-open this issue with a real-life use case.


Fixed non compiling code using Visual Studio 2019

There were missing include statements in the medida repository. This leaded to code not being compiled.
It was pure luck that the code compiled with the GNU compiler and previous versions of the Microsoft compiler. For example include file 'functional' included 'array', 'array' included 'stdexcept' and 'stdexcept' included 'string'. In the lastest version of the Microsoft compiler this is not anymore the case.
We should directly declare the include files where we depend on and not rely on indirectly declared dependencies.

thank you!


Migrate away from bower...

The postinstall step fails for me frequently with errors like:

<EMAIL_ADDRESS>postinstall /Users/duhrer/Source/lpiano/node_modules/sisiliano
node node_modules/bower/bin/bower install && grunt build

module.js:471
throw err;
^
Error: Cannot find module '/Users/duhrer/Source/lpiano/node_modules/sisiliano/node_modules/bower/bin/bower'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3

It seems like a good time to migrate away from using two package managers, and to just use npm for everything.   I'm happy to prepare a PR that does this.

Sure @the-t-in-rtf ......... you are welcome....
It's better to have one package manager...


Fix xml renderer

The xml renderer was always left behind in the past and sometimes has errors (such as this undefined symbol render)
Maybe in the future the html renderer can also inherit from the xml renderer and some parts can be moved.

Maybe in the future the html renderer can also inherit from the xml renderer and some parts can be moved.

I see this as part of #1071 and would generally advise to drop the renderer entirely for now, and re-implement it later on demand using a master renderer constructing JSON-serializable objects which simply is dumped to the specific target format, like JSON/MsgPack or even XML.


[Bug]: Benchmark tool raises exception

Describe the bug
I'm trying to use the benchmark script but it results in the error below.
Dataset
N/A
Model
N/A
Steps to reproduce the behavior
I'm running the benchmark notebook from this repo, but it seems to be outdated because I had to add !pip install -r requirements/loggers.txt and use the config from the tutorial in the docs.
OS information
I'm using Colab with the following:

OS: Ubuntu 20.04.5 LTS
Python version: 3.10.11
Anomalib version: 1.0.0dev
PyTorch version: 2.0.1+cu118
CUDA/cuDNN version: 11.8
GPU models and configuration: 1x Tesla T4

Expected behavior
No errors.
Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
No response
Configuration YAML
seed: 42
compute_openvino: false
hardware:
  - gpu
writer:
  - tensorboard
grid_search:
  dataset:
    name: hazelnut
    format: folder
    path: /content/anomalib/datasets/hazelnut_toy
    normal_dir: good # name of the folder containing normal images.
    abnormal_dir: colour # name of the folder containing abnormal images.
    normal_test_dir: null
    task: segmentation # classification or segmentation
    mask: /content/anomalib/datasets/hazelnut_toy/mask/colour
    extensions: .jpg
    split_ratio: 0.2
    category:
      - colour
      - crack
    image_size: [128, 256]
  model_name:
    - padim
    - stfpm

Logs
2023-05-26 12:22:47.200570: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-05-26 12:22:48.684323: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Benchmarking started 🏃♂. This will take a while ⏲ depending on your configuration.
2023-05-26 12:22:58.393493: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Global seed set to 42
2023-05-26 12:23:00,660 - anomalib.data - INFO - Loading the datamodule
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/content/anomalib/tools/benchmarking/benchmark.py", line 69, in wrapper
    value = func(*args, **kwargs)
  File "/content/anomalib/tools/benchmarking/benchmark.py", line 92, in get_single_model_metrics
    datamodule = get_datamodule(model_config)
  File "/usr/local/lib/python3.10/dist-packages/anomalib/data/__init__.py", line 117, in get_datamodule
    root=config.dataset.root,
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/dictconfig.py", line 355, in __getattr__
    self._format_and_raise(
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/base.py", line 231, in _format_and_raise
    format_and_raise(
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/_utils.py", line 899, in format_and_raise
    _raise(ex, cause)
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/_utils.py", line 797, in _raise
    raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/dictconfig.py", line 351, in __getattr__
    return self._get_impl(
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/dictconfig.py", line 442, in _get_impl
    node = self._get_child(
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/basecontainer.py", line 73, in _get_child
    child = self._get_node(
  File "/usr/local/lib/python3.10/dist-packages/omegaconf/dictconfig.py", line 480, in _get_node
    raise ConfigKeyError(f"Missing key {key!s}")
omegaconf.errors.ConfigAttributeError: Missing key root
    full_key: dataset.root
    object_type=dict

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/content/anomalib/tools/benchmarking/benchmark.py", line 170, in compute_on_gpu
    model_metrics = sweep(run_config, device, seed, compute_openvino)
  File "/content/anomalib/tools/benchmarking/benchmark.py", line 285, in sweep
    model_metrics = get_single_model_metrics(model_config=model_config, openvino_metrics=convert_openvino)
  File "/content/anomalib/tools/benchmarking/benchmark.py", line 71, in wrapper
    raise Exception(buf.getvalue()) from exp
Exception
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 201, in distribute_over_gpus
    job.result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 315, in <module>
    distribute(_sweep_config)
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 232, in distribute
    distribute_over_gpus(config, folder=runs_folder)
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 203, in distribute_over_gpus
    raise Exception(f"Error occurred while computing benchmark on GPU {job}") from exc
Exception: Error occurred while computing benchmark on GPU <Future at 0x7f2c088a4d90 state=finished raised Exception>

Code of Conduct

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

Hi :)
if I look at the newer benchmarking notebook  in the repo it looks like one of the dataset keywords changed from path to root:
folder_padim = """
dataset:
  name: hazelnut
  format: folder
  path: /content/anomalib/datasets/hazelnut_toy

from omegaconf import OmegaConf

dataset_configuration_str = f"""
  name: hazelnut
  format: folder
  root: {str(root_directory / "datasets" / "hazelnut_toy")}

does it help if you change it accordingly?

Another problem is the docs say:

By default, compute_openvino is set to False to support instances where OpenVINO requirements are not installed in the environment

But if you don't install it you get
Traceback (most recent call last):
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 30, in <module>
    from anomalib.deploy import export
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/__init__.py", line 7, in <module>
    from .inferencers import Inferencer, OpenVINOInferencer, TorchInferencer
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/inferencers/__init__.py", line 7, in <module>
    from .openvino_inferencer import OpenVINOInferencer
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/inferencers/openvino_inferencer.py", line 24, in <module>
    raise ImportError("OpenVINO is not installed. Please install OpenVINO to use OpenVINOInferencer.")
ImportError: OpenVINO is not installed. Please install OpenVINO to use OpenVINOInferencer.

even if compute_openvino: false in the config.

Hi :)
if I look at the newer benchmarking notebook  in the repo it looks like one of the dataset keywords changed from path to root:
folder_padim = """
dataset:
  name: hazelnut
  format: folder
  path: /content/anomalib/datasets/hazelnut_toy

from omegaconf import OmegaConf

dataset_configuration_str = f"""
  name: hazelnut
  format: folder
  root: {str(root_directory / "datasets" / "hazelnut_toy")}

does it help if you change it accordingly?

I had to also change mask to mask_dir to get something running, but it seems to totally ignore the custom dataset and instead uses the default in the model config, indeed at the end I get a results folder for mvtec bottle which is the default in padim config.
My guess is that in the model default config they use dataset.path while in the benchmark config they use dataset.root so it's not overwritten correctly.
Also it terminates early with an error

Traceback (most recent call last):
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 315, in <module>
    distribute(_sweep_config)
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 232, in distribute
    distribute_over_gpus(config, folder=runs_folder)
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 203, in distribute_over_gpus
    raise Exception(f"Error occurred while computing benchmark on GPU {job}") from exc
Exception: Error occurred while computing benchmark on GPU <Future at 0x7ff326a32770 state=finished raised Exception>

So probably the whole benchmark script is to be updated for the latest changes.

Another problem is the docs say:

By default, compute_openvino is set to False to support instances where OpenVINO requirements are not installed in the environment

But if you don't install it you get
Traceback (most recent call last):
  File "/content/anomalib/./tools/benchmarking/benchmark.py", line 30, in <module>
    from anomalib.deploy import export
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/__init__.py", line 7, in <module>
    from .inferencers import Inferencer, OpenVINOInferencer, TorchInferencer
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/inferencers/__init__.py", line 7, in <module>
    from .openvino_inferencer import OpenVINOInferencer
  File "/usr/local/lib/python3.10/dist-packages/anomalib/deploy/inferencers/openvino_inferencer.py", line 24, in <module>
    raise ImportError("OpenVINO is not installed. Please install OpenVINO to use OpenVINOInferencer.")
ImportError: OpenVINO is not installed. Please install OpenVINO to use OpenVINOInferencer.

even if compute_openvino: false in the config.

@marcodiri, regarding your OpenVINO issue, PR #1182 addressed this. Rather than throwing import error, it only throws a warning message.

For the rest of the stuff, we are working on a new benchmarking script that we would like to release in v1.1.0


Add more folder icons.

Relates to #650
Changes proposed:

[x] Add

List of added folder icons:

bin
.composer
config
docker
gcp (google cloud platform)
lib
log
php
ts (typescript)
.vagrant
.vscode-test

haha, true. That would be the only reason that I would learn Spanish 😄

@robertohuertasm You already know that I'm fan of blaugrana.  🙌 :tada:


Change default behaviour for utter_restart if it is not defined

Currently, if the bot is restarted and the bot doesn't have an utterance template for utter_restarted - the bot will utter something to the user like "Undefined utter template <utter_restarted>."
Instead, the bot should just not send any message to the user.

So how can I avoid this message: "Undefined utter template <utter_restart>." In my stories I haven't used utter_restart, I have used action_restart. But the message appers and Im not sure if the dialogue was restarted or it wasn't.

it was restarted -- you can define the template utter_restart in your domain file and that message will be sent instead

Thanks so much @akelad . Now it works as I need to.

@akelad @tmbo Is there any way to silently end the conversation? i.e without keeping utter_restart template message in domain.yml and just keeping action_restart at the end of each story.
Alternatively, Can I achieve the same by keeping augmentation_factor=0?
PS: This will be useful when a particular flow is ended for e.g successfully fetching details or when user say goodbye.

This should be possible with 0.11 if you don't define an utter_restart template

@akelad Is there any option to do in 0.13.x?
Can you also tell me difference and similarity between utter_restart/action_restart and augmentation_factor? I couldn't understand clear difference.

0.13.x is the NLU version. The latest Core version is 0.11
utter_restart is the template, whereas action_restart is the action that actually restarts the conversation, and calls the utter_restart template.
augmentation_factor doesn't relate to this, it's something used during training to augment your training data


Dell R720XD connect error

Unable connect to ipmi whatever i change,using ipmitool lanplus testing connection is ok (not inside hass)
HASS is installed at windows server os in hyper-v

@ChenSV-github You should install this addon https://github.com/ateodorescu/home-assistant-addons/tree/main/ipmi-server
Without the addon the integration won't work.


How do I correctly configure my Product Catalog?

I am a bit confused.
I am configuring my Catalog with CMS. I have my root object, and then my sub pages. All of them have "Catalog List" selected as their "Application". But in my Catalog, I always see all the products, there are no filters applied ... I also see no errors, this is a bit confusing for me.

When I add or change the cms I get site-packages/cms/plugin_base.py:286: DontUsePageAttributeWarning: Don't use the page attribute on CMSPlugins! CMSPlugins are not guaranteed to have a page associated with them!   page=obj.page
And as I have a look at my categories the CatalogList still does not filter my products to their assigned CMSPages. Could it be, that this warning is indicating, that my CMSPages are not working properly?

You should only add the "Catalog List" as CMSApp to pages, which actually need to render a list view of products. This also handles the routing of the product's detail view.

Could it be, that this warning is indicating, that my CMSPages are not working properly?

No, that warning originates from the CMS itself. If a plugin isn't associated with a page, for example in the clipboard, then the obj.page attribute is None. There is nothing special about this.

So that I get it right: I have a "catalog" CMS-page, which is configured as a "Catalog List" and my categories, which are sub-CMS-pages also have to have "Catalog List".
Then my product, which should be displayed in my "catalog" and my category does have both CMS-pages assigned in their configuration?
When I configure it that way, I always get all products in my "catalog" and my subcategory

all four "categories" (Catalog, Smart Cards, Earphones, Smartphones) which actually are CMS-pages) have the "Catalog List" app assigned to them.

Then we can assign each product to one or more of those categories / CMS-pages:

Thanks :-)


chore(avro): bump version

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

PR was merged, not sure why this wasn't closed

https://github.com/datahub-project/datahub/commit/b5e0833a6f7de076c7bbc0a734f7b11a8c824dde


Stop backporting fixes / features for unsupported versions (e.g. 1.6)

Currently, Django 1.6 has reached end of life.
Should we not create a Django 1.6 branch of CleanerVersion and let it rest in peace?
This would also mean:

documenting what version of CleanerVersion works with what release of Django
removing 1.6 dependant code from CleanerVersion to ease development going further
removing 1.6 from the Travis test environments

Soon enough (early 2016) Django 1.7 will reach end of life;
I'm suggesting this to avoid, as much as possible, if VERSION >= clauses littering the code, and to let code take advantage of new Django APIs without worrying about unsupported Django versions.  It also creates a burden on developers if all Django versions since 1.6 must be supported; this burden increases with every release.

@boydjohnson this might be an interesting subject for you?  You asked about continuing 1.6 support at some point.

@brki It is totally fine for me to not have 1.6 support. I had wondered in the past since Django had stopped 1.6 support if it would be a good idea to stop 1.6 support with CleanerVersion.

I agree with @boydjohnson -- there is no need to support Django 1.6 any longer especially since it appears the release cycle of Django will be increasing to a faster pace . We should document what was the last version number of CleanerVersion that supported 1.6 for those still using 1.6 (so they don't upgrade by accident).

TODO: create cleanerversion-django1.6 and cleanerversion-django1.7 branches, and cleanup old code branches that support those versions.

With the latest PRs addressing Django 1.9 and up, I think we can close this issue. Historic versions of CleanerVersion are tracked using the DJANGO_* branches, indicating the compatibility.


How to visualize

Hi, I am new to molecular docking, and uni-dock works so nicely. Thanks for the great work!
My question is how we usually visualize the input and results in 3D. Is there any good tool or tutorial you may suggest? Ideally it can be some python packages.

I'm glad you find Uni-Dock helpful!
For visualizing the input and results in 3D, there are several tools and Python packages available. Here are a few popular ones:

PyMOL: PyMOL is a widely used molecular visualization tool that can be extended with Python scripting. You can find tutorials and documentation on their official website: https://pymol.org/2/
PyMOL can be installed using conda:

conda install -c conda-forge pymol

NGLview: NGLview is a Python package that allows you to visualize molecular structures and trajectories in Jupyter notebooks. It is an IPython widget that uses the NGL WebGL-based molecular viewer. You can find more information and examples in their GitHub repository: https://github.com/nglviewer/nglview
NGLview can be installed using conda:

conda install -c conda-forge nglview

Happy visualizing!

Thank you so much! This is super helpful. BTW, if not limited to python, is there any other tool you would suggest as a better choice? Or you would think PyMOL would be the go-to option?

PyMOL is indeed a popular and powerful tool for working with molecular structures, and it's widely used in the scientific community. However, there are also other tools that you might consider like VMD (https://www.ks.uiuc.edu/Research/vmd/).
Especially, I would like to recommend Mol* Viewer (https://molstar.org/viewer/), a web-based Software-as-a-Service (SaaS) tool for molecular visualization. As a web-based tool, Mol* Viewer requires no installation and can be accessed from any device with an internet connection, providing a convenient and flexible solution for your molecular visualization needs.


Is there a code for FEAR-M and FEAR-XL ?

Hi
We plan to release it soon. If you need to get it sooner, you can manually add FEAR-M (ResNet) and FEAR-XL (RegNet) encoder here


Add studies.json created from studies.tsv

See https://github.com/IDR/idr-gallery/pull/2#discussion_r826955759
This is one option to publish studies from https://idr.openmicroscopy.org/about/studies.json instead of loading the .tsv from github.
This uses a custom template to map from .tsv to create a .json file.
NB: some values were missing from number columns, so these columns have to be treated as strings.
e.g.  'Acquisitions' missing from `'idr0028-pascualvargas-rhogtpases', 'idr0045-reichmann-zygotespindle' & 'idr0069-caldera-perturbome'.
cc @sbesson

Closing this for now, as the current github solution is working OK (and we have fallback in place if it fails).


How to install without composer?

For various reasons, we need to include the files without Composer etc. Just the code. Simple PHP. Where can I find the docs on how to just copy a folder, and include/require the right files? Not vendor/autoload.php but some actual file in the src. Thanks!

Hi!
Installing without Composer isn't "officially" supported, but if wanna do it anyway you'll need to include every file in the src folder. Don't forget cacert.pem, just put that in the same folder as the rest and everything should work.

I did it this way:
A folder called "spotify" containing the includes and cacert.pem.
Referring to them via:
require 'spotify/SpotifyWebAPI.php';
require 'spotify/SpotifyWebAPIException.php';
require 'spotify/Request.php';
require 'spotify/Session.php';