Provide a deserialize_ignore_any function

Hello !
Would you be interested in providing the following function :
fn deserialize_ignore_any<'de, D: Deserializer<'de>, T:Default>(deserializer: D) -> Result<T, D::Error> {
    serde::de::IgnoredAny::deserialize(deserializer).map(|_| T::default())
}

It is useful in combination with #[serde(deserialize_with = "...") when a field should accept any value without actually storing  its contents.
In particular, it can be used to work around the fact that #[serde(other)] doesn't work with non-unit enum variants, with for instance :
#[derive(Deserialize)]
enum Item {
    Foo, Bar, Baz,
    #[serde(other, deserialize_with = "deserialize_ignore_any")]
    Other,
}

Hi, thanks for the interest in this project. The function fits the scope of this project and could be added.
However, it seems your example does not what you intend it to do:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bec97a5a7ea17fc21ba46af3e80d1453
Do you have another use-case for this function or an alternative implementation?

Hi, thanks for the interest in this project. The function fits the scope of this project and could be added.
However, it seems your example does not what you intend it to do:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bec97a5a7ea17fc21ba46af3e80d1453
Do you have another use-case for this function or an alternative implementation?

The function does work as expected. I'm not sure I understand what you are trying to do in the playground example. If you are trying to deserialize a list of strings, you don't need deserialize_ignore_any at all. It is helpful in cases like this, for example: https://github.com/RReverser/serde-xml-rs/issues/55#issuecomment-768902802

The function does work as expected. I'm not sure I understand what you are trying to do in the playground example. If you are trying to deserialize a list of strings, you don't need deserialize_ignore_any at all. It is helpful in cases like this, for example: https://github.com/RReverser/serde-xml-rs/issues/55#issuecomment-768902802

#[serde(other)] declares an enum variant as fallback. "Ba" does not deserialize to any enum variant so in the playground it falls back to Other. However, if I add the deserialize_with attribute I get this error while deserializing: Err(Error("invalid type: unit variant, expected newtype variant", line: 0, column: 0)). The code deserializes the correct enum variant if you change "Ba" to "Foo", "Bar", or "Baz".
I will check the serde-xml link later.

#[serde(other)] declares an enum variant as fallback. "Ba" does not deserialize to any enum variant so in the playground it falls back to Other. However, if I add the deserialize_with attribute I get this error while deserializing: Err(Error("invalid type: unit variant, expected newtype variant", line: 0, column: 0)). The code deserializes the correct enum variant if you change "Ba" to "Foo", "Bar", or "Baz".
I will check the serde-xml link later.

Ok, I understand what you were trying to do. Indeed, deserialize_ignore_any does not work in that case, because deserialize_with hints the serde that you are trying to deserialize the contents of the enum variant, and the string is the enum variant, but does not have any contents. If you want an example where using  deserialize_ignore_any may be useful in conjunction with other in serde_json, see for instance:
use serde::*;

