Custom Model without extends BaseModel

Is it possible to create a simple model without fields which are presented in BaseModel except ID field?
Here is my model:
import { Column, PrimaryGeneratedColumn } from 'typeorm';
import { Field, ID, ObjectType } from 'type-graphql';
import { Model, IDType, StringField } from 'warthog';

@Model()
@ObjectType()
export class Role {
  @Field(type => ID)
  @PrimaryGeneratedColumn({ type: "integer" })
  id!: IDType;

  @StringField()
  @Column({ nullable: false })
  mnemo?: string;
}

When I try to run yarn generate:code it returns error:
$ yarn generate:code
yarn run v1.15.2
$ set NODE_ENV=development && dotenv -- ts-node tools/generate.ts
Error: Schema must contain uniquely named types but contains multiple types named "Role".
    at invariant (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\graphql\jsutils\invariant.js:19:11)
    at typeMapReducer (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\graphql\type\schema.js:298:57)
    at Array.reduce (<anonymous>)
    at new GraphQLSchema (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\graphql\type\schema.js:145:28)
    at Function.generateFromMetadataSync (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\type-graphql\schema\schema-generator.js:28:24)
    at Function.<anonymous> (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\type-graphql\schema\schema-generator.js:15:33)
    at Generator.next (<anonymous>)
    at D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\tslib\tslib.js:107:75
    at new Promise (<anonymous>)
    at Object.__awaiter (D:\WebServer\git\selection-warthog\packages\warthog-examples\node_modules\tslib\tslib.js:103:16)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command

Am I doing something wrong?

Hey, can you create a branch that reproduces this and I'll take a look?

Yes, of course. Please, check at this branch

Also can you elaborate on what you're trying to do that is outside of the base behaviour?

There are many cases where we do not need to have all of these fields in Model, such as deletedAt, updatedById, createdAt, createdById etc.
I'd like to have my models as simple as possible without redundant fields.

Gotcha, so this would actually require a library update, which I can make this week. Once the change is in place you'd just need to create your own version of BaseModel like I do here with whatever options you want:
https://github.com/goldcaddy77/warthog/blob/master/src/core/BaseModel.ts
You could also just use both the TypeORM and TypeGraphQL decorators on each class you create, but that gets verbose quickly.

Looking at your error message again you're doubling up on decorators:
@Model()
@ObjectType()
export class Role {

When you use Warthog's @Model it already adds an ObjectType decorator:
https://github.com/goldcaddy77/warthog/blob/master/src/decorators/Model.ts#L28
Same with all of the field decorators:
https://github.com/goldcaddy77/warthog/blob/master/src/decorators/StringField.ts#L26
Check out the examples folder for a good starting point:
https://github.com/goldcaddy77/warthog/tree/master/examples

@goldcaddy77, you are right, the problem was with redundant @ObjectType() decorator.
But now, when I try to create RoleResolver it requires BaseModel again. Is there any workaround about it?

@popovserhii - sorry for slow response.  I'm not sure why that's happening.  Can you reproduce somewhere and shoot me a link?  A few ideas:

Try tweaking your tsconfig settings
Instead of using BaseResolver, you can try to instead use a vanilla resolver and instead call into BaseService like so:

https://github.com/goldcaddy77/warthog/blob/master/examples/6-base-service/src/user.resolver.ts
https://github.com/goldcaddy77/warthog/blob/b973ab0ca0118b1aed5fcbcb5a8b57793174e254/examples/7-feature-flags/src/environment/environment.resolver.ts#L26

The same problem with Service. It requires that all Model extends BaseModel. Really we cannot even use BaseModelUUID because BaseModel should be always presented in the code.
We should simplify BaseModel and leave only id field or allow to developer personally decide which type pass to Service. Something like this export class BaseService<E> or export class BaseService<E | E extends BaseModel> can be declared in BaseService

Gotcha, makes sense. So it sounds like you just don't want the version, timestamps and attribution columns right? If I update the library so that it doesn't break if you don't use BaseModel, would your use case be covered?

Exactly, I just don't need a version, timestamp and other default columns in Model. And yes, if you can do this my use case will be covered.

@popovserhii I took a stab at what you were asking for here: https://github.com/goldcaddy77/warthog/pull/152/files#diff-325440f1fb60c7c5716bc13d6e8e4dffR90
Let me know what you think.  What were you thinking to use for IDs?  Also, since there is a stong assumption that we use soft deletes, you'll minimally need the deletedAt field.

@popovserhii - what do you think of ^^^?

@goldcaddy77, sorry for a long delay.
It is what I need. Only one question, why do we need deletedAt field in MinimalModel? I understand that soft deletes is appropriate in most cases but sometimes we really need hard delete from a database.
I have one project where data is collecting for history every half hour and during the day the number of new rows increases up to ~432000, this data is actual only for 3 months then they should be deleted from DB entirely. That why not always we can follow the soft delete strategy.

What were you thinking to use for IDs?

I use int for IDs.
I'll try new MinimalModle implementation in next week.

@popovserhii just wanted to let you know that this works in Warthog V3 Beta.  I'll release V3 in October, but you can start playing with it now with yarn add warthog@beta


Not coinstallable with awscli/awsie/etc

Inside the same virtualenv (using pipenv) I'm unable to install awscli and formica together, because they both have locks on boto3 which conflict.
Collecting botocore<1.6.0,>=1.5.0 (from boto3==1.4.4->formica-cli) and Collecting botocore==1.8.15 (from awscli) don't work :crying_cat_face: together. To get around this, I think the best option is to require a boto3 that's a >=1.4.4,<2.0.0 or something, and then block tighter if there are specific boto3 releases that break formica.
Full reqs for awscli:
pip install awscli
New python executable in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-5NaLEWwvsWZQa0W/bin/python2.7
Also creating executable in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-5NaLEWwvsWZQa0W/bin/python
Installing setuptools, pip, wheel...done.
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-5NaLEWwvsWZQa0W/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-5NaLEWwvsWZQa0W/lib/python2.7/site-packages
Collecting awscli
  Using cached awscli-1.14.11-py2.py3-none-any.whl
Collecting PyYAML<=3.12,>=3.10 (from awscli)
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
  Using cached rsa-3.4.2-py2.py3-none-any.whl
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli)
  Using cached s3transfer-0.1.12-py2.py3-none-any.whl
Collecting botocore==1.8.15 (from awscli)
  Using cached botocore-1.8.15-py2.py3-none-any.whl
Collecting colorama<=0.3.7,>=0.2.5 (from awscli)
  Using cached colorama-0.3.7-py2.py3-none-any.whl
Collecting docutils>=0.10 (from awscli)
  Using cached docutils-0.14-py2-none-any.whl
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
  Using cached pyasn1-0.4.2-py2.py3-none-any.whl
Collecting futures<4.0.0,>=2.2.0; python_version == "2.6" or python_version == "2.7" (from s3transfer<0.2.0,>=0.1.12->awscli)
  Using cached futures-3.2.0-py2-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1 (from botocore==1.8.15->awscli)
  Using cached python_dateutil-2.6.1-py2.py3-none-any.whl
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.8.15->awscli)
  Using cached jmespath-0.9.3-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore==1.8.15->awscli)
  Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: PyYAML, pyasn1, rsa, futures, six, python-dateutil, docutils, jmespath, botocore, s3transfer, colorama, awscli
Successfully installed PyYAML-3.12 awscli-1.14.11 botocore-1.8.15 colorama-0.3.7 docutils-0.14 futures-3.2.0 jmespath-0.9.3 pyasn1-0.4.2 python-dateutil-2.6.1 rsa-3.4.2 s3transfer-0.1.12 six-1.11.0

and for Formica:
pip install formica-cli
New python executable in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-6zcVZeJLK3NfLnw/bin/python2.7
Also creating executable in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-6zcVZeJLK3NfLnw/bin/python
Installing setuptools, pip, wheel...done.
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-6zcVZeJLK3NfLnw/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /home/ryansb/.pyenv/versions/2.7.12/envs/tmpenv-6zcVZeJLK3NfLnw/lib/python2.7/site-packages
Collecting formica-cli
  Using cached formica_cli-0.6.1-py2.py3-none-any.whl
Collecting deepdiff==3.1.2 (from formica-cli)
  Using cached deepdiff-3.1.2-py2-none-any.whl
Collecting jinja2==2.9.5 (from formica-cli)
  Using cached Jinja2-2.9.5-py2.py3-none-any.whl
Collecting boto3==1.4.4 (from formica-cli)
  Using cached boto3-1.4.4-py2.py3-none-any.whl
Collecting pyyaml==3.12 (from formica-cli)
Collecting texttable==0.8.7 (from formica-cli)
Collecting jsonpickle (from deepdiff==3.1.2->formica-cli)
Collecting MarkupSafe>=0.23 (from jinja2==2.9.5->formica-cli)
Collecting botocore<1.6.0,>=1.5.0 (from boto3==1.4.4->formica-cli)
  Using cached botocore-1.5.95-py2.py3-none-any.whl
Collecting s3transfer<0.2.0,>=0.1.10 (from boto3==1.4.4->formica-cli)
  Using cached s3transfer-0.1.12-py2.py3-none-any.whl
Collecting jmespath<1.0.0,>=0.7.1 (from boto3==1.4.4->formica-cli)
  Using cached jmespath-0.9.3-py2.py3-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.6.0,>=1.5.0->boto3==1.4.4->formica-cli)
  Using cached python_dateutil-2.6.1-py2.py3-none-any.whl
Collecting docutils>=0.10 (from botocore<1.6.0,>=1.5.0->boto3==1.4.4->formica-cli)
  Using cached docutils-0.14-py2-none-any.whl
Collecting futures<4.0.0,>=2.2.0; python_version == "2.6" or python_version == "2.7" (from s3transfer<0.2.0,>=0.1.10->boto3==1.4.4->formica-cli)
  Using cached futures-3.2.0-py2-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.6.0,>=1.5.0->boto3==1.4.4->formica-cli)
  Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: jsonpickle, deepdiff, MarkupSafe, jinja2, six, python-dateutil, docutils, jmespath, botocore, futures, s3transfer, boto3, pyyaml, texttable, formica-cli
