ML 5.15 : Bias Variance Tradeoff (D)

Description
📌  Issues for Week 5
Welcome to 'ML' Team, good to see you here
:arrow_forward: This issue will helps readers in acquiring all the knowledge that one needs to know about ----
Bias Variance Tradeoff.
:red_circle: To get assigned to this issue, add your Batch Numbers mentioned in the spreadsheet of "Machine Learning", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
✔ Domain : Machine Learning
:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.

"Issue Title" and "PR Title should be the same. Include issue number along with it.

Changes should be made inside the Machine Learning/Machine_Learning/Feature_Engineering_and_Performance_Metrices Branch.

Follow Contributing Guidelines & Code of Conduct before start Contributing.

This issue is only for 'GWOC' contributors of 'Machine Learning' domain.

:white_check_mark: To be Mentioned while taking the issue :

Full name
Batch Number
GitHub Profile Link
Which type of Contribution you want to make :

[ ] Documentation

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎
Domain
Machine Learning
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

Name : T Selva Sanjana
Batch : 3
Git link : https://github.com/sanjana-coder
Type : Documentation

@sanjana-coder Issue assigned to you.


Bump validator

This PR updates the validator package : from 8.2.0 to 9.2.0.
As the change log shows, this incorporates a bunch of new features, like the following validators :

isMimeType()
isPort()
isISO31661Alpha2()

and other bug fixes.
PS: great project ! Love it 👍

Coverage remained the same at 100.0% when pulling 1afe95c247b4dc19b9ed30c8bc5982506b921cd0 on Ilshidur:chore/validator-bump into 85d1f8f34273c2169fb80ee10407485dceb2a1ad on ctavan:master.


Use loglevel to dynamically change logrus' log level during runtime (#752)

for #752
This adds a little server to the controller and the api-server that listens on a local socket for requests to change the log level, and sets the logrus log level accordingly.
This also adds the loglevel binary to /usr/local/bin in the container image, which can be used like loglevel --set info to set the log level, or just loglevel to print the current log level.
This also bumps the baaah dependency in order to get the new changes that reduce the log severity on some of the common logs, as also described in #752.
Checklist

[x] The title of this PR would make a good line in Acorn's Release Note's Changelog
[x] The title of this PR ends with a link to the main issue being address in parentheses, like: This is a title (#1216). Here's an example
[x] All relevant issues are referenced in the PR description. NOTE: don't use GitHub keywords that auto-close issues
[x] Commits follow contributing guidance
[ ] Automated tests added to cover the changes. If tests couldn't be added, an explanation is provided in the Verification and Testing section
[x] Changes to user-facing functionality, API, CLI, and upgrade impacts are clearly called out in PR description
[ ] PR has at least two approvals before merging (or a reasonable exception, like it's just a docs change)

Putting this into draft until acorn-io/loglevel#1 is merged, since this is now dependent on that since we are switching to an abstract namespace unix socket.

Looks great! Can you help me understand how the log level gets changed? I see that we have the code infrastructure in place to set it and am looking for how I trigger that outside of the endpoint.

@tylerslaton the only way to change it is to exec into the pod and run the loglevel command. From the issue description:

First, provide a way to dynamically set the log level of the acorn controller or api server. As an example, rancher did this via: https://github.com/rancher/loglevel/tree/master and https://github.com/rancher/log/blob/master/server/server.go. This allows an operator to run a command against the pod that will change log level with out redploying


Cannot compile zmq and zmq-sys

Perhaps this is related to, or the same as, #130.
Given the following repo and branch: https://github.com/bsima/rust-zmq/tree/cargo2nix-bug
We get error: couldn't read build/main.rs: No such file or directory (os error 2)
I believe the fix could be as simple as including the directory or file specified in the build directive from the Cargo.toml into the source tree when creating the derivation, but I'm not sure where this happens. If you can point me to the relevant code, I'd be happy to try and fix it.
I discovered this while trying to build a package that relies on tmq, which in turn relies on zmq. Maybe there is a way to fix this in the overlay, if so please advise, but I haven't been able to figure it out yet (aside: it would be helpful if overlay/lib/overrides.nix were exposed to the user, so I could just use your makeOverride function in my own overrides).
In any case, I would think that cargo2nix should be able to handle these kinds of local dependencies, so I'm filing this as a bug.

Full shell output

$ nix-build
these derivations will be built:
  /nix/store/c8rm5qxaxskgmv2mi538s8slb982pg03-crate-zmq-sys-0.11.0.drv
  /nix/store/f74yv9znnbicj2zw516ysf8l1n12ml57-crate-zmq-0.9.2.drv
building '/nix/store/c8rm5qxaxskgmv2mi538s8slb982pg03-crate-zmq-sys-0.11.0.drv'...
unpacking sources
unpacking source archive /nix/store/1sbmw2hab1bp3q4j7qh8nfzkk9kf8h92-source
source root is source
patching sources
configuring
building
   Compiling zmq-sys v0.11.0 (/private/var/folders/nk/rbcl1cjn7ljbgcfr04m_jyb40000gn/T/nix-build-crate-zmq-sys-0.11.0.drv-0/source)
{"reason":"compiler-message","package_id":"zmq-sys 0.11.0 (path+file:///private/var/folders/nk/rbcl1cjn7ljbgcfr04m_jyb40000gn/T/nix-build-crate-zmq-sys-0.11.0.drv-0/source)","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-main","src_path":"/private/var/folders/nk/rbcl1cjn7ljbgcfr04m_jyb40000gn/T/nix-build-crate-zmq-sys-0.11.0.drv-0/source/build/main.rs","edition":"2015","doctest":false},"message":{"rendered":"error: couldn't read build/main.rs: No such file or directory (os error 2)\n\n","children":[],"code":null,"level":"error","message":"couldn't read build/main.rs: No such file or directory (os error 2)","spans":[]}}
{"reason":"compiler-message","package_id":"zmq-sys 0.11.0 (path+file:///private/var/folders/nk/rbcl1cjn7ljbgcfr04m_jyb40000gn/T/nix-build-crate-zmq-sys-0.11.0.drv-0/source)","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-main","src_path":"/private/var/folders/nk/rbcl1cjn7ljbgcfr04m_jyb40000gn/T/nix-build-crate-zmq-sys-0.11.0.drv-0/source/build/main.rs","edition":"2015","doctest":false},"message":{"rendered":"error: aborting due to previous error\n\n","children":[],"code":null,"level":"error","message":"aborting due to previous error","spans":[]}}
{"reason":"build-finished","success":false}
error: could not compile `zmq-sys`.
To learn more, run the command again with --verbose.
builder for '/nix/store/c8rm5qxaxskgmv2mi538s8slb982pg03-crate-zmq-sys-0.11.0.drv' failed with exit code 101
cannot build derivation '/nix/store/f74yv9znnbicj2zw516ysf8l1n12ml57-crate-zmq-0.9.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/f74yv9znnbicj2zw516ysf8l1n12ml57-crate-zmq-0.9.2.drv' failed

Hello there, @bsima! It seems your default.nix is missing a localPatterns attribute which includes the build path at build time. Any files or directories outside of src, tests, and any *.(rs|toml) files at each individual crate's root are denied by default in cargo2nix to keep Nix derivation sizes as low as possible. See the examples/3-static-resources tutorial for details on how localPatterns works and how to whitelist additional files and directories.
In the case of rust-zmq, you need to add the following attribute to the pkgs.rustBuilder.makePackageSet' function call in your default.nix and rebuild:
localPatterns = [
  ''^(src|tests|build)(/.*)?''
  ''[^/]*\.(rs|toml)$''
];

I'm pretty sure this should resolve the issue. Please report back in the thread if there are further problems!

@ebkalderon Does localPatterns also work on items outside the repo? zmq-sys is looking for libzmq which is registered to pkg-config by nixpkgs.zeromq. We just need to provide it to a specific derivation. It works when we hand-edit this into the following to the buildDependencies in the Cargo.nix:
zeromq = (import <nixpkgs> { }).zeromq;

localPatterns is not intended to be used in this way, and also the Cargo.nix file is not supposed to be edited directly. If you would like to include additional derivations from Nixpkgs required to build certain Crates.io crates, you will need to provide a package override through the packageOverrides argument to makePackageSet' in your default.nix file. See examples/2-bigger-project for details on this argument, and overlay/overrides.nix for examples of real package overrides which come bundled by default with cargo2nix.
As described in the tutorial, if left unspecified, the packageOverrides argument defaults to:
packageOverrides = pkg: pkgs.rustBuilder.overrides.all;

rustBuilder.overrides.all is an array containing a list of package overrides which bundle e.g. the pkgs.pkg-config derivation with the pkg-config crate, and they propagate the system dependencies up the Cargo dependency chain to every downstream crate that relies on it.
In your specific case, you will need to edit the default.nix and add/replace the packageOverrides argument with:
packageOverrides =
  let
    zmq-sys = pkgs.rustBuilder.rustLib.makeOverride {
      name = "zmq-sys";
      overrideAttrs = drv: {
        propagatedBuildInputs = drv.propagatedBuildInputs or [ ] ++ [ pkgs.zeromq ];
      };
    };
  in
    pkgs: pkgs.rustBuilder.overrides.all ++ [ zmq-sys ];

This will ensure that zmq-sys, whenever it is built, will propagate its pkgs.zeromq build dependency to whatever downstream Rust crates depend on it. Since the zmq-sys crate already depends indirectly on the pkg-config crate, it is already leveraging the pkg-config package override included by default with cargo2nix in a similar manner, eliminating the need to specify pkgs.pkg-config explicitly in the override shown above.
Our general policy is that cargo2nix should be able to build any crate from Crates.io out-of-the-box without manually specifying any package overrides (CONTRIBUTING.md), and this seems like a pretty good case of a common Rust crate which requires a system dependency to build. These package overrides are shipped in the aforementioned overlay/overrides.nix file.
We would gladly take a PR adding the zmq-sys package override shown above to overlay/overrides.nix, if you're up for contributing something! It will be included in the next release so you don't have to specify the override manually and things should "Just Work." 😄

@ebkalderon That worked! Thanks!
As for giving back, I'd be nervous contributing to a project I have such little experience with, and that would affect a large part of the Rust-Nix community, but, I'd hope you wouldn't let me screw it up. You've been so helpful, so I'll give it a try. :)

Awesome! Please don't hesitate at all to throw a PR our way, even a small one. It'll be thoroughly reviewed before merging, so no worries. 😊

Thanks for the quick help @ebkalderon! It is very much appreciated :) I guess I would have expected cargo2nix to read the Cargo.toml and figure out to include the build dir automatically, but if that's not in the feature scope then that's fine too. Either @cryptoquick or I will submit a patch for zmq-sys soon.

