text:
Fix QPS Async Client Next loop

entry_ptr was uninitialized on the first iteration.

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

User @kpayson64 isn't covered by a CLA. They will need to complete the form at https://identity.linuxfoundation.org/projects/cncf

Regards,
The Linux Foundation CLA GitHub bot

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.counters.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.opt.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__32k_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.opt.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.counters.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.counters.new: 6
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.counters.new: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.opt.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.counters.new: 4
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.counters.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.counters.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.opt.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.counters.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.counters.old: 5
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.opt.new: 5
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.opt.new: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.opt.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.counters.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.opt.old: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__32k_2_0.counters.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.opt.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.counters.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.counters.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.opt.old: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.opt.new: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__2M_2_0.counters.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.counters.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.counters.old: 4
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.opt.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.counters.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.opt.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.counters.old: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.opt.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__32k_2_0.counters.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.counters.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.counters.new: 4
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__32k_2_0.opt.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__32k_2_0.opt.old: 5
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.counters.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.opt.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.opt.old: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.counters.old: 4
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__1_2_0.counters.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__0_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.opt.old: 6
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__64_2_0.counters.new: 5
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__4k_2_0.opt.old: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__8_2_0.opt.new: 3
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__512_2_0.counters.old: 2

[microbenchmarks] No significant performance differences

Re-verify

Re-verify

#13178


text:
Fix nonblocking_test by properly setting thread-local variable for test

I believe this test never actually did anything. I blame @ncteisen for reviewing this code (PR #14397)

This is ready for re-review at your convenience. @yashykt can you check this out also? Thanks!

Squashing commits before merge.

source: gharchive/pull-request

repo: grpc/grpc

license_type: permissive

license_source: github-api


text:
etcd name resolver

Add etcd name resolver to gRPC. Etcd names in gRPC are represented as a URI.
etcd://host:port/name
Where host:port is etcd server address. name is etcd path of the service. An example would be etcd://127.0.0.1:2379/storage/mysql.
Services are registered in etcd server in hierarchical format service/instance, similar to Apache Curator. Each service is an etcd node, and each instance is a child node of the service. Each instance node stores its address (host and port) in JSON format.

Can one of the admins verify this patch?

@dgquintas Can you please review this pull request and start jenkins? Thanks!

ping?

pong! Sorry, I'll do a first pass today. Thanks for pinging!

And please start jenkins as well.

This is ok to test.

I forgot one issue. The etcd server on grpc-jenkins-master was not properly configured for the test. @dgquintas can you do me a favor since I don't have the permission now. Here are the steps:

Log on grpc-jenkins-master and go to the etcd directory under jenkins_home.
Kill the original etcd server if running. You can use ps -ef | grep etcd to find the etcd process and then kill it.
Restart etcd server:
./etcd --listen-client-urls 'http://grpc-jenkins-master:2379' --advertise-client-urls 'http://grpc-jenkins-master:2379'

Done. However, the process seems to say in the background, which is to say, the moment I close my SSH window the server will go away.

Actually, the way tests should work is by bringing up any external process they may need (like, in this case, a server) as part of their setup and then bring those external processed down as part of their teardown. In other words, tests should be self-contained and not rely on their environment.
We can take care of setting up the infrastructure for all this in about a week's time, as we are all quite busy right now.
I'm shutting down the etcd server in jenkins-master based on what I described above and also because the jenkins master shouldn't be running any additional software that may interfere with it.

Sure, we can solve the etcd test one week later. Ping me when you are free to do it.
Basically, it is the same process with zookeeper test. @nicolasnoble suggested me running zookeeper server in grpc-jenkins-master to avoid downloading zookeeper since zookeeper is an optional plugin in gRPC. We need to discuss with him on etcd test to decide whether we should follow the same logic as zookeeper or have a separate process to handle the etcd server (we need to download the package, uncompress it and run the etcd server).
By the way, one solution to solve the above problem that the server is killed when ssh is closed is to run the command in a "screen".

Yeah, @nicolasnoble will be back next well.
Sure, one could use screen or tmux (or even "nohup") but those are very hacky solutions indeed :)

Can one of the admins verify this patch?

@nicolasnoble @dgquintas Any suggestions on the etcd test?

Can one of the admins verify this patch?

Closing due to lack of progress on the test.
Please re-open if there's a change.

authors: ctiller dgquintas grpc-jenkins hongweiwang


text:
.terragrunt-cache fails to update with new source "...?ref=..."

I'm updating my terragrunt.hcl's terraform { source = "..." } } value with new ...?ref=<commit> values as I make adjustments, but terragrunt isn't successfully pulling the new commit from the git repo.  Instead, it complains...
[terragrunt] [/Users/jake/git/codecommit.us-west-2/jn-tf/jakesys/regions/us-west-2/vpcs/dev] 2019/06/25 18:04:19 Running command: terraform --version
[terragrunt] 2019/06/25 18:04:19 Reading Terragrunt config file at /Users/jake/git/codecommit.us-west-2/jn-tf/jakesys/regions/us-west-2/vpcs/dev/terragrunt.hcl
[terragrunt] 2019/06/25 18:04:19 Cleaning up contents of download folder /Users/jake/git/codecommit.us-west-2/jn-tf/jakesys/regions/us-west-2/vpcs/dev/.terragrunt-cache/QM1-63WWHsRnztH6ooxLgsdRMGg/tieM-yGmC7c1rfHpXzt3T9uRVsA
[terragrunt] 2019/06/25 18:04:19 Downloading Terraform configurations from git::ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/jn-tf-mod?ref=86e6f62 into /Users/jake/git/codecommit.us-west-2/jn-tf/jakesys/regions/us-west-2/vpcs/dev/.terragrunt-cache/QM1-63WWHsRnztH6ooxLgsdRMGg/tieM-yGmC7c1rfHpXzt3T9uRVsA
[terragrunt] 2019/06/25 18:04:19 Hit multiple errors:
error downloading 'ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/jn-tf-mod?ref=86e6f62': /usr/local/bin/git exited with 1: error: pathspec 'master' did not match any file(s) known to git

[terragrunt] 2019/06/25 18:04:19 Unable to determine underlying exit code, so Terragrunt will exit with error code 1

The hash subdirectories under .terraform-cache are always the same:
git::ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/jn-tf-mod//vpc?ref=6e30e8a
.terragrunt-cache
└── QM1-63WWHsRnztH6ooxLgsdRMGg
    └── tieM-yGmC7c1rfHpXzt3T9uRVsA
        └── vpc
            ├── _data.tf
            ├── _init.tf
            ├── _vars.tf
            ├── main.tf
            └── terragrunt.hcl
git::ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/jn-tf-mod//vpc?ref=c7f82af
.terragrunt-cache
└── QM1-63WWHsRnztH6ooxLgsdRMGg
    └── tieM-yGmC7c1rfHpXzt3T9uRVsA
        └── vpc
            ├── _data.tf
            ├── _init.tf
            ├── _vars.tf
            ├── main.tf
            └── terragrunt.hcl

If I delete .terragrunt-cache entirely, then it's able to pull the new commit reference.  I've also tested to make sure it's actually pulling the specified commit and not just HEAD.
terraform 0.12.2 (via brew)
terragrunt 0.19.4 (via brew)
git 1.22.0 (via brew)
macOS mojave

Just to make sure I understand:

The very first time you run terragrunt <some-command> it successfully downloads the code specified in source.
If you change nothing and run terragrunt <some-command>, you get the "error downloading" message?

The first time i run terragrunt <some-command> it successfully downloads the code.  Subsequent runs of terragrunt commands also succeed...
Until I update the commit reference in source and then attempt to run a terragrunt command.  That's when I get the error.
If I delete the .terragrunt-cache directory, and try again, it will correctly download the code.  terragrunt commands continue to work, until I need to modify the commit reference again.

Ah, OK, thanks for the clarification. Sounds like some sort of bug with the cleanup code. This was changed recently: https://github.com/gruntwork-io/terragrunt/blob/master/cli/download_source.go#L332. Anyone have time to dig in and submit a PR?

