issue #584: do not mutate route.path

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling a649443e0ea9e3e2e94828d0da5986965f3b6cab on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling bb439dc068d7d38e143e1e148e42f4a808d9970c on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2b11193c33dc6c00dee3f4d80e3c587c2490042b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 96de759869f811384adcd2c2179860460b03531b on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.

Coverage increased (+2.6%) to 100.0% when pulling 2fc603df805b6e6ed7134dd175c352b32b4781ce on LeFnord:master into 6fc47e032a8caedf7daef35283898d39a9e2837f on ruby-grape:master.


Cannot create S3 Bucket with Pulumi

Hi @yomovh,
thanks for your example on creating S3 buckets in OVH public cloud with terraform. I'm trying to create an S3 bucket with the current AWS Classic Provider (6.34.1) which is generated from the default AWS Terraform Provider (5.48.0). Your example works like a charm, however my attempt fails with the following error message:
error getting S3 Bucket request payment: NotImplemented: The requested resource is not implemented
status code: 501, request id: txd61b8392442e4c858b8dd-0066420942, host id: txd61b8392442e4c858b8dd-0066420942

The problem seems to occur here when the underlying terraform provider wants to fetch the current request payment field. This API seems not to be supported at OVH.
Is there any way to skip the part as I'm personally not interested in this information? Currently, the AWS provider for OVH isn't usable at all because the error fails the whole deployment.
Thanks in advance!
PS: This is my Pulumi AWS provider config:
aws:region: de
aws:accessKey: <REDACTED>
aws:secretKey: <REDACTED>
aws:skipCredentialsValidation: true
aws:skipRequestingAccountId: true
aws:skipRegionValidation: true
aws:skipMetadataApiCheck: true
aws:endpoints:
  - s3: https://s3.de.io.cloud.ovh.net

And the piece of code creating the bucket:
import * as aws from '@pulumi/aws';

new aws.s3.Bucket(name, {
  acl: aws.s3.CannedAcl.Private
}, { parent: this });

HI @yomovh,
are you responding to PRs on this repository, or should we create a support ticket at OVH instead? We're premium support customers, hence the question. :)
Kind regards
David

Hello,
Sorry I missed the notification.
I tested the S3 bucket example with
❯ tofu -version
OpenTofu v1.7.0
on darwin_arm64
+ provider registry.opentofu.org/hashicorp/aws v5.54.1
+ provider registry.opentofu.org/ovh/ovh v0.45.0

and it is running fine. The warning seems to be expected since we are not using the provider with aws.
aws_s3_bucket.b: Creating...
aws_s3_bucket.b: Creation complete after 2s [id=redacted-tf-s3-bucket-only]
aws_s3_bucket_server_side_encryption_configuration.example: Creating...
aws_s3_bucket_server_side_encryption_configuration.example: Creation complete after 0s [id=165dd794b8cb4c97826ccb95602376a8-tf-s3-bucket-only]
╷
│ Warning: AWS account ID not found for provider
│
│   with provider["registry.opentofu.org/hashicorp/aws"],
│   on s3_bucket_only.tf line 61, in provider "aws":
│   61: provider "aws" {
│
│ See https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_requesting_account_id for implications.
│
│ (and one more similar warning elsewhere)
╵

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

Outputs:

access_key = "REDACTED "
secret_key = <sensitive>

I do not know pulumi. Can you upgrade the aws provider version to the same one ?

The problem is fixed when using the aws.s3.BucketV2 resource with pulumi and recent providers. Thanks!


Import all servers as env

Import all servers defined in the OpenApi 3.0 files as Environments.

Closes #2911

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I've just rebased it and accepted the license.
Hope it is still good for you

Thanks for rebasing @sixdouglas! Thanks for raising the PR as well, we're a little bogged down at the moment but will make sure it gets reviewed in time. 🤗

Closed as stale.


HA OS 2024.1 breaks the integration.  Fails to load.  Log says requirements not met

HA OS 2024.1 breaks the integration.  Fails to load.  Log says requirements not met

Dupe of #18


Growing disk usage

Something is wrong with the disk usage. I checked the size of the .ilxd folder on my local node and it was 283 mb. Given that the alphanet only has like 80 blocks it should only be around 1 mb.
Further, it looks like disk usage increases every time the node is shutdown even when no new blocks are produced.
I suspect this is libp2p doing this though the only place it could be would be the peerstore. It's currently configured to use a persistent peerstore rather than an in-memory one so that peers are saved to disk to make it less reliant on the seed peers at startup.
There seems to be a correlation between peer connect/disconnects and disk usage, but it's very strange that it would consume so much disk. Unless it's the metrics being written to disk then it would make sense.

I suspect this is the case. Switching to an in-memory peerstore doesn't seem to grow disk space.

Best guess is by default the garbage collector only runs every two hours. If you don't keep your node up for at least two hours then it will never run and you'll have unbounded disk usage. I usually don't keep my local node running and that was likely what was going on.
 Not sure what a sane value would be.
It would be nice if libp2p provided a function to trigger the gc then we could do it on close but it doesn't appear to be possible.

They are deprecating the peerstoreds. I think that's probably a mistake as this leaves the only way to connect to the network through seed nodes.
We probably want to look into making our own peerstore implementation with some caching of addresses.


Create SCOPE.md

As I understand from arc42 the scope there refers to system scope for the architecture (as I understand it), and I'm not sure that the scope point about which usecases we take in the beginning really fits into that (or within the context).
I'm happy to be convinced otherwise though, I just don't want to confuse those arc42 bits with this other seemingly more odd scope point.

As I understand from arc42 the scope there refers to system scope for the architecture (as I understand it), and I'm not sure that the scope point about which usecases we take in the beginning really fits into that (or within the context).
I'm happy to be convinced otherwise though, I just don't want to confuse those arc42 bits with this other seemingly more odd scope point.

hmm ok, so maybe we shouldn't name this one scope but rather just "Use cases" as arc42 does not have that concept?

hmm ok, so maybe we shouldn't name this one scope but rather just "Use cases" as arc42 does not have that concept?

Sounds sane to me :)
Should I try ad slot it into the ordered markdown files with a number?

I think what makes this confusing is that it's not actual documentation content, but meta information about the documentation process, right? How about adding a meta/ folder with a README.md that says "This is where we record (temporary) decisions we made while documenting things". We could even call them ADDR documents, Architecture Documentation Decision Records :D

I also like that idea!


⚠ Processors has degraded performance

In 9bd64a0, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 75 ms

Resolved: Processors performance has improved in abb3fa5.


sdist for 0.7.0 is missing from PyPI

Currently the 0.7.0 release on PyPI is missing the sdist/zip artifact.

This is obsolete and fixed now.


Unable to generate new certificate

{ type: 'urn:acme:error:malformed',
detail: 'Parse error reading JWS',
status: 400 }

Hmmm.... OS? node.js version?
I've only seen that (or perhaps another error about JWS) back when I was testing rsa-compat before merging it into the master branch of le-acme-core (previously letiny-core). It was due to the private key not matching the account.
Originally I had a bug where the private key conversion JWK <--> B64 corrupted the key, but I'm fairly certain none of that code ever made it to npm and it was a solid week ago.

Node.js 6.1/CentOS7 via NVM. It was kinda critical for me to fix it and after removing all node-letsencrypt data, a new cert was issued and problem disappeared.

Sounds like a corrupt key file.
Well, I'm almost done testing the new letsencrypt-express and have fixed several minor bugs (mostly Windows and node v4.x) in the various other libraries (file path issues, Buffer.from, etc). This is about to go from being the repository that I'm always afraid to look at the issues for to something that I'm actually proud of.
So close...

Sounds good man. Looking forward to testing it!

letsencrypt-express v2.0.0 is finally published (based on node-letsencrypt v2.1.0).
I just published and tested right before that I can retrieve new certificates and also that renewals take place when the appropriate time comes. I did find, however, that I had a bug in letsencrypt-cluster where I was calling the wrong method for renewals, so I need to go back and fix that.
I could really use your help implementing https://github.com/Daplie/le-store-sql
I just added tests.


feat(cosmiconfig): Enable cli run from anywhere

Description
Bruno's cli is a great tool for quickly dispatching requests from the terminal. As a bruno cli user, I want to be able to run the command from any directory, supplying a relative bru file path, and have that request dispatch as though the command was run within it's containing collection.

Adds cosmiconfig to quickly/easily resolve the bruno.json relative to the input filename.
Make some adjustments to related variables to use new config/paths

Contribution Checklist:

[X] The pull request only addresses one issue or adds one feature.
[X] The pull request does not introduce any breaking changes
[ ] I have added screenshots or gifs to help explain the change if applicable.
[X] I have read the contribution guidelines.
[X] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

Okay, here's a couple screenshots from my cli. The first shot shows running commands in a couple directories, and the errors displayed.

The second shows where I link the dev module and then run similar commands (from differing directories), showing things working.

This would be helpful for continuous integration.
Any chance it can be integrated (or a similar feature ?) @helloanoop
Thanks in advance


error: 'nixinate' is not a valid system type

When running nix flake check, it complains about nixinate not being a valid system type
❯ nix flake check
error: 'nixinate' is not a valid system type, at /nix/store/n3gxibvxm0i4zkdb5s6dkalwsyr5qni6-source/flake.nix:46:14
(use '--show-trace' to show detailed location information)

The apps attribute of the flake schema wants to disallow a nested attributes like apps.myName.myNestedApp.x86_64-linux, but I believe this should be changed. So this issue may remain until the flake schema changes, or 3.0 is released which settles any debate on it.

I feel like breaking nix flake check is too big of a price to pay. It seems that the only thing you want nested apps for is so you can go nixinate.foo. For now, why not just make it nixinate-foo or nixinate_foo so we can use it with nix flake check? Or at least make an alternative function that can be used for those of us that need nix flake check.

I think that for the meantime we should go with what @ursi proposed, making the apps flat and prefixing them with nixinate.

What I have done as a workaround for now is apps.x86_64-linux = (nixinate stuff).nixinate. If I wanted the nixinate prefix on the app names, I could use lib.mapAttrs', but for my current project that's not necessary.

