husky - .git can't be found (see https://typicode.github.io/husky/#/?id=custom-directory)

I'm trying to run the "npm i" command and i am prompted with the below error
nitin@DESKTOP-2IDUI08:~/amazon-mwaa-examples/usecases/start-stop-mwaa-environment$ npm i

><EMAIL_ADDRESS>postinstall
> (cd lib/lambda && npm install) && husky install

up to date, audited 90 packages in 600ms

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
husky - .git can't be found (see https://typicode.github.io/husky/#/?id=custom-directory)
npm ERR! code 1
npm ERR! path /home/nitin/amazon-mwaa-examples/usecases/start-stop-mwaa-environment
npm ERR! command failed
npm ERR! command sh -c (cd lib/lambda && npm install) && husky install

npm ERR! A complete log of this run can be found in: /home/nitin/.npm/_logs/2023-09-05T12_59_24_077Z-debug-0.log

Surprisingly! The CDK deployment was successful despite of some of the test suits have failed while running the "npm test" command.
the error log is attached below
 FAIL  lib/lambda/mwaa-status-poller.test.ts
  ● Test suite failed to run

    lib/lambda/mwaa-status-poller.test.ts:33:41 - error TS2345: Argument of type 'MWAAClient' is not assignable
 to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.
      Type 'MWAAClient' is not assignable to type 'Client<ServiceInputTypes, MetadataBearer, any>'.
        The types of 'middlewareStack.concat' are incompatible between these types.
          Type '<InputType extends ServiceInputTypes, OutputType extends ServiceOutputTypes>(from: MiddlewareSt
ack<InputType, OutputType>) => MiddlewareStack<...>' is not assignable to type '<InputType extends ServiceInput
Types, OutputType extends MetadataBearer>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<Inpu
tType, OutputType>'.
            Types of parameters 'from' and 'from' are incompatible.
              Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<InputTyp
e, ServiceOutputTypes>'.
                Types of property 'addRelativeTo' are incompatible.
                  Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOptions)
 => void' is not assignable to type '(middleware: MiddlewareType<InputType, ServiceOutputTypes>, options: Relat
iveMiddlewareOptions) => void'.
                    Types of parameters 'middleware' and 'middleware' are incompatible.
                      Type 'MiddlewareType<InputType, ServiceOutputTypes>' is not assignable to type 'Middlewar
eType<InputType, OutputType>'.
                        Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type 'M
iddlewareType<InputType, OutputType>'.
                          Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type
'InitializeMiddleware<InputType, OutputType>'.
                            Call signature return types 'InitializeHandler<InputType, ServiceOutputTypes>' and
'InitializeHandler<InputType, OutputType>' are incompatible.
                              Type 'Promise<InitializeHandlerOutput<ServiceOutputTypes>>' is not assignable to
type 'Promise<InitializeHandlerOutput<OutputType>>'.
                                Type 'InitializeHandlerOutput<ServiceOutputTypes>' is not assignable to type 'I
nitializeHandlerOutput<OutputType>'.
                                  Types of property 'output' are incompatible.
                                    Type 'ServiceOutputTypes' is not assignable to type 'OutputType'.
                                      'ServiceOutputTypes' is assignable to the constraint of type 'OutputType'
, but 'OutputType' could be instantiated with a different subtype of constraint 'MetadataBearer'.
                                        Type 'CreateCliTokenCommandOutput' is not assignable to type 'OutputTyp
e'.
                                          'CreateCliTokenCommandOutput' is assignable to the constraint of type
 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'MetadataBearer'.

    33       const mwaaClientMock = mockClient(mwaaClient);
                                               ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:35:9 - error TS2345: Argument of type '{ Environment: { Status: strin
g; }; }' is not assignable to parameter of type 'CommandResponse<MetadataBearer>'.
      Object literal may only specify known properties, and 'Environment' does not exist in type 'CommandRespon
se<MetadataBearer>'.

    35         Environment: {
               ~~~~~~~~~~~~~~
    36           Status: 'AVAILABLE',
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    37         },
       ~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:48:41 - error TS2345: Argument of type 'MWAAClient' is not assignable
 to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    48       const mwaaClientMock = mockClient(mwaaClient);
                                               ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:50:9 - error TS2345: Argument of type '{ Environment: { Status: strin
g; }; }' is not assignable to parameter of type 'CommandResponse<MetadataBearer>'.
      Object literal may only specify known properties, and 'Environment' does not exist in type 'CommandRespon
se<MetadataBearer>'.

    50         Environment: {
               ~~~~~~~~~~~~~~
    51           Status: 'CREATING',
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    52         },
       ~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:63:41 - error TS2345: Argument of type 'MWAAClient' is not assignable
 to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    63       const mwaaClientMock = mockClient(mwaaClient);
                                               ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:74:41 - error TS2345: Argument of type 'MWAAClient' is not assignable
 to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    74       const mwaaClientMock = mockClient(mwaaClient);
                                               ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:87:41 - error TS2345: Argument of type 'MWAAClient' is not assignable
 to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    87       const mwaaClientMock = mockClient(mwaaClient);
                                               ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:102:41 - error TS2345: Argument of type 'MWAAClient' is not assignabl
e to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    102       const mwaaClientMock = mockClient(mwaaClient);
                                                ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:104:9 - error TS2345: Argument of type '{ Environment: { Status: stri
ng; }; }' is not assignable to parameter of type 'CommandResponse<MetadataBearer>'.
      Object literal may only specify known properties, and 'Environment' does not exist in type 'CommandRespon
se<MetadataBearer>'.

    104         Environment: {
                ~~~~~~~~~~~~~~
    105           Status: 'DELETED',
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    106         },
        ~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:117:41 - error TS2345: Argument of type 'MWAAClient' is not assignabl
e to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    117       const mwaaClientMock = mockClient(mwaaClient);
                                                ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:119:9 - error TS2345: Argument of type '{ Environment: { Status: stri
ng; }; }' is not assignable to parameter of type 'CommandResponse<MetadataBearer>'.
      Object literal may only specify known properties, and 'Environment' does not exist in type 'CommandRespon
se<MetadataBearer>'.

    119         Environment: {
                ~~~~~~~~~~~~~~
    120           Status: 'AVAILABLE',
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    121         },
        ~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:132:41 - error TS2345: Argument of type 'MWAAClient' is not assignabl
e to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    132       const mwaaClientMock = mockClient(mwaaClient);
                                                ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:143:41 - error TS2345: Argument of type 'MWAAClient' is not assignabl
e to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    143       const mwaaClientMock = mockClient(mwaaClient);
                                                ~~~~~~~~~~
    lib/lambda/mwaa-status-poller.test.ts:156:41 - error TS2345: Argument of type 'MWAAClient' is not assignabl
e to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    156       const mwaaClientMock = mockClient(mwaaClient);
                                                ~~~~~~~~~~

  751.1kb2116f70b352f89c26a6269ccf1564e7343602a24a7b9a74d3f2\index.js
  ...2116f70b352f89c26a6269ccf1564e7343602a24a7b9a74d3f2\index.js.map    1.4mb

Done in 416ms

...7e8e1d06e543bc54c0369252189ace173091346061b7070fa7303ec\index.js  751.1kb
  ...1d06e543bc54c0369252189ace173091346061b7070fa7303ec\index.js.map    1.4mb

Done in 498ms
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...

  751.1kb6612f946fc3e6a2f5eb2d66ff30fe390b85fa298f2824109e5e\index.js
  ...6612f946fc3e6a2f5eb2d66ff30fe390b85fa298f2824109e5e\index.js.map    1.4mb

Done in 595ms
 FAIL  lib/lambda/mwaa-new-environment-function.test.ts
  ● Test suite failed to run

    lib/lambda/mwaa-new-environment-function.test.ts:23:29 - error TS2344: Type 'MWAAClient' does not satisfy t
he constraint 'Client<any, any, any>'.
      The types of 'middlewareStack.concat' are incompatible between these types.
        Type '<InputType extends ServiceInputTypes, OutputType extends ServiceOutputTypes>(from: MiddlewareStac
k<InputType, OutputType>) => MiddlewareStack<...>' is not assignable to type '<InputType extends any, OutputTyp
e extends any>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<InputType, OutputType>'.
          Types of parameters 'from' and 'from' are incompatible.
            Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<InputType,
 ServiceOutputTypes>'.
              Types of property 'addRelativeTo' are incompatible.
                Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOptions) =
> void' is not assignable to type '(middleware: MiddlewareType<InputType, ServiceOutputTypes>, options: Relativ
eMiddlewareOptions) => void'.
                  Types of parameters 'middleware' and 'middleware' are incompatible.
                    Type 'MiddlewareType<InputType, ServiceOutputTypes>' is not assignable to type 'MiddlewareT
ype<InputType, OutputType>'.
                      Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type 'Mid
dlewareType<InputType, OutputType>'.
                        Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type 'I
nitializeMiddleware<InputType, OutputType>'.
                          Call signature return types 'InitializeHandler<InputType, ServiceOutputTypes>' and 'I
nitializeHandler<InputType, OutputType>' are incompatible.
                            Type 'Promise<InitializeHandlerOutput<ServiceOutputTypes>>' is not assignable to ty
pe 'Promise<InitializeHandlerOutput<OutputType>>'.
                              Type 'InitializeHandlerOutput<ServiceOutputTypes>' is not assignable to type 'Ini
tializeHandlerOutput<OutputType>'.
                                Types of property 'output' are incompatible.
                                  Type 'ServiceOutputTypes' is not assignable to type 'OutputType'.
                                    'ServiceOutputTypes' is assignable to the constraint of type 'OutputType',
but 'OutputType' could be instantiated with a different subtype of constraint 'any'.
                                      Type 'CreateCliTokenCommandOutput' is not assignable to type 'OutputType'
.
                                        'CreateCliTokenCommandOutput' is assignable to the constraint of type '
OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'any'.

    23 let mwaaMock: AwsClientStub<MWAAClient>;
                                   ~~~~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:27:5 - error TS2322: Type 'AwsStub<ServiceInputTypes, Meta
dataBearer>' is not assignable to type 'never'.

    27     mwaaMock = mockClient(MWAAClient);
           ~~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:27:27 - error TS2345: Argument of type 'typeof MWAAClient'
 is not assignable to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.
      Type 'typeof MWAAClient' is not assignable to type 'ClassType<Client<ServiceInputTypes, MetadataBearer, a