Did a diff on tree -a .terragrunt-cache output "before" and "after" new commit ref updates, hopefully this will help narrow down the issue...
The "after" is missing .../.git, .../.terragrunt-source-version, and .../vpc/*.tf -- otherwise the same files exist in both.  The cleanup code did something (perhaps too much?); the error happens when it's trying to re-download (git clone/pull) the module source.

terrragrunt uses go-getter to download sources. On subsequent source get, go-getter library pulls the changes with git pull if the directory already exists.
Since https://github.com/gruntwork-io/terragrunt/blob/master/cli/download_source.go#L332 cleans everything but whitelisted files, there is no .git directory, and therefore git pull fails.

@ekini Good find! Anyone have time for a PR to fix that issue?

I've had a look and the easiest workaround would be to exclude .git from deleting, but it doesn't solve the actual problem and might break on other version control systems.
So I don't see an easy solution from this side.
However, I couldn't understand the logic behind the second directory sync. So we get the source with go-getter and then copy it somewhere? Is it necessary?
If yes, then maybe instead of cleaning the dir here https://github.com/gruntwork-io/terragrunt/blob/master/cli/download_source.go#L332, it would be possible to do something like rsync --av --delete, deleting the files that are not in the source, excluding .terraform dir, for example.

We have to clean up the download dir due to iterative development. E.g., You are running terragrunt apply --terragrunt-source /foo/bar over and over again, and making big changes to /foo/bar (including, potentially, deleting files/folders within /foo/bar). We need to make sure to keep the download folder in sync with /foo/bar. I do an ugly version of this by deleting the download folder (except for .terraform, to avoid having to reconfigure remote state and re-download modules/providers), but I guess that had the unfortunate side effect of deleting .git and leading to confusing errors.
An rsync solution would be great, if one could be found that (a) works on every major OS and (b) works not only for syncing local dirs, but also from Git, Mercurial, and other source URLs.

This is hurting our deploys quite a lot, breaks the live repo/module repo workflow - I'm pretty sure this didn't happen with 0.19.0, not had a chance to bisect fully.

If nobody wants to handle this, I can try in a couple of days :)
My thoughts are: in this function get a list of files in source and destination directories. Check if there are files in destination that don't exist in source and remove them, excluding .terraform folder. Then copy the files.

@ekini That would be great!

Created a PR https://github.com/gruntwork-io/terragrunt/pull/774

We are having the same issue when pointing the source at specific tag(lets say source=...?ref=1.0), doing stuff with terragrunt(thus having non empty .terragrunt-cache) and then trying to run apply on newer version (for example source=...?ref=2.0) of the source.
Thank you for working on it. Hopefully it will fix our case too. So far we have been just wiping the cache folder when the issue occurs, but that is a bit cumbersome as it requires redownloading providers which takes a minute or two.

I built terragrunt from the PR to try and repair our workflow, however the same problem as described at the top of the PR seems to persist.  I will double check the build.
I'm also a bit puzzled as to how this is not effecting everyone who uses Terragrunt - this seems a bad break to a key feature (immutable version modules).  Am I missing something?

@mattford63 What are you referencing in ref= - commits' SHAs or git tags?

Hi @spaszek I'm referencing tags.

@mattford63 could you please ensure you are using the PR#774 terragrunt version? Because that version removes only the files that were copied from the terragrunt module folder.

Hi @ekini yes just double checked, I'm using my own build of PR #774

@mattford63 then could you please give more details? What files you have in the terragrunt module dir, in the source dir and in the working dir? Like in the starting comment.
Maybe after patching terragrunt you need to delete the working directory once, because .git has been deleted already.

source: gharchive/issue

repo: gruntwork-io/terragrunt

license: mit

license_source: bigquery


text:
Restricting terragrunt *-all to specific environment?

Hey guys,
I have the following configuration in the parent terragrunt.hcl file:
inputs = merge(
  yamldecode(
    file("${get_parent_terragrunt_dir()}/../global/global-values_${get_env("ENVIRONMENT", "")}.yaml"),
  ),
  yamldecode(
    file("${get_terragrunt_dir()}/values_${get_env("ENVIRONMENT", "")}.yaml"),
  )
)

Running terragrunt plan-all/apply-all fails due to some directories which don't contain a yaml file for the specific environment.
Is there a way to restrict terragrunt *-all to run only on modules which contain the environment's yaml file, without resorting to --terragrunt-include-dir or --terragrunt-exclude-dir?
Thanks!

This isn't an answer to your exact question, but should workaround the specific issue you are hitting with the usage of yamldecode and file. The canonical way to address this is to use find_in_parent_folders and default to an empty yaml file at the root of your project. See this repo for an example setup. Specifically: https://github.com/gruntwork-io/terragrunt-infrastructure-live-example/blob/master/non-prod/terragrunt.hcl#L26

Thanks @yorinasub17.
I did try this example, however the module is asking for the missing variables when an empty yaml file is used as input.
Any other suggestions?

I have found a workaround to the missing variables issue, I added the following to the child terragrunt.hcl:
skip = fileexists("../values_${get_env("ENVIRONMENT", "")}.yaml")  ? false : true

However, I'm still not loving the idea of having to create a subdirectory for the terragrunt,hcl file just for the sake of using the find_in_parent_folders function. Is there an alternative?
Thanks

however the module is asking for the missing variables when an empty yaml file is used as input.

What is the normal way you are providing these variables? As in, are these modules designed such that you need the variables to be provided manually and thus want to exclude from the apply-all?

I'm still not loving the idea of having to create a subdirectory for the terragrunt,hcl file

I am confused by this. Are you referring to the terragrunt.hcl inheritance model with include? Or are you referring to the yaml files? What is the ideal way you want to organize your folders?

@yorinasub17 I'm providing the variables with a yaml values file specific for the component within a specific environment:
yamldecode(
    file("${get_terragrunt_dir()}/${find_in_parent_folders("values_${get_env("ENVIRONMENT", "")}.yaml", local.default_yaml_path)}"),
  )

Currently this is my directory structure:
├── devops
│   ├── amazing-app
│   │   ├── ecr
│   │   │   ├── terragrunt
│   │   │   │   └── terragrunt.hcl
│   │   │   └── values_us-east-1_global.yaml
│   │   ├── k8s
│   │   │   ├── terragrunt
│   │   │   │   └── terragrunt.hcl
│   │   │   └── values_us-east-1_dev.yaml
│   │   └── s3
│   │       ├── terragrunt
│   │       │   └── terragrunt.hcl
│   │       └── values_us-east-1_dev.yaml
├── empty.yaml
├── global
│   ├── global-values_us-east-1_dev.yaml
│   ├── global-values_us-east-1_global.yaml
│   ├── global-values_us-east-1_prod.yaml
│   ├── global-values_us-east-1_staging.yaml
├── modules
│   ├── ecr
│   │   ├── main.tf
│   │   ├── outouts.tf
│   │   └── variables.tf
│   ├── k8s
│   │   ├── main.tf
│   │   ├── outouts.tf
│   │   └── variables.tf
│   └── s3
│       ├── main.tf
│       ├── outouts.tf
│       └── variables.tf
└── terragrunt.hcl

As you can see I had to move the child terragrunt.hcl files to a terragrunt subdirectory due to the use of the find_in_parent_folders function.

Oh in that case, can you use path_relative_from_include for the default path? E.g:
file("${get_terragrunt_dir()}/${find_in_parent_folders("values_${get_env("ENVIRONMENT", "")}.yaml", "${path_relative_from_include()}/global/values_${get_env("ENVIRONMENT", "")}.yaml")}")

Thank @yorinasub17.
I ended up with this workaround:
locals {
  default_yaml_path = find_in_parent_folders("empty.yaml", "empty.yaml")
  file_path = "${get_terragrunt_dir()}/values_${get_env("TF_VAR_environment", "")}.yaml"
  environment_yaml_file = fileexists(local.file_path) ? local.file_path : local.default_yaml_path
}

inputs = merge(
  yamldecode(
    file("${get_parent_terragrunt_dir()}/global/global-values_${get_env("TF_VAR_environment", "")}.yaml")
  ),
  yamldecode(
    file(local.environment_yaml_file),
  ),
  {
    team = "${split("/", path_relative_to_include()).0}"
  },
  {
    account = "${split("_", get_env("TF_VAR_environment", "")).0}"
  }
)

Thanks for closing the loop. Going to close this issue now as we don't intend on implementing complex build logic for the xxx-all commands in terragrunt at the moment.


text:
🛑 JoradaOrg is down

In a89ae30, JoradaOrg (https://jorada.org) was down:

HTTP code: 403
Response time: 317 ms

Resolved: JoradaOrg is back up in 8528d6b.

repo: grupojorada/upptimejn

license: MIT


text:
🛑 ECNP-CDM is down

In 95f735b, ECNP-CDM (https://ecnp-cdm.i3m.upv.es) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ECNP-CDM is back up in a8675e8.

repo: grycap/status


text:
🛑 kinderundjugendtanz.at is down

In f697cc6, kinderundjugendtanz.at (https://kinderundjugendtanz.at) was down:

HTTP code: 403
Response time: 546 ms

Resolved: kinderundjugendtanz.at is back up in 1fcc21d.


text:
🛑 volkstanzwannwo.at is down

In 912b4b1, volkstanzwannwo.at (https://volkstanzwannwo.at) was down:

HTTP code: 0
Response time: 0 ms

Resolved: volkstanzwannwo.at is back up in a90cc48.


text:
🛑 bretterhofer.at is down

In 972e42d, bretterhofer.at (https://bretterhofer.at) was down:

HTTP code: 0
Response time: 0 ms

Resolved: bretterhofer.at is back up in 8f89047.


text:
🛑 kinderundjugendtanz.at is down

In e06047c, kinderundjugendtanz.at (https://kinderundjugendtanz.at) was down:

HTTP code: 0
Response time: 0 ms

Resolved: kinderundjugendtanz.at is back up in fd6e42c.


text:
🛑 bretterhofer.at is down

In d37f9f4, bretterhofer.at (https://bretterhofer.at) was down:

HTTP code: 0
Response time: 0 ms

Resolved: bretterhofer.at is back up in 1e64225.


text:
🛑 kinderundjugendtanz.at is down

In a0f192d, kinderundjugendtanz.at (https://kinderundjugendtanz.at) was down:

HTTP code: 0
Response time: 0 ms

Resolved: kinderundjugendtanz.at is back up in be03020.


text:
百度云盘冲了会员还限速，求个阿里云盘的docker

https://github.com/liupan1890/aliyunpan
最新版应为 v2.12.14：https://wwe.lanzoui.com/b01nqc4gd
谢谢大佬

你不如试试Alist

authors: ChanLicher gzxiexl


text:
Use less stack in userland

I can't actually run this because nothing provides x86_64-elf-as but man gcc backs me up so it's good right?

This has been open forever... in any case, the user can now allocate more pages, so I think this isn't necessary.

authors: frozencemetery gsilvis

repo: gsilvis/silvos


text:
显示“10002 找不到广告位”如何调试解决？

 //SDK初始化
            await KSAd.register(
              //androidId
              androidId: "1280600001",
              //iosId
              iosId: "1280600001",
              //是否显示日志log
              debug: true,
              //是否显示个性化推荐广告
              personalized: true,
            );
          await KSAd.loadInsertAd(
            androidId: "12806000004",
            //ios广告位id
            iosId: "12806000004",
          );
          //   await KSAd.showInsertAd();
          KSAdStream.initAdStream(
              //插屏广告
              insertCallBack: KSAdInsertCallBack(
            onShow: () {
              debugPrint("插屏广告显示");
            },
            onClick: () {
              debugPrint("插屏广告点击");
            },
            onFail: (message) {
              debugPrint("插屏广告失败 $message");
            },
            onClose: () {
              debugPrint("插屏广告关闭");
            },
            onReady: () async {
              debugPrint("插屏广告预加载准备就绪");
              await KSAd.showInsertAd();
            },
            onUnReady: () {
              debugPrint("插屏广告预加载未准备就绪");
            },
          ));

显示
W/KSAdSDK (21149): [KsAdInterstitialLoadManager]: loadInterstitialAd onError:code:10002__msg:找不到广告位
D/java.lang.Class(21149): 插屏广告加载失败 10002 找不到广告位
I/flutter (21149): 插屏广告失败 10002 找不到广告位

我的广告ID是快手联盟后台直接复制的，没复制错
不过iosId没有我乱填的，应该没关系吧，我是在安卓手机测试

然后我测试了一下激励视频的反倒可以，说明广告id没错，但是插屏广告就是一直提示错误

隔半小时后尝试


text:
fixed file open error under Windows

I guess nobody has tried python-fedex under Windows during passed few years... LOL

Works under both Linux & Windows.
http://en.wikipedia.org/wiki/File_URI_scheme

repo: gtaylor/python-fedex


text:
Cross Compilation issues

The instructions on your website are really great, but since the packages mentionned are only available on AUR it is pretty hard to replicate the build process on any other distribution.
Here is where I am :

I downloaded precompiled binaries (only gtk-10 is available) from here. I went for the 64 bits version.
I uncompressed the archive in /opt/gtkwin, and gave myself all rights to this folder.
I executed find -name '*.pc' | while read pc; do sed -e "s@^prefix=.*@prefix=$PWD@" -i "$pc"; done  while being in /opt/gtkwin. It is said to prepared the files to their folder (cf this AskUbuntu thread).
I added a .cargo/config in my project with the following content :

[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-gcc"
ar = "x86_64-w64-mingw32-gcc-ar"
rustflags = ["-L /opt/gtkwin/lib"]

I created build_windows.sh that contains :

#!/bin/bash
export PKG_CONFIG_ALLOW_CROSS=1
export PKG_CONFIG_PATH=/opt/gtkwin/lib/pkgconfig
cargo build --target=x86_64-pc-windows-gnu

I think that at somepoint I restarted my computer which solved some issues with the linker not finding -lgtk-3.

Now even if it looks fine, there is still an undefined reference. Here is the error :
/gtk-0.3.0/src/auto/enums.rs:513: undefined reference to 'gtk_button_role_get_type'
My Cargo.toml contains the following :
[dependencies.gtk]
version = "0.3.0"
features = ["v3_10"]

I think that this is a version clonfict, but since the precompiled binaries where clearly built on gtk-3.10, I have no idea where is the problem.
Can one of you take a quick look ? I don't have a huge experience with linkers and cross-compilation.
I would be glad to complete the tutorial once it works. :smile:

Thanks for reporting.
https://developer.gnome.org/gtk3/stable/GtkModelButton.html#GtkModelButton--role only added in 3.16, it seems only use of GtkButtonRole and last don't have version :(
I fix it, but you will need use git version instead packaged

@gbip: Thanks for the report. And yes, it'd be awesome!

There is another undefined reference !
/src/auto/flags.rs:776: undefined reference to 'gtk_style_context_print_flags_get_type'

It just stops at first reference?

Yes.
Le 03/12/2017 à 09:11, Evgenii Pashkin a écrit :

It just stops at first reference?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gtk-rs/gtk/issues/600#issuecomment-348773363, or
mute the thread
https://github.com/notifications/unsubscribe-auth/APFkWHxGMnDOiG7rF9ZjKgNxNYbWzqwUks5s8qwBgaJpZM4Qzlar.

"Gtk.StyleContextPrintFlags" only used in gtk_style_context_to_string that has version 3.20.
Good that I was not lazy and implement version to bitflags too.
IMHO if you clone https://github.com/gtk-rs/gtk and use it as path reference.
Change Gir.toml in same way as for Gtk.ButtonRole in https://github.com/gtk-rs/gtk/pull/601/commits/8728d3777ab797f51f59814efbcb673ad7614146 ,
to regenerate code do make in gtk dir,
Changes in flags.rs will be like https://github.com/gtk-rs/gtk/pull/601/commits/354e891e3981e2c0da3c2fc26defa44cbdd21d6c#diff-c68984f22135fca84ad33592fc783221

Ok, I will implement this PR today !

It now cross-compiles without any problem ! :smile:

Well in fact, if it compiles it doesn't execute correctly on Windows 10 : failed to add UI:<input>: required gtk+ version 3.12, current version is 3.10. But I did compile the crate with features = ["v3_10"] for gtk.
I followed the tutorial on your website to package the application.
My test program is just a simple application that loads a glade file and start the gtk loop (I can share it if you really need to).
Here is the application : release.zip.
Can you take a quick look ?

Archive shows same error for me, please show source.

Strange, but if I run robot_debugger.exe without dlls, it run's fine (I have gtk3.22 in path)

Looking on exe I see this line:
seems your glade need fix.

I don't see any control that require even 3.10, IMHO 3.0 will be enough

I meant 3.4

I am starting to suspect Glade too, but I don't see any way to restrict it to a specific gtk version.
Here are the sources.
It seems that one of your comment is missing a line :

Looking on exe I see this line:
seems your glade need fix.

I mean <requires lib="gtk+" version="3.12"/> in gui.glade begining.
It can changed directly in gui.glade file.
As I remember this configured somewhere in glade editor settings, not in element properties.

As you don't use any classes from glade, except for gtk::Window,
rust don't see that you need bigger version.

Okay so changing the required version of gtk in gui.glade has fixed everything.
Thanks for your assistance ! I'm going to write a little bit of documentation on this subject.

authors: EPashkin GuillaumeGomez gbip

repo: gtk-rs/gtk


text:
给的 demo 没有 NodeBaseLayoutBinding

您好，我想问一下 NodeBaseLayoutBinding 找不到这个类是什么原因呀？依赖已经导入了

依赖库很久没有更新了，你直接使用master上的代码

authors: ZainZhao guaishouN

repo: guaishouN/android-thinkmap-treeview


text:
Windows10 vs2019 sm4test测试失败

test_sm4_ctr_update()测试部分失败：
G:\github\Git\GmSSL\GmSSL-master\tests\sm4test.c:614:test_sm4_ctr_update():
G:\github\Git\GmSSL\GmSSL-master\tests\sm4test.c:710:main():
也就是文件sm4test.c文件中下面这部分代码比较时不一致导致的测试失败
if (plen != mlen || memcmp(pbuf, mbuf, mlen) != 0) {
error_print();
return -1;
}
请问是哪里的问题，Linux下可以正常运行通过。

因为sm4test.c文件是UTF-8编码的，但其存在有中文注解(如596行)，可以将这文件修改为ANSI/GBK编码。
或者在CMakeLists.txt文件的357行后面增加target_compile_options(sm4test PRIVATE /utf-8)

repo: guanzhi/GmSSL


text:
sm2签名结果不是64字节的

要跟别的厂商对接，对方做签名，我方做验证，但我们双方技术人员对这块都不太熟。
对方签名结果是64字节的，
我方签名结果却是70多字节的
算法不匹配
目前我方调gmssl大概流程：
签名：
EVP_PKEY* pkey = PEM_read_bio_PrivateKey(...)
const EVP_MD* provider = EVP_get_digestbyname("sm3");
EVP_MD_CTX     md_ctx;
EVP_SignInit   (&md_ctx, provider);
EVP_SignUpdate (&md_ctx, text, len);
EVP_SignFinal(&md_ctx, buf, &buflen, pkey);
验证:
X509* cert = PEM_read_bio_X509(...)
EVP_PKEY* pkey = X509_get_pubkey(cert)
const EVP_MD* provider = EVP_get_digestbyname("sm3");
EVP_MD_CTX md_ctx;
EVP_VerifyInit   (&md_ctx, provider);
EVP_VerifyUpdate (&md_ctx, text, len);
EVP_VerifyFinal(&md_ctx, ..., pkey);
得到的签名结果不是64字节的，不知道如何正确调用gmssl的api？

70字节的应该是带上ASN.1编码的签名结果（0009-2012《SM2算法使用规范》中定义的格式），64字节的应该是硬件密码设备直接返回的结果，将其拆分为两个32字节的BIGNUM就可以比对。

谢谢楼上，ASN.1解码后就可以了

@churuxu 这种怎么ASN.1解码是啥，对71个字节的进行ASN.1解码？

@luoyanwu  我传了个代码示例：https://github.com/churuxu/codesnippets/tree/master/sm2asn1

@churuxu 谢谢，麻烦了  #后来去了解知道了，我这边用java基于bc去实现的，跟c的对接。对这块第一次搞。目前pkcs7的格式还有点问题= =

慎用  https://github.com/churuxu/codesnippets/tree/master/sm2asn1
bn转asn1时，不一定都是大端小端32个字节，也就是说，这个代码返回会是失败，并不是签名失败，而是转asn1失败。测试时，可以连续调用几十次，现象就出现了。更加要注意的是如果单纯的修复了<32也是不对的。校验时，解码同样存在这个问题。
还是希望官网能够给予稳定的示例

authors: churuxu conezxy huangchouchou luoyanwu


text:
chore: update sourcepointId to name

What does this change?
Sourcepoint Id is moved to consent-management-platform and name is used instead to use inside the getConsentFor
https://github.com/guardian/consent-management-platform/pull/276
Why?
Will work with new cmp release

:tada: This PR is included in version 0.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: guardian/commercial-core


text:
Remove [].contains call in favour of indexOf.

Fixes https://github.com/guardian/scribe/issues/401

:+1:

authors: cutandpastey rrees

repo: guardian/scribe


text:
Update sbt-wartremover, wartremover to 3.0.13

About this PR
📦 Updates

org.wartremover:sbt-wartremover
org.wartremover:wartremover

from 3.0.6 to 3.0.13
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wartremover" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wartremover" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #1725.

repo: guardrail-dev/guardrail


text:
Add null mapping

I have a quite complicated Avro schema which looks like that in Avro IDL:
union{null, map<union {null, boolean, long, double, string}>} row_values_before_change = null;

The second null type in the second union breaks the current implementation. This fix adds the proper mapping for null values.

Thanks @gudjonragnar, will you also release it soon?

just released it: https://github.com/gudjonragnar/fastavro-gen/releases/tag/v0.0.2b

authors: chwebdude gudjonragnar

repo: gudjonragnar/fastavro-gen


text:
Update ProcessingManager.php

Closes #
📑 Description

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[x] No

ℹ Additional Information

Summary by Sourcery
Bug Fixes:

Fixed an issue where the delivery ID was not logged when skipping an item.

Description by Korbit AI
What change is being made?
Refactor the logging for skipped items in ProcessingManager.php by removing the delivery ID from the log message and adding additional logging for skip and exception cases.
Why are these changes being made?
The delivery ID was redundant and unnecessary in the log message, and adding more specific logging improves traceability and debugging by clearly identifying skip actions and exceptions when processing items.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Summary by CodeRabbit

Bug Fixes

Enhanced logging for skipped items and exceptions during processing to improve traceability.

@gstraccini codacy bypass

@gstraccini codacy bypass

repo: guibranco/gstraccini-bot-service


text:
🛑 Sefaz - Rio Grande do Sul is down

In 75bf654, Sefaz - Rio Grande do Sul (https://onboardapi.guichepass.com.br/sefaz?code=2) was down:

HTTP code: 500
Response time: 1090 ms

Resolved: Sefaz - Rio Grande do Sul is back up in 2ea6187.

repo: guichevirtual/statuspage


text:
New messages for 4.3

Hello @guideguide/translation! GuideGuide 4.3 has a bunch of new features and some new messages to go along with them. I've also added a few messages that were not previously being translated.
I changed the process again (sorry). It's similar to before, but the file lives in this repo now so I can make it open source. All translations go in:
https://github.com/guideguide/messages/blob/master/src/messages.coffee
To see what needs an update from you, please search that document for # TODO: Due to the amount and breadth of the changes in this version, I'll have it in beta for a while. I'm hoping to ship the update some time before the end of March.
:heart: Thank you as always for your help!

I've also given you write access so there will be no need to fork the repo

French translation updated!

Checking back in, @bomberstudios and @thiagotomasi , if you'd like to include translations for the new features in this release.
Thanks again @damienbigot, yours are now updated in the codebase.

authors: cameronmcefee damienbigot

repo: guideguide/messages


text:
Dependency mailcomposer is deprecated

Dependency mailcomposer is deprecated. Authors message: "This project is unmaintained".
https://www.npmjs.com/package/mailcomposer

@eauw I just haven't addressed it yet but will updated this soon in a new release

@eauw
Check this out - https://github.com/guileen/node-sendmail/tree/feature/%2359_update
let me know if it still works for you
I decided to pull the deprecated package in because we made a conscious decision in 1.0.0 that we did not want to get into the game of formatting emails properly. Picking a package like mail composer allowed up to add a ton of extra functionality because it was all in the formatting. Now that is deprecated it leaves us with 3 options

pull in the deprecated packages and maintain them ourselves
remove it and find an alternative
go back to the basic formatting we had before

Im leaning toward option one as you see in the branch above

Hey @GreenPioneer
Just came across this one. Was a decision ever made to pull the deprecated package in?
Cheers

authors: GreenPioneer TylerHaigh eauw

repo: guileen/node-sendmail


text:
zh-TW Mandarin(Taiwan)

Translated to Mandarin(Taiwan)

Thanks @jerry855202 !


text:
Use gulp-cli in Getting Started

I've noticed this part is outdated, so I took this change from master.

Thanks.  We definitely need to do another pass and update the 4.0 docs.

authors: hudochenkov phated

repo: gulpjs/gulp


text:
its wont run

os: ubuntu 18.10
bot version 1.0.1
python : 3.6
error
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     /home/ghost/nltk_data...
[nltk_data]   Unzipping taggers/averaged_perceptron_tagger.zip.
[nltk_data] Downloading package punkt to /home/ghost/nltk_data...
[nltk_data]   Unzipping tokenizers/punkt.zip.
[nltk_data] Downloading package stopwords to /home/ghost/nltk_data...
[nltk_data]   Unzipping corpora/stopwords.zip.
[nltk_data] Downloading package wordnet to /home/ghost/nltk_data...
[nltk_data]   Unzipping corpora/wordnet.zip.
List Trainer: [####################] 100%
Traceback (most recent call last):
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: table statement has no column named search_text

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

Traceback (most recent call last):
  File "index.py", line 12, in <module>
    "Your flight has been booked."
  File "/usr/local/lib/python3.6/dist-packages/chatterbot/trainers.py", line 120, in train
    self.chatbot.storage.create_many(statements_to_create)
  File "/usr/local/lib/python3.6/dist-packages/chatterbot/storage/sql_storage.py", line 264, in create_many
    session.commit()
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 954, in commit
    self.transaction.commit()
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 467, in commit
    self._prepare_impl()
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
    self.session.flush()
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2313, in flush
    self._flush(objects)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2440, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
    raise value
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2404, in _flush
    flush_context.execute()
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
    rec.execute(self)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 560, in execute
    uow
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 872, in _emit_insert_statements
    execute(statement, params)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/ghost/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table statement has no column named search_text [SQL: 'INSERT INTO statement (text, search_text, conversation, created_at, in_response_to, search_in_response_to, persona) VALUES (?, ?, ?, ?, ?, ?, ?)'] [parameters: ('Hi, can I help you?', 'PRP:support', 'training', '2019-01-28 16:07:49.895579', None, '', '')] (Background on this error at: http://sqlalche.me/e/e3q8)

my bot code

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

# Create a new chat bot named Charlie
chatbot = ChatBot('Charlie')

trainer = ListTrainer(chatbot)

trainer.train([
    "Hi, can I help you?",
    "Sure, I'd like to book a flight to Iceland.",
    "Your flight has been booked."
])

# Get a response to the input text 'I would like to book a flight.'
response = chatbot.get_response('I would like to book a flight.')

print(response)

why its happen any one here for help me?

Hi @Ghost173 I can't seem to recreate the error that you encountered. I'll post the steps and details related to my test environment below. Perhaps there will be a detail in there that is of help.

I created a new workspace and Python file

mkdir new_workspace
cd new_workspace
touch testing.py

I made sure I had the latest version of ChatterBot 1.0 installed

sudo python3 -m pip install chatterbot --upgrade

I pasted your code from the ticket above into testing.py and saved the file.
I ran testing.py and got the following output.

python3 testing.py

List Trainer: [####################] 100%
Your flight has been booked.

I am using Python 3.6.6

i try to re produce my issue but i coudnt i;m still try if i reproduce this error ill share those steps thank you now iam closing this issues

repo: gunthercox/ChatterBot


text:
⚠ ETF has degraded performance

In 62c4a3b, ETF (https://markets.hankyung.com/equity-product/etf) experienced degraded performance:

HTTP code: 200
Response time: 6436 ms

Resolved: 신규상장 performance has improved in 0aee722.


text:
About training set

Hello! Thank you very much for your work! I am currently facing some issues. In your paper, you mentioned that the training set involves approximately 8000k phrases. However, when I use your testing set splitting strategy to divide the data into 100h and 360h hours, I can only obtain a dataset size close to that of the testing set. This is obviously incorrect, and I really hope to know what the training set splitting strategy is. Looking forward to your reply.

Hi, I have the same problem, did you get the corresponding training data?

Hi, I have the same problem, did you get the corresponding training data?

Not yet. Currently, I can only generate a similar amount of training data and conduct experiments

Hi, I have the same problem, did you get the corresponding training data?

Not yet. Currently, I can only generate a similar amount of training data and conduct experiments

The data we generate is very different from what is on the paper, can you please provide us with the data you generate? Thank you very much.


text:
implements health checker

Created route for kubernets checker or others checkers to restart service or communicate a problem

Pull Request Test Coverage Report for Build 99

5 of 6 (83.33%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.0%) to 98.039%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/http/controllers/health.js
3
4
75.0%

Totals

Change from base Build 97:
-2.0%

Covered Lines:
44

Relevant Lines:
45

💛  - Coveralls

authors: coveralls gustavobeavis

repo: gustavobeavis/apibasenode


text:
input value with multiselect

Hi,
I am using multiselect in a way of selecting couple of items from the list and displaying selected items bellow autocomplete component (after clicking Done button) , together with some other information connected to selected item. If you are using component with having maximum number of selected items equals one, everything is ok. But if you have multiselect and if you select a lot of items, then you will see only couple of selected items fitted to the screen. How can I disable displaying of all selected item and have placeholder value displayed all the time... Because from the user point of view there is no need to display all selected item if selected items list is too long.
Thank you in advance.
Regards,
Alan

Hi Alan,
this issue relates to the #169 as there the discussion is ongoing about the tags support.
I think it is valuable information for the user that he sees what is selected in the input field such that he does not need to click on the input again to see the selected items.
I know that this is something which does not look nice, but as a work around you could also use a text area instead of an input field, as there you will see all selected options. Would that be a valuable workaround for you?
If not then please join the conversation about the tags or maybe create a PR/branch with a prototype with the tags as I think this would be the way to go for this use case.
Thanks and regards,
Guy

I am displaying selected items in div element below my autocomplete control. Together with manage-externally="true" and also applied style="display:none;" on input element. That's my workaround, thank you for your answer anyway.
Regards,
Alan

authors: amilino guylabs

repo: guylabs/ion-autocomplete


text:
I cant get autocomplete to work in my project

Hi,
I am using the autocomplete but facing some problems when running it in the ios and android emulator. Beforehand I made a mockup running it in the browser and this worked fine, but when copying the code to my actual project I got a error. Could you please help me.. dont have any clue!
The following error I got in the console:
[Error] Error: collection-repeat expected attribute collection-item-height to be a an expression that returns a number (in pixels) or percentage.
this is my code:
HTML

JS
$scope.getTestItems = function (query) {
console.log('regel 76');
var searchItems = [
{id: "1", name: "John", view: "John: "},
{id: "2", name: "Steve", view: "Steve: "},
{id: "3", name: "Richard", view: "Richard: "},
];
var returnValue = { items: [] };
searchItems.forEach(function(item){
console.log('bijna onderaan');
console.log(item);
if (item.name.indexOf(query) > -1 ){
returnValue.items.push(item);
}
else if (item.id.indexOf(query) > -1 ){
returnValue.items.push(item);
}
});
return returnValue;
};
$scope.itemsClicked = function (callback) {
$scope.callbackValueModel = callback;
}

Hi,
what kind of ionic version are you using in your project? The autocomplete component is using 1.0.0.rc3 and with this version it should work without any issue.
Could you please try and give me feedback?
Thanks and regards,
Guy

Updating did the job! Thanks

Nice that this was the issue. I will add an overview to the documentation which Ionic version is needed for which ion-autocomplete version.


text:
How to get metadata of images?

Hi, I want to resize my images to half size, but I do not know the size of orignal image. How can I get this?

Hi, I want to resize my images to half size, but I do not know the size of orignal image. How can I get this?

Hi, you can use another module https://www.npmjs.com/package/image-size

repo: guyonroche/imagejs


text:
Abandoned php-http/message-factory package is used

Guzzle version(s) affected: 7.7.0
PHP version: 8.2 (hint: php --version)
Description
When using "composer install" a "Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead" warning appears. It seems that since 7.7.0 uses php-http/message-factory package which is abandoned.
How to reproduce
Composer Install
Possible Solution
Use psr/http-factory
Additional context
Package was added in Fixed tests commit and released in 7.7.0.

This only in require-dev. When you use guzzle in your own code, this package is not pulled in.

This still isn't proper package and shouldn't be used there.

The warnings are totally fine, and don't affect you in any way.

We should still plan to migrate to psr/http-factory at some point. It will otherwise show this warning in lots of projects.

Can you show me where installing guzzle in your app or library shows the warning please?

During a composer install (including require-dev)
The warning is
Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead.
Tested with Composer 2.1.8

My project does not require guzzle at all directly. It requires "league/oauth2-client", which requires guzzle and I sill get the warning.
composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead.
Generating optimized autoload files
64 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

That's probably not from us. Can you run composer why php-http/message-factory please?

A thanks, you are right.

authors: GrahamCampbell LamapollCnp bastien-wink mvczajkowski

repo: guzzle/guzzle


text:
operation timeout occured when use guzzle send a request, but work well use php curl

Guzzle version(s) affected: 6.5.0
PHP version: 7.2.34 (hint: php --version)
cURL version: 7.88.1 (hint: php -i | grep cURL)
Description
code use guzzle:
        $url = "https://xxxx.com/create";
        $headers = [];
        $headers['content-type']  = 'application/xml';
        $headers['authorization'] = sprintf('Bearer %s', "xxxxxxxxx");
        $params =[
            RequestOptions::HEADERS => $headers,
            RequestOptions::BODY    => "",
            RequestOptions::VERIFY  => true,
            RequestOptions::DEBUG => true,
        ];
        $client = new \GuzzleHttp\Client();
        $params[RequestOptions::TIMEOUT] = $params[RequestOptions::TIMEOUT] ?? 3;
        $params[RequestOptions::CONNECT_TIMEOUT] = $params[RequestOptions::CONNECT_TIMEOUT] ?? 10;
        $params[RequestOptions::VERIFY] = $params[RequestOptions::VERIFY] ?? false;
        $params[RequestOptions::DEBUG] = true;
        $response = $client->request("POST", $url, $params);
        $res = [
            'code'         => $response->getStatusCode(),
            'body'         => (string) $response->getBody(),
            'reasonPhrase' => (string) $response->getReasonPhrase(),
        ];

and the http request debug log is:
*   Trying 111.121.111.111:443...
* Connected to xxxx.com (111.121.111.111) port 443 (#0)
* ALPN: offers http/1.1
*  CAfile: /opt/homebrew/etc/openssl@1.1/cert.pem
*  CApath: none
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: C=FR; ST=�le-de-France; L=Neuilly-sur-Seine; O=CHANEL SAS; CN=*.lpl-cloud.cn
*  start date: Feb  5 00:00:00 2024 GMT
*  expire date: Feb  5 23:59:59 2025 GMT
*  subjectAltName: host "xxxx.com" matched cert's "*.xxxx.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* using HTTP/1.1
> POST /create HTTP/1.1
Host: xxxx.com
User-Agent: GuzzleHttp/6.5.0 curl/7.88.1 PHP/7.2.34
content-type: application/xml
authorization: Bearer xxxxxxxxx
Content-Length: 0
* old SSL session ID is stale, removing
* Operation timed out after 3000 milliseconds with 0 bytes received
* Closing connection 0

In CurlFactory.php line 200:
  cURL error 28: Operation timed out after 3000 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

i change code using curl:
        $url = "https://xxxx.com/create";
        $headers = [];
        $headers['content-type']  = 'application/xml';
        $headers['authorization'] = sprintf('Bearer %s', "xxxxxxxxx");
        $curlHeaders = [];
        foreach ($headers as $key => $value) {
            $curlHeaders[] = sprintf("%s:%s", $key, $value);
        }

        $ch = curl_init($url);
        // 启用调试模式
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $curlHeaders);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "");
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        $res = curl_exec($ch);
        curl_close($ch);

the code work well and the log is:
*   Trying 111.121.111.111:443...
* Connected to apollo2uat.lpl-cloud.cn (111.121.111.111) port 443 (#0)
* ALPN: offers http/1.1
*  CAfile: /opt/homebrew/etc/openssl@1.1/cert.pem
*  CApath: none
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: C=FR; ST=�le-de-France; L=Neuilly-sur-Seine; O=CHANEL SAS; CN=*.lpl-cloud.cn
*  start date: Feb  5 00:00:00 2024 GMT
*  expire date: Feb  5 23:59:59 2025 GMT
*  subjectAltName: host "xxxx.com" matched cert's "*.xxxx.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* using HTTP/1.1
> POST /create HTTP/1.1
Host: xxxx.com
Accept: */*
content-type:application/xml
authorization:Bearer xxxxxxxxx
Content-Length: 0

