Support resource identity as a pair of type and id (array)

An idea from @lindyhopchris to support relationships not only as classes with empty attributes but as a pair of type and identity as well
public function getRelationships($comment, $includedRelationships = [])
{
    return [
        'author' => [
            static::DATA => isset($includedRelationships['author']) ?
                $comment->getAuthor() :
                [AuthorSchema::class, $comment->author_id],
        ],
    ];
}

@lindyhopchris btw $includedRelationships will have relationships not only as values but as keys as well. I guess isset/has_key should work faster.

I've made a small patch not related to this issue in this branch. It improves scrutinizer's ranking (9.42▲+0.06) and synthetic speed test for about 5-7% (I got 12% once).

@lindyhopchris An array is probably not gonna work. It can be confused with an array of ordinary resources. Probably something like ResourceIdentifierInterface is a better candidate.

I've played a little with code for this enhancement and came up to the following idea.
Add createIdentity method to Schema so it could be used in relationships as
public function getRelationships($comment, $includedRelationships = [])
{
    return [
        'author' => [
            static::DATA => isset($includedRelationships['author']) ?
                $comment->getAuthor() : $this->createIdentity(Author::class, $comment->author_id)
        ],
    ];
}

The implementation solution will include

a new DataIdentity class for storing model's class and id.
changes to SchemaProvider so it can separate handling of DataIdentity from other classes. It will take model's class from DataIdentity, find a Schema for that model class and create a special schema wrapper DataIdentitySchema
DataIdentitySchema will be built-in Schema that passes all requests to underlying Schema apart those that has $resource as input parameter (e.g. getAttributes, getRelationsips, getId). It will return id from DataIdentity in getId and rise exception for others as it has no real resource data.

Also there is a simpler alternative. For cases when a model could not be created with just id and any other attributes (I'm still in doubts if that could be a case) a simple classes could be created for such models with theirs Schemas. For example
class AuthorIdentity
{
    public id;
}

and its Schema
class AuthorIdentitySchema extends DataIdentitySchemaProvider
{
    protected $resourceType = AuthorSchema::TYPE;
    protected $selfSubUrl   = AuthorSchema::SUB_URL;

    public function getId($authorIdentity)
    {
        return $authorIdentity->id;
    }
}

DataIdentitySchemaProvider will just add empty implementation for getAttributes
As I see this issue a rare case and it has a simple solution I tend to think we should not make the implementation more complex and process with this issue. I propose close the issue.

I like the createIdentity solution. When you say you propose closing the issue, do you mean with the createIdentity as added to the code base?
If so, does createIdentity work if the second argument is null? That would be nice as it would make things simpler in the schema provider as you wouldn't have to check whether the e.g. author_id was null or not before calling createIdentity.

I did some code for the issue however when I understood there were a simpler workaround for the issue I removed the code. Adding createIdentity as I described adds 'special treatment' for DataIdentity to core components and 'smells' for this reason. I liked how elegant it could be in code however same effect could be achieved with adding identity schemes. For example
public function getRelationships($comment, $includedRelationships = [])
{
    return [
        'author' => [
            static::DATA => isset($includedRelationships['author']) ?
                $comment->getAuthor() : new AuthorIdentity($comment->author_id)
        ],
    ];
}

AuthorIdentity and AuthorIdentitySchema had trivial implementation as above. Moreover Schema could be passed to Encoder as a Closure and I think it might be universal for all such schemes.

something like
$encoder = Encoder::instance([
    Author::class  => AuthorSchema::class,
    AuthorIdentity::class => $this->createIdentitySchema(AuthorSchema::class),
]);

class DataIdentitySchema extends SchemaProvider
{
    protected $resourceType = AuthorSchema::TYPE;
    protected $selfSubUrl   = AuthorSchema::SUB_URL;

    public function __construct($type, $subUrl)
    {
        $this->resourceType = $type;
        $this->selfSubUrl   = $subUrl;
    }

    public function getId(DataIdentityInterface $dataIdentity)
    {
        return $authorIdentity->id;
    }
}

I don't think this is a simple work around at all; particular as I have an application with 60+ Eloquent models in it.  That's not a trivial implementation to add 60+ identity classes and 60+ extra schemas - classes that only exist because I need to encoder to encode an id that the schema already has access to!

I don't think the example is as easy as you think it is. It'd actually be this:
public function getRelationships($comment, $includedRelationships = [])
{
    return [
        'author' => [
            static::DATA => isset($includedRelationships['author']) ?
                $comment->getAuthor() : (!empty($comment->author_id)) ? new AuthorIdentity($comment->author_id) : null
        ],
    ];
}

I feel like being able to just return a Schema class and an id (that can be a string/int or null if the relationships is empty) is something that should be on the public api of the schema provider. It feels like core functionality, rather than something that you have to implement a load of custom classes for - which just feels hacky.

Good point with nullable value though.
I understand you like it to be core functionality (for the same reason I liked it in the first place). However implementation I found is hacky and I feel it make difficult to enhance the project in the future.
I would take your original idea and your point about nullable values and would try implement the following logic 'if you can not create a model with just an id you can create a model that just have an id field and declare its Schema in a form of Closure'. Thus it will require just adding XyzIdentity classes for such models and 1 line per model to schema mappings on creating Encoder.

The package could be extended for usage of simple lightweight models and schemes. An example of that was added to test suite


Incompatibility with Leaflet-easyPrint plugin

When adding the Leaflet-easyPrint plugin using the Bootleaf template, the Print icon control appears on the map but doesn't react. I tested Leaflet-easyPrint plugin without using Bootleaf and it works well. Somebody knows how to fix?
Thanks

Do you have example code of issue I can take a look at?

Unfortunately, I don't have a ready-to-go example code. I try to give a more detailed issue:
the console is showing the following TypeError: window.print is not a function.
Specifying the next:
printPage: http://localhost/[...]leaflet.easyPrint.js:36:2
h: https://unpkg.com/leaflet@1.0.3/dist/leaflet.js:6:11428
Hope this explanation should be useful/enough.  Grateful for your interest

I have solved the problem as indicated in the following link: https://stackoverflow.com/questions/14383733/javascript-window-print-not-recognizing-window-object
The problem was the name of the variable. The variable cannot be named as "print" due to a conflict between element IDs. Once changed the variable name, the plugin works.


[Documentation] Usage

Is there a possibility to get some documentation on setup, install, and usage?

https://github.com/quixdb/squash/blob/master/docs/building.md and https://github.com/quixdb/squash/blob/master/docs/user-guide.md.  There are also some basic examples in the examples/ directory.
Both documents are also available on the web site for 0.7.0 (see the documentation item in the menu, the user guide is part of the C API reference).  It's also possible to build the C API reference from git if you want; just install doxygen and make doc should work.
Is that sufficient, or did you have something else in mind?  I'm definitely open to any ideas for improving the documentation…

Ahh, I just figured those links would have been in the README.md. Thanks for the clarification. The documentation provided is definitely sufficient.


catalog refreshes constantly

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Add a catalog from an internal repo served by Harbor for helm charts
Result:
kubectl logs -n cattle-system --tail 10 rancher-7fbb8ff996-j7ztv
2019/08/23 15:41:37 [INFO] Updating project catalog ***********
2019/08/23 15:41:37 [INFO] Updating project catalog -
2019/08/23 15:41:37 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted
2019/08/23 15:41:37 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted
2019/08/23 15:41:38 [INFO] Updating project catalog ***********
2019/08/23 15:41:38 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted
2019/08/23 15:41:39 [INFO] Updating project catalog ***********
2019/08/23 15:41:39 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted
2019/08/23 15:41:39 [INFO] Updating project catalog ***********
2019/08/23 15:41:39 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted
Other details that may be helpful:

This worked fine with v2.2.7 but after upgrading to v2.2.8 this issue started

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.8
Installation option (single install/HA): HA

same here
2020/02/12 12:54:14 [INFO] Updating global catalog *****
2020/02/12 12:54:14 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:15 [INFO] Updating global catalog *****
2020/02/12 12:54:15 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:16 [INFO] Updating global catalog *****
2020/02/12 12:54:16 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:17 [INFO] Updating global catalog *****
2020/02/12 12:54:17 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:18 [INFO] Updating global catalog *****
2020/02/12 12:54:18 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:19 [INFO] Updating global catalog *****
2020/02/12 12:54:19 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:20 [INFO] Updating global catalog *****
2020/02/12 12:54:20 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2020/02/12 12:54:20 [INFO] Updating global catalog *****
2020/02/12 12:54:21 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed

@splattner Are you able to run in debug mode and post that log? We added additional debug logging around this area in 2.3.4, so that might be able to give us a little more information as we have been unable to reproduce this problem in the past.

2020/02/14 13:10:49 [DEBUG] Helm preparing catalog cache [puzzle] for update
2020/02/14 13:10:49 [DEBUG] Helm updated http-helm catalog [https://charts.k8s.puzzle.ch]
2020/02/14 13:10:49 [DEBUG] Chart hash comparison for global catalog puzzle: new -- a532d378913ac63a17e3e20e365c4ec7 --- current -- 2920ee086e0f2b1c403a5ef33b1902b8
2020/02/14 13:10:49 [INFO] Updating global catalog puzzle
2020/02/14 13:10:49 [DEBUG] REST UPDATE apis/management.cattle.io/v3//catalogs/puzzle
2020/02/14 13:10:49 [DEBUG] chart mgob has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart postgres-backup-s3 has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart quay-builder has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart quay-enterprise has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart centos-apache-modsecurity has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart demo-app has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart gitlab-ci-pipelines-exporter has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart juicy-ctf has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] CatalogController calling handler system-image-upgrade-catalog-controller puzzle
2020/02/14 13:10:49 [DEBUG] chart quay-clair has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] CatalogController calling handler catalogCache puzzle
2020/02/14 13:10:49 [DEBUG] chart quay-redis has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart vaultsecretcontroller has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [DEBUG] chart cloudscale-csi has not been changed. Skipping generating templates for it
2020/02/14 13:10:49 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed

does this helps?
I guess somehow the hashes are not equal: Chart hash comparison for global catalog puzzle: new -- a532d378913ac63a17e3e20e365c4ec7 --- current -- 2920ee086e0f2b1c403a5ef33b1902b8
altought no changes on the chartmuseum

Generally the hash should not change if there aren't changes to be processed for a chart(s). Can you confirm that there are no changes occurring in the index.yaml that is being served up from your chart repo? It might be that something is being updated there, but it isn't making changes to your charts so its triggering the refresh.

No, no changes in the helm chart but it seems the
generated: "2020-03-16T13:17:07Z"
does change each time the index.yaml is loaded. And I guess this does change the hash used for comparison.

This seems to be the problem: https://github.com/helm/chartmuseum/issues/152

the v0.12.0 release of ChartMuseum https://github.com/helm/chartmuseum/releases/tag/v0.12.0 has resolved this issue on my Rancher Instance

I am that same problem in Rancher (Version 5.3.3) but with ProGet as the Helm charts repository instead of ChartMuseum.

Same issue with https://charts.gitlab.io
Constantly refreshing in rancher 2.5.5
time="2021-01-31T02:40:03Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:04 time="2021-01-31T02:40:04Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:04 time="2021-01-31T02:40:04Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:05 time="2021-01-31T02:40:05Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:06 time="2021-01-31T02:40:06Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:07 time="2021-01-31T02:40:07Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:08 time="2021-01-31T02:40:08Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:08 time="2021-01-31T02:40:08Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:09 time="2021-01-31T02:40:09Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:10 time="2021-01-31T02:40:10Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:11 time="2021-01-31T02:40:11Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:12 time="2021-01-31T02:40:12Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:13 time="2021-01-31T02:40:13Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml"
Other repos refresh a few times in a row but not as constantly
31.1.2021 03:45:16 time="2021-01-31T02:45:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:16 time="2021-01-31T02:45:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:17 time="2021-01-31T02:45:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:17 time="2021-01-31T02:45:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:49:19 time="2021-01-31T02:49:19Z" level=info msg="Downloading repo index from https://charts.longhorn.io/index.yaml" 31.1.2021 03:49:19 time="2021-01-31T02:49:19Z" level=info msg="Downloading repo index from https://charts.longhorn.io/index.yaml" 31.1.2021 03:50:16 time="2021-01-31T02:50:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:16 time="2021-01-31T02:50:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:17 time="2021-01-31T02:50:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:17 time="2021-01-31T02:50:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml

Same issue with https://charts.gitlab.io
Constantly refreshing in rancher 2.5.5
time="2021-01-31T02:40:03Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:04 time="2021-01-31T02:40:04Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:04 time="2021-01-31T02:40:04Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:05 time="2021-01-31T02:40:05Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:06 time="2021-01-31T02:40:06Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:07 time="2021-01-31T02:40:07Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:08 time="2021-01-31T02:40:08Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:08 time="2021-01-31T02:40:08Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:09 time="2021-01-31T02:40:09Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:10 time="2021-01-31T02:40:10Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:11 time="2021-01-31T02:40:11Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:12 time="2021-01-31T02:40:12Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml" 31.1.2021 03:40:13 time="2021-01-31T02:40:13Z" level=info msg="Downloading repo index from https://charts.gitlab.io/index.yaml"
Other repos refresh a few times in a row but not as constantly
31.1.2021 03:45:16 time="2021-01-31T02:45:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:16 time="2021-01-31T02:45:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:17 time="2021-01-31T02:45:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:45:17 time="2021-01-31T02:45:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:49:19 time="2021-01-31T02:49:19Z" level=info msg="Downloading repo index from https://charts.longhorn.io/index.yaml" 31.1.2021 03:49:19 time="2021-01-31T02:49:19Z" level=info msg="Downloading repo index from https://charts.longhorn.io/index.yaml" 31.1.2021 03:50:16 time="2021-01-31T02:50:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:16 time="2021-01-31T02:50:16Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:17 time="2021-01-31T02:50:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml" 31.1.2021 03:50:17 time="2021-01-31T02:50:17Z" level=info msg="Downloading repo index from https://grafana.github.io/helm-charts/index.yaml

Same issue with https://charts.bitnami.com/bitnami
Rancher version 2.5.5

#32217 - that fixes my issue

This issue has morphed from a v1 catalog refresh issue into a v2 refresh issue. The work that was previously done by @brendarearden most likely already fixed the v1 refresh issues that were seen in the original issue way back in rancher 2.2. The current issue that is being seen is in v2 (using dashboard to create the catalog).
QA: In order to test this issue now:

Add the catalog https://charts.bitnami.com/bitnami through the dashboard UI
After the catalog is done syncing edit the catalog yaml and add the line gitBranch: master directly under the url field.
Watch the rancher server logs and it will repeat 2021/04/22 09:43:45 [INFO] Downloading repo index from https://charts.bitnami.com/bitnami/index.yaml consistently.
Upgrade rancher to a version with this fix and the logs will not repeat with the same catalog. Repeat removing and adding the same catalog and the logs should still not repeat.

https://github.com/rancher/terraform-provider-rancher2/issues/637

tested with the following setup:

on v2.5.7, followed instructions from above comment

saw logs repeat Downloading repo index from

upgraded rancher from 2.5.7 to 2.5.8-rc9 containing the latest fixes

info message no longer displays

also tested clean install of 2.5.8-rc9, added bitnami chart + gitBranch, and did not see the message there as well

@dramich is it expected that there is no initial message in logs that the chart is downloading?

I have upgraded to 2.5.8 version however I still seeing a lot of info messages
2021/05/17 13:26:00 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:00 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:01 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:01 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:01 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:01 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:01 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:02 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:02 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:02 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:02 [INFO] Updating project catalog starburstdata
2021/05/17 13:26:02 [INFO] Catalog sync done. 0 templates created, 0 templates updated, 0 templates deleted, 0 templates failed
2021/05/17 13:26:03 [INFO] Updating project catalog starburstdata
....

Seeing this also on 2.5.9 following the documentation how to add a private gitlab package repository from here
The catalog seems to work though, but it is constantly refreshing.

Seeing this also on 2.5.9 following the documentation how to add a private gitlab package repository from here
The catalog seems to work though, but it is constantly refreshing.

Same here. 2.59 and trying to add private gitlab elm repository. It works but it's constantly refreshing.

@zolech @SchuhMichael Can either of you open a new issue and provide as much information as possible that our issue template requests. Can you also turn on debug and grab the relevant portion and include that in the issue as well?
This issue has already morphed a couple of times as to what it's for so let's get a clean one we can track.

@zolech @SchuhMichael Can either of you open a new issue and provide as much information as possible that our issue template requests. Can you also turn on debug and grab the relevant portion and include that in the issue as well?
This issue has already morphed a couple of times as to what it's for so let's get a clean one we can track.

Right now I am not sure if it's a rancher's issue. I've switched to chartmuseum and everything works fine. It looks like it should be repoted to gitlab because it's similiar to https://github.com/helm/chartmuseum/issues/152. Every request is regenerating index.yaml


Is this repo still maintained ?

Hello,
This package looks interesting and I was wondering if it was still maintained.  I would be happy to contribute to it if it is.
Thank you,
Christian Dominguez.

Perdón ... quise preguntar si este paquete esta todavía mantenida.  Quisiera usarla y contribuir si es asi.  gracias.

Hi @redbonzai sorry for the late response. Yes, it's still maintained, but I haven't enough time to update it in a continued way.
It'd be great if you can contribute!
I'd very appreciate that.

Una disculpa por tan tardía respuesta, pero sí, aún lo mantengo, aún que no tengo suficiente tiempo para actualizarlo como quisiera.
Sería genial y lo agradecería mucho que pudieras contribuir.

What things are you needing help with ?
What are some things that need to be updated, or some features that you want to see on your package ?
I'll go ahead and fork it.  Glad to help where I can.
Christian

Hi Gitllermopalafox,
Thank you very much for that you have updated the concept of check the current weather report. As I am doing the same in laravel, However, It's so many challanges from this, Can you explain where I have to put up and how to do in laravel. please help with step so I can learn and do in better way.


Groupby apply is not working as expected on Dask data frame

I was trying to use (group by + apply) on Dask data frame. The aim is to append the calculated elements in each group to the list L. When I am printing L inside the function, it's not printing.
If I replace the Dask data frame with Pandas data frame, it's working fine as expected.
L = []

def func(group, column_name, array):
    print(L)
    values = group[column_name].values

    # Do some complex task on indices and array
    output = some_complex_function(values, array)
    L.append(output)
    return 2

array = [2,3,4,5,6]
output = dask_df.groupby(groupby_column).apply(func, column_name, array, meta=pd.Series(dtype='int', name='output_column')).compute()

The output of L should be [10, 20, 30] (assuming 3 groups).
Please throw some light on this. Is this a bug or am I doing something wrong? Is there any way through which I can achieve this in a more efficient way.
Thank you in advance.

@Abhishekmamidi123 thank you for the report.  Unfortunately, it's a little hard to see what is happening here.  Can you generate an email I can run locally ?  A minimal reproducible example would be great.  Something like the following:
In [15]: import pandas as pd

In [16]: import dask.dataframe as dd

In [17]: df = pd.DataFrame({'a': [1,1,2,2],'b': [4,5,6,10]})

In [18]: ddf = dd.from_pandas(df, npartitions=2)

In [19]: array = [2,3,4,5,6]

In [20]: def func(group, column_name, array):
    ...:     print(group, column_name, array)
    ...:

In [21]: ddf.groupby('a').apply(func, 'b', array).compute()
   a  b
0  1  1
1  1  1 b [2, 3, 4, 5, 6]
/datasets/bzaitlen/miniconda3/envs/20200319/bin/ipython:1: UserWarning: `meta` is not specified, inferred from partial data. Please provide `meta` if the result is unexpected.
  Before: .apply(func)
  After:  .apply(func, meta={'x': 'f8', 'y': 'f8'}) for dataframe result
  or:     .apply(func, meta=('x', 'f8'))            for series result
  #!/datasets/bzaitlen/miniconda3/envs/20200319/bin/python
   a   b