Sounds great, @bsima! I'm eagerly awaiting the PR. Feel free to ping me if you need any mentoring on it. 👍
Yeah, we've considered relying on the include and exclude keys in the Cargo.toml for filtering source files before, but ultimately, we've been pretty hesitant to do so because most common crates do not include those keys and therefore crate root directories can potentially get very heavy (especially if there are symlinks to the Nix store or leftover target directories in the tree). To be on the safe side, and to avoid bloating the Nix store and accidentally exhausting the users' disk space, we deny all files by default and require explicit whitelisting with localPatterns. There might be a potential solution to this, though. We're open to any suggestions, of course!


Add a Gitter chat badge to README.md

Permissionless-Software-Foundation/bch-dex now has a Chat Room on Gitter
@christroutner has just created a chat room. You can visit it here: https://gitter.im/Permissionless-Software-Foundation/psf-dex-dev.
This pull-request adds this badge to your README.md:

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

:tada: This PR is included in version 1.5.0 :tada:
Your semantic-release bot :package::rocket:


Add aperturectl flow-control subcommand and reverse-rpc framework

Description of change
Added a Server-to-client rpc framework (reverse RPC), which allows controller
to call functions on agents. See pkg/rpc/doc.go for details.
Added subcommands:

aperturectl agents
aperturectl flow-control control-points
aperturectl flow-control preview [--http] SERVICE CONTROL_POINT

These subcommands are implemented by aperturectl making a request to controller,
which then makes requests to all agents and aggregates results.
This means that agent connects to controller directly, in addition to etcd and grpc connections.
aperturectl can connect to controller either directly or by automatically port-forwarding into kubernetes cluster (--kube).
Examples
michal@latitude-mk ~/n/aperture (live-preview)> ./aperturectl flow-control control-points --kube
6:57PM INF cmd/utils/utils.go160 > Using Kubernetes config '/tmp/kubie-configNOCRRA.yaml' service=aperturectl
AGENT GROUP   SERVICE                                       NAME
default       service1-demo-app.demoapp.svc.cluster.local   egress
default       service1-demo-app.demoapp.svc.cluster.local   ingress
default       service2-demo-app.demoapp.svc.cluster.local   egress
default       service2-demo-app.demoapp.svc.cluster.local   ingress
default       service3-demo-app.demoapp.svc.cluster.local   ingress

michal@latitude-mk ~/n/aperture (live-preview)> ./aperturectl flow-control preview --kube service1-demo-app.demoapp.svc.cluster.local ingress --samples 1
4:54AM INF cmd/utils/utils.go160 > Using Kubernetes config '/tmp/kubie-configcDACeQ.yaml' service=aperturectl
{
  "samples":  [
    {
      "labels":  {
        "aperture.control_point_type":  "http",
        "http.flavor":  "1.1",
        "http.host":  "service1-demo-app.demoapp.svc.cluster.local",
        "http.method":  "POST",
        "http.request.header.content_length":  "201",
        "http.request.header.content_type":  "application/json",
        "http.request.header.cookie":  "session=eyJ1c2VyIjoia2Vub2JpIn0.YbsY4Q.kTaKRTyOIfVlIbNB48d9YH6Q0wo",
        "http.request.header.user_agent":  "k6/0.43.0 (https://k6.io/)",
        "http.request.header.user_id":  "77",
        "http.request.header.user_type":  "subscriber",
        "http.request.header.x_forwarded_proto":  "http",
        "http.request.header.x_request_id":  "b32746d6-7a66-4cd1-8d9f-bd4f7e64bfa9",
        "http.request_content_length":  "0",
        "http.scheme":  "http",
        "http.target":  "/request",
        "user_type":  "subscriber"
      }
    }
  ]
}

Resolves https://github.com/fluxninja/aperture/issues/1262
Checklist

[x] Don't skip TLS checks

[x] ctl→controller
[x] agent→controller

[x] Proper config on agent side
[x] Tested in playground or other setup
[x] Fix tests
[ ] Screenshot (Grafana) from playground added to PR for 15+ minute run
[ ] Documentation is changed or added
[ ] Tests and/or benchmarks are included

This change is


zlib: Fix iOS cross build for 18.09

Motivation for this change
Backport of #46905.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Success on x86_64-darwin (full log)
Attempted: zlib
Partial log (click to expand)
/nix/store/r3nzm8qdsfb19fys6ah01mjyzyylxwpp-zlib-1.2.11

Success on aarch64-linux (full log)
Attempted: zlib
Partial log (click to expand)
/nix/store/nibz005bsdprcdyym883saf5sfi6lky0-zlib-1.2.11

Success on x86_64-linux (full log)
Attempted: zlib
Partial log (click to expand)
/nix/store/bv6znzsv2qkbcwwa251dx7n5dshz3nr3-zlib-1.2.11


Missing "issue" threads 1035 at least????

Can no longer see this comment or any of the thread issue, why?
https://github.com/stascorp/rdpwrap/issues/1035#issuecomment-604501183

Can no longer see this comment or any of the thread issue, why?
#1035 (comment)

May be we need to send this question to M$...
;)


⚠ Garbage Collector has degraded performance

In 7f8261e, Garbage Collector (https://gc.fef.moe/login) experienced degraded performance:

HTTP code: 503
Response time: 3106 ms

Resolved: Garbage Collector performance has improved in 93604e7.


If a pod/rs has any problems inlcude its owners' and matcher services' statuses

In some cases when checking a pod, the root cause could be a recent broken rollout, which just from the pod's perspective won't be visible.
As an example, there is a recent STS/Deployment rollout with a broken image reference. It would be useful to see the status of the parent object to see details about the rollout which caused the issue.

These are now included unconditionally. We can open this to improve if needed.


Key Management API for Function App

Feature Request
For the deployment of the FunctionApp, we frequently use Key Management API. However, there is no interface on the Azure SDK for go.
For more detail.
https://github.com/Azure/azure-functions-host/wiki/Key-management-API
it is used to fetch Azure Functions function keys, host keys, system keys.
I tried to contribute Terraform to enable this feature. The repo owner said that that feature should
be in this repo. I agree with him.
https://github.com/terraform-providers/terraform-provider-azurerm/pull/1493
Of course, If you don't afford it, I'm happy to contribute this. However, since that API is not coming from Swagger definition, I'm not sure where should I implement it.

Thanks for reporting this @TsuyoshiUshio, we'll look into how we can support Functions APIs. I noticed this one too: https://github.com/Azure/azure-functions-host/wiki/Admin-API, are there others?
Note to readers that this isn't directly related to support for Go functions themselves, but an ask for a Go package for managing functions. Please follow #894 if you're interested in Go functions.
cc @asavaritayal @vladbarosan @kirthik

@joshgav admittedly I haven't had time to check it, but at a first glance the API responses look a lot like Kudu, so I'm wondering if that's what's powering this?

@joshgav cool thanks for confirming; we are - but it's not something we need immediately, do you have a rough timeline for this? Thanks!

Thank you @joshgav and @tombuildsstuff
I didn't notice that API too. I'll ask the Azure Function Product team and share with you guys.
At least, https://github.com/Azure/azure-functions-host/wiki/Key-management-API is frequently used for automation of the deployment for Azure Functions function/host/system keys, Durable Functions status check and so on.  It is also used integration with Event Grid. Since it is not ARM api. ARM api only provide us to give us an access token for the api. Then we need to access it using the access token by our selves.
e.g.

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#authorization-keys
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid
https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-http-api

cc @jeffhollan from the Functions team to comment on plans for packages supporting Kudu APIs

ping @jeffhollan :)

I wouldn't build this out yet with the current APIs that exist. We have work planned for later this year that will surface the APIs in a much more friendly way.  Any work we do in the interim would likely be throwaway.

@jeffhollan any updates on the new API being available  ?

Just pinging this thread - the updates aren't out yet but they are on the way so this is likely a good time to look at what the new API surface will be in the coming weeks. @mattchenderson is the point of contact on the API side from our side.

@mattchenderson can you give us some update when the new API will be available?

The new API has been deployed and the upstream issue https://github.com/Azure/azure-functions-host/issues/3994 is closed. I suppose the issue isn't blocked anymore.

The issue was last updated about 2 years ago and as described, such APIs already existed.
As the GO SDK is generated from Swagger, I expected the function is also there. Please let me know if you still have issue.


⚠ Bofrost.at has degraded performance

In 9042613, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2172 ms

Resolved: Bofrost.at performance has improved in da6eb21 after 9 minutes.


Feature request: add printers from interface, extract statistics.

First of all good job, this is great.
It would be nice to be able to add or remove printers directly from the web interface.
Also know statistics such as the time the machine is active or stopped for example, or the filament spent.
This reminds me a lot of the Octofarm days.
Good job.

Also the possibility of changing .env data for example in hot would be fantastic


[stable/mm-te] Bump version to 5.4.0

What this PR does / why we need it:
Bump Mattermost to version 5.4.0
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @davidkarlsen

@sameersbn thanks!


Installation on Ubuntu or Debian

Dear eerotal,
the Projekt looks promising to me. Thank you for sharing your work!
I’m trying to get it running, but still struggling on either Ubuntu 18.04 or Debian 9.6. In both cases I get to the Site over the browser, but no CSS seems to be rendered. On Ubuntu in drops error messages in the browser as well. In both cases I remember error messages during installation but didn’t save them, as I’ve just made quick attempts to install so far.
Of course, I’m willing to try again and to provide any detailed information. But wouldn’t it make sense, you would provide a step-by-step installation guide for a specific OS, such as Ubuntu 18.04 or Debian 9(.6)?
Your installation guide here on the main page seems not to be complete. On Debian 9.6 build-essential was missing, and It doesn’d provide php 7.0 from the packages, but 7.0. Having a standardized installation and knowing exactly what packages are to be installed (OS, php, nodejs …) would help testing and troubleshooting.
Thanks a lot!

Thanks for your feedback! The installation instructions in the readme are for Debian but since Ubuntu is based on Debian the instructions should work there too. Anyway, I spun up a fresh VM with Debian stable and tried the install process and indeed, it didn't work. There were a few errors in the readme and problems with the SCSS to CSS compilation and PHP syntax support.
As you said, build-essential was missing from the readme. Actually the whole build-essential metapackage is not needed as only GNU make is used by the build system. I updated the readme to include that.
The problem with SCSS to CSS compilation was due to the Debian repos having a very old version of the SCSS compiler ruby-sass, which in turn caused problems while compiling the Bootstrap sources. I solved that by using the JavaScript based compiler from npm instead. I would guess this problem is why CSS didn't load on your installation.
Now the case with PHP on Debian stable is quite interesting. PHP 7.2 is only in the testing and unstable repos, and stable only has the 7.0 release. 7.0 is, however, marked End Of Life on 3rd December 2018, so it has one day of security support left. I don't know what plan the Debian maintainers have, maybe they will even continue supporting PHP 7.0 until Debian Stretch is not supported anymore. Anyway, I made some changes to the LibreSignage PHP code to make it work with PHP 7.0 too.
I pushed the changes to the 0.2.2-dev branch, so it'd be great if you could give them a try and report back here. That branch also has some other fixes for the 0.2.2 release which is due to be released in a couple of days.