fn main() {
    println!("{:?}", serde_json::from_str::<Vec<Item>>(r#"[{"y":1}, {"x":1}]"#));
}

#[derive(Debug, Deserialize)]
#[serde(untagged)]
enum Item {
    Foo{x: u8},
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

fn deserialize_ignore_any<'de, D: Deserializer<'de>>(
    deserializer: D,
) -> Result<(), D::Error> {
    serde::de::IgnoredAny::deserialize(deserializer).map(|_| ())
}

playground

Ok, I understand what you were trying to do. Indeed, deserialize_ignore_any does not work in that case, because deserialize_with hints the serde that you are trying to deserialize the contents of the enum variant, and the string is the enum variant, but does not have any contents. If you want an example where using  deserialize_ignore_any may be useful in conjunction with other in serde_json, see for instance:
use serde::*;

fn main() {
    println!("{:?}", serde_json::from_str::<Vec<Item>>(r#"[{"y":1}, {"x":1}]"#));
}

#[derive(Debug, Deserialize)]
#[serde(untagged)]
enum Item {
    Foo{x: u8},
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

fn deserialize_ignore_any<'de, D: Deserializer<'de>>(
    deserializer: D,
) -> Result<(), D::Error> {
    serde::de::IgnoredAny::deserialize(deserializer).map(|_| ())
}

playground

Ok I think I understand now how this can be used.

It enabled the other variant in an enum (tagged with #[serde(other)] to consume data without failing the deserialization. This "breaks" deserialization of data-less enums (the "Ba" example above).
You can create an other-like enum variant in an untagged enum, which does not allow the #[serde(other)] attribute. It behaves similar to Other(serde::de::IgnoredAny), but without the downside of including the IgnoredAny type.

@lovasoa  Do you want to create a pull request to add the method? It probably fits best in src/rust.rs.
Is it possible to extend the method to support enums with and without data? Basically supporting this without any errors during deserialization.
use serde::*;

fn main() {
    println!("{:?}", serde_json::from_str::<Vec<Item>>(r#"[{"NotFoo": {"y":1}}, {"Foo": {"x":1}}, "NotBar", "Bar"]"#));
}

#[derive(Debug, Deserialize)]
enum Item {
    Bar,
    Foo{x: u8},
    #[serde(other)]
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

fn deserialize_ignore_any<'de, D: Deserializer<'de>, T:Default>(deserializer: D) -> Result<T, D::Error> {
    serde::de::IgnoredAny::deserialize(deserializer).map(|_| T::default())
}

Ok I think I understand now how this can be used.

It enabled the other variant in an enum (tagged with #[serde(other)] to consume data without failing the deserialization. This "breaks" deserialization of data-less enums (the "Ba" example above).
You can create an other-like enum variant in an untagged enum, which does not allow the #[serde(other)] attribute. It behaves similar to Other(serde::de::IgnoredAny), but without the downside of including the IgnoredAny type.

@lovasoa  Do you want to create a pull request to add the method? It probably fits best in src/rust.rs.
Is it possible to extend the method to support enums with and without data? Basically supporting this without any errors during deserialization.
use serde::*;

fn main() {
    println!("{:?}", serde_json::from_str::<Vec<Item>>(r#"[{"NotFoo": {"y":1}}, {"Foo": {"x":1}}, "NotBar", "Bar"]"#));
}

#[derive(Debug, Deserialize)]
enum Item {
    Bar,
    Foo{x: u8},
    #[serde(other)]
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

fn deserialize_ignore_any<'de, D: Deserializer<'de>, T:Default>(deserializer: D) -> Result<T, D::Error> {
    serde::de::IgnoredAny::deserialize(deserializer).map(|_| T::default())
}

Is it possible to extend the method to support enums with and without data?

I don't think so, no. Serde will not even call the method when deserializing a string value for the enum. It will see that the code is expecting contents inside the enum variant, and that the data doesn't have it.  What you can do in this case is :
#[derive(Debug, Deserialize)]
enum Item {
    Bar,
    Foo{x: u8},
}

#[derive(Debug, Deserialize)]
#[serde(untagged)]
enum ItemContainer {
    Item(Item),
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

I do admit that the usefulness is more limited with serde_json than with, for instance, serde-xml-rs, where  #[serde(other, deserialize_with = "deserialize_ignore_any")] is the only way of parsing a heterogeneous collection.

Is it possible to extend the method to support enums with and without data?

I don't think so, no. Serde will not even call the method when deserializing a string value for the enum. It will see that the code is expecting contents inside the enum variant, and that the data doesn't have it.  What you can do in this case is :
#[derive(Debug, Deserialize)]
enum Item {
    Bar,
    Foo{x: u8},
}

#[derive(Debug, Deserialize)]
#[serde(untagged)]
enum ItemContainer {
    Item(Item),
    #[serde(deserialize_with = "deserialize_ignore_any")]
    Other,
}

I do admit that the usefulness is more limited with serde_json than with, for instance, serde-xml-rs, where  #[serde(other, deserialize_with = "deserialize_ignore_any")] is the only way of parsing a heterogeneous collection.


is that possible fast convert to mesh instead of explort to fbx and reimport to editor?

is that possible fast convert to mesh instead of explort to fbx and reimport to editor?

Not yet, but sounds like a good feature to have ..

I'll see if I can implement this within the next couple of days

This is fixed in version 1.332!
As usual this is available on the update site https://prenominal.nl/updates/
I'll close this ticket once this version is available from the asset store!


[FR] - Allow --createpub with private key

Currently --createpublic only works by manually specifying p,q,n and e. those are all present in a private key file. so --createpublic should be able to work when provided with a --key argument instead of the raw numbers.
workaround of course is to use openssl rsa -pubout -out rsa_key.pub -in rsa_key.key

--createpublic is intended only for creating a public key for a given tuple (modulus,exponent).
The code may call p,q as arguments in this case and they should be Null.


realpath and wget commands not found

I am following the instructions on README for installation.
On Step 2 npm run gen-api-code, after installing node 14+ and npm,
the following error occurs:

><EMAIL_ADDRESS>gen-api-code
> bash openapi/gen_api_layer.sh project

openapi/gen_api_layer.sh: line 6: realpath: command not found
openapi/gen_api_layer.sh: line 16: wget: command not found
Error: Unable to access jarfile openapi/swagger-codegen-cli-3.0.29.jar
rm: Dockerfile: No such file or directory
rm: .gitignore: No such file or directory
rm: .travis.yml: No such file or directory
rm: git_push.sh: No such file or directory
rm: tox.ini: No such file or directory
rm: test-requirements.txt: No such file or directory
rm: .dockerignore: No such file or directory
rm: setup.py: No such file or directory
Error: Unable to access jarfile openapi/swagger-codegen-cli-3.0.29.jar
openapi/gen_api_layer.sh: line 51: cd: frontend/src/clients/openapi: No such file or directory

I am using Mac, and the problem was solved by installing realpath and wget with the following commands:

installing realpath brew install coreutils
installing wget brew install wget

We need to add installation steps in the script though

Thanks! Steps to install them might be platform-dependent though. Do you think it's good enough to just mention them in the README?

To add on to this,
In step 6 npm run start,
I encounter multiple missing installation errors:
ModuleNotFoundError: No module named 'connexion'
ModuleNotFoundError: No module named 'dotenv'
ModuleNotFoundError: No module named 'six'
ModuleNotFoundError: No module named 'pandas'

Solved by installing
pip install connexion
pip install python-dotenv
pip install six
pip install pandas

Thanks! Steps to install them are platform-dependent though. Do you think it's good enough to just mention them in the README? Also, I think we should terminate the script if we encounter an error. It's quite confusing if it keeps running and generates a bunch of other errors.

Ok, yeah I agree. Let's just add them to README then!

Hi, @noelchen90 have you updated the readme based on the above nice discussion? Feel free to close this issue if you have done it!


Docker support

Hi,
Great initiative you have here. I started to look and could not find how to run this with a local installation of bitwarden. Do you have any guide?
Atm I made a Dockerfile to run this and a script to change the docker-compose setup to use that docker. Would you be interested in having an automated script like https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh to install this project? If yes any suggestions?

Another take at a Dockerfile, if it's of interest.
FROM ruby:alpine

ENV APP_HOME=/opt/bitwarden-ruby RACK_ENV=production PORT=4567
WORKDIR $APP_HOME

# Needed for build but can be discarded.

About your Dockerfile, I have a couple of questions/suggestions:

Why do you need gcc, abuild and binutils?

Ideally I think the file should be bound to the repo where it is not necessarily the main repo, by cloning you remove the possibility for it to be used locally for testing etc

bundle install did not work for me, that was why I did the work around, will check with your base image, maybe that was my initial problem.

Why use user abc instead of the already existing nobody?

Nice to know I can use env vars in other places

Nice to know you have ARGS

As soon as I can I will try your option locally

Bundle install requires make, gcc, etc. I remove them all as soon as build install completes, though. By the time the image is built the only additional apk package still installed is sqlite-dev.
Point taken on the downsides of doing a git clone from the master. You could also fork in github and change the repository path in the Dockerfile to your own repo. I do it this way because I generally prefer a single step to build a working image.
I use abc instead of nobody because I want the container writing files as the same UID as the docker user on my host. Makes dealing with permissions easier when I map the volume elsewhere.

I haven't worked with Docker but I'd like to make it easier for others to deploy as long as it's secure.  I'd prefer that one user is created to own the base directory and a separate user created that will own db, log, and tmp.
Also, it would be great if you could figure out why bundle install does not work, rather than manually installing gem dependencies that have to be synced if Gemfile ever changes.
Lastly, ALLOW_SIGNUPS should probably not be in the main file since most users won't want new users creating accounts once their own is made.  I'm not sure how best to handle toggling that variable through Docker.

ALLOW_SIGNUPS can be left out of the Dockerfile entirely and set as an environment variable by the user at the time of container creation.

@jcs ok nice. I will look into the details you suggested and will do a pr with the setup script similar to the official one.

I think I have most of the modifications in this commit https://github.com/rtfpessoa/bitwarden-ruby/commit/0c3d28194f1fb3250f75324ae24dbf2c704388c0 but for some reason the local installation seems to be connecting to the bitwarden.com vault.
If you want to give it a try you can run:
curl -s -o bitwarden.sh https://raw.githubusercontent.com/rtfpessoa/bitwarden-ruby/master/scripts/bitwarden.sh && chmod +x bitwarden.sh

Do you have any ideas?

@jcs I think I misunderstood this project. Before I got the full picture I tough this was only an API replacement, but this should replace all the backend components and be used with the Mobile and Brosers clients. Can you confirm this?

That is correct, it is a complete standalone backend for the mobile apps and browser extensions.

@jcs https://github.com/rtfpessoa/bitwarden-ruby/commit/328392128af2ef13920f7a2efa18a6e2e1b96aac should have a working docker with a proper setup script and nginx.
Questions:

There is one attachments server any idea if it is needed for the setup?

Notes:

The scripts are still hardcoded to my GitHub username but before PR I will either generalize them or just update to yours.
I am not sure how to setup the web vault to work with the api but the dockers is already running

To test this docker you can run:
curl -s -o bitwarden.sh \
    https://raw.githubusercontent.com/rtfpessoa/bitwarden-ruby/master/scripts/bitwarden.sh \
    && chmod u+x bitwarden.sh

Please let me know if you found something wrong and what you think.

@rtfpessoa I've tested your setup.rb file, and for me your settings for the web vault are OK.
(They are the same that I used for my testing).
But, currently @jcs API are compatible with the web vault. I've made some change to make them compatible.
You can check my pull request here : #14

About the WebVault where do you set it to use the local API?
Regarding Nginx what would be the use case for you to use the setup.rb and not want Nginx? Just run the web vault? I guess that should not be hard to change.
Build the docker might be a nice idea to allow people to not rely on any external sources for it.

I will try to do this soon.

On your setup.rb you are creating a "web" directory which contains a settings.js file. That's the file used for the web vault parameter, where the backend servers url are set.
On the official bitwarden repository, the file is name settings.Production.json

Let me see if I understood. The file I have settings.js has the correct addresses and it is still using the remote vault. Do I need to change the file to be named settings.Production.json?

2 options for that :

You rename the setting file to setting.Production.json
You edit the file env variable on the package.json file to Development (it will use then the settings.json file.

It si explained here : https://github.com/bitwarden/web/blob/master/README.md
Regarding your question about nginx, It will be to use the setup.rb for only the web vault and the api backend.
I think that « attachment » is not needed too. I didn’t figure what it is use for.

I think I fixed everything related to the webvault. And I added an option to run without nginx, can you test it?
Also I think building the docker might be a future option since it might take cloning and to make it right we would have to build the webvault too.

I’ve checked quickly, some comments :

You should ask from the begining if you plan to use nginx. If no nginx, there is no need to ask and generate certificate for let’s encrypt. Maybe add a disclaimer about security warning if no nginx and certificates (user should have one already configured)
about docker mapping ports, the dockers are running on the same host. To work, each docker has to use à different tcp port (on the host, not inside the docker), otherwise there will be a conflict. Did you checked this ?

I tough about that but to do it I would need to change a lot of code since I directly implemented what bitwarden had. If I have some more time I can look into it but the functionality is there and at least works for the case.

atm the dockers have no ports exposed, nginx is the one redirecting to their internal names without port since they are always using 80. We could customize the ports and expose them but that would need a bit more work.

I've been using the Dockerfile @kendokan posted it and it works well, my personal preference is for a container that doesn't require any changes to the project it's hosting. That container simply fires up a basic container that exposes the application on a port and can store the sqlite database on a volume, I'm not sure why we need much more than that.

You’re right, maybe we should keep it simple.
The docker of @rtfpessoa is a script for full installation, including the web vault.

@scantem not sure what you mean, but my Dockerfile provides the same.
What the rest offers, is a script to install the full bitwarden suite like the official one with full support for SSL, out of the box and effortless.

@kendokan Does your Dockerfile work ? I've tested it, and it doesn't seem to work for me.
From what I see, if it runs only "rackup -p ${PORT} config.ru" it doesn't work.
I need to run the full command to make it works : "env RACK_ENV=production bundle exec rackup -p ${PORT} config.ru"

@kendokan
Edit : the dockerfile works.
What was not working was the access to my local sqlite database.
I explain myself :
Your dockerfile set permission to the db folder on the container (group abc, only known on the container).
I've mounted my db folder (from the host) to the db folder on the container. My host db folder ACL doesn't match the one set on the container during the build.
So, when the container is running, the API cannot write on the sqlite file (permissions denied).
Do you know how can I do to match the ACL on the newly group on the container with the file on the host ?
I'd like to avoid to set a 777 permission on the db file on the host.

@Pschittt
You can set the UID and GID environment variables to match the uid/gid of the host user you want to own the db folder. The abc user/group will then be created using that uid/gid and permissions will work.

@kendokan
Is there a simple way to do this ?
I’ve read some article, and it seems complicated to do this.

@Pschittt you just need to pass them through as environment variables like so:
docker run -d --name bitwarden -e UID=1000 -e GID=100 -v /docker/bitwarden:/opt/bitwarden-ruby/db -p 4567:4567 imagename
This will use the UID 1000 and GID 100 for local filesystem ownership of the db directory. If /docker/bitwarden doesn't exist on your local filesystem it will be created automatically and the correct permissions applied. You can pass through any environment variabled you like using the -e option, for example -e ALLOW_SIGNUPS=1 to allow signups.

As @scantem said, or if using docker-compose with the Dockerfile, something like:
  bitwarden-ruby:
    build:
      context: ~/dockerfiles/bitwarden-ruby
      args:
       - UID=1000
       - GID=100
    environment:
      - PORT=4567
      - ALLOW_SIGNUPS=1
    volumes:
      - ~/volumes/bitwarden-ruby:/opt/bitwarden-ruby/db

I started working on porting to the cloudron platform here: https://github.com/joelmccracken/bitwarden-ruby/commit/5edc4a6e48924139f4cb9f75c723f2c7680f24fd
(cloudron apps all run on docker)

I’m sorry, but what the interest to get Bitwarden-ruby running on cloudron ? It already runs on docker.

It's for people that want to run self-hosted software but at the same time don't want to learn how to use and manage something like docker. I'd be reluctant to choose self-hosting for a critical security service that was still being managed by a third party. You get none of the advantages of self-hosting, but also all of the disadvantages of self-hosting (ultimately I chose not to self-host Bitwarden at all).

Well, I don’t find using docker complicated if the projet is available on the docker hub.

@kendokan I don't necessarily disagree with your assessment, but cloudron supports self-hosting. I think for those who are worried about it, this is the route they would take.

@scantem
I've tried to run your command :
docker run -d --name bitwarden -e UID=1000 -e GID=100 -v /docker/bitwarden:/opt/bitwarden-ruby/db -p 4567:4567 imagename
And nothing changed. The db folder (inside the docker) still has the host permission UID and GID. And the user ABC (created when the image has been created), still has the permission 1001 and 1001, set when the image has been created.

@Pschittt My apologies, the UID & GID are ARGS, not ENV variables. Probably the easiest way is to use the docker-compose file kendokan supplied so that the ARGS are supplied when the image is built (or you can supply them if you build the image manually).
docker-compose is probably the way to go, it's good to have your original config settings if you ever need to create the container again.

@kendokan I use your Dockerfile from https://github.com/jcs/bitwarden-ruby/issues/7#issuecomment-345851417 and I use your docker-compose.yml from https://github.com/jcs/bitwarden-ruby/issues/7#issuecomment-350887855 like this:
version: "3"

services:
  bitwarden-ruby:
    build:
      context: .
      dockerfile: Dockerfile
      args:
       - UID=1000
       - GID=100
    environment:
      - PORT=4567
      - ALLOW_SIGNUPS=1
    volumes:
      - ./data/db:/opt/bitwarden-ruby/db
    ports:
      - "4567:4567"

however when I run docker-compose up -d I get this error:
...
Cloning into '/opt/bitwarden-ruby'...
Your Ruby version is 2.5.1, but your Gemfile specified >= 2.2.8, < 2.5.0
ERROR: Service 'bitwarden-ruby' failed to build: The command '/bin/sh -c apk add --no-cache --virtual .build-deps build-base gcc abuild binutils linux-headers git  && apk add --no-cache sqlite-dev  && git clone https://github.com/jcs/bitwarden-ruby.git ${APP_HOME}  && bundle install  && apk del .build-deps' returned a non-zero code: 18

What am I doing wrong? Thanks!

My Dockerfile uses base image ruby:2.4.2-alpine3.6, but it looks like you're using a newer version or Ruby than I am. Based on the error, bitwarden-ruby will work up to 2.5.0.

@rtfpessoa Hi, I am giving your docker a try and can't seem to disable account creation.
I've added the docker variable ALLOW_SIGNUPS=false but signups are still allowed?
Also, does your docker use the official bitwarden web vault, potentially exposing the microsoft and .net issues I am concerned about? (no specific evidence here, but still concerned)
@kendokan I use an nginx proxy with LE and wondered if your docker was the preferred one for this scenario?
@jcs is only one port ever exposed with your backend, so allowing access through a proxy to either docker will give access to the api, web etc or should I limited access to just the api?
Thanks in advance

@mannp
i switched to this project and for me it works fine

Thanks @TMHBOFH , thats the one I was using for my test and yes it works for me, but the allow signups seemed hardcoded and I wasn't sure if that was intended or not working correctly.
It also appeared to my untrained eye to be using the original bitwarden vault, which I didn't want either.
I've setup a docker with @kendokan 's docker build above and after a small ruby version tweak was able to get it running.
Enabling 2FA also works an gets enabled, but I cannot add keepass support as the ruby command fails and I am not sure why;

docker exec -it -u abc bitwarden-ruby bundle install --with keepass
Fetching gem metadata from https://rubygems.org/........
Using rake 12.3.0
Using backports 3.11.1
Using bundler 1.16.2
Using chunky_png 1.3.8
Fetching fagin 1.1.2
Retrying download gem from https://rubygems.org/ due to error (2/4): Errno::EACCES Permission denied @ rb_sysopen - /usr/local/bundle/cache/fagin-1.1.2.gem
Retrying download gem from https://rubygems.org/ due to error (3/4): Errno::EACCES Permission denied @ rb_sysopen - /usr/local/bundle/cache/fagin-1.1.2.gem
Retrying download gem from https://rubygems.org/ due to error (4/4): Errno::EACCES Permission denied @ rb_sysopen - /usr/local/bundle/cache/fagin-1.1.2.gem
Errno::EACCES: Permission denied @ rb_sysopen - /usr/local/bundle/cache/fagin-1.1.2.gem
An error occurred while installing fagin (1.1.2), and Bundler cannot continue.
Make sure that gem install fagin -v '1.1.2' --source 'https://rubygems.org/' succeeds before bundling.

Resolved by adding --keepass into the intial bundle install in the docker rather than trying to add in later.
Now have a keepass import error which I will report separately.

Hey @mannp, the Rust Bitwarden image @TMHBOFH suggested doesn't have signups hardcoded. I've just forgot to mention that in the documentation. Just run the container with -e SIGNUPS_ALLOWED=false and signups will be disabled. I will add that to README.
Not sure what you mean by "original bitwarden vault", is there some patched version you're using? Because you don't have to use the bundled version that the image contains, just use the API and whatever Vault you're using currently. It's just serving static files, you can ignore that completely.
If it really bothers you that the vault files are there, you can mount a volume with whatever you want (-v /some/localpath:/web-vault) and it will work as long as there's index.html present in the directory. So you can mount your patched Vault files or just simple index.html file. (empty file will do)
Hope that helps.

@mannp I think you're misunderstanding how Vault works. It's just a bunch of static files - an Javascript app basically and it's using the same API that your other apps use. So you're not really exposing yourself more than you'd do without the Vault - the only extra thing it does is that it serves static files for the Vault.

@mprasil ok thanks for the clarification.
I re-setup your docker and all appears to work, but imports from bitwarden, 1P and Keepass don't work for me.
Not sure what I am doing wrong, will have to investigate further.

That's weird,  do you get any error? This worked for me since long time ago. (only used Bitwarden and Keepass imports) Feel free to report issue under my repo to not abuse this thread with unrelated content.

If someone wants to setup a properly hosted Docker config for this, please submit a PR to add it to the Deployment section of README.md.


Update source.py

This is a fix for the issue: https://github.com/esakik/beam-mysql-connector/issues/6

@mkdotam
Thank you for your contributing.
I will check and test the changed this weekend.

Thanks for the fast response. I hope this can help fixing that issue, without additional side effects. Will be looking forward to it! Thanks.

@mkdotam
Merged. I released version 1.8.3.


YETUS-1192. Semaphore CI needs junit in full mode

Probably too much to ask for some test or something.

I've got my personal repo wired up: https://effectivemachines.semaphoreci.com/projects/buretoolbox


Crash on start-up

Just installed the 64-bit version on my Win7 machine. It crashes on start.
Symptoms

splash screen opens
mouse locks-up & Windows Debug or Close prompt
mouse cursor starts rapidly flying all over the place for a second
mouse returns to normal operation
selected Close from prompt to terminate.

Event viewer had these 2 things to say:
Log Name:      Application
Source:        Application Error
Date:          2/02/2016 11:46:31
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      HPCE-0113.central.fluxys.int
Description:
Faulting application name: Google Play Music.exe, version: <IP_ADDRESS>, time stamp: 0x56af9264
Faulting module name: KERNELBASE.dll, version: 6.1.7601.19045, time stamp: 0x56259271
Exception code: 0xe0434352
Fault offset: 0x000000000000b3dd
Faulting process id: 0x300
Faulting application start time: 0x01d15da6fa275434
Faulting application path: D:\Programs\GoogleMusicPlayer\Google Play Music.exe
Faulting module path: C:\WINDOWS\system32\KERNELBASE.dll
Report Id: 3834d5ef-c99a-11e5-b0b1-ecb1d749e68c
Event Xml:

1000
2
100
0x80000000000000

25365
Application
HPCE-0113.central.fluxys.int

Google Play Music.exe
<IP_ADDRESS>
56af9264
KERNELBASE.dll
6.1.7601.19045
56259271
e0434352
000000000000b3dd
300
01d15da6fa275434
D:\Programs\GoogleMusicPlayer\Google Play Music.exe
C:\WINDOWS\system32\KERNELBASE.dll
3834d5ef-c99a-11e5-b0b1-ecb1d749e68c

Log Name:      Application
Source:        .NET Runtime
Date:          2/02/2016 11:46:31
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      HPCE-0113.central.fluxys.int
Description:
Application: Google Play Music.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.WebException
Stack:
at System.Net.WebClient.DownloadDataInternal(System.Uri, System.Net.WebRequest ByRef)
at System.Net.WebClient.DownloadString(System.Uri)
at Google_Play_Music.GPMResouceHandlerFactory.GetResourceHandler(CefSharp.IWebBrowser, CefSharp.IBrowser, CefSharp.IFrame, CefSharp.IRequest)
at .CefSharp.Internals.ClientAdapter.GetResourceHandler(CefSharp.Internals.ClientAdapter*, CefRefPtr, CefRefPtr, CefRefPtr, CefRefPtr)
Event Xml:

1026
2
0
0x80000000000000

25364
Application
HPCE-0113.central.fluxys.int

Application: Google Play Music.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.WebException
Stack:
at System.Net.WebClient.DownloadDataInternal(System.Uri, System.Net.WebRequest ByRef)
at System.Net.WebClient.DownloadString(System.Uri)
at Google_Play_Music.GPMResouceHandlerFactory.GetResourceHandler(CefSharp.IWebBrowser, CefSharp.IBrowser, CefSharp.IFrame, CefSharp.IRequest)
at <Module>.CefSharp.Internals.ClientAdapter.GetResourceHandler(CefSharp.Internals.ClientAdapter*, CefRefPtr<CefResourceHandler>, CefRefPtr<CefBrowser>, CefRefPtr<CefFrame>, CefRefPtr<CefRequest>)

Do you use a VPN or proxy.  Did you have a stable internet connection when doing this?

Yes I am behind a proxy (large office environment). Google Music does work
fine in the browser. I tried starting the app multiple times; it always
crashed very fast. The internet connection is pretty good most of the time.
On 2 February 2016 at 13:22, Samuel Attard<EMAIL_ADDRESS>wrote:

Do you use a VPN or proxy. Did you have a stable internet connection when
doing this?
—
Reply to this email directly or view it on GitHub
https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/170#issuecomment-178548292
.

Yeah, there have always been issues with this app and proxies, I'll take another swing at it tonight

This has been tagged with Fixed in 3.0.0 and in preparation for the release of 3.0.0 these issues are being automatically closed.
Get excited for 3.0.0 :cactus: :cake: :tada: :balloon:

Sam Bot


Debian installation instruction wrong GPG key?

Describe the bug
Debian installation instruction from apt repository contain wrong GPG key
OR
GPG key is invalid
Page: https://opensearch.org/docs/latest/install-and-configure/install-opensearch/debian/
Import the public GPG key. This key is used to verify that the APT repository is signed.
 curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo apt-key add -

To Reproduce
Steps to reproduce the behavior:

Try "Install OpenSearch from an APT repository"

 curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo apt-key add -
echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/opensearch-2.x.list
 sudo apt-get update

For debian testing I need to alter the instructions a tiny bit, because apt-key is deprecated for me:
wget -qO- https://artifacts.opensearch.org/publickeys/opensearch.pgp | tee /etc/apt/trusted.gpg.d/opensearch.pgp
echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | tee -a /etc/apt/sources.list.d/opensearch-2.x.list
apt-get update

This leads to
Get:9 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease [7,536 B]
Err:9 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 39D319879310D3FC
W: http://deb.debian.org/debian/dists/bookworm/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/opensearch-2.x.gpg are ignored as the file has an unsupported filetype.
W: http://security.debian.org/debian-security/dists/bookworm-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/opensearch-2.x.gpg are ignored as the file has an unsupported filetype.
W: http://deb.debian.org/debian/dists/bookworm-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/opensearch-2.x.gpg are ignored as the file has an unsupported filetype.
W: GPG error: https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 39D319879310D3FC
E: The repository 'https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Not impossible that the issue is on my side. I also attempted the "legacy" way and installed the gpg key agent, but ran into the same issue.

Transfer to build repo to take a look.
Checking.

Seems like you are not using the apt-key method, I also need to check on the new way.

The new way is to download the gpg file directly to the apt directory. See as example https://packages.sury.org/php/README.txt

Could you provide the OS name, version, so I can try to produce this on my side?

I'm on debian testing. They deprecated apt-key, but provided an alternative. In my initial post I pointed out what I had to change to satisfy my OS' whimsies ;)

[Triage]
Hey @peterzhuamazon what is next action item for the issue?

[Triage] Hey @peterzhuamazon what is next action item for the issue?

Hi @prudhvigodithi I am not able to reproduce on normal debian and ubuntu yet.
And I am a bit busy on some other tasks.
Will pick it up asap once I have some b/w and test on debian-testing.
Thanks.

# On debian testing

root@29c481e18d0a:/# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

apt-get -y install lsb-release ca-certificates curl gnupg2
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | tee /etc/apt/sources.list.d/opensearch-2.x.list
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp  | gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

apt-get update
apt-get install -y opensearch

root@45cdeb9ff3a4:/# apt install opensearch
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  opensearch
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 748 MB of archives.
After this operation, 976 MB of additional disk space will be used.
Get:1 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable/main amd64 opensearch amd64 2.7.0 [748 MB]
Fetched 748 MB in 9s (87.3 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package opensearch.
(Reading database ... 7074 files and directories currently installed.)
Preparing to unpack .../opensearch_2.7.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Unpacking opensearch (2.7.0) ...
Setting up opensearch (2.7.0) ...
Running OpenSearch Post-Installation Script

The above would run on Ubuntu as well, multiple versions.
Will PR documentation.
Thanks.

https://github.com/opensearch-project/documentation-website/pull/4142


[styles] Cannot read pxToRem of undefined

My attempt to migrate from v4 to v5 has broken my app. The stack trace of the multiple errors suggests that they originate from issues within the @mui components themselves. I have only limited ability to debug issues within the node_modules subdirectory tree.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Here is a screenshot after following the upgrade recipe:

Expected Behavior 🤔
Here is a screenshot of the v4 behavior:

Steps to Reproduce 🕹
Steps:

Contact me so that I can launch the app
Attempt to connect at https://covid.tms-dev.zeetix.com

Context 🔦
I've built an interactive data browser that currently uses up-to-date covid data. Other apps will follow.
I consciously use the Google Material UIX in order to optimize the user experience of my visitors, users, and clients.
Your Environment 🌎

`npx @mui/envinfo`
  System:
    OS: Linux 3.10 CentOS Linux 7 (Core)
  Binaries:
    Node: 14.17.6 - ~/.nvm/versions/node/v14.17.6/bin/node
    Yarn: 1.22.5 - /usr/bin/yarn
    npm: 7.24.0 - ~/.nvm/versions/node/v14.17.6/bin/npm
  Browsers:
    Chrome: 90.0.4430.72
    Firefox: support!
Mozilla Firefox 78.9.0esr
  npmPackages:
    @emotion/react: ^11.4.1 => 11.4.1
    @emotion/styled: ^11.3.0 => 11.3.0
    @mui/core:  5.0.0-alpha.46
    @mui/icons-material: ^5.0.0 => 5.0.0
    @mui/material: ^5.0.0-rc.1 => 5.0.0-rc.1
    @mui/private-theming:  5.0.0-rc.1
    @mui/styled-engine:  5.0.0-rc.1
    @mui/styles: ^5.0.0-rc.1 => 5.0.0-rc.1
    @mui/system:  5.0.0-rc.1
    @mui/types:  7.0.0-rc.1
    @mui/utils:  5.0.0-rc.1
    @types/react:  17.0.3
    react: 17.0.1 => 17.0.1
    react-dom: 17.0.1 => 17.0.1
    typescript: ^4.1.3 => 4.2.4

The above screenshots are from a Chrome browser running on Windows 10 Pro. The browser is running Version 93.0.4577.82 (Official Build) (64-bit).

Seems like some of your components are not wrapped within ThemeProvider, that's why it cannot read values inside theme. Here is a similar issue in troubleshooting section
I am happy to help if you could provide code sample or the repo that I can take a look.

Seems like some of your components are not wrapped within ThemeProvider, that's why it cannot read values inside theme

Components shouldn't need to be wrapped in a ThemeProvider. Only if you want a different theme.
It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

I have the same problem.
CodeSandbox

I have the same problem.
CodeSandbox

@TTMoon
Thanks for the codesandbox. The correct way is to use `import { styled } from '@mui/material/styles'. May I ask where do you get the code sample from because it is from our documentation, we will need to fix it.

@siriwatknp
Thank you for your quick answer.
I solved the problem.
I referred to this page. link

I think I've solved the issue. The main issue seems to be a simple error on my part. It appears to me that there is also an issue in the v4-to-v5 migration page (https://next.material-ui.com/guides/migration-v4/).
In my code, I missed the theme={theme} prop assignment in the ThemeProvider setup section.
There are some other issues in the code sample that contributed to my confusion. Here is the code sample as presented in the documentation:
import { ThemeProvider, createMuiTheme, makeStyles } from '@mui/material/styles';

const theme = createMuiTheme();

const useStyles = makeStyles((theme) => {
  root: {
    // some css that access to theme
  }
});

function App() {
  const classes = useStyles(); // ❌ If you have this, consider moving <ThemeProvider> to HOC and wrap the App
  return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
}

The first issue is that this code, as provided, fails to compile because @mui/material/styles has not yet been installed (according to the recipe). I went ahead and did the installation suggested in the following section.
The second issue is that, even with the new material installed, the makeStyles method is not exported, and so the provided definition of useStyles can't compile. Which is fine, because it is defining a function that shouldn't be called anyway!
I suggest at least commenting out the useStyles call in the example, or removing it altogether and putting the explanation in a note. When that call to useStyles is absent, then its definition can be removed. This, in turn, means that makeStyles can be removed from the import line.
Here is the analogous code from my app.js that now works:
/**
 * App.js
 * @copyright: 2021 by Thomas M. Stambaugh & Zeetix, LLC (http://www.zeetix.com)
 * All rights reserved.
 *
 * The contents of this file may not be copied, duplicated, or used without the
 * written consent of Zeetix, LLC.
 * Uses CssBaseline to reset margins, paddings, and so on.
 *
 */
import React from 'react';
import { CssBaseline } from '@mui/material';
import { ThemeProvider, createMuiTheme } from '@mui/material/styles';
import { useAuth0 } from "@auth0/auth0-react";
import Loading from '../auth0/Loading';

import AppContainer from './AppContainer';
const theme = createMuiTheme();

const App = () => {
  const { isLoading } = useAuth0();
  if (isLoading) {
    return <Loading />
  }

  return (
    <ThemeProvider
      theme={theme}
    >
      <CssBaseline />
      <AppContainer
      />
    </ThemeProvider>
  );
};

export default App;

I apologize for the jerk-around -- I suspect that adding the theme={theme} to the ThemeProvider wrapper fixed my issue.

There are some other issues in the code sample

Thanks for the input, I will open a fix for this.

Components shouldn't need to be wrapped in a ThemeProvider. Only if you want a different theme.

@eps1lon Ideally this wouldn't be needed but it changed in v5. Now, the @mui/styles package is not aware of the default Material Design theme. We couldn't find a better tradeoff with Marija when we worked on moving the JSS dependency out of the @mui/material package.

May I ask if this problem has been solved

May I ask if this problem has been solved

Based on the comments it seems like it has been solved. Please open a new issue with a reproduction if face similar problem.


Cannot provide completions for namespaced IDs when the cursor is not at the beginning of a segment

:tada: This issue has been resolved in version 1.10.4 :tada:
The release is available on:

npm package (@latest dist-tag)
Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


feat: ✨ add syn-radio

Pull Request
📖 Description
The syn-radio consists of 4 different elements: the grouping element: syn-radio-group and syn-button-group and the interactive elements: syn-radio and syn-radio-button.
The syn-radios are a collection of elements that can be toggled in a way that only one can be active or none as a starting state inside a syn-radio-group.
This PR serves as a way to add the 4 different radio components with the new styling to the component library.
🎫 Issues

https://github.com/SickDesignSystem/synergy/issues/76

👩💻 Reviewer Notes

I recommend that this is looked at by @LeaLeRose and @eileenwegner to make sure the design and functionalities are correct and work as expected.

✅ Checklist

[x] I have tested my changes manually.
[x] I have added automatic tests for my changes (unit- and visual regression tests).
[x] I have updated the project documentation to reflect my changes (e.g. CHANGELOG, Storybook, ...).
[x] I have made sure to follow the projects coding and contribution guides.
[x] I have made sure that the bundle size has changed appropriately.
[x] I have validated that there are no accessibility errors.
[x] I have used design tokens instead of fix css values

And I would also add the components as example in our react and angular demo under /packages/_private/react-demo  and /packages/_private/angular-demo


Feature Request: Allow GM to remove "Generate Loot Button" from player settings

Man, this is a popular module. I don't envy how busy you are with this and I sincerely appreciate your time and effort. This is definitely one of the game change modules for foundry.  So far I love everything you're doing, I just have one small request if it's at all feasible. I'm not sure why the players would need a button for "Generate loot for the selected token" and I know once I enable this, they will find it and they will ask about it and of course, try to use it, which I know they cant with their permissions, but that why I'm not sure they have access to it in the first place. Again, not a big deal, but I figure it couldn't hurt to ask. I really love your stuff man. Keep it up.

Has the module worked for you? My players haven't been able to buy or loot anything.

Honestly I only really use lootsheet for the loot generator/seeder function
and then I use Item Piles for the players to loot bodies and containers.
For shops I use either Merchant Sheet or Monks Enhanced Journal.
On Sat, Mar 5, 2022, 7:36 AM Gvicross @.***> wrote:

Has the module worked for you? My players haven't been able to buy or loot
anything.
—
Reply to this email directly, view it on GitHub
https://github.com/jopeek/fvtt-loot-sheet-npc-5e/issues/320#issuecomment-1059756347,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATBKBGJBUIW6QJVBLDJDFQ3U6NIMZANCNFSM5P6Y6VTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Has the module worked for you? My players haven't been able to buy or loot anything.

Please check the things mentioned in the linked comment (an following):
https://github.com/jopeek/fvtt-loot-sheet-npc-5e/issues/303#issuecomment-1047525243

Man, this is a popular module. I don't envy how busy you are with this and I sincerely appreciate your time and effort. This is definitely one of the game change modules for foundry. So far I love everything you're doing, I just have one small request if it's at all feasible. I'm not sure why the players would need a button for "Generate loot for the selected token" and I know once I enable this, they will find it and they will ask about it and of course, try to use it, which I know they cant with their permissions, but that why I'm not sure they have access to it in the first place. Again, not a big deal, but I figure it couldn't hurt to ask. I really love your stuff man. Keep it up.

In short, I will look into it.
The buttons should not be visible to players. Will check why they see it.
Don't know how fast I get to it.

I can't get the "generate loot" button removed from my player's view either.


Convert tabs to spaces and add .editorconfig

Any reasons?

I see it as fixing an inconsistency - with tabs different tools that I use for viewing code show code that looks different, and some of those tools like the code preview on github can't be configured to be consistent with local tools. And the simple fix is just
sed 's/\t/    /g'

to use spaces which have the same width everywhere. Plus .editorconfig so that the inconsistency wouldn't be introduced again.


Oh man, This is why I keep telling myself not to look at code after midnight. Well I mean I can always make another pull request to change it back... or anyone else could too.


Create a WinGet package

The official package manager, WinGet does not support publishing PowerShell scripts and modules. Only supported formats are .exe, .msi, .msix.
The solution is to use a well-known executable creator - PS2EXE. Really simple program, it takes just one command to create a single full-fledged Windows executable (.exe).
The advantage of this is that we will have something to put out in our releases page, which can be picked up automatically by the WinGet manifest. Also, this will allow calling winfetch from any shell - CMD, Bash, WSL etc. - just like Scoop does (Scoop creates a shim so it's a slightly different method). The obvious downside is that, when used from PowerShell, it's slower because it's an executable as compared to a shell script. From other shells it makes no difference. In fact it was faster in my testing, when done from CMD.
The publish-psgallery branch can be repurposed as a general package-management branch (free of source files) - for hosting PSGallery, Scoop, Chocolatey and WinGet manifests and other related assets.

Some additional points which might be obvious, but are still worth mentioning:

Tab completion doesn't work with scoop (because of the shim)
While I agree PowerShell is the way forward and far modern, many people developing/using Windows still prefer using Git Bash, and now WSL, simply because of the unix background of those shells. For those people, doing pwsh.exe -nop -c "winfetch" every time is really cumbersome, and as the benchmarks above show, slower too. Tab completion anyways doesn't matter for those shells (even for CMD it doesn't work), so it's not really a deciding factor there.
To target package managers, it makes more sense to provide executables so as to provide better system-wide usage. For PowerShell alone, only the PSGallery method is really ideal as it preserves both the tab-completion and the script's faster speed.

Well it does with New-Alias winfetch "~\scoop\apps\winfetch\current\winfetch.ps1"
And again alias winfetch='pwsh.exe -nop -c "winfetch"'. Also, most package managers are capable of generating executables for CMD/bash, for example when installing with scoop I can use winfetch in all my various shells (cmd, bash, ...) without an issue. I wouldn't say speed is a deciding factor, in fact, I found the exe was just as slow as the scoop shim within wsl, which really makes it redundant.

And yes as you said PSGallery tab completion works, choco might as well, scoop can too with an alias (there was actually a feature request for including completion with PowerShell shims).

I agree that using an exe does make it easier for it to work in different shells, but if the package manger can create shims then we should let otherwise it seems unnecessary to use an exe, as well as sacrificing speeding in our target shell and tab completion.

Well it does with New-Alias winfetch "~\scoop\apps\winfetch\current\winfetch.ps1"

Scoop already creates a shim, I don't see any reason users wanting to do this extra step.

...tab completion works, choco might as well...

Again, only if you alias to that particular script location.
Both these methods defeat the purpose of package managers automatically downloading and setting up shims/executables. An extra alias is not going to be helpful, notwithstanding the fact that the shims created by package managers would go useless (in this scenario). And all of this still applies only to PowerShell, which as I said, is still not the most used shell on Windows.

To be fair, I agree our primary target is PowerShell users. For that reason, I would really suggest making PSGallery as the primary recommended (default) method of installation, instead of Scoop (which sacrifices both speed and tab-completion).
We anyways have other methods listed in our installation page, but we should be going with the default supported method that allows for full enjoyment of our project.
Pinging @kiedtl again (sorry for nitpicking), but it'd be great if you cold just set up the NugetApiKey in the GitHub secrets section. Everything else has been set up by @jcwillox; that key is the only thing we need to officially publish lptstr-winfetch.

This hasn't been visited in a while and I still think it's valuable to have this on winget, regardless of the primary target audience. I'd be happy to add it, but I need something to work with, whether that's an installer, standalone executable, etc


Goal pose is not aligned to the map

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
When the goal pose is given to Autoware, usually by "2D Goal Pose" rviz plugin, mission_planner recognized that the goal pose's z is 0, and publishes the goal pose marker whose z is 0.
This may cause some misleading to any calculation using the goal pose or visualization.
Expected behavior
For "2D Goal Pose", since it does not set a z value as the name suggests, mission planner should calculate the proper z value based on the lanelet so that the goal pose will be aligned to the lanelet.
Actual behavior
The goal pose's z is 0.
Steps to reproduce
Just set the goal pose with "2D Goal Pose" rviz plugin.
Versions
No response
Possible causes
No response
Additional context
No response

@yukkysaito @mitsudome-r What do you think.
If the goal pose given to mission_planner may contain the z value in the future, we have to discuss more.

cc @TakaHoribe @kosuke55

@yukkysaito @mitsudome-r kindly ping.

We can republish the 2D Goal Pose from the mission planner with correct Z coordinates.
@angry-crab would like to work on this.


Will not update to newest version

Describe the bug
I have two different instances of Home Assistant running in two different houses. Everything about the setups are the same. Same hardware, same HA version, same everything. On one of them the integration works perfectly and says that it's on version 1.10.4. On the other instance of Home Assistant, no matter what I do it keeps saying that it's version 2021.1.1 and it seems to be basically version 1.0. There are way fewer entities that populate in this instance and I can't seem to get it to update to the current version.
I have tried completely removing the integration and then uninstalling through HACS and then rebooting HA and reinstalling. Same issue
To Reproduce
Not really sure how to reproduce this behavior
Expected behavior
I expect the correct version of the integration to run when I install it
Screenshots
Here's a screenshot of it showing the wrong version in one HA instance:

Here's a screenshot from the other HA instance where it's working fine and logged into the same account. It pulls 82 entities for the two cars instead of just 20:

Your Vehicle Details
Model: e-tron
Year: 2022
Type (Gas/Hybrid/Electric): Electric
Region (EU/US/CA/CN): US
Model: SQ7
Year: 2021
Type (Gas/Hybrid/Electric): Gas
Region (EU/US/CA/CN): US

Yes, I am still experiencing this issue.

I think that's a different integration.  Check what URL you used to add it.

I think that's a different integration. Check what URL you used to add it.

It's the exact same integration both downloaded through HACS. When I check it in HACS it even says that the current version is downloaded. But for whatever reason it is running this old version on the one HA instance. I completely deleted it and reinstalled it as well to no avail

Please screenshot the url used to add it to HACS.  A fork exist that uses year versions.

They both point to this: https://github.com/audiconnect/audi_connect_ha

Could I get a screenshot of the custom repos section of HACS?

Sure.
Here's the custom repos in the affected HA instance:

Here's the custom repos section for the HA instance where the correct version is running:

The interesting bit is the version number has never been used by this integration.   It has however been used by a fork.
I'm not sure how it's getting that.  When you remove the integration could you confirm the custom_components folder has it removed as well?

OK. I did the following:

Removed Audi connect integration using HACS interface.
Deleted Audi connect folder from custom_components folder
Rebooted HA

Should I reinstall using the HACS search or should I use the repository URL?

Try with HACS and see if that works.
If it doesn't could manually install.

I tried with HACS, still the wrong version. Went through and removed everything again. Tried the manual install as outlined on the repository and again it's the wrong version. I can tell immediately when I try to set up the integration because the Region input when configuring the integration is still a textbox instead of radio buttons.
Really not sure what the heck to do at this point. I imagine it's something to do with this specific HA instance but I can't imagine what is interfering with it to cause this to keep happening.


[WIP] Alternative for JoinWith

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

We are going to go with a protocol change.


Comparison with other products

The main concern are:

Language and encoding coverage
Speed and memory usage

The list:

https://github.com/polygonplanet/encoding.js (JS)
https://github.com/douban/PyCharlockHolmes (Python + ICU)

https://github.com/siuying/charlock_holmes-jruby (Multilingual)

https://github.com/adah1972/tellenc (C++)
https://github.com/hydra13142/chardet (Go)
https://github.com/seangarner/node-stream-mmmagic (JS)
https://github.com/cv/encoding-detector (Python, not mature?)
https://github.com/LasseRafn/php-string-script-language (PHP)
https://github.com/hozumi/clj-det-enc (Clojure)
Others not included in this list

Thank you. For now the main concern should be around Python.

@Ousret I do support Python as the language, I am referring to feature concerns like coverage and performance tables on the ReadME.

Just added supported encoding list through docs and README.

For a note on possible list of encodings:

https://github.com/polygonplanet/encoding.js#available-encodings
https://github.com/siuying/charlock_holmes-jruby/blob/master/spec/encoding_detector_spec.rb#L66
https://github.com/adah1972/tellenc#overview
https://github.com/hydra13142/chardet#chardet
https://github.com/cv/encoding-detector/tree/master/chardet

And for languages https://github.com/LasseRafn/php-string-script-language#supported-scripts


Default timeouts

Not having a default timeout means that anyone who doesn't consider a maximum time length for a request can end up with a hung thread (with sync client) for quite a while. This could even not manifest during testing and development, and only happen in rare occasions in production, where the long hang without a cancel hurts a user.
Now, some people need a really long timeout, such as if doing "long polling", or on flaky wireless connections. But as long as there is an option for them to increase (disable?) the timeout, they should be fine.
So, what's a proper default? 30 seconds?

30 seconds seems like plenty of time in most cases. I think if you're possibly going to need more time than that in normal circumstances then you'll probably know about it.
FWIW .NET's http client decided on 100 seconds for their default timeout.

Ok, I find a default timeout a bit surprising, but I can understand the decision. However, there's no way to disable the timeout per request, is there? Just set it to 1 week or so? I'm uploading some files, which can easily take hours.


Added issue templates for custom issues, bugs, and feature requests. Fixes #48

hey @param-code,
i have added the issue template to this pr. can you review it and merge it?
please dont forget to add labels to this pr.

Sure.


[CodeCompletion] Mark async calls "NotRecommended" in non-async context

Because 'async' function calls in non-async context are not allowed.
rdar://problem/72198532

@swift-ci Please smoke test

@swift-ci Please smoke test


GetOrAdd Concurrency Problem

I'm finding that, when multiple threads call .GetOrAdd() on the same empty ICacheManager<T> instance with the same key value, that the valueFactory func is called multiple times, indicating an apparent lack of any synchronization within .GetOrAdd().
Is this the correct behavior? My expectation is that the first thread to call .GetOrAdd() when the given key does not exist in cache would block other callers asking for the same key until the valueFactory func is complete and then return that newly cached item.

Just to support with missing feature with test case:
        [Fact]
        public void TestConcurrentGetOrAddSameKey()
        {
            var cache = CacheFactory.Build<object>(settings => settings
                .WithMicrosoftMemoryCacheHandle()
                .And
                //.WithUpdateMode(CacheUpdateMode.Up)
                .WithGzJsonSerializer()
                );

            CacheItem<object> GenerateValue(string key)
            {
                Thread.Sleep(5000);
                return new CacheItem<object>(key, $"{rnd.Next()} {DateTime.Now.ToLongTimeString()} : HALLO WORLD FOR " + key);
            }

            object v1 = null;
            object v2 = null;

            const string sameKey = "Test 1 ";

            Parallel.Invoke(
                () => { v1 = cache.GetOrAdd(sameKey, GenerateValue).Value; },
                () => { v2 = cache.GetOrAdd(sameKey, GenerateValue).Value; }
            );

            Assert.True(v1 == v2); // FAILS
        }

@MichaCo  shouldn't it be ReaderWriterLockSlim rather than SemaphoreSlim?

In case anyone else comes upon this issue and wants a workaround, I've built a set of extension methods that provide synchronized behavior for .GetOrAdd() -- the only added requirement for using the extensions is that you have to pass in the synchronization object you want to use - typically, a statically declared Object() instance, or, in the case of the async extension, a statically declared AsyncLock() instance (which requires installation of the Nito.AsyncEx package).
Hope this helps someone....
public static class ICacheManagerExtensions
    {
        /// <summary>
        /// A synchronized version of <see cref="ICacheManager{TCacheValue}>"/> GetOrAdd that guarantees that the valueFactory function
        /// will be invoked exactly one time, blocking all other simultaneous callers until the factory func is complete.
        ///
        /// Because of an inadequate implementation in ICacheManager.GetOrAdd(), we have to handle synchronization on our own.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="cacheManager"></param>
        /// <param name="lockObject">a static <see cref="Object"/> instance, declared at the same scope as cacheManager, that will be used to synchronize access to the cache manager</param>
        /// <param name="cacheKey"></param>
        /// <param name="valueFactory"></param>
        /// <returns></returns>
        public static T SynchonrizedGetOrAdd<T>(this ICacheManager<T> cacheManager, object lockObject, string cacheKey, Func<string, T> valueFactory)
        {
            if (!cacheManager.Exists(cacheKey))
            {
                lock (lockObject)
                {
                    if (!cacheManager.Exists(cacheKey))
                    {
                        var value = valueFactory(cacheKey);

                        cacheManager.Add(cacheKey, value);
                        return value;
                    }
                }
            }

            return cacheManager.Get(cacheKey);
        }

        /// <summary>
        /// A synchronized, async version of <see cref="ICacheManager{TCacheValue}>"/> GetOrAdd that guarantees that the async valueFactory function
        /// will be invoked exactly one time, blocking all other simultaneous callers until the factory func is complete.
        ///
        /// Because of an inadequate implementation in ICacheManager.GetOrAdd(), we have to handle synchronization on our own.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="cacheManager"></param>
        /// <param name="lockObject">a static <see cref="AsyncLock"/> instance, declared at the same scope as cacheManager, that will be used to synchronize access to the cache manager</param>
        /// <param name="cacheKey"></param>
        /// <param name="asyncValueFactory"></param>
        /// <returns></returns>
        public static async Task<T> SynchronizedGetOrAddAsync<T>(this ICacheManager<T> cacheManager, AsyncLock lockObject, string cacheKey, Func<string, Task<T>> asyncValueFactory)
        {
            if (!cacheManager.Exists(cacheKey))
            {
                using (await lockObject.LockAsync())
                {
                    if (!cacheManager.Exists(cacheKey))
                    {
                        var value = await asyncValueFactory(cacheKey);

                        cacheManager.Add(cacheKey, value);
                        return value;
                    }
                }
            }

            return cacheManager.Get(cacheKey);
        }
    }


Add translations

Should I help you? I can configure the gulp for auto-translation and make a pr for this.

relation with https://github.com/sbormann/ioBroker.iqontrol/issues/5, issue 5 should be closed


Why envoy send data frame twice when forwarding grpc requests?

When I use envoy to forward requests to my java grpc server, I found envoy send data twice

From this info it is a bit challenging to reproduce. Can you have some minimal configuration that repros the issue?

I have found the root cause. When I use opentelemetry tracer to export spans to my java grpc server, data frames don't have the "End Stream" flag. However, the java grpc server only handle requests when received a data frame with "End Stream" flag.
The code is:
https://github.com/envoyproxy/envoy/blob/v1.28.0/source/extensions/tracers/opentelemetry/grpc_trace_exporter.h#L72C46-L72C46
Now my question is "Why the end_stream param is always false?"

The opentelemetry proto is a unary service:

This seems familiar https://github.com/envoyproxy/envoy/pull/29011
The PR never landed it seems @ashishb-solo

ARGH sorry. That pull request fell completely off my radar. I'll do my best to try resurrecting it pushing an update sometime this week.


[Feature request] Adding scaffold parameter estimator heads

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow installed from (source or binary): Binary
TensorFlow version (use command below): 1.4
Python version: 3.6.3
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

Describe the problem
When creating custom estimators, using the Heads defined here reduces an important part of the boilerplate as well as guarantee uniform evaluation against canned estimator instances. However, one key parameter is missing in in create_estimator_spec function, which is the scaffold that one can pass into an EstimatorSpec. One example where that is needed is if you want to initialize a large tensor with a numpy array, for example for loading an embedding file from word2vec. This StackOverflow question also describes the issue.
Source code / logs
This is my normal code, currently impossible to use with heads. Actually, it might not be impossible, but this seems to me like the cleaner solution. I have the tiny PR ready if you think this is a valuable change. Thanks a lot for your time!
def model_fn(mode, features, labels, hparams):
  embed_ph = tf.placeholder(
      shape=[hparams.vocab_size, hparams.embedding_size],
      dtype=tf.float32)
  embeddings = tf.Variable(embed_ph)
  # Define your model
  return tf.estimator.EstimatorSpec(
      ..., # normal EstimatorSpec args
      scaffold=tf.train.Scaffold(init_feed_dict={embed_ph: my_embedding_numpy_array})
  )

@martinwicke @ispirmustafa should we mark "contributions welcome"?

Mustafa, this looks correct to me, but your call.

playing with scaffold is an power user category. for power users I think following is a better approach:
est_spec = head.create_estimator_spec(...)
return est_spec._replace(scaffold=...)
I'm in favor of not adding scaffold into head interface.

@eisenjulian will @ispirmustafa 's suggestion get you, as a power user, going? If so, it's my inclination to close the discussion. But please advise (or close yourself if you're satisfied).

Thanks for the suggestion: indeed I found about that approach by digging through the code and got to a working solution 👍. I can go ahead and close this.
Do you think there is value in updating the docs on creating custom estimators regarding this idea? I mean both using scaffold for initializing large tensors and the head module. I am happy to help with that if you do. Loading pre-trained embeddings seems like a common enough use-case to account for and explain IMO.
For some context I'm a Google Developer Expert, working in collaboration with Google Dev Advocates to write a blog post on using estimators for NLP tasks.

for pre-trained embedding, I think warm_start_from is a better approach. Could you please check it out. it's a new argument we added to Estimator interface.

Interesting, didn't know about this upcoming change, does this allow initializing with a numpy array? Or should we create dummy checkpoints from embeddings .bin or .txt files in advanced?

it works on checkpoint files. if you have numpy then scaffold is a better approach.

Nagging Assignee @ispirmustafa: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I think this can be closed. For the record, I ended up finding even a better way of loading pre-trained embeddings this by using tf.contrib.layers.embed_sequence and passing in a custom initializer.

Hi,
I just wanted to thanks @eisenjulian on his suggestion on load pre-trained embeddings using a custom initializer. You saved me a lot of time!
I didn't expect doing this is that hard with tf estimator.


Urgent help for iOS notification.

I am developing the iOS app and use APNS for sending push notification on the staging server it works fine, but in the production environment it doesn't work, I have changed .pem file dev to dist but this is not working. Please help

did you verify your certs are signed for prod? meaning they werent made for the sandbox


Add k6 performance test support for relay

Problem
The repo currently has UT's, some integration tests and acceptance tests.
However, it does not yet have easy to run performance tests.
Solution
Success in usage was found with k6 test suite
Add support for k6 run

Add a README noting run steps similar to https://github.com/hashgraph/hedera-mirror-node/tree/main/hedera-mirror-test/k6
Add k6 test scripts similar to https://github.com/hashgraph/hedera-mirror-node/tree/main/hedera-mirror-test/k6/src/web3
Add test cases for the heavily used endpoints.

Test coverage can be added in phases i.e. methods that don't call any nodes, methods that call mirror node, methods that call consensus nodes
Alternatives
No response

Dupe of #138


Feat/content and css

Basic content and styling.

Do we keep this font family?

As you want but I'm a really big fan of less is more.


Update version and license

Updated package.json and LICENSE.md with up-to-date info.

@tomaszszymanski129 We are planning to move email templates outside of the core, then we can think about dropping the remaining Node.js scripts.


[FLINK-2021] Rework examples to use ParameterTool

This should fix [FLINK-2021]. I was unable to run a full build because of permission issues but it should be ready to merged, after any fixes that may be highlighted by a review.

I just checked out your pull request locally and looked through it.
I think the following things need to be fixed before we can merge it:

Squash the 60+ commits in the PR into one
Fix the failing tests
Adopt also the "http://localhost:4000/apis/batch/examples.html" page.
If @fhueske agrees, do not use a get* (for example TwitterStream.getTextDataStream) method if there is only one input. I'm okay with using those methods for examples with input >= 2.

OK, let's do it.
+1 for @rmetzger's suggestion.

Following your suggestions, thanks.

squash: should I squash the commits coming from the review as well?
tests: I thought it was about some Travis configuration on our fork, I'll have to look into it
docs: thanks for pointing out the documentation, I missed it!
get: I'm not sure about it, I think it would be cleaner logically but it would make the params checking a little bit heavier on the reader — I can work on that but I'd wrap the parameter checking in a checkParameters method that is used for the initial checking and the one in the get* methods, would that work for you?

Hi Stefano, thanks for the update!

you are right, it is good practice to not squash commits the address PR feedback. That make following the changes much easier. These commits will be squashed before merging to the master branch.
I am not sure if we are talking about the same thing. Robert suggested to move the code for reading inputs into the main method for examples that have only a single input such as TwitterStream or WordCount. This is the point we discussed before. Usually, there is only one parameter to check, i.e., whether an input path was provided or not. We do not need to move that into a checkParameters method, IMO.

Oh, ok, I obviously got it wrong, thanks for the explanation. Fine with me, I'll fix it along the other issues of the PR.

Awesome, thank you!

I'm not sure of why some tests keep failing. I've also noticed that the build of our fork failed differently. They don't seem to affect flink-batch-examples, flink-streaming-examples and flink-tests.

The first test failed because some files on travis were corrupted, the two other tests failed probably because the YARN tests became unstable recently.
I think you can consider your changes stable

Ok, thanks! Should I squash the changes coming from the PR feedback now?

Hi @stefanobaghino, sorry to bug you again. :-(
I understand if you don't want to refactor this PR again. Please drop a note if you update it one last time (promise) or not. I can also take over and do the final changes before merging it.
Thanks, Fabian

That's absolutely not a problem @fhueske, your remarks are reasonable and I do appreciate the care you all take in making sure Flink turns out great. It's my first non-trivial PR on Flink (or any major open source project, for that matter) and the guidance you are both providing is extremely precious.
I agree with your remarks and will make sure to provide the required fixes ASAP. Feel free to feed any more suggestions asynchronously, it's in the best interest for the project to have a solid set of examples for newcomers and I'd like to give a significant contribution.
One final question: when we feel that the refactoring is complete, should I squash the commits coming from the PR review as well? Thanks in advance.

Thanks a lot for updating the PR @stefanobaghino!
It's up to you if you want to squash the commits. We can also do it before we merge the PR.

@fhueske If this is what you had in mind I can go on and apply it to the rest of the examples.

Hi @stefanobaghino, that looks good! Maybe print the usage string ("Usage: KMeans --points <path> --centroids <path> --output <path> --iterations <n>") always at the beginning of the program such that all parameters are shown? Otherwise, the iterations parameter will never be shown.
Thanks!

I think this should do it.

Looks like the YARN tests are failing. I'll look into it.

The testDetachedPerJobYarnCluster() YARN test is failing with
10:33:26,969 INFO  org.apache.flink.client.CliFrontend                           - Starting execution of program
10:33:26,969 INFO  org.apache.flink.client.program.Client                        - Starting program in interactive mode
10:33:26,971 ERROR org.apache.flink.client.CliFrontend                           - Error while running the command.
org.apache.flink.client.program.ProgramInvocationException: The main method caused an error.
	at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:520)
	at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:403)
	at org.apache.flink.client.program.Client.runDetached(Client.java:277)
	at org.apache.flink.client.CliFrontend.executeProgramDetached(CliFrontend.java:774)
	at org.apache.flink.client.CliFrontend.run(CliFrontend.java:320)
	at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:1112)
	at org.apache.flink.yarn.YarnTestBase$Runner.run(YarnTestBase.java:565)
Caused by: java.lang.RuntimeException: Error parsing arguments '[/tmp/junit2827618452146338513/junit4708065236621010716.tmp, /tmp/junit2827618452146338513/junit2411517217475739253]' on '/tmp/junit2827618452146338513/junit4708065236621010716.tmp'. Unexpected value. Please prefix values with -- or -.
	at org.apache.flink.api.java.utils.ParameterTool.fromArgs(ParameterTool.java:107)
	at org.apache.flink.examples.java.wordcount.WordCount.main(WordCount.java:58)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:505)
	... 6 more
10:33:26,974 INFO  akka.remote.RemoteActorRefProvider$RemotingTerminator         - Shutting down remote daemon.

Thanks for digging up the tests, I missed that exception in particular, I'll fix it right away.

@rmetzger I'm looking at the logs as well but I couldn't find that stacktrace in particular. I've looked for ParameterTool.fromArgs (that is present in the stacktrace you extracted) in the raw logs of the three failing builds but found nothing...

To get to the logs, I executed your branch in my travis account. I have a S3 bucket configured where we upload the full logs to (travis has a log limit of ~5 mb): https://travis-ci.org/rmetzger/flink/builds/109557167
Then, in the log of one build: https://s3.amazonaws.com/archive.travis-ci.org/jobs/109557168/log.txt
you'll find the link to the s3 bucket: https://s3.amazonaws.com/flink-logs-us/travis-artifacts/rmetzger/flink/1419/1419.1.tar.gz
unpacking that archive, you'll find the output in the 1.log file. The YARN test is executing the WordCount example, and I guess the arguments passed are wrong.

Thanks for the tip, I'll try to replicate the S3 setup on our fork as well, it'll probably come in handy for similar cases.

I see there's a conflict, perhaps due to my minor fix in YARNSessionFIFOITCase.java, can I help fix this one? At this point I'm pretty sure it's the last thing missing. Thanks for the help with the YARN tests.

You can rebase your PR's branch to our current master and then force push it again. This will update the PR.

Three build configurations passes, one is currently running, the other fails and I've spotted this stacktrace:
[ERROR] error: error while loading <root>, Error accessing /home/travis/.m2/repository/org/scalanlp/breeze_2.11/0.11.2/breeze_2.11-0.11.2.jar
[ERROR] error: scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.
[ERROR] 	at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:17)
[ERROR] 	at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:18)

Was this a hiccup in the build or an issue related to my changes? I really can't tell from the error message.

Hi, the error is not related to your changes. Its an issue of our build system (an inconsistent file has been cached).
From a CI point of view, the changes look good to be merged. I try to review your changes tomorrow.

+1 to merge the changes.
I rebased the code already locally. Right now, I'm running a final travis test. If it passes, I'll merge the change.

@rmetzger Thanks, it's been a nice starter, thanks to both you and @fhueske for the help!


matrix-synapse: 0.24.1 -> 0.25.1

Motivation for this change
Want to use the latest version of matrix-synapse.
Things done

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

[x] 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"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build matrix-synapse

Thanks!


Added a new article  [ Hacktoberfest]

Added an article on how to integrate mobile app with Chimoney.

This article has been added before. Why submit the same thing twice?

@uchibeke you can read the article once please ,the previous article was with integrating mobile app with  chimoney API and I have explanied around Chimoney webhhoks.

Apologies @neelshah2409 .

Hey @uchibeke ,is there any reward for the PR in hacktoberfest and if yes how could I redeem it.

@Regedit-msc


"git tag -a" fails with "Unable to auto-detect email address" on macOS images

Describe the bug
Git fails to push changes with error message Unable to auto-detect email address
Repro steps
git tag 0.1.1
git push --follow-tags origin 0.1.1

Root cause
A few weeks ago, HostName was changed on macOS images from Mac-1490.local to Mac-1594807705399 (numbers are random) to avoid collisions. It caused issue that git can't auto-detect email address.
By default, Git uses UserName and HostName to auto-detect email address: <user_name>@<hostname>.
Previously, git auto-detected email as<EMAIL_ADDRESS>After changes, git auto-detect email runner@Mac-1594807705399.(none) that is invalid email address.
Work around
Add the following line at the begin of the build
git config --global user.email<EMAIL_ADDRESS>
Question, Bug, or Feature?:  Bug
Virtual environments affected

[x] macOS 10.15

We are working to provide fix for this issue

Fix was deployed. Closing the issue


"Update Test Methods" works on filtered test codeunits #9681

This is odd! Somehow this PR was merged together with the other one! Something in your branch setup was not quite right it seems!

Based on the code comments though, it seems like this PR should have gotten abandoned anyway :-) I hence won't reopen it. If I'm mistaken, please create a new PR and excuse my mistake!

I probably am to to source to all troubles here ;-). Need to learn this.


macOS openGL issues

Attempting to runTests() but each cannot seem to start the tests.  Running on macOS Monterey AWS EC2 instance with amazon provided image.
I am able to build and install the vscode extension without issues.
2022-06-09 05:30:17.850 Electron[34945:370370] +[NSXPCSharedListener endpointForReply:withListenerName:]: an error occurred while attempting to obtain endpoint for listener 'ClientCallsAuxiliary': Connection interrupted

[34946:0609/053017.966844:ERROR:gl_initializer_mac.cc(65)] Error choosing pixel format.
[34946:0609/053017.967041:ERROR:gl_initializer_mac.cc(193)] GLSurfaceCGL::InitializeOneOff failed.

[34946:0609/053018.047318:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization

@deepak1556 are there additional system requirements they're missing?

@deepak1556 are there additional system requirements they're missing?

Could this be because openGL has been deprecated for macos?

Can you try running with --use-gl=egl to switch using the bundled EGL libraries.


[onnxruntime] Refactor install process

The purpose of this PR is to change the direct installation of precompiled binaries to generate binaries via the cmake build system:

Refactor onnxruntime-gpu.
Rename port onnxruntime-cpu to onnxruntime and add feature gpu.
Set onnxruntime-gpu as a empty port and depends on onnxruntime[gpu].

Fixes #20548.

@snnn
There still remains some build errors:
...
 Assembling: F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(110) : error A2119:language type must be specified
 NESTED_ENTRY(28): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(110): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(112) : error A2008:syntax error : .
 rex_push_reg(4): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(112): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(113) : error A2008:syntax error : .
 push_reg(3): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(113): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(114) : error A2008:syntax error : .
...

Can you please take a look?
Thanks.

Depends on https://github.com/microsoft/vcpkg/pull/23811.

Depends on https://github.com/microsoft/vcpkg/pull/23869.
Will revert eigen changes after that merged.

The regression is a nvidia cub issue: https://developer.nvidia.com/nvidia_bug/3597169 and was fixed by cub 1.16.0.
Waiting for the next cuda release.

Required https://github.com/microsoft/vcpkg/pull/24000.

I will continue this PR when the next CUDA release published.

I will continue this PR when the next CUDA release published.

Hi, I guess you meant the 11.7 release? Does that mean you will soon continue on this, now that 11.7 got released? Would love to use this package. Not sure if I can help somehow (maybe by testing or something)

@Dr-Electron Yes, the current CUDA version has a critical bug that stop onnxruntime build.

To clarify: Is the problem that our VMs have CUDA 11.6 rather than 11.7, or that it isn't fixed in 11.7 yet either?

No, CUDA 11.7.0 doesn't contain the bug fix.

Note to me: upstream bug: https://developer.nvidia.com/nvidia_bug/3597169.

Thanks for clarifying!

What would be my options to wait for CTK 12.x for the fix when it comes to building the onnxruntime .dlls?

What would be my options to wait for CTK 12.x for the fix when it comes to building the onnxruntime .dlls?

I think this is useless, CUDA still forces the internal cub to be used even though the cub containing the fixed version of vcpkg is declared to be used.

cub 1.16.0 is still TBD: https://github.com/NVIDIA/cub/blob/main/README.md#releases

Not sure why this was closed.
If CUDA is an issue. Could we do it two steps
disable CUDA and build onnxruntime with CPU only (without CUDA)
and
add CUDA later when we fix the CUDA related issues.

If CUDA is an issue. Could we do it two steps disable CUDA and build onnxruntime with CPU only (without CUDA) and add CUDA later when we fix the CUDA related issues.

We should always ensure that already supported features are always guaranteed to be available.


'desktop apps' link goes to wrong destination

That 1st link for "desktop apps" simply links back to the same page.

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

ID: ff6b0d71-daf8-e75a-5157-a8a3c1c8bf1a
Version Independent ID: 64d94165-c058-3867-fc63-6d816399fde4
Content: Token cache serialization (MSAL.NET) - Microsoft Entra
Content Source: articles/active-directory/develop/msal-net-token-cache-serialization.md
Service: active-directory
Sub-service: develop
GitHub Login: @Dickson-Mwendia
Microsoft Alias: dmwendia

@RickKra
Thanks for your feedback! We will investigate and update as appropriate.

Hi @RickKra,
Not the wrong destination URL, either. If you select the desktop apps link.it takes the user to the desktop Apps tab window. Please refer to the screenshot in the section below.

if you have any suggestion for doc improvement. Please add your ideas in below link, so our production team can review it and update the same.
Ideas · Community (azure.com)

@RickKra
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


Allays and Slimes not gaining new colors, still vanilla.

Are there any dependencies I may be missing?
Glowsquids work just fine.

sorry for the incredibly late response, but I need more information than this!
please tell me:

your version

and send:

a log
your config (.minecraft/config/rainglow.toml)

oh also the answer to your question @ScrubbytheSlime: fabric API is required on fabric, QFAPI is required on quilt. nothing else

hey, this issue has been stale for a while so I'm going to close it until I get more information. thanks!


Laravel Websockets Realtime Statistics wont show (via Network)

Hi! I would like to know the best way to serve my app. I am currently serving my app in my network host but the problem is that Realtime statistics won't show. here is my config.

fixed using :
https://github.com/beyondcode/laravel-websockets/issues/166
https://github.com/beyondcode/laravel-websockets/blob/master/config/websockets.php#L87
added 'store' => \BeyondCode\LaravelWebSockets\Statistics\Stores\DatabaseStore::class, in statistics


Text custom field in bytes.md

Found out the text custom fields limit is not in characters, but instead in bytes.

thanks for the update guys!


Add actions of type "chat" so gpt-3.5-turbo can be used in actions.json

I added the ChatAction as a simple way to support use of gpt-3.5-turbo in user-defined actions.

great work! could you just fix the styling to pass checks

Thx! Sure thing.  will do so in the next couple of (busy) days.


⚠ Bofrost.lu has degraded performance

In 34a604a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2119 ms

Resolved: Bofrost.lu performance has improved in c42a155 after 6 minutes.


requests is asking for urllib3 1.21.1, when 1.22 is on pypi

Summary.
Expected Result
requests is asking for urllib3 1.21.1, when 1.22 is on pypi. If pip/setuptools pulls the latest version of urllib3, you will not be able to run setup.py here.
Actual Result
Error: Couldn't find a distribution for 'urllib3<1.22,>=1.21.1'

Reproduction Steps

install latest urllib3
run setup.py

System Information

A new release is coming tomorrow to resolve this.