* old SSL session ID is stale, removing
< HTTP/1.1 401 Unauthorized
< Content-Type: application/json
< Content-Length: 85
< x-root-cause-for-failure: This is an APIM error - please contact APIM team
< Date: Tue, 09 Jul 2024 02:56:04 GMT
< Connection: close
< Referrer-Policy: no-referrer, strict-origin-when-cross-origin
< X-Content-Type-Options: nosniff
< Content-Security-Policy: frame-ancestors 'self' ; object-src 'none'; base-uri 'self'; form-action 'self'  https://*.xxxx.com;
< Strict-Transport-Security: max-age=31536000 ; includeSubDomains ; preload
<
* Closing connection 0
string(85) "{ "statusCode": 401, "message": "Unauthorized. Access token is missing or invalid." }"

hi can anybody help?

Hi, how did you solve this problem?

authors: gopkg-dev karliehgf


text:
Array Parameter not working

I have this code
$data = array( 	'File-Name' => $file_name, 	'Mime-Type' => 'application/pdf', 	'File' => $sourcePath ); $multipartStream = new MultipartStream($data);
but I'm getting an error of
Catchable fatal error: Argument 2 passed to GuzzleHttp\Psr7\MultipartStream::addElement() must be of the type array, string given, called in /Applications/MAMP/htdocs/adobesignwp/wp-content/plugins/Gravity2PDF/lib/vendor/guzzlehttp/psr7/src/MultipartStream.php on line 70 and defined in /Applications/MAMP/htdocs/adobesignwp/wp-content/plugins/Gravity2PDF/lib/vendor/guzzlehttp/psr7/src/MultipartStream.php on line 79