Thank you for your quick reply and your efforts! Got it working that way on Debian Stretch! Yes, I had error messages concerning SASS.
What I see looks really useful so far to me. Will report further questions separately …
By the way, either Debian and Ubuntu maintain php with security patches until the EoL of their respective OS versions, as PHP is in stable or, respectively, main repository.

Great! I'll close this issue.


Ispn 6354 Remove Map/Reduce

https://issues.jboss.org/browse/ISPN-6354

This one is in preview until a full test suite can go by.  I will also fixup the second commit after I can confirm there were no extra files dragged along in it.

I still need to remove documentation

There are also some test failures I need to clean up.

Updated documentation and fixed tests I saw.  Waiting on a rerun of tests and it should be good.

Oh noooo @wburns an era of M/R gone by :-) However, a new one coming online now! Cheers

The world is experiencing a map reduce hangover :smile:  (from [1])

[1] http://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple

Rebased.

The BulkGetKeys stuff in the hotrod client testsuite is failing consistently :)

Hrmm weird, the other test was working when I tried this.  I will take a look.

Alright I have a fix that should fix the ones I could see.  Going to wait for a full CI run though to confirm.

The last failure should be fixed and I found another reference to remove.  The testsuite takes FOREVER to run though so I haven't been able to confirm it fixed it yet.  Will just wait for another test run.

The test failures seem unrelated now and also majority didn't fail on the previous run when all I changed was https://github.com/infinispan/infinispan/pull/4112/files#diff-a5633337487062932a2065c5635951c5R8

Going

Going

Gone !


Unable to find ConnectionFactory, are you missing RabbitMQ assembly

I just updated from the latest stable version of the Rabbit connector(1.0.0) to 1.0.1-dev-00110 to be able to use the connector with SSL, and I'm getting the following error when trying to register the Rabbit connection:
Unable to find ConnectionFactory, are you missing RabbitMQ assembly    at Steeltoe.CloudFoundry.Connector.Rabbit.RabbitProviderServiceCollectionExtensions.DoAdd(IServiceCollection services, RabbitServiceInfo info, IConfiguration config, ServiceLifetime contextLifetime)    at Steeltoe.CloudFoundry.Connector.Rabbit.RabbitProviderServiceCollectionExtensions.AddRabbitConnection(IServiceCollection services, IConfiguration config, ServiceLifetime contextLifetime, ILoggerFactory logFactory)
I'm using .netcore on an asp.net webapi application. I do have the RabbitMq nuget package installed. Any thoughts? Thanks.

@ndrscrls : With the 1.0.1 release of the Rabbit connector, you will need to add the RabbitMQ Client as a dependency in your applications .csproj file...   The 1.0.0 Steeltoe connector had the dependency included in it, so you would automatically get the dependency when you did a restore on your app.
With 1.0.1, we have disconnected the dependency, so you will need to explicitly add "RabbitMQ.Client" to your apps dependency.  The good news, you can choose the version of the Rabbit Client code you pick with this new approach.... Have a look at Rabbit.csproj ....
https://github.com/SteeltoeOSS/Samples/blob/dev/Connectors/src/AspDotNetCore/Rabbit/Rabbit.csproj
Also, you might run into certificate validation errors if you are using self-signed certs... see brute force code in sample for disabling cert validation:   https://github.com/SteeltoeOSS/Samples/blob/dev/Connectors/src/AspDotNetCore/Rabbit/Controllers/RabbitController.cs

@dtillman Thanks, I do have the reference to RabbitMQ in my project, it looks like this:
 <ItemGroup>     <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />     <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />     <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />     <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />     <PackageReference Include="Steeltoe.CloudFoundry.Connector.MySql" Version="1.0.0" />     <PackageReference Include="Steeltoe.CloudFoundry.Connector.Rabbit" Version="1.0.1-dev-00110" />     <PackageReference Include="RabbitMQ.Client" Version="4.1.3" />   </ItemGroup>
It still fails with the same error.

@ndrscrls : Not sure this is it but could you try and update the MySql connector to 1.0.1 as well.  You will need to explicitly add the MySql dependencies to your app as well, just like the Rabbit dependency.
For example if you are using EFCore with MySql you will need :

or if you want to use the Pomelo EFCore option:

See the MySQL samples on the dev branch for example .csproj files.
Let me know your findings... and thanks for testing this.
Dave

Looks like the issue is occurring due to the AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(name)); call in Steeltoe.CloudFoundry.Connector.ConnectorHelpers.FindAssembly. Using Assembly a = Assembly.Load(new AssemblyName(name)); instead fixes the issue.

@jquintero33 : Thanks... are you running your app on .NET Core and on WIndows or Linux?
Dave

.NET Core on windows in development and Linux in production.

@jquintero33 : Connector fails to find assembly on both WIndows and Linux?

Yes, it fails on both. We are using .Net Core 1.0.1.

@jquintero33 :
Thanks for reporting ... the AssemblyLoadContext.Default.LoadFromAssemblyName() works fine on 1.1 of .NET Core, but fails on 1.0.1 .NET Core...
I've updated the code so to support 1.0.1 of .NET Core ... its in nuget 1.0.1-dev-112.
Dave

It's working now. One thing to note is I had to set the Ssl.Version property on the connection factory otherwise you get an SSL handshake error. I appreciate your help with this, thanks!

Great.. thanks for reporting.


(#10271) Identifying 'Amazon' using '/etc/system-release'

Ken,
Here comes my pull request again, target at branch '1.6.x'.
I managed to test successfully via capistrano against the following Amazon AMI's:
ami-0af30663  # amzn-ami-0.9.7-beta.x86_64-ebs
ami-38c33651  # amzn-ami-0.9.8-beta.x86_64-ebs
ami-2272864b  # amzn-ami-0.9.9-beta.x86_64-ebs
ami-74f0061d  # amzn-ami-2010.11.1-beta.x86_64-ebs
ami-8e1fece7  # amzn-ami-2011.02.1.x86_64-ebs
ami-7341831a  # amzn-ami-2011.09.1.x86_64-ebs
ami-1b814f72  # amzn-ami-2011.09.2.x86_64-ebs

The command line results of each run is here:
https://gist.github.com/1545213
I used two crude scripts to execute these runs. If necessary these executions can be reproduced (I hope) using both from here:
https://gist.github.com/1545196
https://gist.github.com/1545207
Happy hollydays,
Best,
Marcus

Hi Marcus,
I think your rebase hasn't worked :-). You're pulling in quite a lot of patches here from master it would seem. Take a look at this pull request and the list of commits to see what I mean.
I think I know what is wrong - you are working from master - not from a topic branch, and you haven't rebased from 1.6.x (nor would I recommend doing that when you are in master at this point).
What you need to do is always work from topic branches. Try copying out the files you want out from your copy of facter and going through the process again. I could walk through a recovery from the point you have reached, but starting again might be simpler :-).
Here is a basic workflow that might work for you:
git clone git://github.com/puppetlabs/facter.git
cd facter
git remote rename origin upstream
git remote add origin git@github.com:mv/facter.git # now 'origin' is your copy
git checkout 1.6.x
git checkout -b ticket/1.6.x/10271-identifying_amazon # now you have a branch based on 1.6.x
# make your patch changes here here
git push origin ticket/1.6.x/10271-identifying_amazon:ticket/1.6.x/10271-identifying_amazon

Then go to github - find that branch and raise that as a pull request on 1.6.x :-).
The idea is that you never directly work on the 1.6.x or master branches yourself, you raise small branches where you do your work, I (or someone else) merges it in - then you pull that down from 1.6.x and then you rinse & repeat. This way you can keep a whole set of changes around that are pending merge, and you can keep doing other work without effecting them. Also - you'll be able to 'rebase' them much easier if you want to move the change between master & 1.6.x.
If you haven't done it much it can take some getting use to. I'm on IRC/freenode today if you want help ... nic is - ken_barber :-).

Hi Marcus,
I think your rebase hasn't worked :-). You're pulling in quite a lot of patches here from master it would seem. Take a look at this pull request and the list of commits to see what I mean.
I think I know what is wrong - you are working from master - not from a topic branch, and you haven't rebased from 1.6.x (nor would I recommend doing that when you are in master at this point).
What you need to do is always work from topic branches. Try copying out the files you want out from your copy of facter and going through the process again. I could walk through a recovery from the point you have reached, but starting again might be simpler :-).
Here is a basic workflow that might work for you:
git clone git://github.com/puppetlabs/facter.git
cd facter
git remote rename origin upstream
git remote add origin git@github.com:mv/facter.git # now 'origin' is your copy
git checkout 1.6.x
git checkout -b ticket/1.6.x/10271-identifying_amazon # now you have a branch based on 1.6.x
# make your patch changes here here
git push origin ticket/1.6.x/10271-identifying_amazon:ticket/1.6.x/10271-identifying_amazon

Then go to github - find that branch and raise that as a pull request on 1.6.x :-).
The idea is that you never directly work on the 1.6.x or master branches yourself, you raise small branches where you do your work, I (or someone else) merges it in - then you pull that down from 1.6.x and then you rinse & repeat. This way you can keep a whole set of changes around that are pending merge, and you can keep doing other work without effecting them. Also - you'll be able to 'rebase' them much easier if you want to move the change between master & 1.6.x.
If you haven't done it much it can take some getting use to. I'm on IRC/freenode today if you want help ... nic is - ken_barber :-).


Implement password profile feature in Cloudberry DB.

This commit mainly implements the password profile feature. The grammars is compatible to ORACLE password profile.
A password profile is a named set of password attributes that allow a DBA to easily manage a group of roles(or users) that share similar password security requirements. Every profile can be attched to one or more users. When a user login in, the server enforces the profile that is attached to the user.
Now, profiles can support to several significant security practices, as following:
1.specifying the number of failed login attempts.
2.locking a user when it exceeds failed login attempts.
3.defining lock time.
4.defining limit of password reuse time.
What's more, for database is always available, every super user is not managed by profiles. Only when the normal user is enable to use profile, the profile is effective.
Authored-by: Zhang Wenchao<EMAIL_ADDRESS>

closes: #ISSUE_Number

Change logs
Describe your change clearly, including what problem is being solved or what feature is being added.
If it has some breaking backward or forward compatibility, please clary.
Why are the changes needed?
Describe why the changes are necessary.
Does this PR introduce any user-facing change?
If yes, please clarify the previous behavior and the change this PR proposes.
How was this patch tested?
Please detail how the changes were tested, including manual tests and any relevant unit or integration tests.
Contributor's Checklist
Here are some reminders and checklists before/when submitting your pull request, please check them:

[x] Make sure your Pull Request has a clear title and commit message. You can take git-commit template as a reference.
[x] Sign the Contributor License Agreement as prompted for your first-time contribution.
[x] List your communication in the GitHub Issues or Discussions (if has or needed).
[x] Document changes.
[x] Add tests for the change
[x] Pass make installcheck
[x] Pass make -C src/test installcheck-cbdb-parallel
[x] Feel free to @cloudberrydb/dev team for review and approval when your PR is ready🥳

 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.