(oops, duplicated) https://github.com/MatthewCroughan/nixinate/issues/31

@MatthewCroughan i guess you are talking about: https://github.com/NixOS/nix/issues/6381 ? is there a more up-to-date discussion?

maybe someone is interested in my workaround: https://github.com/Stunkymonkey/nixos/commit/94c76cd197bc8415fb072e15b394b9bb15c89084
then nix flake check passes successfully


Python 3.6.2 Support

Wanted to integrate newest Python 3.6.2

Added md5sum for Python 3.6.2
Fixed an install error when installing into different directory with make install DESTDIR=/...
Python 3.6.2 does not generate a _sysconfigdata.py any more, seems to add MACHDEP as part of the filename. So dependency checking for generation of _sysconfigdata.py does not work and install fails.

Thanks for the patch :+1:
Would it be possible to update the topic to add testing of Python 3.6.2. See travis.yml and appveyor.yml ?

Hi!
Just to clarify for me: you want me to update the travis.yml and appveyor.yml to enable testing for 3.6.2 in the same pull request here?

ok, the pull request seems to fail due to the continuous builds. i cannot find the log files to determine what failed, i just can see in the travis log that where was an compiler error. I am working with gcc 5.4 under a debian system.
Error(s) when building project
15 Compiler errors
2 Compiler warnings
Add file: /tmp/travis_dashboard.cmake
Add file: /tmp/python_common.cmake
But i cannot find any details? Where are the logs stored?
Any help appreciated :-)

giving up cause do not know what the problem is. tested with gcc 4.8 on an older linux, getting compiler errors from python itself and do not know how to handle the tests to compile with c99 oder to patch the 3.6.2 code?


Update docker client version to 18.06.3

Description
With this change, it is required to install Docker=18.06.3 on target servers.
This is a breaking change.

Related issue and scope