The constructor expects an array of associative arrays as documented in https://github.com/guzzle/psr7/blob/master/src/MultipartStream.php#L17
For examples, see https://github.com/guzzle/psr7/blob/master/tests/MultipartStreamTest.php

authors: Tobion raphcadiz


text:
SDN Mirror

Write a pox program that acts as a learning switch, but also mirrors all traffic from a specified IP address (first command line argument) to another ethernet port (second command line argument).  Use tcpdump or the packetsniffer to verify that the second host gets the traffic (but that other hosts do not).

@nks5295 @atryus and yours truly can do this one

no immediate due date for this, but you may find it useful practice for your geni competition entry.


text:
Error: rk.lua: attempt to index a nil value

After installing reaper-keys from reapack, running the installer, and importing the keymap, I'm getting this error when I try pressing any keybinds:
rk.lua:1: attempt to index a nil value

Did I do something wrong in setup? It might be worth expanding the installation section of the readme to include further details on how to get a working install.

I believe there's a bug in my code. Can you provide your OS (Windows, I suppose) and Reaper version?

Also, these things will be helpful

Full path to the reaper-keys directory
Any SCR line from the auto generated key map

It's an index naming issue. I've fixed it in master, but the update is a bit tricky:

Delete the current index from Reapack (Extensions > Reapack > Manage repositories), re-add it
Re-download extension
Launch the installer. Do not import the key map yet.
Open action list. Key map > Reset all shortcuts in all sections to default
Search for "reaper-keys" in action list. You'll likely find something like this:

