lint-staged hang for nx monorepo

Description

Steps to reproduce
checkout develop branch
git clone https://github.com/xmlking/ngx-starter-kit -b develop
run  lint-staged
npx lint-staged
this command hang forever.
you can run lint commands successfully e.g.
npm run affected:lint  -- --uncommitted --fix --parallel
if you remove --fix --parallel from lint-staged  command  then the lint-staged works
Debug Logs

expand to view
npx lint-staged -d
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
  lint-staged:find-bin Loaded package.json using `process.cwd()` +0ms
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Developer/Work/SPA/ngx-starter-kit/package.json`:
  lint-staged { '{apps,libs}/**/*.{ts,json,md,scss}':
  lint-staged    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged      'npm run format:write -- --uncommitted',
  lint-staged      'git add' ] } +3ms
  lint-staged:cfg Normalizing config +0ms
  lint-staged:cfg Validating config +2ms
Running lint-staged with the following config:
{
  linters: {
    '{apps,libs}/**/*.{ts,json,md,scss}': [
      'npm run affected:lint  -- --uncommitted --fix --parallel',
      'npm run format:write -- --uncommitted',
      'git add'
    ]
  },
  concurrent: true,
  chunkSize:<PHONE_NUMBER>740991,
  globOptions: {
    matchBase: true,
    dot: true
  },
  ignore: [],
  subTaskConcurrency: 1,
  renderer: 'verbose'
}
  lint-staged:run Running all linter scripts +0ms
  lint-staged:run Resolved git directory to be `/Developer/Work/SPA/ngx-starter-kit` +1ms
  lint-staged:run Loaded list of staged files in git:
  lint-staged:run [ 'package.json',
  lint-staged:run   'package-lock.json',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:run   'libs/chat-box/src/lib/services/speech-to-text.service.ts',
  lint-staged:run   'PLAYBOOK.md' ] +29ms
  lint-staged:gen-tasks Generating linter tasks +0ms
  lint-staged:cfg Normalizing config +34ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '{apps,libs}/**/*.{ts,json,md,scss}',
  lint-staged:gen-tasks   commands:
  lint-staged:gen-tasks    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged:gen-tasks      'npm run format:write -- --uncommitted',
  lint-staged:gen-tasks      'git add' ],
  lint-staged:gen-tasks   fileList:
  lint-staged:gen-tasks    [ '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] } +17ms
Stashing changes... [started]
Stashing changes... [skipped]
→ No partially staged files found...
Running linters... [started]
Running tasks for {apps,libs}/**/*.{ts,json,md,scss} [started]
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'npm run affected:lint  -- --uncommitted --fix --parallel', 'npm run format:write -- --uncommitted', 'git add' ] +0ms
  lint-staged:find-bin Resolving binary for command `npm run affected:lint  -- --uncommitted --fix --parallel` +206ms
  lint-staged:find-bin Binary for `npm run affected:lint  -- --uncommitted --fix --parallel` resolved to `/Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm` +3ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `npm run format:write -- --uncommitted` +0ms
  lint-staged:find-bin Resolving binary for `npm` from cache +0ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `git add` +0ms
  lint-staged:find-bin Binary for `git add` resolved to `/usr/local/bin/git` +1ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +1ms
npm run affected:lint  -- --uncommitted --fix --parallel [started]
  lint-staged:task bin: /Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm +0ms
  lint-staged:task args: [ 'run',
  lint-staged:task   'affected:lint',
  lint-staged:task   '--',
  lint-staged:task   '--uncommitted',
  lint-staged:task   '--fix',
  lint-staged:task   '--parallel',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +1ms

Environment

OS:
Node.js:  10
lint-staged:  v8.0.2

I don't know how to get debug logs. it just hangs will following logs. please advise how to produce debug logs!
 npx lint-staged
  ↓ Stashing changes... [skipped]
    → No partially staged files found...
  ❯ Running linters...
    ❯ Running tasks for {apps,libs}/**/*.{ts,json,md,scss}
      ⠸ npm run affected:lint  -- --uncommitted --fix --parallel
        npm run format:write -- --uncommitted
        git add

the command hangs after this logs
npx lint-staged -d
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
  lint-staged:find-bin Loaded package.json using `process.cwd()` +0ms
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Developer/Work/SPA/ngx-starter-kit/package.json`:
  lint-staged { '{apps,libs}/**/*.{ts,json,md,scss}':
  lint-staged    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged      'npm run format:write -- --uncommitted',
  lint-staged      'git add' ] } +3ms
  lint-staged:cfg Normalizing config +0ms
  lint-staged:cfg Validating config +2ms
Running lint-staged with the following config:
{
  linters: {
    '{apps,libs}/**/*.{ts,json,md,scss}': [
      'npm run affected:lint  -- --uncommitted --fix --parallel',
      'npm run format:write -- --uncommitted',
      'git add'
    ]
  },
  concurrent: true,
  chunkSize:<PHONE_NUMBER>740991,
  globOptions: {
    matchBase: true,
    dot: true
  },
  ignore: [],
  subTaskConcurrency: 1,
  renderer: 'verbose'
}
  lint-staged:run Running all linter scripts +0ms
  lint-staged:run Resolved git directory to be `/Developer/Work/SPA/ngx-starter-kit` +1ms
  lint-staged:run Loaded list of staged files in git:
  lint-staged:run [ 'package.json',
  lint-staged:run   'package-lock.json',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:run   'libs/chat-box/src/lib/services/speech-to-text.service.ts',
  lint-staged:run   'PLAYBOOK.md' ] +29ms
  lint-staged:gen-tasks Generating linter tasks +0ms
  lint-staged:cfg Normalizing config +34ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '{apps,libs}/**/*.{ts,json,md,scss}',
  lint-staged:gen-tasks   commands:
  lint-staged:gen-tasks    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged:gen-tasks      'npm run format:write -- --uncommitted',
  lint-staged:gen-tasks      'git add' ],
  lint-staged:gen-tasks   fileList:
  lint-staged:gen-tasks    [ '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] } +17ms
Stashing changes... [started]
Stashing changes... [skipped]
→ No partially staged files found...
Running linters... [started]
Running tasks for {apps,libs}/**/*.{ts,json,md,scss} [started]
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'npm run affected:lint  -- --uncommitted --fix --parallel', 'npm run format:write -- --uncommitted', 'git add' ] +0ms
  lint-staged:find-bin Resolving binary for command `npm run affected:lint  -- --uncommitted --fix --parallel` +206ms
  lint-staged:find-bin Binary for `npm run affected:lint  -- --uncommitted --fix --parallel` resolved to `/Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm` +3ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `npm run format:write -- --uncommitted` +0ms
  lint-staged:find-bin Resolving binary for `npm` from cache +0ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `git add` +0ms
  lint-staged:find-bin Binary for `git add` resolved to `/usr/local/bin/git` +1ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +1ms
npm run affected:lint  -- --uncommitted --fix --parallel [started]
  lint-staged:task bin: /Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm +0ms
  lint-staged:task args: [ 'run',
  lint-staged:task   'affected:lint',
  lint-staged:task   '--',
  lint-staged:task   '--uncommitted',
  lint-staged:task   '--fix',
  lint-staged:task   '--parallel',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +1ms

if i change my command (removed  --parallel ) npm run affected:lint  -- --uncommitted --fix=true
I am getting following error :
lint-staged:git Error: Error: Command failed: git apply -v --whitespace=nowarn --reject --recount --unidiff-zero
lint-staged:git error: unrecognized input
npx lint-staged -d
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
  lint-staged:find-bin Loaded package.json using `process.cwd()` +0ms
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Developer/Work/SPA/ngx-starter-kit/package.json`:
  lint-staged { '{apps,libs}/**/*.{ts,json,md,scss}':
  lint-staged    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged      'npm run format:write -- --uncommitted',
  lint-staged      'git add' ] } +3ms
  lint-staged:cfg Normalizing config +0ms
  lint-staged:cfg Validating config +2ms
Running lint-staged with the following config:
{
  linters: {
    '{apps,libs}/**/*.{ts,json,md,scss}': [
      'npm run affected:lint  -- --uncommitted --fix --parallel',
      'npm run format:write -- --uncommitted',
      'git add'
    ]
  },
  concurrent: true,
  chunkSize:<PHONE_NUMBER>740991,
  globOptions: {
    matchBase: true,
    dot: true
  },
  ignore: [],
  subTaskConcurrency: 1,
  renderer: 'verbose'
}
  lint-staged:run Running all linter scripts +0ms
  lint-staged:run Resolved git directory to be `/Developer/Work/SPA/ngx-starter-kit` +1ms
  lint-staged:run Loaded list of staged files in git:
  lint-staged:run [ 'package.json',
  lint-staged:run   'package-lock.json',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:run   'libs/chat-box/src/lib/services/speech-to-text.service.ts',
  lint-staged:run   'PLAYBOOK.md' ] +29ms
  lint-staged:gen-tasks Generating linter tasks +0ms
  lint-staged:cfg Normalizing config +34ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '{apps,libs}/**/*.{ts,json,md,scss}',
  lint-staged:gen-tasks   commands:
  lint-staged:gen-tasks    [ 'npm run affected:lint  -- --uncommitted --fix --parallel',
  lint-staged:gen-tasks      'npm run format:write -- --uncommitted',
  lint-staged:gen-tasks      'git add' ],
  lint-staged:gen-tasks   fileList:
  lint-staged:gen-tasks    [ '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] } +17ms
Stashing changes... [started]
Stashing changes... [skipped]
→ No partially staged files found...
Running linters... [started]
Running tasks for {apps,libs}/**/*.{ts,json,md,scss} [started]
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'npm run affected:lint  -- --uncommitted --fix --parallel', 'npm run format:write -- --uncommitted', 'git add' ] +0ms
  lint-staged:find-bin Resolving binary for command `npm run affected:lint  -- --uncommitted --fix --parallel` +206ms
  lint-staged:find-bin Binary for `npm run affected:lint  -- --uncommitted --fix --parallel` resolved to `/Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm` +3ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `npm run format:write -- --uncommitted` +0ms
  lint-staged:find-bin Resolving binary for `npm` from cache +0ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `git add` +0ms
  lint-staged:find-bin Binary for `git add` resolved to `/usr/local/bin/git` +1ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +1ms
npm run affected:lint  -- --uncommitted --fix --parallel [started]
  lint-staged:task bin: /Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm +0ms
  lint-staged:task args: [ 'run',
  lint-staged:task   'affected:lint',
  lint-staged:task   '--',
  lint-staged:task   '--uncommitted',
  lint-staged:task   '--fix',
  lint-staged:task   '--parallel',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +1ms
^C/Developer/Work/SPA/ngx-starter-kit on develop*
$ npx lint-staged -d
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
  lint-staged:find-bin Loaded package.json using `process.cwd()` +0ms
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Developer/Work/SPA/ngx-starter-kit/package.json`:
  lint-staged { '{apps,libs}/**/*.{ts,json,md,scss}':
  lint-staged    [ 'npm run affected:lint  -- --uncommitted --fix=true',
  lint-staged      'npm run format:write -- --uncommitted',
  lint-staged      'git add' ] } +4ms
  lint-staged:cfg Normalizing config +0ms
  lint-staged:cfg Validating config +2ms
Running lint-staged with the following config:
{
  linters: {
    '{apps,libs}/**/*.{ts,json,md,scss}': [
      'npm run affected:lint  -- --uncommitted --fix=true',
      'npm run format:write -- --uncommitted',
      'git add'
    ]
  },
  concurrent: true,
  chunkSize:<PHONE_NUMBER>740991,
  globOptions: {
    matchBase: true,
    dot: true
  },
  ignore: [],
  subTaskConcurrency: 1,
  renderer: 'verbose'
}
  lint-staged:run Running all linter scripts +0ms
  lint-staged:run Resolved git directory to be `/Developer/Work/SPA/ngx-starter-kit` +1ms
  lint-staged:run Loaded list of staged files in git:
  lint-staged:run [ 'package.json',
  lint-staged:run   'package-lock.json',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:run   'libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:run   'libs/chat-box/src/lib/services/speech-to-text.service.ts',
  lint-staged:run   'PLAYBOOK.md' ] +29ms
  lint-staged:gen-tasks Generating linter tasks +0ms
  lint-staged:cfg Normalizing config +34ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '{apps,libs}/**/*.{ts,json,md,scss}',
  lint-staged:gen-tasks   commands:
  lint-staged:gen-tasks    [ 'npm run affected:lint  -- --uncommitted --fix=true',
  lint-staged:gen-tasks      'npm run format:write -- --uncommitted',
  lint-staged:gen-tasks      'git add' ],
  lint-staged:gen-tasks   fileList:
  lint-staged:gen-tasks    [ '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:gen-tasks      '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] } +15ms