Successfully installed MarkupSafe-1.0 boto3-1.4.4 botocore-1.5.95 deepdiff-3.1.2 docutils-0.14 formica-cli-0.6.1 futures-3.2.0 jinja2-2.9.5 jmespath-0.9.3 jsonpickle-0.9.5 python-dateutil-2.6.1 pyyaml-3.12 s3transfer-0.1.12 six-1.11.0 texttable-0.8.7

Agreed. Are you opening a problem or should I?


feat: Improved Workflow logs

By default, workflow logs for a run will log out run status and individual task status.
Tasks logs can be emitted with --task <taskId> for a single task log, --all-tasks for all task logs, and --failed-tasks for failed task logs.

Issue #, if available:
Description of Changes
Description of how you validated changes
Verified commands manually
$ agc logs workflow foo
2021-11-09T17:17:01-08:00 𝒊  Showing the logs for 'foo'
2021-11-09T17:17:02-08:00 𝒊  Showing logs for the latest run of the workflow. Run id: '4927d57c-5181-4505-9e9f-96a7590ea9eb'
RunId: 4927d57c-5181-4505-9e9f-96a7590ea9eb
State: COMPLETE
Tasks:
        Name                    JobId                                   StartTime                               StopTime                                ExitCode
        hello_agc.goodbye       29fc9be3-3cc9-4e44-bbb1-50072b7be053    2021-11-09 20:21:10.118 +0000 UTC       2021-11-09 20:27:01.382 +0000 UTC       0
        hello_agc.hello         d6dad1b4-52ec-4765-8d8a-0f42093d49d2    2021-11-09 20:21:10.117 +0000 UTC       2021-11-09 20:26:31.345 +0000 UTC       0
        hello_agc.no            1764a32d-b64b-4c9f-b5a9-e86df0c1fca7    2021-11-09 20:21:10.117 +0000 UTC       2021-11-09 20:27:10.345 +0000 UTC       0

$ agc logs workflow foo --all-tasks
2021-11-09T17:17:07-08:00 𝒊  Showing the logs for 'foo'
2021-11-09T17:17:08-08:00 𝒊  Showing logs for the latest run of the workflow. Run id: '4927d57c-5181-4505-9e9f-96a7590ea9eb'
Tue, 09 Nov 2021 12:26:14 -0800 download: s3://agc-388165786712-us-west-
[...]
Tue, 09 Nov 2021 12:26:17 -0800 *** COMPLETED DELOCALIZATION ***
Tue, 09 Nov 2021 12:26:17 -0800 *** EXITING WITH RETURN CODE ***
Tue, 09 Nov 2021 12:26:17 -0800 0

$ agc logs workflow foo --failed-tasks
2021-11-09T17:17:15-08:00 𝒊  Showing the logs for 'foo'
2021-11-09T17:17:15-08:00 𝒊  Showing logs for the latest run of the workflow. Run id: '4927d57c-5181-4505-9e9f-96a7590ea9eb'
2021-11-09T17:17:16-08:00 𝒊  No logs available for run '4927d57c-5181-4505-9e9f-96a7590ea9eb'. Please try again later.

$ agc logs workflow foo --task 29fc9be3-3cc9-4e44-bbb1-50072b7be053
2021-11-09T17:17:29-08:00 𝒊  Showing the logs for 'foo'
2021-11-09T17:17:30-08:00 𝒊  Showing logs for the latest run of the workflow. Run id: '4927d57c-5181-4505-9e9f-96a7590ea9eb'
Tue, 09 Nov 2021 12:26:14 -0800 download: s3://agc-388165786712-us-west-1/scripts/69070f57f6499609f65566ed33421740 to tmp/tmp.jCuIQYqtS/batch-file-temp
Tue, 09 Nov 2021 12:26:14 -0800 *** LOCALIZING INPUTS ***
Tue, 09 Nov 2021 12:26:16 -0800 download: s3://agc-388165786712-us-west-1/project/myProject/userid/guyhawki2Xarph/context/groot/cromwell-execution/hello_agc/4927d57c-5181-4505-9e9f-96a7590ea9eb/call-goodbye/script to agc-388165786712-us-west-1/project/myProject/userid/guyhawki2Xarph/context/groot/cromwell-execution/hello_agc/4927d57c-5181-4505-9e9f-96a7590ea9eb/call-goodbye/script
Tue, 09 Nov 2021 12:26:17 -0800 *** COMPLETED LOCALIZATION ***
Tue, 09 Nov 2021 12:26:17 -0800 Hello Amazon Genomics CLI!3
Tue, 09 Nov 2021 12:26:17 -0800 *** DELOCALIZING OUTPUTS ***
Tue, 09 Nov 2021 12:26:18 -0800 upload: ./goodbye-rc.txt to s3://agc-388165786712-us-west-1/project/myProject/userid/guyhawki2Xarph/context/groot/cromwell-execution/hello_agc/4927d57c-5181-4505-9e9f-96a7590ea9eb/call-goodbye/goodbye-rc.txt
Tue, 09 Nov 2021 12:26:19 -0800 upload: ./goodbye-stderr.log to s3://agc-388165786712-us-west-1/project/myProject/userid/guyhawki2Xarph/context/groot/cromwell-execution/hello_agc/4927d57c-5181-4505-9e9f-96a7590ea9eb/call-goodbye/goodbye-stderr.log
Tue, 09 Nov 2021 12:26:20 -0800 upload: ./goodbye-stdout.log to s3://agc-388165786712-us-west-1/project/myProject/userid/guyhawki2Xarph/context/groot/cromwell-execution/hello_agc/4927d57c-5181-4505-9e9f-96a7590ea9eb/call-goodbye/goodbye-stdout.log
Tue, 09 Nov 2021 12:26:20 -0800 *** COMPLETED DELOCALIZATION ***
Tue, 09 Nov 2021 12:26:20 -0800 *** EXITING WITH RETURN CODE ***
Tue, 09 Nov 2021 12:26:20 -0800 0

Checklist