ny>>'.
        Types of property 'prototype' are incompatible.
          Type 'MWAAClient' is not assignable to type 'Client<ServiceInputTypes, MetadataBearer, any>'.

    27     mwaaMock = mockClient(MWAAClient);
                                 ~~~~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:31:14 - error TS2339: Property 'restore' does not exist on
 type 'never'.

    31     mwaaMock.restore();
                    ~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:35:14 - error TS2339: Property 'on' does not exist on type
 'never'.

    35     mwaaMock.on(CreateEnvironmentCommand).resolves({ Arn: 'my-env-arn' });
                    ~~
    lib/lambda/mwaa-new-environment-function.test.ts:48:44 - error TS2345: Argument of type 'typeof CreateEnvir
onmentCommand' is not assignable to parameter of type 'new (input: CreateEnvironmentCommandInput) => AwsCommand
<CreateEnvironmentCommandInput, MetadataBearer, any, any>'.
      Types of construct signatures are incompatible.
        Type 'new (input: CreateEnvironmentCommandInput) => CreateEnvironmentCommand' is not assignable to type
 'new (input: CreateEnvironmentCommandInput) => AwsCommand<CreateEnvironmentCommandInput, MetadataBearer, any,
any>'.
          Construct signature return types 'CreateEnvironmentCommand' and 'AwsCommand<CreateEnvironmentCommandI
nput, MetadataBearer, any, any>' are incompatible.
            The types of 'middlewareStack.concat' are incompatible between these types.
              Type '<InputType extends CreateEnvironmentCommandInput, OutputType extends CreateEnvironmentComma
ndOutput>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<...>' is not assignable to type '<In
putType extends CreateEnvironmentCommandInput, OutputType extends MetadataBearer>(from: MiddlewareStack<InputTy
pe, OutputType>) => MiddlewareStack<...>'.
                Types of parameters 'from' and 'from' are incompatible.
                  Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<Inpu
tType, CreateEnvironmentCommandOutput>'.
                    Types of property 'addRelativeTo' are incompatible.
                      Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOpti
ons) => void' is not assignable to type '(middleware: MiddlewareType<InputType, CreateEnvironmentCommandOutput>
, options: RelativeMiddlewareOptions) => void'.
                        Types of parameters 'middleware' and 'middleware' are incompatible.
                          Type 'MiddlewareType<InputType, CreateEnvironmentCommandOutput>' is not assignable to
 type 'MiddlewareType<InputType, OutputType>'.
                            Type 'InitializeMiddleware<InputType, CreateEnvironmentCommandOutput>' is not assig
nable to type 'MiddlewareType<InputType, OutputType>'.

                                Call signature return types 'InitializeHandler<InputType, CreateEnvironmentComm
andOutput>' and 'InitializeHandler<InputType, OutputType>' are incompatible.
                                  Type 'Promise<InitializeHandlerOutput<CreateEnvironmentCommandOutput>>' is no
t assignable to type 'Promise<InitializeHandlerOutput<OutputType>>'.
                                    Type 'InitializeHandlerOutput<CreateEnvironmentCommandOutput>' is not assig
nable to type 'InitializeHandlerOutput<OutputType>'.
                                      Types of property 'output' are incompatible.
                                        Type 'CreateEnvironmentCommandOutput' is not assignable to type 'Output
Type'.
                                          'CreateEnvironmentCommandOutput' is assignable to the constraint of t
ype 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'MetadataBearer
'.

    48     expect(mwaaMock).toHaveReceivedCommand(CreateEnvironmentCommand);
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:53:14 - error TS2339: Property 'on' does not exist on type
 'never'.

    53     mwaaMock.on(CreateEnvironmentCommand).resolves({ Arn: 'my-env-arn' });
                    ~~
    lib/lambda/mwaa-new-environment-function.test.ts:66:44 - error TS2345: Argument of type 'typeof CreateEnvir
onmentCommand' is not assignable to parameter of type 'new (input: CreateEnvironmentCommandInput) => AwsCommand
<CreateEnvironmentCommandInput, MetadataBearer, any, any>'.

    66     expect(mwaaMock).toHaveReceivedCommand(CreateEnvironmentCommand);
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~
    lib/lambda/mwaa-new-environment-function.test.ts:71:14 - error TS2339: Property 'on' does not exist on type
 'never'.

    71     mwaaMock.on(CreateEnvironmentCommand).resolves({ Arn: 'my-env-arn' });
                    ~~
    lib/lambda/mwaa-new-environment-function.test.ts:83:44 - error TS2345: Argument of type 'typeof CreateEnvir
onmentCommand' is not assignable to parameter of type 'new (input: CreateEnvironmentCommandInput) => AwsCommand
<CreateEnvironmentCommandInput, MetadataBearer, any, any>'.

    83     expect(mwaaMock).toHaveReceivedCommand(CreateEnvironmentCommand);
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~

index.js  751.1kba054fefd21e607937ea05e4a747d9332fde7ae9e27b\
  ...65a65c13a054fefd21e607937ea05e4a747d9332fde7ae9e27b\index.js.map    1.4mb

Done in 826ms

  ...3bfa0d44d2ded8898c8cd3b5072331489d93f5f6b6310a52effd6e5\index.js  751.1kb
  ...0d44d2ded8898c8cd3b5072331489d93f5f6b6310a52effd6e5\index.js.map    1.4mb

Done in 693ms

751.1kbba9ad7dc1df6a71b563b9d8398c3d9db20ab4ef86dc0e1ff8a4a0\index.js
  ...9ad7dc1df6a71b563b9d8398c3d9db20ab4ef86dc0e1ff8a4a0\index.js.map    1.4mb

Done in 641ms
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...
Bundling asset mwaa-main-stack/mwaa-polling-stack/mwaa-polling-polling-fn/Code/Stage...
 FAIL  lib/lambda/dags-cli.test.ts
  ● Test suite failed to run

    lib/lambda/dags-cli.test.ts:24:29 - error TS2344: Type 'MWAAClient' does not satisfy the constraint 'Client
<any, any, any>'.

    24 let mwaaMock: AwsClientStub<MWAAClient>;
                                   ~~~~~~~~~~
    lib/lambda/dags-cli.test.ts:49:7 - error TS2322: Type 'AwsStub<ServiceInputTypes, MetadataBearer>' is not a
ssignable to type 'never'.

    49       mwaaMock = mockClient(MWAAClient);
             ~~~~~~~~
    lib/lambda/dags-cli.test.ts:49:29 - error TS2345: Argument of type 'typeof MWAAClient' is not assignable to
 parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, any>>'.

    49       mwaaMock = mockClient(MWAAClient);
                                   ~~~~~~~~~~
    lib/lambda/dags-cli.test.ts:50:16 - error TS2339: Property 'on' does not exist on type 'never'.

    50       mwaaMock.on(CreateCliTokenCommand).resolves(token);
                      ~~
    lib/lambda/dags-cli.test.ts:54:16 - error TS2339: Property 'restore' does not exist on type 'never'.

    54       mwaaMock.restore();
                      ~~~~~~~
    lib/lambda/dags-cli.test.ts:75:48 - error TS2345: Argument of type 'typeof CreateCliTokenCommand' is not as
signable to parameter of type 'new (input: CreateCliTokenCommandInput) => AwsCommand<CreateCliTokenCommandInput
, MetadataBearer, any, any>'.
      Types of construct signatures are incompatible.
        Type 'new (input: CreateCliTokenCommandInput) => CreateCliTokenCommand' is not assignable to type 'new
(input: CreateCliTokenCommandInput) => AwsCommand<CreateCliTokenCommandInput, MetadataBearer, any, any>'.
          Construct signature return types 'CreateCliTokenCommand' and 'AwsCommand<CreateCliTokenCommandInput,
MetadataBearer, any, any>' are incompatible.
            The types of 'middlewareStack.concat' are incompatible between these types.
              Type '<InputType extends CreateCliTokenCommandInput, OutputType extends CreateCliTokenCommandOutp
ut>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<...>' is not assignable to type '<InputTyp
e extends CreateCliTokenCommandInput, OutputType extends MetadataBearer>(from: MiddlewareStack<InputType, Outpu
tType>) => MiddlewareStack<...>'.
                Types of parameters 'from' and 'from' are incompatible.
                  Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<Inpu
tType, CreateCliTokenCommandOutput>'.
                    Types of property 'addRelativeTo' are incompatible.
                      Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOpti
ons) => void' is not assignable to type '(middleware: MiddlewareType<InputType, CreateCliTokenCommandOutput>, o
ptions: RelativeMiddlewareOptions) => void'.
                        Types of parameters 'middleware' and 'middleware' are incompatible.
                          Type 'MiddlewareType<InputType, CreateCliTokenCommandOutput>' is not assignable to ty
pe 'MiddlewareType<InputType, OutputType>'.
                            Type 'InitializeMiddleware<InputType, CreateCliTokenCommandOutput>' is not assignab
le to type 'MiddlewareType<InputType, OutputType>'.
                              Type 'InitializeMiddleware<InputType, CreateCliTokenCommandOutput>' is not assign
able to type 'InitializeMiddleware<InputType, OutputType>'.
                                Call signature return types 'InitializeHandler<InputType, CreateCliTokenCommand
Output>' and 'InitializeHandler<InputType, OutputType>' are incompatible.
                                  Type 'Promise<InitializeHandlerOutput<CreateCliTokenCommandOutput>>' is not a
ssignable to type 'Promise<InitializeHandlerOutput<OutputType>>'.
                                    Type 'InitializeHandlerOutput<CreateCliTokenCommandOutput>' is not assignab
le to type 'InitializeHandlerOutput<OutputType>'.
                                      Types of property 'output' are incompatible.
                                        Type 'CreateCliTokenCommandOutput' is not assignable to type 'OutputTyp
e'.
                                          'CreateCliTokenCommandOutput' is assignable to the constraint of type
 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'MetadataBearer'.

    75         expect(mwaaMock).toHaveReceivedCommand(CreateCliTokenCommand);
                                                      ~~~~~~~~~~~~~~~~~~~~~
    lib/lambda/dags-cli.test.ts:85:53 - error TS2345: Argument of type 'typeof CreateCliTokenCommand' is not as