PR is closed? @wenchaozhang-123

PR is closed? @wenchaozhang-123

Sorry, I close that not carefully.

Part review: Reading the comments in log_monitor.c

Like autovacuum, the login monitor is structured in two different  kinds of processes: the login monitor launcher and the login monitor worker

I have no context about that, could you elaborate more about the design? Why we must need these aux processes, could postmaster do the job and etc.

yes, need these processes to rewrite catalog, postmaster can do the job, but it's not reasonable.

Part review: Reading the comments in log_monitor.c

Like autovacuum, the login monitor is structured in two different  kinds of processes: the login monitor launcher and the login monitor worker

I have no context about that, could you elaborate more about the design? Why we must need these aux processes, could postmaster do the job and etc.

yes, need these processes to rewrite catalog, postmaster can do the job, but it's not reasonable.

I checkout this pr's branch, clean everything and init cluster failed.
make distclean && config && make install and then
make cluster,  failed and got a  core dump: sth related to AuxiliaryProcessMain
[FATAL]:- Command /home/gpadmin/install/gp9/bin/initdb -E UNICODE -D /home/gpadmin/dbhouse/gp9/qddir/demoDataDir-1  --lc-collate=en_US.utf8 --lc-ctype=en_US.utf8 --lc-messages=en_US.utf8 --lc-monetary=en_US.utf8 --lc-numeric=en_US.utf8 --lc-time=en_US.utf8 --max_connections=150 --shared_buffers=128000kB --data-checksums failed with error status 1, see log file /home/gpadmin/dbhouse/gp9/gpAdminLogs/gpinitsystem_20230802.log for more detail Script Exiting!
20230802:14:48:30:087939 gpinitsystem:i-v3roa8c2:gpadmin-[WARN]:-Script has left Cloudberry Database in an incomplete state
20230802:14:48:30:087939 gpinitsystem:i-v3roa8c2:gpadmin-[WARN]:-Run command bash /home/gpadmin/dbhouse/gp9/gpAdminLogs/backout_gpinitsystem_gpadmin_20230802_144828 on coordinator to remove these changes
========================================
gpinitsystem returned: 1
========================================

======================================================================
                           OPTIMIZER STATE
----------------------------------------------------------------------
  Optimizer state .. : psql: error: connection to server on socket "/tmp/.s.PGSQL.9000" failed: No such file or directory
        Is the server running locally and accepting connections on that socket?

I checkout this pr's branch, clean everything and init cluster failed. make distclean && config && make install and then make cluster, failed and got a core dump: sth related to AuxiliaryProcessMain
[FATAL]:- Command /home/gpadmin/install/gp9/bin/initdb -E UNICODE -D /home/gpadmin/dbhouse/gp9/qddir/demoDataDir-1  --lc-collate=en_US.utf8 --lc-ctype=en_US.utf8 --lc-messages=en_US.utf8 --lc-monetary=en_US.utf8 --lc-numeric=en_US.utf8 --lc-time=en_US.utf8 --max_connections=150 --shared_buffers=128000kB --data-checksums failed with error status 1, see log file /home/gpadmin/dbhouse/gp9/gpAdminLogs/gpinitsystem_20230802.log for more detail Script Exiting!
20230802:14:48:30:087939 gpinitsystem:i-v3roa8c2:gpadmin-[WARN]:-Script has left Cloudberry Database in an incomplete state
20230802:14:48:30:087939 gpinitsystem:i-v3roa8c2:gpadmin-[WARN]:-Run command bash /home/gpadmin/dbhouse/gp9/gpAdminLogs/backout_gpinitsystem_gpadmin_20230802_144828 on coordinator to remove these changes
========================================
gpinitsystem returned: 1
========================================

======================================================================
                           OPTIMIZER STATE
----------------------------------------------------------------------
  Optimizer state .. : psql: error: connection to server on socket "/tmp/.s.PGSQL.9000" failed: No such file or directory
        Is the server running locally and accepting connections on that socket?

Actually, login monitor is like autovac launcher process， there are all not the aux process.  I should debug it, can give me the core?

can give me the core?

Isn't it core stack? What else do you need.
And its log showed error was in initdb which I see we have the codes changed in initdb.c
I didn't reproduce it again, but it worth checking the codes to ensure there are no issues.

another 2 :
1.messages are inconsistent, some have quote "", some not.
gpadmin=# ALTER PROFILE myprofile1 LIMIT;
ERROR:  profile "myprofile1" does not exist
gpadmin=# drop profile myprofile1;
ERROR:  profile myprofile1 does not exist

2.Seems each segment has an login process  Why are login process needed on segments besides master?
And if we are not ready before all issues are resolved, convert pr to draft instead of close and reopen

Yes, the format should be consistent.
I have considered what you said, users logining under utility mode should also process which consistent with cluster.
What's more, it just closed the pr uncarefully and reopened that.

can give me the core?

Isn't it core stack? What else do you need. And its log showed error was in initdb which I see we have some codes changed in initdb.c I didn't reproduce it again, but it worth checking the codes to ensure there are no issues.

I mean the core file, I need to debug. Whatever, in initdb.c, it just changes the table's privilege which should not result in this core. I will try to reproduce that and

another 2 :
1.messages are inconsistent, some have quote "", some not.
gpadmin=# ALTER PROFILE myprofile1 LIMIT;
ERROR:  profile "myprofile1" does not exist
gpadmin=# drop profile myprofile1;
ERROR:  profile myprofile1 does not exist

2.Seems each segment has an login process  Why are login process needed on segments besides master?
And if we are not ready before all issues are resolved, convert pr to draft instead of close and reopen

Yes, the format should be consistent.
I have considered what you said, users logining under utility mode should also be processed which is consistent with cluster.
What's more, it just closed the pr uncarefully and reopened that.

can give me the core?

Isn't it core stack? What else do you need. And its log showed error was in initdb which I see we have some codes changed in initdb.c I didn't reproduce it again, but it worth checking the codes to ensure there are no issues.

I mean the core file, I need to debug. Whatever, in initdb.c, it just changes the table's privilege which should not result in this core. I will try to reproduce that and recheck.

Hi @wenchaozhang-123: thank you for your contribution. IIRC, plz use "rebase" instead of "merge" for your commits to stay up to date with the main branch. Additionally, please remember to tidy up your commit history. Thank you!/cc @my-ship-it

Please resolve conflicts and rebase and have a test.

Please resolve conflicts and rebase and have a test.

Has solved.

fix https://github.com/cloudberrydb/cloudberrydb/issues/88

fix https://github.com/cloudberrydb/cloudberrydb/issues/71


Remove emailing support, AWS SNS is simpler

Do you need to replace with something to connect to SNS?


Update HA docs

The Alertmanager HA docs are outdated due to the move from mesh to memberlist as flags have changed due to those changes. Beyond that it would probably be good if we add a section in the docs on HA on prometheus.io .
@stuartnelson3 @fabxc
cc @starsdeep

With #1277 merged and the link on Prometheus.io to the updated README this seems fixed to me.
@jamtur01 Thanks for your help!
@brancz Please reopen in case I am missing something.


autoCodeSplitting Not Working on Vite in Windows

Which project does this relate to?
Router
Describe the bug
When enabling autoCodeSplitting in Vite, the expected chunk splitting does not occur on Windows. However, the behavior works correctly on Linux.
And here is a related issue: https://github.com/TanStack/router/issues/2167#issuecomment-2358873915
Linux Output:
Run pnpm build

><EMAIL_ADDRESS>build /home/runner/work/reproduce-vite-code-splitting/reproduce-vite-code-splitting
> vite build

♻  Generating routes...
✅ Processed routes in 121ms
vite v5.4.6 building for production...
transforming...
✓ 102 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html                  0.65 kB │ gzip:  0.36 kB
dist/assets/about-B19ju1L8.js    0.16 kB │ gzip:  0.16 kB
dist/assets/index-DxpCI4tz.js    0.17 kB │ gzip:  0.16 kB
dist/assets/index-BGUdPL3l.js  247.91 kB │ gzip: 77.05 kB
✓ built in 1.18s

Windows Output:
Run pnpm build

><EMAIL_ADDRESS>build D:\a\reproduce-vite-code-splitting\reproduce-vite-code-splitting
> vite build

♻  Generating routes...
✅ Processed routes in 175ms
vite v5.4.6 building for production...
transforming...
✓ 99 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html                  0.66 kB │ gzip:  0.37 kB
dist/assets/index-DFz3RJcM.js  246.41 kB │ gzip: 76.30 kB
✓ built in 1.51s

On Linux and macOS, the build process successfully splits the assets into separate chunks as expected, with clear differences in the output size of the files. In contrast, on Windows, chunk splitting does not occur, resulting in a single large JavaScript file, which is contrary to the intended behavior of the autoCodeSplitting feature.
This discrepancy between operating systems suggests that there may be environment-specific factors affecting the code-splitting functionality in Vite on Windows.
Your Example Website or App
https://github.com/greenhat616/reproduce-vite-code-splitting
Steps to Reproduce the Bug or Issue

use the starter of @tanstack/router
run pnpm build

Expected behavior
As a user, I hope the code splitting works as expect on other platforms.
Screenshots or Videos
Nope. The CI output is enough.
Platform

OS: Windows
Browser: Not related
Version: Not related

Additional context
https://github.com/greenhat616/reproduce-vite-code-splitting/actions/runs/10926568001

can you please rerun with the env var TSR_VITE_DEBUG=true and post the result here?

@schiller-manuel
I don't know why the debug info is not produced in windows.
Here is the CI output:
Run pnpm build
  pnpm build
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    PNPM_HOME: C:\Users\runneradmin\setup-pnpm\node_modules\.bin
    STORE_PATH: D:\.pnpm-store\v3
    TSR_VITE_DEBUG: true

><EMAIL_ADDRESS>build D:\a\reproduce-vite-code-splitting\reproduce-vite-code-splitting
> vite build

♻  Generating routes...
✅ Processed routes in 164ms
vite v5.4.6 building for production...
transforming...
✓ 99 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html                  0.66 kB │ gzip:  0.37 kB
dist/assets/index-DFz3RJcM.js  246.41 kB │ gzip: 76.30 kB
✓ built in 1.53s

The run log of CI: https://github.com/greenhat616/reproduce-vite-code-splitting/actions/runs/10926802588/job/30331522968
And I test it manually on my desktop:

maybe try pnpm dev locally?

@schiller-manuel Nope. And I have figure out whether the logs is not output in windows.
Causes is the wrong impl in fileIsInRoutesDirectory.
I modify the file in node_modules:
transformInclude(transformId) {
      // console.info("transformId", transformId)
      if (!userConfig.autoCodeSplitting) {
        // console.info("Auto code splitting is disabled.");
        return void 0;
      }
      let id = transformId;
      if (id.startsWith(JoinedSplitPrefix)) {
        id = id.replace(JoinedSplitPrefix, "");
      }
      if (transformId.includes("routes")) {
        console.info("transformInclude", id, "routesDirectory", userConfig.routesDirectory)
      }
      if (fileIsInRoutesDirectory(id, userConfig.routesDirectory) || id.includes(splitPrefix)) {
        console.info("transformInclude", id)
        return true;
      }
      return false;
    },