2  2   6
3  2  10 b [2, 3, 4, 5, 6]
   a  b
0  1  4
1  1  5 b [2, 3, 4, 5, 6]
Out[21]:
Empty DataFrame
Columns: []
Index: []

The groupby.apply docstring also has a note about the differences from pandas' groupby.apply.

Just checking in here, @Abhishekmamidi123 are you able to provide a minimal example (https://blog.dask.org/2018/02/28/minimal-bug-reports)? Otherwise, there's not much others can do to help resolve the issue you're running into

Closing as unverified


cwa not working under iOS 14 beta

Avoid duplicates

[x] Bug is not mentioned in the FAQ
[ ] Bug is not already reported in another issue

Describe the bug

Expected behaviour

Steps to reproduce the issue

Technical details

iOS Version:
Device:

Possible Fix

Additional context

-> FAQ


When using --optimize-minimize, webpack ignores uglifyPlugin's mangle: false option.

Do you want to request a feature or report a bug?
Bug.

What is the current behavior?
When using --optimize-minimize, webpack ignores uglifyPlugin's mangle: false option.
If the current behavior is a bug, please provide the steps to reproduce.
let uglifyPlugin = new UglifyJSPlugin({
   mangle: false, // not working
   output: { comments: false } // working
});
//  Comments are striped out, but variables are mangled
webpack --optimize-minimize

What is the expected behavior?
Webpack respects uglifyPlugin's options.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.

Also the uglifyjs compressor options need to be respected.  Havent checked that they arent.

Can confirm this issue.
webpack.config.js:
var path = require('path');
var webpack = require('webpack');

module.exports = exports = {
    entry: __dirname + "/client/index.js",
    output: {
        path: __dirname + "/public/app",
        filename: "client.min.js"
    },
    resolve: {
        extensions: ["*", ".js", ".json"],
        modules: [path.resolve('./client'), 'node_modules']
    },
    module: {
        rules: [{
            test: /\.js$/,
            exclude: /(node_modules)/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['env']
                }
            }
        }]
    },
    plugins: [
        new webpack.optimize.UglifyJsPlugin({ mangle: false })
    ]
};

Everything else seems to be working, save for mangling.

Wait, isn't adding --optimize-minimize and the UglifyPlugin the same thing?

They are the same thing yes, which is why you would expect the options in your config file to override the defaults.

So why not remove the CLI --optimize-minimize?
https://github.com/webpack/webpack/issues/1385
From Sokra in the above thread "when using new UglifyJsPlugin and --opimize-minimize (or -p) you are adding the UglifyJsPlugin twice. Omit the CLI option."

@thomasgwatson Because using --optimize-minimize is the way to enable tree shaking feature.

@blackChef have you tried comparing bundle sizes when removing --optimize-minimize and not? I suspect they will be the same.

@blackChef As you can see here https://github.com/webpack/webpack/blob/master/bin/convert-argv.js#L460 the --optimize-minimize flag will simply add the UglifyJsPlugin plugin to the configuration (optionally with the sourceMap parameter). Notice how it omits the mangle option. If you want mangle: false you should omit the CLI parameter and use a config file instead :-)

@esbenp Yes, I could simply don't use optimize-minimize,  but then I loose the tree shaking feature.
According to https://webpack.js.org/guides/tree-shaking/

When running a production build, node_modules/.bin/webpack --optimize-minimize main.js dist.min.js, only the minimized version of cube but not square remains in the build:

Unless there is a standalone "tree shaking" plugin, there's no way to customize uglify plugin while tree shaking is enabled.

Alright, lets test this :-)
Using the example from the guide i define
functions.js
// This function isn't used anywhere
export function somefunc() {
    return 'somestring';
}

// This function gets included
export function cube(x) {
    return x * x * x;
}

I have changed square into somefunc that returns a string, since a string is easier to spot in the minified build.
I add my entry file
main.js
import {cube,somefunc} from './functions.js';
console.log(cube(5),somefunc()); // 125

Now I create a webpack config
webpack.config.js
var webpack = require('webpack');

module.exports = {
  entry: './main.js',
  plugins: [
    new webpack.DefinePlugin({
        'process.env.NODE_ENV': JSON.stringify('production')
    }),
    new webpack.optimize.UglifyJsPlugin()
  ]
};

and run webpack dist.js
Now, because I have imported and used somefunc in main.js we can see the string somestring is included in the minified build below (it is at the very end).
dist.js
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);console.log(Object(r.a)(5),Object(r.b)())},function(e,t,n){"use strict";function r(){return"somestring"}function o(e){return e*e*e}t.b=r,t.a=o}]);

So let us change main.js and remove somefunc entirely
main.js
import {cube} from './functions.js';
console.log(cube(5)); // 125

So now somefunc should be omitted entirely from our production build using tree-shaking. Running webpack dist.js again and we see that the string somestring is not there anymore.
dist.js
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);console.log(Object(r.a)(5))},function(e,t,n){"use strict";function r(e){return e*e*e}t.a=r}]);

We can also create a build with mangle:false
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0)}([function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__functions_js__=__webpack_require__(1);console.log(Object(__WEBPACK_IMPORTED_MODULE_0__functions_js__.a)(5))},function(module,__webpack_exports__,__webpack_require__){"use strict";function cube(x){return x*x*x}__webpack_exports__.a=cube}]);

Again, somestring is no where to be found.
The flag --optimize-minimize is merely a shortcut that will add two things: (1) it will add the UglifyJsPlugin and (2) it will add a LoaderOptionsPlugin with minimize=true

@esbenp So I create a simple test repo here. I'm using local installed latest version of webpack, and I can't get tree shaking feature without --optimize-minimize.

That is because you are not adding any optimization to your config file. You need to add the same plugins the --optimize-minimze flag gives you (DefinePlugin and UglifyJsPlugin). I have added them to your test here: https://github.com/esbenp/webpack_test/commit/215c92126f2a1de2a14d28bf1d591f0af4550f53
If you run npm run normal now it will have removed this should be removed by tree shaking from your build :-)

@esbenp Yes, you are right. Both webpack.optimize.UglifyJsPlugin and standalone uglifyjs-webpack-plugin can enable tree shaking. Setting NODE_ENV to production doesn't seems to have relevance to tree shaking. I removed it, tree shaking still works.
So I think there are 3 problems:
1.webpack's documentation doesn't make it clear that how we can enable tree shaking.
2.webpack's documentation doesn't make it clear that how do CLI shortcut and config file work together.
3.uglifyPlugin's documentation doesn't say it can also do tree shaking. And in my opinion, a standalone "tree shaking" plugin is better than an uglify plugin with extra tree shaking feature.

Glad we figured it out @blackChef :-)
I have opened #5363 which touches upon the ambiguity of CLI plugins vs config plugins.

Is --optimize-minimize/-p always going to be a synonym for "run Uglify"? That is, if I leave -p out of my prod build script (instead using babel minify in a prod webpack config), I won't be missing out on anything/there aren't plans to add additional optimizations under that flag?


Table: add toggleAllSelection method

Resolves #11978

this method has a problem,  it can select all unselected row,  but previou selected row can not change to be unselect


enhance Print the oss request id for each error s3 request

Proposed changes
Issue Number: close #xxx
Sometimes users may need to use the request ID to consult the cloud service provider about a specific S3 operation's request logs, so it is necessary to provide the request ID.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Mitigate CVE-2020-13935

Description:

Mitigate CVE-2020-13935.
Bump spring-boot-starter-parent version. (mitigation)

@KevponSAP , please have a look as well.


MRG: Faster raw resampling

This PR:

Adds npad='auto' mode that will set the pad to the shortest pad >= 100 samples that will result in a signal length that is a power of 2.

Deprecates the npad=100 default to have 'auto' become default in 0.12

Uses rfft and irfft for computations.

This means:

If there is an integer ratio of resampling rates (e.g., 1200 down to 100) then it should be much faster.

Memory usage should be reduced by a factor of 2 during computations.

Ready for review/merge from my end.

@choldgraf this one should make you happy :)

Super cool. IIRC some of the TF decomposition methods could also benefit from auto padding to powers of 2?

LGTM
@choldgraf if you can give it a try to confirms if works for you it's great

@agramfort why wait when we can confirm:
# -*- coding: utf-8 -*-
"""
Created on Wed Mar  2 11:54:07 2016

@author: larsoner
"""
from __future__ import print_function

import time
import numpy as np
from mne.io import RawArray
from mne import create_info

info = create_info(1, 1000.)

for N in np.logspace(1, 5, 10):
    data = np.empty((1, int(N)))
    raw = RawArray(data, info)
    print(('%d: ' % N).ljust(8), end='')
    times = []
    for npad in (100, 'auto'):
        t0 = time.time()
        raw.resample(500, npad=npad)
        raw.resample(100, npad=npad)
        times.append(time.time() - t0)
        print('%0.3f' % times[-1], end=' ')
    print(': %6.1fx' % (times[0] / times[1]))

Yields:
10:     0.539 0.003 :  207.4x
27:     0.016 0.005 :    3.4x
77:     0.002 0.002 :    1.1x
215:    0.002 0.002 :    1.1x
599:    0.004 0.002 :    1.8x
1668:   0.006 0.004 :    1.6x
4641:   0.008 0.007 :    1.2x
12915:  10.082 0.268 :   37.6x
35938:  2.309 0.043 :   53.9x
100000: 0.141 0.094 :    1.5x

So the gains will depend on the inputs and resulting sizes, but sometimes the speed gains can be drastic.

:D resampling speed!
I ran it on a dataset that I've got, here's the output:
times_old, times_new = [], []
for i in np.arange(1, 100, 2):
    t0 = time.time()
    brain.crop(0, i, copy=True).resample(100, 'auto')
    times_new.append(time.time() - t0)

    # Old time
    t0 = time.time()
    brain.crop(0, i, copy=True).resample(100, 100)
    times_old.append(time.time() - t0)