signable to parameter of type 'new (input: CreateCliTokenCommandInput) => AwsCommand<CreateCliTokenCommandInput
, MetadataBearer, any, any>'.
      Types of construct signatures are incompatible.
        Type 'new (input: CreateCliTokenCommandInput) => CreateCliTokenCommand' is not assignable to type 'new
(input: CreateCliTokenCommandInput) => AwsCommand<CreateCliTokenCommandInput, MetadataBearer, any, any>'.
          Type 'CreateCliTokenCommand' is not assignable to type 'AwsCommand<CreateCliTokenCommandInput, Metada
taBearer, any, any>'.

    85         expect(mwaaMock).toHaveReceivedCommandTimes(CreateCliTokenCommand, 1);
                                                           ~~~~~~~~~~~~~~~~~~~~~

index.js  384.8kb27b2213755c3705b8200742b12aca8e2315aeef9d35\
  ...795a606727b2213755c3705b8200742b12aca8e2315aeef9d35\index.js.map  800.3kb

I had the same error and after investigating a little, it seems like husky install command must be run from the same directory where .git folder is.
So in order to do that, i changed postinstall key in package.json file like this:
  "scripts": {
    "postinstall": "(cd lib/lambda && npm install) && (cd ../../../.. && husky install usecases/start-stop-mwaa-environment/lib/lambda)"
  }

It works for me, but again, i dont know if it is the right way to do it!

Any Idea on why some of this test suits are failing???
-----------------------------------|---------|----------|---------|---------|-------------------
File                               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------------------|---------|----------|---------|---------|-------------------
All files                          |   81.91 |    48.07 |   84.84 |    82.4 |
 commons                           |     100 |      100 |     100 |     100 |
  config.ts                        |     100 |      100 |     100 |     100 |
  prepare-test-environment.ts      |     100 |      100 |     100 |     100 |
 infrastructure                    |   96.29 |       75 |   95.55 |   97.19 |
  mwaa-base-stack.ts               |     100 |      100 |     100 |     100 |
  mwaa-common-stack.ts             |     100 |      100 |     100 |     100 |
  mwaa-main-stack.ts               |   83.67 |       50 |   77.77 |   87.23 | 82-97
  mwaa-notification-stack.ts       |     100 |      100 |     100 |     100 |
  mwaa-pause-resume-base-stack.ts  |     100 |      100 |     100 |     100 |
  mwaa-pausing-stack.ts            |     100 |      100 |     100 |     100 |
  mwaa-polling-stack.ts            |     100 |      100 |     100 |     100 |
  mwaa-resuming-stack.ts           |     100 |      100 |     100 |     100 |
 lambda                            |   39.58 |    25.71 |   33.33 |   37.36 |
  dags-cli.ts                      |   16.12 |     8.33 |      20 |   13.33 | 32-81
  dags-trigger-function.ts         |     100 |      100 |     100 |     100 |
  mwaa-new-environment-function.ts |       0 |        0 |       0 |       0 | 18-37
  mwaa-status-poller-function.ts   |     100 |      100 |     100 |     100 |
  mwaa-status-poller.ts            |      24 |     7.69 |   33.33 |   20.83 | 31-62
-----------------------------------|---------|----------|---------|---------|-------------------

Test Suites: 3 failed, 10 passed, 13 total
Tests:       20 passed, 20 total
Snapshots:   0 total
Time:        31.492 s

I had the same error and after investigating a little, it seems like husky install command must be run from the same directory where .git folder is.
So in order to do that, i changed postinstall key in package.json file like this:
  "scripts": {
    "postinstall": "(cd lib/lambda && npm install) && (cd ../../../.. && husky install usecases/start-stop-mwaa-environment/lib/lambda)"
  }

It works for me, but again, i dont know if it is the right way to do it!

thanks, it did help my installation.
It seems that the "start-stop-mwaa" was developed in a separated git repository, and only copied to this one. The real developers didn't really look here.

Fixed in #57. Closing the issue.


[refactor 🕎] react tutorial docs update 🔗 (#901)

Fixed issue (#901 )

Fixed by https://github.com/denoland/docs/pull/907


Appears to be an issue with the scrolling in the left pane

When I view the template from my android device, the left pane menu scrolls very slowly.  It takes a few swipes down to get the menu to move an inch.  Does anyone have a fix for this?

It seems to be a slimScroll bug.
I solved by removing that plugin and changing menu's height in style.css:
.sidebar .menu{
    /* From:
     * height: 90vh;
     * to:
     */
    height: calc(100vh - 70px - 135px);
}

Where:

70px is navbar height
135px is user-info height


Converted tables in Importing.md to HTML.

HTML tables left align cells by default.  Otherwise, the Supported Data Types table looks pretty similar.
The Hadoop Globs Patterns table makes better use of horizontal space and looks massively better.
I admit, writing tables in HTML is  a bit tedious.

Found a better solution.


HTTP2 POST - java.io.IOException: stream was reset: REFUSED_STREAM

Hi,
we are using okhttp v3.2.0 and, in the attempt to migrate to http2, we compiled nginx v1.9.15 (latest as of today) against libssl 1.0.2g (ALPN support). Any client platform other than okhttp works as expected.
As far as okhttp is concerned, it looks like GET requests are correctly served by nginx, although the app fails with the following error while submitting any POST request:
04-22 15:10:15.934 18768-19313/com.pymmt.pymmt E/HttpImpl: NativeLogger Exception during http request
                                                          java.io.IOException: stream was reset: REFUSED_STREAM
                                                              at okhttp3.internal.framed.FramedStream.getResponseHeaders(FramedStream.java:145)
                                                              at okhttp3.internal.http.Http2xStream.readResponseHeaders(Http2xStream.java:149)
                                                              at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723)
                                                              at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81)
                                                              at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708)
                                                              at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
                                                              at okhttp3.RealCall.getResponse(RealCall.java:241)
                                                              at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
                                                              at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
                                                              at okhttp3.RealCall.access$100(RealCall.java:30)
                                                              at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)
                                                              at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                              at java.lang.Thread.run(Thread.java:818)

Nginx in debug mode complains about the client prematurely closing the stream:
2016/04/22 15:10:16 [debug] 7894#7894: *369 process http2 frame type:3 f:0 l:4 sid:5
2016/04/22 15:10:16 [debug] 7894#7894: *369 http2 RST_STREAM frame, sid:5 status:8
2016/04/22 15:10:16 [info] 7894#7894: *369 client canceled stream 5, client: <IP_ADDRESS>, server: pymmt.com, request: "POST /generic/api/v1/user/login/uniqueId HTTP/2.0", host: "py.pymmt.com"
2016/04/22 15:10:16 [debug] 7894#7894: *369 http run request: "/generic/api/v1/user/login/uniqueId?"
2016/04/22 15:10:16 [debug] 7894#7894: *369 http2 read client request body handler
2016/04/22 15:10:16 [info] 7894#7894: *369 client prematurely closed stream, client: <IP_ADDRESS>, server: pymmt.com, request: "POST /generic/api/v1/user/login/uniqueId HTTP/2.0", host: "py.pymmt.com"4: *371 SSL buf copy: 27

The full nginx debug log of the request is available here:
http://pastebin.com/LBms9emf
Currently, as suggested in other issues, we got the app to work by forcing it on HTTP1.1.
Thanks in advance
PL

I have just met this issue, too. HTTP2 is the future, I hope this get fixed fast as I'd love to use it in my Android apps.

Thanks for the thorough investigation. I'll take a look.

Welcome and thank you for this great lib.
Feel free to ask me to carry out any test you consider useful to solve this issue.
Moreover, if you find it useful I can provide you an apk performing a faulting request against our test environment.
PL

Could you try with frame logging enabled in OkHttp? That should help to figure out what’s happening on the client side. Pasting this somewhere is the easiest way to do that:
  private static final Logger frameLogger = frameLogger();

  public static Logger frameLogger() {
    Logger frameLogger = Logger.getLogger(Http2.class.getName() + "$FrameLogger");
    frameLogger.setLevel(Level.FINE);
    ConsoleHandler handler = new ConsoleHandler();
    handler.setLevel(Level.FINE);
    handler.setFormatter(new SimpleFormatter() {
      @Override public String format(LogRecord record) {
        return String.format("%s%n", record.getMessage());
      }
    });
    frameLogger.addHandler(handler);
    return frameLogger;
  }

It needs a static variable because the Java logging API may lose its configuration unless you have that.

Thanks for the quick reply.
I'll get back as soon as I have the logs from our developers.
PL

Here you go:
04-25 19:10:54.361 23709-23768/com.pymmt.pymmt W/System.err: >> CONNECTION 505249202a20485454502f322e300d0a0d0a534d0d0a0d0a
04-25 19:10:54.361 23709-23768/com.pymmt.pymmt W/System.err: >> 0x00000000     6 SETTINGS
04-25 19:10:54.361 23709-23768/com.pymmt.pymmt W/System.err: >> 0x00000000     4 WINDOW_UPDATE
04-25 19:10:54.361 23709-23768/com.pymmt.pymmt W/System.err: >> 0x00000003   301 HEADERS       END_HEADERS
04-25 19:10:54.361 23709-23768/com.pymmt.pymmt W/System.err: >> 0x00000003    50 DATA          END_STREAM
04-25 19:10:54.441 23709-24477/com.pymmt.pymmt W/System.err: << 0x00000000    18 SETTINGS
04-25 19:10:54.441 23709-24477/com.pymmt.pymmt W/System.err: << 0x00000000     4 WINDOW_UPDATE
04-25 19:10:54.441 23709-23784/com.pymmt.pymmt W/System.err: >> 0x00000000     0 SETTINGS      ACK
04-25 19:10:54.501 23709-24477/com.pymmt.pymmt W/System.err: << 0x00000000     0 SETTINGS      ACK
04-25 19:10:54.501 23709-24477/com.pymmt.pymmt W/System.err: << 0x00000003     4 RST_STREAM
04-25 19:10:54.501 23709-24477/com.pymmt.pymmt W/System.err: >> 0x00000000     8 GOAWAY
04-25 19:10:54.511 23709-23768/com.pymmt.pymmt E/HttpImpl: NativeLogger Exception during http request
                                                           java.io.IOException: stream was reset: REFUSED_STREAM
                                                               at okhttp3.internal.framed.FramedStream.getResponseHeaders(FramedStream.java:145)
                                                               at okhttp3.internal.http.Http2xStream.readResponseHeaders(Http2xStream.java:149)
                                                               at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723)
                                                               at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81)
                                                               at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708)
                                                               at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
                                                               at okhttp3.RealCall.getResponse(RealCall.java:241)
                                                               at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
                                                               at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
                                                               at okhttp3.RealCall.access$100(RealCall.java:30)
                                                               at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)
                                                               at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                                                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                               at java.lang.Thread.run(Thread.java:818)