Stashing changes... [started]
  lint-staged:git Stashing files... +0ms
  lint-staged:git Running git command [ 'write-tree' ] +1ms
  lint-staged:git Running git command [ 'add', '.' ] +18ms
  lint-staged:git Running git command [ 'write-tree' ] +34ms
  lint-staged:git Running git command [ 'read-tree', '9eb8e9c7758c053858533048f8f025038645a6db' ] +16ms
  lint-staged:git Running git command [ 'checkout-index', '-af' ] +68ms
  lint-staged:git Done stashing files! +803ms
Stashing changes... [completed]
Running linters... [started]
Running tasks for {apps,libs}/**/*.{ts,json,md,scss} [started]
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'npm run affected:lint  -- --uncommitted --fix=true', 'npm run format:write -- --uncommitted', 'git add' ] +0ms
  lint-staged:find-bin Resolving binary for command `npm run affected:lint  -- --uncommitted --fix=true` +1s
  lint-staged:find-bin Binary for `npm run affected:lint  -- --uncommitted --fix=true` resolved to `/Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm` +3ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `npm run format:write -- --uncommitted` +0ms
  lint-staged:find-bin Resolving binary for `npm` from cache +0ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +0ms
  lint-staged:find-bin Resolving binary for command `git add` +0ms
  lint-staged:find-bin Binary for `git add` resolved to `/usr/local/bin/git` +1ms
  lint-staged:task ✔  OS: darwin; File path chunking unnecessary +1ms