[x] If this change would make any existing documentation invalid, I have included those updates within this PR
[x] I have added unit tests that prove my fix is effective or that my feature works
[x] I have linted my code before raising the PR
[x] Title of this Pull Request follows Conventional Commits standard: https://www.conventionalcommits.org/en/v1.0.0/

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
go test -race -cover -count=1 -coverprofile coverage.out ./internal...
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws     2.966s  coverage: 93.3% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/batch       1.699s  coverage: 90.9% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/cdk 2.415s  coverage: 68.8% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/cfn 1.211s  coverage: 87.7% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/cwl 0.488s  coverage: 92.2% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/aws/ddb [no test files]
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/ecr 0.742s  coverage: 81.8% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/s3  2.531s  coverage: 95.9% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/ssm 2.254s  coverage: 90.0% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/sts 1.463s  coverage: 85.7% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/aws/util        0.953s  coverage: 100.0% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli     3.338s  coverage: 48.2% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/cli/awsresources        [no test files]
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/clierror    2.310s  coverage: 58.3% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/clierror/actionableerror    3.023s  coverage: 100.0% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/config      3.108s  coverage: 42.4% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/context     2.971s  coverage: 85.5% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/format      2.996s  coverage: 84.0% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/cli/group       [no test files]
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/spec        3.667s  coverage: 52.0% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/cli/types       [no test files]
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/workflow    3.414s  coverage: 83.7% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/cli/zipfile     3.528s  coverage: 86.7% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/constants       [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/environment     [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/logging [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/aws       [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/context   [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/io        [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/manager   [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/storage   [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/wes       [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/mocks/workflow  [no test files]
ok      github.com/aws/amazon-genomics-cli/internal/pkg/slices  3.623s  coverage: 100.0% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/storage 3.700s  coverage: 75.3% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/term/color      3.739s  coverage: 100.0% of statements
ok      github.com/aws/amazon-genomics-cli/internal/pkg/version 3.284s  coverage: 89.8% of statements
?       github.com/aws/amazon-genomics-cli/internal/pkg/wes     [no test files]
?       github.com/aws/amazon-genomics-cli/internal/pkg/wes/option      [no test files]
(cd packages/cli; /Library/Developer/CommandLineTools/usr/bin/make build)
go build -ldflags "-X github.com/aws/amazon-genomics-cli/internal/pkg/version.Version=1.0.1-65-gdca0fdd" -o ./bin/local/agc ./cmd/application

resolves https://github.com/aws/amazon-genomics-cli/issues/121


Merge trunk into branch-3.0-perf

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/647/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/649/
Test FAILed.
Test FAILured.

Hi @aonishuk, is this PR still relevant after merge of #319?  If not, can you please close it?


Deck stats show lines for decks that have never been played/encountered

The table in the deck stats page shows lines for every defined deck, even decks that have never been played/encountered. In the case many decks have been defined, the page results unnecessarily long. Please show only stats for relevant decks, i.e. decks played and decks with actual matches against played decks.

Thanks for the suggestion. I'll look into it.

Deployed with new update.


DBZ-1156 DBZ-1157 Upgrade to Kafka 2.1.1, Confluent Plat. 5.1.2

https://issues.jboss.org/browse/DBZ-1156
https://issues.jboss.org/browse/DBZ-1157

Were you able to test if this https://issues.jboss.org/browse/DBZ-1077 is fixed?

Hey @renatomefi, yes, see the uncommented calls to verifyRecord() in those tests. They would have failed before.


Some PNGs result in a black alpha channel, most don't.

I have a REST call on my server that takes in a buffer of an image sent from the client along with information for cropping.
The code works 99% of the time but every so often I encounter a PNG image that does not preserve the alpha channel and it ends up black.
This is the (simplified) code:
(github does not want to format this code nicely for some reason... so here is a screenshot as well)

if (fileType === 'jpeg' || fileType === 'jpg') {             console.log('Is jpg making backgroung alpha 1');             s = s.background({r: 255, g: 255, b: 255, alpha: 1});           } else {             s = s.background({r: 255, g: 255, b: 255, alpha: 0});             s = s.png({progressive: true, force: true});           }           s = s.extend(padding);           if (fileType === 'jpeg' || fileType === 'jpg') {             s = s.flatten();           }           s             .toBuffer((err, buffer) => {               s = sharp(buffer); } }
I do some cropping and calculating variable
padding
prior to that.
PNG it works with:

PNG it does not work with:

This is the result of the second one after running it through the code.

I cannot figure out what is going on, maybe some more knowledgeable help on the subject or the PNG fits an edge case?
Note: the call to .png() was added today to see if forcing it to png would help, it didn't, and has been working for most PNGs without it up till now.

Hello, unless GitHub has demangled it, the example image looks OK to me. Are you able to provide a standalone code sample that exhibits this behaviour (e.g. in the example above  s and fileType are unknowns).

@yharaskrik I think I was just having a similar problem and upgrading to the latest version solved it for me.

@mjgallag I just updated to 0.21.0 and unfortunately it seems that the "swinging with the starts" image still comes out black. Even after moving the deprecated background call to the .extends call I had below.

If a standalone code sample that exhibits this behaviour can be provided then I'm happy to help further.

Closing due to inactivity but please feel free to re-open with more details, including a standalone code sample, if the problem persists.


Feature 1269 energy transfer and fuel transport

Summary of the discussion
New subclasses for electrical and chemical energy transfer
New classes for (combustion) fuel transfer
Fuel gets good role
Freight transport gets axiomatised
Definition of heat transfer is updated
Type of change (CHANGELOG.md)
Added
New classes:
electrical energy transfer: Electrical energy transfer is an energy transfer of electrical energy.
chemical energy transfer: Chemical energy transfer is an energy transfer of chemical energy.
fuel transport: Fuel transport is the freight transport of fuels.
combustion fuel transport: Combustion fuel transport is the fuel transport for combustion fuels.
New axioms:
'electrical energy transfer' 'has energy input' some 'electrical energy'
'electrical energy transfer' 'has energy output' some 'electrical energy'
'chemical energy transfer' 'has energy input' some 'chemical energy'
'chemical energy transfer' 'has energy output' some 'chemical energy'
'fuel transport' 'has participant' some fuel
'combustion fuel transport' 'has participant' some 'combustion fuel'
'combustion fuel transport' 'has energy input' some 'chemical energy'
'combustion fuel transport' 'has energy output' some 'chemical energy'
'fuel' 'has role' some 'good role'
'freight transport' 'has participant' some good
Updated

Updated definition of heat transfer: Heat transfer is an energy transfer with of thermal energy as the only input and and thermal energy as the only output.

Workflow checklist
Automation
Closes #1269
PR-Assignee

[x] 🐙 Follow the Pull Request Workflow
[x] 📝 Update the CHANGELOG.md
[x] 📙 Add #'s to term tracker item

Reviewer

[ ] 🐙 Follow the Reviewer Guide
[ ] 🐙 Provided feedback and show sufficient appreciation for the work done

Thank you!


Bring base configuration used in the uds-package-software-factory into this repo

We want to move gitlabs configuration that is currently used at the uds-package-software-factory level to this repository.
We then want to provide a way for the capability to accept a values overlay.yaml file for additional configuration if necessary by the package that is importing this capability.
Acceptance Criteria:

[ ] This gitlab capability now has a default configuration that mirrors what uds-package-software-factory is using.
[ ] Makefile is updated to satisfy the dependencies it will need to for testing with the new configuration

This release should be used https://github.com/defenseunicorns/uds-support-charts/releases/tag/flux-app-1.0.6


sh: /dev/fd/63: No such file or directory

~$ sudo sh <(curl -L https://nixos.org/nix/install) --daemon
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0[s  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  4267  100  4267    0     0   5879      0 --:--:-- --:--:-- --:--:--  5879

Sorry, try again.
[sudo] password for m*****:
sh: /dev/fd/63: No such file or directory

OS: fedora 40 workstation (gnome).

sudo closes file descriptors other than stdin/stdout/stderr. Try it without sudo (the install instructions recommend running it without): https://nixos.org/download/

$ sh <(curl -L https://nixos.org/nix/install) --daemon
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  4267  100  4267    0     0   5479      0 --:--:-- --:--:-- --:--:-- 16932
downloading Nix 2.24.9 binary tarball for x86_64-linux from 'https://releases.nixos.org/nix/nix-2.24.9/nix-2.24.9-x86_64-linux.tar.xz' to '/tmp/nix-binary-tarball-unpack.vrdy8wJPVC'...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 22.5M  100 22.5M    0     0  7826k      0  0:00:02  0:00:02 --:--:-- 7823k
Note: a multi-user installation is possible. See https://nixos.org/manual/nix/stable/installation/installing-binary.html#multi-user-installation
Switching to the Multi-user Installer
---- oh no! --------------------------------------------------------------------
Nix does not work with selinux enabled yet!
see https://github.com/NixOS/nix/issues/2374
We'd love to help if you need it.
You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md
Or get in touch with the community: https://nixos.org/community

curl -L https://nixos.org/nix/install | sh -s -- --daemon
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  4267  100  4267    0     0   4916      0 --:--:-- --:--:-- --:--:-- 18797
downloading Nix 2.24.9 binary tarball for x86_64-linux from 'https://releases.nixos.org/nix/nix-2.24.9/nix-2.24.9-x86_64-linux.tar.xz' to '/tmp/nix-binary-tarball-unpack.nHtGyr0gwm'...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 22.5M  100 22.5M    0     0  7077k      0  0:00:03  0:00:03 --:--:-- 7078k
Note: a multi-user installation is possible. See https://nixos.org/manual/nix/stable/installation/installing-binary.html#multi-user-installation
Switching to the Multi-user Installer
---- oh no! --------------------------------------------------------------------
Nix does not work with selinux enabled yet!
see https://github.com/NixOS/nix/issues/2374
We'd love to help if you need it.
You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md
Or get in touch with the community: https://nixos.org/community

there is no solution for fedora. multi-user installation on fedora is not possible due to SElinux. I'm merging and closing the issue since the thread has already been opened.
https://github.com/NixOS/nix/issues/2374

See also:
https://github.com/NixOS/nix/issues/11689


Oauth Support

Is there any plan to add oauth support?

Yes, its planned. Closing this since we re tracking it at https://github.com/usebruno/bruno/issues/119


Bugfix docs python refs

was copying this for another project, and noticed some leftover python refs

Sorry, I just noticed that we're merging into develop. Can we please adjust main to develop?


[GHSA-9vvw-cc9w-f27h] debug Inefficient Regular Expression Complexity vulnerability

Updates

Affected products

Comments
Patch was backported to 2.x
see
https://github.com/debug-js/debug/pull/504#issuecomment-331301722
https://github.com/debug-js/debug/releases/tag/2.6.9

Closed as duplicate of #1599.


kml file with refresh from network not working

google maps give the possibility to download kml file with the link, and always get the latest file version, but this file not working in android
Steps to reproduce what we have

open https://www.google.com/maps/d/u/0/edit?mid=1lmroTF1Pj2Fc1RHLI0eTo4cmsvKEIbW6&usp=sharing or download the attached file
1) choose export kml/kmz file
2) choose "refresh data by network" and download it
add downloaded kml/kmz file into your maps
see the result

Also add the following details:

Maps SDK Version: 3.1.0-beta
Maps utils version: 2.2.5
test(4).zip

i cant understand what you say... whats step 1? where is the 'refresh data by network' ?

i cant understand what you say... whats step 1? where is the 'refresh data by network' ?

He meant the first option which is available under "export kml/kmz", update map using the link to kml/kmz file

first of all the link is dead...secondly the KML file is not visible even on google earth app (PC) ...

@dkati You can check my link. Do you mean that this feature doesn't work in general, not only on the android platform?

are u trying to download the KML directly from that link, via your android gmaps app?

@dkati No, I'm trying to use the downloaded file with the selected first option (update the map using the link to kml/kmz file) inside the MapView component in my app. Without selecting that option the resulting file works well, but with it - no data from kml is displayed

ok give me some minutes to test it

@dkati There's no disclaimer saying that I cannot use it on mobile, so why not? My app has permission to use the internet connection

@dkati I'm so sorry, missed your first answer. Thank you @Akucuki for describing what I meant.

read my reply about <Link> tag

@dkati do you have any plans to add support to that tag? That's why I'm marked the issue as feature request

i am not a gmaps utils maintainer :P although, i would repeat my question.
Why would u need such thing on mobile ?

This is was research on what we can do with google maps utils. And I think this feature will helpful when developer use kml file to show smth on the map. And when kml drawing need some updates he can do it without updating the application version.

This "issue" can be solved by statically stored KML files to a server and periodically fetch it/update current one
i can get your point, although i dont think its vital.
KML/KMZ mounting works really fine on latest google maps (utils and base), at least for me.

Yes, I agree with you. It will be helpful only if do not have a backend.

Closing this issue.


Support building and deploying bicep templates

This adds support to our common ARM deployment script to compile and deploy Azure bicep files.
Resolves #1712

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

Testing out an existing non-bicep live test: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=987175&view=results

Tests ^^ are passing for normal usage. It looks like bicep was added to MacOS today (https://github.com/actions/virtual-environments/blob/e8381d7db3a011a744a9d76eebb6e044327cfdae/images/macos/provision/core/bicep.sh), so by the time anyone actually starts using bicep templates, I expect our MacOS agents to have caught up.

/check-enforcer evaluate


feature #17: Added isAlive endpoint. Tests added.

Closes #17
Please check if the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] CHANGELOG.md has been updated (for bug fixes / features / docs)

Changes
Added isAlive endpoint. Tests added. Successful example for testing a server info enpoint was changed - replace strings values to inegers.
New behavior
Now an interface Server Client present an isAlive method, which implements api/v1/alive endpoint for checking if the storage engine is working.

@Rumpelshtinskiy , thank you for you contribution!


"Unable to determine GPU product family ID"

Happens every time I run the script, even as administrator. I just downloaded it and wanted to see how it works. I know for sure I already have the latest driver version but wanted to test your updater to see how well it works.
(Might be worth mentioning that I normally use NVCleanInstall, a closed source program that works similarly to yours).
Checking for script update...

        Current script version:         1.12
        Latest script version:          1.12

This is the latest script (version 1.12).

Detecting GPU and driver version information...

        Detected graphics card name:    GeForce RTX 3080
        Current driver version:         526.98

Unable to determine GPU product family ID. This should not happen.
Press any key to exit...

Should be fixed now


Support Swift 3.0

Support Swift 3.0

[x] id is now mapped to Any
[SE-0116] Import Objective-C id as Swift Any type

[x] OptionSetType => OptionSet

[x] ErrorType => ErrorProtocol => Error

[x] AuthenticationPolicy to be UInt

[x] Drop NS prefix

[x] NSData => Data
[x] NSURL => URL
[x] NSIndexSet => IndexSet

[x] Lowercase enums

Update to Xcode 8 recommended build settings

[x] Enable whole module optimazatin (by default on Xcode 8)
[x] New code signing

Tests on Travis CI with Xcode 8beta

[x] Fix code signing issue

Bug fixes

[x] Enable to catch specific errors

Changes Unknown when pulling<PHONE_NUMBER>bc370766c5a206957e1249d046ec1b on swift-3.0 into ** on master**.

Changes Unknown when pulling<PHONE_NUMBER>bc370766c5a206957e1249d046ec1b on swift-3.0 into ** on master**.

Coverage increased (+0.5%) to 92.48% when pulling 0805a317e1917beff01d133b0ab4e3615dbecacf on swift-3.0 into 6bdbeae7429cf03d47c55d7a06c446ec633c9bbb on master.

Changes Unknown when pulling 37a8fa6dda8b59313d5a215b2ed6784a99681686 on swift-3.0 into ** on master**.

Coverage increased (+0.5%) to 92.48% when pulling 7f77a4f54474b4ec356df6c6f7fcf76300948097 on swift-3.0 into 0cedf87e4686ebe3fc97c78da2308c9d985d2644 on master.

Changes Unknown when pulling 66d29c3ed08b31cdad2e35c6b738840f0be0d3b6 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 7bbed94470a505fb3bcfcf7ae4cb65c37f3f65a6 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling d1ed6c7ce1058ec69b734eb38786492aecc2f76f on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling aba40ccfaaf170c5891f9f208896e369bc806816 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling aba40ccfaaf170c5891f9f208896e369bc806816 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 448fd570a3e1ec061c1e0eb788ae527b38bef85f on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 5bb964710f3ce6beca088546226157df242c301a on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling a4f6c379b26371f6ef02b24d4812fdc8b3bd58b7 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling e58c789306a2eb9b0ca24b35ca18eacb6556797f on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling e58c789306a2eb9b0ca24b35ca18eacb6556797f on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling fa56e58c02d5763189f08d93a6b857ce681a959a on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 7992640f9453bd5363a2b844b4aab812fec8072e on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 7992640f9453bd5363a2b844b4aab812fec8072e on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling c520e8dfed99d2cdd9e9a01b1e8e505c573be330 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 9edc4ce8f149585d3a04274cdbd5622a538013b8 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 9edc4ce8f149585d3a04274cdbd5622a538013b8 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 9edc4ce8f149585d3a04274cdbd5622a538013b8 on swift-3.0 into ** on swift-2.3**.

Changes Unknown when pulling 9edc4ce8f149585d3a04274cdbd5622a538013b8 on swift-3.0 into ** on swift-2.3**.

Coverage decreased (-0.05%) to 91.758% when pulling fc18687fa61fb9f3dc9221984a05ed0f96b77785 on swift-3.0 into 0fd344095d484b3b1e6e8d63a0ee73dd6e90d59e on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling fc18687fa61fb9f3dc9221984a05ed0f96b77785 on swift-3.0 into 0fd344095d484b3b1e6e8d63a0ee73dd6e90d59e on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling fc18687fa61fb9f3dc9221984a05ed0f96b77785 on swift-3.0 into 0fd344095d484b3b1e6e8d63a0ee73dd6e90d59e on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling fc18687fa61fb9f3dc9221984a05ed0f96b77785 on swift-3.0 into 0fd344095d484b3b1e6e8d63a0ee73dd6e90d59e on swift-2.3.

Now all tests are passed! https://travis-ci.org/kishikawakatsumi/KeychainAccess/builds/155484718

Coverage decreased (-0.05%) to 91.758% when pulling 6333b14a48562152e3f84d102eeb3d0d2b3bd83f on swift-3.0 into<PHONE_NUMBER>df1a722427b73a790040d0eafda275 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling 6333b14a48562152e3f84d102eeb3d0d2b3bd83f on swift-3.0 into<PHONE_NUMBER>df1a722427b73a790040d0eafda275 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling 6333b14a48562152e3f84d102eeb3d0d2b3bd83f on swift-3.0 into<PHONE_NUMBER>df1a722427b73a790040d0eafda275 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling a8d3c64f788b6a59be6f6eb773874c08b29b1967 on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling a8d3c64f788b6a59be6f6eb773874c08b29b1967 on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling a8d3c64f788b6a59be6f6eb773874c08b29b1967 on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling a8d3c64f788b6a59be6f6eb773874c08b29b1967 on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage decreased (-0.05%) to 91.758% when pulling a8d3c64f788b6a59be6f6eb773874c08b29b1967 on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Is this been updated for Xcode 8 GM ?

@alokjha Yes. All tests are passed on Travis CI. Xcode 8 GM works on Travis CI.

It would be nice to get this closed and in master

Coverage increased (+0.004%) to 91.81% when pulling f93dc12fd9f2a31d5eb33cb7c7ec48364dab110c on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage increased (+0.004%) to 91.81% when pulling f93dc12fd9f2a31d5eb33cb7c7ec48364dab110c on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage increased (+0.004%) to 91.81% when pulling f93dc12fd9f2a31d5eb33cb7c7ec48364dab110c on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage increased (+0.004%) to 91.81% when pulling f93dc12fd9f2a31d5eb33cb7c7ec48364dab110c on swift-3.0 into a1eb51fb964b9d01eb825dfd71e390d8e39c3460 on swift-2.3.

Coverage decreased (-0.01%) to 91.81% when pulling 27f024583ba97870510287b6d454ca17ef9dbba6 on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling 27f024583ba97870510287b6d454ca17ef9dbba6 on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling 27f024583ba97870510287b6d454ca17ef9dbba6 on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling 27f024583ba97870510287b6d454ca17ef9dbba6 on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling fb4529d77f4377cc24bd62f5baf15d6279f9f05f on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling fb4529d77f4377cc24bd62f5baf15d6279f9f05f on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Coverage decreased (-0.01%) to 91.81% when pulling fb4529d77f4377cc24bd62f5baf15d6279f9f05f on swift-3.0 into 1f373d3cf65c31a7543cdc1b43380a0708be8bb0 on master.

Released 3.0.0! https://raw.githubusercontent.com/CocoaPods/Specs/aa104950445fbfc468afd067e895839f2de97060/Specs/KeychainAccess/3.0.0/KeychainAccess.podspec.json


Update TextureArray indices instead of regenerating the whole array

Description
Currently, every time the terrain is modified, the entire texture data is repacked and sent to the Rendering Server. It should be able to modify individual indices of texture arrays instead, to avoid new allocations.
We discussed this in the discord, but I thought it would be good to make an issue to keep track of it.

I believe we were discussing using RenderingServer::texture_2d_update(texture: RID, image: Image, layer: int) to replace one layer. However, the array will still have to be recreated it the size has changed.

That's true. We could do an ArrayList style and preemptively allocate a larger array when a lot of regions are added in quick succession, and then shrink it to an appropriate size during some idle time.

@Xtarsia didn't you mention you wanted to do this?


[Networking] Search for CA roots if libcurl doesn't know where they are.

Normally, distro maintainers will tell libcurl where to look when they build it, and up to now we've been relying on that.  That doesn't work for the fully static Linux build, where we're building our own libcurl, and where the idea is that we'll run on any old Linux system.
To make TLS work under that circumstance, we'll need to look in a few likely places for CA root files.  We only do this if libcurl doesn't already know where to look.
rdar://123434144

@swift-ci Please test

Not sure what that macOS failure is about. Seems we're generating references to _swift_getTypeByMangledNameInContext2, which doesn't exist?

@swift-ci Please test

New macOS failure:
CoreFoundation/Stream.subproj/CFStream.c:1686:5: error: call to undeclared function '_CFThreadSetName'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    _CFThreadSetName(pthread_self(), "com.apple.CFStream.LegacyThread");
    ^

Nothing to do with this PR.

I guess we don't care about that though, maybe, as this won't be used on macOS?

@swift-ci test windows

@swift-ci test macos

swift-ci test macos

This code isn't used on macOS. :-)
(I realised after my comment last week, and after noticing that only Linux and Windows were required.)

I understand, I would like to see if macOS is still failing for all PRs or only a specific one.


CircleCi Settings

Hey @yuya-oc
are there any hidden CircleCi Settings I need to do when I want to build the solution via circleci?
My branch is failing so far:
https://circleci.com/gh/Razzeee/desktop/3

For now, you have to use ubuntu 12.04 build image. I could not find out the way to specify the image in circle.yml.

Doesn't seem to work :/
https://circleci.com/gh/Razzeee/desktop/5

Still using ubuntu-14.04 (see "Start container" section). Please check "Build Environment" section in the settings page?

Probably I can upgrade the image to ubuntu-14.04, but for now it should be done after v1.4.0.

Weird, I did change that. Will have to look again

I was able to fix this by pushing something again, only then the new server version get's picked up.


Replace Boost.Variant with Boost.Variant2

Description
Implements dynamic extension with Boost.Variant2 instead of Boost.Variant.
References
Fixes #232
Tasklist

[x] Update/Add test case(s)
[x] Update doc(s)
[x] Update extension usage in I/O
[x] Ensure all CI builds pass
[x] Review and approve

Thanks, I'm very much in favour of switching to the Boost.Variant2

@mloskot Build fine locally, any clue? The pipeline fails with:
boost/variant2/variant.hpp: No such file or directory compilation terminated.`

Builds fine with MSVC 2019.

@pdimov Any chance that this issue that seems to be specific to MSVC 2017 rings a bell?
boost\mp11\list.hpp(202): error C3200: 'B': invalid template argument for template parameter 'B', expected a class template

My guess is that it doesn't like
using view_t = mp11::mp_rename<detail::images_get_views_t<any_image>, any_image_view>;

either because it doesn't like any_image or any_image_view. I'll look into why.

Hm no, it's actually this line:
template <typename ...Views>
class any_image_view : public variant2::variant<Views...>
{
    using parent_t = variant2::variant<Views...>;

public:
    using const_t = mp11::mp_rename<detail::views_get_const_t<any_image_view>, any_image_view>;

The second any_image_view is interpreted as referring to the class (same as the first one).

Since the result of detail::view_get_const_t<any_image_view> is already any_image_view, just drop the rename.
And maybe use b2 instead of cmake in order to see the errors.
compile-c-c++ ..\..\bin.v2\libs\gil\test\extension\toolbox\get_num_bits.test\msv
c-14.1\debug\asynch-exceptions-on\threading-multi\get_num_bits.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
get_num_bits.cpp
C:\boost-git\develop\boost/mp11/list.hpp(202): error C3200: 'B': invalid templat
e argument for template parameter 'B', expected a class template
        with
        [
            B=boost::gil::any_image_view<Views...>
        ]
C:\boost-git\develop\boost/gil/extension/dynamic_image/any_image_view.hpp(79): n
ote: see reference to alias template instantiation 'boost::mp11::mp_rename<boost
::gil::detail::views_get_const_t<boost::gil::any_image_view<Views...>>,boost::gi
l::any_image_view<Views...>>' being compiled
C:\boost-git\develop\boost/gil/extension/dynamic_image/any_image_view.hpp(122):
note: see reference to class template instantiation 'boost::gil::any_image_view<
Views...>' being compiled

C:\boost-git\develop\libs\gil>git diff
diff --git a/include/boost/gil/extension/dynamic_image/any_image_view.hpp b/include/boost/gil/extension/dynamic_image/any_image_view.hpp
index 1119b2f7f..f4a2f7351 100644
--- a/include/boost/gil/extension/dynamic_image/any_image_view.hpp
+++ b/include/boost/gil/extension/dynamic_image/any_image_view.hpp
@@ -76,7 +76,7 @@ class any_image_view : public variant2::variant<Views...>
     using parent_t = variant2::variant<Views...>;

 public:
-    using const_t = mp11::mp_rename<detail::views_get_const_t<any_image_view>, any_image_view>;
+    using const_t = detail::views_get_const_t<any_image_view>;
     //using const_t = detail::views_get_const_t<any_image_view>;
     using x_coord_t = std::ptrdiff_t;
     using y_coord_t = std::ptrdiff_t;

I see that you already had the right thing there but commented out. :-)

Thank you so much for help, I am always amazed by the support you get from this community.
Why on earth did I add this mp_rename ? :-)
If I understand correctly, mp_rename<A<T...>, A> fails on MSVC 2017 or is it just with any_image_view?

It only fails when you're inside the definition of template<class... T> class A, because there A can refer to both the class itself (A<T...>, "class name injection") and the class template (A), and 2017 doesn't consider the second possibility. You were basically doing something similar to mp_rename<A, A>, where the two As mean different things.

One of the Azure jobs failed with:
Cloning into 'boost-root'...
C:/Program Files/Git/mingw64/libexec/git-core\git-submodule: line 457:  1643 Segmentation fault      git submodule--helper ensure-core-worktree "$sm_path"

Any chance that it could be restarted?

@sdebionne Restarted

Wouldn't there be a way to split this, so someone can use the PNG reader without having to drag in boost/variant2.hpp

Currently, those all drag in boost/variant.hpp, so it's adding a new dependency, but replacing an old A with new B. And, as the new B has less dependencies than the old A, it means removing some transitive dependencies. Unless I'm missing something.

OK, that's a fair point. So let's move forward with this PR, and try to separate the dynamic_image extension dependency from the other extensions separately.

@stefanseefeld Yes, I think this PR is completed now and feasibility of decoupling the dynamic_image and io extensions should be a matter of separate discussion and PR.
So, unless you have any other requests for changes, let's mark this as approved.


Initial LiveShare extension scaffolding

This PR contains the initial LiveShare extension scaffolding and is intending as a work in-progress.  The goal is to push to main bulk of the boilerplate code so that future PRs can be more focused and better isolated.
There are also various updates to the connection extensibility API that are needed to hook up shared sessions in the UI.

...I'll investigate the failing tests.


External Labels not available in alert Annotations

What did you do?
Defined an external label in prometheus config:
global:
  scrape_interval: 15s
  scrape_timeout: 10s
  evaluation_interval: 15s
  external_labels:
    monitor: acme-logs-dev

In a rule I had:
ALERT container_eating_memory
  IF sum(container_memory_rss{container_label_com_docker_swarm_task_name=~".+"}) BY (instance, name) ><PHONE_NUMBER>
  FOR 5m
  ANNOTATIONS {
    description="{{ $labels.container_label_com_docker_swarm_task_name }} is eating up a LOT of memory. Memory consumption of {{ $labels.container_label_com_docker_swarm_task_name }} is at {{ humanize $value}}.",
    summary="{{$labels.monitor}} - HIGH MEMORY USAGE WARNING: TASK '{{ $labels.container_label_com_docker_swarm_task_name }}' on '{{ $labels.instance }}'"}

What did you expect to see?
The templated alert printing the monitor label.
But the alert in both prometheus alert view and the alert that ended up in slack were both missing the external label
What did you see instead? Under which circumstances?
No label listed in prometheus alerts page and empty string in slack
Environment

System information:

Prometheus version:
1.7.1

Alertmanager version:
0.8.0

Prometheus configuration file:

global:
  scrape_interval: 15s
  scrape_timeout: 10s
  evaluation_interval: 15s
  external_labels:
    monitor: acme-logs-dev
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - alertmanager.service.acme:9093
    scheme: http
    timeout: 10s
rule_files:
- /etc/prometheus/tasks.rules
- /etc/prometheus/host.rules
- /etc/prometheus/containers.rules
scrape_configs:
- job_name: cadvisor
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  dns_sd_configs:
  - names:
    - tasks.cadvisor
    refresh_interval: 30s
    type: A
    port: 8080
- job_name: node-exporter
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  dns_sd_configs:
  - names:
    - tasks.nodeexporter
    refresh_interval: 30s
    type: A
    port: 9100
- job_name: prometheus
  scrape_interval: 10s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  static_configs:
  - targets:
    - localhost:9090
- job_name: blackbox-http
  params:
    module:
    - http_2xx
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /probe
  scheme: http
  dns_sd_configs:
  - names:
    - tasks.kibana.service.acme
    refresh_interval: 30s
    type: A
    port: 5601
  relabel_configs:
  - source_labels: [__address__]
    separator: ;
    regex: (.*)(:80)?
    target_label: __param_target
    replacement: ${1}
    action: replace
  - source_labels: [__param_target]
    separator: ;
    regex: (.*)
    target_label: instance
    replacement: ${1}
    action: replace
  - source_labels: []
    separator: ;
    regex: .*
    target_label: __address__
    replacement: blackboxexporter:9115
    action: replace
  - source_labels: [__meta_dns_name]
    separator: ;
    regex: tasks\.(.*)
    target_label: job
    replacement: ${1}
    action: replace
- job_name: blackbox-tcp
  params:
    module:
    - tcp_connect
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /probe
  scheme: http
  dns_sd_configs:
  - names:
    - tasks.elasticsearch.service.acme
    refresh_interval: 30s
    type: A
    port: 9200
  - names:
    - tasks.logstash.service.acme
    refresh_interval: 30s
    type: A
    port: 5000
  relabel_configs:
  - source_labels: [__address__]
    separator: ;
    regex: (.*)(:80)?
    target_label: __param_target
    replacement: ${1}
    action: replace
  - source_labels: [__param_target]
    separator: ;
    regex: (.*)
    target_label: instance
    replacement: ${1}
    action: replace
  - source_labels: []
    separator: ;
    regex: .*
    target_label: __address__
    replacement: blackboxexporter:9115
    action: replace
  - source_labels: [__meta_dns_name]
    separator: ;
    regex: tasks\.(.*)
    target_label: job
    replacement: ${1}
    action: replace

Alertmanager configuration file:

route:
  receiver: 'slack'
  repeat_interval: 3h #3h
  group_interval: 5m #5m
  group_wait: 1m #1m
  routes:
  #- receiver: 'logstash'
  #  continue: true
  - receiver: 'slack'

receivers:
  - name: 'slack'
    slack_configs:
      - send_resolved: true
        api_url: 'xxx'
        username: 'Prometheus - Alerts'
        channel: '#service-alerts'
        title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
        text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"
        icon_emoji: ':dart:'
  - name: 'logstash'
    webhook_configs:
      # Whether or not to notify about resolved alerts.
      - send_resolved: true
        # The endpoint to send HTTP POST requests to.
        url: 'http://logstash:8080/'

Logs:

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.
This is by design, you want alert notification templates.

Ok, will do in future.

This is by design, you want alert notification templates.

I think there are some valid use cases where doing this with alert notification templates isn't desirable.  For instance, consider dashboard URLs that might contain the datacenter (an external label).  Some alerts might include dashboard URLs with datacenter, some might not.   And it would be super usefule for the URLs that appear in the Prometheus to contain correct datacenters, and not contain place holders.
Is there are way of currently doing this or should this issue be reopened?

If you've that complex a setup, you're getting into configuration management at that point. In practice you can probably always append the datacenter in the AM, if it's not used it'll be ignored.
This has been discussed previously, the answer at the time was notification templates (which were yet to be implemented back then). In general the point stands that an alert should not care about the Prometheus it is running in.

In general the point stands that an alert should not care about the Prometheus it is running in.

I think the point, at least for us, is that humans do care about the Prometheus that alerts are generated from even if you don't or you don't think they should. Even if we ignore this specific scenario the fact remains that there can be external labels or alert label rewrites that can add contextual information for humans that are receiving the alerts which can be helpful. If you are taking a quick glance at multiple alerts, the summary or description annotations seem to be the two best places to put this type of useful information.
Some, but not all, labels being available is confusing at best. If the human decides that combining this information in a specific way is useful to them and their organization then isn't that something worth considering? If you can get this done in a single place (the alert definition) rather than multiple places, why wouldn't you? It's generally what the user would expect.

I agree that this is useful, but alert templates is the wrong place to put it. This is all possible if you use notification templates, in addition to being more succinct.

Bump on this.
How can notification templates be used when pulling alerts via the AlertManager API?
I'll point out that we're not the only ones using the AlertManager API.

They can't, as the Alertmanager design revolves around sending notifications. Just like the webhook, if you're doing something like that you'll need to do your own templating.

So much for the pull method.

@brian-brazil if I understand correctly, externalLabels: "monitor: <foobar>" cannot be used directly on an alert with {{ $labels.monitor }}, but only works as {{ .GroupLabels.monitor }} on the alertmanager configuration? or does one need something extra called a notification template using something else?
Why is the one '$' and the other '.'?
What's difference between $labels and .GroupLabels?
Why can external labels only be used using {{ .GroupLabels.}} ?
How to test it if the entirety of alertmanager configuration is only accepted as a secret, having to go through hoops if there is a multi-cluster multi-prometheus setup?

Finally fixed by #5463 .

Awesome!

Thank you very much @sylr and @beorn7!


15a File IO

We have a pretty complete interpreter at this point!
Before we took a detour to make a presentable interpreter, we were just talking about file IO. Now let's get back to it.

Recognising IO keywords
Let's update our list of keywords:
https://github.com/nyjc-computing/pseudo/blob/53261dd7b562cb1e93df55e45a061663b841788e/builtin.py#L77-L90

Test code
Lets use the following psuedocode to test:
DECLARE Number : INTEGER
DECLARE Max : INTEGER
Number <- 0
OPENFILE data.txt FOR WRITE
WHILE Number <= Max DO
    WRITEFILE data.txt, Number
CLOSEFILE data.txt

Parsing *file statements
Let's add more rules for our entry point:
https://github.com/nyjc-computing/pseudo/blob/df767f96d931ad54f882e190622de6699d04b73e/parser.py#L438-L445
And define the respective parsers:
https://github.com/nyjc-computing/pseudo/blob/df767f96d931ad54f882e190622de6699d04b73e/parser.py#L392-L411

Defining *file statements
What kind of stmt should we return?
Ideally I hope to avoid needing 4 types of statements, one for each keyword. Let's go with the following:

rule: file
action: open | read | write | close
name:
mode: read | write | append | None
data:  | None

Now let's implement the parsers.

https://github.com/nyjc-computing/pseudo/blob/4a96955a465277afcb5fbe18d0a57d0e9f91a835/parser.py#L392-L406
Nothing too surprising here. We pass the entire token instead of unpacking it, so that we can raise errors if necessary in the resolver/interpreter.
https://github.com/nyjc-computing/pseudo/blob/4a96955a465277afcb5fbe18d0a57d0e9f91a835/parser.py#L408-L420
READFILE statements take in a variable name after the file identifier, and we pass that as the 'data' key in the 'file' statement.  READFILE statements do not provide a mode, so we will need to check that from the OPENFILE statement. That is the resolver's job, so we won't do that here.
https://github.com/nyjc-computing/pseudo/blob/4a96955a465277afcb5fbe18d0a57d0e9f91a835/parser.py#L422-L434
WRITEFILE statements take in a string after the file identifier, and we pass that as teh 'data' key in the 'file' statement. WRITEFILE statements do not provide a mode, so we will need to check that from the OPENFILE statement. That is the resolver's job, so we won't do that here.
https://github.com/nyjc-computing/pseudo/blob/4a96955a465277afcb5fbe18d0a57d0e9f91a835/parser.py#L436-L446
The simplest of the four statements. Not much to say here!

Verifying *file statements
Thanks to our earlier work, we only need one verifier here, and one matching rule:
https://github.com/nyjc-computing/pseudo/blob/ae25adb413f79f911c71480ab6ef830cc561b75a/resolver.py#L200-L201
https://github.com/nyjc-computing/pseudo/blob/ae25adb413f79f911c71480ab6ef830cc561b75a/resolver.py#L225-L226

The resolver stops short of actually accessing or writing to the file; that's the interpreter's job. Here, we primarily check that the user is not trying to read/write/close an unopened file, and we check that read/write operations are being requested from files that have been opened in the appropriate modes:
https://github.com/nyjc-computing/pseudo/blob/fefa2ac207724bb1abfbc769dba5388c21398692/resolver.py#L200-L223

Executing *file statements
Our early decision to use one 'file' stmt continues to reap benefits, requiring only one rule and one executor:
https://github.com/nyjc-computing/pseudo/blob/144772bec77cf87646cee2eecf39b03234276300/interpreter.py#L125-L126
https://github.com/nyjc-computing/pseudo/blob/144772bec77cf87646cee2eecf39b03234276300/interpreter.py#L97-L98

The resolver has done existence and mode checks, so we can skip the name in frame checks, and assume the mode is generally correct. So in our executor, we are mainly carrying out IO operations, and catching any possible errors.
https://github.com/nyjc-computing/pseudo/blob/d29efd553465f4863316faeb4e93ff293d7e3eac/interpreter.py#L99-L106
We finally get round to getting a file handle from Python, and storing it in the frame slot under the 'value' key. We get a bit lazy and use the first letter of the mode (READ, 'WRITE, or APPEND) as the open() mode; let's see if this comes back to bite us.
https://github.com/nyjc-computing/pseudo/blob/d19a55038b9cdcbfec4e2ad779e464815c9dd79e/interpreter.py#L107-L111
We keep the file handle open precisely because we don't want to implement file cursors from scratch; here we let Python help us remember the position of the pointer (in the file handle). We call the file handle's readline() for each line, stripping the line break as a convenience.
https://github.com/nyjc-computing/pseudo/blob/d19a55038b9cdcbfec4e2ad779e464815c9dd79e/interpreter.py#L112-L118
To write data, we get the existing file handle, and use its write() method. Pseudocode requires moving the pointer to the next line after each WRITEFILE, so we check for a terminal line break and append one if necessary.
https://github.com/nyjc-computing/pseudo/blob/d19a55038b9cdcbfec4e2ad779e464815c9dd79e/interpreter.py#L119-L122
Lastly, when CLOSEFILE is called, we close the file handle and remove the file identifier from the frame.

Bugfixes
An incorrect ENDWHILE match: [36fc2608429e28fc227f9dd024373dcfbac2b0a3]
Incorrect extraction of file open mode: [9af8094ba99e506d8c9bb542272c699e085beb01]
Forgetting to insert frames during resolving: [a7a84e99f2d9131f08d2b954540f66cc5d9075b1], [ffc7a0922336d7447be9b687d6b0c1ae57b6875a], [21ba6a104b1aed85e47019467b4d00b133fd644a]
And pseudocode bugs:

forgetting to add ENDWHILE [324de84b8d51357fa5ae6c72776d2d31bcfae766]
forgetting to initialise the Max value [448c72fdf5376f3115772441aefdd931bcd2986a]

The latter bug points to a missing feature: because the resolver does not actually execute operations, it cannot know if variables have been initialised. The interpreter should have raised a RuntimeError upon encountering a NULL value. This will probably take another refactor to resolve, so let's add another issue (#33) and fix it some other time.

Testing
Test code:
DECLARE Number : INTEGER
DECLARE Max : INTEGER
Number <- 0
Max <- 10
OPENFILE "data.txt" FOR WRITE
WHILE Number <= Max DO
    WRITEFILE "data.txt", Number
    Number <- Number + 1
ENDWHILE
CLOSEFILE "data.txt"

Result (in data.txt):
0
1
2
3
4
5
6
7
8
9
10


Extensions update

update pybind to 2.5.0
fix bug in regspace clustering caused by casting from py::object to numpy array parallelized
ported some openmp code to pthread
improved random generator seed handling
parallelized histogram for bhmm sample implementation

Are tests written such that the checks passing means the replacement of the msmtools thing in 9abade7 works correctly?

Are tests written such that the checks passing means the replacement of the msmtools thing in 9abade7 works correctly?

not explicitly (yet) ;-)


A long string in a match arm breaks formatting for the whole match expression

Describe the bug
If an arm of a match expression contains a string with >= 87 characters, formatting fails on the whole match
To Reproduce
match 0 {
    0 => {"hello"} 1 => { ""}
      _ => {"veeeeeeeeeeery loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong string"}
};

Expected behavior
 match 0 {
    0 => "hello",
    1 => "",
    _ => {
        "veeeeeeeeeeery loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong string"
    }
};

If the third string is less than 86 characters, formatting works as expected.
Meta

rustfmt version: rustfmt 1.4.36-stable (7de6968 2021-02-07)
From where did you install rustfmt?: rustup
How do you run rustfmt: rustfmt, cargo-fmt, and rust-analyzer formatting in VSCode.

Thanks for reaching out, this is in the same boat as #4800 and is also fixed in source (apparently) but hasn't been pulled into a release branch.
For anyone interested in working on this please note that the fix would need to be versioned gated to avoid violating the formatting stability guarantee. It was an intentional decision early on in rustfmt to bail in cases like this when it's completely impossible to format an element within the max_width constraint, so even though it's preferable now to format anyway (and let users turn on config options like error_on_line_overflow) we still have to gate that change

@calebcartwright I'd like to help with back-porting this.

@calebcartwright I'd like to help with back-porting this.

Brilliant, thanks!

Should I back-port to branch 1.4.36, or 1.4.37?


Reading index.html from fileSysytem  on everyRequest , wont it hurt performance

In middleware/frontendMiddleware ,
app.get('*', (req, res) => res.sendFile(path.join(options.output.path, 'index.html')));
On every request we are reading index.html from fileSystem.
Even if  express sendFile will check it's internal cache (which I'm not sure) , it will still need to do a cacheCheck from some hashfile.
shouldn't we preload entire html in some variable const indexHtml =  "<html>.....</html>"`and send that variable instead..

Yeah, that sounds reasonable!

What if you edit index.html while the server is running?

we will change only in addProdMiddlewares .

I'm pretty sure res.sendFile does not employ any caching. It's using the "send" module internally which specifically states that it doesn't perform caching. The res.sendFile function it self doesn't seem to have any caching either.
It is using a stream though, which is the correct way to handle file I/O in Node. So it's non-blocking and will therefore not have any significant impact on the rest of the application as long as the event loop isn't saturated. But it does increase the time it takes for the client to receive the file of course.
I'm not aware of any function in Express similar to res.sendFile that have caching. So this is something you'd have to build your self. I would personally employ lacy loading using the thunky module if I needed to do this, but there are several possible solutions of course.

Thanks for chiming in @watson, glad to hear it's not a big performance impact!

Closing due to little interest and tiny perf impact.


Will it work if homebridge is not on the same network as the Dyson fan?

Hi,
I'm running my Dyson fan on a different wifi/network from the home network (where I'm running homebridge). The two networks are totally isolated and cannot communicate with each other. I've noticed that I can still use the dyson app and the fan is super quick in responding (as both my phone and the dyson are connected to the internet).
Will this plugin work in this setup or I have to somehow bridge the two networks? I'm more than  happy to accept a slightly delay  in response (due to the need of connecting via the dyson servers).
Cheers

I think it won’t work unfortunately because it is the homebridge to send request to Dyson device directly using the IP it got. So unless homebridge can access the IP of Dyson device, it would not be able to communicate with your device


feat: 🎸 add an index to the jobs collection

proposed by mongo atlas

Codecov Report
Patch coverage has no change and project coverage change: -1.87 :warning:

Comparison is base (3f74aeb) 90.49% compared to head (d0c8d4e) 88.62%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #888      +/-   ##
==========================================
- Coverage   90.49%   88.62%   -1.87%
==========================================
  Files         115       56      -59
  Lines        6281     2541    -3740
==========================================
- Hits         5684     2252    -3432
+ Misses        597      289     -308

Flag
Coverage Δ

jobs_mongodb_migration
78.11% <ø> (ø)

libs_libcommon
92.88% <ø> (ø)

services_admin
87.32% <ø> (ø)

services_api
?

services_worker
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

libs/libcommon/src/libcommon/queue.py
93.84% <ø> (ø)

services/worker/tests/job_runners/test_splits.py

services/worker/tests/job_runners/test_sizes.py

services/api/tests/test_app_real.py

services/worker/tests/fixtures/hub.py

services/api/tests/routes/test_webhook.py

services/api/tests/conftest.py

services/worker/tests/test_executor.py

services/worker/tests/test_job_runner.py

services/worker/src/worker/loop.py

... and 50 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Merging, as it's the same as #883

Deployed. The index has been created, and mongo atlas does not recommend any more index creation.


on_focus_changed

It looks like LIbUI has a callback for focus change on a window, but I'm not sure how to get at it from glimmer.  That and also to ask a window if it has focus right now.

That should be an unreleased feature. We should be updating the version of C libui that is wrapped by Glimmer DSL for LibUI in the near future.


Null is not an object is thrown.

Hi we have used webcamjs with angularjs 1.7x. It works good in most of the cases except where we try to capture photo using google chrome in ios 12 device we get an error like ‘null is not an object (evaluating this $window.Webcam.mediaDevices.enumerateDevices)’. Do you have any idea why this error would be coming.

Does chrome on iOS support user media streams? I feel like it doesn't but I
haven't looked into it
On Sun, Jun 2, 2019, 15:25 gopiinno<EMAIL_ADDRESS>wrote:

Reopened #298 https://github.com/jhuckaby/webcamjs/issues/298.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jhuckaby/webcamjs/issues/298?email_source=notifications&email_token=AAOUO7HQ5ELO53HERA4D22TPYQNAZA5CNFSM4HSDKFRKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGORYHQEVI#event-2383348309,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOUO7CZ2EHV7K2JNPWIK6TPYQNAZANCNFSM4HSDKFRA
.

https://bugs.chromium.org/p/chromium/issues/detail?id=752458


CR023: Adjust font size and typeface

Background
After implementing Jomolhari and Yuchi fonts, the size and typeface must be adapted everywhere on the website
Texts main page
main header: 20pt, gray color

search: 16pt

description: serif 19pt

ཡིག་མཛོད་ཀྱི་དཀར་ཆ་ལ་ལྟ།: 17pt

categories: 24pt

subcategory: 26px

Text
category of text: 22px

versions: 20px

ཕབ་ལེན།: 20px

resources: sans-serif 18px

menu items: serif 18px

menu categories: sans-serif 16px

Translation description: serif 20px

search message: 18px

buttons: serif 18px

ལུང་འགོད་སའི་ཟིན་བྲིས་འདེམས།: 18px

Topics
topics search: 16px

ཀ་ཁ་: 26px

Bookmarks
History: sans-serif 18px

Notifications
notification category: serif

Profile menu
menu items: serif 17px

logout: serif 17px

Profile
buttons: 18px

Sheets-collections-comments menu: 20px

This should be a good start, but the modifications related to the localization has broken everything and we have lots of strings where webfont is not applied.
some examples:

the bo string is lost


[Bug] Stateless Programmable Switch IKEA Somrig incorrect action mapping

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
I have an IKEA SOMRIG shortcut button connected to zigbee2mqtt
https://www.zigbee2mqtt.io/devices/E2213.html
The mapping of the actions to buttons is incorrect. Every time the button is used 1_initial_press is sent. The sequence of actions is as follows:
Short Press:
1_initial_press > 1_short_release
Long Press:
1_initial_press > 1_long_press > 1_long_release
Double Press:
1_initial_press > 1_double_press
This should be changed to
Short Press: 1_short_release
Long Press: 1_long_press
Double Press: 1_double_press
Related devices
No response
Related Devices
No response
Steps To Reproduce
No response
Expected behavior
No response
Device entry
No response
Status update
No response
Messages from this plugin
No response
This plugin
v1.11.0-beta.6 & v1.9.3
Homebridge
v1.8.4
Zigbee2MQTT
1.40.1
Homebridge Config UI X (if applicable)
v4.58.0

Can you share the JSON exposes information for this device and the log entry that shows the mapping on start up of Homebridge?


implement "unified" list-element-view

When working with the list feature, it is annoying to copy-paste the same version of the index.html.template over all folders each time.
One solution for this would be to have a list,html.template and a element.html.template. The index.yamls could be moved one level up (to the same location as the aforementioned *.html.templates) when they are renamed to their previously containing folder name plus file-ending.

Moved to / tracked in #8.


Improve minor syntax

Summary
After #20357, reading testing-library-with-visual-studio, and some C# docs,
I realized that I made a mistake in my previous pull request.
Now I know that most people and also docs prefer starting with a lower case for variables and with an upper case for classes.
So I fixed it again including UnitTest1.cs.
Sorry to confuse.

A common preference is to use language keywords when they are available, as your previous PR did.  I think we're fine with the previous changes.

I have read these documents:
Types (C# Programming Guide)
Strings (C# Programming Guide)
Why is “string” considered a simplified version of “String”?

There's no right or wrong answer here, but my preference is to keep the language keywords.

Thanks for the advice.


Implement strict resource binding in the Hub

Gin exposes an option in the JSON decoder to error on unknown fields, but does not expose the equivalent option in the YAML decoder. This is unfortunate because we would like to reject user-created questionnaires with misspelled fields as a usability affordance. To resolve this, we should cease delegating the resource binding and validation to Gin and do it ourselves inside of the BaseHandler.Bind method.

Closed by #476


full_like to full decomposition moving to decomposition.py for dynami…

@apbose do you have a test case?

@apbose I see your comment : https://github.com/pytorch/TensorRT/issues/3140#issuecomment-2463481654. Can you provide more context on why this change is required ?

@narendasan the test case already exists in https://github.com/pytorch/TensorRT/blob/main/tests/py/dynamo/lowering/test_decompositions.py#L424

@peri044 I removed the replace_full_like_to_full  and instead moved it to the _decompositions.py. In the dynamic case,  full op tries to get the meta data from the full_like input tensor meta data, but since the shape of the input tensor is dynamic, it gets undefined shape in the graph and the forward function complains. This is the graph node it gets lowered to from the full_like node input shape
 full_default = torch.ops.aten.full.default([s0, 1, s2], 1, pin_memory = False, device = device(type='cuda', index=0), dtype = torch.float32) where s0 and s2 are undefined. Whereas now by making it a lowered op in whole, the graph has
%sym_size_int_11 : [num_users=10] = call_function[target=torch.ops.aten.sym_size.int](args = (%args0, 0), kwargs = {})
 %sym_size_int_12 : [num_users=11] = call_function[target=torch.ops.aten.sym_size.int](args = (%args1, 1), kwargs = {})

%full : [num_users=1] = call_function[target=torch.ops.aten.full.default](args = ([%sym_size_int_11, 1, %sym_size_int_12], 1), kwargs = {dtype: torch.float32, device: cuda:0, pin_memory: False})

Oh the PR now is failing since the graph post lowering is an empty one
the graph now is==== graph():
    %arg0_1 : [num_users=0] = placeholder[target=arg0_1]
    %_frozen_param0 : [num_users=1] = get_attr[target=_frozen_param0]
    return (_frozen_param0,)

Modifying the test now to make it non empty


chore: consolidate registering operators

what

consolidate initialization of operators in one file

why

coherency: transformations, actions, etc. use the same pattern

So then the pattern to follow is the other way around? Can you follow up with a PR on what you need for consistency?

@anuraaga BTW, is this knowledge documented somewhere?

I wasn't saying your comments were annoying. And of course, I never implied you were annoying. Never did, and never will, with any contributor in any of the projects I've been and will be.
I was saying, for the sake of others that will do work in this next, if those design decisions can be documented somewhere where they can be found.
You did take the approach you did, and it was totally fine... but others didn't knew. That's what I said.

If it wasn't annoying that's good - I get a bit anxious leaving comments since I've been on projects where other members blocked progress without actually contributing, making problems. The reality is I haven't had much time or enthusiasm for the project to be able to contribute meaningfully so it's time to step away. It's good to see some development happening again so will be nice to see what comes.

@anuraaga it is sad to see you leave but your outstanding contributions will keep you in the core of coraza. I hope to cross paths soon as working with you was amazing.


LUCENE-10096: Tamil Analyzer

Add Tamil analyzer based on snowball stemmer and TamilNLP stopwords

Thanks @rmuir! The change looks great to me, but I do not speak nor read Tamil :)
The TamilNLP stop words were reasonably licensed?

yes apache 2. see https://github.com/AshokR/TamilNLP


feat: weaken assumptions in lemmas about fderivWithin

This is a partial forward-port of leanprover-community/mathlib#19045.
I only forward-ported 1 file that was already merged into
master. I'll do some git history rewrites in pending PRs instead.

Files Order.Filter.Basic and Topology.ContinuousOn are a part of the dependency.

[ ] depends on: #4327

This PR/issue depends on:

leanprover-community/mathlib4#4327
By Dependent Issues (🤖). Happy coding!

bors merge


xplat: wrap missed direct entryPoint calls

For cross-platform we need to wrap direct entryPoint (JavascriptMethod)
calls with CALL_ENTRYPOINT or CALL_FUNCTION.
Apply the change to previously missed direct entryPoint calls.

@digitalinfinity Please review. Fix in master, not waiting for next linux merge.

@dotnet-bot test this please

:shipit:


Implement replication between different buckets and within the same bucket

This PR is dependent on https://github.com/opensds/opensds-dashboard/issues/219
change:
1.Copy between different buckets；
2.Copy in the same bucket
@anvithks @wisererik Please check whether it can be merged.

@yuejuSDS @jimccfun Please attach screenshots for the screens that are implemented.

@jimccfun Please rebase your code and make the changes please.
the list of objects had to be changed as the backend response is different now.

@anvithks Ithink I needn't to make the change in this PR ,because the changes for list of objects will be refresh in the PR ab

Please rebase your branch and push your changes.
@yuejuSDS @jimccfun


Improvements in Dockerfile and corrections in makefile

Improvements and corrections

Removed openssl-dev as it was causing dependency related issues and the image build process kept failing.

Splitted a single shell command into multiple RUN operations to utilize container based caching.

-march=native can generate code that may not run on processors of any other cpu-type. This was causing issues in our project where the project was built on a different machine and deployed on a different machine. blaze kept crashing with illegal instruction errors.
This has been fixed by replacing -march=native with a more considerate alternative -mtune=alternative which will not use instructions that are not supported all cpu-types.

Great! I've left a few suggested changes which I had to perform to get the Dockerfile to build properly. Can you verify them? Otherwise I've tested the PR and it works fine still so it looks good to me!

@vktr Both suggestions have been accepted in 91a22b0. Thank you so much for taking the time to review my PR. :)

It is I who should thank you! 😄 Thanks for the effort!


feat(storage): small optimization in InsertObject()

Optimize the common case when creating valid MIME separators for JSON multipart uploads.

This change is

Closing for now, I need to redo this.


Specific section of the search word for the Search Description

Im using Live Mode, is there a way that i can only show the specific section where the word occurs which can include word before the search word and the word after the search word. Hope you can help me in this matter.

You can't, I'm afraid. This is coming in the next release, probably around late spring/early summer.

Thank you very much.. Looking forward on the next update.

Note: This has been fixed in Pull Request #39.


"Test" button when configuring a monitor

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
Fixes #2725
Implemented the test button functionality based on previous logic.
Type of change
Please delete any options that are not relevant.

User interface (UI)
New feature (non-breaking change which adds functionality)

Checklist

[ ] My code follows the style guidelines of this project
[ ] I ran ESLint and other linters for modified files
[ ] I have performed a self-review of my own code and tested it
[ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[ ] My changes generate no new warnings

Screenshots (if any)
https://user-images.githubusercontent.com/1501599/221173846-dc8778f0-998b-4a4b-8755-53d6f12e046d.mp4

Doing it this way is terrible for maintainability. It would also lead to weird bugs if future changes to the monitor forgot to modify either part of the code.

@chakflying  We know that it is duplication of code and is hard to maintain. That is why we started it as a Draft because this was the most straightforward way to avoid modification of already implemented methods and just add new code.
To avoid duplication maybe there could two possible ways:

To extract the beat function and use the same function in both start() and test() methods. Using this way, we should pass a flag to indicate whether we are testing a monitor or starting it. Starting a monitor change some values in the database but for testing it is not needed. So ,the flag will be used for this purpose.
The second way is to extract the whole logic from Monitor and put it within a function. The function will take monitor as its param then return the monitor status.

Regardless of code duplication, the UI/UX is correct.
My sudden idea on how to be "less scary" and without moving large part of existing code:

class Monitor extends BeanModel {

   ...

    test(io) {
         this.start(io, true)
    }

    start(io, dryRun = false) {
        ....

        // If dryRun, do not create a interval, do not insert into database

        // For example:
       if (!dryRun) {
            await R.store(bean);
        }

        ...
    }

    ...
}

By adding a dryRun parameter in start, we can determine which operations should be used for Test button inside start().
In this way, I think it won't touch too many things and it won't have a large code conflict with other pull requests.

There shouldn't be these much file changes, that's weird. 🧐

Well... I think you used git square merge from my master branch to your branch.
If you didn't write new code in 2nd/3rd commits here.

RED for fail and green for OK ? not ?

Well... I think you used git square merge from my master branch to your branch.
If you didn't write new code in 2nd/3rd commits here.

It looks like the branch was messed up, feel free to re-create a new pull request for that.


DEBIAN_VERSION check is incorrect, results in uninstallable package on bullseye

https://github.com/horsicq/build_tools/blob/859f7e5acf346b785a711d58d0d20f5956277ed5/linux.sh#L43
$ cat /etc/debian_version
11.2

And then because it defaults to overriding to X_DEBIAN_VERSION=5, then
https://github.com/horsicq/XELFViewer/blob/2e2dc63f1eeba94d97a72da75c7c3cc3ecba09cd/build_dpkg.sh#L29-L33
results in a qt5-defaults dependency that isn't satisfiable on bullseye.
Perhaps
 X_DEBIAN_VERSION=$(cat /etc/debian_version | awk -F'.' '{ print $1 }')
might do better?

Thank a lot. It is really good catch. I will fix it ASAP.

Fixed: https://github.com/horsicq/build_tools/commit/d6164f972d0ffcf5d0605c22c84f58a01185d09c


merge

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

Closing for now. Feel free to reopen with more information.


improve default metadata color

We can't actually tell if an SVG shape is going to be a Face of Wire based only on whether it is has a fill color.
So we keep track of both fill and stroke colors until after the shape processing.

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (7c7cc3e) 98.95% compared to head (0b494b7) 98.96%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
+ Coverage   98.95%   98.96%   +0.01%
==========================================
  Files           8        8
  Lines        1050     1065      +15
==========================================
+ Hits         1039     1054      +15
  Misses         11       11

Files
Coverage Δ

tests/test_svg.py
100.00% <100.00%> (ø)

ocpsvg/svg.py
98.18% <86.66%> (+0.04%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Copy development dependencies from corresponding image

This should fix problems with pinocchio that we have downstream in the controllers. Now that we have 20.04 and 22.04 development images on control libraries, we can copy the /usr/local directory from the corresponding image (galactic is 20.04 and humble 22.04).
One point to think about: Currently we have
if [[ "${BASE_TAG}" == *"galactic"* ]]; then
  UBUNTU_VERSION=bionic-beaver
else
  UBUNTU_VERSION=jammy-jellyfish
fi

so any tag that doesn't contain 'galactic' will be considered as a humble/22.04 image. Maybe we have to make sure that the tags actually contain either galactic or humble? To be extra safe.

We can also create an issue or similar to not forget that we have to think about this again before releases to main..

20.04 is focal fossa. 18 was bionic.

Ah yeah haha true

Happy to let you know that this now fixes the problem with the version of the boost filesystem library with local builds of the images.


RPlidar A1M8 Firmware Update

Hi,
I have 2 lidar and one lidar's firmware is 1.28 and another lidar's firmware is 1.27. I want to lidars' firmware update to newest version. But i can not find anywhere how can i update.
Can you help me for firmware update?

yes i would like this too.  Does @tony-slamtec or anyone else actively support this sdk or product?

same problem, the newest firmware is no longer available on their website


doc: available list of first class ports

(Possibly very minor issue, but might be worth to clarify, because go supports such a wide range of os/arch pairs.)
I use these sources (I could find these easily):

https://github.com/golang/go/wiki/PortingPolicy

https://golang.org/doc/install

https://golang.org/dl/

https://build.golang.org

defines these easily available requirements for identification:

- "Official binaries are provided" and
- "Installation is documented at http://golang.org/doc/install"
Looking at https://golang.org/dl/  ∩  http://golang.org/doc/install :
freebsd/386 is missing from installation documentation (System requirements)
If it's "easy", this is probably also worth to clarify:
Looking at https://golang.org/dl/  ∩  http://golang.org/doc/install ∩ https://build.golang.org :
build.golang.org lists these as first class ports, not mentioned in the canonical source of lists:
darwin/arm
darwin/arm64
darwin/386
freebsd/arm
freebsd/386
linux/mips64le
linux/ppc64
linux/ppc64le
android/arm

Let's track it over at #17018. Sorry to dup an older bug with a newer one.


Pong sample broken.

With the recent API changes regarding collision messaging, the pong sample found in demos/pong/ is broken.

Fixed in b9db4706d8f1f9b89692cff5fcbe3983e3b65a08


Intermediate information printing

Need to print intermediate information for cnn and cifar_distributed_cnn examples since it may take quite long for large models to finish one epoch of training

in https://github.com/apache/singa/blob/dev/examples/cnn/train_cnn.py, enable line 203-205 for printing the existing batch number

enable line 227 to 229 in https://github.com/apache/singa/blob/dev/examples/cifar_distributed_cnn/train_cnn.py

resolved


Create a configuration for the client

What's needed?
The client should have a TOML configuration that should include the following fields:

PAGE_SIZE = 20

Proposed solution
No response
Use cases
No response
Alternatives and workarounds
No response
Additional context
No response

No, that would make it hard for users of the client.  Only apps should have config files and the clients should define all configurable parameters as arguments that apps can override.

No, that would make it hard for users of the client. Only apps should have config files and the clients should define all configurable parameters as arguments that apps can override.

Then would about @cwasicki 's comment here?: https://github.com/frequenz-floss/frequenz-api-weather/pull/89#discussion_r1556216728

We do not need this anymore.