PL

@swankjesse not sure if you've had time to make progress on this. I was able to reproduce by spinning up a VM in GCP using the Ubuntu 16.04 image (it has latest nginx and openssl.) I missed this in the pastebin above, but nginx is logging this message:
2016/04/22 15:10:16 [info] 7894#7894: *371 client sent stream with data before settings were acknowledged while processing HTTP/2 connection, client: <IP_ADDRESS>, server: <IP_ADDRESS>:443
2016/04/22 15:10:16 [debug] 7894#7894: *371 http2 send RST_STREAM frame sid:3, status:7

I think I am affected by exactly this issue, using bitfireAT/davdroid
nginx error log:
client sent stream with data before settings were acknowledged while processing HTTP/2 connection

davdroid debug logs show:
2016-04-24 09:05:08 3 [ui.setup.DavResourceFinder] Finding initial carddav service configuration
2016-04-24 09:05:08 3 [ui.setup.DavResourceFinder] Checking user-given URL: https://owncloud.domain.tld/
2016-04-24 09:05:08 3 [HttpClient$1] --> PROPFIND https://owncloud.domain.tld/ http/1.1
2016-04-24 09:05:08 3 [HttpClient$1] Content-Type: application/xml; charset=utf-8
2016-04-24 09:05:08 3 [HttpClient$1] Content-Length: 290
2016-04-24 09:05:08 3 [HttpClient$1] Depth: 0
2016-04-24 09:05:08 3 [HttpClient$1]
2016-04-24 09:05:08 3 [HttpClient$1] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><resourcetype /><displayname /><CARD:addressbook-description /><CARD:addressbook-home-set /><current-user-principal /></prop></propfind>
2016-04-24 09:05:08 3 [HttpClient$1] --> END PROPFIND (290-byte body)
2016-04-24 09:05:08 3 [ui.setup.DavResourceFinder] PROPFIND/OPTIONS on user-given URL failed
EXCEPTION java.io.IOException: stream was reset: REFUSED_STREAM
	at okhttp3.internal.framed.FramedStream.getResponseHeaders(FramedStream.java:145)
	at okhttp3.internal.http.Http2xStream.readResponseHeaders(Http2xStream.java:149)
	at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723)
	at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81)
	at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708)
	at at.bitfire.davdroid.HttpClient$PreemptiveAuthenticationInterceptor.intercept(HttpClient.java:153)
	at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:681)
	at at.bitfire.davdroid.HttpClient$UserAgentInterceptor.intercept(HttpClient.java:139)
	at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:681)
	at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
	at okhttp3.RealCall.getResponse(RealCall.java:241)
	at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:203)
	at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:187)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
	at okhttp3.RealCall.execute(RealCall.java:57)
	at at.bitfire.dav4android.DavResource.propfind(DavResource.java:268)
	at at.bitfire.davdroid.ui.setup.DavResourceFinder.checkUserGivenURL(DavResourceFinder.java:156)
	at at.bitfire.davdroid.ui.setup.DavResourceFinder.findInitialConfiguration(DavResourceFinder.java:116)
	at at.bitfire.davdroid.ui.setup.DavResourceFinder.findInitialConfiguration(DavResourceFinder.java:87)
	at at.bitfire.davdroid.ui.setup.DetectConfigurationFragment$ServerConfigurationLoader.loadInBackground(DetectConfigurationFragment.java:143)
	at at.bitfire.davdroid.ui.setup.DetectConfigurationFragment$ServerConfigurationLoader.loadInBackground(DetectConfigurationFragment.java:126)
	at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:296)
	at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:54)
	at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:42)
	at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:128)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
	at java.lang.Thread.run(Thread.java:818)

see https://forums.bitfire.at/topic/1070/issues-with-http-2-0

I'm wondering if they were thinking we'd retry the request?

The REFUSED_STREAM error code can be included in a RST_STREAM frame to indicate that the stream is being closed prior to any processing having occurred. Any request that was sent on the reset stream can be safely retried.

Requests that have not been processed have not failed; clients MAY automatically retry them, even those with non-idempotent methods.

Here's the commit that introduced this, https://github.com/nginx/nginx/commit/536b5510d1051281bd9411723102333e6d1dbdf2
Seems strange, but I think it's within the spec.

@dave-r12, in facts with nginx v1.9.14 the behaviour was pretty different, but even more nasty and hard to be exposed: POST requests in my case were served in around 12 seconds or so. I was about to open an issue while experimenting with 1.9.14 but I thought the problem might be in my configuration.

It’s unfortunate that this will require the client to wait for the server’s settings before it can transmit its first request. It adds head-of-line blocking that HTTP/2 tries so hard to avoid.
Sigh. Section 3.5 says what we’re doing is okay:

To avoid unnecessary latency, clients are permitted to send additional frames to the server immediately after sending the client connection preface, without waiting to receive the server connection preface. It is important to note, however, that the server connection preface SETTINGS frame might include parameters that necessarily alter how a client is expected to communicate with the server. Upon receiving the SETTINGS frame, the client is expected to honor any parameters established.

I think we’re keeping up our side of the bargain, and OkHttp does honor SETTINGS on all streams, including those initiated before the SETTINGS ACK was sent.
Our options:

Hold to read SETTINGS and write SETTINGS_ACK before initiating any streams. This is simple but slow.
Hold to read SETTINGS and write SETTINGS_ACK before initiating any streams that have a request body. This is less simple and potentially just as slow.
Retry the request when a stream is refused. This is awkward to the application layer because we’ll have to throw an exception in the RequestBody writer and then retry it. Some RequestBody writers won’t expect this!
Petition nginx to relax this constraint.

@dave-r12 can you check to see what other clients do? Does curl wait for the SETTINGS frame before sending a POST? I’m not sure if there’s an easy way to delay that from being sent in nginx, but if you added a 5 second sleep or something it’d be pretty easy to see what it does.

Got it. Took a peek at golang's client. If I'm reading it right, it looks like they send SETTINGS frame, then WINDOW_UPDATE frame, then block on reading a frame, which they require to be SETTINGS. Finally they ACK the settings and start the reader go routine.
See here https://github.com/golang/go/blob/master/src/net/http/h2_bundle.go#L5060
Agree with your description, I'm still struggling with why they interpreted it this way. I'll see if I can research some other clients in the morning.

Yeah. There’s been so much work done to eliminate “connection startup chattiness”. Seems like blasting the initial frames first should be a win to reduce latency.
https://www.mnot.net/blog/2016/04/22/ideal-http

I asked the experts: https://lists.w3.org/Archives/Public/ietf-http-wg/2016AprJun/0174.html

On guidance from experts I asked nginx for a fix: https://trac.nginx.org/nginx/ticket/959

Nice!

FYI, same issue with nginx version: nginx/1.10.0 (Ubuntu)
see http://packages.ubuntu.com/search?keywords=nginx -> xenial-updates

I must admit my limited knowldge of http2 does allow me to comprehend in full details the answer from vbart . Anyway it looks like the RST_STREAM is returned for other reasons, doesn't it?

It means we may need to recover in OkHttp somehow.

@plrunner can you get POST requests to work at all with nginx 1.9.15? I've been debugging it and it's setting the initial window size to 0, but never sends a window update. I'm likely misconfiguring something but wanted to see if you got it working.
Also, nghttp (which I think curl uses for http2) also behaves as OkHttp. It begins sending data immediately, but fails because nginx sends a REFUSED_STREAM.

@dave-r12
at the moment we are using HTTP1.1

Thanks. I was able to get a POST working with nginx + HTTP2. It enforces 2 unfortunate constraints.

We can't send data eagerly (we already knew this.)
We must send a HEADERS frame, then hold, in order to receive a WINDOWS_UPDATE frame for the stream to send data. This introduces another round trip.

@dave-r12
Great! Did you commit your changes somewhere?

Sorry, I got it working independent of OkHttp, I haven't made any code changes. I was trying to understand what they were doing first. It's a strange interpretation of the spec IMO.

Maybe some traction from nginx? They just responded on the ticket:

I agree, while it's not optimal from the latency point of view, such approach significantly simplifies the code. So it's a fair price, that was paid at the current stage of HTTP/2 implementation.
Introducing some kind of preread buffer will be the next step.

I’ve opened a new issue #2543, for OkHttp’s mitigation of this problem. We’ll make OkHttp handle all refused streams, and we’ll workaround this problem at the same time.

For anyone interested, I posted this on the other issue:

A quick update: nginx attached a proposed patch on their issue tracker. I tested patch against OkHttp and it worked perfectly.

@dave-r12 that’s great news.

As a further heads-up, this patch is now available in mainline nginx branch 1.11, which as a positive side-effect makes connection-initiating POST requests over HTTP/2 in major browsers (Firefox, MS Edge, Safari 9.x and alternative browsers on iOS, etc.) work again.


[cloud_firestore] 0.13.7 Fails to build on android

App fails to build on android with these errors:

reference to EventListener is ambiguous  private class EventObserver implements EventListener
method does not override or implement a method from a supertype
no suitable method found for addSnapshotListener(MetadataChanges,CloudFirestorePlugin.EventObserver) handle, getQuery(arguments).addSnapshotListener(metadataChanges, observer));
uses unchecked or unsafe operations.