[x] I opened an issue to propose and discuss this change (#4336)

My changes affect the following components

[ ] API
[x] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[x] Tests
[x] Deployment
[ ] CLI
[ ] General tooling
[x] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[x] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Todo:

[ ] Update controller docker cli version
[ ] performance comparison
[ ] Update documents accordingly
[ ] Update Travis build configuration accordingly

In the latest docker, runc does not show any running containers which are created by docker.
So container is not paused by runc and just removed upon error(container not found).
so I am looking into the way to utilize runc.

The issue was previously container information was stored in /run/runc but now it is stored in /run/docker/runtime-runc/moby.
After changing mounting directory, it seems working as expected.

I have discussed this issue with @sven-lange-last.
Let me share the results here.

Generally, it takes some times to upgrade docker version for many reasons.
So it would require some time for downstream to use the latest docker version in their production.

But at the same time CVE should be properly handled.
This CVE, https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736 requires docker >=18.06.2

So if we upgrade the docker version to 18.06.x rather than 18.09, it would give more time to downstream at the same time resolve the CVE.

I did benchmarking to comparison any performance issue in docker-18.06.3.
It seems there is no big performance difference.

17.05: 12,500 TPS
18.06: 12,800 TPS

For more information, you can refer to this.
https://cwiki.apache.org/confluence/display/OPENWHISK/Docker+version+comparison
I think it would be good to go with docker-18.06.3

I readded WIP in the title.
Actually there are still few things to handle: https://github.com/apache/incubator-openwhisk/pull/4430#issuecomment-480224431

So it would require some time for downstream to use the latest docker version in their production.

We should really try to decouple from this. Sure, downstream will always be slower than upstream but we should not need to hold back on innovation and advancement because of that fact.
Is there any possibility for us to have different versions of DockerClient that flatten out the differences and make it a deployment/configuration concern which one is used? We could have a deprecation period for older clients to clean up after some time.

I think we need to differentiate the build step of the invoker Dockerfile to achieve that.
It is mainly related to the docker version inside invoker.
Regarding the downstream version, I will defer to @sven-lange-last as he wanted to make sure this PR does not break IBM production system.
As the binary name of runc is changed from docker-runc to runc in docker-18.09, if we decide to upgrade to 18.09, that should be addressed as well.

I like the suggestion from Markus. Did I understand correctly that the conditioning is relatively easier for ansible than the dockerfile?

The Dockerfile only ships docker binaries, right? How much overhead would it be to have multiple versions inside of the Dockerfile that we simply pick through configuration?

@markusthoemmes
With the assumption that we will move forward with 18.09 and just including 18.06 for the deprecation period, docker-18.06 would add about 43MB(36 + 7.2 MB) of overhead.
$ ll -h docker-18.06
total 141M
drwxrwxr-x 2 style95 style95 4.0K Feb 20 11:26 ./
drwxr-xr-x 4 style95 style95 4.0K Apr 15 19:03 ../
-rwxr-xr-x 1 style95 style95  36M Feb 20 11:26 docker*
-rwxr-xr-x 1 style95 style95  26M Feb 20 11:26 docker-containerd*
-rwxr-xr-x 1 style95 style95  15M Feb 20 11:26 docker-containerd-ctr*
-rwxr-xr-x 1 style95 style95 4.0M Feb 20 11:26 docker-containerd-shim*
-rwxr-xr-x 1 style95 style95  51M Feb 20 11:26 dockerd*
-rwxr-xr-x 1 style95 style95 747K Feb 20 11:26 docker-init*
-rwxr-xr-x 1 style95 style95 2.8M Feb 20 11:26 docker-proxy*
-rwxr-xr-x 1 style95 style95 7.2M Feb 20 11:26 docker-runc*

@rabbah
Let me clarify the issues.
There are the following changes.
Docker 1.12 -> 18.06 or higher
runc no more use default(/run/runc) directory as a root directory.
It uses /run/docker/runtime-runc/moby.
Docker 18.06 -> 18.09
The name of runc is changed from docker-runc to runc.
IMHO, there are few options to have multiple versions of docker, but I think it would be easier to configure the version at the deployment time.
For example, we can have both versions of docker binaries in the invoker.
It will have two binaries, docker-runc and just runc.
Based on the configuration, DockerClient(RuncClient) will selectively look for one of them.
(Currently, it is hardcoded to /usr/bin/docker-runc)
Keeping docker-1.12
Besides of the above things, If we want to keep docker-1.12, we need to differentiate the ansible script based on the version flag as well.
The mounting directory for runc will vary between /run/runc and /run/docker/runtime-runc/moby.

I see, thanks for the writeup. It looks like moving to 18.06 introduces the least friction for now and makes all parties kinda happy?
If so, it's reasonable to make that move first and think about unblocking future upgrade later.

I feel the results of system tests are not deterministic.

There are still some tests which are dependent on docker remote API.
Since we don't need that API in the core components anymore, I am trying to remove them entirely.
It could be an unnecessary security burden.

fwiw, because the dns related command line options are different between docker versions, we added clientVersion to the DockerClient a couple of months ago.
https://github.com/apache/incubator-openwhisk/blob/master/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/docker/DockerClient.scala#L114

@dgrove-oss Thank you for letting me know.
I am about to overlook it.
I will look into it as well.

It seems from the Docker 18, it relies on kernel cgroup capability to limit memory swapness.
Only after enabling it, I could successfully run memory exceeding test case in ActionLimitTests.
Reference: https://docs.docker.com/install/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities

@dgrove-oss Regarding that DNS option, it seems it differentiates DNS option for docker=1.12.
I think it would be better to drop it as Openwhisk will require docker >= 18.06.2 with this change.
How do you think?
I haven't tested but I think OW will still work with docker=1.12 without runc.
So if the option is required in some downstream, I think we can keep it for some time.

I would suggest leaving the DNS option for 1.12 unchanged for this PR and then we do a separate PR to remove just it.  Will make it  easier in case some downstream needs to dis-entangle.  I agree we should remove the 1.12 specific option soon.

Since tests have never been passed in Jenkins CI, I am trying to get access to the Jenkins VM.
I will figure out the reason why ConcurrencyTests keep failing.

I finally got the reason.
Jenkin machine is using Docker-17.05 so it uses /run/runc as a root directory.
But this PR will use /run/docker/runc-runtime/moby as it is used in Docker-18.06.
So ConcurrencyTests are failing because it could not find the container.
root@openwhisk-vm2-he-de ~ # docker inspect invoker0 | grep runc
                "/run/docker/runtime-runc/moby:/run/runc:rw"
            "Runtime": "runc",
                "Source": "/run/docker/runtime-runc/moby",
                "Destination": "/run/runc",
                "/run/runc": {},
root@openwhisk-vm2-he-de ~ # ls /run/runc
6f9e7c4dbce0fa0a73b2c6ff159e9255a8b4c88c9f600224df1190efacfa1966  e79e510637d3776530043a1b7626ef06818a329031557120fcaabfe4a2b15363
ac8b30ad8be761461b461c85f31d314d747c22bfba6d406d5992d5563806ac4c

RuncClient could not find the container.
[2019-04-30T08:20:45.180Z] [ERROR] [#tid_sid_invokerNanny] [RuncClient] info: command was unsuccessful, code: 1 (unsuccessful), stdout: , stderr: container "c3aa7acdcb15252a6088025c3102c13aa8e74d816c122b59e6e27cc674501a24" does not exist [marker:invoker_runc.pause_error:1287762:22]

Discussed on the openwhisk tech exchange.  The proposed plan is to merge this PR accepting that it will break Jenkins. Then update the docker version on the Jenkins VMs.

Just noting that this doesn't work on macos (which is ok because useRunC is disabled on the mac).

I have few more things to add.

[ ] Permission issue in invoker/clean.yml
[ ] CoordinatedShutdown for ContainerFactoroy.cleanup

I think it would be better to drop documentation for Docker-machine in a subsequent PR.

I think it's now ready to merge.
@sven-lange-last Could you confirm if we can merge this?

@rabbah @markusthoemmes @dgrove-oss
Please look into this.
It's ready to merge.

@style95 thanks a lot for providing this PR - very thorough work. Particularly, the performance tests are helpful for deciding whether the update to a newer Docker version is a feasible.
Some thoughts around the transient data directory docker-runc is using for containers:

When Docker 18.06 uses docker-runc, directory /run/docker/runtime-runc/moby is used as base directory.
docker-runc itself has different default directories that are used when not specifying the --root option. These are /run/runc for root (uid 0) and /run/user/<uid>/runc for non-root users.
Apparently, all uses of docker-runc need to make sure that they use the same data directory as Docker - otherwise docker-runc won't be able to work on the containers created by Docker before.
In ansible/roles/invoker/tasks/clean.yml, you explicitly use the --root option to make sure the proper directory is used.
You have no changes in the Scala RuncClient used by the invoker.
https://github.com/apache/incubator-openwhisk/blob/be1e3a19c02956c9be85023a0bb0ff399c21444d/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/docker/RuncClient.scala#L56-L64
The Scala RuncClient works because you always mount the (configurable) transient data directory location to /run/runc in file ansible/roles/invoker/tasks/deploy.yml and docker-runc is run by root user.
What happens if the invoker process is run by a non-root user? Won't docker-runc invoked by Scala RuncClient then fall back to the default transient data directory, i.e. /run/user/<uid>/runc?
I do not know the details of lean setup - but what happens in other setup variants? Do we always make sure that the proper transient data directory location is available at /run/runc when running Scala RuncClient? Which user runs the process?
Can we make things more robust by also using the --root /run/runc option in Scala RuncClient?

@style95 concerning the failing Jenkins test:

Jenkin machine is using Docker-17.05 so it uses /run/runc as a root directory.
But this PR will use /run/docker/runc-runtime/moby as it is used in Docker-18.06.
So ConcurrencyTests are failing because it could not find the container.

Wouldn't it be possible to work around this problem by setting invoker_runcdir: "/run/runc" in the Ansible environment for Jenkins?

@sven-lange-last

Wouldn't it be possible to work around this problem by setting invoker_runcdir: "/run/runc" in the Ansible environment for Jenkins?

Thank you for the suggestion, I will try it.

@sven-lange-last It seems introducing invoker_runcdir with Docker 17.05 does not work.
This is because two different versions of runc is not compatible to each other.
[2019-05-09T10:04:50.544Z] [ERROR] [#tid_sid_invokerNanny] [RuncClient] info: command was unsuccessful, code: 1 (unsuccessful), stdout: , stderr: json: cannot unmarshal string into Go struct field State.init_process_start of type uint64 [marker:invoker_runc.pause_error:1322355:73]

Yeah, that's because you have two runc versions that are sharing incompatible state. That's not really a supported configuration (though we should be more friendly about not bailing when an error occurs).

https://github.com/opencontainers/runc/issues/1592#issuecomment-328669901

Let me share the discussion with @sven-lange-last on Slack for history.
He suggested using invoker_use_runc: false in Jenkins CI environments and I applied it.
We discussed to add --root option in RuncClient as well, and it seems it's not required as of now because invoker is running as a root user.
So RuncClient client will always have access to /run/runc dir.
Since it can be broken at any time if the invoker runs as a non-root user, he also suggested leaving comments about its implications and it is also applied accordingly.
Now let's see what happens in Jenkins CI.

@style95 thanks a lot for the valuable discussion and your recent updates. Jenkins is working now.
We still have two different problems in Travis:

The code scanner complains about whitespace.
services.KafkaConnectorTests > Kafka connector should send and receive a kafka message even after shutdown one of instances fails because a remote Docker daemon cannot be connected.

The problem with services.KafkaConnectorTests is in the last line of this code snippet:
https://github.com/style95/openwhisk/blob/faf765cd9d3fedd3139298a19f911247f127c91a/tests/src/test/scala/services/KafkaConnectorTests.scala#L146-L152

PG 4 / 2840 running...

Finally!
This is ready to merge! 😄

@sven-lange-last Got it.
I would open a confirmation thread (based on the silent assent) in dev list.

Codecov Report

Merging #4430 into master will decrease coverage by 3.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4430      +/-   ##
==========================================
- Coverage   83.97%   80.91%   -3.07%
==========================================
  Files         170      170
  Lines        7940     7943       +3
  Branches      536      539       +3
==========================================
- Hits         6668     6427     -241
- Misses       1272     1516     +244

Impacted Files
Coverage Δ

...pache/openwhisk/core/invoker/InvokerReactive.scala
80.86% <100%> (+16.58%)
:arrow_up:

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.46%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.67%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-84.62%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
4% <0%> (-52%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Counter.scala
40% <0%> (-20%)
:arrow_down:

...penwhisk/core/database/cosmosdb/CosmosDBUtil.scala
81.81% <0%> (-15.16%)
:arrow_down:

...nwhisk/core/database/cosmosdb/CosmosDBConfig.scala
94.11% <0%> (-5.89%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Logging.scala
69.75% <0%> (-0.62%)
:arrow_down:

... and 26 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 4740d40...31603d2. Read the comment docs.


Update ddv4-ddsv4-series.md

Removing "Important" message as issue was resolved.

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

#sign-off


Passing complex rust data

Hello,
I am trying to embed RustPython into my application. I would like to pass a struct with an API and expose it's methods to the Python script. I have looked at the examples but they seem limited to static data and functions. Is there any way to do this at the moment or plans to add it in the future?

Oh, yes, there's definitely a way to do that, and thanks for asking this cause that would definitely be beneficial to have as an example. You can look at wasm/lib/src/js_module.rs to see a fairly simple example of this, wrapping the rust struct wasm_bindgen::JsValue in a RustPython class/struct PyJsValue. Basically, you just have to have a struct with the #[pyclass] attribute on it, impl PyValue like in js_module.rs, and then have #[pyimpl] impl MyPythonClass {}, where you can optionally have methods tagged as #[pymethod] fn my_method(&self, foo: i32, vm: &VirtualMachine). If you want to create the struct as a Python value, you can return it from a native Python function (fn make_thing() -> MyPythonClass or fn make_thing() -> PyResult<MyPythonClass>), and to accept it as an argument/extract it from a PyObjectRef you can just have methods on the pyimpl that take &self or have a type alias like type MyPythonClassRef = PyRef<MyPythonClass>;  and then do either fn do_thing(x: MyPythonClassRef) or let x = MyPythonClassRef::try_from_object(vm, obj);

Thanks, I will give it a try and report back.

Hi @coolreader18,
I have given it a try but I am not sure static_type() does and whether I should be using it and how to create and pass the struct to a script.
Here is my attempt, that fails with: `static type has not been initialized'. I know how I am passing the struct as global is incorrect but i am not sure how to do it. Any help appreciated.
#[pyclass(module=false, name = "API")]
#[derive(Debug)]
pub struct PyAPI {
    value: f64,
}

impl PyValue for PyAPI {
    fn class(_vm: &VirtualMachine) -> &PyTypeRef {
        Self::static_type()
    }
}

impl AsRef<PyAPI> for PyAPI {
    fn as_ref(&self) -> &PyAPI {
        &self
    }
}

#[pyimpl]
impl PyAPI {
    #[pymethod]
    pub fn add(&self, val: PyFloatRef) -> PyFloat {
        PyFloat::from(self.value + val.to_f64())
    }
}

#[test]
fn test_python_ab_fn() {

    rustpython_vm::Interpreter::default().enter(|vm| {

        let scope = vm.new_scope_with_builtins();
        let a = PyAPI{value: 40.0};
        scope.get_locals().set_item("a", vm.new_pyobj(a), vm).expect("failed");
        scope.get_locals().set_item("b", vm.new_pyobj(2.0), vm).expect("failed");

        let code_obj = vm.compile(
                r#"a.add(b)"#,
                rustpython_compiler::compile::Mode::Eval,
                "<embedded>".to_owned(),
            )
            .map_err(|err| vm.new_syntax_error(&err)).expect("failed..");
        let result = vm.run_code_obj(code_obj, scope.clone()).expect("failed...");
        let val = result.downcast::<PyFloat>().expect("failed");
        assert_eq!(val.to_f64(), 42.0);

    });

}

Ah, yeah, you need to call PyAPI::make_class(&vm.ctx) before you call into anything that might call PyAPI::static_class() (e.g., before you call any Python code that uses the class)

Thanks that works! Full code below if anyone else needs to get it working:

use rustpython_vm::{builtins::*, pyobject::{ItemProtocol}};
use rustpython_derive::{pyimpl, pyclass};
use rustpython_vm::pyobject::{PyValue, StaticType, PyClassImpl};
use rustpython_vm::VirtualMachine;

#[pyclass(module=false, name = "API")]
#[derive(Debug)]
pub struct PyAPI {
    value: f64,
}

impl PyValue for PyAPI {
    fn class(_vm: &VirtualMachine) -> &PyTypeRef {
        Self::static_type()
    }
}

impl AsRef<PyAPI> for PyAPI {
    fn as_ref(&self) -> &PyAPI {
        &self
    }
}

#[pyimpl]
impl PyAPI {
    #[pymethod]
    pub fn add(&self, val: PyFloatRef) -> PyFloat {
        PyFloat::from(self.value + val.to_f64())
    }
}

#[test]
fn test_python_ab_fn() {

    rustpython_vm::Interpreter::default().enter(|vm| {

        PyAPI::make_class(&vm.ctx);
        let scope = vm.new_scope_with_builtins();
        let a = PyAPI{value: 40.0};
        scope.get_locals().set_item("a", vm.new_pyobj(a), vm).expect("failed");
        scope.get_locals().set_item("b", vm.new_pyobj(2.0), vm).expect("failed");

        let code_obj = vm.compile(
                r#"a.add(b)"#,
                rustpython_compiler::compile::Mode::Eval,
                "<embedded>".to_owned(),
            )
            .map_err(|err| vm.new_syntax_error(&err)).expect("failed..");
        let result = vm.run_code_obj(code_obj, scope.clone()).expect("failed...");
        let val = result.downcast::<PyFloat>().expect("failed");
        assert_eq!(val.to_f64(), 42.0);

    });

}

Hi @coolreader18,
Follow up question, is there any way to make the methods on the struct global so they can accessed like so:
add(b)

You could probably do that from the Python side, something like
for attr in ('add', etc):
    globals()[attr] = getattr(a, attr)

Thanks!


Update green arrow checkbox icon to more accurately describe state on Covariate page

When errors are thrown, it still shows a confirmation
Related task:

[ ] https://github.com/trendscenter/coinstac/issues/1472

#1525


Main Logo Missing

Including the logo on the website contributes to its overall appeal and quality.

After Adding Logo


IR Stream in the dark room (white laser dots cleaning)

Required Info

Camera Model
D435i

Firmware Version
Open RealSense Viewer

Operating System & Version
Ubuntu 18.04

Kernel Version (Linux Only)
5.4.0-72-generic

Platform
PC

SDK Version
l2.0

Language
Python

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
Hello all,
I want to get infrared stream in the dark environment conditions. In order to do that I increase laser power but it creates white laser dot on the image. How can I get rid of this kind of issues? When I drop laser power to 0 or 1, the white laser dots dont be visible but rest of image become black.
Do you have any solution to get clean IR stream in the dark room?

Hi @DuyguSerbes  Dot noise on the image is a phenemon known as laser speckle.  A way to help to avoid laser speckle is to use an external LED pattern projector instead of a laser-based one like the one built into the camera.  An example of an external LED projector used with a RealSense 400 Series camera in a dark room is shown in the image below.

Intel have published a white-paper document that provides guidance about external pattern projectors.
https://dev.intelrealsense.com/docs/projectors
https://dev.intelrealsense.com/docs/projectors#section-7-led-projectors

Hello @MartyG-RealSense even if I didn't set a maximum, the bright white dots covers the image. I don't have external illuminator. Is there a any solution for this problem? I want to use infrared images for computer vision so I need clean images.

You could enable the Emitter On-Off option so that the emitter rapidly alternates between on and off on a per-frame basis, and create a script that only captures frames where the emitter status is 'off'.
You can test whether this solution may work for you in the RealSense Viewer.  Enable the Emitter On-Off option and on the infrared stream, tap the space bar on the keyboard quickly to pause and unpause the stream.  When you manage to pause at a frame where the dot pattern is inactive, check whether the infrared image is still visible when the dot pattern is off.

This pause-unpause technique is demonstrated in the images below.

I believe It would work. Is there any available script written in C/C++ or Python to manage Emitter on/off option.
I try to use frames directly in my code. So I should take the frames directly from camera without using realsense-viewer.

There is a Python script that features enabling of the emitter on-off feature in the opening message of the link below.
https://github.com/IntelRealSense/librealsense/issues/6202

The C++ equivalent would be something like:
depth_sensor.get_option(RS2_OPTION_EMITTER_ON_OFF, 1);

Hi @DuyguSerbes  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


MERC-888 show actual product image dimensions

product image in product details

product images in gallery
ignore the red title - that is for another ticket
@mcampa @mickr @bc-ejoe @deepa2083

👍

Can you open the PR against bigcommerce:v1.3.0?


Calling Formula.sha1 is deprecated!

If using Git-Radar with homebrew on macOS 10.11.6, I'll always get the following message if I try to brew update/upgrade
Warning: Calling Formula.sha1 is deprecated! Use Formula.sha256 instead. /usr/local/Library/Taps/michaeldfallen/homebrew-formula/git-radar.rb:7:in class:GitRadar'
Please report this to the michaeldfallen/formula tap!`

Problem is resolved by this:
cd "$(brew --repo)" && git fetch && git reset --hard origin/master && brew update

This was fixed in https://github.com/michaeldfallen/git-radar/issues/104, about 1 month ago. Likely you need to update and upgrade.
Closing


ModuleNotFoundError: No module named 'nvidia.dali.plugin.base_iterator'

the cuda version must 10.2?

@wang911205
It is a problem of Nvidia DALI. If you didn't install DALI, please install DALI. If you have installed, please report more details.

@wang911205 It is a problem of Nvidia DALI. If you didn't install DALI, please install DALI. If you have installed, please report more details.

I install nvidia-dali-cuda101. my CUDA Version: 10.1

@wang911205
I think as long as the DALI version matchs the CUDA version, it should be ok.

Can I install Nvidia - Dali on Windows?

@Eliza-wxq
It seems dali do not support windows.

ModuleNotFoundError: No module named 'nvidia'
While I prepare to install TensorFlow 2.12.0, TensorFlow team have the following commands. But I get the error: ModuleNotFoundError: No module named 'nvidia'. What's wrong with the commands. Please indicate how to solve it. Thanks.
Install TensorFlow with pip
_https://www.tensorflow.org/install/pip_
$ mkdir -p $CONDA_PREFIX/etc/conda/activate.d
$ echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
$ echo 'export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:$LD_LIBRARY_PATH' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
$ source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'nvidia'
dirname: missing operand
Try 'dirname --help' for more information.

I have solved the problem  but still can not use TensirFlow 2.12 or above
1 .Create tf env
$ conda create --name tf python=3.10
$ conda activate tf

2.Install cuda and cudnn in tf
Continue in the tf environment:
$ conda install -c conda-forge cudatoolkit=11.8.0
$ pip install nvidia-cudnn-cu11==<IP_ADDRESS>

(including the cublas downloading and installation)
But is has show the error.
$ nvcc --version
CUDA Toolkit is not installed.

Configure the env

mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:$LD_LIBRARY_PATH' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

After all the installtion are executed in the tf environment, it does not show ModuleNotFoundError: No module named 'nvidia'

Verification

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
2023-08-03 17:42:07.337886: 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-08-03 17:42:07.926267: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Reference:


Rearrange repository

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

Now we've migrated people to /usr/local/Homebrew we can do this to simplify our .gitignore, repository layout and provide support for GitHub.
We may consider moving Library/Homebrew in future but that's going to be far too much work for now.
CC @zmwangx who talked about this.

I obviously didn't read every single line of change but I poked around in the tree and it looks fine 👍

Current coverage is 83.29% (diff: 100%)

Merging #1031 into master will decrease coverage by 0.02%

@@             master      #1031   diff @@
==========================================
  Files           340        340
  Lines         14121      14126     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          11765      11766     +1
- Misses         2356       2360     +4
  Partials          0          0

Powered by Codecov. Last update e22610a...ff24207

Codecov is popping up all over again :(


lua-scrypt: init at 1.2

Hi!
Motivation for this change
I'm in the process of adding a git service called Gitano to Nix.
A fair few of the dependencies are now already packaged, this is the last of the dependencies
that aren't "gitano-core" dependencies.
Once this is merged, I'll open another PR that will actually add Gitano and its core dependencies in one shot.
Thanks!
Richard
Things done

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

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg lua-scrypt

I have no idea why this doesn't work on OSX. That is not a platform I have to hand right now, I will try and look at this tomorrow.

Actually I suspect this will just be a difference in linker options between GNU/Linux and OSX. This is not something I'm not able to fix immediately since I don't have access to OSX, but I will try to fix this as soon as I can.

Hmm it failed for Linux too.

@vyp Yeah I think that's just a case of setting INSTALL.

Oh yeah thanks I missed that 🤦♀

I asked around in #lua on freenode and it turns out that on OSX you need some extra compiler flags to get this to work, -undefined dynamic_lookup, I'll fix this up as soon as I can.

Nice work, and yeah I can't really help with darwin btw since I don't have access to such a machine.

I abandon this change, sorry. @Kinnison

@richardipsum Will you continue with Gitano if we finish this PR for you?

@orivej Not likely, sorry, I no longer have any motivation to maintain Gitano pkgs or any dependencies. It was quite a lot of effort on my part to get it this far. I have the whole set working in draft form at https://github.com/richardipsum/nixpkgs/tree/gitano. Feel free to pick up my pkgs if you like, speak to @kinnison (upstream maintainer) or send any queries to upstream at<EMAIL_ADDRESS>Thanks


Documentation and instructions enhancement.

I was wondering for some time if there was something that could be done to make the documentation a little more user friendly, while keeping it easily accessible to everyone (non-technical users in particular).
These are some of the things I thought of and would like to hear your opinion on:
First of all, markdown files are great on GitHub, but once they are downloaded offline most users will only be able to open them in the source (not rendered) format: some users, if not most, will probably never read a file in that form.
It would be great to have some way to display documentation online and at the same time have it to work offline, but at the moment I cannot think of anything that would work like this.
Secondly the README.md file looks a little bit clogged and overwhelming to me in its current state. It could be split in different files served via Github Pages, or could be written into various Wiki pages.
As you said in my last PR the README.md file is the first thing a user sees when opening the project page: if we split up the current content into different documents or Wiki pages the file itself could be turned into a concise presentation of the project with some links to the various Wiki pages for more detailed guides/examples/explainations;
@sdias, I would love to know what your thoughts are on this matter.

I agree with you on most points.
I agree with you when you say most people won't read documentation offline, but not by the aspect of the file (raw markdown is pretty readable as is, and I even took the time to format the tables correctly to be readable when raw) but due to the files' extension (md) and the fact that Windows doesn't know that it is a text file by default and non tech savvy users don't either, so they won't even open them.
I think we should still use markdown and files to contain that information, so it isn't restricted to the website.
I like the changes that you did in your branch (splitting the files, extending certain sections) and I think that alone is sufficient to solve the second issue. Maybe we could split the customization instructions even further or restructure or rework some parts of it to be less confusing.
To solve the first issue, I think we could compile the markdown into HTML for releases. I have been using a Sublime Text plugin to do that as I edit the documentation, it shouldn't be too hard to automate that.

Compiling markdown to HTML for releases looks like a great idea!
What do you think would be the besta way to go for online documentation? Github pages or Wiki? Both formats accept markdown files and they are quite equivalent for small projects like this, but given your proposal of compiling MD to HTML I would use Pages, so that: .md files can be part of the project (/docs folder) and remain easily accessible to be converted to HTML for releases (which would be slightly more complicated with the wiki).

I'm not sure what you mean by pages, but I think the best would to leave the information in MD files, with the README being the index file. That way they can easily explore all of the other MD files easily (by using the links) and we wouldn't have to tie the information to another location (which we would with a Wiki) or maintain it in another format at all.
In addition to that, we could compile to HTML for releases, for offline viewing.

GitHub offers a service called Pages: it allows you to host your documentation (.md or .html files) on a website directly from your project.
Let me explain with a practical example.
This is a project a recent project of mine: https://github.com/GioBonvi/GoogleCalendarBirthdayNotifications. If you open the link you will find nothing more than the classical GitHub project, however, since I have activated the Pages service in the project settings dcumentation files can also be accessed via this link: https://giobonvi.github.io/GoogleCalendarBirthdayNotifications/.
My project only has one page, but if there were more they would be all browsable like that. The advantage is that it offers a nice way to serve good-looking documentation, without the need for additional maintenance.

Neat, thanks, I didn't know that. I didn't look into it in detail, but as long as it allows us to maintain our documentation easily and couple it with the code, since the documentation is version-dependent, I'm happy with it.

Issue closed with the merge of branch reorg-documentation.


itvr-331--complete-cra-workflow

(1) there is a new rebate.py service that contains bulk functions: one to get applications associated with rebates, another to save the rebates, and another that updates application statuses to either approved/declined. So the process, after uploading the cra response file, makes 3 bulk calls to the db.
(2) Signals are emitted manually because the bulk_update method does not send anything to the post_save signal
(3) Tests for issuing the rebate uses the same setUp data as the tests for calculating the rebate.

@naomiaro I switched things over to the new "not approved" status and fixed the emails; should be ready for review now!


not working on production env

Hi,
This code is working fine on local machine (development environment ), but it is not working on production environment (https://mediasoup.galaxysofttech.co.in/). I have debug in Chrome ( Version 69.0.3497.100 (Official Build) (64-bit) - os: ubuntu 16.04) webrtc-internals. i found that its iceconnectionstatechange was failed. Please help me to sort out this issue.
I am attaching dumps of webrtc-internals.
webrtc_internals_dump.txt

Hi. First of all, make sure you have opened ports on your prod server (from 40000 to 49999, as per server/config.js rtcMinPort and rtcMaxPort variables). Secondly, if you use AWS, you need to set rtcAnnouncedIPv4 in the config to the public ip of your instance (note, it may be required for other servers as well). And lastly, there is a very little probability, that you need to use turn servers to make it working (see https://mediasoup.org/documentation/mediasoup-client/api/#Room-RoomOptions)

Super
I have opened ports from 40000 to 49999. That works for me.
Very Very Thanks.


Add BEM classes and beautify code 🚀

doesn't seem like this project is maintained anymore as this PR is open for around 2 years. closing the PR.


[Bug] Wrong handling of localstorage key name when resetting datatable if resetButtons is true but home_link is not 'admin'

Sorry, I'm not using standard bug report because doesn't fit my analysis needs.
in config\backpack\crud.php
'resetButton' => true,

in config\backpack\base,php
'home_link' => '',

The datatable creates keyname like this

But when pressing ...

.. (reset button) .. the file
vendor/backpack/crud/src/resources/views/crud/inc/datatables_logic.blade.php
do this
 localStorage.removeItem('DataTables_crudTable_/{{$crud->getRoute()}}');

But this don't works because
('DataTables_crudTable_/{{$crud->getRoute()}}'

contains 2 //

This not happens if home_link is 'admin'.
We NEVER use resetButtons, so catched this for first time only today
In our controller:
CRUD::setRoute(config('backpack.base.route_prefix') . '/canali');

Normally, this creates datatables localstoreage keys like
DataTables_crudTable_/admin/canali

In this situation, without admin prefix, it creates WELL the new key as
DataTables_crudTable_/canali

but when it try to remove it try to delete
DataTables_crudTable_//canali

Please note that changing pagelength creates the key as

I suggest to simply trim initial "/" if present when executing setRoute or to document that route SHOULD NEVER start with a '/'.

CrudPanel.php comments as is
* Can be defined in the CrudController with:
     * - $this->crud->setRoute(config('backpack.base.route_prefix').'/article')

This is right, because if we use 'admin' in home_link we MUST use / before article.
This is why i simply suggest to trim the initial "/", if present, when calling setRoute.
Also, when generating a new CrudControler, if possibile, check if 'home' is empty, if empty, never add "/" between the class name. For example, in
vendor/backpack/generators/src/Console/stubs/crud-controller.stub
there is
CRUD::setRoute(config('backpack.base.route_prefix') . '/dummy-class');

this should be customized when creating a new crud controller. So if home_link is empty, no "/" is preprended to 'dummy-class'.

Hello @realtebo
I think there must be some confusion with the names here. home_link is for sidebar top link, I think you are talking about route_prefix, and that shouldn't be empty I guess ?
I am just talking about the setRoute issue. In that regard I've submitted https://github.com/Laravel-Backpack/CRUD/pull/4643
It should be Non-BC.
Fixing it there should fix it in every place.
I am going to close this issue so we keep any conversation regarding this issue in the PR thread.
Let me know if you give it a try and it works/still not fully working for you.
Cheers, and once again thanks for raising the issue 🙏

Sorry for confusion. Next week we will try updated version

Please, reopen.
The bug is still here

Yes @realtebo this one is in the same situation, merged into master but needs to be tagged.
We opted for not doing a release this week for other reasons, we will be tagging it atmost by next Monday.
Sorry for any inconvenience 🙏


Ldap form based login

This branch creates the machinery for a form-based login. It also implements form-based login using a configured LDAP directory. To implement this, a HTTP session is required. Some important session cookie parameters can be configured to allow for integration of either multiple instances of dns-ui or with other services under the same virtual host.
An additional change allows to configure an optional extra LDAP filter for user objects. This can be used to make extra sure to restrict which users may log into dns-ui.

Are you willing to merge this if the commit is signed?

Will re-create with a signed commit


Allow Sass to import files even if they don’t have an item

Fix backwards-incompatible change in 4.10’s Sass filter.
Detailed description
When no load paths are given to the Sass filter, it should still be able to resolve relative paths (e.g. ../external) and successfully import. This isn’t currently possible, because the Sass filter assumes that the files have a corresponding Nanoc item.
This change allows the Sass filter to (again) import such files.
To do
(Include the to-do list for this PR to be finished here.)

[x] Tests

Related issues
Fixes #1378.

As suggested by @gpakosz: a useful refactoring later on might be to have two importer classes — one that deals with Nanoc items exclusively, and one that deals with importing relative files not belonging to a Nanoc item. That’d break up the responsibilities of the two importers a bit more nicely; currently, the single importer does a bit too much.


Temporarily fix pip check failure on xgboost and grpcio

Originally, this PR is to pin pip to version 24.1, so that pip check would not fail on xgboost-1.7.6 and grpcio-1.66.1.
After some attempts, it seems it is a bit inconvenient to enforce pip version, especially inside the venv set up by tox.
Therefore, we decide to make the following changes

for xgboost, since we don't have any plan to invest further on it, we are going to remove it from deps.  After that, the xgboost related tests in the ML test suite will be skipped. We can put it back in the future if we decide to support xgboost again (https://github.com/apache/beam/issues/31252) .

for grpcio, the failure only occurs on MacOS, so we decide to skip pip check on MacOS until https://github.com/grpc/grpc/issues/37660 is fixed.

#fixes #31285

@tvalentyn @Abacn

Note that the PR triggered workflow won't run on the change in .github/, which means the passed Python tests / Python Unit Tests (macos-latest, ...)  is passed without the changes of .github/workflows/python_tests.yml (and sdks/python/tox.ini) in this PR. Do we still need them?

Note that the PR triggered workflow won't run on the change in .github/, which means the passed Python tests / Python Unit Tests (macos-latest, ...)  is passed without the changes of .github/workflows/python_tests.yml (and sdks/python/tox.ini) in this PR. Do we still need them?

Are you sure? I see the new tox environment I made from for macos is used in the tests. For example:
https://github.com/apache/beam/actions/runs/10821274842/job/30022967680?pr=32432

ah you are right, I remembered there is this kind of limitation but looks like it does not applies to this specific test. Turns out the limitation applies to pull_request_target but not pull_request trigger

Also, I had changes in setup.py and I think Python tests will be triggered anyway.

Thanks! I have created the task for reverting the mac change #32431.


Repo admin for webhooks

We need admin access on this repo to set up a webhook for Waffle.io

[ ] Write mail

@feeds wants to do this :)

@feeds sorr< for the spam

Admin permissions granted.
Please set up your webhooks and re-assign the issue to me as soon as you are done.

Done setting up waffle.io. We may need this again in the future for travis or continuous integration.

Thanks. I have revoked the permissions, as we can only grant them temporarily.
Please note that Travis is already set up for the repository.
But feel free to get in touch with us if you need admin permissions again.


chore: Include steps to add new language in CONTRIBUTING.md

Description

Add instructions in CONTRIBUTING.md to add first translated page in Starlight Docs

I forgot to mention this step provided in AstroDocs/Add-a-new-language for getting the proper BCP47 Tag and the Language Name( ex: Português do Brasil / العربية )
I could see it well put in Translating Starlight’s UI  Heading

Thanks a lot for the suggestion, the difference speaks for itself

Order
Image

First Commit

Latest Commit

cc'ing @HiDeoo for feedback
Kevin's & Chris suggestions are applied 💯


Dedicated theme for widgets

Every theme in ThemeData should have its dedicated inherited widget

For IconTheme, we should update Button to apply the disabled color to icons as well

Also, each theme data should have the lerp method


need more instructions to get started

For me the instructions to get started plus what I could achieve are not clear. Also the installation instruction are not clear to me (I'm no expert but not a noob either....). Below some findings that I hope you can use:
My status so far: I have developed a python plugin for Domoticz home automation (and several other plugins before the Tesla integration). This plugin is in essence a Domoticz wrapper around the TeslaPy library. As TeslaPy does not support the Fleet API I'm looking for a replacement for which this project seems a good fit (want to be able to read data from my model Y and sends commands to it).
So far I got stuck at the step of installing the go language:
sudo apt install golang
go get ./...
go build ./...
go install ./...

(it complained about missing dependencies:
pi@huiskamer:~/scripts/tesla_api/tesla-control/vehicle-command/cmd/tesla-control $ go build .
../../pkg/account/account.go:5:2: package crypto/ecdh is not in GOROOT (/usr/lib/go-1.15/src/crypto/ecdh)
../../pkg/account/account.go:6:2: package embed is not in GOROOT (/usr/lib/go-1.15/src/embed)
../../pkg/cli/config.go:55:2: package io/fs is not in GOROOT (/usr/lib/go-1.15/src/io/fs)

However it is not clear to me if this is needed at all.
So I really like the detailed way the TDossers has made both the installation instructions as well as the tesla_prepare.py module that handles the initial registration and additionally gives a basic module that works and spits out some data. I can take it from there.
Concrete things that confuse me:

the installation section of the readme.md
then the registration process also gives me some questions. Not sure if it is in the right place, sequentially?
are the code snippets in the registration section part of a python module or CLI instructions?
the instructions for the go language come last, but would they not be needed first? They are also rather limited, for example 'build the go language' should at least have a reference to a site where it is explained in more detail (next steps are a good example of how to document)

I hope these comments can help you to make this library better (they sure aren't meant as criticism).
Btw comments on issue 156 seem to suggest you don't need to build the go stuff?

Hi!, thanks for your input!
Only some quick comments, until I have time, to dive deeper into this:
The Go package is only needed for sending commands.
The whole registration process should work without Go.
The comments out of issue 156 seem to be the old command format. This will not work for newer cars - at least not for long.

Hi,
As a first step, could you describe the things that would use the fleet api just for fetching data, as aviadoffer said he did?

Just follow the README.md and skip the Go build.  I just updated the file and also the comments in the library.
Unfortunately the whole process is quite complicated.
It took me quite some time to figure it out.
Yes, you need an own domain registered.
You need ssl support too. Don't go too cheap.
As you are presumably driving a Tesla, you can invest some saved gas-money ;)

@JanJaapKo see the test drive implementation here


Desktop client

Please compile and release this app for desktop.

i agree, in desktop the web interface is better and also more powerful as it is the main frontend of firefly
also, these app for every service is just feels wrong in desktop/pc when there is  a functional web interface


Relations of 2 models in 2 databases (MySQL)

I cant connect 2 models (tables) in diferent databases by mapping.
I have DatabaseA ModelA and DatabaseB ModelB and ModelA has one ModelB.
ERRO => modelClass is not a subclass of Model or a file path to a module that exports one. You may be dealing with a require loop.
static get relationMappings() {
   return {
     modelA: {
       relation: Model.HasOneRelation,
       modelClass: ModelB,
       join: {
         from: `databaseB.modelB.ID`,
         to: `modelA.ID`
       }
     }
   };
 }

The docs have solutions for require loops.


Re-render selectable days

Is it possible at the moment to re-render the selectable days after the initial display ?
For exemple I'd like to amend the selectable days according to a city selected from a dropdown list.
From what I see the selectbaleCallback can only be run once at the initialisation ?
Thank you.

This should be possible with some minor changes.  I've labeled this issue as an enhancement and will prioritize accordingly.   Happy to accept a PR as well if you're up to it.

This can be closed as per https://github.com/6eDesign/svelte-calendar/pull/61


should able to replace immutable and use redux-immutable-state-invariant

https://github.com/leoasis/redux-immutable-state-invariant

Test cases pending


integrate Bubbletea CLI

TL;DR
Integrate bubble tea CLI into flytectl
Type

[ ] Bug Fix
[X] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
Still under development, current progress:
Command list selection

get execution pagination

TODO:
Pagination for other get commands
Tracking Issue
https://github.com/flyteorg/flyte/issues/
Follow-up issue

hey @zychen5186 this looks awesome! any reason to not merge this?

For easier review, we decided to separate this into small PRs.
FYI: https://github.com/flyteorg/flytectl/pull/473


Experimental results using the NYU dataset

Hello, I am still training on PENet with NYU dataset, please help me to take a look. The third one in this graph is the predicted result, right? I think this also proves that this network can run on the NYU dataset, is that correct? Because I want to know if this network is suitable for a densely labeled dataset, thanks. Looking forward to your recovery.

I cannot assert whether your results are normal since I don't save the experimental results on NYUDepth V2 dataset currently. But if you have reached a RMSE around 105mm, than it seems going on well.

Thank you very much for your reply again! Because I watched PENet for a long time, and the teacher later asked me to use the indoor data set to complete the project. The paper of this network only used the KITTI data set for experiments, and I have many novel ideas about this network, so I especially want to to try. So I have a lot of questions, please!

I think one of the questions I want to ask the most is: Does PENet work on indoor datasets?
The second major problem: the RMSE of the current training is large. But I don't think the network can't predict the NYU depth map. I think this has something to do with the unit of NYU and KITTI depth values. I see that the depth value 'd' and 'gt' of KITTI in the code is in the style of Figure 1,2, while the 'd' in NYU is in the style of Figure 3,4

If the KITTI depth value is in m, what is the NYU depth value in? I think both m and mm will not work here, is it cm? Or I have a problem converting the NYU dataset format. Do you know what the unit of the NYU depth map is? I think the RMSE value displayed now is very large, the problem is related to the unit of the depth value of each pixel in the dataset. I don't know if what I said is clear.
Excuse me! ! !

Thank you so much for confirming this to me! In this way, I think I don't have to change the network hahahaha! Thank you for your patience in answering!
I think I understand what you mean: use NLSPN to extract the NYU data set to write dataloader to obtain image data, I think that the extraction method of that network is the H5 file format.
I am now changing the format of the NYU dataset to the format of the KITTI dataset that PENet can input: I have made the following modifications, and I would like you to help me see if the changes I have made are correct, so that I can rule out the large error. s reason:

I changed the size of the NYU dataset to 1242375（the original is 640480）
At this time, the rgb of the NYU dataset is 24 bits, and the raw depth and gt are both 16 bits (the original is 8 bits, and the PENet format requires 16 bits of input data, so I made changes here)
Modify the internal parameter matrix K
The above is my modification of the dataset format that PENet needs! I  think you could haven't modified it this way, but I want to check with you if it's reasonable for me to do so.
I will always look forward to your reply! Thank you for not taking my trouble!

This is the RMSE of my first round of training ENet, which is ten times larger than the KITTI dataset, but the KITTI dataset is a few hundred for training ENet from the beginning.

Now I suspect that the NYU dataset is not the real depth value after changing to 16 bits, how can I get the real depth distance?

I seem to be enlightened today. I want to directly convert the downloaded NYU data set to the data format of PENet as input, but this does not seem to work. I can only make predictions by reading the depth map in the way of NLSPN. In that case, I'm going to try another method now! Thank you!

But I still want to ask, can you provide the code for using the NYU dataset on PENet? I will be very grateful!

But I still want to ask, can you provide the code for using the NYU dataset on PENet? I will be very grateful!

I conducted my experiments with the NYU Depth V2 dataloaders uploaded previously in your issues as '.txt' files. You could remove the 'txt' post-fix and add them to the dataloader directory. However we might probably not formally update codes and results on NYUDepth V2 currently.

Ok, thank you very much for your patient reply again!
So to say. This method of changing the format of the NYU dataset to the format of the KITTI dataset as the input to PENet does not work. I need to use other method to read NYU dataset. Is that what you mean?

Ok, thank you very much for your patient reply again! So to say. This method of changing the format of the NYU dataset to the format of the KITTI dataset as the input to PENet does not work. I need to use other method to read NYU dataset. Is that what you mean?

I think it is not necessary to upsample NYU figures into KITTI size. But I am not sure what point you are talking about.

I think I know what's wrong. I now want to experiment with KITTI first and solve that problem at the same time.
Thank you so much for your patient reply!


Allow to use symfony/property-access > 5.0

Pain Point
In order to fix
Problem 1
    - Root composer.json requires ubirak/rest-api-behat-extension ^8.0 -> satisfiable by ubirak/rest-api-behat-extension[8.0.0].
    - ubirak/rest-api-behat-extension 8.0.0 requires symfony/property-access ~4.0 -> found symfony/property-access[v4.0.0-BETA1, ..., v4.4.20] but it conflicts with your root composer.json require (5.2.*).

TODO

[x] Take the same range as symfony/config and symfony/dependency-injection. Unless there was a reason ?
[x] Reorder so we no more forget it

Keep up the good work

Thanks @tyx.
Small question, since behatch is kinda dead since read only. Do you use another alternative?

We no longer use this extension indeed !
In fact, we no longer make http request with behat ;)

What are you using ?

nothing ;) We don't make real http request for now. Only kernel request.

Behavior Tests as fast as Unit Tests
Lucky you :+1:

;)


Flow errors

node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareListView.js:37
 37:           this.props.onScroll && this.props.onScroll(e)
                                      ^^^^^^^^^^^^^^^^^^^^^^ call of method `onScroll`. Function cannot be called on
 37:           this.props.onScroll && this.props.onScroll(e)
                                      ^^^^^^^^^^^^^^^^^^^^^^ property `onScroll` of unknown type

node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareMixin.js:133
133:   handleOnScroll: function (e) {
                                 ^ parameter `e`. Missing annotation

I'm getting more issues than above.
flow-bin 0.42.0
react-native 0.44.0
react-native-keyboard-aware-scroll-view 0.2.9

I'm not familiar with flow. Anyone wants to make a PR for this?

Hi!
Can you help us with Flow errors sending us a PR? We've fixed a bunch of them in the latest release, but we may have some errors left...
https://github.com/APSL/react-native-keyboard-aware-scroll-view/releases/tag/v0.3.0

@alvaromb @Swordsman-Inaction Sure.

@alvaromb @Swordsman-Inaction I do not know how to fix the prop-type-related flow errors I am getting now unless I refactor the components so that they do not use createReactClass (which means updating to ES6). This would involve a lot of changes (including converting the mixin to an HOC) that I wouldn't mind tackling. Would you accept this sort of PR?

@Palisand sure!
Moving to HOC is something I had on my mind for quite a long time, but due to the mobile team activity I wasn't able to do it yet.
I would gladly help you and review a PR of this kind 😉

@alvaromb It has been a while but I haven't forgotten about this. With the recent release of flow 0.53.0, there is now much better support for higher order components. However, it's still not quite there yet. As far as I can tell, there is no proper way to flow-type a keyboardAware hoc that both injects and passes props (but I might be able to find an inject-only alternative). Moreover, there is a fix still in the works for a bug with es6 exports.


typo

@itvisible : Thanks for your contribution! The author, @MikeRayMSFT, has been notified to review your proposed change.

@itvisible  - thank you for your submission!
#sign-off


Table 36 Sales Header in GetNoSeriesCode

Please insert a new Publisher in function GetNoSeriesCode
OnBeforeGetNoSeriesCode(Rec,SalesSetup,NoSeriesCode,Handled);
if Handled then
exit;

@jobulsin
I wonder the usecase for the OnBeforeGetNoSeriesCode publisher since it provides no option to set the return value (Code[20]) of the GetNoSeriesCode function, neither do I see a reason to pass a local variable 'NoSeriesCode' ??

@jobulsin Hm, I think I created the request to keep the code the same as in the TestNoSeries function, for example. I also wanted to be able to use my own number series for documents in order to control them using an indicator. But you are right, the required subscriber is not necessary, because the following subscriber OnAfterGetNoSeriesCode can do this as well. The entry can be deleted/rejected. Kind regards

Not completly done: I think the code must be this way:
OnBeforeGetNoSeriesCode(Rec,SalesSetup,NoSeriesCode,Handled);
if Handled then
exit(NoSeriesCode);
If we don´t return NoSeriesCode, the event isn´t so usefull.
Please can you review this? Regards.


$date (date-mutators) does not work with dot notation

For example if you try to let it handle feeds.date, where feeds is an array.
There might not be easy workaround for this one... just reporting for the sake of known limits.

News about this?


ui: select component, dropdown replacement

design

did a part in #581 , but I am not satisfied

a select component from project doTreasury
now I am pretty sure that the option is rendered by user.
<Select options={[]} optionRender={(option) => <Option {...option} />} />

https://github.com/opensquare-network/ui/issues/15


NewMultiaddrBytes is inefficient

NewMultiaddrBytes first casts the given bytes to a string, then calls NewMultiaddr on that which casts it back to bytes. I understand that this is 'validating' the input, but there has to be a better way. Its consuming a decently large chunk of cpu and memory in go-ipfs right now.

This is resolved.


AAD Pod Identity Auth - Sync with Kubernetes Secrets

What steps did you take and what happened:
I have installed the helm chart successfully all pods running and no errors in the logs and have deployed the below secret provider classes to sync a secret. If i only want to sync to a kubernetes secret what do i use as the selector within AzureIdentityBinding.
Documentation here - https://github.com/Azure/secrets-store-csi-driver-provider-azure/blob/master/docs/pod-identity-mode.md
apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
 name: keyvault
 namespace: kube-secrets
spec:
 provider: keyvault
 parameters:
   usePodIdentity: "true"
   keyvaultName: "<redacted>"
   objects:  |
     array:
       - |
         objectName: aks-keyvault-controller-test-secret
         objectType: secret
   resourceGroup: "<redacted>"
   subscriptionId: "<redacted>"
   tenantId: "<redacted>"
---
apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
 name: kv-secret-test-secret
 namespace: kube-secrets
spec:
 provider: keyvault
 secretObjects:
 - data:
   - objectName: aks-keyvault-controller-test-secret
     key: value
   secretName: kv-secret-test-secret
   type: Opaque

What did you expect to happen:
KeyVauly secret to sync to a Kubernetes secret.
Anything else you would like to add:
I am unsure of which pod authenticates to KeyVault and i need to grant access via the Selector in
AzureIdentityBinding
Which access mode did you use to access the Azure Key Vault instance:
Pod Identity
Environment:

Secrets Store CSI Driver version: v0.0.11
Azure Key Vault provider version: 0.0.6
Kubernetes version:  1.18.2
Cluster type: AKS

If i only want to sync to a kubernetes secret what do i use as the selector within AzureIdentityBinding.

AzureIdentityBinding would be reference to the AzureIdentity and Selector as defined in the doc - https://github.com/Azure/secrets-store-csi-driver-provider-azure/blob/master/docs/pod-identity-mode.md
It's not possible to only sync as a kubernetes secret and not have the contents mounted as files in the pod. The sync as K8s secret is done by getting the contents from the fs.
You should be able to consolidate the SecretProviderClass into one like this -
apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
 name: keyvault
 namespace: kube-secrets
spec:
 provider: keyvault         <------ should be azure
 secretObjects:
 - data:
   - objectName: aks-keyvault-controller-test-secret
     key: value
   secretName: kv-secret-test-secret
   type: Opaque
 parameters:
   usePodIdentity: "true"
   keyvaultName: "<redacted>"
   objects:  |
     array:
       - |
         objectName: aks-keyvault-controller-test-secret
         objectType: secret
   tenantId: "<redacted>"

Add the aadpodidbinding to the application pod that's using the CSI volume as documented in the pod-identity doc.

Closing this issue. Please feel free to reopen if you're receiving after configuring based on docs and above comments.

@aramase
Hello,
I have a proposal:

use aadpodidbinding label for csi-secrets-store-provider-azure pods ( helm chart has no option to set podLabels .. )
deploy SecretProviderClass
mount keyvault content to csi-secrets-store-provider-azure pod ( or some other pod mean for synchronization )
do synchronization to k8s secrets


fix CRI example

failed previously with
UnhandledPromiseRejectionWarning: TypeError: RemoteChromeWARCGenerator is not a constructor

Good catch! Thanks for this!


Find out equivalent character replacements for (cid:nn) characters

Example output:
<text font="IFZXNH+SourceSansPro-Light" bbox="138.865,222.414,143.941,233.997" colourspace="Separation" ncolour="[1]" size="11.583">(cid:6)</text>
The (cid:6) points to a character glyph pointer ambiguity in the bundled font.
Code block to be addressed:
https://github.com/aarohijohal/pdfminer.six/blob/d6fd7e76b272e88dca67f7fabead397601ec6fce/pdfminer/converter.py#L115-L129
Some useful commands:
Seeing list of all fonts:
pdffonts <file>
Extracting fonts:
mutool extract <file>
Interesting discussion on this
https://stackoverflow.com/a/28694708

One of the strategies is to crop out the piece of text and OCRing it.

Related issue: https://github.com/pdfminer/pdfminer.six/issues/130


Setup free suscription

Hello,
I'm not a developer. I'm trying setup free subscription but i can't.  When i click in subscribe button it says "You are not subscribed" it is in device.
In IOS simulator i can click on subscribe for free, but i received this error "The Apple ID you entered couldn't be found or your password was incorrect. Please try again.
I replace the product id for com.xxxxx.xxxxx
2015-09-13 20:05:11.048  Action sheet: com.xxxxx.xxxxx
2015-09-13 20:05:11.049  Received 1 transactions from App Store
2015-09-13 20:05:11.049  - purchasing: com.xxxxx.xxxxx
2015-09-13 20:05:15.245  Attempting to badge the application icon but haven't received permission from the user to badge the application
2015-09-13 20:05:28.805  Attempting to badge the application icon but haven't received permission from the user to badge the application
2015-09-13 20:05:31.860  Attempting to badge the application icon but haven't received permission from the user to badge the application
2015-09-13 20:05:33.015  Attempting to badge the application icon but haven't received permission from the user to badge the application
2015-09-13 20:05:33.047  Received 1 transactions from App Store
2015-09-13 20:05:33.047 - failed: com.xxxxx.xxxxx
2015-09-13 20:05:33.047 Payment transaction failure: Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0x7b177380 {NSLocalizedDescription=Cannot connect to iTunes Store}
Thanks in advance!!

@nin9creative please, help me. It's very important collect data about our suscribers.

Not sure, if you set up the free subscription correct in iTunes and added the subscription correctly in Baker - it should work.
One thing to note, in order to test the subscription and purchases fully you need to use an actual device.
It won't work in the simulator.

Hello @nin9creative,
The suscription in Itunes is correct because it's working. I want manage suscriptions from ce-console...
How setup this?


How to tell if an iOS device is playing media chrome in Full Screen

Hi there 👋
I noticed that the media-is-fullscreen attribute does not get applied to the <media-controller> element on iOS. It does on Desktop.
Is there a way we can programatically know whether or not the video is in fullscreen mode (that works on iOS also)?
At the moment, we read "media chrome state" from the attributes on the <media-controller>. The fullscreen value is incorrect on iOS, so therefore our state is incorrect.
Is there another way to read fullscreen state?
I even tried adding an event listener manually (just for iOS) but it doesn't fire when you toggle full screen 😢
document.addEventListener("webkitfullscreenchange", function() {
  ...
});

iOS - no media-is-fullscreen attribute
*Tested using Browserstack

Desktop - media-is-fullscreen attribute is present

Thanks in advance

thanks for opening this issue! that doesn't seem right, we'll have a look soon. I would also assume the attribute should be set

Looks like @gkatsev might have seen a similar issue on video.js a couple years ago: https://github.com/videojs/video.js/issues/6645


Add support for auto-expand snippet

Idea is to have next label of tab completions, e.g have snippets that expand/insert themselves as soon as the prefix is typed, similar to the https://github.com/federico-terzi/espanso text expander. It could be as easy as flag when defining snippets and/or a user setting (maybe a setting per snippet prefix)

Duplicate of https://github.com/microsoft/vscode/issues/64135


Fixes breaking changes in autorest-runtime-for-java

Uses HttpClientPolicy rather than the Abstract policy that was removed
Removes decoding policy
Unifies the default policy creation in tests
Fixes the CONFLICT (409) code that is now returned rather than FORBIDDEN
Fixes broken compilation getting revisions.

Can one of the admins verify this patch?


Allow "appcenter distribute release -g" to send to multiple group

Hello,
is it possible to consider to add this option to upload to multiple groups with the appcenter distribute release command ?
Or maybe there is a possibility with the -g option but I didn't find it.
Currently it's possible to do this with the open API by using :
curl -X PATCH "https://api.appcenter.ms/v0.1/apps/${OWNERNAME}/${APPNAME}/releases/${LASTEST_RELEASEID}" -H "accept: application/json" -H "X-API-Token:${APPCENTER_TOKEN}" -H "Content-Type: application/json" -d '{ "release_notes": "${RELEASENOTES}", "mandatory_update": false, $DISTRIBUTIONS_JSON, "notify_testers": false}'
so I think it could be achieved with appcenter-cli version ?
I mean nobody want to patch the app after submitting (distribute release) an application with a group option that will managed only one group.
And currently it's impossible to update the application groups with the  appcenter apps update command anyway :)
I just see a ticket has been closed month ago with the same issue #467 but for me it's not really convenient to switch from one method to another (CLI / API) my main concern is to do only one method.
My explanations :
Because last week I implement really quickly CLI version of our old hockeyapp pipeline. Then I saw it wasn't possible to not notify people.
So I switched to API system, today it was almost over when I realized it was really not convenient to upload a dSym.zip file cause ours are above 256MB and the silent option for release was out last night.
So I switched back to CLI system, integrate the --silent during distribute release process. But then I figure out it was not possible to upload it to multiple group and moreover it's impossible to update it after with the apps update method.
HockeyApp will be dropped within a month (roughly) and the switch is not currently smooth as it must be (according to me). In fact, I don't care if I need to spend a week to switch from one system to another as soon as I don't have to implement X system (CLI AND API) to do what was simple to do with HockeyApp previously.

Thanks for opening this issue! You should be able to achieve your scenario with the appcenter distribute releases add-destination command. The help text for that command looks like this:
➜ appcenter help distribute releases add-destination

Distribute an existing release to an additional destination

Usage: appcenter distribute releases add-destination -d|--destination <arg> -t|--type <arg> -r|--release-id <arg> [-s|--silent] [-m|--mandatory] [-a|--app <arg>]

Options:
    -d|--destination <arg>             The name of the store or group, or the email of the tester
    -t|--type <arg>                    The type of destination: [store, group, tester]
    -r|--release-id <arg>              The ID of the release
    -s|--silent                        If set, do not send a notification to the testers (Not used for stores)
    -m|--mandatory                     Whether the release is mandatory for the testers (Not used for stores)
    -a|--app <arg>                     Specify app in the <ownerName>/<appName> format

Common Options (works on all commands):
       --disable-telemetry             Disable telemetry for this command
    -v|--version                       Display appcenter version
       --quiet                         Auto-confirm any prompts without waiting for input
    -h|--help                          Display help for current command
       --env <arg>                     Environment when using API token
       --token <arg>                   API token
       --output <arg>                  Output format: json
       --debug                         Display extra output for debugging

After my suggestion I used the command you suggest @phillipleblanc (so I think it was the good thing to do as a backup solution) but I encountered another issue if you have a solution for this too.
How can I retrieve the last release ID (most updated release version for an app) with CLI ?
But on the initial topic, I think it could be nice to have this option in the basic upload command. And having the one you suggest (and I used) is good too.

To get recent release ID use below command:
appcenter distribute releases list --app "$owner"/"$appname" | grep ID | head -1

@pradeepvimal I already did this :)
I just did update this topic with the command due to the unrelated topic wuth my initial post.

Improving the command to get the release ID (this one will give you the number on its own):
appcenter distribute releases list --app "$owner"/"$appname" | grep ID | head -1 | tr -s ' ' | cut -f2 -d ' '

Adding tr -s ' ' | cut -f2 -d ' ' will transform

ID            12

to

12

Improving the command to get the release ID (this one will give you the number on its own):
appcenter distribute releases list --app "$owner"/"$appname" | grep ID | head -1 | tr -s ' ' | cut -f2 -d ' '

Adding tr -s ' ' | cut -f2 -d ' ' will transform

ID            12

to

12

Good solution.
By the way, where do you get the above flags? (grep, head ...etc)

By the way, where do you get the above flags? (grep, head ...etc)

I am not sure to understand your question. If you're familiar with the command line you may know about them already (and use man tr for example), but otherwise, there is a lot of online resources about the unix command line and the text manipulation.
It takes a bit of googling sometimes as well to find the correct solution if you're not using those that often (like me).

Im new to all this, especially AppCenter CLI so very appreciated your comments.
Here is my command file using @fabiendem's solution  for anyone who is still learning like me:
appcenter distribute release -a $APPNAME  -r "Release Notes Here" -g "$GROUP_NAME" -f "$FILE_PATH" --token $APP_TOKEN
LATEST_VERSION="$(appcenter distribute releases list --app $APPNAME --token $APP_TOKEN | grep ID | head -1| tr -s ' ' | cut -f2 -d ' ')"
#echo $LATEST_VERSION
appcenter distribute releases add-destination -a $APPNAME -d collaborators -t group -r $LATEST_VERSION --token $APP_TOKEN

For powershell users:
appcenter distribute release --group "Collaborators" --file "dist/${apkName}" --release-notes ${appCenterReleaseNotes} --app "$org/${appCenterAppName}" --token ${appCenterToken}
${appCenterReleasesMatches} = appcenter distribute releases list --app "$org/${appCenterAppName}" --token ${appCenterToken} | Select-String -Pattern "^ID:\s*(\d+)" | Select -First 1
${appCenterLastReleaseId} = ${appCenterReleasesMatches}[0].Matches[0].Groups[1].Value
echo "Last release id = ${appCenterLastReleaseId}"
appcenter distribute releases add-destination --type group --destination "SoB" --release-id ${appCenterLastReleaseId} --app "$org/${appCenterAppName}" --token ${appCenterToken}

The lack of setting multiple groups while creating a release with the CLI was the major obstacle while trying to replace the old API Release API Uploads.

Definitely need updated CLI to release to multiple groups.

Definitely need updated CLI to release to multiple groups.

The lack of setting multiple groups while creating a release with the CLI was the major obstacle while trying to replace the deprecated Release API uploads.

I still can't get mine to work for multiples.

The lack of setting multiple groups while creating a release with the CLI was the major obstacle while trying to replace the deprecated Release API uploads.

I still can't get mine to work for multiples.

This does not work for me

appcenter distribute release -a $APPNAME  -r "Release Notes Here" -g "$GROUP_NAME" -f "$FILE_PATH" --token $APP_TOKEN
LATEST_VERSION="$(appcenter distribute releases list --app $APPNAME --token $APP_TOKEN | grep ID | head -1| tr -s ' ' | cut -f2 -d ' ')"
#echo $LATEST_VERSION
appcenter distribute releases add-destination -a $APPNAME -d $ANOTHER_GROUP_NAME -t group -r $LATEST_VERSION --token $APP_TOKEN

This does not work for me

appcenter distribute release -a $APPNAME  -r "Release Notes Here" -g "$GROUP_NAME" -f "$FILE_PATH" --token $APP_TOKEN
LATEST_VERSION="$(appcenter distribute releases list --app $APPNAME --token $APP_TOKEN | grep ID | head -1| tr -s ' ' | cut -f2 -d ' ')"
#echo $LATEST_VERSION
appcenter distribute releases add-destination -a $APPNAME -d $ANOTHER_GROUP_NAME -t group -r $LATEST_VERSION --token $APP_TOKEN

I found that the response from the list command was not returning things in order, so I used this to fix my problem
NOTE: I added the sort -nr | head 1
sort -r is to reverse sort so that head grabs the latest value.  Yes, you could probably drop the -r use tail but that feels weird to me.
sort -n is a numeric sort.
Full command to get LATEST_VERSION
LATEST_VERSION=$(appcenter distribute releases list  --app $APPNAME  | grep ID | tr -s ' ' | cut -f2 -d ' ' | sort -nr | head -1)
Then distribute to other group
appcenter distribute releases add-destination --app $APPNAME  --destination "Testers" --type group --release-id. $LATEST_VERSION

@ffernandez703 distribution to multiple groups was fixed with https://github.com/microsoft/appcenter-cli/pull/1253
I am not sure you still need to do things manually here


disable prop for multislider component

Hi and first off thanks for the good component I would love to use on my app, but I cannot at the moment because I can't find a way to disable both markers (I have an edit screen component that must render the slider component 'disabled and greyed out' if user is not in 'edit' mode).
Do you plan to add this functionality in the near future?
Cheers

I've already answered myself by setting enabledOne and enabledTwo props to false :+1:

👍


Checkpointing: Add state root in bottom-up checkpoint

The proof for bottom-up checkpoints is currently the key of the tipset for the epoch of the checkpoint being submitted. While this allows to follow that the history of the chain is consistent, it is a quite weak proof. To make it more robust and start moving towards a way to spawn a subnet from the state of a checkpoint, we should include in the proof the state root in the checkpoint's epoch, or both: the tipset key and the state root. The proof could be the serialization of:
struct {
  tipset: Cid
  state: Cid
}

btw, @adlrocha I think it's also good to add a version as the first field so that it's more upgrading friendly, something like:
enum CheckProof {
  V1 { tipset: Cid, state: Cid }
}

btw, @adlrocha I think it's also good to add a version as the first field so that it's more upgrading friendly, something like:

LGTM. Let's do this, even if we make breaking changes for versions initially until we make it to mainnet. I am thinking that if we want these proofs to be custom for subnets we may need to add some metadata name or unique id in the future, but version should be fine for now.

Implemented in #199


Make the workspace -> open file button work to actually open the file using the os's default app for that file (or just always use the browser)

https://github.com/gptscript-ai/desktop/pull/486

Tested with  57e1a5c98d
We have an option to open files in Manage Workspace view now.


feat(build): breaking change. Added html linter to build

This is not a breaking change as it does not affect other plugin or app projects. Please update the commit message accordingly.

This is not a breaking change as it does not affect other plugin or app projects. Please update the commit message accordingly.

You're right! updated


enhance: Refine history suggestion when input contains spaces

For history suggestion mode, suggestion item will be appended after last space, which may cause incorrect input for multi-word commands, say:
show collections after suggetions became show show collections
This PR make suggestion item trim parts before last space.

/lgtm