install-reaper-keys.lua
reaper-keys <...>/Scripts/Reaper keys/internal
reaper-keys <...>/Scripts/reaper-keys/internal
delete both of the "reaper-keys" scripts (Select > right-click > delete selected ...).

Import the keymap

Awesome, this fixed it!

repo: gwatcha/reaper-keys


text:
Ignore placeholder nil is too eager

In the following example we see that the default value of an &key argument, when nil, is parsed as an ignore placeholder in the bind macro, which isn't what I expected:
PARSER> (bind ((x 2) ((a b &key c (d nil d-s-p)) (list 1 x :c 4))) (list a b c d))
; in: BIND ((X 2) ((A B &KEY C (D NIL D-S-P)) (LIST 1 X :C 4)))
;     (IGNORE #:BIND-IGNORE-1769)
;
; caught STYLE-WARNING:
;   IGNORE declaration for an unknown variable: BIND-IGNORE-1769

; in: BIND ((X 2) ((A B &KEY C (D NIL D-S-P)) (LIST 1 X :C 4)))
;     (DESTRUCTURING-BIND
;         (PGLOADER.PARSER::A PGLOADER.PARSER::B
;          &KEY PGLOADER.PARSER::C
;          (PGLOADER.PARSER::D #:BIND-IGNORE-1769 PGLOADER.PARSER::D-S-P))
;         (LIST 1 PGLOADER.PARSER::X :C 4)
;       (DECLARE (IGNORE #:BIND-IGNORE-1769))
;       (LIST PGLOADER.PARSER::A PGLOADER.PARSER::B PGLOADER.PARSER::C
;             PGLOADER.PARSER::D))
; --> LET LET* LET*
; ==>
;   (IF PGLOADER.PARSER::D-S-P
;       (SB-KERNEL::LOOKUP-KEYWORD ':D #:KEYWORDS-2)
;       #:BIND-IGNORE-1769)
;
; caught WARNING:
;   undefined variable: #:BIND-IGNORE-1769
;
; compilation unit finished
;   Undefined variable:
;     #:BIND-IGNORE-1769
;   caught 1 WARNING condition
;   caught 1 STYLE-WARNING condition
; Evaluation aborted on #<UNBOUND-VARIABLE BIND-IGNORE-1769 {1005354063}>.

@gwkkwg something is weird in the git repo. the fix that you have referenced is seemingly in the commit log, but when you look at the HEAD of bind.lisp, that change is not there!
AFAIU, you seem to have merged in an old branch of yours, and this merge has undone at least this fix above, and possibly more? how can we check that?
i asked for a history of bind.lisp and it doesn't even show the above mentioned commit?! it is observable here: https://github.com/gwkkwg/metabang-bind/commits/master/dev/bind.lisp

further analysis:
gitk --all shows that you have merged in 14 commits, but the github log of master only contains +2 and the merge commit. completely guessing here, but i assume the others have already been merged into master previously, that's why the different gitk/github rendering of the tree.
this merge commit may have rewound the repo state, because when you inspect bind.lisp right at the next commit after the fix, the fix is already undone from the bind.lisp file.

Thanks Attila,
Looks like I messed up when I was trying to reconcile two divergent branches. I will try to fix...

I've tried again... with luck and feathers, it'll be all good now.

@gwkkwg did you push it? i don't see anything new here:
https://github.com/gwkkwg/metabang-bind/commits/master

Ah snap. Let me try again.

This time, perhaps, the breach is fixed.

This time, perhaps, the breach is fixed.

authors: attila-lendvai dimitri gwkkwg

repo: gwkkwg/metabang-bind


text:
Feature: Connect to redis database.

Now the backend can connect to redis database to storage visitor counter.

Current site after successfully deployed.

🥲🥲🥲

authors: NatLee h-alice

repo: h-alice/god-boris-site


text:
DocTR OCR seems broken -- layout aware or not.

Gives:
Thisisaphotoofawhitecatcurled duponagray bed
 sheet. Thecatissleeping V Its head tucked under
 itsb body. There eisano orange fruit placed on the ecat's
 back,n makingitlooklikeane egg JI on a fried egg.
 The backgroundisagray bed sheet with some
 wrinkles. Is there anythinge else you wouldliketo
 know vaboutthis picture?

 Public Corporate Bonds, issued primarily Residential alMortgage-BackedSecurities
 byinvestment grade companies, form the areinvestmentsintheresidentialreal
 coreofourinvestment portfolio. Weinvest estatemortgagemarket. These: securities
 acrossad diverse group ofindustries. Public aret typicallyp poolsofmortgagesfroma
 corporate bonds are liquid and providestable diverse group ofborrowers sandg geographic
 currentincome. <11> regions.Alargeportion< nof four holdingsare
 <26> issued <17> and <11> guaranteed Ibyl yU.S.government-
 Private Corporate Bondsareoriginated dbyour
 <26> sponsored <17> enterprises.
 dedicatedteam ofinvestment professionals.
 Thise expertiseallowsustoidentifyvaluable Municipal IBondsp provide opportunities
 investment opportunities unavailableinthe toinvestinstates, counties, andlocal
 publicmarkets.Inaddition, theseinvestments municipalities. Municipalinvestmentsinclude
 providefurtherdiversification better generaLobligationbonds supported.bv

Setting layout_aware=False everywhere has no effect, still bad.
Reverting 59f5d429d963328fe0208e34750eab194a9f0c25 has no effect, still bad.


text:
[Bug]: Extension changes orientation when generate

Please search to see if an issue already exists for the bug you encountered, and that it hasn't been fixed in a recent build/commit.

[X] I have searched the existing issues

What happened?
When I try to create a portrait photo, the extension turns it into a landscape, and vice versa. I only make a portrait if I invert the dimensions.
I use AUTOMATIC1111 1.8.0 version. It worked with version 1.7.0.

Which WebUI
AUTOMATIC1111 (Default)
WebUI version
other
What browsers are you seeing the problem on?
Chrome
What Python version are you running on?
Python 3.10.x
Steps to reproduce the problem

Set dimensions to portrait.
Use the extension.
Hit Generate

List of extensions
No
Relevant log output
No response

just a simple typo. It's fixed with #63 . I don't know how i did not catch that while Testing..


text:
Error incorrect login on clean install

Welp, almost 5 hours have passed and i still don't know what's wrong.
This is now the sixth time i reainstall all from scratch, thinking i may have missed something.
Right after finishing the install, reboot, then try to reach the login page:
Asks for a password, should i guess be the 'armnas user password' i typed during the install. Incorrect.
Inspected the page and get looping errors "CORS header 'access-control-allow-origin' missing".
I'm not familiar with caddy AT ALL but it seems it should be something in the caddyfile ?
OrangePi Zero2, here (H616, armbian 22.02.1)

Sorry for such a 'low level issue' but well, i'm stuck :/
.

Hi.
I will try to help you with this problem.
Here are my propositions to do:
Option 1 - Reinstall

Delete /var/www/armnas directory.
Install again.
Try to login.

If this will not work
Option 2 - Manual register

Login as root or armnas -> su root
Execute

cd /var/www/armnas/backend/WebApi
./stop.sh
rm -rf armnas.db
./start.sh

Wait couple seconds. armnas.db file should be created again.
Execute (put password and armnas ip)

curl --header "Content-Type: application/json" --request POST --data "{\"id\":0,\"login\":\"admin\",\"password\":\"YOUR_PASSWORD_HERE\"}" http://ARMNAS_IP_PORT_HERE/user/register

Good example with response
> curl --header "Content-Type: application/json" --request POST --data "{\"id\":0,\"login\":\"admin\",\"password\":\"superpassword\"}" http://192.168.254.128:9970/user/register

{"id":1,"login":"admin","password":null}

Try to login.

If this will not work
Option 3 - Logs

Please put somewhere your /var/www/armnas/backend/WebApi/webapi.log file. I will try to check it.


text:
🛑 authelia is down

In 7f3b75e, authelia (https://auth.h4arn.se) was down:

HTTP code: 0
Response time: 0 ms

Resolved: authelia is back up in 3264635 after 11 hours, 24 minutes.


text:
reveal activity behind the project on the site - ideas?

web platform is a moving target so with html5please we have a need to keep up.
one of the challenges with content for developers is to prove that you're devoted to keeping it up to date.
I think we're doing pretty good with that on html5please (but it could always be better) .. but really we could surface our activity and work to the site a little better
this led me to start this lazyweb req a while ago: h5bp/lazyweb-requests#57
it led to a few possibilities:

http://jsfiddle.net/gnclmorais/aUUTJ/75/
http://tylerlh.github.com/github-latest-commits-widget/?username=jquery&repo=jquery&limit=20

I think in our case we want something more minimal in both content and presentation..
Also not sure how to integrate it.. top/right, in the footer somehow?
Would love to hear any thoughts anyone has here.

@arthurvr , it doesn't work in Firefox 35.01 and Safari 7.1. I fix it in #353 .

authors: evverx paulirish


text:
Multiple connections can use the same login

I'm not sure this is an actual issue @haadcode and if it's well known one or an expected behavior please close this. I have been able to connect with the same login on two different devices in the same LAN on the same channel. While I understand why this could be authorized and why it's not inherently a problem it essentially means you can't tell who is who...

@theobat you're correct, this is possible atm. We don't have a great solution for "identity" yet and basically how it works is that while you see the same name, they actually use different keys to sign the messages. This is obviously not ideal, as there's no way to have unique names, we can only have unique keys.
If you click on the user name when you have a channel open, you see the "user profile" data and they should be different keys.
I would be very happy to hear suggestions how we could approach this, everything from solving this on lower level or on UX/UI level.

Thanks for reporting this and opening the discussion @theobat!

Interesting @haadcode, thanks for your answer, a few considerations regarding this then :

First of all, as a layperson interested in IPFS what struck me as a real success in terms of user experience in orbit was the simplicity. I think using a simple arbitrary login is a very valuable feature and not inherently a problem. The real issue here is when you cannot tell who is who. This is purely a UI/UX problem (logically there's nothing wrong here) and interestingly enough, this only becomes a hurdle once you connect to a channel... So I'm wondering if we know all the logins which ever connected to a given channel when a new person connects to a channel. If that's the case a simple policy asserting both back and front end that the given key corresponds to the given username could be implemented, and if two people ask for the same username in the same channel the prompt could ask for another one... (or just asking for a change ?) Some sort of channel based id-dictionary (just throwing an idea based on my experience of the product).

Now this makes me think of IPNS and all the discussions about hosting dynamic content and getting user friendly names, there is -in the end- a mapping between http urls/uris and hashed contents thanks to ipns perhaps orbit could get some inspiration from this ? (just echoing the idea above)

I do not think this is a tremendous problem atm and event though it might be a significant problem at one point -later- it is not preventing small teams from using it (which is I believe a very pragmatic and important goal for this piece of software)

Another thing is getting inspiration from slack (because it's a very good product and orbit is not so far, plus this was already mentioned in another issue). They are using emails for identification, and the primary right filter is that an org can only have emails from a given domain. Is there any pros/cons already mentioned/imagined for emails as identifiers ? (like linking a given ipfs node to an email ?) (juste another idea it feels like this one has obvious security flaws but... just asking)

what struck me as a real success in terms of user experience in orbit was the simplicity

Thanks! This has been the goal since day one and will continue to be the defining design factor for Orbit: simplicity. It does come with trade-offs, but it's something to aim for in everything we do in Orbit.

So I'm wondering if we know all the logins which ever connected to a given channel when a new person connects to a channel

Right now, we don't know who connects. And I'd be very hesitant to track that on a global level as it makes Orbit "less private" in a way. Does that make sense?

Now this makes me think of IPNS and all the discussions about hosting dynamic content and getting user friendly names

IPNS could be used for the user profile. At the end of the day, IPNS is a key which is what Orbit currently uses to identify users and distinct between them. What could be interesting is to use an IPNS key to pull the user profile from. Perhaps that can be mapped to a human-readable name somehow.

...using emails for identification, and the primary right filter is that an org can only have emails from a given domain. Is there any pros/cons already mentioned/imagined for emails as identifiers

I think it'd be better to turn it around and consider an email to be a "field" in your profile. That would allow the user to tie different emails to their identity, or not use one if they don't want to.
I really don't have a good solution for this yet and it's definitely not trivial. Thanks for the comments and proposals. Keep 'em coming! Hopefully others in the community will also pitch in and we can find something that solves this problem in a good way.
Let's keep the discussion going!

What could be interesting is to use an IPNS key to pull the user profile from. Perhaps that can be mapped to a human-readable name somehow.

What I've done in the past is to have the peer id resolve to a json file with the profile of the user. Username could be included there.

I think it'd be better to turn it around and consider an email to be a "field" in your profile. That would allow the user to tie different emails to their identity, or not use one if they don't want to.

:+1:

have the peer id resolve to a json file with the profile of the user.

This would limit it to a specific IPFS node, right? So essentially, one user profile per one device? I don't we should limit that, but try to find something that works in a way that the user can use the same profile from any device.

This would limit it to a specific IPFS node, right? So essentially, one user profile per one device?

At the moment yes but in the future it's planned to be able to have many identities (based on one root one) in IPFS per node, not limited as it is right now.

Right now, we don't know who connects. And I'd be very hesitant to track that on a global level as it makes Orbit "less private" in a way. Does that make sense?

That makes perfect sense. But if I rephrased my initial question it would be: what is the purpose of the username in orbit ?

Should it be linked to the identification process of a user (which seems to be the case right now, but not completely) ?
Should it be a pure optional and free of constraints field defined in user profiles such as any other information a user wants to specify (like emails) (it's not required logically speaking right now since keys could be the default ugly usernames if you follow this idea) ?

What I've done in the past is to have the peer id resolve to a json file with the profile of the user. Username could be included there.

This tends to be rather like the 2nd option, but this :

user can use the same profile from any device.

Pushes me to unique usernames and passwords ... ? I mean, unless users specify which devices they can use for a given account (using pub/priv keys identification) I don't see other options...
Is there an established anti password-based authentications policy yet or is it just to be avoided as much as possible ? I don't see how (and if so why) the distributed nature of the app changes these questions...

authors: VictorBjelkholm haadcode theobat

repo: haadcode/orbit


text:
Rip fieldy mcpartnerson

Resolves #
<Brief description of the added features or other changes/updates (either bulletpointed list, small paragraph, etc.)>

Long fp names overflows the tab component


text:
hackclubblotproj-amanda

program generates various slightly different iterations of the letters HC within a box.

experience coding: have taken some courses in and outside of highschool.

Thanks for the submission. I think this piece could be refined a bit more. Also pay attention to the file structure of your submission. You've got two folders with a few issues in each right now. Keep at it! It's a good start.
I'm going to close for housekeeping but please resubmit when you are ready.

authors: amandasff leomcelroy

repo: hackclub/blot


text:
Add options to add socials for club and leaders in the Slack Bot

Self-explanatory title.

Done in commit bb8a8cebd73489ed00591fa94fbcf6241f6e0671.

repo: hackclub/clubsdirectory


text:
add command to last step of running instructions

closes #73.
i split the sentence in half, hopefully that's okay?

@sporeball Looks great!!

authors: jessicard sporeball

repo: hackclub/gamelab


text:
Kick-off email for existing clubs

From https://docs.google.com/spreadsheets/d/1H3eWAH3trXgGudJgl_-bVHUe7jLgoJnQuBscMgirDGA/edit#gid=0

Yay you're in/ school year
Here's the shit you need to know

Done

repo: hackclub/meta


text:
sprite.dx & sprite.dy are not documented in the Sprig toolkit.

the toolkit does not document the dx and dy attributes of a sprite.

Interesting, I never saw anyone using this function tho

Interesting, I never saw anyone using this function tho

repo: hackclub/sprig


text:
make readme slightly better

Prune instructions to just how to run the backend locally.

@hassanshamim does this reference #10 ?

authors: accua hassanshamim


text:
Linear intensity profile

This PR contains:

[x] a new test-case for the benchmark

[x] I hereby confirm that NO LLM-based technology (such as github copilot) was used while writing this benchmark

[ ] new dependencies in requirements.txt

[ ] The environment.yml file was updated using the command conda env export > environment.yml

[ ] new generator-functions allowing to sample from other LLMs
[ ] new samples (sample_....jsonl files)
[ ] new benchmarking results (..._results.jsonl files)
[ ] documentation update
[ ] bug fixes

Related github issue (if relevant): closes #36
Short description:

adds a test for linear intensity profile in 2D
this test case makes use of the function profile_line available under skimage.measure

input: image, and two point coordinates
ouput: intensity along the line as array

when checking the candidate, it checks a horizontal, a vertical and a diagonal line

How do you think will this influence the benchmark results?

should be a relatively simple problem

Why do you think it makes sense to merge this PR?

Linear intensity profiles are frequently needed in BIA

Hi @marabuuu ,
thanks for working on this!
I will merge this into a dev-branch, where we can collect new test cases. Just explaining: If we merged new test-cases now, we would have to re-run all the benchmarks as the new test-cases haven't been tested with the 18 models we benchmarked so far. I'd say once we have 10 new test cases together, we can do this in one shot limiting effort on the benchmarking side.
Big thanks again!
Best,
Robert

Hi @haesleinhuepf,
thank you for the explanation, makes total sense.
Best,
Mara

Thanks again @marabuuu, when you send your next pull-request, e.g. containing another nice test-case as this one, please also add yourself and your affiliation to the author-list in this file before Nico. Also let us know if you have any conflicts of interest that we need to report when submitting the paper.

authors: haesleinhuepf marabuuu

repo: haesleinhuepf/human-eval-bia


text:
Limit pasted content

Copy/paste Jita local to see what I mean.
Also let the user know the paste has be truncated to avoid confusion.

Set limit to 500. Let's see how it goes.

repo: haggen/localthreat


text:
[DEV] Does not support SSLv3 in the latest Python.

Coding for Support SSLv3

I have completed modifications on this issue. please update to a2sv 1.4.2.
thank you :)
update case 1
#> a2sv -u
update case 2
#> rm -rf a2sv
#> git clone https://github.com/hahwul/a2sv


text:
Making a request from a Chrome Extension results in 403?

I made a Chrome Extension that uses fixer.io. When I try it live, I constantly get a 403 response from your server. This also happens if I open the request through my extension from localhost.
I correctly set up my Chrome Extension permissions and even tried making the request to a dummy API:
https://jsonplaceholder.typicode.com/posts?base=USD

This doesn't return a 403, so the problem is not in my extension manifest. I've added permissions to access all http and https URLs.
I get a 403 response even if I make that request on fixer.io's very website. The URL I'm requesting is:
https://api.fixer.io/latest?base=USD

The error I get is:
GET https://api.fixer.io/latest?base=USD 403 (Forbidden)

The request comes from:
chrome-extension://cdddhfgfgancbdapphmamhiadjmgcojp/script.js

If I simply make the XHR from the JavaScript console, I get a normal response. I only have problems when my Chrome Extension makes the request, no matter on what website.
Here's the 200 response when I make the request from localhost where I develop my extension:

Here's the 403 response when I make the request from my extension:

Both requests trigger at the same time and the code is the same. One is initialized from a <script> on an HTML page, the other is initialized from the extension.
The only differences I could spot between the requests are that the extension request lacks the Origin header. Could that be the problem? It also has a Cookie header. That one comes from Chrome itself, I doubt it causes the problem, though.
I also wrote about this on StackOverflow.
Could somebody please help me. Thanks!

The problem can be avoided by initiating the request in an Event Page instead of a Content Script.
I guess it's because in the context of a Content Script, it's like the currently open website requests some data and CORS problems arise. Event Pages have more permissions, I guess.

The problem can be avoided by initiating the request in an Event Page instead of a Content Script.
I guess it's because in the context of a Content Script, it's like the currently open website requests some data and CORS problems arise. Event Pages have more permissions, I guess.

Did you change anything else? I'm making the calls from background.js and I still get 403 Forbidden error.

authors: duplxey hdodov

repo: hakanensari/fixer


text:
Code-Sharing support

Could be great if svelte-native support Code-Sharing like vue/angular https://nativescript-vue.org/en/docs/getting-started/code-sharing/

Thanks for the suggestion. I did look into this in the past, and don't feel comfortable opting into this, at least in its current form. The styles will always be different, the templates different,  the callback arguments from events different leaving the only thing shared being the script tag. Svelte components tend to have a small script tag and most common logic is extracted into stores, or plain JS.
I feel that forcing a 1 for 1 component mapping between native and web could lead to compromises in application layout/design.
That being said, Svelte does has a pre-processor option which could be used to do this and remove the style and unwanted template based on target, so I will leave this to a preprocessor and not bake it into core.

actually, the main idea of share components is to shared basic view/presentation componentes, so the HTML/CSS and some basic JS, but yeah, I think the preprocessor can do it this like https://github.com/sveltejs/svelte/issues/65#issuecomment-553389698

authors: halfnelson vxcamiloxv

repo: halfnelson/svelte-native


text:
Code syntax highlighting

Have you thought about adding support for syntax highlighting in code blocks? Maybe not directly into the library, but having some interface that a third party module can implement to do the highlighting?
Would you accept a pull request that implements an option like this? And if yes, please let me know if you have any ideas on what's the implementation should look like and if you have any preferences.

An update; those release problems are solved now.

Awesome. Thanks for the update. I hope to have some time to work on it soon.

Hey folks. Do you have some progress on this?
@halilozercan what do you think about adding an external dependency for such a thing? For example this one https://github.com/SnipMeDev/KodeView?

authors: halilozercan tananaev zayass

repo: halilozercan/compose-richtext


text:
fix: toString method and hide metastorages property

This change is to fix the problem toString method and hide the metaStorages property from the IngressPrimeStat instance, we update the statTimezone property into timezone for readable purposes.
#6 #7

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

repo: haloivanid/ingress-prime-stat


text:
How to send a daily notification - help

My goal is to show a notification daily on a user-chosen time. I tried Services and AlarmManager. Both failed because the service goes to sleep after a while and the AlarmManager has a bug in KitKat and I dont know how to handle it. Many tutorials are deprecated or simply wrong. So at the end I landed here. I can see that I can create a notification with your library very easy but I cant find an option to define when the notification shall get fired and in which interval.
Can you help me?

Hi @XxGoliathusxX,
The Pugnotification does not have a notification scheduling system. According to the principles of responsibility, it is not the responsibility of a notification library. Unfortunately you will need a Alarm Manager or Job Scheduler to manage this process of scheduling and thus draw pug just to display the notification!

authors: XxGoliathusxX halysongoncalves

repo: halysongoncalves/Pugnotification


text:
⚠ ClamAV has degraded performance

In db38df5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in d3ca844 after 5 minutes.

repo: hamboneZA/caffeine


text:
⚠ ClamAV has degraded performance

In 00e7ffd, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 86 ms

Resolved: ClamAV performance has improved in 4aece24 after 6 minutes.


text:
⚠ ClamAV has degraded performance

In a177f2e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 257 ms

Resolved: ClamAV performance has improved in 543e53d after 40 minutes.


text:
⚠ ClamAV has degraded performance

In 58ddc54, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 428 ms

Resolved: ClamAV performance has improved in e6a70b8.


text:
⚠ ClamAV has degraded performance

In 9256eab, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 452 ms

Resolved: ClamAV performance has improved in 9acb195.


text:
⚠ ClamAV has degraded performance

In 46be1e5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 218 ms

Resolved: ClamAV performance has improved in a399bd8.


text:
Compatibility with requirejs optimizer namespaces #686

http://requirejs.org/docs/faq-optimization.html#namespace
See issue #686

@andreincx could you change this
typeof define === 'function'

to
var TYPE_FUNCTION = 'function';

if (typeof define === TYPE_FUNCTION && define.amd) {

To keep this consistent?

@runspired typeof define === TYPE_FUNCTION && define.amd will not work with r.js
The check has to be exactly as andreincx fixed it, othervise r.js will not recognize it and the namespace is not applied.

Sorry, I didn't have time to comment on that and forgot about issue. @meszarv  is right about it.

Hrm, we'll need to figure out something else then because define is present in many environments that aren't amd and would not load correctly with your approach.

any chance of a merge and release with this fix? I'm also hitting this issue

This will be in the next release

Is there any schedule, when a new version will be released?
I don't ask for a specific date, but will it be in days, weeks or months?

as soon as we fix the failing tests on master its basically done

authors: LeJared ahumphreys87 andreincx arschmitz meszarv runspired


text:
Strange error using plot_survival

I'm using plot_survival on a cohort & am getting a strange error:
Input:
my_cohort.plot_survival(on='age')

Output:
ValueError: Invalid RGBA argument: 0.6627450980392157

Using Python 3.5.2 & matplotlib 2.0.2 (installed via conda)
Python 3.5.2 :: Continuum Analytics, Inc.
matplotlib                2.0.2               np113py35_0

Here is the traceback:
# no condition 29
# with condition 27
Out[14]:
<lifelines.StatisticalResult:
Results
   null distribution: chi squared
   alpha: 0.95
   df: 1
   test: logrank
   t 0: -1

   __ p-value ___|__ test statistic __|____ test result ____|__ is significant __
         0.69421 |              0.155 |  Cannot Reject Null |       False
>
/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans
  (prop.get_family(), self.defaultFamily[fontext]))
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/colors.py in to_rgba(c, alpha)
    140     try:
--> 141         rgba = _colors_full_map.cache[c, alpha]
    142     except (KeyError, TypeError):  # Not in cache, or unhashable.

KeyError: (0.6627450980392157, None)

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/IPython/core/formatters.py in __call__(self, obj)
    305                 pass
    306             else:
--> 307                 return printer(obj)
    308             # Finally look for special method names
    309             method = get_real_method(obj, self.print_method)

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/IPython/core/pylabtools.py in <lambda>(fig)
    225
    226     if 'png' in formats:
--> 227         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
    228     if 'retina' in formats or 'png2x' in formats:
    229         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/IPython/core/pylabtools.py in print_figure(fig, fmt, bbox_inches, **kwargs)
    117
    118     bytes_io = BytesIO()
--> 119     fig.canvas.print_figure(bytes_io, **kw)
    120     data = bytes_io.getvalue()
    121     if fmt == 'svg':

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2198                     orientation=orientation,
   2199                     dryrun=True,
-> 2200                     **kwargs)
   2201                 renderer = self.figure._cachedRenderer
   2202                 bbox_inches = self.figure.get_tightbbox(renderer)

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py in print_png(self, filename_or_obj, *args, **kwargs)
    543
    544     def print_png(self, filename_or_obj, *args, **kwargs):
--> 545         FigureCanvasAgg.draw(self)
    546         renderer = self.get_renderer()
    547         original_dpi = renderer.dpi

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py in draw(self)
    462
    463         try:
--> 464             self.figure.draw(self.renderer)
    465         finally:
    466             RendererAgg.lock.release()

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
     61     def draw_wrapper(artist, renderer, *args, **kwargs):
     62         before(artist, renderer)
---> 63         draw(artist, renderer, *args, **kwargs)
     64         after(artist, renderer)
     65

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/figure.py in draw(self, renderer)
   1142
   1143             mimage._draw_list_compositing_images(
-> 1144                 renderer, self, dsu, self.suppressComposite)
   1145
   1146             renderer.close_group('figure')

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/image.py in _draw_list_compositing_images(renderer, parent, dsu, suppress_composite)
    137     if not_composite or not has_images:
    138         for zorder, a in dsu:
--> 139             a.draw(renderer)
    140     else:
    141         # Composite any adjacent images together

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
     61     def draw_wrapper(artist, renderer, *args, **kwargs):
     62         before(artist, renderer)
---> 63         draw(artist, renderer, *args, **kwargs)
     64         after(artist, renderer)
     65

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/axes/_base.py in draw(self, renderer, inframe)
   2424             renderer.stop_rasterizing()
   2425
-> 2426         mimage._draw_list_compositing_images(renderer, self, dsu)
   2427
   2428         renderer.close_group('axes')

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/image.py in _draw_list_compositing_images(renderer, parent, dsu, suppress_composite)
    137     if not_composite or not has_images:
    138         for zorder, a in dsu:
--> 139             a.draw(renderer)
    140     else:
    141         # Composite any adjacent images together

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
     61     def draw_wrapper(artist, renderer, *args, **kwargs):
     62         before(artist, renderer)
---> 63         draw(artist, renderer, *args, **kwargs)
     64         after(artist, renderer)
     65

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/lines.py in draw(self, renderer)
    801                 self._set_gc_clip(gc)
    802
--> 803                 ln_color_rgba = self._get_rgba_ln_color()
    804                 gc.set_foreground(ln_color_rgba, isRGBA=True)
    805                 gc.set_alpha(ln_color_rgba[3])

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/lines.py in _get_rgba_ln_color(self, alt)
   1342
   1343     def _get_rgba_ln_color(self, alt=False):
-> 1344         return mcolors.to_rgba(self._color, self._alpha)
   1345
   1346     # some aliases....

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/colors.py in to_rgba(c, alpha)
    141         rgba = _colors_full_map.cache[c, alpha]
    142     except (KeyError, TypeError):  # Not in cache, or unhashable.
--> 143         rgba = _to_rgba_no_colorcycle(c, alpha)
    144         try:
    145             _colors_full_map.cache[c, alpha] = rgba

/home/jacquelineburos/miniconda3/envs/rcc/lib/python3.5/site-packages/matplotlib/colors.py in _to_rgba_no_colorcycle(c, alpha)
    192         # float)` and `np.array(...).astype(float)` all convert "0.5" to 0.5.
    193         # Test dimensionality to reject single floats.
--> 194         raise ValueError("Invalid RGBA argument: {!r}".format(orig_c))
    195     # Return a tuple to prevent the cached value from being modified.
    196     c = tuple(c.astype(float))

ValueError: Invalid RGBA argument: 0.6627450980392157

<matplotlib.figure.Figure at 0x7f55c8139ba8>

When this problem surfaced, the lifelines version was 0.9.3.2.  It was resolved by removing these two lines in survival.py:
with_condition_color = colors.hex2color(with_condition_color)
no_condition_color = colors.hex2color(no_condition_color)

without them, the colors are passed in as hex instead of rgb.
Currently looking to see in which version of matplotlib (and/or lifelines) this behavior changed.

Confirmed with lifelines v 0.9.1.0 and 0.9.2.0 that the previous behavior works & two lines are required in order to avoid an error.
With 0.9.3.2 through 0.11.xx, these two lines cause an error & need to be removed.

Doesn't appear to be mentioned in lifelines changelog.md, but fix likely involves hard-coding lifelines version >= 0.9.3.2 & removing these two lines.

repo: hammerlab/cohorts


text:
fixed style guide violations and a few misnamed variable references

Looks good!

authors: iskandr tavinathanson

repo: hammerlab/mhctools


text:
Report fixes

Fix #100
Also Patient ID should default to '' not 'UNKNOWN' so it can be added in the report.

Coverage decreased (-0.04%) to 89.346% when pulling 6d312a8425a2efa6bd00ae1344e8e09d410f52df on fix-whee into 8f3d42f1ba77659476677f6aa119d6b4c4ba2934 on master.

authors: coveralls ihodes

repo: hammerlab/vaxrank