Full log:
Launching lib/main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:410: error: reference to EventListener is ambiguous
  private class EventObserver implements EventListener<QuerySnapshot> {
                                         ^
  both interface java.util.EventListener in java.util and interface com.google.firebase.firestore.EventListener in com.google.firebase.firestore match
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:379: error: reference to EventListener is ambiguous
  private class DocumentObserver implements EventListener<DocumentSnapshot> {
                                            ^
  both interface java.util.EventListener in java.util and interface com.google.firebase.firestore.EventListener in com.google.firebase.firestore match
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:386: error: method does not override or implement a method from a supertype
    @Override
    ^
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:417: error: method does not override or implement a method from a supertype
    @Override
    ^
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:790: error: no suitable method found for addSnapshotListener(MetadataChanges,CloudFirestorePlugin.EventObserver)
              handle, getQuery(arguments).addSnapshotListener(metadataChanges, observer));
                                         ^
    method Query.addSnapshotListener(Executor,EventListener<QuerySnapshot>) is not applicable
      (argument mismatch; MetadataChanges cannot be converted to Executor)
    method Query.addSnapshotListener(Activity,EventListener<QuerySnapshot>) is not applicable
      (argument mismatch; MetadataChanges cannot be converted to Activity)
    method Query.addSnapshotListener(MetadataChanges,EventListener<QuerySnapshot>) is not applicable
      (argument mismatch; CloudFirestorePlugin.EventObserver cannot be converted to EventListener<QuerySnapshot>)
/Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:806: error: no suitable method found for addSnapshotListener(MetadataChanges,CloudFirestorePlugin.DocumentObserver)
              getDocumentReference(arguments).addSnapshotListener(metadataChanges, observer));
                                             ^
    method DocumentReference.addSnapshotListener(Executor,EventListener<DocumentSnapshot>) is not applicable
      (argument mismatch; MetadataChanges cannot be converted to Executor)
    method DocumentReference.addSnapshotListener(Activity,EventListener<DocumentSnapshot>) is not applicable
      (argument mismatch; MetadataChanges cannot be converted to Activity)
    method DocumentReference.addSnapshotListener(MetadataChanges,EventListener<DocumentSnapshot>) is not applicable
      (argument mismatch; CloudFirestorePlugin.DocumentObserver cannot be converted to EventListener<DocumentSnapshot>)
Note: /Users/theuno/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
6 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cloud_firestore:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 33s
Exception: Gradle task assembleDebug failed with exit code 1

Pubspec:
firebase_core: ^0.4.5
firebase_auth: ^0.16.1
firebase_messaging: ^6.0.16
firebase_analytics: ^5.0.16
cloud_firestore: ^0.13.7
Flutter doctor
Run flutter doctor and paste the output below:
[✓] Flutter (Channel master, 1.21.0-2.0.pre.114, on Mac OS X 10.15.6 19G73,
    locale en-ZA)
    • Flutter version 1.21.0-2.0.pre.114 at /Users/flutter
    • Framework revision ddb8e6e3bf (12 hours ago), 2020-07-22 20:00:07 -0700
    • Engine revision dcc9a4048d
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/theuno/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Users/theuno/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6626763/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Users/theuno/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6626763/Android
      Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Ultimate Edition (version 2020.1.4)
    • IntelliJ at /Users/theuno/Applications/JetBrains Toolbox/IntelliJ IDEA
      Ultimate.app
    • Flutter plugin version 47.1.3
    • Dart plugin version 201.8538.45

[✓] Connected device (1 available)
    • AOSP on IA Emulator (mobile) • emulator-5554 • android-x86 • Android 9
      (API 28) (emulator)

Hi @Theunodb,
I tried to build with  same plugin version on latest dev channel and was able to build with no issues.
Can you please provide a minimal complete reproducible code sample and the steps that you took when this build failure occurred ?
Thanks.

Thanks for your time. I downgraded to stable and it started working.


Add pycsw server

Simple docker-compose setup to run a local CSW server. (pycsw with a PostGIS database)

Ingestion of data based on xml files returns an error:
docker exec -it pycsw sh
~ $ pycsw-admin.py -c load_records -f /etc/pycsw/pycsw.cfg -p /home/pycsw/xml

/usr/lib/python3.5/site-packages/sqlalchemy/dialects/postgresql/base.py:2963: SAWarning: Did not recognize type 'geometry' of column 'wkb_geometry'
  "Did not recognize type '%s' of column '%s'" % (attype, name)
Could not parse "/home/pycsw/xml/S2A_MSIL1C_20180101T231121_N0206_R058_T57FWV_20180101T235520.xml" as an XML record
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/pycsw/core/admin.py", line 348, in load_records
    record = metadata.parse_record(context, exml, repo)
  File "/usr/lib/python3.5/site-packages/pycsw/core/metadata.py", line 119, in parse_record
    return _parse_metadata(context, repos, record)
  File "/usr/lib/python3.5/site-packages/pycsw/core/metadata.py", line 158, in _parse_metadata
    raise RuntimeError('Unsupported metadata format')
RuntimeError: Unsupported metadata format

This happens also with the sample S2A file
@sophieherrmann

Last commit 6cab0b112b8b0dd24c4f95b9fabfee93479547ee fixed error 'Unsupported metadata format'


[MOB-9052] add return after anonymous call

🔹 Jira Ticket(s)

MOB-9052

✏ Description

This pull request adds a return statement after the anonymous track call to prevent request handler from being called.

Closing this PR. Not necessary.


Package dependency badge

We should add this badge to the boilerplate.

Do we have a generic gemansium account? Or should we just use one of ours?


service name and owner should not be null in db,creating fail should be roll-back in db

In GitLab by @luotian-github on Sep 21, 2017, 16:28
service status is wrong

In GitLab by @yhua123 on Nov 8, 2019, 07:37
when creating service failure, need clear garbage.
db/git/image/upload folder

In GitLab by @luotian-github on Nov 8, 2019, 07:37
need to add a api to delete/clear service config

In GitLab by @luotian-github on Nov 8, 2019, 07:37
If creating(deploying) service failed, user can either "cancel" to delete the configurations or "back" to reconfigure the service

In GitLab by @luotian-github on Nov 8, 2019, 07:37
PR#592

In GitLab by @sokril on Nov 8, 2019, 08:10
closed

In GitLab by @sokril on Nov 8, 2019, 08:11
assigned to @luotian-github


Support upgrades from v1.3.0

To support upgrading from v1.3.0 including alpha and beta

Git tags are not valid semver and future dev builds v1.3.0-#-alphanum are not greater than v1.3.0, bumping patch version when detecting its a dev git tag
Skip etcd2 upgrade for alpha and beta versions
Skip etcdv3 migration for v1.3.0
Increase probes on control-plane components to match that of kubeadm

We should have a conversation around how far back we want to support upgrades. I don't think it'll be reasonable to support an upgrade from v1.2.0 to v.3.0.0 for example. I am thinking this mainly for two reasons:

Judging from the special casing we have started to do here, I suspect we'll continue seeing those as we move forward, and it will probably be a maintainability nightmare.
The upgrade test matrix will never stop growing.

We might be able to address the first issue with implementing the concept of "migrations", where we keep version specific tasks, but it is not clear to me what this would entail.

Yes. I think we should support a very limited number of released versions. Maybe 2? Probably no more than that. That may also change over time, as the project matures and the changes between versions are less drastic. But that won't be the case for the foreseeable future.


Motivational Speech App

Describe the solution you'd like
Motivation is the best one for people's careers. So I would like to add motivational audio of the great influencer like a playlist.
Additional context
Assign me this issue under GSSOC' 21!

@991rajat  @urvashi-code1255  @harshgupta20  Assign me, please😄

@991rajat can i work??

@Amit366 you want to work on this ?

No


OutlinePass

When assigning array to pass.selection nothing happens, must use pass.selectObject instead.
It can be fixed ?
Also there is no antialiasing working when enabled in WebGLRenderer, am I doing something wrong ?
Thanks.