The outputs was:
unpluginRouterComposedFactory { autoCodeSplitting: true } { framework: 'vite' }
unpluginRouterCodeSplitterFactory { autoCodeSplitting: true } { framework: 'vite' }
debug true
unpluginRouterComposedFactory [
  {
    name: 'router-generator-plugin',
    watchChange: [AsyncFunction: watchChange],
    vite: { configResolved: [AsyncFunction: configResolved] },
    rspack: [AsyncFunction: rspack],
    webpack: [AsyncFunction: webpack]
  }
] [
  {
    name: 'router-code-splitter-plugin',
    enforce: 'pre',
    resolveId: [Function: resolveId],
    transform: [Function: transform],
    transformInclude: [Function: transformInclude],
    vite: { configResolved: [Function: configResolved] },
    rspack: [Function: rspack],
    webpack: [Function: webpack]
  }
]
ROOT G:/Programs/Node.js/reproduce-vite-code-splitting
userConfig {
  routeFileIgnorePrefix: '-',
  routesDirectory: 'G:\\Programs\\Node.js\\reproduce-vite-code-splitting\\src\\routes',
  generatedRouteTree: 'G:\\Programs\\Node.js\\reproduce-vite-code-splitting\\src\\routeTree.gen.ts',
  quoteStyle: 'single',
  semicolons: false,
  disableTypes: false,
  addExtensions: false,
  disableLogging: false,
  disableManifestGeneration: false,
  apiBase: '/api',
  routeTreeFileHeader: [
    '/* prettier-ignore-start */',
    '/* eslint-disable */',
    '// @ts-nocheck',
    '// noinspection JSUnusedGlobalSymbols'
  ],
  routeTreeFileFooter: [ '/* prettier-ignore-end */' ],
  autoCodeSplitting: true,
  indexToken: 'index',
  routeToken: 'route'
}

♻  Generating routes...
✅ Processed routes in 66ms
vite v5.4.6 building for production...
transformInclude G:/Programs/Node.js/reproduce-vite-code-splitting/src/routes/__root.tsx routesDirectory G:\Programs\Node.js\reproduce-vite-code-splitting\src\routes
transformInclude G:/Programs/Node.js/reproduce-vite-code-splitting/src/routes/index.tsx routesDirectory G:\Programs\Node.js\reproduce-vite-code-splitting\src\routes
transformInclude G:/Programs/Node.js/reproduce-vite-code-splitting/src/routes/about.tsx routesDirectory G:\Programs\Node.js\reproduce-vite-code-splitting\src\routes
✓ 99 modules transformed.
dist/index.html                  0.65 kB │ gzip:  0.36 kB
dist/assets/index-DFz3RJcM.js  246.41 kB │ gzip: 76.30 kB
✓ built in 432ms

And add process.normalize to fileIsInRoutesDirectory  could make the output work.

I suppose to draft a pr later to solve it.


Fetchmore, json encoding, and query var change patches

closes #389, #386, #374, #351
Fixes / Enhancements