times_comp = pd.DataFrame([times_new, times_old], index=['new', 'old'])
ax = times_comp.T.plot()
ax.set_ylabel('Time to compute (s)')
ax.set_ylabel('Length of signal (s)')

Nice :)

nice :)

:heart_eyes:

I'll go ahead and merge since I need this for #2977, but if anyone else has comments on the code feel free and I'll follow up

This one is so good to have happened.


did VotePooling implement right?

original paper set k = 7
k=3 is for visualization purpose
so a ROI block crop(ROI_ALIGN) from score_map might have the following dimension
[ 7, 7, n_classes ]
but the code seems weird here?
should the code change from
pooled.append(tf.image.crop_and_resize(                 score_maps[i], level_boxes, box_indices, [self.pool_shape * self.k, self.pool_shape * self.k],                 method="bilinear"))
to something like this?
pooled.append(tf.image.crop_and_resize(                 score_maps[i], level_boxes, box_indices, [ self.k, self.k],                 method="bilinear"))

I'm really confused that why here is a K and also a pool_shape?

i also got an error in votePooling when i try to run this code, did you know the answer..??


browserconfig.xml support info

An MS extension to separate some site settings such as the favicon or notifications from the page-specific meta. (A good idea, as the  content of webpages is becoming ridiculously bloated.)
https://msdn.microsoft.com/en-us/library/dn320426(v=vs.85).aspx

+1

+1

-1


Use waiting time of cars for plotting

Hi,
I propose that we plot using the waiting time of cars metric. We can use the same reward definition as we used before,
 last_measure - waiting_time, or we can use -waiting_time, but we should always plot the metric waiting_time of all cars. I ran a few experiments using the same reward function as before, but this time I plotted the waiting time of vehicles. I added one plot for reference.

Great, thanks @umersheikh846 !


Extension causes high cpu load

Issue Type: Performance
Extension Name: python
Extension Version: 2019.6.24221
OS Version: Linux x64 4.15.0-62-generic
VSCode version: 1.33.1

:warning: Make sure to attach this file from your home-directory:
:warning:/home/gdb/ms-python.python-unresponsive.cpuprofile.txt
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

ms-python.python-unresponsive.cpuprofile.txt

@vinits-gdb, thanks for letting us know about this problem.  I have some questions for you:

what version of Python are you using?
are you using any virtual environments (e.g. venv, virtualenv, pipenv, conda)?
are you using the language server or Jedi? (see #3977)
does the problem go away if you try the other one?
what do you see in the "Python" output panel?
what do you see in the "Python Language Server" output panel?
what sort of project do you have loaded (e.g. script, library, web app)?
how large is the project?
are you using a multi-root workspace?

Any other details you can provide would be very helpful.  Thanks!

Duplicate of https://github.com/microsoft/vscode-python/issues/7571
(same user created #7571)


added rgbe_to_srgb method to Image

Second try for #19277

I'm getting a crash with this, don't merge yet.

Ups calling side error, this PR does what it should do :D


refactor: move away from deprecated apis

Moves away from the APIs that were deprecated in Angular 4. They include:

Switching from using OpaqueToken to InjectionToken.
Moving from Renderer to Renderer2.
Changing the Injector.get(thing: any) usages to use the new signature Injector.get<T>(thing: T).

Note: The Closure failure will be fixed by https://github.com/angular/material2/pull/3835. Fixing the AoT and linting errors now.

Rebased and addressed some of the feedback @jelbourn.

This is a breaking change because Renderer was part of the API for focus origin monitor.

Rebased. Should I remove the presubmit failures tag @kara?

It looks like the presubmit failures are because one of the teams in google is injecting the FocusOriginMonitor and the Renderer for one of their components and then calling focusVia with the Renderer. Do we want to make the FocusOriginMonitor accept Renderer2 | Renderer? or should we just refactor that project's code?

It may be better to refactor it. We could have a solution that accepts both, but it would add some bloat at some point we'll have to deprecate it anyway.

@mmalerba if it's not widespread we should just change the team's code


add download count and other metrics

small nitpicky comment, otherwise all is great

small nitpicky comment, otherwise all is great

Codecov Report

Merging #319 (cfaaa00) into master (b943f92) will decrease coverage by 0.53%.
The diff coverage is 86.15%.

@@            Coverage Diff             @@
##           master     #319      +/-   ##
==========================================
- Coverage   85.82%   85.29%   -0.54%
==========================================
  Files          56       61       +5
  Lines        4401     4582     +181
==========================================
+ Hits         3777     3908     +131
- Misses        624      674      +50

Impacted Files
Coverage Δ

quetz/metrics/view.py
54.54% <54.54%> (ø)

quetz/metrics/middleware.py
92.30% <92.30%> (ø)

quetz/main.py
88.35% <100.00%> (+0.37%)
:arrow_up:

quetz/frontend.py
38.14% <0.00%> (-16.12%)
:arrow_down:

quetz/database.py
94.73% <0.00%> (-5.27%)
:arrow_down:

quetz/authentication/github.py
94.73% <0.00%> (-5.27%)
:arrow_down:

quetz/testing/fixtures.py
97.10% <0.00%> (-2.16%)
:arrow_down:

quetz/tasks/workers.py
95.72% <0.00%> (-0.86%)
:arrow_down:

quetz/authentication/oauth2.py
87.71% <0.00%> (-0.44%)
:arrow_down:

quetz/authentication/google.py
100.00% <0.00%> (ø)

... and 7 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #319 (cfaaa00) into master (b943f92) will decrease coverage by 0.53%.
The diff coverage is 86.15%.

@@            Coverage Diff             @@
##           master     #319      +/-   ##
==========================================
- Coverage   85.82%   85.29%   -0.54%
==========================================
  Files          56       61       +5
  Lines        4401     4582     +181
==========================================
+ Hits         3777     3908     +131
- Misses        624      674      +50

Impacted Files
Coverage Δ

quetz/metrics/view.py
54.54% <54.54%> (ø)

quetz/metrics/middleware.py
92.30% <92.30%> (ø)

quetz/main.py
88.35% <100.00%> (+0.37%)
:arrow_up:

quetz/frontend.py
38.14% <0.00%> (-16.12%)
:arrow_down:

quetz/database.py
94.73% <0.00%> (-5.27%)
:arrow_down:

quetz/authentication/github.py
94.73% <0.00%> (-5.27%)
:arrow_down:

quetz/testing/fixtures.py
97.10% <0.00%> (-2.16%)
:arrow_down:

quetz/tasks/workers.py
95.72% <0.00%> (-0.86%)
:arrow_down:

quetz/authentication/oauth2.py
87.71% <0.00%> (-0.44%)
:arrow_down:

quetz/authentication/google.py
100.00% <0.00%> (ø)

... and 7 more

Continue to review full report at Codecov.

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


Comments not Appearing when there are 101+ comments

Extension version: 0.56.0
VSCode Version: 1.74.0
OS: Windows

Steps to Reproduce:

Have a large PR (hundreds of files and hundreds of comments)
Open the Comment window
New comments and old comments do not appear. It stops at 100 comments (and these are all resolved)
Opening the file in VSCode shows no comments in the left hand bar, but for some files they do appear

Visiting the file in the PR on github.com I can see the comments

Possible Fixes:

Request more comments
Sort the comments requests to be the oldest that are not resolved (better to allow this to be changeable in case someone wants the newest comments that are (un)resolved)

Any followup on this?

I found where in the code this is happening:
File: src/github/queries.gql
query PullRequestComments($owner: String!, $name: String!, $number: Int!, $first: Int = 100) {
	repository(owner: $owner, name: $name) {
		pullRequest(number: $number) {
			reviewThreads(first: $first) {
				nodes {
					id
					isResolved
					viewerCanResolve
					viewerCanUnresolve
					path
					diffSide
					startLine
					line
					originalStartLine
					originalLine
					isOutdated
					comments(first: 100) {
						edges {
							node {
								pullRequestReview {
									databaseId
								}
							}
						}
						nodes {
							...ReviewComment
						}
					}
				}
			}
		}
	}
	rateLimit {
		limit
		cost
		remaining
		resetAt
	}
}

File: src/github/pullRequestModel.ts
	/**
	 * Get all review comments.
	 */
	async initializeReviewComments(): Promise<void> {
		const { remote, query, schema } = await this.githubRepository.ensure();
		try {
			const { data } = await query<PullRequestCommentsResponse>({
				query: schema.PullRequestComments,
				variables: {
					owner: remote.owner,
					name: remote.repositoryName,
					number: this.number,
				},
			});

			const comments = data.repository.pullRequest.reviewThreads.nodes
				.map(node => node.comments.nodes.map(comment => parseGraphQLComment(comment, node.isResolved, this.githubRepository), remote))
				.reduce((prev, curr) => prev.concat(curr), [])
				.sort((a: IComment, b: IComment) => {
					return a.createdAt > b.createdAt ? 1 : -1;
				});

			this.comments = comments;
		} catch (e) {
			Logger.appendLine(`Failed to get pull request review comments: ${e}`);
		}
	}

As you can see the schema.PullRequestComments only grabs the first 100, and there is no for loop in initializeReviewComments() to change first to get any other variables.
Should be a quick fix, loop until an empty result is returned, though there might need to be further updates as getReviewThreads() also utilizes this graphql query.

An alternative solution and much faster solution is to pass in first and have this be a configurable number. That way I could set it to 1000, and others can leave it as is

If I can get some direction on what is preferred, then maybe I can submit a pull request to help move this into the next version

Any followup on this would be welcome. I am willing to create a pull request for this.

Any followup? or even a message would be great

@alexr00 if I can get direction I will submit a PR for this

@jonathan-shahen I think ideally we'd implement paging for comments. So if you have 100 we fetch 100, and you have 500 we fetch 500. We should still have an upper limit though since loading many comments could be costly. We could show a warning notification if that limit is hit.

Any updates on this? Actually, I tried to increase the number, but it returned an error "Requesting 200 records on the reviewThreads connection exceeds the first limit of 100 records.".

I'll take a look at comments paging in June.

Great, thanks @alexr00!

Starting with the next pre-release build we will get up to 1000 comment threads.

I take it to verify I need to add 1001 comments to a PR, @alexr00? 😅

Just 101 will be enough to test that paging is working :D


Implements Fantasia: an internal console for the Supervisor

This implements a feature I have wanted to add to WNT for a very long time: a way to control the Supervisor that doesn't require the Blackbox. This also rewrites the Supervisor to improve it in multiple ways:

It now initializes even earlier than before, utilizing the preLaunch entrypoint provided by the Fabric developers
It's much cleaner and more flexible than it was before

These changes need to be made before I can consider this pull request to be complete:

[x] If the client launches with the Blackbox's System Tray integration enabled under Linux, the JVM crashes. I was able to reproduce this on several occasions. This needs to be fixed.
[ ] A way to modify the Supervisor configuration from a command is probably necessary. This needs to be added.
[x] The code I've written needs to be documented better, because right now it kind of sucks. This needs to be done.

When running, Fantasia allows you to connect to a telnet server in the Minecraft client that gives you limited control of the client in a way that somewhat resembles the Blackbox.

This can be accessed as soon as the Supervisor starts up, and can even be configured to use Unix domain sockets (instead of a Telnet server) or even (albeit at your own risk) allow it to accept connections from non-local IP addresses.

For now, this will do.


Tree LSTM implementation

Is that possible and easy to implement Tree-LSTM in MXNet?
I have noticed that DyNet can do this dynamically . Is that also easy for MXNet with imperative programming?

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Update versions to 2.0.0

Updates the version information for releasing version 2.0.0.

Are you adding the package-lock.json as a last commit?

Another thing: If you are searching for "/langium/langium": there are a lot of links that are using the old web link. Could be a separate PR, I think. Mostly the change logs. But also comments in code or within READMEs

@Lotes Right, forgot about the package-lock.json.
But yeah, we can do the readme update in a separate PR. Especially since GitHub does link forwarding for us, so it's not urgent.

Are you adding the package-lock.json as a last commit?

Sorry, I jumped over it.


Participant metrics

Added partial implementation for participant metrics page

All changes and additions seems to be fine. General comments:

Why the change on convention from _id to index? Because to be similar to react?
I like the change from acronym to challenge_label
Should the files _id.spec.js and _id.vue from the tools page be removed? Same for community?

I think that, even in codecov is failing (because of the downgrade of the score of -13.87%), the PR can be accepted.


[Silence] Define matcher with same name

Hello,
When you are creating a Silence with multiple matchers, the result (with no surprise) it's applying an AND between each matcher.
And that's ok until you are creating multiple matcher with the same name.

Proposition 1:
It would be nice that instead of having an "AND" logic in that case, it did an OR (only between matcher that have the same name)

I know you can do it using the regexp instead, but it's just an idea of improvement.

Proposition 2:
An other way would be to prevent the possiblity to create multiple matcher with the same name.

Proposition 3:
A crazy thing would be to merge all matcher with the same name in a single one with the Matcher_Regexp to true

What do you think ?

This would be a breaking change.
e.g. you could create a matcher:
env=prod
env=prod
That would be valid and silence prod alerts.
env=prod
env=acc
would be valid but not match anything.
I expect that this is used in the field. e.g. in scripts:
silence: env=dev env=${env}
to only silence dev environment for example.
For that reason, that would be a breaking change that would prevent the usage of a valid (even if not used a lot) feature.

Thanks for your answer :).
That's true I didn't think this behavior would be used.
But even with the example you gave, I find it a bit weird to use it like that. I mean creating a silence with twice the same matcher but with different value. Since it won't match anything, it's a bit weird to want to create a silence that won't work, don't you think ?
So yes, indeed it would be a breaking change for all propositions, but does it mean, it's a no go to do it even for a v1 ?

As you state in your original message, the way to do this is by using regexes, so this is already possible and usually I think there should not be two ways to achieve the same goal.

ok, np :). Thanks for your answers !