Thanks for the issue report!
The field OutlinePass.selection is private and shouldn't be modified. The two methods OutlinePass.selectObject and OutlinePass.deselectObject are supposed to be used for efficient object selections.
OutlinePass.selectObject assigns selected objects to a special render layer. The list of selected objects that is maintained by the OutlinePass must not be changed from outside. Objects that are deselected using OutlinePass.deselectObject will also be removed from that render layer.
In most use cases, you're working with a manageable amount of objects. Using the aforementioned methods to select or deselect an array of objects in a simple loop shouldn't have an impact on performance because selections and deselections don't occur every frame. If you have a special use case, feel free to present it.
Antialiasing doesn't work on offscreen render targets in WebGL 1. All post processing effects suffer from this. You can use an SMAAPass before or after the OutlinePass to alleviate this issue, but some artifacts may remain. WebGL 2 supports multisampled render buffers but three.js doesn't support that context yet (see https://github.com/mrdoob/three.js/issues/9965).

@vanruesc First of all, thank you for porting this to TypeScript, you're making really great job !
Everything is clear now, but have another question/problem is it normal if I'm using scene.color = 0xFFFFFF i.e. white color, then I can't see outline on white color ?
Thank you.

Thank you 😄 Note, however, that I'm not using TypeScript anywhere, I'm just following some sort of documentation-first approach.
After some thought, I decided to add two convenience methods: OutlinePass.setSelection and OutlinePass.clearSelection for setting a list of selected objects and clearing all selected objects in one go.
If the scene is mostly white, then yes, you won't be able to see the outline. This is because the outline overlay is like a glow effect - it's not possible to make white any brighter. I was thinking about changing this behaviour when I ported this pass, but decided to leave it as-is for now. To support outlines on white backgrounds, I'll have to add another blend mode for this pass.

Man, you are the best !
Thank you very much !

Note, however, that I'm not using TypeScript anywhere, I'm just following some sort of documentation-first approach.

TypeScript types serve as a documentation that is also checked by the compiler to guarantee it's accurate and consistent with the documented code. Applications using libraries with TypeScript are checked by the compiler, too, to ensure consistency with that documentation.
I really wish this library adopted TypeScript and had types like Three.js itself did: https://github.com/mrdoob/three.js/blob/9b247071c2be06d68d4eab44ba4d6ce13551325c/examples/jsm/postprocessing/OutlinePass.d.ts
For those ending up here, like I am, from a google search for OutlinePass from three/examples/jsm/postprocessing, there's no OutlinePass in 'postprocessing', there's OutlineEffect, and according to the documentation, the convenience methods for selecting objects are all deprecated in favor of using the .selection object methods: https://vanruesc.github.io/postprocessing/public/docs/class/src/effects/OutlineEffect.js~OutlineEffect.html

Hi,

TypeScript types serve as a documentation that is also checked by the compiler to guarantee it's accurate and consistent with the documented code.

I'm aware of this feature, but I think it doesn't justify the overhead that TypeScript adds to the code base and build setup.
Would dts-gen be an option for you?

I really wish this library adopted TypeScript and had types like Three.js itself did

I wish JavaScript wasn't in this pitiful state where programmers have to rely on things like TypeScript to fill in the obvious shortcomings of the official language. Documentation is an incredibly important aspect of development and Ecma International should've introduced a standard documentation framework years ago.
I've explained why I won't be using TypeScript here.

according to the documentation, the convenience methods for selecting objects are all deprecated in favor of using the .selection object methods

This issue is pretty old and not representative of the current code base; you should always look at the current documentation first. The selection field was a plain array when this issue was raised and the convenience methods have since been moved to the new Selection object to prevent code repetition across classes that use selections.

I haven't used dts-gen, but from its description looks like it misses the most important use case for types for a library consumer: API definition with types for functions and their arguments.
The linked explanation about not using TypeScript mentions a personal preference for JS and "various reasons" (without mentioning which ones). I'm quite sure JavaScript isn't going to introduce types in the near future. TypeScript is becoming standard de-facto for typed JavaScript, and the Three.js community is adopting it due to specific reasons of being able to safely develop modular codebases that are larger than one-pager example scripts copy-pasted from each other.

Sorry, I got a bit ranty there.
Yes, it's my personal decision not to use TypeScript in this project. I didn't list more specific reasons because there are already many articles for and against TypeScript out there.

being able to safely develop modular codebases

JavaScript supports modular codebases natively.

I'm quite sure JavaScript isn't going to introduce types in the near future.

JavaScript already has types, but I guess you mean static type checking which, I admit, is a pretty important tool and probably the only real purpose of TypeScript.
I'll take a fresh look at TypeScript when I get a chance. Maybe it's not as messy as I remember it anymore.

Yes, I mean static type checking. Thank you for your consideration!

Outline pass is throwing an error with effectComposer saying pass.setRenderer(renderer) is not a function, which I believe it means OutlineEffects.js doesn't have a function called setRenderer.
Anything I am missing
using js from
three/addons/postprocessing/OutlinePass.js


Particles leaking from rigid bodies

Hi. I wanted to make sure that I'm using a correct grid spacing (dx=dimension/resolution) and/or pd's minimum distance. In the following pics (3D and top views) the setting is as default. However, I'm seeing some leakages from the top rigid surface. Please let me know if there is sth that I can figure it out; ty.

Hi,
Thanks for trying! Does the leakage happen at the surface or corner?

and the blue arrows are?

Thank you for your response. The leakage at the corner is my fault, as there is a gap there; but there is still leakages from the top surface and I'm not sure why. Should I define level set instead of rigid body, like you did in sand_stir model? The blue arrows show the velocity vector in Houdini.

Resolved by setting penalty=1e4


Adds note to clarify point in #285

Clarifies that yaw cannot be set in guided mode until the first movement command has been received.

Merged into master.


Add python 3 support to the platform using brython

Add python 3 support to the platform using brython
Description

Use python to write scripts in the editor
Create python script object
Use brython to transpile python to js

Platform

Web Version [X]
Windows [X]
Linux [X]

I am really looking forward to this :)

Got a question @tentone will we be able to use brython to write code to be used at runtime or will it be strictly editor code?

Hello
You will be able to run this code at runtime to do pretty much everything that you're able to do using JS.
I should make it available in the next version for people to try it.
Cheers


Handle NoRefNo with backtracking in extractor

Add  serarch for Call-ID where sessionID is defined, then change NoRefNo to that sessionID
Ex:
2024-06-17 12:06:09.413 DEBUG [or.sip.gen.SipLogMgr][thread-1]
NoRefNo Sending message with id=B2E1A54D to NULL
SIP/2.0 200 OK
CSeq: 149 REGISTER
Call-ID<EMAIL_ADDRESS>From: sip:ssocfx20.ims.mnc002.mcc238.3gppnetwork.org:5092;lskpmc=S9O;tag=476949397
To: sip:+4520843092@ims.mnc002.mcc238.3gppnetwork.org;tag=31405753_8eb25a2b_f42f003e_269d93e7
Via: SIP/2.0/TCP <IP_ADDRESS>:5092;branch=z9hG4bK_IMSCL1851327.000_159becd17d55c9d56a08fbc1a8d639690101;lskpmc=S9O;rport=46528
Server: TelScale Sip Servlets 7.1.0-SNAPSHOT
Content-Length: 0

Also look for From tag=xxxx and To tag=xxxx if present (from tag always present, to tag not always present)


Error messages that explain where they came from

Is your feature request related to a problem? Please describe.
Currently, when I run a vite build I get a bunch of these:
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
...etc...

I agree, but I don't know where eval is being used.
Describe the solution you'd like
It'd be great if the error messages could explain what file generated them so we can fix these.
Describe alternatives you've considered
Unsure of another alternative that will help users fix errors.

This is a warning from Rollup. I checked their code it seems no easy way to locate eval position. But you could try to "comment" your code to find which file or libraries are using it. Then dig into it.

Great, I've raised it over there, we'll see what they say: https://github.com/rollup/rollup/issues/3986

@sunkehappy it looks like there's metadata on the Rollup errors we could use to display this info:
https://github.com/rollup/rollup/issues/3986#issuecomment-791430012
Should we just expose these from the vite CLI?

@thekevinbrown thanks for checking this with the Rollup Maintainers. I think we should expose this info in the CLI as you suggested. Would you like to work on a PR for this?

@matias-capeletto I'll do it.

@sunkehappy I'm also happy to help here if you have any trouble.

@thekevinbrown Thank you. I indeed need your help because I don't have the code that could reproduce this issue. I tried to use eval in my code but failed to reproduce. So could you take a look at this?

Yup, will do.

Yeah, I can't reproduce this in latest master anymore, even with the same code. Was there a config change for Rollup between 2.0.5 and master? All I get now are circular dependency warnings, which are explicitly ignored.
In order to expose the additional error info we need to get the actual errors through, we can't really do it generically, so I'm considering closing this for now with the idea being if we have another error show up that doesn't have enough info, we now know what to do to get that additional info.
Does this sound like the best plan to @sunkehappy and @matias-capeletto as well?

@thekevinbrown sorry for the late reply. I agree, let's close this one and reference it when a new error appears. Thanks!


Fix time separators in message list

Fixes #361

Use 'date-fns', instead of several custom written functions.
Throw away some code and tests no longer needed.

Automated message from Dropbox CLA bot
@borisyankov, it looks like you've already signed the Dropbox CLA. Thanks!

I like replacing 'moment' with 'date-fns'!
Does this fix the separator issue though? It doesn't look like it uses the user's locale

It does use it.
Date class is tricky and I could have fixed it by fixing our custom code too. But since date-fns had literally the same funcs with same names, but correct, it made most sense to delete our code.

👍


Can't enable Polychromatic 6.3.2

So I'm aware that with the new update that plug ins will need to do a small update...after reading into it so initially trying to get this to work i uninstalled alcatraz reinstalled it a bunch of times with no luck and even went so far as to go and delete the plug ins manually and remove polychromatic from preferences...now i came across [this thread] (http://stackoverflow.com/questions/30361228/why-are-my-xcode-plugins-such-as-clang-format-installed-with-alcatraz-no-longe) and it provided some answers in where you can update your keys, and it worked for other plug ins but i cant find polychromatic as an option any longer in preferences.

Ah...after adding the UDID to it and then going to Editor->Polychromatic->Instll sample themes, all is well and good again


NoSuchMethodError getReadConcern()

I am having trouble getting this to work with my project. I am using mongo-java-driver 3.3 and Fongo 2.0.9, but when I use the @Rule in my tests as documented in the read me I get this error.
java.lang.NoSuchMethodError: com.mongodb.MongoClientOptions.getReadConcern()Lcom/mongodb/ReadConcern;

	at com.mongodb.MockMongoClient.create(MockMongoClient.java:32)
	at com.github.fakemongo.Fongo.createMongo(Fongo.java:159)
	at com.github.fakemongo.Fongo.<init>(Fongo.java:75)
	at com.github.fakemongo.junit.FongoRule.newFongo(FongoRule.java:212)
	at com.github.fakemongo.junit.FongoRule.<init>(FongoRule.java:66)
	at com.github.fakemongo.junit.FongoRule.<init>(FongoRule.java:75)
	at com.github.fakemongo.junit.FongoRule.<init>(FongoRule.java:71)

I have tried various versions of the mongo-java-driver but all produce the same error.

Hi,
I have created a junit test that uses @Rule
@Rule     public FongoRule fongoRule = new FongoRule();
@Test     public void test_doSomething() { 	...     }
but I didn't receive any exception and the before and after methods work well when I debug FongoRule.
I am using mongo-java-driver3.3 and the just downloaded Fongo version source .
Do you mind giving more information please?
I am looking forward to hearing from you soon
Best regards
Nicola

Thank you for looking into this Nicola. I have my test set up the same as you have above and I am still getting this error. Here are the relevant dependencies I have added to the project.
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.3.0</version>
    <type>jar</type>
</dependency>
<dependency>
    <groupId>com.github.fakemongo</groupId>
    <artifactId>fongo</artifactId>
    <version>2.0.9</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.1</version>
    <scope>test</scope>
</dependency>

I'm not sure what other details would help. We are not using sl4j in our project so I had to add the logback dependency as detailed in the readme. Not sure if that could cause this issue somehow. Let me know if there is anything else I could provide that would help. Thank you again for looking into it.

Hi,
I would like to know what happens if you use another version of logBack, for example
<dependency>
	    <groupId>ch.qos.logback</groupId>
	    <artifactId>logback-classic</artifactId>
	    <version>1.1.3</version>
	    <scope>test</scope>
</dependency>

Actually I have a trouble with my eclipse project if I use the 1.1.1 version (The project cannot be built until build path errors are resolved) but if I change version to 1.1.3 evrything works.
Thank you in advance

I updated the logback dependency to 1.1.3 like you have here, but I am still getting the same error. I'm sure it is something I'm doing wrong but I can't figure out what it is.