default to object.toJson() in toKey() (#374)
use noCache when calling fetchMore to avoid cache writes/normalization
add mechanism to writeToCache in addQueryResult so fetchMore now calls:

      queryManager.addQueryResult(
        queryId,
        fetchMoreResult,
        writeToCache: true,
      );

Added the eager result to the stream onListen (https://github.com/zino-app/graphql-flutter/issues/351#issuecomment-524975586)
Added a key to Query` to reset the stream (initial renders with new variables would have stale data otherwise)

:tada: This PR is included in version 2.1.1-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Clear pending item in TakeWhile

Pending item is no longer needed after termination flag has been set, so it's better to clear it earlier.
Though it's not strictly a bug, but more a surprising behavior: if pending item is not cleared, item's destructor is called after the stream's destructor. In my case it was causing a problem terminating a stream from RdKafka, cos it relies on the destruction order.

Thanks! This seems reasonable to me.


read_many_patterns breaks aggregation when missing values for distance_from_home

read_many_patterns appears to be having a problem handling missing values for distance_from_home when aggregating by county FIPS code.
For example, when I make a call to read_many_patterns with the below code to read weekly patterns for a single state, every other variable reads without issue, but the entire column of distance_from_home is filled with NA values.
Not every POI is missing data for distance_from_home, so this is not the expected behavior for this function. Is there any way around this?
patterns <- read_many_patterns("patterns_dir",
recursive = TRUE,
naics_link = poi_link,
by = c('state_fips', 'county_fips'),
filter = 'state_fips == 34')

Shoot! I will take a look at this, thanks for letting me know.

Figured it out - this is due to now the na.rm option works. It only removes missing values for variables specified in expand_int or expand_cat. It doesn't drop missings for distance_from_home, then, so sum() returns an NA if there are any missing values.
I will try to get a fix for this. In the meantime, you can get around this by specifying an aggregation function that handles NAs. So fun = function(x) sum(x, na.rm = TRUE) in your read_patterns() call should handle it.

Thanks Nick! Appreciate any help you can offer with this.

I gave that a try and received this error:
Attempted to find start_date from filename. I think it's YYYY-MM-DD 2020-03-02
Error in `[.data.table`(patternsb, , lapply(.SD, fun), by = by) :
  Column 4 of result for group 2 is type 'double' but expecting type 'integer'. Column types must be consistent for each group.

Any idea on what the problem could be? Thanks!

Hmm, two possibilities come to mind - the first is that you've left some columns in there that sum() doesn't accept (try the select() option to get rid of them). Another is that, within states, sum() produces a double in one group but not another for some reason.
Two approaches to fixing:

Try `fun = function(x) sum(as.double(x), na.rm = TRUE)
The benefits of read_patterns really show up when you're using one of the expand options. Since you're not, you might want to just use fread to read the file directly, use fips_from_cbg() to extract the state and county FIPs values (see the help file for examples), and then aggregate it yourself, which will give you more control.

Should be fixed by 2bc66ad640aaf605756c6645846bdbf8028f12c7


plot/hist/boxplot with non numeric/date Index and MultiIndex

Plotting functions work fine if the index holds numeric or date data.
But error is generated when Index holds e.g strings, or when MultiIndex is used.

Idea is indeed to use a string representation of the index keys for tick marks.
In [14]: df
Out[14]:
      consumption
car1  5.5
car2  7.0
car3  4.0

In [15]: df.plot()

gives: ValueError: could not convert string to float: car3

In [24]: df
Out[24]:
               consumption
brand  model
brand1 model1  5.5
       model2  7.0
brand2 model1  4.0

gives: ValueError: setting an array element with a sequence.


[tech design] td-09 - Telemetry

This PR tracks the creation of the Telemetry tech design

Moved to other repo


Support sandbox shutdown in shim runtimes

Sandbox API offers Delete call, but there is no corresponding endpoint of shim side. This PR updates shim sandbox protos to allow runtimes implement it's own logic for final cleanup and to shutdown shim instance.

/test pull-containerd-sandboxed-node-e2e


Server Side Rendering Support

#4 - Relevant
https://kit.svelte.dev/docs/faq#how-do-i-use-x-with-sveltekit-how-do-i-use-a-client-side-only-library-that-depends-on-document-or-window
Would need to test to confirm, but have used this on TS Particles for a Vercel deployment and had no issues. May also be related to the weird vite config issue.

already used in #5. I'll test SSR more if the Vite config issue is resolved.

I made this before I saw #5 , will delete


fix: Auth.VerifyForUser returns response data as error

@kwoodhouse93 @JamieCrisman would y'all mind giving this a review? There's an existing issue for this https://github.com/supabase-community/auth-go/issues/2


Fixing build failure on OS X due to missing python env

We have a very odd failure for tests which is not caused by this. I am going to merge this to resolve the OS X build issue and then work on that.


Need to indicate where each kind of runbook can be executed: Windows or Linux

Content needs to have information on what type of Hybrid Runbook Worker you can execute the runbook type on.

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

ID: 8081200f-2bf4-db58-c957-c8ab7af5f90b
Version Independent ID: b135cf1a-c391-03e5-41e7-e13571351e91
Content: Azure Automation Runbook Types
Content Source: articles/automation/automation-runbook-types.md
Service: automation
GitHub Login: @georgewallace
Microsoft Alias: gwallace

@Roblarson Thanks for the Comment. We are actively investigating and will get back to you soon.

@roblarson Thanks for the suggestion.. I can add this to the doc, currently these limitations are defined in the Linux HRW doc But I can add a note to the one you referenced as well.. Once I add the reference the PR will auto close this issue..

@georgewallace Thanks for the update. Assigned this to you.


🌐 Add Japanese translation for docs/ja/docs/tutorial/body-nested-models.md

This PR translates the tutorial/body-nested-models.md  to Japanese.
Please review tutorial/body-nested-models.md
Issue #1571 generates a new directory to support Japanese.
PR #1656 generates a new directory for tutorial.
I will fix dependency after #1571 & #1656 are merged.

📝 Docs preview for commit 0ad805d7f60db1143da294e28c0e3d3369c63304 at: https://6499c185c77ce600c0dfd6dd--fastapi.netlify.app


[ENHANCEMENT] Non-vectorised Fields

Overview
Currently tensors are produced for all string and image fields. The fixed size of tensors stored can lead to a significant increase in storage for text fields. There are many application and use cases where certain fields need only be keyword/lexically searched.
This is a feature request to allow end users to highlight text fields (or partial sub-strings) to skip tensorisation.
Proposed Design
The proposed design is to allow users to specific, per document if the field should have a tensor created. The default is for that each field will have a tensor, and a deny list, per add_documents, will specify if inference and tensorisation should be skipped.
Marqo Client
For the client, this would look like:
mq.index("an-index").add_documents([
    {
        "Title": "Palamedes",
        "Description": "Palamedes is set in the days before King Arthur's reign, and describes the adventures of the fathers of Arthur, Tristan, Erec and other knights of Camelot.",
        "ReferenceLocation": "ISBN"
        "Author": "Rustichello da Pisa"
    }],
    non_tensor_fields=["Author", "ReferenceLocation"]
)

Marqo
The kwarg non_tensor_fields will be a query parameter on the /indexes/{index_name}/documents POST. Since there is no index level defaults, marqo instances will default to vectorising all fields, f that don't have non_tensor_fields=f.
Alternative - Field Level DSL
An alternate design draws inspiration from special tokens within NLP (e.g. stop/start tokens) to let users designate non-tensor text on a per-character (and therefore, per field).
Marqo Client
When adding documents to an index, a user can specify that no tensor should be made for text, via tokens:
mq.index("an-index").add_documents([
    {
        "Title": "<marqo no_tensor>The Travels of Marco Polo </marqo no_tensor>",
        "Description": "A 13th-century travelogue describing Polo's travels",
    }
])

Or with py-marqo library support:
mq.index("an-index").add_documents([
    {
        "Title": marqo.without_tensor("The Travels of Marco Polo"),
        "Description": "A 13th-century travelogue describing Polo's travels",
    }
])

Which supports embedding non-tensor text within a larger, tensor field.
mq.index("an-index").add_documents([
    {
        "Title": f"Start of the text is tensored. {marqo.without_tensor("The Travels of Marco Polo")} The end of the text is tensored.",
        "Description": "A 13th-century travelogue describing Polo's travels",
    }
])

This provide two forms of flexibility:

A per-character designation for what should have a tensors.
A token/syntax DSL for further text-based functionality (e.g. emphasisations, chunk control)

Marqo
Marqo is responsible for parsing and understanding the text DSL/tokens, chunking and constructing tensors for the appropriate text sections, and storing the tensors accordingly. Marqo must do two new things:

Chunk text without the ignored text sections (and skip chunking & inference if the entire field is ignored)
Save the full-text for lexical search support.

Storage
No changes to storage will be needed.
Problems

It does force the client to constantly not tensorise their fields.
Users must explicitly ask for lexical search for non-tensor sections.

Alternatives - Field level Denylist
An alternative approach is to specific text to not be tensorised on a field level (instead of a per document basis). This would allow users to specific on both index and document creation, if a field should not be tensorised.
Marqo Client
On a new index
mq.create_index("new-index", {
    "non_tensor_fields": ["Title", "another_text_field"],

    # Other settings, as before
    "model":"ViT-L/14"
})

# Only `Description` field will have an associated tensor.
mq.index("new-index").add_documents([
    {
        "Title": "The Travels of Marco Polo",
        "Description": "A 13th-century travelogue describing Polo's travels",
        "another_text_field": "ISBN"
    },
    {
        "Title": "Extravehicular Mobility Unit (EMU)",
        "Description": "The EMU is a spacesuit that provides environmental protection, "
                       "mobility, life support, and communications for astronauts",
        "_id": "article_591",
        "another_text_field": "online"
    }
])

Or on a new document
mq.index("new-index").add_documents([
    {
        "Title": "Palamedes",
        "Description": "Palamedes is set in the days before King Arthur's reign, and describes the adventures of the fathers of Arthur, Tristan, Erec and other knights of Camelot.",
        "another_text_field": "ISBN"
        "new_text_field": "Rustichello da Pisa"
    }],
    non_tensor_fields=["another_text_field", "new_text_field"] # This applies for all documents going forward
)

As per the above add_documents example, both new and existing fields can be converted to non-tensor fields. Converting from non-tensor fields to tensor fields is not within the scope of this feature request as it would cause an unexpected search experience (a field now having tensors to search over will miss the original documents that were not tensorised). non_tensor_fields, then, represents a one-way door on index fields.
Marqo
Non-tensor fields can be stored at an index level, specifically, in the _meta.index_settings field from the _mappings call (see get_index_info). This information is available when adding documents. Marqo can then determine which fields to perform inference on. Cache staleness on index information only has the penalty of unneeded inference. When a field is marked as non-tensor, tensors can still be stored against them (i.e. this will avoid issues with rolling update of index information on marqo instances).
Storage
As mentioned above, whether a field should have tensors is denylisted. Further, it can be stored in an index level on the JSON structure key ._meta.index_settings. add_index already updates this attribute. If non_tensor_fields is non-empty with new fields, add_documents will have to update the index info.
Open Issues

Can we extend this to treat_urls_and_pointers_as_images to be a per-field level?

Easier on the alternative approach, not the original.

Required Changes
marqo-ai/marqo

Add parameter, non_tensor_fields to add_documents_orchestrator

Add parameter, non_tensor_fields to add_documents

Add query parameter to and pass through to add_documents_orchestrator:

@app.post("/indexes/{index_name}/documents")
@app.put("/indexes/{index_name}/documents")

In add_documents update line:40, if isinstance(field_content, (str, Image.Image)): to exclude on non_tensor_fields

marqo-ai/py-marqo

Add kwarg non_tensor_fields to add_documents. Default to empty list.
Pass through into requests made in non_tensor_fields

marqo-ai/marqodocs

Update query parameter in ./docs/API-Reference/documents.md for methods:

POST /indexes/{index_name}/documents
PUT  /indexes/{index_name}/documents


azidentity guidance

Hi!
I've just seen the information in https://github.com/Azure/go-autorest/issues/580. The new azidentity module looks great.
Is there recommendation for consumers of the Go SDK, in terms of what to use? For example, sops has Azure integration, and most of that code is currently just the auth handling. I've got a PR in progress to add seamless MSI support, but I am wondering if I should go ahead and overhaul it to use azidentity.
I assume the azure-go-sdk will eventually only use azidentity and over time the need for the azidext adapter will go away? What is the recommendation for developers, today? Will this change in the future? Any idea of timeline?
Thanks a bunch!

azidentity is indeed the future, and we have a handful of ring-zero management services modules available that natively use it (i.e. no azidext required).  You can find them here.
As for using azidentity, while we (the Go SDK team) would love for you to use it, I must point out that it's still in preview and hasn't really been tested at scale (we have pretty comprehensive unit tests and have performed a lot of manual end-to-end tests, but this doesn't always catch bugs that appear under load).  Also, we are still refining the public surface area so their might be the occasional breaking change although we try to avoid that if possible (we rev the minor version number in this case).  That said, if you decide to use it and find bugs or have questions/comments on the APIs, please open an issue in the azure-sdk-for-go repo, add tags Azure.Identity and tag @catalinaperalta

azidentity is indeed the future, and we have a handful of ring-zero management services modules available that natively use it (i.e. no azidext required).  You can find them here.
As for using azidentity, while we (the Go SDK team) would love for you to use it, I must point out that it's still in preview and hasn't really been tested at scale (we have pretty comprehensive unit tests and have performed a lot of manual end-to-end tests, but this doesn't always catch bugs that appear under load).  Also, we are still refining the public surface area so their might be the occasional breaking change although we try to avoid that if possible (we rev the minor version number in this case).  That said, if you decide to use it and find bugs or have questions/comments on the APIs, please open an issue in the azure-sdk-for-go repo, add tags Azure.Identity and tag @catalinaperalta

Closing as I believe this has been answered.  Please ping back if you have more questions.


Implement Tanks-in-Series model

From Subramaniam et al: https://iopscience.iop.org/article/10.1149/2.0342001JES/pdf
Compare RMSEs with SPM and SPMe

My understanding is that this model is basically SPMe with piecewise-constant electrolyte.
Task for practice hackathon, all need tests and docs. They can all be done more or less in parallel once interfaces are agreed upon

[ ] Write the model in a single class
[ ] Add a model option for a piecewise-continuous electrolyte model instead of the full diffusion model, implement as an if-else in SPMe.set_electrolyte_concentration_submodel
[ ] Add a piecewise constant electrolyte submodel, to be used by SPMe
[ ] Add a TanksInSeries lithium-ion battery model which is like SPMe but particle concentration has to be quadratic and electrolyte has to be piecewise constant
[ ] Add an example comparing SPMe and TanksInSeries (reproduce some figures from the paper, especially fig 16)


How to treat etymological dictionaries?

Currently, CSD isn't really treated seriously. Concepts are mapped only by string equality check, cognates are not considered. So I think we either drop the idea of a CSD lexibank set, or we try to make more sense of it (in particular since it's north american languages!).
So as far as I can tell, CSD is organized not as set of concepts, but as set of etymologies, (see https://csd.clld.org/parameters), with (1|2|...) marking different etymologies for the same concept. Then the concept list would only need to map ~1,000 different concepts. Etymologies could be modeled as cognate sets, I think, maybe with some sort of additional flag marking that they may not be exactly "same concept, sound change based cognates".
Whether we can make sense of the transcriptions is unclear to me. If so, adding automatic alignments to the etymologies may be an interesting exercise.

Re transcriptions: At least for ~3,000 of the ~19,000 lexemes there's a "phonetic siouan" transcription, see https://csd.clld.org/values

We have already shown here that in theory, the retro-standardization of IGT and similar resources is possible, although the results often do not show high overlap with the concept lists one would look for, or large gaps.
But I think we should not in principal exclude the possibility of treating these as lexibank datasets, but we would need an expert who could explain the transcription system. Or somebody would have to dig into the specifics of Siouan in order to find it out.
Transcriptions look also pretty NAPA to me.
The nice thing is that we have word trees in there (!). There are not many other dictionaries showing such a detail. So I think: once we have the forms, meanings, in cldf, we can give it a try.

@chrzyki do you want to have a go at the concepticon mapping?

A rule for concepticon mapping here would be: play save. Thus, rather prefer not to link then to link too much. This also makes it easier to link.

Yes, if we end up with 300 safe matches, that would be already awesome.

Question, @xrotwang, is the formspec up to date? I see a lot of complex things going on there, in the entries.

It's just the default form spec at work. As I said, this dataset wasn't treated seriously so far.

I also just realize that the source CLDF from raw/ doesn't even include the supposed IPA from the phonetic Siouan column. So I'll need to recreate the source first.

While it is good to have this, I think the entries are all phonetic enough (with all problems), but I think phonetic here means: as opposed to phonological, since the forms do not differ too much. So we should segment on the "form".

There's one big challenge now for formspec:

some "splitters" should yield two or more forms for one value, e.g., those with a comma, showing variants
some are mere variants, so we can ignore them, like / or ~

similar for brackets

[] is some indicator of irregularity, can be ignored (also in orthoprofile
{} should be stripped off


[WIP] KV Store implementation && App result

tested locally

This looks like a good start! One higher level question, have you thought about keeping version numbers with each entry, rather than a vector of requests as you do now? Either approach works, the vector of requests can just be a little redundant, though it is simpler to implement.

I think version number helps if there is only a relatively small number of keys so reverting will be quicker. and it is hard to record the number when we abort from an arbitrary index of log during fallback(maybe there are better ways?). I keep requests to align with logs and how the idx (that of both requests and logs) is used in abort.


Also check wellformedness of effects in namer

Fixes  #281 and also fixes #352 by inserting a single wellformedness check.

This resulted in a CI failure on master:
java.lang.AssertionError: assertion failed: Cannot add signature for interface twice: Exception
    at effekt.lifted.mono.FlowAnalysis.addInterface(Analyzer.scala:38)
    at effekt.lifted.mono.Analyzer$package$.analyze(Analyzer.scala:341)
    at effekt.lifted.mono.Analyzer$package$.analyze$$anonfun$1(Analyzer.scala:93)

Is this yet another flaky CI?


Links doesn't work

Hello
in the readme, this link doesn't work

SDK Reference : https://web3auth.io/docs/sdk/flutter/

Could you provide a new link please

https://web3auth.io/docs/sdk/pnp/flutter


Add modin implementation for value_counts()

Super useful function for exploring data.

Hi @bobcolner , thanks for the posting! We already have related to this issue #1294 . @dchigarev , any progress there?

There is a draft PR with value_counts implementation (#2730). It's marked as a draft for now because of the failing OmniSci tests there, they're related with the #2856 which is blocking value_counts PR and currently in progress.

anyupdates?


Javascript target details

Getting started page with minimal setup
Using external Javascript libraries
Javascript target Metatags

Hey Mark,
I hope you aren't intimidated or offended by my editing suggestions! I am not trying to  be mean. Also, the general style and formatting is sperb.

Also...I should really spell-check the edits >.<. I will go and find an appropriate browser plug-in at once.

Hey, I found this really useful! I'm not native English and it's always better to have it double-checked! Ill update soon. :+1:
Thanks!


Dashboards are stored in Workspaces. Click on you workspace on the left side of the screen and you will see a section called Dashboard.  How difficult is it to say that in an article that explains how to find your dashboard?

[Enter feedback here]

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

ID: df8fcff1-6d5d-2619-8c96-13a00802bb36
Version Independent ID: cb25f645-8245-7dd7-7020-2b12aaa98098
Content: View a Power BI dashboard - Power BI
Content Source: powerbi-docs/consumer/end-user-dashboard-open.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @mihart
Microsoft Alias: mihart

Hi @peteravila ,
You make a valid point.  I've update the doc and set it to republish.  Thank you for your feedback.

Yeah, I may have made a valid point, but I didn't have to be rude to you about it. I sincerely apologize. Obviously, I was frustrated when I wrote that, but as someone who writes courseware and overlooks things all the time like you did, I could have been kinder.
Thanks for letting me know that you understood my point. I'm sorry I was rude.


[Event Request] codeunit 12 "Gen. Jnl.-Post Line".CreateGLEntryBalAcc - OnAfterInsertGLEntryBalAcc

Describe the request
Hello, could we get this event OnAfterInsertGLEntryBalAcc on Codeunit 12-"Gen. Jnl.-Post Line"?
procedure CreateGLEntryBalAcc(GenJnlLine: Record "Gen. Journal Line"; AccNo: Code[20]; Amount: Decimal; AmountAddCurr: Decimal; BalAccType: Enum "Gen. Journal Account Type"; BalAccNo: Code[20])
var
    GLEntry: Record "G/L Entry";
begin
    OnBeforeCreateGLEntryBalAcc(GenJnlLine, AccNo, Amount, AmountAddCurr, BalAccType, BalAccNo);

    InitGLEntry(GenJnlLine, GLEntry, AccNo, Amount, AmountAddCurr, true, true);
    GLEntry."Bal. Account Type" := BalAccType;
    GLEntry."Bal. Account No." := BalAccNo;
    InsertGLEntry(GenJnlLine, GLEntry, true);
    OnMoveGenJournalLine(GenJnlLine, GLEntry.RecordId);
    //
    OnAfterInsertGLEntryBalAcc(GenJnlLine);
   //
end;

[IntegrationEvent(**TRUE**, false)]
local procedure OnAfterInsertGLEntryBalAcc(GenJnlLine : Record "Gen. Journal Line");
begin
end;

Additional context
I'd like to add this event to be able to change logic that for my specific business
Internal work item: AB#555764

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 26401.


ES5 strict mode edge case

I came across this behavior in ES5 strict mode. ES5 strict mode forbids all duplicate properties, including __proto__(as it has no special significance in ES5), so this should be a parser error when ecmaVersion is 5:
"use strict";
var x = {
	__proto__: 'first',
	__proto__: 'second'
};

However, this parses completely fine. In looking at the code, this seems to be caused by a special behavior on objects when __proto__ is the property name. Specifically, if you assign __proto__ to an object, it does not create a new own property. Thus, this line doesn't work when name is __proto__. Perhaps it would be good to lighten up this check to allow it to work in ES5 as well?

Oh, nice catch! Lightening that check would cause proto and __proto__ to be considered as same property, which is even worse. I think we could just prefix every key with e.g. $ to be sure that no conflict with built-in props is happening.

Ah, good idea! I can put together a PR if you'd like.

Working on it :)

Schweet

An arguably cleaner solution would be to initialize the object as {__proto__: null}, which paradoxically enough gives you a 'clean' map object that doesn't treat __proto__ specially. But I'm not actually sure that behaves correctly on all browsers we want to support, so never mind, let's stick with this.

I did some initial tests with that, and it still didn't quite work.


Do something about supporting Canon (pixma) scanners

I've no idea how this Canon stuff works and only slightly more of how scanning in linux works.
This looks important https://launchpad.net/~thierry-f/+archive/ubuntu/fork-michael-gruz https://github.com/Ordissimo/scangearmp2  and maybe look at this stuff https://aur.archlinux.org/packages/?K=scangear
Some random helpful looking links:

https://unix.stackexchange.com/questions/420304/scangearmp2-can-scan-from-my-canon-pixma-ts5150-but-only-basic-scans
https://askubuntu.com/questions/1084235/scanner-not-detected-by-simple-scan
https://unix.stackexchange.com/questions/257544/how-to-scan-with-canon-integrated-scanner-when-i-have-the-scangearmp-drivers
http://ubuntuhandbook.org/index.php/2018/10/canon-ij-printer-scangear-mp-drivers-ubuntu-18-04-18-10/

I think I jumped the gun on this one. simple-scan seems to see my scanner just fine, for some reason I assumed it wouldn't work.


Add support for Intelbras/Tuya devices

Hi,
I have added these devices using overriding device config.
Door/Window sensor
"category": "mcs",
"model": "ISA 1001",
"name": "ISA 1001",
"status": [
{
"code": "doorcontact_state",
"value": false
},
{
"code": "battery_percentage",
"value": 95
},
{
"code": "temper_alarm",
"value": true
}
],
Siren
"category": "sgbj",
"model": "ISI 1001",
"name": "ISI 1001",
  "status": [
    {
      "code": "alarm_volume",
      "value": "middle"
    },
    {
      "code": "alarm_switch",
      "value": false
    },
    {
      "code": "battery_percentage",
      "value": 100
    }
  ],

Motion Sensor
"category": "pir",
"model": "ISM 1001",
"name": "ISM 1001",
"status": [
{
"code": "pir",
"value": "none"
},
{
"code": "battery_percentage",
"value": 100
}
],
Everything is working fine for the Door/Window sensor and Motion Sensor, but I'm facing trouble with the Siren. And, I'd like to ask for help here.
I see my Siren in my Home app as "Not Supported".
Things I tried:

Set to Standard Device and DP instruction (Iot Platform).

Cleaned device cached

restarted child bridge and readded to Home app

restarted homebridge and readded to Home app

Any suggestions?

sgbj is not supported yet, I will add this when I'm free.

Duplicate of #193


Fix Xcode Swift 5 conversion warning

After the update to Swift 5 the swift_version was deleted from PromisesSwift.podspec (70c337e196c81f795eedb5d7a42cf966f07cdc3d). But now, Xcode keeps showing the "Conversion to Swift 5 is available" warning:

Putting it back will make the warning disappear.

I signed it!

Hi Ander, Thank you for the PR!
Can you provide some more details on how you verified this? Xcode version? Swift version for project?
Also, did you test this with Xcode 10.1 and Swift 4.2 to make sure that specifying s.swift_version = '5.0' doesn't cause any issues for developers who are still using 4.2?
Thank you!

Hi @temrich,
You're right, I have tried with Xcode 10.1 and it won't work, I forgot this library still supports 4.2.
Also, specifying s.swift_versions = ['4.2', '5.0'] won't make so much difference, as developers using Swift 4.2, as far as I know, still will have to specify the Swift version in their Podfile's post_install, something like:
post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['PromisesSwift'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.2'
            end
        end
    end
end

So maybe it is not worth it at all, thanks for your help anyway!

Thank you for testing this out! I also think that swift_versions was recently added to CocoaPods, so would probably require developers to update to the latest version (some devs may not be able to do that).

Yes, it was added on 1.7.0 (pretty recently). I'm closing this for now, thanks!

Hi, I have same issue when using Firebase which uses this package (through SPM).
If looking at Package.swift file at top version is specified as // swift-tools-version:4.2
In file it should probably be swiftLanguageVersions: [.v4, .v4_2, .version("5")] line?


Static generation

These changes allow for generating a static version of Roka's output. Then it can be uploaded to simpler static hosting. This is done with the new --generate parameter, and the original functionality still behaves the same.
I also added the ability to override config with a --config terminal parameter.

Static generation is a sweet feature, thanks for your all your contributions! o/

Static generation is a sweet feature, thanks for your all your contributions! o/

Thanks for making Roka in the first place. It's great for listening to audiobooks on my Apple Watch, which annoyingly doesn't have any good audiobook apps.


Add eslint and fix lint errors

@golopot I can merge as soon as the conflicts are resolved :v:
Good stuff.

Do you have a preference on resolving merge conflict? Do you prefer it be done with a rebase and force push, or a new merge commit?

you can commit multiple times, I can squash when merging.


perf(toDash): Hoist duplicates from Representation to AdaptationSet

According to the DASH specification, codecs, audioSampleRate, frameRate and AudioChannelConfiguration are all allowed to appear at the AdaptationSet level not just the Representation one. We can use that to slightly reduce the size of the manifests by specifying it on the AdaptationSet, instead of each Representation, if the value would be identical for every Representation in that AdaptationSet.
Examples of situations that can be useful in:

The representations in WebM adaptation sets tend to all have the same codec e.g. opus, vp9 and vp9.2 (HDR), so it makes sense to hoist the codecs attribute
For 4k+ 60fps HDR videos the vp9.2 streams all tend to keep the original 60fps frame rates, so it makes sense to hoist the frameRate attribute

This doesn't massively reduce the size of the manifests, as the majority of the size is occupied by YouTube's very long streaming URLs. I do have an idea I want to try though, having a BaseURL element at the AdaptationSet level with a common prefix for the URLs in the BaseURLs in the Represenation, this will need lots of experimentation, as developer specified URLTransformer function could produce all sorts of wacky URLs. Another thing to watch out for is OTF formats, as they use SegmentTemplates instead of specifying a BaseURL but would still be affected by BaseURL elements on the AdaptationSet.
TL;DR: The streaming URLs are the biggest contributor to the manifest size, I have an idea to shrink them but will need a lot of experimentation so it doesn't break anything.

Looks like this has some conflicts that need to be resolved. Anywho, I already reviewed it and it looks good!

Fixed the conflicts, looks like I managed to create to create two conflicting pull requests, sorry about that.


Please add DetectNet-COCO- for  Cell Phone?

I'm the beginner about  caffe&jetson.
I want to detect Cell Phone，but the mAP of bvlc_googlenet or alexnet is unsatisfactory，  Can you give me the model of Cell Phone using COCO, such as DetectNet-COCO-CellPhone.tar.gz
I try to use digits, but is diffcult to me.
Thank you very much!  @dusty-nv

maybe you can give us the url, above the whole caffemodel of COCO （80 class ) @dusty-nv

It appears that MS COCO has cell phone class:  http://cocodataset.org/#explore
Perhaps someone from the community has used it and can share their model.

@dusty-nv
that will be diffcult to find it.
COCO have 80 classes, you offer 4 classes  only(Bottle, Dog,Airplane,Chair ).
it's not enough.


dbtcloud_postgres_credential not providing correct value when in a for_each loop

Describe the bug
I am using for_each loops to generate dbtcloud_postgres_credential for each projects. When I then try to assign the credentials to the enviroment it cannot read the value correctly. It seems to belive that the value of each.key is the ID.
I have verified that the credentials are cfeated and named dbtcloud_postgres_credential.redshift_prod_credential["Demo"]
Error message
Error: Incorrect attribute value type
│
│   on .terraform/modules/terra_dbt_cloud/enviroments.tf line 33, in resource "dbtcloud_environment" "redshift_prod_environment":
│   33:   credential_id = dbtcloud_postgres_credential.redshift_prod_credential[each.key].id
│     ├────────────────
│     │ dbtcloud_postgres_credential.redshift_prod_credential is object with 1 attribute "Demo"
│     │ each.key is "Demo"
│
│ Inappropriate value for attribute "credential_id": a number is required.

Resource configuration
resource "dbtcloud_environment" "redshift_prod_environment" {
  for_each = { for conn in var.dbt_cloud_redshift_prod_environment :
  conn.project =>
  conn }
  dbt_version     = var.dbt_cloud_version
  name            = "Prod"
  project_id      = dbtcloud_project.dbt_project[each.key].id
  type            = "deployment"
  deployment_type = "production"
  connection_id   = dbtcloud_global_connection.redshift_provisioned[each.value.redshift_connection].id
  credential_id = dbtcloud_postgres_credential.redshift_prod_credential[each.key].id
  use_custom_branch = true
  custom_branch = var.dbt_prod_branch
}

data "dbtcloud_privatelink_endpoint" "private_link_id" {
  for_each = { for conn in var.dbt_cloud_redshift_connections : conn.name => conn }

  name = each.value.private_link_endpoint_id
 }

resource "dbtcloud_global_connection" "redshift_provisioned" {
  for_each = { for conn in var.dbt_cloud_redshift_connections : conn.name => conn }
  name = each.key
  private_link_endpoint_id = data.dbtcloud_privatelink_endpoint.private_link_id[each.value.name].id
  redshift = {
    hostname = each.value.hostname
    port     = 5439
    dbname = each.value.dbname
  }
}

resource "dbtcloud_postgres_credential" "redshift_prod_credential" {
  for_each = { for conn in var.dbt_cloud_redshift_prod_environment : conn.project => conn }
  project_id     = dbtcloud_project.dbt_project[each.key].id
  type           = "redshift"
  default_schema = ""
  username       = var.dbt_cloud_redshift_prod_username
  password       = var.dbt_cloud_redshift_prod_password
  num_threads    = var.dbt_cloud_redshift_prod_threads

}

Expected behavior
I would expect the dbtcloud_postgres_credential to return the ID for the credential in demo.
Config (please complete the following information):
( the version can be retrieved running the command terraform providers )

dbt Cloud provider version [e.g. 0.2.12]

Additional context
Add any other context about the problem here.

I think that the issue might be that you need to replace
credential_id = dbtcloud_postgres_credential.redshift_prod_credential[each.key].id

by
credential_id = dbtcloud_postgres_credential.redshift_prod_credential[each.key].credential_id

The id of a credential is a combination of the project_id and the credential_id, so it is a string and not an integer.

That solved it! thanks!


Indent json when saving

First of all: very nice tool! I use it to track and manage my personal todo list.
Main use case: I'm storing my .todos.json in a git repo, indenting allows one to have human-readable cand comprehensible diffs and history.

I have implemented this in ultodo, a fork of ultralist (which is amazing!) https://github.com/sottey/ultodo


Unbounded Knapsack using C++

Can u please assign me for this code?

yes i can do it , can u assign me this problem

I can do this work,can u assign me this problem

@Yashica7 Done


feat(w3cCredentials)!: add jwt vc support

Adds support for JWT VCs in addition to the already supported JSON-LD VCs.
It became a bigger PR than anticipated, mainly because I moved some files around and made some changes to e.g. how verification methods are handled so they can be used without JSON-LD as well.
The PR has extracted the JSON-LD specific functionality from the W3cCredentialService into a new W3cJsonLdCredentialService, and we've got a new W3cJwtCredentialService. The general w3c credential service exposes a generic api to work with both, while the specific classes implement the logic. Records are only handled through the general w3c credential service. The idea is that users will mostly use the W3cCredentialService, and not the underlying imlementations, that is more to split up logic based on format.
The API has changed to now require a format when signing credentials / presentations:
w3cCredentialService.signCredential({
  format: 'jwt_vc',
  credential: /* the credential */,
  alg: 'ES256'
})

For the verification the API has also changed to support a more rich API. This rich API has been fully implemented for JWT VCs, but could not be fully supported for JSON-LD library due to the way errors are thrown in that library (see #1466, this will be addressed in a follow up pr).
The idea for the results is that now everything is handled by a custom validation object that has the following structure. The specific validations differ a bit between a VC and VP, but the idea is the same.
{
  isValid: true,
  validations: {
    // credential has no credentialStatus, so always valid
    credentialStatus: {
      isValid: true,
    },
    // This both validates whether the credential matches the
    // data model, as well as whether the credential is expired etc..
    dataModel: {
      isValid: true,
    },
    // This validates whether the signature is valid
    signature: {
      isValid: true,
    },
    // This validates whether the issuer is also the signer of the credential
    issuerIsSigner: {
      isValid: true,
    },
  },
};

For now, for JSON-LD verifications the result looks like this. This means the same data is available before this PR (the VC.js structure was followed), but a bit more nested. Over time we want to remove the use of vc.js and use the same structure as above for both credential formats. This allows for fine grained control over what you want to validate.
{
  isValid: true,
  validations: {
    vcJs: {
      isValid: true,
      // results from the VC.JS library
      results: []
     }
  }
}

Codecov Report

Merging #1468 (4c37192) into main (11366e5) will decrease coverage by 13.26%.
The diff coverage is 45.34%.

@@             Coverage Diff             @@
##             main    #1468       +/-   ##
===========================================
- Coverage   85.87%   72.61%   -13.26%
===========================================
  Files         911      881       -30
  Lines       21742    21307      -435
  Branches     3727     3714       -13
===========================================
- Hits        18670    15472     -3198
- Misses       2893     5416     +2523
- Partials      179      419      +240

Impacted Files
Coverage Δ

.../src/updates/0.3.1-0.4/credentialExchangeRecord.ts
100.00% <ø> (ø)

packages/core/src/error/ClassValidationError.ts
22.22% <0.00%> (-52.78%)
:arrow_down:

...ckages/core/src/modules/dids/methods/jwk/DidJwk.ts
15.62% <0.00%> (-84.38%)
:arrow_down:

packages/core/src/modules/vc/W3cCredentialsApi.ts
41.17% <ø> (-47.06%)
:arrow_down:

packages/core/src/modules/vc/constants.ts
100.00% <ø> (ø)

.../vc/data-integrity/__tests__/contexts/X25519_v1.ts
100.00% <ø> (ø)

...les/vc/data-integrity/__tests__/contexts/bbs_v1.ts
100.00% <ø> (ø)

...ata-integrity/__tests__/contexts/citizenship_v1.ts
100.00% <ø> (ø)

...ata-integrity/__tests__/contexts/citizenship_v2.ts
100.00% <ø> (ø)

...ata-integrity/__tests__/contexts/credentials_v1.ts
100.00% <ø> (ø)

... and 107 more

... and 231 files with indirect coverage changes

Awesome stuff, Timo. Any thought to how AnonCreds in W3C format could use this?  Would it be a matter of adding an “algo” for AnonCreds and a corresponding handler?  My expectation is that anoncreds-rs could detect W3C format AnonCreds objects as needed and convert internally, and on creation, be passed a flag to indicate the generated objects be converted to W3C form when needed.  Do you see that as possible?

I see a lot of manual validation is happening. Is this something we might be able to extract into a non-AFJ library which can be used by anyone, also non AFJ-projects.

Yeah I think we can definitely extract the JWT-VC part to a separate library. Only thing is that we would need to replace the class-transformer/class-validator parts with something else

Any thought to how AnonCreds in W3C format could use this? Would it be a matter of adding an “algo” for AnonCreds and a corresponding handler?

@swcurran, for this specific addition that wouldn't be possible as this just focuses on JWT credentials using Json Web Signatures. For the AnonCreds mapping we need a custom proof object and type, which we don't support yet.
But for JSON-LD credentials that would exactly how it would work yes, We can add a signature suite called AnonCredsProof2023, or however it is called that will handle the signing and verification of the AnonCreds credential.


ERROR: Clone of f5-application-services-integration-iApp failed, exiting...

the repository https://github.com/F5Networks/f5-application-services-integration-iApp.git no longer exists.  the docker container therefore fails to complete the install.  please advise. thanks.

Repository Archived


Decord Compile Error

I followed the exact step of install.md, but error occurs when I do the "make" operation

Hi @banzhuan37 ,
Which version of FFmpeg are you using?
To check, please use command ffmpeg -version.

You can use 'pip install decord' to install decord now, which doesn't require compiling.


jvp of np.sum fails in shape assertion when jit'ed

The following piece of code, which computes the jvp of the (reduce_)sum operation, fails with AssertionError: (3, 2, 2) != (3,) when the sum is jit'ed. It computes without problems and gives the expected result when the sum operation is not jit'ed. The assertion is thrown from the _reduce_sum_shape_rule (lax.py, line 3017) which appears to be only called during actual evaluation of the f_jvp function when jit'ed.
import jax.numpy as np

T = np.array([[1., 2.], [3., 4.], [5., 6.]])
x = np.array([1, 2, 3])

mysum = jax.jit(np.sum)

# this doesn't work when jit'ed
y, f_jvp = jax.linearize(mysum, x)
Z = f_jvp(T)

# this doesn't work either when jit'ed
# y, Z = jax.jvp(mysum, (x, ), (T, ))

print(y)
print(Z)

Unfortunately, I haven't been able to work out a fix for this on my own so far due to the many layers of abstraction and indirections in between and would be grateful if someone could push me the right way on this.

Thanks for raising this!
Actually, x and T should have the same shape here: in general, tangent vectors need to have the same shape as the corresponding input (primal) values. However, we're not raising this error in a good way, and it's leading to behavior that's only being caught way downstream.

That was swift, thanks!
Although I'd have liked to see it fixed the other way round. Having the opportunity to feed in a tangent matrix with larger secondary axes than the primal would be helpful for me. Any chance that could be possible?