Metadata

Making metadata sheet
File location: ...\OneDrive - Drexel University\Projects\GitHub_LibraryDataAnalysis\collectionbuilder-metadata-template (gh and Stand Alone) - Sheet1.csv

https://collectionbuilder.github.io/cb-docs/docs/metadata/gh_metadata/

Copied Google metadata sheet (https://docs.google.com/spreadsheets/d/1Uv9ytll0hysMOH1j-VL1lZx6PWvc1zf3L35sK_4IuzI/edit#gid=0)
to MyDrive
or
The template is available on Google Sheets via the link below (make sure you’re logged in to Google Drive, then open the template and click the File menu and select “Make a Copy” to get started), or in your CollectionBuilder-GH project repository as “_data/metadata-template.csv”.

metadata_collection_librarydataanalysis.csv
3 images and 1 PDF updated


[Can't use "mystify as"]

Module Version: v0.4.1
Describe the bug
When I use the "mystify as" option and drag a item on the drag in box, the item not become selected.
To Reproduce
Steps to reproduce the behavior:

Go to 'misity as'
Drag any item
Nothing happens

Expected behavior
The item appears on the box and can be used to mystify.
Foundry Version:
9.269
Game System:
D&D 1.6.0

Just wanted to say this is happening for me too. It worked once but I can't seem to get it to work again. I've tried disabling all other modules but no luck. I really love the idea of this feature!


Classrooms: Fix bug with checking ELL status, fix IEP link styling, showing authors

Who is this PR for?
K1-6 teams
What problem does this PR fix?
Follow-in to https://github.com/studentinsights/studentinsights/pull/1680, part of https://github.com/studentinsights/studentinsights/issues/1659.
What does this PR do?
Fixes a bug with checking ELL status, fixes IEP link styling in profile, fixes bug with loading authors when loading an existing class list.
Checklists

[x] Author improved specs for code in need of better test coverage
[x] Author included specs for new code

selfie


find: link to FAQ when group is not found

originally posted by @urcades in the comments of #1794

Any suggestion for improvement I'd have is dependent on copy recommendations from @e-shee , but my gut instinct is to render this as a single line of discretionary text. I sketched this out -really- quickly here:

https://www.figma.com/file/sCFYLlAGjehlYXUkT2rarg/branch/yonw9FxqhTxghFHdjHkLBH/Product-Handoffs-(Locked)?node-id=2638%3A95369&t=Y7zMQLvWKMEbX23q-1
Ideally, if we had robust FAQ/Support capability, I'd also recommend a "Learn more" link, for people who are curious about the edges of p2p networking and its implications on product design.

This copy is clear to me. "Learn more" link makes sense in theory. What would it link to? Should have a period after it if we include.

@jamesacklin making a note/mention here that with the arrival of #2361 , issues like this might become easier to address/build


add 2003 special election

note that "Independent" on the SOS document is coded as "NO PARTY PREFERENCE"

He's heating up.


Find the Missing Link Between FrontEnd/Backend

Helpers won't work on some views
-- Welcome
-- Accounts Index

before_filter :authenticate_user!, except: [:index] (so welcome screen will show)

Try and find the reason for helpers not working on the frontend of the engine.

current_user now works in the front.


net/http: StatusNoContent closes HTTP/1.0 keep-alive connections

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

1.5

What operating system and processor architecture are you using (go env)?

linux / osx

What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

Load test http server with requests using keep-alive, return 204 (no content) codes. For example:
ab  -n 1000000 -c 100 "http://yourserver/andendpoint"

What did you expect to see?

Low number of connections in use as they should be reused after each completed request..

What did you see instead?

Ran out of connections quickly. You can watch the count like so:
sudo netstat -tnop | grep ":81" | wc -l
I have a "fix". Just set content-length to 0 in the header. The thing is that a 204 has no content so specifying this value seems implicit.

This seems like a bug in ab (which is notoriously buggy and non-compliant HTTP-wise), not in Go.
Please find a better HTTP load testing tool.

I can’t also cause this to happen with a real browser. It’s just a lot more tedious.
--
Dave White
Senior Software Engineer
RAKUTEN marketing
6985 S Union Park Center, Suite 300 | Salt Lake City | UT | 84047
<EMAIL_ADDRESS>| rakutenmarketing.com
Rakuten Marketing
AFFILIATE NETWORK • ATTRIBUTION • DISPLAY • SEARCH
–––––––––––––––––––––––––––––––––––––––––––––––––––
!SAVE THE DATE!
SYMPOSIUM SAO PAULO SEPTEMBER 1
SYMPOSIUM SYDNEY SEPTEMBER 24
–––––––––––––––––––––––––––––––––––––––––––––––––––
Confidential Information (C) Copyright 2015 Rakuten Marketing, LLC. All rights reserved.
This message is intended only for the use of the Addressee and may contain information that is PRIVILEGED and CONFIDENTIAL.
If you are not the intended recipient, dissemination of this communication is prohibited. If you have received this communication in error,
please erase all copies of the message and its attachments and notify us immediately by replying to sender.
From: Brad Fitzpatrick
Reply-To: golang/go
Date: Wednesday, May 11, 2016 at 11:48 AM
To: golang/go
Cc: David White, Author
Subject: Re: [golang/go] StatusNoContent closing connections (#15647)
This seems like a bug in ab (which is notoriously buggy and non-compliant HTTP-wise), not in Go.
Please find a better HTTP load testing tool.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/golang/go/issues/15647#issuecomment-218535763

I just tested this by hand and don't see a problem.
I think you're counting the wrong thing if you're counting connections in TIME_WAIT.

I was running out of connections because they were stuck in time_wait after being closed (which shouldn’t happen with keep-alive). The issue was noticed by our systems guys. A few months ago we had about a huge drop in performance on production servers after upgrading to a new version of our Go-based server. The connections are dropped between the server and haproxy; not by the browser (although haproxy could be eliminated to simplify the testing environment). Connection counts between haproxy and the server are usually very small and static on our other servers.
The breakage ended up being a design change to return significantly more 204 codes, which was never suspect. I just spent over a week tackling this problem. Setting content-length to 0 fixed the performance in test environments, but has not been pushed into production yet.
In my test environment, using ab for the load, within a few seconds, netstat would be reporting about 64k. Then we’d start seeing errors and performance drop. If I continually refresh from Chrome, I can raise that number as well, just not as high because how many times can you refresh one browser within 60 seconds?
After my “fix”, I was able to throw that ab test at out server, 6x in separate processes, and the netstat command would always report 600 just as I would expect.
Anyway, I just figured I’d let you guys know so that someone else doesn’t spend another week on the same issue.
Thanks
dw
--
Dave White
Senior Software Engineer
RAKUTEN marketing
6985 S Union Park Center, Suite 300 | Salt Lake City | UT | 84047
<EMAIL_ADDRESS>| rakutenmarketing.com
Rakuten Marketing
AFFILIATE NETWORK • ATTRIBUTION • DISPLAY • SEARCH
–––––––––––––––––––––––––––––––––––––––––––––––––––
!SAVE THE DATE!
SYMPOSIUM SAO PAULO SEPTEMBER 1
SYMPOSIUM SYDNEY SEPTEMBER 24
–––––––––––––––––––––––––––––––––––––––––––––––––––
Confidential Information (C) Copyright 2015 Rakuten Marketing, LLC. All rights reserved.
This message is intended only for the use of the Addressee and may contain information that is PRIVILEGED and CONFIDENTIAL.
If you are not the intended recipient, dissemination of this communication is prohibited. If you have received this communication in error,
please erase all copies of the message and its attachments and notify us immediately by replying to sender.
From: Brad Fitzpatrick
Reply-To: golang/go
Date: Wednesday, May 11, 2016 at 1:25 PM
To: golang/go
Cc: David White, Author
Subject: Re: [golang/go] StatusNoContent closing connections (#15647)
I just tested this by hand and don't see a problem.
I think you're counting the wrong thing if you're counting connections in TIME_WAIT.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/golang/go/issues/15647#issuecomment-218562866

I think you're confusing the relationship between TIME_WAIT and HTTP keep-alives.
 I see connections in TIME_WAIT regardless of HTTP keep-alive-vs-not and regardless of 204-vs-200.

There’s no confusion. One is being used to observe the effects of the other.
That TIME_WAIT count can be used to view the number of connections that were recently used and are now in a wait state (where they will generally remain for about 60 seconds before they can be reused).
Keep-alive is a request to reuse an established connection for subsequent requests. You will see very few TIME_WAIT states under heavy load by few connections if those connections are being properly reused as requested.
Under load, if connections are forcibly closed after each response, you will see a rapid rise in the TIME_WAIT count. Soon there will be no connections available to Accept().
If you send a request using keep-alive, which receives a 204 response, the connection will be closed UNLESS a content-length is specified. This behavior makes no sense because by definition a 204 response will not contain any content.
--
Dave White
Senior Software Engineer
RAKUTEN marketing
6985 S Union Park Center, Suite 300 | Salt Lake City | UT | 84047
<EMAIL_ADDRESS>| rakutenmarketing.com
Rakuten Marketing
AFFILIATE NETWORK • ATTRIBUTION • DISPLAY • SEARCH
–––––––––––––––––––––––––––––––––––––––––––––––––––
!SAVE THE DATE!
SYMPOSIUM SAO PAULO SEPTEMBER 1
SYMPOSIUM SYDNEY SEPTEMBER 24
–––––––––––––––––––––––––––––––––––––––––––––––––––
Confidential Information (C) Copyright 2015 Rakuten Marketing, LLC. All rights reserved.
This message is intended only for the use of the Addressee and may contain information that is PRIVILEGED and CONFIDENTIAL.
If you are not the intended recipient, dissemination of this communication is prohibited. If you have received this communication in error,
please erase all copies of the message and its attachments and notify us immediately by replying to sender.
From: Brad Fitzpatrick
Reply-To: golang/go
Date: Wednesday, May 11, 2016 at 2:02 PM
To: golang/go
Cc: David White, Author
Subject: Re: [golang/go] StatusNoContent closing connections (#15647)
I think you're confusing the relationship between TIME_WAIT and HTTP keep-alives.
 I see connections in TIME_WAIT regardless of HTTP keep-alive-vs-not and regardless of 204-vs-200.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/golang/go/issues/15647#issuecomment-218572734

Okay, I see it now.
It only affects HTTP/1.0 requests with "Connection: keep-alive" requests. HTTP/1.1 requests are fine (which are implicitly keep-alive), and it's also fine (even with HTTP/1.1+keep-alive) if the server sets a Content-Length of "0" (which is then scrubbed in the response).
I'm not sure how you're able to reproduce this with a browser, though, since I know of no browsers which still send HTTP/1.0 requests.

Awesome. Thanks for sticking with me.
Thanks
dw
--
Dave White
Senior Software Engineer
RAKUTEN marketing
6985 S Union Park Center, Suite 300 | Salt Lake City | UT | 84047
<EMAIL_ADDRESS>| rakutenmarketing.com
Rakuten Marketing
AFFILIATE NETWORK • ATTRIBUTION • DISPLAY • SEARCH
–––––––––––––––––––––––––––––––––––––––––––––––––––
!SAVE THE DATE!
SYMPOSIUM SAO PAULO SEPTEMBER 1
SYMPOSIUM SYDNEY SEPTEMBER 24
–––––––––––––––––––––––––––––––––––––––––––––––––––
Confidential Information (C) Copyright 2015 Rakuten Marketing, LLC. All rights reserved.
This message is intended only for the use of the Addressee and may contain information that is PRIVILEGED and CONFIDENTIAL.
If you are not the intended recipient, dissemination of this communication is prohibited. If you have received this communication in error,
please erase all copies of the message and its attachments and notify us immediately by replying to sender.
From: Brad Fitzpatrick
Reply-To: golang/go
Date: Wednesday, May 11, 2016 at 3:23 PM
To: golang/go
Cc: David White, Author
Subject: Re: [golang/go] StatusNoContent closing connections (#15647)
Okay, I see it now.
It only affects HTTP/1.0 requests with "Connection: keep-alive" requests. HTTP/1.1 requests are fine (which are implicitly keep-alive), and it's also fine (even with HTTP/1.1+keep-alive) if the server sets a Content-Length of "0" (which is then scrubbed in the response).
I'm not sure how you're able to reproduce this with a browser, though, since I know of no browsers which still send HTTP/1.0 requests.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/golang/go/issues/15647#issuecomment-218594163

Sent https://golang.org/cl/23061
Sorry for the initial skepticism. The overwhelming majority of bug reports or email threads about either ab or TIME_WAIT are bogus.


Feature Projects on the home page

This PR adds a public home page and the ability to select Projects to feature on this page (via admin/pages/home).
This PR also adds a :case_study attribute to Projects so case studies can be distinguished from "regular" Projects. Case studies and "regular" projects have the same required attributes with the exception of :body - this is only required for case studies. Only case studies can be featured on the home page.

Closing this as we're changing our approach from featuring only projects on the home page to featuring items of any type.


Mysterious transient docs

From https://github.com/couchbase/sync_gateway/issues/1089

On SG startup when _sync:cfg hasn't yet been defined, a lot of apparently transient docs show up on the feed with docIDs like 'k21049', 'k021', 'k22025' etc. Don't see corresponding docs/traffic in the bucket, so they appear to be artificially added to the feed by cbgt. They get rejected (with error) because they don't have sync metadata, but need to understand whether this would cause problems for cbgt if users created docs with these IDs (in the case where the source bucket is used for cfg storage).

Do those docsID's look like they are from CBGT?

Nope, cbgt doesn't generate any docID's, and just forwards along what it gets from DCP.  So those keys are likely just docs that are in the bucket.  So, it would be surprising that you...
"Don't see corresponding docs in the bucket..."

One interesting part, though, is you mentioned...
"On SG startup when _sync:cfg hasn't yet been defined, a lot of apparently transient docs show up..."
What does that mean?
thanks,
steve

Closing this as I think the corresponding checkbox on https://github.com/couchbase/sync_gateway/issues/1089 seems to have been closed.


SqliteError: attempt to write a readonly database

Since upgrading Hero and the like to version alpha-15, I get the following SQL errors at runtime (in production):

Not always, but when I do get it, it breaks the session.

Sorry. Not your fault! It's mine 🙂 Can happen apparently when I enforce a timeout of my script on my end and have already deleted the DB on my end while the hero script promise is still lingering around. So not your fault 🙂


Add synchronous logging mode (#284)

I know that unit tests and API documentation are needed. I want to see if you like the approach or not, first.
To enable synchronous mode, disable asynchronous mode by calling g3::only_change_at_initialization::setAsynchronous(false);
before g3::LogWorker::createLogWorker(); .

@ebertland thanks for this. Sorry for the late response. It was not forgotten. Matters of a private nature is currently taken precedence over PRs.
I appreciate the hard work to improve g3log. If the community requests for this feature would grow then I would be interested to bring it it. As it is now I think the changes look good however they are adding complexity that is not (much) requested.
I would suggest opening up a fork of g3log and I will gladly forward them to that fork if someone else with the same requirement comes along.
Thank you!


add --warmup option

to explicitly ignore some samples

Fix reverted in f8d294189334d83f8d0a6212d4ac04cc07695039 because it caused a compile error.


HOI4 1.15 Windows support broken

When the game is updated to 1.15, the patch is no longer supported. pls update,thanks

Still works for me. Try to reapply patch and write about results

Just booted up after repatching and doesnt work

It worked after trying again


Use micropython bootloader

RadioOperator,
I found your documentation about the stlink v4 mini very interesting. But instead of writing my own bootloader I used the micropython bootloader. This way one can advance swiftly. I provide a link, in case you could use the source in your project. Could you give me your opinion?
https://github.com/koendv/micropython

@koendv  Hi,
Thanks, I'll check it all later.
Btw, my STLINK-V3MINI pin assignments updated, please correct yours:
32pin edge connector: Pin-6 and Pin-7 changed.
JTAG connector:  Pin-8 changed.
Refer to:
https://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI/blob/master/STLINK-V3MINI/Sch/STLINK-V3MINI_Pin_Assignments_v2.xlsx

The new pinout is interesting.
At the moment SWD speed depends upon processor speed. It would be nice to be able to set SWD speed in an accurate way, independent of processor speed.
In the stlink v3 mini, SWDIO is SPI5_MOSI and SPI5_MISO connected together, and SWCLK is SPI5_CLK. Using SPI5 for SWD seems logical. What do you think?

@koendv  very good findings. Stlink-v3 claims SWD speed up to 24 MHz, that is the reason, using SPI5.

Too much praise. Perhaps we could work together to write software? Two know more than one, and we are sure to encounter unforeseen problems before we solve this riddle.
I was wondering: is it possible to read the configuration registers of spi5? Or the configuration registers of the jtag connector pins?

@koendv  Hi, to read the configuration registers, I did not try on this. I think something same as dumping the bootloader.

@koendv: Do you have BMP running somehow on the F7?

On Fri, 14 Aug 2020 06:14:07 -0700
UweBonnes<EMAIL_ADDRESS>wrote:

@koendv: Do you have BMP running somehow on the F7?

Yes.

-vvv please!

I've compiled binaries for you, so you can test: https://github.com/koendv/micropython/releases/tag/v1.12-bmp-04

radiooperator: If a dentist takes an x-ray of the stlink v3 mini, do you think we could see all connections in the pcb?

radiooperator: If a dentist takes an x-ray of the stlink v3 mini, do you think we could see all connections in the pcb?

Hi, not easy. I used a simple software to initial/read all GPIO pins, and got the table.


Third iteration of improvements for repeat expansion variants

Repeat expansion variants were first introduced before v1.0, in #94. Back then they were using a separate ClinVar TSV dump. The next improvement will arrive in the upcoming v2.0 release and will use the same XML input as the rest of the pipeline. However, after that improvement some edge cases remain, and it would be nice to address them in say v3.0.
Cases leading to incomplete records which are not being output

Missing genes: UGT1A, ATXN8, various LOC*
Genes mapping to non-standard chromosomes in Ensembl
Unparseable name: fragile site, folic acid type, rare, fra(12)(q13.1)
Currently unparseable HGVS-like names:

NC_000004.12:g.(41745972_41746031)ins(15_27)
NG_031977.1:g.(5321_5338)ins(360_?)
NG_054747.1:g.(19392_19426)TTTTA[(7_?)]TTTCA[(n)]
NM_181675.3(PPP2R2B):c.27[15] (p.Ser10[15])
NR_002717.2(ATXN8OS):n.1103CTG[(107_127)]
NR_002717.2(ATXN8OS):n.1103CTG[(15_40)]
NR_003051.3(RMRP):n.-10_-9insCTCTGTGAAGCCTCTGTGAAGC
NR_120611.1:n.192CCG[(35_?)]

Potentially incorrect assignments

We assume that entities with no explicit coordinates, unless they have a del in them, represent repeat expansion events. It would be best to actually check with the reference, where possible.

Also:

For NM_004409.4:c.*224_*283CTG[(173_283)]CCG[1]CTG[8]CCG[2]CTG[2]CCG[1]CTG[4]CCG[1]CTG[30], the coordinate span expression doesn't appear to work correctly
It would help to add the column to the dataframe displaying whether the source record had complete sequences
Uncertain classification for things like NM_001243246.1(P3H1):c.2049_2067CGAGCGGGTGAGAGCAGCT[3] (p.Trp696delinsSerSerGlyTer); non-mod 3 expansions without frameshift?
Events spanning... exons, I guess? Like NM_000548.3(TSC2):c.5068+27_5069-47dup34

Overall, can I just say HGVS is a pain. As well as all other existing methods for representing variation, I guess.

There are a lot of different "sub-issues" in this issue, I'm going to start with what @tcezard and I have found regarding missing genes and return to the others later.
To recap, the issue here is that several gene symbols in ClinVar (UGT1A, ATXN8, various LOC*) aren't found by Biomart and thus don't get annotated with functional consequences in the pipeline.
UGT1A refers to a family of genes, so on its own it's not specific enough to get an Ensembl gene id. However, every measure which includes UGT1A also includes at least one specific UGT1A* gene in its list of associated gene symbols, for which we do get Ensembl gene ids. I think this is about as good as we can hope for; if in the future some measure only includes the generic UGT1A then it doesn't seem possible to get a specific-enough consequence so it would still make sense to skip this case.
ATXN8 is indeed not in Ensembl, but ATXN8OS (ATXN8 opposite strand) is. Similar to above, every measure that includes ATXN8 also includes ATXN8OS, so these are definitely not getting completely lost. I can't really see the value of getting consequences for the variant on both strands so I think this case is also fine, but please correct me if I'm missing something.
LOC* refers to genes or functional elements without a published symbol.  In our case they seem to all be repeat_instability_regions within genes: examples include LOC109461479 and LOC109504725.  These are quite important for us to capture and fortunately have a well-defined location that we can use to get annotations, via the following approach (using LOC109461479 as an example):

Search NCBI for LOC109461479 to get location in GRCh38: {'chrloc': '4', 'chraccver': 'NC_000004.12', 'chrstart': 3074876, 'chrstop': 3074939, 'exoncount': ''}
Search Biomart for this precise location to get Ensembl gene id: ENSG00000197386

@tskir Let us know if we should go ahead with this approach.


Improve the edge-to-edge implementation

The status bar is transparent and shows the app bar behind.
The actionbar is hidden in the theme rather than in the code so that Scaffold can reflect the correct inset values
LazyColumn uses the padding values at the content end rather than the list itself.
Please add a descriptive PR title

The status bar shows the app bar behind. The list stretches till the screen end.


Wait for Jenkins CI when building app, instead of Travis/Appveyor

@cjb

Tested this on another branch and worked...
release wait-ci --repo="client" --commit=updaterv1api --context="Jenkins - Linux" --context="Jenkins - Windows" --context="Jenkins - OS X" --context="ci/circleci"

@cjb if you want to make the status context labels look like all the other ones they could be:
jenkins/windows
jenkins/linux
jenkins/osx
but up to you

Okay, sure.  Will change now.

Actually.. I like them as they are because it easily allows a human reading to see which build failed, makes sense to optimize for humans first and our CI scripts second.  :)

Oh wait.  I think the labels you'll get from the master branch are different to the labels you'll get from a PR.  Let's wait until we have master passing and see what we get.

sg2m

These are the 2 labels so far on master:

client-windows-master-only/label=windows
client-linux-master-only/label=master

And I'm guessing:

client-osx-master-only/label=osx

Although linux's label is master, not linux

:ship:


Full text review of the readme and the messages

This is a complete review and fixes several small typos and grammar. Of both the readme and the messages displayed.

Great! Thanks! :memo: :tada:


Fix delta copy error report

What changes are proposed in this pull request?
fix the skip error handling
Why are the changes needed?
Previously we consider the skip as a failure, which is not correct.
Consider skip only as skip.
Does this PR introduce any user facing changes?
na

alluxio-bot, merge this please


Redefine github_stdout annotations as an "output format".

We want to update QuietQuality to be capable of producing an output file (of multiple formats). By default, it produces none, but if the --format/-f flag is passed, it'll produce that format output file on stdout. And if the -o/--output flag is passed, it'll write to that file instead.
First, let's move the GithubStdout annotator to become an output format, for consistency. We do still want to support real annotators later, but they'll behave differently. So we'll start by updating to take a --format github_annotations or -fG flag and replacing the existing annotator with it.

I'm ambivalent about this. The problem I want to avoid is that we'd like to use the output-stream (stdout) for something - formatted output, dumping the results of running the tool as a csv, json, etc. But we don't want to have someone try to run with the github annotator and also output as json, because the github annotator writes to the same stream, and doesn't write json. Producing a similar issue to the one we're seeing with simplecov and rspec's output mixing.
I think right now I'd rather just make them mutually exclusive - you can't write an output file if you're using the github_stdout annotator, since they both want to use the same stream. But then we can keep it as an annotator, and not an 'output format', which doesn't really seem right. I'll update the other tickets to reflect that, and close this one.


(question) How can i get the schema after it has been fetched

I'm trying to add graphiql-explorer to a project but it requires the graphql schema (of type GraphQLSchema) that i guess is somewhere inside this library.
I've found that the state of the GraphiQL contains that but i can't seem to get it out using:
<GraphiQL ref={c => { console.log(c ? c.state.schema : c) }} fetcher={fetcher}>
// Console output: undefined

The wired thing is if i log just the reference (c) i can click to .state.schema and see the schema???
I've tried a lot of things but the only solution seems to be fetching the schema separately and putting it inside the GraphiQL and the GraphiQL explorer but i have no idea of how to do that.

hello there! the schema fetching is a simple http fetch using the fetcher you provide to GraphiQL. Explorer should have examples of how to set up with GraphiQL, have you checked their repository or documentation?

Not really looked into examples mostly just googeling but with no result.
Maybe they have a good example i can use, i'll look into it tomorrow and see if they have anything useful.
Thanks for the advice

Here's an example that they made @mjarkk:
https://github.com/OneGraph/graphiql-explorer-example
hope that's helpful!
soon we wil have our own plugin system.
fyi though, with GraphiQL, either fetcher or schema is required. so fetcher is a promise that can be used to retrieve your schema, etc

Thanks, I've found it!


Markdown H3 generated IDs and links to same page

Description
I'm using markdown and trying to create a link to a H3 on the same page using starter blog template, but the ID is being generated with accents.
Steps to reproduce

Create a H3 with some accent like á or ã: ###Olá este é um H3;
Create a link to this H3: [link](#olá-este-é-um-h3).

Expected result
Clink on link, go to the H3.
Actual result
The link does not work, probably because ID can not have special characters.
Environment
Libs:
- gridsome version: 0.5
- @gridsome/cli version: 0.0.8

Browser:
Chrome (desktop) version 73.0.3683.86

Custom ID does not work either: https://www.markdownguide.org/extended-syntax/#heading-ids

Reproduced in 0.7.12

  System:
    OS: macOS 10.15.3
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
  Binaries:
    Node: 13.7.0 - /var/folders/s0/5yvl85f918x41fd_wx9p3h1j40qvfd/T/yarn--1582811313612-0.8919427581435901/node
    Yarn: 1.21.1 - /var/folders/s0/5yvl85f918x41fd_wx9p3h1j40qvfd/T/yarn--1582811313612-0.8919427581435901/yarn
    npm: 6.13.6 - /usr/local/bin/npm
  Browsers:
    Chrome: 80.0.3987.122
    Safari: 13.0.5
  npmPackages:
    @gridsome/plugin-sitemap: ^0.2.3 => 0.2.3
    @gridsome/remark-prismjs: ^0.3.0 => 0.3.0
    @gridsome/source-filesystem: ^0.6.2 => 0.6.2
    @gridsome/transformer-remark: ^0.4.0 => 0.4.0
    gridsome: ^0.7.12 => 0.7.12

The spec indicates that @tkrempser is correct, the url must be ascii.
Some background info on url fragments.


Does not compile for Julia <1.5

The keyword arg syntax here breaks compilation on Julia 1.3,1.4. If we want to keep the syntax, I can bump the compat. Let me know.

julia> using IterativeSolvers
[ Info: Precompiling IterativeSolvers [42fd0dbc-a981-5370-80f2-aaf504508153]
ERROR: LoadError: LoadError: syntax: invalid keyword argument syntax "smoothing"
Stacktrace:
 [1] top-level scope at /home/kylebeggs/.julia/packages/IterativeSolvers/QnUAe/src/idrs.jl:148
 [2] include(::Module, ::String) at ./Base.jl:377
 [3] include(::String) at /home/kylebeggs/.julia/packages/IterativeSolvers/QnUAe/src/IterativeSolvers.jl:7
 [4] top-level scope at /home/kylebeggs/.julia/packages/IterativeSolvers/QnUAe/src/IterativeSolvers.jl:24
 [5] include(::Module, ::String) at ./Base.jl:377
 [6] top-level scope at none:2
 [7] eval at ./boot.jl:331 [inlined]
 [8] eval(::Expr) at ./client.jl:449
 [9] top-level scope at ./none:3
in expression starting at /home/kylebeggs/.julia/packages/IterativeSolvers/QnUAe/src/idrs.jl:148
in expression starting at /home/kylebeggs/.julia/packages/IterativeSolvers/QnUAe/src/IterativeSolvers.jl:24
ERROR: Failed to precompile IterativeSolvers [42fd0dbc-a981-5370-80f2-aaf504508153] to /home/kylebeggs/.julia/compiled/v1.4/IterativeSolvers/ef2NV_qUW8c.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
 [3] _require(::Base.PkgId) at ./loading.jl:1029
 [4] require(::Base.PkgId) at ./loading.jl:927
 [5] require(::Module, ::Symbol) at ./loading.jl:922

julia> versioninfo()
Julia Version 1.4.2
Commit 44fa15b150* (2020-05-23 18:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: 12th Gen Intel(R) Core(TM) i7-12700H
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, goldmont)
Environment:
  JULIA_NUM_THREADS = 16

(temp) pkg> st
Status `~/temp/Project.toml`
  [42fd0dbc] IterativeSolvers v0.9.3


Add meta-lint for assigning to the correct report field

@kumarde is this my bug or your bug

@dadrian this is my bug :'(


MM-14949 Correct scroll when new posts are loaded

Summary
To be updated
Ticket Link
MM-14949

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0c7a133b08e58a865.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0c7a133b08e58a865

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0cc5337a6335a40d8.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0cc5337a6335a40d8

Spinmint test server destroyed

To do: https://community-daily.mattermost.com/core/pl/8skheibzofrj8cdxjw6nuwz7oe

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-098ef6fe55d246d69.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-098ef6fe55d246d69

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0d5deee79f5057295.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0d5deee79f5057295

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-05065fee807fad286.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-05065fee807fad286

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0ac3f564046a6d398.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0ac3f564046a6d398

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-04b3f30b1b05d58d3.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-04b3f30b1b05d58d3

Hey @sudheerDev I think you need to rebase this branch in order for the CircleCI stuff runs

@enahum I rebased it today

@sudheerDev then I don't know why is it reporting a build failure

Spinmint test server destroyed


Windows: Failed to start service. The service did not respond to the start or control request in a timely manner. What am i doing wrong?

Hello,
I can install the service from the command line and see the service in the windows services panel but when I try to start it I get the following.
E: 10:58:06 Failed to start Go Service Example: The service did not respond to t
he start or control request in a timely fashion.
What am I doing wrong?
package main

import (
	"flag"
	"log"
	"time"
	"github.com/kardianos/service"
	"fmt"
)

var logger service.Logger

type program struct{}

func (p *program) Start(s service.Service) error {
	// Start should not block. Do the actual work async.
	go p.run()
	return nil
}
func (p *program) run() {
	// Do work here
	for {
		fmt.Println("Working...")
		time.Sleep(3 * time.Second)
	}
}
func (p *program) Stop(s service.Service) error {
	// Stop should not block. Return with a few seconds.
	return nil
}

func main() {

	flag.Parse()

	svcConfig := &service.Config{
		Name:        "GoServiceExampleSimple",
		DisplayName: "Go Service Example",
		Description: "This is an example Go service.",
	}

	prg := &program{}
	s, err := service.New(prg, svcConfig)
	if err != nil {
		log.Fatal(err)
	}
	logger, err = s.Logger(nil)
	if err != nil {
		log.Fatal(err)
	}

	if len(flag.Args()) > 0 {
		err = service.Control(s, flag.Args()[0])
		if err != nil {
			logger.Error(err)
		}
		return
	}

}

You never called s.Run()'
On Wed, Feb 17, 2016 at 9:09 AM BoomerBrian<EMAIL_ADDRESS>wrote:

Hello,
I can install the service from the command line and see the service in the
windows services panel but when I try to start it I get the following.
E: 10:58:06 Failed to start Go Service Example: The service did not
respond to t
he start or control request in a timely fashion.
What am I doing wrong?
package main
import (
"flag"
"log"
"time"
"github.com/kardianos/service"
"fmt"
)
var logger service.Logger
type program struct{}
func (p *program) Start(s service.Service) error {
// Start should not block. Do the actual work async.
go p.run()
return nil
}
func (p *program) run() {
// Do work here
for {
fmt.Println("Working...")
time.Sleep(3 * time.Second)
}
}
func (p *program) Stop(s service.Service) error {
// Stop should not block. Return with a few seconds.
return nil
}
func main() {
flag.Parse()

svcConfig := &service.Config{
    Name:        "GoServiceExampleSimple",
    DisplayName: "Go Service Example",
    Description: "This is an example Go service.",
}

prg := &program{}
s, err := service.New(prg, svcConfig)
if err != nil {
    log.Fatal(err)
}
logger, err = s.Logger(nil)
if err != nil {
    log.Fatal(err)
}

if len(flag.Args()) > 0 {
    err = service.Control(s, flag.Args()[0])
    if err != nil {
        logger.Error(err)
    }
    return
}

}
—
Reply to this email directly or view it on GitHub
https://github.com/kardianos/service/issues/52.

Thanks @kardianos
That worked. I knew I was missing something obvious.


Restore the meaning of EVP_PKEY_print_private()

With pre-3.0 OpenSSL, EVP_PKEY_print_private() calls the EVP_PKEY_ASN1_METHOD
function "priv_print", effectively asking the backend to print whatever it
regards as private key components.
In all backends that were built into libcrypto, this function printed what
was included in the private key structure, which usually includes the
public key components as well.
With OpenSSL 3.0, some of the corresponding key2text encoders got a
slightly different behavior, where the presence of the selector
OSSL_KEYMGMT_SELECT_PRIVATE_KEY without the presence of the selector
OSSL_KEYMGMT_SELECT_PUBLIC_KEY would only get what would intuitively be
regarded as private key components printed.  This isn't entirely consistent,
though, as the RSA key2text encoder will still print the public key
components regardless.
To compensate for the changed backend behavior, EVP_PKEY_print_private()
was made to ask the encoder to print the keypair rather than just the
private key, thereby moving the backend semantics to the application API.
Unfortunately, this causes confusion for providers where the key2text
encoder really should print the private key only.
This change restores the built-in 1.1.1 backend behavior in the encoders
that OpenSSL provides, and renders EVP_PKEY_print_private() more true to its
documented behavior, leaving it to the backend to decide what it regards as
"private key components".
Fixes #22233

Cherry-picking this to the release branches may be controversial.
Personally, I regard this as a bug that should be fixed everywhere,
but that may be regarded as pretty radical.  I hope for a fruitful
discussion to determine where this fix should really end up.

The check-docs issue is (hopefully) fixed with #22240

... that it always prints also the public part if available

I'd argue that we can't really say that, 'cause it still depends on the backend's cooperation.
(A backend can choose to ignore OSSL_KEYMGMT_SELECT_PUBLIC_KEY if OSSL_KEYMGMT_SELECT_PRIVATE_KEY is also set, for example).
To be very very precise, there should be a note somewhere that "private key components" is subject to the backend's idea of what's included in a "private key"

This pull request is ready to merge

Merged
master:
1296c2ec7866a4f2f4d210432c771142e8de33a0 Restore the meaning of EVP_PKEY_print_private()
3.1:
f11f24e79ddcb6f3567cf36ceeafe2c713b566f8 Restore the meaning of EVP_PKEY_print_private()
3.0:
4893559108b39e4fe90a719edb1ab11c6f2976e8 Restore the meaning of EVP_PKEY_print_private()