Do you mind sending your test class please?

I think we have tracked down our issue. There is another dependency in our project that has mongo-java-driver as a dependency. It is using t 3.0.2. Somehow that is the one that is getting used instead of the 3.3.0 version that I have added directly to the project. I haven't sorted out exactly how to fix it yet but am pretty sure that is the problem. Thank you very much for your help.


Update admin assets for v0.9.5

Just getting this queued up, however we might want to merge #4125 instead.


[SPARK-49567][PYTHON] Use classic instead of vanilla from PySpark code base

What changes were proposed in this pull request?

This PR proposes to use classic instead of vanilla from PySpark code base
Why are the changes needed?

For unifying the terms to avoid confusion on overall code base including docs
Does this PR introduce any user-facing change?

No API changes, but user-facing pyspark.sql.DataFrame.offset docs use the terms classic instead of vanilla
How was this patch tested?

CI
Was this patch authored or co-authored using generative AI tooling?

No

Merged to master.


⚠ Bofrost.lu has degraded performance

In 19ddccc, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1256 ms

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


*: fix pending events metrics

Fix https://github.com/coreos/etcd/issues/5717
/cc @nekto0n Can you give this patch a try?

lgtm.


Erros loading a test file are swallowed by this reporter

Hi! First of all, I really like this reporter. Thanks for building it.
I noticed there's one bug/limitation when there's an error when loading a file. The error just isn't displayed.
To reproduce it all you need to do is create an npm project, install this reporter, and create a file test/test.js:
throw new Error("foo");

Then running node:test with this reporter will look like this:
$ node --test --test-reporter=@voxpelli/node-test-pretty-reporter

ℹ tests 1
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 142.345917

While running it without the reporter does show the error:
$ node --test
/workspaces/npmprojects/npmproject-1/test/test.js:1
throw new Error("foo");
^

Error: foo
    at Object.<anonymous> (/workspaces/npmprojects/npmproject-1/test/test.js:1:7)
    at Module._compile (node:internal/modules/cjs/loader:1434:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1518:10)
    at Module.load (node:internal/modules/cjs/loader:1249:32)
    at Module._load (node:internal/modules/cjs/loader:1065:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:158:12)
    at node:internal/main/run_main_module:30:49

Node.js v22.2.0
✖ test/test.js (22.139417ms)
  'test failed'

ℹ tests 1
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 34.348833

✖ failing tests:

test at test/test.js:1:1
✖ test/test.js (22.139417ms)
  'test failed'

After playing a bit with that example and this reporter:
module.exports = async function* customReporter(source) {
  for await (const event of source) {
    console.log(event);
  }
};

I found that the events of type "test:stderr" seem to be ignored.

Same with "test:stdout"


dotnet format is in dotnet sdk since dotnet 6

https://github.com/nx-dotnet/nx-dotnet/blob/84f35f133e35b1aa60b66d183bf8a3b50db6517a/packages/core/src/executors/format/executor.ts#L76-L88
Question about this,
I wonder if we need this for dotnet version >= 6
according to the doc, dotnet format should be included
  if (forceToolUsage || majorVersion < 6) {
    ensureFormatToolInstalled(context, dotnetClient, majorVersion);
  }

based on above logic, it seems like only dotnet 6.0.0 - 6.0.203 or dotnet <6 might run it.

For .NET 6 - 6.203 or whatever there was a bug where we had to still use the tool

Thanks for explanation.
I guess this is not needed. Original I was wonder if I need to add dotnet 8. Now I think we don't even need 7 here.
else if (majorVersion === 7) {
    dotnetClient.installTool(
      'dotnet-format',
      '7.*',
      'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json',
    );
  }

IIRC there was a different bug with earlier versions of the built in tool in the .NET 7 releases, after that was fixed I may have cleaned up when it would be required.


Support lines and figures animations

I use Keynote and other tools for my lectures, and find using animations very valuable to show dynamics, how objects transit or created in a complex system.
Would be great having the animations for the figures and lines connecting them. Example: a line draws a block figure, hachures the background, draws the connection line, going to the second block. This would be not a static image mode, but rather a presentation mode.

See https://observablehq.com/@matthewturk/path-interpolation-roughjs
One could use this same technique for creating such animation

@pshihn: yeah, that's exactly what I mean -- with configurable timing, etc.

Wahhh, this demo is so cool!

I think this is outside of our scope for Excalidraw.. at least for now.


From tf becomes from h5

Fixes #{issue number}

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


example in doc: from socha import * not sufficient

Description
Using the example from "Getting started" IClientHandler and Starter will not be resolved.
Environment

Python version: 3.11.2
Operating System: Debian 12
Version of the Python SoCha Client: 2.0.2

Expected Behavior
Getting Starting example running out of the box
Actual Behavior
NameError: name 'IClientHandler' is not defined
after adding from socha.api.networking.game_client import IClientHandler :
NameError: name 'Starter' is not defined
Additional Context
The example should be replaced by this file:
from socha.api.networking.game_client import IClientHandler
from socha.starter import Starter
from socha import *

class Logic(IClientHandler):
    gameState: GameState

    def calculate_move(self) -> Move:
        m = Move(actions = [Advance(1)])
        return m

    def on_update(self, state: GameState):
        self.gameState = state

if __name__ == "__main__":
  Starter(Logic())

The README has not been updated in this respect. I will fix this. For now, please use this file as a reference:
https://github.com/maxblan/socha-python-client/blob/master/logic.py


support for NextClear

This PR fixes the issue #25
Instead of calling NextSet, I chose NextClear.
I am not very well versed with the DeBruijn sequences, but I hope finding a clear bit would be equivalent to finding a set bit in compliment of a word.

@jainvipin I have merged these into master. Thank you very much!


Update to erlang 20.

Once the Chef Infra Server is upgraded to Erlang 19. Proceed with updating the dependencies to the latest versions and update erlang to version 20.
[x] Update the dependencies with rebar3 to the latest.
[x] Change software definition at https://github.com/chef/omnibus-software/blob/master/config/software/erlang.rb with version 20 of erlang.
[x] Update https://github.com/chef/chef-server/blob/master/omnibus_overrides.rb#L5 to the above updated version.
[x] Make the necessary code changes to oc_erchef, oc_bifrost, bookshelf.
[x] Update the buildkite pipeline to test with Erlang 20.
Acceptance Criteria:
[x] Verify pipeline passes with erlang 20.
[x] Adhoc version of Chef-server builds with Erlang 20.

https://github.com/chef/chef-server/compare/lbaker/land-erlang20-bcrypt-rabbitmq2

This branch is waiting on:

fixes to dialyzer
turn on warnings_as_errors
update hoax to latest
update rabbitmq to latest

Commenting on #3 above "update hoax to latest..."
I forked the repo and fixed the dialyzer issue we had.  I would not recommend updating Hoax to the latest because in my humble opinion it really won't buy us anything:

it is an unmaintained repo (a dead end)
it is strictly used for mocking some stuff in tests (i.e. it isn't used on the running server)
it is only used in a few places, so it's not used a lot
where it is used, it is working
we are unlikely to expand our use of it and instead will probably rely on the other mocking library we are using
it will open up a can of worms with all the fixes we will need to make after updating it to the latest

Basically, if we update to the latest, we will incur pain for little to no gain, or even negative gain.  Having said that, this is simply me throwing in my 2 cents for consideration by the 'powers that be.'  I may not have considered everything.  And I'm certainly ready, willing, and able to update Hoax to the latest, if that's what we want to do.  As I used to say to a previous colleague, "the pay rate is the same no matter what we're doing!"  :)

clarified with @lbakerchef, we are already using hoax and the changes we want are only for the places we already use it. There will be no additional meck to hoax changes.


Eigen MSVC warnings C4348 "redefinition of default parameter"