npm run affected:lint  -- --uncommitted --fix=true [started]
  lint-staged:task bin: /Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm +1ms
  lint-staged:task args: [ 'run',
  lint-staged:task   'affected:lint',
  lint-staged:task   '--',
  lint-staged:task   '--uncommitted',
  lint-staged:task   '--fix=true',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +0ms
npm run affected:lint  -- --uncommitted --fix=true [completed]
npm run format:write -- --uncommitted [started]
  lint-staged:task bin: /Developer/Work/SPA/ngx-starter-kit/node_modules/.bin/npm +4m
  lint-staged:task args: [ 'run',
  lint-staged:task   'format:write',
  lint-staged:task   '--',
  lint-staged:task   '--uncommitted',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +0ms
npm run format:write -- --uncommitted [completed]
git add [started]
  lint-staged:task bin: /usr/local/bin/git +2s
  lint-staged:task args: [ 'add',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts',
  lint-staged:task   '/Developer/Work/SPA/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts' ] +0ms
  lint-staged:task opts: { reject: false } +1ms
git add [completed]
Running tasks for {apps,libs}/**/*.{ts,json,md,scss} [completed]
Running linters... [completed]
Updating stash... [started]
  lint-staged:git Running git command [ 'write-tree' ] +4m
Updating stash... [completed]
Restoring local changes... [started]
  lint-staged:git Restoring working copy +38ms
  lint-staged:git Running git command [ 'read-tree', '7dfe02add6ad13285c9b703a6717e3c5d321b45f' ] +0ms
  lint-staged:git Running git command [ 'checkout-index', '-af' ] +40ms
  lint-staged:git Restoring index with formatting changes +625ms
  lint-staged:git Running git command [ 'read-tree', '9eb8e9c7758c053858533048f8f025038645a6db' ] +0ms
  lint-staged:git Generating diff between trees 9eb8e9c7758c053858533048f8f025038645a6db and 9eb8e9c7758c053858533048f8f025038645a6db... +42ms
  lint-staged:git Running git command [ 'diff-tree',
  '--ignore-submodules',
  '--binary',
  '--no-color',
  '--no-ext-diff',
  '--unified=0',
  '9eb8e9c7758c053858533048f8f025038645a6db',
  '9eb8e9c7758c053858533048f8f025038645a6db' ] +0ms
  lint-staged:git Running git command [ 'apply',
  '-v',
  '--whitespace=nowarn',
  '--reject',
  '--recount',
  '--unidiff-zero' ] +15ms
  lint-staged:git Could not apply patch to the stashed files cleanly +13ms
  lint-staged:git Error: Error: Command failed: git apply -v --whitespace=nowarn --reject --recount --unidiff-zero
  lint-staged:git error: unrecognized input
  lint-staged:git
  lint-staged:git
  lint-staged:git     at execGit (/Developer/Work/SPA/ngx-starter-kit/node_modules/lint-staged/src/gitWorkflow.js:27:11)
  lint-staged:git     at process._tickCallback (internal/process/next_tick.js:68:7) +1ms
  lint-staged:git Patch content: +0ms
  lint-staged:git
  lint-staged:git  +0ms
  lint-staged:git Found conflicts between formatters and local changes. Formatters changes will be ignored for conflicted hunks. +0ms
  lint-staged:git Deleted files and folders:
  lint-staged:git   +4ms
Restoring local changes... [completed]
  lint-staged linters were executed successfully! +4m

I’m not sure what Is your command is doing. Mind including this as well?

npm run affected:lint -- --uncommitted  command will lint only new uncommitted files. --fix option will fix tslint issues.  --parallel option enable to run job in parallel
nx docs:
https://blog.nrwl.io/nrwl-nx-6-1-better-dev-ergonomics-faster-builds-3198bb310e39
https://nrwl.io/nx/guide-nx-workspace
my code base: https://github.com/xmlking/ngx-starter-kit

I don't quite understand why in the first run you didn't have partially staged files where in the second you have them. Is this intentional?
I still don't understand how is this related to lint-staged. If the command hangs then this means it's doing something or hangs. lint-staged waits for it to report.
lint-staged:git error: unrecognized input does' t look good to me but the task should have been completed since it looks like it is a no-op: lint-staged:git Generating diff between trees 9eb8e9c7758c053858533048f8f025038645a6db and 9eb8e9c7758c053858533048f8f025038645a6db... +42ms

@okonet first thanks for maintaining  this great tool.
this command npm run affected:lint -- --uncommitted --fix --parallel  itself works without hung issues.   but when I invoke npx lint-staged with following setting, it  hangs and control never returns even after 30 min.
  "lint-staged": {
    "{apps,libs}/**/*.{ts,json,md,scss}": [
      "npm run affected:lint  -- --uncommitted --fix --parallel",
      "npm run format:write -- --uncommitted",
      "git add"
    ]
  }

no hang issues if I use following settings
```json
  "lint-staged": {
    "{apps,libs}/**/*.{ts,json,md,scss}": [
      "npm run affected:lint  -- --uncommitted",
      "npm run format:write -- --uncommitted",
      "git add"
    ]
  }

I guess nx's affected:lint -parallel option might be interfering with how lint-staged works.   I will open issue with https://github.com/nrwl/nx to see, if there is any problem from nx side.
this is not critical, if you like me to close, I can close this issue.

Running into the same issue. Strange because I have my company monorepo with the same configuration and it's not a problem at all. This is a new package and it just hangs and hangs at the end of the run. Showing complete when I run with -d.

This happened for me as well many times while I was setting up new monorepo. Not sure how it works, but commit with new package usually fails, then if make commit with --no-verify next one could be fine. I guess in my case this could be related to the fact that monorepo setup is unstable.

running into the same issue here as well.. has anyone found a stable solution to address this issue here?!

This might be because the ng command treats the staged filepaths added by lint-staged as flags rather than input files.
For what it's worth, when trying to run the command found in the debug log it also fails:

View logs
~/git/ngx-starter-kit develop*
❯ npm run affected:lint -- --uncommitted --fix --parallel /git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts /git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts /git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts

><EMAIL_ADDRESS>affected:lint /git/ngx-starter-kit
> nx affected:lint "--uncommitted" "--fix" "--parallel" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts"

>  NX  Running target lint for projects:

  - chat-box
  - dashboard
  - webapp

  With flags: /git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts /git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts /git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts --fix=true

———————————————————————————————————————————————

><EMAIL_ADDRESS>ng /git/ngx-starter-kit
> ng "lint" "chat-box" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts" "--fix=true"

><EMAIL_ADDRESS>ng /git/ngx-starter-kit
> ng "lint" "dashboard" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts" "--fix=true"

><EMAIL_ADDRESS>ng /git/ngx-starter-kit
> ng "lint" "webapp" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts" "--fix=true"

Unknown option: '/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts'
Unknown option: '/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts'
Unknown option: '/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>ng: `ng "lint" "chat-box" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts" "--fix=true"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>ng script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>ng script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>ng script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /.npm/_logs/2019-09-17T15_35_42_358Z-debug.log

———————————————————————————————————————————————

>  NX   ERROR  Running target "lint" for affected projects failed

  Failed projects:

  - chat-box
  - dashboard
  - webapp

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>affected:lint: `nx affected:lint "--uncommitted" "--fix" "--parallel" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts" "/git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts" "/git/ngx-starter-kit/libs/chat-box/src/lib/services/speech-to-text.service.ts"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>affected:lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /.npm/_logs/2019-09-17T15_35_42_384Z-debug.log

I'd wager to get it working you should write the lint-staged config in JS and omit the filenames:
// lint-staged.config.js
module.exports = {
  '{apps,libs}/**/*.{ts,json,md,scss}': files => {
    const fileArg = files.join(' ')
    return [
      "npm run affected:lint  -- --uncommitted --fix --parallel", // <-- no files
      "npm run format:write -- --uncommitted", // <-- no files
      `git add ${fileArg}`
    ]
  }
}

This is of course assuming the --uncommitted flag means that the command itself finds the files it will lint and format.

Dear @iiroj ,
thanks for your response. However, as i understood, the --uncommitted flag automatically finds the files that have been changed but not committed yet. It then calls the command for each of those files.
If i run the command as is (i.e., directly copy npm run affected:lint -- --uncommited --fix --parallel and paste it in the terminal) it works fine and does not throw any error! However, if i run this command "automatically" via git (does not matter which client i use, i.e,. GitHub Desktop, normal Git Terminal, ...) it fails with described error..

Yes, npm run affected:lint -- --uncommited --fix --parallel works, but if you append it with the absolute filepaths of staged files (as lint-staged does), it will fail because ng treats them as flags.
So after staging changes in /lib/directives/router-link-match/router-link-match.directive.spec.ts, this fails:
npm run affected:lint -- --uncommitted --fix --parallel /git/ngx-starter-kit/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts
Can you try running it with the example configuration I provided?

Dear @iiroj , thanks for coming back with another idea. I tried your approach (i.e., moving the config to a dedicated file and not having it in the package.json).
This separate config file is used - i can see this, because i changed the glob-file-pattern (i.e., i removed the html type). However, it still shows the respective error.
However, when digging into the nx affected:lint command, i found a --files param, that takes a list of all files to be used - this can be used as a replacement for the --uncommited.
In this context, i changed your config file from above to this one here:
module.exports = {
  '{apps,libs}/**/*.{ts,json,md,scss,html}': files => {
    return [
      `npm run affected:lint -- --fix --parallel --files=${files.join(',')}`,
      'npm run format:write -- --uncommitted',
      `git add ${files.join(' ')}`,
    ];
  },
};

Note that for the affected:lint you need to separate the files by , and for the git command by ' '. For now, this command runs as expected.. I tried a commit that previously failed and it now properly commits. I will keep an eye :eyes: on this :laughing:
Thanks a lot for pointing me into the (hopefully) right direction!  A lot of issues with Angular seem to be solvable by using the new javascript syntax for configuration.

Apparently this solution no longer works with Nx 9.1:
Here's the output that I get (with some debug statements added in):
husky > pre-commit (node v12.4.0)

Executing lint-staged based on lint-staged.config.js
Lint command that will be executed:  npm run affected:lint -- --fix --parallel --files=[filename]
Format command that will be executed:  npm run format:all
Lint command that will be executed:  npm run affected:lint -- --fix --parallel --files=/home/sebastien/wks/didowi/apps/cli/tslint.json,/home/sebastien/wks/didowi/apps/gate/tslint.json,/home/sebastien/wks/didowi/apps/web/tslint.json,/home/sebastien/wks/didowi/libs/gate-api/tslint.json,/home/sebastien/wks/didowi/libs/shared/tslint.json,/home/sebastien/wks/didowi/libs/testing/tslint.json
Format command that will be executed:  npm run format:all
Lint command that will be executed:  npm run affected:lint -- --fix --parallel --files=[file],[file],[file],[file],[file],[file]
Format command that will be executed:  npm run format:all
  ✔ Preparing...
  ❯ Running tasks...
    ❯ Running tasks for {apps,libs}/**/*.{ts,json,md,scss,html}
      ✖ npm run affected:lint -- --fix --parallel --files=[file]
        npm run format:all
  ↓ Applying modifications... [skipped]
    → Skipped because of errors from tasks.
  ✔ Reverting to original state...
  ✔ Cleaning up...

✖ npm found some errors. Please fix them and try committing again.

><EMAIL_ADDRESS>affected:lint /home/sebastien/wks/didowi
> nx affected:lint "--fix" "--parallel" "--files=/home/sebastien/wks/didowi/apps/cli/tslint.json,/home/sebastien/wks/didowi/apps/gate/tslint.json,/home/sebastien/wks/didowi/apps/web/tslint.json,/home/sebastien/wks/didowi/libs/gate-api/tslint.json,/home/sebastien/wks/didowi/libs/shared/tslint.json,/home/sebastien/wks/didowi/libs/testing/tslint.json"

/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/yargs/yargs.js:1109
    else throw err
         ^

RangeError: path should be a `path.relative()`d string, but got "/home/sebastien/wks/didowi/apps/cli/tslint.json"
  at throwError (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/ignore/index.js:354:9)
  at checkPath (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/ignore/index.js:375:12)
  at Ignore._test (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/ignore/index.js:483:5)
  at Ignore.ignores (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/ignore/index.js:518:17)
  at /home/sebastien/wks/didowi/node_modules/@nrwl/workspace/src/core/file-utils.js:25:43
  at Array.filter (<anonymous>)
  at Object.calculateFileChanges (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/src/core/file-utils.js:25:23)
  at Object.affected (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/src/command-line/affected.js:19:78)
  at Object.handler (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/src/command-line/nx-commands.js:46:138)
  at Object.runCommand (/home/sebastien/wks/didowi/node_modules/@nrwl/workspace/node_modules/yargs/lib/command.js:235:44)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>affected:lint: `nx affected:lint "--fix" "--parallel" "--files=/home/sebastien/wks/didowi/apps/cli/tslint.json,/home/sebastien/wks/didowi/apps/gate/tslint.json,/home/sebastien/wks/didowi/apps/web/tslint.json,/home/sebastien/wks/didowi/libs/gate-api/tslint.json,/home/sebastien/wks/didowi/libs/shared/tslint.json,/home/sebastien/wks/didowi/libs/testing/tslint.json"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>affected:lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/sebastien/.npm/_logs/2020-03-10T21_16_49_048Z-debug.log
husky > pre-commit hook failed (add --no-verify to bypass)

I could fix it with the following changes:
// lint-staged configuration: https://github.com/okonet/lint-staged
// Workaround for issue with NX: https://github.com/okonet/lint-staged/issues/522

const path = require("path");
const cwd = process.cwd();

console.log("Executing lint-staged based on lint-staged.config.js");

//console.log("relative: ", path.relative(__dirname, "/home/sebastien/wks/didowi/apps"));

module.exports = {
  "{apps,libs}/**/*.{ts,json,md,scss,html}": absolutePaths => {
    const relativePaths = absolutePaths.map(file => path.relative(cwd, file))
    const filesList = relativePaths.join(",");

    const lintCommand = `npm run affected:lint -- --fix --parallel --files=${filesList}`;
    console.debug("Lint command that will be executed: ", lintCommand);
    const formatCommand = "npm run format:all";
    console.debug("Format command that will be executed: ", formatCommand);

    return [lintCommand, formatCommand];
  },
};

Dear @dsebastien ,
i did something similar. My code, however, looks like this:
const path = require('path');

module.exports = {
  '{apps,libs}/**/*.{ts,json,md,scss,html}': files => {
    const cwd = process.cwd();
    const relPaths = files.map(file => {
      return path.relative(cwd, file);
    });

    return [
      `npm run affected:lint -- --fix --parallel --files=${relPaths.join(',')}`,
      'npm run format:write -- --uncommitted',
      `git add ${files.join(' ')}`,
    ];
  },
};

Note, that my lint-staged script also adds them back to the git. However, the git add command still needs the absolute paths, so i need both.. kind of stupid, but whatever :D

Hi all,
I'm not fully understanding why you nees to run the affected:lint script inside lintstaged. Lintstaged will provide the paths to the files that changed, so we only need to lint these files, not the whole projects affected by these paths, right? By the way, I don't find any use case for affected:lint script. Could someone clarify this?

Hi all,
I'm not fully understanding why you nees to run the affected:lint script inside lintstaged. Lintstaged will provide the paths to the files that changed, so we only need to lint these files, not the whole projects affected by these paths, right? By the way, I don't find any use case for affected:lint script. Could someone clarify this?

Enlightening! You saved my life!
  "scripts": {
+    "eslint:fix": "eslint --fix",
  },
  "lint-staged": {
    "**/*.{ts,tsx,js,jsx,json,md,scss,html}": [
-      "npm run affected:lint  -- --uncommitted --parallel -- --fix",
+      "npm run eslint:fix",
      "npm run format:write -- --uncommitted"
    ]

Lint like flight~~~

So we played around with this for quite a while and it seems that there is an issue when using the npm script as a base:
npm run affected:llint -- --fix --parallel --uncommitted
We could not find any variation based on the npm script that worked. However when simply running the command against nx directly, everything worked like expected right away:
nx affected:lint --fix --parallel --uncommitted

I ran into a hanging issue with lint-staged too. I've located the root cause of mine: https://github.com/okonet/lint-staged/issues/1019
Probably this will provide some hints on analyzing yours.


Mono/C#: Fix wrong HintPath for package in GodotTools

It was grabbing the file from somewhere else in my builds so I didn't notice this.

Thanks!


[GH-801] Add slow fields as pools in game configuration

Motivation
We need to implement two new kind of enviromental hazards:

The map needs to spawn pools that apply an slowness effects to players that go over them
We need to add a new kind of obstacle that allow projectiles to go through but not players

Closes #801
Summary of changes

Added "lake" type of obstacles that allow projectiles to go over them but not players
Added pools to the map config that will spawn without a defined duration applying a slowness effect to the players
Added new forms to the game config for easy edit of pools and obstacles in the map configurations

How to test it?

Run the seeds  with make start
Try to play a match in the game client and you should see that two previous obstacles are now pools that slows you down

Checklist

[x] Tested the changes locally.
[x] Reviewed the changes on GitHub, line by line.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Left some comments to take into account but here's a weird error that's popping out everytime I try to edit some floating point values 🤔
Screen.Recording.2024-07-31.at.18.41.19.mov

Yeah that was a missing step="any" issue 😅 added in both new forms

Nice work with those changes! but I'm getting this error in unity 😢

It gets triggered every time I enter into a match

Nice work with those changes! but I'm getting this error in unity 😢
It gets triggered every time I enter into a match

Yeah that was an error in the way we instantiate pools in the unity client, you should test this pr whit This client pr

Nice! the game seems to be working and the changes are okay! one more thing to address:
You have added the edit map pools in the map configuration edit but not in the show view

Nice! the game seems to be working and the changes are okay! one more thing to address: You have added the edit map pools in the map configuration edit but not in the show view

Done! but the buttons will only be visible if the map has any bush or obstacle since the form would crash otherwise, let's address bush creation in other pr


IDE Reporter: optional config parameter to record not only survived but also killed mutations

This is how the output with no survived mutants looks like:
Survived mutants (0/1):

Mutation score: 100%

Would be great to have a command-line option that prints killed mutants.
This is how it looks like when the mutants have survived:
Survived mutants (1/1):

/sandbox/mull/tests-lit/tests/mutations/math/cxx_add_to_sub/02_basic/sample.cpp:11:12: warning: Replaced + with -
  return a + b;
           ^
Mutation score: 0%

We could have something like this:
Killed mutants (1/2):

/sandbox/mull/tests-lit/tests/mutations/math/cxx_add_to_sub/02_basic/sample.cpp:11:12: warning: Replaced + with -
  return a + b;
             ^

Survived mutants (1/2):

/sandbox/mull/tests-lit/tests/mutations/math/cxx_add_to_sub/02_basic/sample.cpp:11:12: warning: Replaced + with -
  return a + b;
           ^

Mutation score: 50%

Also the option itself: should it be -ide-reporter-show-killed?

Closed by #640.


Add script to rearrange dump files into directory tree

This PR adds script to rearrange dump files to be stored in several "levels" of folders so that they are more manageable.

Thank you for the pull request. I'm really sorry that I didn't give a reply earlier.
Unfortunately, the dumper/blobs are now deprecated in favor of a better more direct approach.


High compute() time when using FITS cube

Hello,
I am working on a IO class to read and write FITS from and to dask arrays. I wanted to start by testing your implementation, however, I have tested the DelayedFITS class with a cube of shape 546,1024,1024 and when doing compute() the time for it increases a lot. It takes 41.5s to bring all the cube to memory. Is that because when doing the getitem the compute is done for each one of the frequencies? Let me know your thoughts,
Cheers

Hi @miguelcarcamov,
Thanks for this. I've noticed myself that this is sometimes slow. I'll do some profiling to see where we might be hitting bottlenecks. One aspect might be the chunk size in the resulting Dask array. In your test, what was the chunksize?
If you have any suggestions for improvements, please let me know!

@miguelcarcamov -- I've just pushed an update that exposes the chunk kwarg from the dask.array creation. Setting the chunksize to the full image size gives the same read times as using no dask at all. Some initial playing with different chunk sizes is resulting with memory issues on my laptop's LocalCluster. It also seems that it is a single worker that is reading most of the data into memory. I'll need to do some more playing with how the workers are assigned, maybe. Let me know if you have any thoughts

Hi @AlecThomson I don't think that the problem is the chunksize. I did this test:
def read(self):
     hdul = fits.open(self.input_name, memmap=self.memmap, lazy_load_hdus=self.lazy_load_hdus)
     self.header = hdul[self.hdu].header
     return xr.DataArray(da.from_array(hdul[self.hdu].data), attrs=dict(hdul[self.hdu].header))

And the compute takes less than a second. What I can see is that when having a cube the getitem function won't be the best because I think you will do a compute() operation for each one of the channels in the cube. In turn, if you put the whole cube on the dask array as I am doing, you will do a compute() just once.

Ok, that's interesting! Would you be willing to put in a pull-request with any of these changes?
Is there any downside to leaving the hdul open? Say, in the case of casting many files to arrays?

Yes, sure.
Ah, yes. I forgot to close the hdul on my code. Although it seems that there is no problem is lazy_load_hdus=True

Hi @miguelcarcamov,
Inspired by your comment, I've done a complete rework. Would you like to test this new version? Thanks!

hi @AlecThomson it works good! I would also recommend using x-array maybe? That would allow you to store the header and also coordinates, check it out :). But this works very well :+1:


Kafka tasks fail after resuming for incremental handoff

Affected Version
0.14.0 (This bug was introduced in #6431).
Description
Here is the stack trace.
2019-03-12T02:59:51,878 INFO [appenderator_persist_0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Persist completed with metadata [AppenderatorDriverMetadata{segments={index_kafka_clarity-cloud0_d756771c2863b20_0=[SegmentWithState{segmentIdentifier=clarity-cloud0_2019-03-12T02:00:00.000Z_2019-03-12T03:00:00.000Z_2019-03-12T01:56:11.119Z_10, state=APPENDING}]}, lastSegmentIds={index_kafka_clarity-cloud0_d756771c2863b20_0=clarity-cloud0_2019-03-12T02:00:00.000Z_2019-03-12T03:00:00.000Z_2019-03-12T01:56:11.119Z_10}, callerMetadata={nextPartitions=SeekableStreamPartitions{stream/topic='clarity-cloud0', partitionSequenceNumberMap/partitionOffsetMap={1=103431503737, 4=6100519619, 7=6100600785, 10=6098083460, 13=6101049368, 16=6101000251, 19=6097385400, 22=6100601015, 25=6101101786, 28=6101055354}}}}]
2019-03-12T02:59:52,005 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Pausing ingestion until resumed
2019-03-12T02:59:52,070 INFO [qtp606061176-123] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Persisting Sequences Metadata [[SequenceMetadata{sequenceName='index_kafka_clarity-cloud0_d756771c2863b20_0', sequenceId=0, startOffsets={16=6100335393, 1=103430839175, 19=6096726535, 4=6099861583, 22=6099935437, 7=6099935104, 25=6100439713, 10=6097421649, 28=6100393134, 13=6100392241}, endOffsets={16=6101282427, 1=103431786274, 19=6097668960, 4=6100807623, 22=6100884284, 7=6100884039, 25=6101382663, 10=6098354147, 28=6101340178, 13=6101339869}, assignments=[16, 1, 19, 4, 22, 7, 25, 10, 28, 13], sentinel=false, checkpointed=true}, SequenceMetadata{sequenceName='index_kafka_clarity-cloud0_d756771c2863b20_1', sequenceId=1, startOffsets={16=6101282427, 1=103431786274, 19=6097668960, 4=6100807623, 22=6100884284, 7=6100884039, 25=6101382663, 10=6098354147, 28=6101340178, 13=6101339869}, endOffsets={16=9223372036854775807, 1=9223372036854775807, 19=9223372036854775807, 4=9223372036854775807, 22=9223372036854775807, 7=9223372036854775807, 25=9223372036854775807, 10=9223372036854775807, 28=9223372036854775807, 13=9223372036854775807}, assignments=[16, 1, 19, 4, 22, 7, 25, 10, 28, 13], sentinel=false, checkpointed=false}]]
2019-03-12T02:59:52,086 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Ingestion loop resumed
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[25] to sequence[6101110684].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[10] to sequence[6098092421].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[4] to sequence[6100527087].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[7] to sequence[6100609294].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[22] to sequence[6100609476].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[1] to sequence[103431512339].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[16] to sequence[6101007019].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[19] to sequence[6097392961].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[13] to sequence[6101057094].
2019-03-12T02:59:52,087 INFO [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Seeking partition[28] to sequence[6101057589].
2019-03-12T02:59:52,091 ERROR [task-runner-0-priority-0] org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner - Encountered exception in run() before persisting.
org.apache.druid.java.util.common.ISE: Starting sequenceNumber [6101007019] does not match expected [6101282427] for partition [16]
	at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner.verifyInitialRecordAndSkipExclusivePartition(SeekableStreamIndexTaskRunner.java:1895) ~[druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner.runInternal(SeekableStreamIndexTaskRunner.java:517) [druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner.run(SeekableStreamIndexTaskRunner.java:246) [druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTask.run(SeekableStreamIndexTask.java:166) [druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:419) [druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:391) [druid-indexing-service-0.14.0-iap-pre3.jar:0.14.0-iap-pre3]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_163]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_163]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_163]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_163]

This happens only when setEndOffsets() is called with finish = false which is missing in our unit tests. If finish is false, initialOffsetsSnapshot is updated to the start offsets of the new sequence in setEndOffsets(). However, if there are remaining offsets for a task to consume before starting a new sequence, verifyInitialRecordAndSkipExclusivePartition() can throw an error because the offset of the read record can be smaller than that in intialSequenceSnapshot:
  private boolean verifyInitialRecordAndSkipExclusivePartition(
      final OrderedPartitionableRecord<PartitionIdType, SequenceOffsetType> record,
      final Map<PartitionIdType, SequenceOffsetType> intialSequenceSnapshot
  )
  {
    if (intialSequenceSnapshot.containsKey(record.getPartitionId())) {
      if (record.getSequenceNumber().compareTo(intialSequenceSnapshot.get(record.getPartitionId())) < 0) {
        throw new ISE(
            "Starting sequenceNumber [%s] does not match expected [%s] for partition [%s]",
            record.getSequenceNumber(),
            intialSequenceSnapshot.get(record.getPartitionId()),
            record.getPartitionId()
        );
      }

This error is reproducible in KafkaIndexTaskTest.testIncrementalHandOffReadsThroughEndOffsets() if you set finish to false here.
I'll raise a PR to fix this bug soon.

Did you manage to nail down which specific change in #6431 introduced this bug? I wonder if that part of the patch merits a closer looking-at in general, beyond fixing this bug.

Yeah, verifyInitialRecordAndSkipExclusivePartition was added in #6431. The similar check was done like below before that PR.
            if (record.offset() < endOffsets.get(record.partition())) {
              if (record.offset() != nextOffsets.get(record.partition())) {
                if (ioConfig.isSkipOffsetGaps()) {
                  log.warn(
                      "Skipped to offset[%,d] after offset[%,d] in partition[%d].",
                      record.offset(),
                      nextOffsets.get(record.partition()),
                      record.partition()
                  );
                } else {
                  throw new ISE(
                      "WTF?! Got offset[%,d] after offset[%,d] in partition[%d].",
                      record.offset(),
                      nextOffsets.get(record.partition()),
                      record.partition()
                  );
                }
              }

nextOffsets was updated only by incrementing an offset by 1 whenever reading a record, not in setEndOffsets(). So, after being resumed, the task could read more records to catch up to the assigned end offsets.
Now, verifyInitialRecordAndSkipExclusivePartition checks initialOffsetsSnapshot which is updated on setEndOffsets(). Since verifyInitialRecordAndSkipExclusivePartition checks that record.offset >= initialOffsetsSnapshot, it always throws an error if it tries to read after resume.


#7033: L1_SHARDED config for falcon7b_decode

replace attn_matmul with batch sharded matmuls, 5x improvement on device perf

llm_javelin wormhole_b0 passed:
https://github.com/tenstorrent-metal/tt-metal/actions/runs/8546028217/job/23420648695
llm_javelin_grayskull fails with a performance check fail, same as main:
https://github.com/tenstorrent-metal/tt-metal/actions/runs/8546028217/job/23420648112
post commit models tests passed:
https://github.com/tenstorrent-metal/tt-metal/actions/runs/8545284779

In CI regressions, we track:
(1) end-to-end perf
(2) device-only perf
I see you made some config changes to the end-to-end perf testing but I don't see any updates in the thresholding expected decode times. We should make sure that your perf gains are captured and regressed on. For device-only perf, you should reach out to @mo-tenstorrent

In CI regressions, we track: (1) end-to-end perf (2) device-only perf
I see you made some config changes to the end-to-end perf testing but I don't see any updates in the thresholding expected decode times. We should make sure that your perf gains are captured and regressed on. For device-only perf, you should reach out to @mo-tenstorrent

@cfjchu This totally makes sense. Thanks for reminding. I filed myself a P0 bug to address the expected perf numbers on Monday
https://github.com/tenstorrent-metal/tt-metal/issues/7178
We need to push these changes to main so we can release falcon7b demo to wider audience, unless there are serious issues. I would like to address other issues next week if it is ok.

In CI regressions, we track: (1) end-to-end perf (2) device-only perf
I see you made some config changes to the end-to-end perf testing but I don't see any updates in the thresholding expected decode times. We should make sure that your perf gains are captured and regressed on. For device-only perf, you should reach out to @mo-tenstorrent

@cfjchu This totally makes sense. Thanks for reminding. I filed myself a P0 bug to address the expected perf numbers on Monday
#7178
We need to push these changes to main so we can release falcon7b demo to wider audience, unless there are serious issues. I would like to address other issues next week if it is ok.

@uaydonat sounds good, approved


Persistent deployment environments

This allows a set of deployment parameters (Bindle URL, Hippo URL, etc.) to be saved as an 'environment.'  The current environment is remembered from session to session, and is automatically used for future deployments.  You can switch between environments, or disconnect from all of them.  If the user does a successful deployment when there isn't an environment, we offer to save the parameters as a new environment.
A status bar item shows the current environment in a hover tip, and you can click it to switch environments or open the Hippo dashboard.

@lann It would be great to have something visual like that - it puts the features front of mind in a way that the command palette doesn't.  But I doubt users will have enough environments to make an activity bar worthwhile just for that.  But if we feel some kind of browsing capability is useful (list applications, etc.) then we might be in business.  Definitely worth thinking what would be useful enough to justify taking up some of that precious real estate!

@lann thanks for reviewing - I added a feature to re-prompt for the password on a login failure, but it resulted in a major rewrite because there is now a potential for loops in the flow - would you mind taking another look please?  Thanks!


Cannot use import statement outside a module

After 50 version of vuepress, their use esm modules link and is not worked with vuepress-plugin-vue-example
(node:54649) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:54649) UnhandledPromiseRejectionWarning: /Users/foobar/projects/shared-front/node_modules/vuepress-plugin-vue-example/src/index.js:1
import { getDirname, path } from '@vuepress/utils'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1001:16)
    at Module._compile (internal/modules/cjs/loader.js:1049:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29)
    at ModuleJob.run (internal/modules/esm/module_job.js:183:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async loadUserConfig (file:///Users/foobar/projects/shared-front/node_modules/@vuepress/cli/dist/index.js:77:18)
    at async CAC.dev (file:///Users/foobar/projects/shared-front/node_modules/@vuepress/cli/dist/index.js:460:52)
(node:54649) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:54649) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
/Users/foobar/projects/shared-front/node_modules/vuepress-plugin-vue-example/src/index.js:1
import { getDirname, path } from '@vuepress/utils'
^^^^^^

This code fix it
// package.json
"type": "module"

Thanks for the heads up @Kolobok12309, I have pushed a new version can you check if that fixes it?

Thanks for the heads up @Kolobok12309, I have pushed a new version v2.0.7 can you check if that fixes it?

Sorry for long answer, everything is fine
https://codesandbox.io/s/vuepress-plugin-vue-example-2-0-4-uv6i17?file=/README.md


release: updating stable release instructions and owner

Risk Level: n/a
Testing: n/a
Docs Changes: yes
Release Notes: no

@lizan tells me @cpakulski is up for being stable maintainer this quarter - updating docs accordingly.  Thanks so much Christoph!

/retest


ACS rent incorrectly weighted

Rebuilt the database using current dev. The 3 acs_rent fields (median, lower, upper) appear to have incorrectly applied weighting factors for the Neighborhood Cluster and Ward zone types - the values are much too high (e.g. $20,000 instead of 2,000).
We are probably using the weighting factors for summed values instead of the ones for medians/averages, but I have not yet investigated the code.

FLAG - looks like this is being resolved in #439 and/or in the previous PR


Update design system to version 31.4.4

This is an auto-generated PR.
Design system release: https://github.com/ONSdigital/design-system/releases/tag/31.4.4

Superseded by https://github.com/ONSdigital/eq-questionnaire-runner/pull/522


Support for monorepo

I would like to use this plugin to check npm audit in multiple folders.
Do you see way how it could be achievable with current code?

I don't need it anymore.

I don't need it anymore.


How are alarms differentiated, within the same code/component-id?

For example, A0001, Serious hardware error. What should be sent if there are several serious hardware errors on the device?
Should we just send out several A0001 alarms, with a distinct "description" field?
As an example, lets say there are 3 active A0001 alarms (lamp error, card error, voltage error).

We send out 3 separate alarm issues. All 3 have A0001 set in the "aCId" field. The "xACId" field would be different, detailing what each error is.

Now what happens when an Acknowledge (or suspend/resume/request) is sent from the instation? Should we reply with 3 separate alarms?
This further begs the question, what to do with the "aS" field? (active/inactive). If there are multiple events associated with an alarm, what does the "aS" field mean then? Is it active when there is at least one event associated with it?

Feel free to reopen if there are follow up questions.


fix: revive schematics functionality

Include ignored builders.json and schematics.json files into package so ng add
will stop complain about missing collections.
Closes: #226

despite the fact that this PR helps with ng add, I just found another problem while running spa build
ENOENT: no such file or directory, open 'C:\dev\rep\testapp\node_modules\single-spa-angular\src\builders\browser\schema.json'
Error: ENOENT: no such file or directory, open 'C:\dev\rep\testapp\node_modules\single-spa-angular\src\builders\browser\schema.json'
    at Object.openSync (fs.js:440:3)
    at Object.readFileSync (fs.js:342:35)
    at Observable._subscribe (C:\dev\rep\testapp\node_modules\@angular\cli\node_modules\@angular-devkit\core\node\host.js:171:35)
    at Observable._trySubscribe (C:\dev\rep\testapp\node_modules\@angular\cli\node_modules\rxjs\internal\Observable.js:44:25)
    at Observable.subscribe (C:\dev\rep\testapp\node_modules\@angular\cli\node_modules\rxjs\internal\Observable.js:30:22)
    at MapOperator.call (C:\dev\rep\testapp\node_modules\@angular-devkit\architect\node_modules\rxjs\internal\operators\map.js:32:23)
    at Observable.subscribe (C:\dev\rep\testapp\node_modules\@angular\cli\node_modules\rxjs\internal\Observable.js:25:22)

It looks like we should add all schema.json files from src/. Will try it right now and add to this PR if it will help

Changing "src/schematics/ng-add/schema.json" -> "src/**/schema.json" helped

Released in https://github.com/single-spa/single-spa-angular/releases/tag/v3.5.3


[Backport 2.2] Update jackson to 2.13.4 (#557)

Update jackson to 2.13.4

Signed-off-by: Siddhant Deshmukh<EMAIL_ADDRESS>
Get jackson version from core

Signed-off-by: Siddhant Deshmukh<EMAIL_ADDRESS>Signed-off-by: Siddhant Deshmukh<EMAIL_ADDRESS>(cherry picked from commit fe8bf44efc2bb154c03c62590bd96a358ed34b35)
Signed-off-by: Siddhant Deshmukh<EMAIL_ADDRESS>Issue #557, if available:
Description of changes:
CheckList:

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #566 (7797283) into 2.2 (c5f57e8) will decrease coverage by 0.18%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                2.2     #566      +/-   ##
============================================
- Coverage     75.92%   75.74%   -0.19%
+ Complexity     2475     2467       -8
============================================
  Files           314      314
  Lines         14440    14440
  Branches       2233     2233
============================================
- Hits          10964    10938      -26
- Misses         2225     2254      +29
+ Partials       1251     1248       -3

Impacted Files
Coverage Δ

...statemanagement/model/destination/CustomWebhook.kt
67.14% <0.00%> (-28.58%)
:arrow_down:

...ent/indexstatemanagement/util/ManagedIndexUtils.kt
76.10% <0.00%> (-1.77%)
:arrow_down:

...ndexstatemanagement/IndexStateManagementHistory.kt
77.24% <0.00%> (-1.38%)
:arrow_down:

...earch/indexmanagement/transform/model/Transform.kt
84.61% <0.00%> (-1.29%)
:arrow_down:

...nsform/action/stop/TransportStopTransformAction.kt
77.77% <0.00%> (ø)

.../opensearch/indexmanagement/rollup/model/Rollup.kt
86.04% <0.00%> (+0.46%)
:arrow_up:

...nt/rollup/action/stop/TransportStopRollupAction.kt
77.64% <0.00%> (+1.17%)
:arrow_up:

.../rollup/action/start/TransportStartRollupAction.kt
72.94% <0.00%> (+1.17%)
:arrow_up:

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


Version 1.10.4 introduced a runtime warning when setup(amplitude:) is called

Expected Behavior
Constructing the Amplitude object exhibits no runtime warnings when called on a background thread.  Application developers should not be forced to initialize third party SDKs on the main thread as that reduces our ability to optimize our launch experience for our users.
Current Behavior
Prior to version 1.10.4, constructing the Amplitude object on a background thread was warning free.
However, starting in 1.10.4 there is now a runtime warning emitted by Xcode's "main thread checker" on IOSLifecycleMonitor.setup(amplitude:) when Amplitude is constructed on a background thread.  This is because setup(amplitude:) is now accessing the applicationState property from a UIApplication instance.
Possible Solution
In order to detach the ability to know what the current application state is at any time regardless of what thread is checking, there needs to be a high-level monitor that listens for application state changes (which would occur on the main thread) and update a primitive property in that monitor.  Anything that needs to know the application state uses the monitor's value instead of reading applicationState from a UIApplication instance.
Until this bug is fixed, we have to do one of the following:

Ignore the runtime warning and suffer whatever the possible consequences are, or
Disable the main thread checker (not recommended), or
Ensure that the Amplitude object is created on the main thread, or
Downgrade to an Amplitude version prior to 1.10.4.

Steps to Reproduce
This is a universal example -- not my actual implementation.
func setupMyAmplitude() {
   DispatchQueue.global(qos: .userInitiated).async {
      let amplitude = Amplitude(configuration: configuration)
      ...
   }
}

This results in this emission from the main thread checker at runtime:
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 45798, TID: 49052555, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   AmplitudeSwift                      0x0000000107182ae0 $s14AmplitudeSwift19IOSLifecycleMonitorC5setup9amplitudeyAA0A0C_tF + 256
5   AmplitudeSwift                      0x000000010713cedc $s14AmplitudeSwift13UtilityPluginCAA0D0A2aDP5setup9amplitudeyAA0A0C_tFTW + 20
6   AmplitudeSwift                      0x0000000107122618 $s14AmplitudeSwift0A0C3add6pluginAcA6Plugin_p_tF + 112
7   AmplitudeSwift                      0x00000001071208f8 $s14AmplitudeSwift0A0C13configurationAcA13ConfigurationC_tcfc + 2416
8   AmplitudeSwift                      0x000000010711ff78 $s14AmplitudeSwift0A0C13configurationAcA13ConfigurationC_tcfC + 56
...

Environment

SDK Version: 1.10.4
OS Info: iOS -- the specific version is irrelevant
Xcode: Xcode 16.1 (perhaps other versions of Xcode do not emit this warning)

For now, I've downgraded to 1.10.3 and have my Podfile set to that fixed version.


Added use counter to tags (Issue #200)

Adds a useCounter column to the Tags database, and increments the counter for each tag when called. Can see the number of calls by using the !tags info command on a specific tag.
@Jay-Madden if you make the script to bring the production DB up to speed, the default 0 flag on the useCount should make older tags work I think.

we will need to call the use increment function in the tag service


Script execution failed due to missing deployment

When following the readme, the quickstart.sh script failed as it is expecting a deployment to be already created in the aws account. In order to bypass this problem, you need to create a deployment following this pattern: Deployment for

Thanks @brnaba-aws . The problem is in the deploy_component_version.py script, when the expected deployment name does not already exist. I will soon fix it.
In the meantime, besides creating a deployment with a name that matches its demands, you can also just do all of your deployments using the Console or CLI. The deploy_component_version.py script is a convenience only. Its main benefit is it sets up the configuration of the Secret Manager component; you can of course do this yourself from the console or CLI.

Closing the issue as code is merged


hide template on rendering

unfortunately for ngcloak to work, you need to load the script in the header

a simple change to hide the template when the page loads.  sucks that you have to load angular in the header.

thanks @trentniemeyer


Set custom name for elasticsearch requests for nicer traces.

The default Armeria parser uses RpcRequest.method() as the span name if it's available - normally is for RPC like Thrift or gRPC but we can do it too.

neat. will test it locally in a bit

thanks for the help here.. will look at other details to see if we can release in the next few days or not!


[linked editing] finalize LinkedEditingRangeProvider

The OnTypeRenameProvider allows the editor to apply a rename to a symbol automatically to other ranges as well.
The feature can be seen in action in HTML, where modifications to an open tag is automatically applied to the close tag (and vice versa). (Requires settings: "editor.renameOnType": true)
	/**
	 * The 'on type' rename provider interface defines the contract between extensions and
	 * the 'on type' rename feature.
	 */
	export interface OnTypeRenameProvider {
		/**
		 * For a given position in a document, returns the range of the symbol at the position and all ranges
		 * that have the same content and can be renamed together. Optionally a result specific word pattern can be returned as well
		 * that describes valid contents. A rename to one of the ranges can be applied to all other ranges if the new content
		 * matches the word pattern.
		 * If no result-specific word pattern is provided, the word pattern defined when registering the provider is used.
		 *
		 * @param document The document in which the provider was invoked.
		 * @param position The position at which the provider was invoked.
		 * @param token A cancellation token.
		 * @return A list of ranges that can be renamed together. The ranges must have
		 * identical length and contain identical text content. The ranges cannot overlap. Optionally a word pattern
		 * that overrides the word pattern defined when registering the provider can be provided.
		 */
		provideOnTypeRenameRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<{ ranges: Range[]; wordPattern?: RegExp; }>;
	}

	namespace languages {
		/**
		 * Register a 'on type' rename provider.
		 *
		 * Multiple providers can be registered for a language. In that case providers are sorted
		 * by their [score](#languages.match) and the best-matching provider that has a result is used. Failure
		 * of the selected provider will cause a failure of the whole operation.
		 *
		 * @param selector A selector that defines the documents this provider is applicable to.
		 * @param provider An 'on type' rename provider.
		 * @param wordPattern A word pattern to describes valid contents of renamed ranges.
		 * @return A [disposable](#Disposable) that unregisters this provider when being disposed.
		 */
		export function registerOnTypeRenameProvider(selector: DocumentSelector, provider: OnTypeRenameProvider, wordPattern?: RegExp): Disposable;
	}

pattern per result only
result as object with ctor
what about multi cursor?

Adopted feedback: New state:
	/**
	 * The 'on type' rename provider interface defines the contract between extensions and
	 * the 'on type' rename feature.
	 */
	export interface OnTypeRenameProvider {
		/**
		 * For a given position in a document, returns the range of the symbol at the position and all ranges
		 * that have the same content and can be renamed together. Optionally a word pattern can be returned
		 * to describe valid contents. A rename to one of the ranges can be applied to all other ranges if the new content
		 * is valid.
		 * If no result-specific word pattern is provided, the word pattern from the language configuration is used.
		 *
		 * @param document The document in which the provider was invoked.
		 * @param position The position at which the provider was invoked.
		 * @param token A cancellation token.
		 * @return A list of ranges that can be renamed together
		 */
		provideOnTypeRenameRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<OnTypeRenameRanges>;
	}

	namespace languages {
		/**
		 * Register a 'on type' rename provider.
		 *
		 * Multiple providers can be registered for a language. In that case providers are sorted
		 * by their [score](#languages.match) and the best-matching provider that has a result is used. Failure
		 * of the selected provider will cause a failure of the whole operation.
		 *
		 * @param selector A selector that defines the documents this provider is applicable to.
		 * @param provider An 'on type' rename provider.
		 * @return A [disposable](#Disposable) that unregisters this provider when being disposed.
		 */
		export function registerOnTypeRenameProvider(selector: DocumentSelector, provider: OnTypeRenameProvider): Disposable;
	}

	/**
	 * Represents a list of ranges that can be renamed together along with a word pattern to describe valid range contents.
	 */
	export class OnTypeRenameRanges {
		constructor(ranges: Range[], wordPattern?: RegExp);

		/**
		 * A list of ranges that can be renamed together. The ranges must have
		 * identical length and contain identical text content. The ranges cannot overlap.
		 */
		readonly ranges: Range[];

		/**
		 * An optional word pattern that describes valid contents for the given ranges.
		 * If no pattern is provided, the language configuration's word pattern will be used.
		 */
		readonly wordPattern?: RegExp;
	}

/Naming nit/ - In the past we haven't been super consistent but when the function is called provideOnTypeRenameRanges (which I like) than the provider should be called OnTypeRenameRangeProvider = today is misses Range tho it is rename ranges that it provides

@jrieken why Range and not Ranges?

Actually unsure but that's the majority of cases. I'd say the logic is that a provider can provide a thing and then there is call to provide many - and in some case a call to resolve one.

Makes sense. I made the rename to OnTypeRenameRangeProvider

We discussed that the Rename in OnTypeRenameRangeProvider is misleading. The feature is not so much about renaming a symbol, but more making concurrent edits.
We stared brainstorming on better names:

OnTypeLinkedEditing (by @dbaeumer)

LinkedEditingRangeProvider, providedLinkedEditingRanges(): LinkedEditingRange[]

...LinkedEditing... looks great and intuitive if looked from this perspective. Maybe ...SyncedEditing... or ...SyncEditing... as alternative, however I'm not sure if "sync" variation were used for initial HTML implementation and was discarded later.

What I liked about onTypeLinkedEditing is the fact that it indicates (like onTypeFormatting) that this request is send with high frequency. However this being said the same is true for completion :-). So I am fine going with @jrieken proposals.
@aeschli when do you plan to do the renaming. Then I will catchup with LSP

What I liked about onTypeLinkedEditing is the fact that it indicates (like onTypeFormatting) that this request is send with high frequency.

In fact they are both different. OnType-formatting happens rarely and only when typing trigger characters - which you have listed beforehand. Linked editing happens on cursor move and should actually not happen when typing within a returned linked range. I'd say the frequency of linked editing ranges is similar to mark occurrences

Moved to public vscode.d.ts.
To verify, please create a small extension, install it like a regular extension and verify it works (no more proposedAPI checks)

I found this registerOnTypeRenameProvider is work to html-language-features in VSCode v0.15.1, but it not working when I try to following html-language-features to added client.registerProposedFeatures() and "enableProposedApi": true.
It should be work? or use proposed API in non Insiders VSCode is built-in package's privilege?

Yes, built-in extensions are allowed to use proposed API also in stable.
But the new API is now public in 1.52: languages.registerLinkedEditingRangeProvider

@aeschli can't wait for it! :) can turn editor.linkedEditing default on? otherwise 99% of users will miss it.

registerLinkedEditingRangeProvider

Can you please explain how to use this setting?
I have version 1.52.1 and settings.json says "Unknown Configuration Settings"
I have read the documentation for both "editor.renameOnType" and "editor.linkedEditing" but it looks like there's nothing there.
I'd like to have an example of the syntax of this setting too, I tried several but none of them matched.
An extension I use to beautify files only supports html, js and css and I managed to make it work with "blade" and "php" files as they were .html with this setting:
"beautify.language": {"html": ["htm","html","php","blade",]},
Do I have to do something similar or do I just need to type the extension in a particular way?
Thanks in advance, have a nice day

registerLinkedEditingRangeProvider

Can you please explain how to use this setting?
I have version 1.52.1 and settings.json says "Unknown Configuration Settings"
I have read the documentation for both "editor.renameOnType" and "editor.linkedEditing" but it looks like there's nothing there.
I'd like to have an example of the syntax of this setting too, I tried several but none of them matched.
An extension I use to beautify files only supports html, js and css and I managed to make it work with "blade" and "php" files as they were .html with this setting:
"beautify.language": {"html": ["htm","html","php","blade",]},
Do I have to do something similar or do I just need to type the extension in a particular way?
Thanks in advance, have a nice day


Wait for feature

Similar to discord.py, it would be useful if there was a wait_for feature. You can call the function (specifying a timeout if needed) with a check. It will return the message/context object of the first message that gets a true from the check function.

Added to the 2.0 project board

This has been complete in 1556fed

This has been complete in 1556fed


chore: bdd-gh-1585039502 to 0.0.1

chore: Promote bdd-gh-1585039502 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix: fix config for summary, summaryLength and pwa

fix #13

Summary
What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

You have tested in the following browsers: (Providing a detailed version will be better.)

[x] Chrome
[x] Firefox
[x] Safari
[ ] Edge
[ ] IE

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

Note that the better commit message would be:
fix: config for summary, summaryLength and pwa (close: #13)(#14)

Whatever that's a great pull request, Thanks!


Improve ResultSet.items() performance

Use straightforward method of getting points for a serie:
no need to try to filter by measurement/tag: it greatly decreases performance.
In my case performance of .items() for ResultSet over 850 series with ~10000 points decreases from ~1.5 seconds to ~30ms

Sorry for the delay, and thank you for contributing @a-sk !

Thanks!


Question about prompts/instructions/backend-instructions.md

The instructions end with :
export type ActionState = {
  status: "success" | "error";
  message: string;
  data?: any;
};

Where should it be saved ? There is no indication
Thanks

I think it should go below this line in setup-backend.md file,
"- Create a file called action-types.ts in the /types/actions folder for server action types with the following code:"
export type ActionState = {
  status: "success" | "error";
  message: string;
  data?: any;
};

-root->types->actions->action-types.ts already contains above defined ActionState


Move each class to its own file

Now every class is located inside lib/testing_framework
Expected every class is located inside separate file like lib/bddsm/suite.rb, lib/bddsm/file.rb, ...

can you assign me?


uint256[] wrapper

Could you do a helper for uint256[] ? Cheers.

particularly so i can use it in an algo like this, thanks.
`pragma solidity ^0.4.18;
contract QuickSort {
function sort(uint[] data) public constant returns(uint[]) {
   quickSort(data, int(0), int(data.length - 1));
   return data;
}

function quickSort(uint[] memory arr, int left, int right) internal{
    int i = left;
    int j = right;
    if(i==j) return;
    uint pivot = arr[uint(left + (right - left) / 2)];
    while (i <= j) {
        while (arr[uint(i)] < pivot) i++;
        while (pivot < arr[uint(j)]) j--;
        if (i <= j) {
            (arr[uint(i)], arr[uint(j)]) = (arr[uint(j)], arr[uint(i)]);
            i++;
            j--;
        }
    }
    if (left < j)
        quickSort(arr, left, j);
    if (i < right)
        quickSort(arr, i, right);
}

}`

Is your goal to maintain and extend a sorted array in transient storage or just collect a list of values and sort them? In the former case a transient min/max heap may be more useful?

Is your goal to maintain and extend a sorted array in transient storage or just collect a list of values and sort them? In the former case a transient min/max heap may be more useful?

The goal is to sum up a bunch of currency sends in a rollup header in solidity that will be hashed in a C++ map<>, hence the need to sort an array to make it compatible with a std::map<uint160, int64_t>
I have transfers of these currencies
// stored in solidity as (address, int64) NOTE: shown as "ETH" but is e.g. 0x71518580f36feceffe0721f06ba4703218cd7f63
[{"ETH",<PHONE_NUMBER>34},{"DAI", "123123123"}, {"VRSC", "123123213"}, {"ETH", "13122131123"},... up to 101 max]

So the issue is I can have multiple of the same currency so you need to += in that case. you dont know how many currencies you will get.

iterate through each currency/value
if the currency is not in the array push it into the array
if the currency exists += the amount thats already in the array
then sort the  array by the uint160 value of the address

NOTE: A) I could make a  CCurrencyValueMap[] memory currencies = new CCurrencyValueMap[] (<length of inputs> + 1);
which would always guarantee its large enough to handle all the currencies.
B) when i check that currency exists if have to itterate through the array checking for a match.
C) maybe a combination of an array and a mapping would be the most efficient?
D) I thought of sorting the array as im pushing in the currencies but not sure if sorting after is better?
E) currently im using storage so I can push to the array, (but EXPENSIVE even though i delete the storage after, and it means itterating over the array to find currencies ).
Thoughts appricated: code here:
https://github.com/VerusCoin/Verus-Ethereum-Contracts/blob/0c0ac6ebeb314072052ab76622444999ae3effe5/contracts/VerusBridge/VerusCrossChainExport.sol#L135C29-L135C38

In such cases it's usually cheaper to compute the aggregated sum off-chain and then simply verify that you only added equal pairs on-chain, for the verification you'd pass in a list of indices or a bitmap for every sum and then simply check.
In the meantime if you really need the array you could make your own by leveraging the library, just define a mapping to transient uints and use another transient uint to keep track of the length

Cheers, yes I did adapt it to make an array.  Yes I could make the pre compute work, but i would still have to check the order but that would be easy by a for loop checking x[i] < x[i+1]


Unable to render component after adding responsive design changes

I went through the steps a couple times and am not sure why the mode is null:

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

ID: e5338bf6-f6c2-fcf9-394f-e30871437de3
Version Independent ID: 03fed979-b86f-d08b-d0ee-3b83b39c0966
Content: Creating a model-driven app field component in Microsoft Dataverse - Power Apps
Content Source: powerapps-docs/developer/component-framework/tutorial-create-model-driven-field-component.md
Service: powerapps
GitHub Login: @Nkrb
Microsoft Alias: nabuthuk

I was able to resolve this, I copied the context line before I had set the context in the init statement. It may be helpful to people to call that out but it was a rookie mistake.


Set up development console with Nix and direnv

I want to use nix for a development console and to generate the container just to try the technology out.

I followed along two fasterthanlime articles (1, 2) and learned a ton.

Following along with the next part (3 took a long time but I also learned a ton.

Finally got a version I'm happy with.


Two Errors on Windows: TypeError and WindowsError

Hello,
I have run into two errors operating on Windows 8.1, using Python 2.7 64-bit.
The first was a unicode error:
Traceback (most recent call last):
  File "C:/Users/User/PycharmProjects/StudioManager/captured/start_screen.py", line 9, in <module>
    from captured.widgets.review_widget import DateReviewWidget, SessionReviewWidget
  File "C:\Users\User\PycharmProjects\StudioManager\captured\widgets\review_widget.py", line 6, in <module>
    from captured.studio.shot_image import ShotImage
  File "C:\Users\User\PycharmProjects\StudioManager\captured\studio\shot_image.py", line 8, in <module>
    from wand.image import Image
  File "C:\Users\User\studio_man\lib\site-packages\wand\image.py", line 20, in <module>
    from .api import MagickPixelPacket, libc, libmagick, library
  File "C:\Users\User\studio_man\lib\site-packages\wand\api.py", line 180, in <module>
    libraries = load_library()
  File "C:\Users\User\studio_man\lib\site-packages\wand\api.py", line 126, in load_library
    libwand = ctypes.CDLL(libwand_path)
  File "C:\Python27\Lib\ctypes\__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: LoadLibrary() argument 1 must be string, not unicode

I solved this by editing api.py, casting the argument to ctypes.CDLL as a str, as follows:
def load_library():
    """Loads the MagickWand library.

    :returns: the MagickWand library and the ImageMagick library
    :rtype: :class:`ctypes.CDLL`

    """
    tried_paths = []
    for libwand_path, libmagick_path in library_paths():
        if libwand_path is None or libmagick_path is None:
            continue
        try:
            tried_paths.append(libwand_path)
            libwand = ctypes.CDLL(str(libwand_path))  # `str` cast
            if libwand_path == libmagick_path:
                libmagick = libwand
            else:
                tried_paths.append(libmagick_path)
                libmagick = ctypes.CDLL(str(libmagick_path))  # `str` cast
        except (IOError, OSError):
            continue
        return libwand, libmagick
    raise IOError('cannot find library; tried paths: ' + repr(tried_paths))

Next, I get the following error:
Exception WindowsError: 'exception: access violation reading 0xFFFFFFFFFFFFFFFF' in <bound method c_magick_char_p.__del__ of c_magick_char_p('image/jpeg')> ignored

This occurred after successfully opening an image using Wand, and then attempting to transform it.
img = Image(filename=img_path)
img.transform(resize=str(thumb_percent) + '%')

After printing the error, the program does not crash, but appears to hang indefinitely.
I am using ImageMagick-6.7.7-Q16, both Python and ImageMagick are 64-bit.

about the first problem with loadlibrary.
this is related to a python issue
http://bugs.python.org/issue29082

Fixed str issue. Please open a new issue if the double-free issue occurs again. The c_magick_char_p is not used by Image.transform, so something else is at play.


dependency update

travis-ci.org did not notify build status, but looks ok
https://travis-ci.org/bassaer/ChatMessageView/builds/564007452


script/build fails while cloning nathansobo/node-plist due to “zero-padded file modes”

Description
Trying to build Atom from a fresh clone fails, see the error log.
While installing apm, cloning nathansobo/node-plist fails with the message: error: object 3fa653483030560fd76ea99669255fa047882026: zeroPaddedFilemode: contains zero-padded file modes.
Steps to Reproduce

git clone https://github.com/atom/atom.git
cd atom
./script/build (I actually ran env HOME=/Users/mkhl/.atom-dev  ./script/build --install-dir /Users/mkhl/Applications/Atom.app)

Expected behavior: [What you expected to happen]
Atom builds
Actual behavior: [What actually happened]
While installing apm, cloning nathansobo/node-plist fails with the message: error: object 3fa653483030560fd76ea99669255fa047882026: zeroPaddedFilemode: contains zero-padded file modes
See the full error log.
Versions
> git rev-parse HEAD
a058f3721f4ee888a643e2aff3af30a839056e4c
> atom --version
1.6.1
> apm --version
apm  1.6.0
npm  2.13.3
node 0.10.40
python 2.7.10
git 2.8.0
> sw_vers
ProductName:	Mac OS X
ProductVersion:	10.11.4
BuildVersion:	15E65

This version of git is from Homebrew, the one provided by Apple behaves identically.
> /usr/bin/git --version
git version 2.6.4 (Apple Git-63)

I was not able to reproduce this using Atom v1.8.0-dev-a058f37 on Mac OS X 10.11.4. I did a complete clean build using:
script/clean
script/build

My Git version is v2.7.3 from Homebrew.

Even just cloning nathansobo/node-plist triggers the underlying problem for me…
> /usr/local/bin/git clone https://github.com/nathansobo/node-plist.git
Cloning into 'node-plist'...
remote: Counting objects: 289, done.
remote: Total 289 (delta 0), reused 0 (delta 0), pack-reused 289
error: object 3fa653483030560fd76ea99669255fa047882026: zeroPaddedFilemode: contains zero-padded file modes
fatal: Error in object
fatal: index-pack failed
> /usr/bin/git clone https://github.com/nathansobo/node-plist.git
Cloning into 'node-plist'...
remote: Counting objects: 289, done.
remote: Total 289 (delta 0), reused 0 (delta 0), pack-reused 289
error: object 3fa653483030560fd76ea99669255fa047882026: zeroPaddedFilemode: contains zero-padded file modes
fatal: Error in object
fatal: index-pack failed

@lee-dohm During script/build, are you cloning via HTTPS or SSH?

@mkhl I'm cloning however script/build clones things during script/build. I ran only the two commands I mentioned above as you see them there.

I also just tried it on its own:
$ git clone https://github.com/nathansobo/node-plist.git
Cloning into 'node-plist'...
remote: Counting objects: 289, done.
remote: Total 289 (delta 0), reused 0 (delta 0), pack-reused 289
Receiving objects: 100% (289/289), 916.98 KiB | 968.00 KiB/s, done.
Resolving deltas: 100% (116/116), done.
Checking connectivity... done.
$

No issues.

Thanks for trying that.
I had previously globally enabled transfer.fsckObjects, disabling that lets me clone the repo.
I'll close this issue and open one over there.


Migrating from other analysis software- EEGLAB- Adding more info

Wanted to add more info to this document about preprocessing tools such as running types of ICA,removing ICA components , filtering data, channel locations, average referencing, high pass filter to remove drifts.
https://mne.tools/stable/overview/migrating.html?highlight=eeglab

That would be great!

closed by #9169


only open event triggered

Follow the example to create eventSource, it is supposed to be pretty straightforward, but only open event was triggered, what might be wrong?

DEBUG  [EventSource] Will open new connection in 0 ms.
DEBUG  [EventSource][onreadystatechange] ReadyState: HEADERS_RECEIVED(2), status: 200
DEBUG  [EventSource][onreadystatechange] ReadyState: LOADING(3), status: 200
>  LOG  EventType: open
DEBUG  [EventSource][onreadystatechange][OPEN] Connection opened.

The logs you posted look good. Each line where it says ReadyState: LOADING in the logs is a potential event that could have been triggered, provided that the XHR object's responseText is a properly formatted event stream response. The response should look like this when opened in a web browser. (you can also try this link: https://fetch-eventstream.glitch.me/sse)
id: 0
event: increment
data: hello from SSE #0

id: 1
event: increment
data: hello from SSE #1

id: 2
event: increment
data: hello from SSE #2

id: 3
event: increment
data: hello from SSE #3

@EmilJunker Thanks for the reply. You mean the response text has to be this format(include id, event and data in each line)? The streaming API I built is actually returning a customized json in each event, should I wrap it like
id: 1
event: increment
data: {my_customized_json_string}

Yes, the response text has to be in the above format. I believe the id is optional, but event and data are required. The data can be a JSON string if you want.

@EmilJunker
I tried https://fetch-eventstream.glitch.me/sse you posted above, still see the same debug log, but not message event triggered.
I just used the first example code from readme.txt, do you have a code snippet that works with above link?

The event name in the link I posted is called increment. If you only added an event listener for message, you won't receive these events. You need to add this block of code:
es.addEventListener("increment", (event) => {
  console.log(event.data);
});

@EmilJunker Thank you for guiding me. I was able to understand the SSE protocol and successfully receive the data.
One more thing is that each time an event is triggered (tried increment and message type), it activates all historical events. For instance, when event1 occurs, the eventListener captures event1. Subsequently, when event2 occurs, the eventListener captures both event1 and event2. This process continues until the final event, capturing all events in the sequence.
Do you have any idea?
I tested with cURL, it got the same result from my API and above link. Pretty normal event stream.

It's hard to tell what the problem is without seeing your API, but what I can say is that it's very important to have a double newline \n\n between the events in the response text. Without that, the library won't be able to know where one event ends and the next one begins.
Incorrect:
id: 0
event: increment
data: hello from SSE #0
id: 1
event: increment
data: hello from SSE #1
id: 2
event: increment
data: hello from SSE #2

Correct:
id: 0
event: increment
data: hello from SSE #0

id: 1
event: increment
data: hello from SSE #1

id: 2
event: increment
data: hello from SSE #2

@EmilJunker Thank you so much for pointing me to the right direction. It turned out to be a new line sep issue between server and client. Problem solved.
Thanks again for helping me out, closing the ticket. Appreciate it.