Description
Since the recent updates of Eigen (#4265 according to the dashboard), I get many warnings from Eigen's code with MSVC. The warning code is C4348.
Steps to Reproduce
Compile ITK with MSVC 19.27.29111.0
Expected behavior
No warnings.
Reproducibility
100%
Versions
ITK master
Environment
MSVC 19.27.29111.0
Additional Information
See nightly build of RTK: https://my.cdash.org/index.php?project=RTK.

CC @phcerdan

@SimonRit thanks for the report. Is that a newer MSVC? I didn't see those warnings in the PR.
Not sure if that warning is meaningful for Eigen.
Could you try disabling it?
Add 4348 in that line:
https://github.com/phcerdan/ITK/blob/fix_metadataobject_print/Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/util/DisableStupidWarnings.h#L23
Maybe it's worth to raise an issue upstream https://gitlab.com/libeigen/eigen/-/issues.

Is that a newer MSVC?

No, it's MSVC 2019.

Could you try disabling it?

It does remove the warnings. Should that be an ITK PR or should it be an Eigen PR?

Good question, Being an old compiler, and not already solved upstream, I think this would be a patch (from ITK) in our fork of Eigen. I will patch it and update ITK.

According to https://godbolt.org/z/PExefEfzW the warning may still be produced by the latest version of MSVC!
template <class T=int> struct A;   // forward declaration
template <class T=int> struct A { };

Does that mean that it should be solved upstream?

Why are we not picking it up in our CI then?

Please, open it up upstream if you can reproduce it, I don't have access to MSVC.

For my understanding, do these warnings specifically occur when the ITK CudaCommon module is enabled?

No, they occur with the default ITK modules without CudaCommon or RTK:
https://my.cdash.org/viewBuildError.php?type=1&buildid=2468840

No, they occur with the default ITK modules without CudaCommon or RTK:
https://my.cdash.org/viewBuildError.php?type=1&buildid=2468840

Thanks Simon, but there it says:

Build Name: CudaCommon-InITK-Windows7-64bit-Ninja-ITKmaster-Static-RelWithDebInfo-FFTWON

Looking at the Nightly builds at https://my.cdash.org/index.php?project=RTK&date=2024-01-08 only the CudaCommon-Windows builds appear to have those 14 warnings, that's why I thought it was somehow related to the CudaCommon builds.
Anyway, I'm sorry but I cannot reproduce the warning locally, even while I'm still using Visual Studio 2019  🤷 But I do keep my Visual Studio 2019 regularly up-to-date, so I'm now at VS2019 version 16.11.32 and Visual C++ compiler version 19.29.30153. Would it be possible for you to also update the VS2019 version installed at build machine morille.clb?

It's just the name of the build! I did not change it for this test. Check the built modules:
https://my.cdash.org/build/2468852/configure
I'll try to update MSVC...

If we can find the version of MSVC where it stops failing we can be more accurate on the _MSC_VER (or _MSC_FULL_VER), the patch disables the warning for _MSC_VER <= 1929.
See: https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd for valid values.

I'll try to update MSVC...

You don't have to if using a version compatible with the ITK requirements. In fact, probably a good thing to have a valid old compiler in CI to spot these things.

I'll try to update MSVC

Thanks! It appears that those warnings in this specific context (a nested template like Eigen::DenseBase<Derived>::IndexedViewSelector) were caused by a compiler bug. For the record, I was able to reproduce the warning at https://godbolt.org/z/7s6hPq61z as follows:
template <typename T>
class DenseBase
{
public:
  template <int, bool unused = true>
  struct ViewSelector;

  template <bool b>
  struct ViewSelector<0, b>
  {};
};

DenseBase<int>::ViewSelector<0> selector;

Output from msvc v19.28 vs16.9 compiler version 19.28.29921.0:
<source>(8): warning C4348: 'DenseBase<int>::ViewSelector': redefinition of default parameter: parameter 2
<source>(9): note: see declaration of 'DenseBase<int>::ViewSelector'
<source>(16): note: see reference to class template instantiation 'DenseBase<int>' being compiled

With a newer compiler version (e.g.,  msvc v19.29 vs16.10 compiler version 19.29.30040.0), the warning is gone.
The compiler bug was reported by Edward Lam, March 11, 2020 at https://developercommunity.visualstudio.com/t/Unexplained-warning-C4348-redefinition-o/945050?q=[Fixed+in%3A+Visual+Studio+2019+version+16.9+Preview+4] and apparently it is fixed!  😃

Great @N-Dekker, probably worth to report your findings upstream, meanwhile we will patch it here. If you can provide the exact version of _MSC_FULL_VER where it was first solved it would be great.

If you can provide the exact version of _MSC_FULL_VER where it was first solved it would be great.

VS2019 compiler version 19.29.30040.0, which does not have the bug anymore, appears to have _MSC_FULL_VER == 192930040: https://godbolt.org/z/6GTM19919  So in general, I guess the compiler bug fixed when _MSC_FULL_VER >= 192930040.

Updated the patch with the provided _MSC_FULL_VER #4385
Thanks!

I'll try to update MSVC...

You don't have to if using a version compatible with the ITK requirements. In fact, probably a good thing to have a valid old compiler in CI to spot these things.

Sorry, too late... I can confirm that the warnings are gone with the newest MSVC 2019.
Thanks a lot for the patch!

I wonder if it is worth to patch then. Usually people keep MSVC well updated right?
Not sure.

Usually people keep MSVC well updated right?

I think they should 😃 For any specific major release of Visual Studio (VS2019, in this case), the updates are for free, and can be installed rather easily. Only major upgrades (e.g., from VS2019 to VS2022) may cost money.
Of course, users may still be one or two updates behind, as MS does do quite a few Visual Studio updates per year. But this particular VS2019 bug fix is available from almost three years already now. So most users should have it installed by now.

Ok, let's reduce complexity, and skip this fix.
Users should be able to update their compiler to solve this one.

Thanks @phcerdan! I think it's OK to skip this fix, but it's nice that you gave it a try!
By the way, if we ever get bothered by warning C4348 again, I think it would be fine to disable it on the entire ITK build. Because the latest MSVC compiler version may still produce "valid" C4348 warnings, as I mentioned at https://github.com/InsightSoftwareConsortium/ITK/issues/4376#issuecomment-1881152353 In these cases it's actually true that there was a "redefinition of default parameter". But I think it's not worth a compiler warning anyway! Redefinition of a default parameter is only problematic when the two default parameter definitions have different default values:
template <class T=int> struct A;   // forward declaration
template <class T=long long> struct A { };  // <== error!!!

But that's an error, not a warning! At https://godbolt.org/z/9Gs4z65Yx
error C2572: 'A': redefinition of default argument: parameter 1
I think the error message is useful, but the warning is not. BTW, GCC also produces an error in that case: redefinition of default argument for 'class T'

@SimonRit @phcerdan If you have a Microsoft account, please up-vote the MSVC bug report that I just submitted:
Turn compiler warning C4348 "redefinition of default parameter" off by default
https://developercommunity.visualstudio.com/t/Turn-compiler-warning-C4348-redefinitio/10555939
FYI, When an MSVC warning is "off by default", you won't see it anymore, unless you explicitly enable the warning, or use compile option "/Wall". (And for MSVC, the option "/Wall" is rarely used.)

Thank you for all the work and I apologize for the time lost. I understand your points but I don't think it's obvious that one should upgrade its compiler regularly. I don't think it's the strategy for GCC as far as I know. If we drop ITK support for _MSC_FULL_VER < 192930040, shouldn't there be some CMake warning or error to inform the user?

It would be fine to me to require at least VS2019 Update 11.0, compiler version _MSC_VER >= 1929, released on August 10, 2021: https://learn.microsoft.com/en-us/visualstudio/releases/2019/release-notes#visual-studio-2019-version-1611-releases
@dzenanz @thewtex What do you think?

I am not sure. If the compiler bug would be something that stops compilation, we should definitely maintain the patch, but being only a warning in an old compiler, easy to update...
I agree, if this would be happening in gcc, which is usually frozen in non-rolling distros like Ubuntu, we should be patching it as well.
It's close call, but I think is not worth to keep the patch in ITK. The optimal would be to be handled in upstream Eigen. Curious to hear other's people opinions though.

I agree. Old compilers get a warning, newer ones don't. Who minds the warning, can update MSVC.

I agree. Old compilers get a warning, newer ones don't. Who minds the warning, can update MSVC.

Ok but one has to know that the problem is the compiler version... I wouldn't have guessed without Niels' input.

It might still be interesting to know why this particular warning popped up just now, as it seems like the MSVC compiler bug was around for a long time already. Is there one specific recent Eigen commit that triggered the warning? Do we expect other ITK users to soon experience the same issue? Or is it just very coincidental?
If it's unlikely to happen again to other users very soon, I guess we might just ignore the issue for now. And then maybe drop the older VS2019 versions (from before the compiler bug fix) after the release of ITK v5.4.

Eigen was updated to follow master @N-Dekker
See #4265


Bounce Rules

Hello,
Could anyone tell me where to locate bounce code rules?
I mean how Postal read bounce codes to determine either soft or hard fail.
For example: 553 5.3.0 (A code like this says it is hardfails whereas in PMTA it is soft. Sincerely, it supposed to be soft and that is what Postal has been lacking behind for some times now)
I need the file location where the codes/rules are.
Thanks

I think that is mostly triggered here https://github.com/postalhq/postal/blob/ed7889a40e1d777f1d80821043562ab18b04766e/lib/postal/smtp_sender.rb#L171-L176
The error code you mentioned 553 is greater than 500 implying the message won't be able to be delivered hence the hard fail. See also https://www.serversmtp.com/smtp-error/

Thanks @willpower232 ,
"553 5.3.0 alpd681 DNSBL:RBL 521< 51.xxx.x.xx >_is_blocked.For assistance forward this error to<EMAIL_ADDRESS>The same type of error above should be soft and not hardfail because it is a temporary things.
That is why PMTA is still more powerful because same error code is regards as softfail on PMTA.
It should not be regard as hardfail or permanent error because even after Postal said hardfail, there was still button option to "Redeliver the message" I clicked on the redeliver button and the message was again sent successfully.
Some of the ISP may block an IP for some reasons. Sometimes because IP may be cold, reputation e.t.c and after some hours their system automatically release the IP from being blocked. But since Postal is marking them as hardfail, there's no way Postal could automatically redeliver the message except you manually click on the "Redeliver" button.
This issue also very relate to this #266 and also #787 and it hasn't yet be worked on.
Postal is lacking a lot of futures even as it is good with great UI.
How I wish the developer could put more effort to make Postal great.
If it requires donation, we would donate.
Thanks for your help tho.

I understand the annoyance, I'd say this is a complicated topic and worthy of input from someone who is more familiar with the SMTP standards and RFCs.
I'd imagine that the current line is drawn between problems that are solved by time, like servers being offline, and problems that require manual intervention, like being blocked or emailing an address that doesn't exist.
Postal is using the one exception Ruby provides for this purpose and whilst that seems fine at a casual glance, it may not be the completely correct interpretation or it may be other email providers using the status codes inappropriately.


[core] OrphanFilesClean now support branches

Purpose
Currently OrphanFilesClean cannot handle data files created from branches and will mistakenly delete them. This PR modifies OrphanFilesClean so that it can support data from branches.
Tests
IT cases.
API and Format
No format changes.
Documentation
No new feature.

+1


Change buttons layout

I really love some of the recent design changes to Kanboard and the addition of a theme manager plugin is awesome!
But there is one very important limitation to theming right now, which is the fact that the icons are not included in links. I proposed a PR some time ago to change the UrlHelper::link() function in order to include the icon when necessary. My proposal is the following:

Use the normal UrlHelper::link() for actual links (the blue ones without icons)
Create another helper function UrlHelper::button() that includes an optional icon parameter for buttons

This requires important changes throughout the whole code base, but I think it would be worth it to improve theming. I'm willing to provide a pull request implementing this change for all buttons if you want. @fguillot what do you think?

Actually, I merged and modified your helper from your PR, UrlHelper::button() is available: https://github.com/fguillot/kanboard/blob/master/app/Helper/UrlHelper.php#L43
However, only few links use this helper at the moment.

Oh, I didn't notice... Great!
I will try to submit a PR to change the remaining icon links next week-end or so.


[0.8.0 Dev] Scales status check failing

When I try to start my server I see this warning though I know scales is running

Did you follow the link in that message to accept the SSL certificate?

Yep

What happens if you try to ping Scales from the server PufferPanel is running on. This error shows up when Socket.IO cannot connect to Scales, so either Scales isn't running, or there is a firewall issue.

I can't reproduce this error at all, any more details about it, perhaps errors from your browser console?