Incorrect Jest coverage

When using @swc/jest to transpile ts to commonjs and running jest --coverage certain branches are shown as not covered (console logging in these branches show that tests do run the code path). Using babel to transpile and run the tests shows the correct coverage.

You need sourceMaps: true or sourceMaps: "inline".
I verified that it's working

@kdy1 Hm, I tested both sourceMaps in .swcrc and as an option in the jest.config.json. Both did not work for me. Even with target: "es2021".

Hmm... Source maps are valid, maybe emitted tokens without sourcemap entry can be the cause I guess?
Some sourcemap libraries have bugs related to it.

@kdy1 I updated the gist with the generated .js + .js.map files: https://gist.github.com/bobaaaaa/3649b3a7e6312793a257bf67c500128a

I'm not sure why does jest can't understand the sourcemap.
I need to dig into jest to know the source map library it uses...

@kdy1 I tested the new version. Unfortunately, its still not fixed :(
Tested with es2020 & es2021 + sourceMaps: true & sourceMaps: "inline". I updated all files in my gist build with v1.2.155:
https://gist.github.com/bobaaaaa/3649b3a7e6312793a257bf67c500128a
(Keep in mind, this is not a huge blocker/issue for us. Still thx for looking into this)

Can you try the latest version? (v1.2.156)
There was a bug fix for a module that only contains export * from './foo' and such module is super common, so I think it can be the cause of this.

Can confirm same issue with vitest + swc

@kdy1 problem is still there with v1.2.156

@kdy1 I saw you created another fix (https://github.com/swc-project/swc/pull/4074) 👍
Because in 1.2.157 the issue is still present.

I changed the milestone, thanks!

I triggered publishing of the new version

I see you fixed this in v1.2.158, but the problem persists after I update, is it my configuration problem?
transform: {
    '^.+\\.(t|j)sx?$': [
      '@swc/jest',
      {
        jsc: {
          target: 'es2021',
        },
        sourceMaps: true,
      },
    ],
  },

Edit: tested with

@nestjs 7.6.15
@swc/jest 0.2.20
@swc/core 1.2.158
jest 26.6.3

In my case all decorator occurrences in code are marked as uncovered branches

My reproduction repo for reference: https://github.com/wight554/blog-template/tree/swc-test
Coverage report is included in coverage folder (see controllers)
---------------------------------------|---------|----------|---------|---------|-------------------
File                                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------------------------------|---------|----------|---------|---------|-------------------
All files                              |   99.61 |    67.21 |     100 |   99.61 |
 server/auth                           |     100 |      100 |     100 |     100 |
  AuthController.ts                    |     100 |      100 |     100 |     100 |
  AuthService.ts                       |     100 |      100 |     100 |     100 |
 server/auth/guards                    |      80 |      100 |     100 |      80 |
  JwtAuthGuard.ts                      |      80 |      100 |     100 |      80 | 1
  LocalAuthGuard.ts                    |      80 |      100 |     100 |      80 | 1
 server/comment                        |     100 |     37.5 |     100 |     100 |
  CommentController.ts                 |     100 |     37.5 |     100 |     100 | 19,25-26,33
  CommentService.ts                    |     100 |      100 |     100 |     100 |
 server/comment/dto                    |     100 |      100 |     100 |     100 |
  CreateCommentDto.ts                  |     100 |      100 |     100 |     100 |
  UpdateCommentDto.ts                  |     100 |      100 |     100 |     100 |
 server/constants                      |     100 |      100 |     100 |     100 |
  controllers.ts                       |     100 |      100 |     100 |     100 |
 server/crypto                         |     100 |      100 |     100 |     100 |
  CryptoService.ts                     |     100 |      100 |     100 |     100 |
 server/decorators                     |     100 |      100 |     100 |     100 |
  UserDecorator.ts                     |     100 |      100 |     100 |     100 |
 server/enums                          |     100 |      100 |     100 |     100 |
  MongoError.ts                        |     100 |      100 |     100 |     100 |
 server/interceptors                   |   97.56 |      100 |     100 |   97.56 |
  ...ooseClassSerializerInterceptor.ts |   97.56 |      100 |     100 |   97.56 | 1
 server/post                           |     100 |    41.17 |     100 |     100 |
  PostController.ts                    |     100 |    41.17 |     100 |     100 | ...58-59,66,73-76
  PostService.ts                       |     100 |      100 |     100 |     100 |
 server/post/dto                       |     100 |      100 |     100 |     100 |
  CreatePostDto.ts                     |     100 |      100 |     100 |     100 |
  UpdatePostDto.ts                     |     100 |      100 |     100 |     100 |
 server/user                           |     100 |       50 |     100 |     100 |
  UserController.ts                    |     100 |       50 |     100 |     100 | 28,31,37-40
  UserService.ts                       |     100 |      100 |     100 |     100 |
 server/user/dto                       |     100 |      100 |     100 |     100 |
  CreateUserDto.ts                     |     100 |      100 |     100 |     100 |
  UpdateUserDto.ts                     |     100 |      100 |     100 |     100 |
 src                                   |     100 |      100 |     100 |     100 |
  app.tsx                              |     100 |      100 |     100 |     100 |
  logo.tsx                             |     100 |      100 |     100 |     100 |
---------------------------------------|---------|----------|---------|---------|-------------------

yes, can confirm. This is still not fixed. But /* istanbul ignore next */ now works :)

still not fixed in @swc/core 1.2.159 if it was meant to be fixed

yes, can confirm. This is still not fixed. But /* istanbul ignore next */ now works :)

Do you find that while this works, it's not quite as well as babel-jest? For example I cannot ignore a whole file or large function blocks that have nested functions.
I'm able to ignore these files in collectCoverageFrom so not a blocker, but something I have observed.

I have a small repro of the difference in coverage on export modules
https://github.com/jgeschwendt/repro-swc-jest-coverage
and an Action with the failure
https://github.com/jgeschwendt/repro-swc-jest-coverage/runs/6355533008?check_suite_focus=true#step:6:14
looks like babel the babel transform doesn't count these types of modules towards coverage
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 index.ts |       0 |        0 |       0 |       0 |
 mod_a.ts |     100 |      100 |     100 |     100 |
 mod_b.ts |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

and the swc transform is partially reporting them
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |   83.33 |    33.33 |     100 |     100 |
 index.ts |   66.66 |    33.33 |     100 |     100 | 1-2
 mod_a.ts |     100 |      100 |     100 |     100 |
 mod_b.ts |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

for no reason in one of the projects it is reproduced again
example:

dependencies:
{
  "@swc/core": "^1.2.207",
  "@swc/jest": "^0.2.21",
  "jest": "^28.1.1"
}

I think it's related to recent changes of module passes.

@kdy1 Hmm, with<EMAIL_ADDRESS>it works fine

I'm working on this but this seems like a quite tricky issue

I improved sourcemap a bit with https://github.com/swc-project/swc/pull/5569
Current status:

Still not sure how coverage tools count execution counts, though

Implementation-wise?
By rewriting the code so that this:
// line 1
const q = 42;
// line 2
const x = q + 5;
// line 3
const z = x * 2;

becomes:
globalLinesCounter[1]++;
const q = 42;
globalLinesCounter[2]++
const x = q + 5;
globalLinesCounter[3]++;
const z = x * 2;

ie, literally incrementing per-line counters in a global object

@kdy1 I tested the new version. Unfortunately, its still not fixed :(
Tested with es2020 & es2021 + sourceMaps: true & sourceMaps: "inline". I updated all files in my gist build with v1.2.155: https://gist.github.com/bobaaaaa/3649b3a7e6312793a257bf67c500128a
(Keep in mind, this is not a huge blocker/issue for us. Still thx for looking into this)

Hey @kdy1 my reported issue here is now fixed for me with "@swc/jest": "0.2.22"

@kdy1 Unfortunately I still get wrong coverage reports on 1.3.4 😢

.swcrc
{
  "$schema": "https://json.schemastore.org/swcrc",
  "jsc": {
    "parser": {
      "syntax": "typescript",
      "decorators": true
    },
    "transform": {
      "decoratorMetadata": true
    }
  },
  "sourceMaps": true
}

@kdy1 Can I help you somehow with this? I mean, I probably won't fix it as I have no knowledge about how the process works, but maybe some kind of minimal reproduction repo would help? 🤔

Yes, it will definitely help. Ideally if I can invoke jest to get coverage for single file, I can test/ensure that jest reports 100% coverage

@kdy1 Here it is: https://github.com/sarneeh/swc-project-swc-issues-3854
When I was creating it I noticed that the false-positives go away when I turn off decoratorMetadata option (which is unfortunately required when I'm using dependency injection frameworks like typedi). Hopefully that will help you somehow 🙏

The clue about decoratorMetadata  really helps! I already fixed codegen and it means some transform is dropping source map information, and now I know which pass is doing so. Thank you!

I've noticed that jest coverage will report code branches inside helper functions as being uncovered lines unless the externalHelpers:true options is specified.
          jsc: {
            externalHelpers: true,
          },

Adding this option improved my test coverage significantly since the helper code is no longer included in the coverage scan. I'm not sure if anyone else has encountered this?

I had the same issue. But when I changed sourceMaps: true to sourceMaps: "inline", jest started to collect coverage correctly.
Hope this helps people.

I’m actually using @swc-node/jest which already sets sourcemaps to inline by default.
https://github.com/swc-project/swc-node/blob/c2b8389ae6b325392f9320d2ecefd2b08b95d23b/packages/core/index.ts#L33

swcConfig

I had same issue. Could you show  swcConfig at here?

I had the same issue. But when I changed sourceMaps: true to sourceMaps: "inline", jest started to collect coverage correctly.
My config is:
// jest.config.js
const config = {
  transform: {
    "^.+\\.(t|j)sx?$": ["@swc/jest", { ...swcConfig, sourceMaps: "inline" }],
  },
}

Ofc, Adding the option to .swcrc works as well.
Hope this helps people.

I had same issue. Could you show swcConfig at here?

I’m actually using @swc-node/jest which already sets sourcemaps to inline by default.

This is true... :|

I had same issue. Could you show swcConfig at here?

Sure. @960590968
Here are my config files for testing. And I'm using React.

jest.config.js
const { readFileSync } = require("fs");

const swcConfig = JSON.parse(readFileSync(`${__dirname}/.swcrc`, "utf-8"));

/** @type {import('jest').Config} */
const config = {
  rootDir: ".",
  collectCoverage: true,
  collectCoverageFrom: [
    "src/**/*.{ts,tsx}",
    "!src/**/*.stories.tsx",
  ],
  coverageThreshold: {
    global: {
      statements: 90,
      branches: 90,
      functions: 90,
      lines: 90,
    },
  },
  setupFilesAfterEnv: ["<rootDir>/jest.setup.js"],
  transform: {
    "^.+\\.(t|j)sx?$": ["@swc/jest", { ...swcConfig }],
  },
  testEnvironment: "jsdom",
  testMatch: ["<rootDir>/src/**/*.test.{ts,tsx}"],
};

module.exports = config;

jest.setup.js
import "@testing-library/jest-dom";

.swcrc
{
  "sourceMaps": "inline",
  "minify": true,
  "jsc": {
    "parser": {
      "syntax": "typescript",
      "jsx": true
    },
    "transform": {
      "react": {
        "runtime": "automatic"
      }
    }
  }
}

Dependencies
// package.json
{
  ...
  "dependencies": {
    "clsx": "^1.2.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@storybook/addon-essentials": "^6.5.13",
    "@storybook/addon-postcss": "^2.0.0",
    "@storybook/builder-vite": "^0.2.5",
    "@storybook/react": "^6.5.13",
    "@swc/core": "^1.3.20",
    "@swc/jest": "^0.2.23",
    "@testing-library/dom": "^8.19.0",
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/user-event": "^14.4.3",
    "@types/jest": "^29.2.3",
    "@types/node": "^18.11.9",
    "@types/react": "^18.0.25",
    "@types/react-dom": "^18.0.9",
    "autoprefixer": "^10.4.13",
    "dprint": "^0.33.0",
    "husky": "^8.0.0",
    "jest": "^29.3.1",
    "jest-environment-jsdom": "^29.3.1",
    "lint-staged": "^13.0.4",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.4.19",
    "storybook-addon-themes": "^6.1.0",
    "tailwindcss": "^3.2.4",
    "typescript": "^4.9.3"
  }
}

I've tested with "sourceMaps": "inline" but didn't work.
.swcrc:
{
  "sourceMaps": "inline",
  "jsc": {
    "target": "es2021",
    "parser": {
      "syntax": "typescript",
      "decorators": true,
      "dynamicImport": true
    },
    "keepClassNames": true,
    "transform": {
      "legacyDecorator": true,
      "decoratorMetadata": true
    }
  }
}

package.json:
"devDependencies": {
    ...
    "@swc/core": "^1.3.20",
    "@swc/jest": "^0.2.23"
},
"jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": ".",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "@swc/jest"
    },
    "collectCoverageFrom": [
      "src/**/*.{ts,js}"
    ],
    "moduleNameMapper": {
      "^@app/(.*)$": "<rootDir>/src/$1",
      "^@test/(.*)$": "<rootDir>/test/$1"
    },
    "coverageDirectory": "./coverage",
    "coverageReporters": [
      "json-summary",
      "text",
      "lcov"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 100,
        "functions": 100,
        "lines": 100,
        "statements": 100
      }
    },
    "testEnvironment": "node"
  },
  "engines": {
    "node": "^16.16.0"
  }
}

same as @klutzer here, same jest configuration.
Might be related to decorators as previously

Useing coverageProvider: 'v8' will probably solve the problem.
Solution funded at stackoverflow https://stackoverflow.com/a/74851858/8770040

@Krzywy14 that completely drops the coverage percentage - did you have any success with it?

My specific problem seems to have been resolved by https://github.com/swc-project/swc-node/pull/673, for what it's worth.

@Krzywy14 that completely drops the coverage percentage - did you have any success with it?

danr-za
IMO coverage percentage is better than when i used babel.
I check that on few files. With babel, even when all function/lines has been coverage, still not showing 100% coverage. When  change to "v8" looks like coverage have really 100%.
"coverageProvider": "v8" used with:
"@swc-node/jest": "^1.5.5",
"@swc/core": "^1.3.23",

well, exactly the opposite on my end here - I had 100% with babel, once I switched to swc I had around 99%, but with coverageProvider: v8 I even have around 86% 🤷

Did someone try target: es2022. without decorators, and with externalHelpers: true?
swc has an enormous amount of transforms, and to fix this, I have to narrow down the pass which is producing the wrong source map.

@kdy1 we use decorators a lot in our project, so its a must in our case

Since the project does not use decorators, setting decorators false and externalHelpers true fixed the coverage issues

I tried:

externalHelpers: true
decorators: false
target: "es2021"
sourceMaps: true
in different combinations.

Unfortunately, it does not help to restore the coverage and even also makes it worse.

I actually found an issue, that if there is an exported entity, which is not imported, but being consumed only inside the same file, with @swc/jest it's marked as completely uncovered, while at the same time being executed 21x times.

So, in some way, it helps finding unused exports (feature!), but I'd say that it may be unexpected behavior, that keyword export is considered as additional statement for a coverage.

Same with ts-node and mocha (((

For my NestJS project, I also noticed that test coverage dropped quite a bit when switching from ts-jest to @swc/jest.
Digging into it, it seems to be related to how the Typescript metadata for constructors are transpiled.
Take this constructor:
constructor(
  @Inject(AppService)
  private readonly appService: AppService,
) {}

The output of swc for the design:paramtypes metadata for the constructor is:
_ts_metadata("design:paramtypes", [
    typeof _appservice.AppService === "undefined" ? Object : _appservice.AppService
])

Notice the typeof ternary. This gets flagged as an "uncovered branch" by istanbul, the
coverage calculator used by jest.

Compare this to how ts-jest outputs this:
__metadata("design:paramtypes", [app_service_1.AppService])

No ternary, so no impact to code coverage.
I created a workaround that tells istanbul to ignore these lines that incorrectly impact code coverage. It inserts an /* istanbul ignore next */ comment in the necessary places, resulting in transpiled code like this:
_ts_metadata("design:paramtypes", [
    /* istanbul ignore next */typeof _appservice.AppService === "undefined" ? Object : _appservice.AppService
])

I setup this repo with instructions to reproduce: https://github.com/rogisolorzano/nest-swc-coverage
The workaround I'm using is in create-swc-transformer.js
Curious if there are any thoughts on this and potential solutions that don't involve having to insert /* istanbul ignore next */ into the transpiled output by swc?

I saw mention of using @swc-node/jest vs @swc/jest what are the differences?
I'm using NestJS as well and this seems to be related to decorators, so removing the legacyDecorator and/or decoratorMetadata is not an approach I can test.
This seems to be very related to an issue ts-jest was/is having here, maybe there's some insight to be taken from there? If they did resolve it I think it was via a similar method as rogisolorzano provided which is adding istanbul ignore comments.

https://github.com/istanbuljs/istanbuljs/issues/70
https://github.com/kulshekhar/ts-jest/pull/488

I've tested here with vitest+swc in a Nestjs project and the issue still happens. I can't apply a transformer as @rogisolorzano suggested (I guess transformers are just for Jest).
There's also an issue in istanbul related to the same problem: https://github.com/istanbuljs/istanbuljs/issues/70

I took some time to checkout the related "fix for decorator coverage" that I linked above. It does seem they took the same approach as @rogisolorzano 👍
I'm not sure if this project has a way to implement a "pre-processor" but maybe that's something @rogisolorzano could open a PR for is this is how folks seem to be getting around this. Otherwise it sounds like there needs to be a major rework on the system to implement so that it doesn't require a ternary (or is this an underlying transpilation implementation issue of these frameworks with how the decorator is written?).
https://github.com/kulshekhar/ts-jest/pull/488/files#diff-0548fd42c45d69a916cd9689c388d2c60b74746b4b7626a008167273557b4e57
@klutzer are you not using Jest? I believe that's the scope of this issue, but I believe the coverage issue is not directly related to jest but the coverage tool [istanbul].

I'm still getting wrong coverage results when using @swc/jest...

i'm using vitest instead of jest, but i'm dealing with the same coverage issues outlined above in my nestjs project. i ended up creating a custom plugin that adds /* c8 ignore next */ comments to constructor parameters in my source code. adding comments to the transformed code didn't work for me (this may or may not have something to do with using v8 as my coverage provider, but i'm not sure)
my vitest.config.ts:
/**
 * @file Vitest Configuration
 * @module config/vitest
 * @see https://vitest.dev/config/
 */

import { DECORATOR_REGEX } from '@flex-development/decorator-regex'
import pathe from '@flex-development/pathe'
import { cast, split, type Nullable } from '@flex-development/tutils'
import swc from '@swc/core'
import ci from 'is-ci'
import tsconfigpaths from 'vite-tsconfig-paths'
import GithubActionsReporter from 'vitest-github-actions-reporter'
import {
  defineConfig,
  type UserConfig,
  type UserConfigExport
} from 'vitest/config'
import { BaseSequencer, type WorkspaceSpec } from 'vitest/node'
import tsconfig from './tsconfig.json' assert { type: 'json' }

/**
 * Vitest configuration export.
 *
 * @const {UserConfigExport} config
 */
const config: UserConfigExport = defineConfig((): UserConfig => {
  /**
   * [`lint-staged`][1] check.
   *
   * [1]: https://github.com/okonet/lint-staged
   *
   * @const {boolean} LINT_STAGED
   */
  const LINT_STAGED: boolean = !!Number.parseInt(process.env.LINT_STAGED ?? '0')

  return {
    define: {},
    plugins: [
      {
        enforce: 'pre',
        name: 'decorators',

        /**
         * Transforms `source` code containing decorators.
         *
         * @param {string} source - Source code
         * @param {string} id - Module id of `source`
         * @return {Promise<Nullable<{ code: string }>>} Object containing
         * transformed source code or `null`
         */
        async transform(
          source: string,
          id: string
        ): Promise<Nullable<{ code: string }>> {
          // do nothing if code does not contain decorators
          if (!DECORATOR_REGEX.test(source)) return null

          // do nothing if file is not in src directory
          if (!id.startsWith(pathe.resolve('src'))) return null

          /**
           * Regular expression used to match constructor parameters.
           *
           * @const {RegExp} CONSTRUCTOR_PARAMS_REGEX
           */
          const CONSTRUCTOR_PARAMS_REGEX: RegExp =
            /(?<=constructor\(\s*)([^\n].+?)(?=\n? *?\) ?{)/gs

          // add "/* c8 ignore next */" before constructor parameters
          for (const [match] of source.matchAll(CONSTRUCTOR_PARAMS_REGEX)) {
            source = source.replace(match, (params: string): string => {
              for (const m of split(params, '\n')) {
                params = params.replace(
                  m,
                  m.replace(/(\S)/, '/* c8 ignore next */ $1')
                )
              }

              return params
            })
          }

          return {
            code: (
              await swc.transform(source, {
                configFile: false,
                filename: id,
                inlineSourcesContent: true,
                jsc: {
                  keepClassNames: true,
                  parser: {
                    decorators: true,
                    dynamicImport: true,
                    syntax: 'typescript',
                    tsx: pathe.extname(id) === '.tsx'
                  },
                  target: cast<swc.JscTarget>(tsconfig.compilerOptions.target),
                  transform: {
                    decoratorMetadata:
                      tsconfig.compilerOptions.emitDecoratorMetadata,
                    legacyDecorator: true,
                    useDefineForClassFields:
                      tsconfig.compilerOptions.useDefineForClassFields
                  }
                },
                sourceMaps: 'inline',
                swcrc: false
              })
            ).code
          }
        }
      },
      tsconfigpaths({ projects: [pathe.resolve('tsconfig.json')] })
    ],
    test: {
      allowOnly: !ci,
      benchmark: {},
      chaiConfig: {
        includeStack: true,
        showDiff: true,
        truncateThreshold: 0
      },
      clearMocks: true,
      coverage: {
        all: !LINT_STAGED,
        clean: true,
        cleanOnRerun: true,
        exclude: [
          '**/__mocks__/**',
          '**/__tests__/**',
          '**/index.ts',
          'src/interfaces/',
          'src/metadata/',
          'src/types/'
        ],
        extension: ['.ts'],
        include: ['src'],
        provider: 'v8',
        reporter: [...(ci ? [] : (['html'] as const)), 'lcovonly', 'text'],
        reportsDirectory: './coverage',
        skipFull: false
      },
      environment: 'node',
      environmentOptions: {},
      globalSetup: [],
      globals: true,
      hookTimeout: 10 * 1000,
      include: [
        `**/__tests__/*.${LINT_STAGED ? '{spec,spec-d}' : 'spec'}.{ts,tsx}`
      ],
      isolate: true,
      mockReset: true,
      outputFile: { json: './__tests__/report.json' },
      passWithNoTests: true,
      reporters: [
        'json',
        'verbose',
        ci ? new GithubActionsReporter() : './__tests__/reporters/notifier.ts'
      ],
      /**
       * Stores snapshots next to `file`'s directory.
       *
       * @param {string} file - Path to test file
       * @param {string} extension - Snapshot extension
       * @return {string} Custom snapshot path
       */
      resolveSnapshotPath(file: string, extension: string): string {
        return pathe.resolve(
          pathe.resolve(pathe.dirname(pathe.dirname(file)), '__snapshots__'),
          pathe.basename(file).replace(/\.spec.tsx?/, '') + extension
        )
      },
      restoreMocks: true,
      root: process.cwd(),
      sequence: {
        sequencer: class Sequencer extends BaseSequencer {
          /**
           * Determines test file execution order.
           *
           * @public
           * @override
           * @async
           *
           * @param {WorkspaceSpec[]} specs - Workspace spec objects
           * @return {Promise<WorkspaceSpec[]>} `files` sorted
           */
          public override async sort(
            specs: WorkspaceSpec[]
          ): Promise<WorkspaceSpec[]> {
            return (await super.sort(specs)).sort(([, file1], [, file2]) => {
              return file1.localeCompare(file2)
            })
          }
        }
      },
      setupFiles: ['./__tests__/setup/index.ts'],
      silent: false,
      singleThread: true,
      slowTestThreshold: 3000,
      snapshotFormat: {
        callToJSON: true,
        min: false,
        printBasicPrototype: false,
        printFunctionName: true
      },
      testTimeout: 10 * 1000,
      typecheck: {
        allowJs: false,
        checker: 'tsc',
        ignoreSourceErrors: false,
        include: ['**/__tests__/*.spec-d.ts'],
        tsconfig: pathe.resolve('tsconfig.typecheck.json')
      },
      unstubEnvs: true,
      unstubGlobals: true
    }
  }
})

export default config

I think https://github.com/swc-project/swc/pull/7900 may improve the situation.

Our issue was that components that were using emotion were being tested but not captured in the coverage reporting. Using sourceMaps: 'inline' was all it took to get coverage back up to where it was.

@kdy1, would @rogisolorzano's suggestion work for a definitive solution in @swc/jest? Personally, this bug prevents me from migrating from ts-jest to @swc/jest in some projects due to a false drop in code coverage, which affects code quality analyzers like SonarQube. I believe that other people may be blocked from migrating for the same reason.

fwiw, i created a simple plugin to fix this in my projects, as @rogisolorzano did not work for me (probably because I am using v8 for coverage like @unicornware). it works for the specific problem @rogisolorzano described, but can't say it's a complete solution. also my first foray into Rust so constructive feedback is welcome.
https://github.com/bdentino/swc-plugin-fix-decorator-metadata-cov

Okay, about the ternary case, tsc ignores isolatedModules: true in tsconfig.json and that's why it can generate app_service_1.AppService instead of a ternary. Under isolatedModules: true, the behavior of SWC is correct. I'll try adjusting source map to patch coverage.

It seems like the default coverage provider is not good at reading source maps emitted by SWC.
+"coverageProvider": "v8"

-        Expr::Cond(CondExpr {
-            span: DUMMY_SP,
-            test: check_object_existed(Box::new(member_expr.clone())),
-            cons: Box::new(quote_ident!("Object").into()),
-            alt: Box::new(member_expr),
-        })
+		member_expr

Oh. I need to generate less span. I fixed it for "coverageProvider": "v8".

https://github.com/swc-project/swc/pull/9074 should fix this issue for users using "coverageProvider": "v8".

the above fixed the coverage issue, but unfortunately with "coverageProvider": "v8"  my tests crash half way through with heap out of memory error. also "v8" seems lot (maybe 2x) slower than with default coverage provider

The solution of @rogisolorzano solved it for us and was plug and play.
The nice part is that their implementation doesnt forget to forward config to underlying module (useful if you customize it). Ex:
transform: {
        '^.+\\.ts$': [
            '../configs/create-swc-transformer.js',
            { ...config }, // <-- this is the content of our swcrc file
        ],

Our tools and configs: @swc/jest 0.2.36, @swc/core 1.6.13, jest 29.7.0, targetting commonjs.
Note that our swc config doesn't use "sourceMaps: true" (false coverage errors not related to this discussion).

The issue still persists. I had to go back to ts-jest as it was having a huge impact on my coverage. Here we use NestJs too.


Set up Traefik and Gunicorn

Description
Set up Nginx and Gunicorn to work with Flask.
To-do

[x] Set up Traefik
[x] Set up Gunicorn
[x] Write up documentation on how to work with Nginx and Gunicorn into the Readme

Documentation in Readme not needed, it's just some config changes for Docker


Docs unclear

I'm following the Installed/Console Application or obtain an authenticated HTTP client via flow.
You show the following code snippet:
import "package:googleapis_auth/auth_io.dart";

...

var id = new ClientId("....apps.googleusercontent.com", "...");
var scopes = [...];

clientViaUserConsent(id, scopes, prompt).then((AuthClient client) {
  // Authenticated and auto refreshing client is available in [client].
  // ...
  client.close();
});

void prompt(String url) {
  print("Please go to the following URL and grant access:");
  print("  => $url");
  print("");
}

That part works now, my console shows an url to open and I get a consent screen. The docs don't show what to do after though. What do I do after hitting the consent button? My browser is redirected to localhost which shows an error because it couldn't find that url.
According to the docs the redirect uri is generated automatically:

The redirect URIs for the automatic and manual flow will be configured automatically.

I honestly don't get the docs. I have no clue what I'm doing.

If you have suggestions for how to improve the docs, please file a PR -- they are by no means perfect.

I'm facing the same issue right now. What am I doing wrong?


MergeStrategy seems to be completely broken (mergeWith failure)

From @kevin-anidjar on April 19, 2018 21:45
Bug Report or Feature Request (mark with an x)
- [ x ] bug report -> please search issues before submitting
- [ ] feature request

Area
- [ ] devkit
- [ x ] schematics

Versions

Node v8.11.1
NPM 5.8.0
Mac OS High Sierra
Repro steps
Use the following schematic
import { Rule, url, apply, mergeWith, chain, MergeStrategy } from '@angular-devkit/schematics';

export function index(): Rule {
  return chain([
    simpleMerge(),
  ])
}

function simpleMerge(): Rule {

    const source = url('./files');

    return mergeWith(source, MergeStrategy.Overwrite);
}

The log given by the failure

schematics .:boilerplate

ERROR! /src/app/app.component.html already exists.
ERROR! /src/app/app.component.spec.ts already exists.
ERROR! /src/app/app.component.ts already exists.
ERROR! /src/app/app.module.ts already exists.
ERROR! /src/assets/.gitkeep already exists.
ERROR! /src/environments/environment.prod.ts already exists.
ERROR! /src/environments/environment.ts already exists.
ERROR! /src/index.html already exists.

Desired functionality
All files should be overwritten.
Mention any other details that might be useful
I tried every MergeStrategy possible (AllowOverwriteConflict, etc.), same result.
Copied from original issue: angular/devkit#745

Duplicate of https://github.com/angular/angular-cli/issues/11337


Improving the TestSuite

Changes Unknown when pulling a9073fd35b0a51b6df774e25d2cdbeb593153aee on test-env into ** on devel**.

Merging this iteration.


Added flipper app browser

Created an application that automatically lists all Flipper apps from github. The browsers let's you search through all these and can build them on demand when downloading.

Really nice work on the website! How does get the list of repositories?

It searches through GitHub (using the search code api) for application.fam files, happens in this file: https://github.com/electromuis/flipper-appbrowser/blob/main/backend/search.py

Tentatively planning on merging once the site is working again.

@electromuis There is some kind of issue with your JSON data and the site isn't working right now. Is this a known issue?

Closing this due the inclusion of the official app store in its place.


keep alive feature

Keep Alive Feature

Current coverage is 41.41% (diff: 64.61%)

Merging #35 into master will decrease coverage by 1.08%

@@             master        #35   diff @@
==========================================
  Files            20         20
  Lines          3017       3272   +255
  Methods         197        208    +11
  Messages          0          0
  Branches        473        530    +57
==========================================
+ Hits           1282       1355    +73
- Misses         1517       1684   +167
- Partials        218        233    +15

Powered by Codecov. Last update b6063d5...4a73e9b


When I cloned the quickstart and configured it, the following errors show up during compilation:
   Compiling stm32-hal2 v1.8.2
error[E0433]: failed to resolve: could not find `ADC3_COMMON` in `pac`
    --> ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32-hal2-1.8.2\src\adc.rs:1236:20
     |
1236 |         hal!(ADC3, ADC3_COMMON, adc3, 3);
     |                    ^^^^^^^^^^^
     |                    |
     |                    could not find `ADC3_COMMON` in `pac`
     |                    help: a struct with a similar name exists: `ADC12_COMMON`

error[E0412]: cannot find type `ADC3` in module `pac`
    --> ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32-hal2-1.8.2\src\adc.rs:1236:14
     |
1236 |         hal!(ADC3, ADC3_COMMON, adc3, 3);
     |              ^^^^ help: a struct with a similar name exists: `ADC1`
     |
    ::: ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32h7-0.15.1\src\stm32h7b3\mod.rs:684:1
     |
684  | pub struct ADC1 {
     | --------------- similarly named struct `ADC1` defined here

error[E0412]: cannot find type `SAI3` in module `pac`
    --> ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32-hal2-1.8.2\src\util.rs:593:25
     |
593  | impl RccPeriph for pac::SAI3 {
     |                         ^^^^ help: a struct with a similar name exists: `SAI1`
     |
    ::: ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32h7-0.15.1\src\stm32h7b3\mod.rs:2896:1
     |
2896 | pub struct SAI1 {
     | --------------- similarly named struct `SAI1` defined here

error[E0412]: cannot find type `SAI4` in module `pac`
    --> ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32-hal2-1.8.2\src\util.rs:620:25
     |
620  | impl RccPeriph for pac::SAI4 {
     |                         ^^^^ help: a struct with a similar name exists: `SAI1`
     |
    ::: ~\.cargo\registry\src\index.crates.io-6f17d22bba15001f\stm32h7-0.15.1\src\stm32h7b3\mod.rs:2896:1
     |
2896 | pub struct SAI1 {
     | --------------- similarly named struct `SAI1` defined here

Refering to the device coverage of stm32-rs there is no ADC3, SAI3 and SAI4.
My quickstart config looks like this:

Cargo.toml: hal = { package = "stm32-hal2", version = "^1.6.4", features = ["h7b3", "h7rt"]}
.cargo/config.toml: runner = "probe-rs run --chip git STM32H7A3ZITxQ" and target = "thumbv7em-none-eabihf"
memory.x: FLASH : ORIGIN = 0x08000000, LENGTH = 1953K and RAM : ORIGIN = 0x20000000, LENGTH = 1367K (really not sure if this is correct, but should not be the problem here)

There seems to be a mismatch between the target chip and the code somehow. Any hints?

Yep, that's exactly what it is. The examples are general, while this lib supports many STM32 variants. So, you'll have to modify the peripherals used as required based on which you have, and which are wired up.

@David-OConnor thanks for confirming! Do you have any documentation about how to configure this?

@David-OConnor is it as easy as adding a not(feature = "h7b3") to those snippets:
https://github.com/David-OConnor/stm32-hal/blob/b9a742157c50d3fe6e22ec7e000c722d223154ce/src/adc.rs#L1231-L1238
https://github.com/David-OConnor/stm32-hal/blob/b9a742157c50d3fe6e22ec7e000c722d223154ce/src/util.rs#L592-L593
https://github.com/David-OConnor/stm32-hal/blob/b9a742157c50d3fe6e22ec7e000c722d223154ce/src/util.rs#L619-L620

Nice!


Sync Speedster Table Updates

https://github.com/Double-Fine-Game-Club/pongball-assets/pull/23 updates materials, textures and geometry. These need to be brought across into the main repo (note that the table needs to be rotated 180 degrees along the Y axis after importing in to Unity).

Closed by #102


windterm: Add version 2.0.2

Homepage
Is there a way to create different shortcuts depending on [System.Environment]::OSVersion.Version.Build?

/verify


randomly drop state table operations when enabled insane mode

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

#15796
#15802  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @stdrc and the rest of your teammates on  Graphite


Compiling for iojs fails

$ npm install serialport
|
><EMAIL_ADDRESS>install /Users/rwaldron/wtf/node_modules/serialport
> node-pre-gyp install --fallback-to-build

child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
  CXX(target) Release/obj.target/serialport/src/serialport.o
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:481:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean
      'ExternalStringResource'?
      v8::String::ExternalAsciiStringResource *resource) {
      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ExternalStringResource
/Users/rwaldron/.node-gyp/1.0.1/deps/v8/include/v8.h:2016:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:480:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../node_modules/nan/nan.h:475:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../node_modules/nan/nan.h:2103:12: error: no member named 'IsExternalAscii' in 'v8::String'; did you mean 'IsExternal'?
  if (str->IsExternalAscii()) {
           ^~~~~~~~~~~~~~~
           IsExternal
/Users/rwaldron/.node-gyp/1.0.1/deps/v8/include/v8.h:1980:8: note: 'IsExternal' declared here
  bool IsExternal() const;
       ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:2104:23: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean
      'ExternalStringResource'?
    const v8::String::ExternalAsciiStringResource* ext;
          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                      ExternalStringResource
/Users/rwaldron/.node-gyp/1.0.1/deps/v8/include/v8.h:2016:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:2105:16: error: no member named 'GetExternalAsciiStringResource' in 'v8::String'; did you mean
      'GetExternalStringResource'?
    ext = str->GetExternalAsciiStringResource();
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               GetExternalStringResource
/Users/rwaldron/.node-gyp/1.0.1/deps/v8/include/v8.h:6921:41: note: 'GetExternalStringResource' declared here
String::ExternalStringResource* String::GetExternalStringResource() const {
                                        ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:2106:11: error: assigning to 'const char *' from incompatible type 'const uint16_t *'
      (aka 'const unsigned short *')
    *data = ext->data();
          ^ ~~~~~~~~~~~
6 errors generated.
make: *** [Release/obj.target/serialport/src/serialport.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1038:12)
gyp ERR!  System Darwin 14.0.0
node-pre-gyp ERR! command "node" "/Users/rwaldron/wtf/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/rwaldron/wtf/node_modules/serialport
node-pre-gyp ERR! node -v v1.0.1
node-pre-gyp ERR! node-pre-gyp -v v0.5.19
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/iojs rebuild --name=serialport --configuration=Release --module_name=serialport --version=1.4.10 --major=1 --minor=4 --patch=10 --runtime=node --node_abi=node-v42 --platform=darwin --target_platform=darwin --arch=x64 --target_arch=x64 --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=/Users/rwaldron/wtf/node_modules/serialport/build/serialport/v1.4.10/Release/node-v42-darwin-x64 --remote_path=./serialport/v1.4.10/Release/ --package_name=node-v42-darwin-x64.tar.gz --staged_tarball=build/stage/serialport/v1.4.10/Release/node-v42-darwin-x64.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v1.4.10/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v1.4.10/Release/node-v42-darwin-x64.tar.gz' (1)
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "serialport"
npm ERR! node v1.0.1
npm ERR! npm  v2.1.18
npm ERR! code ELIFECYCLE

And here's the npm-debug.log: https://gist.github.com/317456f42829a8b6091f

https://github.com/iojs/io.js/issues/456

Upgrading nan to 1.5 should fix this one.

You mean like this? :P

the fix was merged, this should be closed.

It has been left open until the merge has been verified in target
platforms. Verification is still in process for both io and node support.
the 'merge' is into a yet to be released version.
Chris Williams
@voodootikigod http://twitter.com/voodootikigod | GitHub
http://github.com/voodootikigod
The things I make that you should check out:
SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ |
RobotsConf http://robotsconf.com/ | RobotsWeekly
http://robotsweekly.com/
Help me end the negativity on the internet, share this
http://jsconf.eu/2011/an_end_to_negativity.html.
On Wed, Jan 28, 2015 at 10:46 AM, Mikeal Rogers<EMAIL_ADDRESS>wrote:

the fix was merged, this should be closed.
—
Reply to this email directly or view it on GitHub
https://github.com/voodootikigod/node-serialport/issues/439#issuecomment-71856630
.

ah, that makes sense :)

1.5.0 published.


How to add remarks to the field of the table, and the table header shows the field remarks information

I use fields to match inserts, but I want to display the field's comment information as the table header

I want to use a different name for the date header to display the header

Can you add a button in a column or double-click a function to trigger a scene jump？

I have now added a double-click function the Branch double-click. Is that what you wanted?
And you want the header to be accessible via a dictionary, in other words?

Double click is what I want, and at the same time, I want the Name to be a Chinese string in the table title, such as "姓名".

Yes, the header can be freely named. And Godot supports Chinese.

To change the header column, simply add a new entry with the name in the header array.

you are right! thank you ! else question，how to add Button or other element as a row ?

This is not possible at the moment, I have already tried something around with it but have not yet found an implementation that I find nice.

okay! Double click can currently meet my needs.


Add ImageWidget with upload/drop/external and inline/widget capabilities

I have moved the https://github.com/plone/volto/pull/4142 here, because of the conflicts and the big changes since that pr.

I have considered that is better to return always the URL of the image because it will be easier for developers to use if it is consistent. What do you think @sneridagh?

I don't think that the documentation should be updated, but indeed the storybook should, I will update it now.

I compared against production docs.
These look the same. Are they supposed to be the same? I'm not sure what I should expect or look for.

https://65c09ac45778640008535e9c--volto.netlify.app/storybook/?path=/story/view-widgets-image--image
https://6.docs.plone.org/storybook/?path=/story/view-widgets-image--image

The controls appear broken in the Netlify build:

https://65c09ac45778640008535e9c--volto.netlify.app/storybook/?path=/story/edit-widgets-object-browser--image

against production:

https://6.docs.plone.org/storybook/?path=/story/edit-widgets-object-browser--image

Is the difference expected?
Both have a broken image. Should that be fixed?
Please let me know. Thank you!

Hi @stevepiercy, @sneridagh added this for the storybook: https://65c09ac45778640008535e9c--volto.netlify.app/storybook/?path=/story/edit-widgets-image--default, in the old pr, that I have moved here. You can see that shows the Image Widget.

@dobri1408 nice! Let's get a core contributor to review code.

Hello @sneridagh, I've been developing the Image Widget and think it's a good time for a review to ensure it meets the desired requirements and is ready for merging. I've used the same widget for the image block as well.

@dobri1408 I tested it locally and the test failed in a legit way. If you are going to select an image (or any other object) the UX expects that you start browsing whereever you are now, in this case, inside the document (because it's already created, we are editing it). So this is a legit bug. Could you please take a look?
I have another comment, see below

@dobri1408 how is this going?

@ichim-david I've updated the code to include a feature that allows users to select the desired functionality for objectBrowserPicker. Regarding the verification of links to determine if they are images, I've considered the following approach: you can pass an onChange event to the picker. The ideal method for validating the link would be within the function you provide, as this allows you to tailor the validation to your specific requirements. Please let me know your thoughts.

@dobri1408 How is this going? what's the status?

Hi @sneridagh, I've made the changes recommended by @ichim-david and am currently waiting for his review.

@dobri1408 checking now latest work

@dobri1408 run i18n and commit the change and if necessary update test snapshots.
I had to add some aria labels to the AddLinkForm
https://github.com/plone/volto/pull/5607/commits/e617d73d5bbe7c3fad9ddd28f7ee55dfd34e34c6
due to them reading "Image button" when using a screen reader

I have added back placeholderLinkInput = '', because there are tests that change the placeholder Link Input

@sneridagh I've removed the brown important color
https://github.com/plone/volto/pull/5607/commits/ec7c2eae37970c6ca7f0cb3fc2707aef2636a670#diff-a584ff5e44089465e761b5e7077bbd875f0b92ed9307db7fea91df1240e76e78L404
from .toolbar-inner .ui.icon.button
In doing so the icons from the image widget have opacity changes when focused just like it happens
when using other object browser widget blocks such as map or video.
Have a look at this video and you will see what I mean
https://github.com/plone/volto/assets/152852/482d0659-84ee-4f16-a7b4-9c61f95517e3
I also had to add this rule https://github.com/plone/volto/pull/5607/commits/ec7c2eae37970c6ca7f0cb3fc2707aef2636a670#diff-cf128453bb126c12a2d763cd1afdbaf4d32ba380bd02702d0393f5ea4c666bb1R30
to avoid having a border looking box shadow when focusing on the primary submit button.
Without it since slate-inline-toolbar isn't part of main like our override there it looked like this

@plone/volto-team this is ready for final review

@sneridagh have another look now regarding the placeholder size when added within a grid and the
link popup.
I have one thing that bothers me which is the difference in placeholder svg when we have a grid
and we mix teasers and image blocks.
You can see this issue in this video:
https://github.com/plone/volto/assets/152852/780480c6-fb1c-4a03-b548-fa04a3964f41
If we remove center then things look better but if we only have teasers then they won't look as balanced
on the grid area as when the justify-content was set to center.
Given the fact that the grid was made primarily for teasers I leave it as it is however I had to add
at least a comment that it bothered me the non-alignment of teaser and image placeholder as changing
the current behavior would probably annoy other people thinking why the teasers are no longer centered :)

@ichim-david I see... difficult question :/ indeed removing it will look better overall. It's been long time that I wanted to change that (and remove the semanticUI class from that.
I like https://react-spectrum.adobe.com/react-spectrum/IllustratedMessage.html but I don't see that we are doing anything extraordinary like in there.

@ichim-david I can't agree more. Let's merge this, since it was the original purpose of this PR.
@dobri1408 @ichim-david Thanks a lot for the contribution, this is awesome, and very much needed.
Merging now.


Performance of a large form on IE6

This is an fix similar to d3f9b4660a from Adam Tibi for performance of the this.find("input, button") selector.
On IE6, this particular selector spends most of it's time merging the results from the individual queries of input and buttons.  By limiting the criteria for the query with the class selector for cancel, this operation takes significantly less time.
On the particular page I was working on, calling .validate() went from 3 seconds to 300 milliseconds.

I found another issue with a huge (1000+ field) form on Internet Explorer 6,7 & 8.  The application would hang when calling form.valid() with this form and never return from the method.
This is similar to the previous fix I made where the browser gets stuck on merging the results of a multipart selector.  In this case it was merging the selector 'input,select,textarea'.
jQuery's built in ':input' selector appears to perform this operation more efficiently.  However, this selector also includes 'button' elements, which need to be excluded manually with a :not selector.
After my changes, the valid() method returns in 2-3 seconds.  This still isn't ideal performance, but given the volume of data we're dealing with it works for now.

I'm seeing valid() takes a long time as well.  I'm seeing the slowness in IE7 and IE8-- using a profiler on IE8 I can trace the bulk of the time is centered around the elements() function. It seems that the function used by filter() takes a lot of time.
It's probably more trouble than it's worth to try to optimize that filter() any further, so maybe there's a different way we could approach onsubmit validation?
On stack overflow someone suggested just skipping validation onSubmit and relying on checking validation on an input's change event.  I whipped up a quick prototype to deal with catching form submission before sending the form to the server like this:
if($("#myForm .error").length > 0){
    alert("fix these!");
    // logic to scroll to invalid inputs
    // ....
    return false;
}

Maybe this sort of thing could be included into jquery.validation?  It'd sort of be caching the validity of the elements as the user goes, and then use that cache in the form of a class selector to prevent bad data from being sent to the server.


CVE-2022-41722 | CVE-2022-41723 Facing vulnerable issues with golang, golang.org/net versions in argocli

Summary
Facing vulnerable issues with golang, golang.org/net versions in argocli  since they are older/outdated versions.
current env:
argo-workflows - 3.4.6
argo-cli : 3.4.6
Kubernetes version - EKS 1.22

We need this to be fixed as early as possible.
Is there any latest releases are going to cover this.

Thanks for raising. So master is running go 1.19 (https://github.com/argoproj/argo-workflows/blob/master/go.mod#L3). I'm not 100% sure why the latest release tag isn't. It's probably because this would be a material update that we want to test thoroughly and save for a minor release, i.e. version 3.5  - We will look into it and post updates as we have them.
Answering your question: If you want a fix as early as possible, try using master.
Also, please note the ArgoProj's general guidance around the use of vulnerability scanners: https://github.com/argoproj/argo-cd/security/policy
We observe a similar policy on Argo Workflows, and will update our docs soon to reflect this.

There were quite a few Golang version updates from dependabot but those are not included in the patch release since we only cherry-picked bug fixes: https://github.com/argoproj/argo-workflows/pulls?q=is%3Apr+golang+is%3Aclosed

when we can expect a new release with above mentioned patches

See https://github.com/argoproj/argo-workflows/issues/10830

Thanks for the immediate response. Is it possible to cut a pre release image with mentioned patches since we are using argo-workflows image.

Tried dev-release-3.4.7. most of the vulnerabilities are solved still having few more.

CVE-2023-28840: Encrypted overlay network may be unauthenticated
CVE-2023-28841: Encrypted overlay network traffic may be unencrypted
CVE-2023-28842: Encrypted overlay network with a single endpoint is unauthenticated
I'll look into those soon.

We can upgrade docker to 20.10.24.

When can we expect the release along with mentioned CVE's fix's

https://github.com/argoproj/argo-workflows/releases/tag/v3.4.7


Bugs when setting "use_masked_adain = False"

Thanks for your great works!
I was trying to find out how AdaIn trick works in the alg and launch the run.py with setting the use_masked_adain = False in config. And it reported AttributeError: 'Segmentor' object has no attribute 'self_attention_32' at sampling step20.
I corrected this line with callback=model.get_adain_callback if cfg.use_masked_adain else None, and the run.py finished but it seemed that the content image contributed nothing to the synthesis image.
e.g.

Please let me know if I overlooked any important details!

It seems like you completely removed the use of the AdaIN by removing the callback, so this is something you'll want to keep.
But now I did noticed that I removed the use of the non-masked AdaIN during the refactor :(
I'll try uploading a solution later today. Thanks for point this out :)

Sorry for the delayed response, but I have just pushed a fix for running without masked adain (i.e., running with regular adain on the entire latent codes).
Hope this helps, and thanks again for pointing this out!


iTunes API returns 200

On an error, iTunes API returns a 200 because it's terrible.
This means that this line is redundant:
https://github.com/dogenzaka/go-iap/blob/master/appstore/validator.go#L113
How should we progress forward with errors? Parse the status inside the library?

@mhemmings
Thanks for your report.
I don't want to change interface of this function, so I'll only remove this line.


Cycle Type and Stage of Cycle

In order to support species that do not use a menstrual or estrous cycle type, can we include "other" as the last item on the drop-down, which will then make the "Stage of Cycle" an editable field for someone to enter the stage manually.
Note that I need to figure out what the XML would look like to accomplish this. So if you can do the other outstanding items first and then look into the feasibility of this while I work out the xsd for version 1.1.

Current development machine version (July 6 10am) has the ability to specify Other but no way to enter the stage. This caused a "Not a valid choice" error on the Stage of Cycle. When I try to update the cycle type and choose a valid stage of cycle, the error does not clear.


packages should not refence local files

https://github.com/FastAsFack/DiscordHelpSaver/blob/baa10e2fa85499c8c0da438381c28ef28f62f3ae/SetWindowColor.ahk2#L16

that should be fixed i added it to the include list


Graph export

PR 1/2 for graph-export.
This includes the shr-graph-export repository (https://github.com/standardhealth/shr-graph-export) into the toolchain, to add graph export to the IG.
To include the graph in the published IG, set the configuration file's implementationGuide.includeGraph to true.

Closing, as further development is now on shr-tools.


Create table for error messages

Description
Create a table view to display error messages for the bulk uploader and update content with updated guidance.
Figma - https://www.figma.com/file/NPSPM5SBzQ7Ra3mmr9M9cB/SimpleReport-Public-Site-(2020-2022)?node-id=14722%3A42585&t=TnAVtmmeVhg8iC98-1
Error message content ("upload error guidance - suggested") -https://docs.google.com/spreadsheets/d/12ZgrNl7Cdnxd-T1nO7XDuiSVVLKH7sOkfGYJ_wYtjro/edit?usp=sharing
Acceptance criteria

Table has 3 columns: Error, Row(s), Guidance
Error: description of error
Row(s): which rows error applies to
Each row (or range of rows) is on its own line
Guidance: Instructions on what to do to resolve error
Link to appropriate section in guide for each error (open in new tab)
Formatting of user entered values and required fields should match what's in the figma

updated designs can be found here:
https://www.figma.com/file/YFC5fI2ht3YfVtg06U4Kh9/SimpleReport-(2023)?node-id=15008%3A344&t=y03ofK6hJjh9MUJe-1


[Question]: Is it possible to differentiate nodes added to the docstore vs the vector store, using the transformations ?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Hello,
I would like to follow the example of the AutoMergingRetriever but leveraging the transformations paradigm combined with the refresh_ref_docs business logic. Is it possible? It seems the nodes sent to the docstore will always be the same as the nodes sent to the vector store. But in the example, we only index the leaf nodes - to avoid redundancy, I assume?
Thanks

I don't think this answers the question: the example is using get_leaf_nodes to send this to the vector store index. And the docstore stores more nodes (aka all the nodes), so that a more complete context can be handled.


Modification on customHTMLRenderer affects original content

Summary
I'm using Toast UI Editor as a Markdown WYSIWYG editor. (Initialize with markdown content, saving markdown content)
My current config is
      BACKEND_URL='http://localhost';

      customHTMLRenderer={{
        image: ({firstChild}, {origin}) => {
          const result = origin();
          const attributes = {
            ...result.attributes,
            src: BACKEND_URL + result.attributes.src,
          };
          return {...result, attributes};
        },
      }}

I registered customRenderer because my markdown image data format is like below.
![picture.jpg](/uploads/02_2845569914.jpg)

Problem 1.
But after I register customRenderer, it adds BACKEND_URL on every mode change.
(Markdown -> WYSIWYG -> Markdown results http://localhosthttp://localhost/uploads/02_2845569914.jpg)
Problem 2.
I want to add prefix to image src temporary. (Which means this should be removed when saving content)
How can I acheive it with Toast UI Editor?
Screenshots
Version
2.5.0
Additional context

@darron1217 For the first problem, if you change from Markdown to WYSIWYG, you edit the document with the html result shown in the preview. Then, when it comes back to Markdown, it takes the changed html and converts it to Markdown.
The only way to handle this is to use the convertorBeforeHtmlToMarkdownConverted event in the current structure. (This is not an official API)
When changing from WYSIWYG to Markdown, an event occurs, and in this event, it is checked and converted to a regular expression.
editor.on('convertorBeforeHtmlToMarkdownConverted', html => {
  return html.replace('img src="http://', 'img src="');
});

And the second problem is, I don't think it's handled by the editor, but just before you save the document, you can use regular expressions to replace it.

@seonim-ryu Got it. Thanks 👍


UI functionality hindered due to merge

Hey @SandhiyaS24 . Noticed that your recent merge to main has affected the UI capabilities of the application particularly the input fields, Especially in Dark mode. Please kindly have a look at it. I have attached screenshots of the issues below for your reference.

The recent changes, particularly some updates from @Ks-Weasley, have impacted the UI, causing misalignments and inconsistencies. I've reverted the UI to the previous state and reapplied necessary updates.
Next steps:
Investigate and fix disrupted components.
Collaborate with @Ks-Weasley to align changes with design goals.
Test and refine for consistency.
Further updates will follow after the fixes.

Ok @SandhiyaS24 . We will collaborate together on it. I would like to assist with it.


improve preloader and scroll bar

Related Issue
Issue Fixed: #98
Description
Styling has been applied to the preloader and scroll bar. The preloader and Scroll bar is present on all pages of the website with styling. The scroll bar behaviour has been improved and the thumb and track have been redesigned, resulting in improved scroll behaviour.
Improvements:

Optimized Preloader: Enhanced the preloader animation on the landing, timer, and world clock pages to improve user experience.

Revamped Preloader Design: Redesigned the preloader with modern CSS styling to enhance visual appeal.

Dedicated Preloader Script and Styling: Applied a separate JavaScript and CSS  Styling to manage the preloader functionality and scroll bar scrolling behaviour, ensuring better code organization and maintainability.

How Has This Been Tested?
The program was tested locally on a machine using the Chrome browser. To verify the changes, the website was loaded after the modifications were made. This involved manually inspecting the visual elements and functionally testing various user interactions to ensure the changes were implemented correctly.
Screenshots 📷

Before changes
https://github.com/user-attachments/assets/8734ead7-8565-4ef2-b951-e35899fc6153
After adding preloader
https://github.com/user-attachments/assets/45f3ae4f-a598-4b3d-96a4-c0e2f57e10f5
After improving scroll bar
https://github.com/user-attachments/assets/98aa724c-56ea-4ea6-8119-2c7bdfea9a6c
@param-code   could u please increase the level of this PR to level 2 or level 3, as I have added a Scroll bar and designed PreLoader and add on all the pages with styling?

Related Issue
Issue Fixed: #98
Description
Styling has been applied to the preloader and scroll bar. The preloader and Scroll bar is present on all pages of the website with styling. The scroll bar behaviour has been improved and the thumb and track have been redesigned, resulting in improved scroll behaviour.
Improvements:

Optimized Preloader: Enhanced the preloader animation on the landing, timer, and world clock pages to improve user experience.
Revamped Preloader Design: Redesigned the preloader with modern CSS styling to enhance visual appeal.
Dedicated Preloader Script and Styling: Applied a separate JavaScript and CSS  Styling to manage the preloader functionality and scroll bar scrolling behaviour, ensuring better code organization and maintainability.

How Has This Been Tested?
The program was tested locally on a machine using the Chrome browser. To verify the changes, the website was loaded after the modifications were made. This involved manually inspecting the visual elements and functionally testing various user interactions to ensure the changes were implemented correctly.
Screenshots 📷
Before changes
Screen.Recording.2024-10-13.152329.mp4
After adding preloader
Screen.Recording.2024-10-08.132844.mp4
After improving scroll bar
Screen.Recording.2024-10-13.152407.mp4
@param-code could u please increase the level of this PR to level 2 or level 3, as I have added a Scroll bar and designed PreLoader and add on all the pages with styling?

It stuck at the loading screen.Can you check again about this.

@param-code may be its due to network issue , form my end its working properly
https://github.com/user-attachments/assets/fb38ce14-f5e5-48bd-a85e-f0cf8c285b87


Same issue on firefox 128

Duplicate of https://github.com/csfloat/extension/issues/249


Sudoku Solver

Description: Write a program to solve a Sudoku puzzle by filling the empty cells.
The empty cells are represented by the character '.'. You must solve the puzzle using backtracking.
Example:
Input: board = [["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."], ... ]
Output: The filled board where all empty spaces are replaced with valid numbers.

Hii @Saloni6111 please assign me this Problem!

Hii @Saloni6111 please assign me this Problem!

Sure, it's already assigned to you. Please go ahead!

Hello!
Kindly please assign me this issue.

hi can please assign it to me !!
thanks


The warning message should be correct if the admin is trying to edit the slider with an invalid image extension.

Bagisto Version: Master
Steps To reproduce--
1. Log in as an admin.
2. Click on the slider inside the settings tab.
3. Edit any slider.
4. Upload .svg image for slider
Expected result: The warning message should be correct if the admin is trying to edit the slider with an invalid image extension.
Actual result: The warning message is not correct if the admin is trying to edit the slider with an invalid image extension.Please find the screenshot Here

@Sanjaybhattwebkul
Followed the steps above (uploaded svg image) and getting a proper error.
https://prnt.sc/xI9ZaK2hCnle


Benchmark iteration test for binary 64 bit timer entries

Show iteration times for various instances of a simple model of timers similar to those used by Redis.
This is the first of 2 PRs. The 2nd PR has changes to iteration for which these new benchmarks provide useful comparisons.

I merged your patch in my rax fork that already merged patches from redis.
Test does not compile and is fixed with https://github.com/jcorporation/rax/commit/f089a12f45bfd084ccb83138e0794d3a728aa8c7.

Sigh. Your fix doesn't work on my M1 Mac... I'll look at alternatives.

Just merged your fix and it works!


The responsive menu doesn't open when on the login form, when screen is smaller than 900px wide

New Mockup
Please check assets/css/global.css, design-assets folder images, and figma files for updated style guides. Any new pull request should use the updated color, spacing, and sizing variables.
No Bootstrap or jQuery
Please refrain from adding Bootstrap or jQuery to the site. These pr's will be closed. They overwrite global styles. Vanilla CSS and JS is way better now anyways 😊
New Task:
What is the task
<Detail the problem/task>
Who is the task for?

[x] I created this task for me to complete, I will create a PR soon.
[ ] I created this task for someone else to claim.
[ ] I think this is a task that multiple people can do

Confirm all of the following:

[x] I have looked at all the issues currently available and this does not exist or overlap with another ticket

⚠ PLEASE ONLY SUBMIT A PR FOR THIS TASK IF THIS TASK WAS AVAILABLE FOR YOU TO CLAIM

Created a PR for this - https://github.com/zero-to-mastery/Keiko-Corp/pull/991
Fixed this issue


Changes on Ballerina action invocation

Tested this PR on top of https://github.com/ballerinalang/ballerina/pull/3071. No issue found.

This PR is depends on https://github.com/ballerinalang/ballerina/pull/3100


Hash crash when  using a wav with various ID3 tags

Hello,
When i use the hash function on a wav that has some ID3 tags it will result in a Sample rate of the given file is not supported Format: SampleRate
What tags exactly ?
It depends, i tried on multiple files, after removing tags one by one with dbpoweramp and relaunching each time it worked.
Some are tags generated by DJ Mixing softwares (serator or traktor) some are just "Comment" or "Description" tags.
The DJ Mixing software ones can be very large but i got some crashes even just a few small or empty tags.
I can provide faulty and their working counterpart files if needed (they are most likely copyrighted so no link here of course).
Edit:
After looking a little bit more closely in the Audio Property tab i noticed that "Contains" lists:
Album Art, ID Tag [LIST & ID3 & BEXT v0]
I removed randomly tags until the BEXT v0 was not showing anymore.
So i guess that this data is not ignored when reading the file.

Try changing your audio service from SoundFingerprintingAudioService to either FFmpegAudioService or NAudioService, it should work with wav files that has different samplerates etc


python3Packages.asgiref: disable test on Darwin

Motivation for this change
Fix Darwin build. Cf. https://github.com/NixOS/nixpkgs/pull/107652#issuecomment-756627585
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108876 run on x86_64-linux 1

20 packages built:

datasette (python38Packages.datasette)
mitmproxy (python38Packages.mitmproxy)
python37Packages.asgiref
python37Packages.channels
python37Packages.channels-redis
python37Packages.daphne
python37Packages.datasette
python37Packages.django_3
python37Packages.mitmproxy
python38Packages.asgiref
python38Packages.channels
python38Packages.channels-redis
python38Packages.daphne
python38Packages.django_3
python39Packages.asgiref
python39Packages.channels
python39Packages.channels-redis
python39Packages.daphne
python39Packages.django_3
python39Packages.mitmproxy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108876 run on x86_64-linux 1

20 packages built:

datasette (python38Packages.datasette)
mitmproxy (python38Packages.mitmproxy)
python37Packages.asgiref
python37Packages.channels
python37Packages.channels-redis
python37Packages.daphne
python37Packages.datasette
python37Packages.django_3
python37Packages.mitmproxy
python38Packages.asgiref
python38Packages.channels
python38Packages.channels-redis
python38Packages.daphne
python38Packages.django_3
python39Packages.asgiref
python39Packages.channels
python39Packages.channels-redis
python39Packages.daphne
python39Packages.django_3
python39Packages.mitmproxy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108876 run on x86_64-darwin 1

1 package marked as broken and skipped:

python39Packages.datasette

20 packages built:

datasette (python38Packages.datasette)
mitmproxy (python38Packages.mitmproxy)
python37Packages.asgiref
python37Packages.channels
python37Packages.channels-redis
python37Packages.daphne
python37Packages.datasette
python37Packages.django_3
python37Packages.mitmproxy
python38Packages.asgiref
python38Packages.channels
python38Packages.channels-redis
python38Packages.daphne
python38Packages.django_3
python39Packages.asgiref
python39Packages.channels
python39Packages.channels-redis
python39Packages.daphne
python39Packages.django_3
python39Packages.mitmproxy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108876 run on x86_64-darwin 1

1 package marked as broken and skipped:

python39Packages.datasette

20 packages built:

datasette (python38Packages.datasette)
mitmproxy (python38Packages.mitmproxy)
python37Packages.asgiref
python37Packages.channels
python37Packages.channels-redis
python37Packages.daphne
python37Packages.datasette
python37Packages.django_3
python37Packages.mitmproxy
python38Packages.asgiref
python38Packages.channels
python38Packages.channels-redis
python38Packages.daphne
python38Packages.django_3
python39Packages.asgiref
python39Packages.channels
python39Packages.channels-redis
python39Packages.daphne
python39Packages.django_3
python39Packages.mitmproxy


As described in #1059 :

Installation of specter-desktop via services like the others in a virtualenv + pip install
cryptoadvance.specter (in home/admin/.specter/.env)
On top it creates a self-signed-cert and exposes it via https (on port 25441) also it creates a Tor-hidden-service.
Authentication is enabled by default (Pin of "Password B")
the installation-procedure is also creating udev-rules in /etc/udev/rules.d for all major hardware-wallets as described in https://github.com/bitcoin-core/HWI/blob/master/hwilib/udev/README.md
deinstallation-procedure is asking the user whether to keep the data

Thanks - merged into the new v1.5 branch :)


Tax is added to total price, even when catalog prices are including tax

Describe the bug
In my catalog all the prices are including tax, so I set the option "Tax inclusive" to true in the admin
But on the checkout and on the invoices it adds the tax to the total price, which shouldn't happen because the tax is already part of the product price.
To Reproduce
Steps to reproduce the behavior:

Set the option "Tax inclusive" to true
Create a product, set the price to $10,00
Set the Tax category for this product to 10%

Expected behavior
This should be the pricing:
Product: $10,00
Tax: $1,00
Total: $10,00
But instead I get this :
Product: $10,00
Tax: $1,00
Total: $11,00
Additional context
I'm using Bagisto 2.1.1

@arne-s
Thank You So much for your query, we really appreciate your contribution towards bagisto.
As per checking the concern it was found that the issue is appearing. Please check the video for reference and confirm once.
Video
https://github.com/bagisto/bagisto/assets/92721837/26331421-0628-4590-afb0-08b6af75b1f7

This issue will be resolved in version 2.2.0.

Fixed on #9711


test-branch/execute-job/wrong-commit-sha-on-pr/5b8c5023-3bea-4c7e-80a9-ec02b38d0f40

PR for testing 861c9d0dcd58bfbdc1e5d1f0088acb61a36538e9

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


Scan example in official README throws error

The example in the official README, also shown in pub.dev throws an error (The getter 'device' isn't defined for the class 'List'.
I think the example reads the device as if the scan were initiated using the scan method instead of the startScan method.
I tried this instead:
// Start scanning
flutterBlue.startScan(timeout: Duration(seconds: 4));

// Listen to scan results
var subscription = ftBlue.scanResults.listen((scanResultsList) {
      // Last element in scanResultsList is the result of the last scan
      var device = scanResultsList.last.device; // Get a device from the stream
      foundDevices.add(device);
      print('${device.name} found! rssi: ${scanResultsList.last.rssi}'); //DEBUG
    });

// Stop scanning
flutterBlue.stopScan();

It solves that issue, but the list of devices is empty, so "device" does not exist. Furthermore, doing this:
// Start scanning and wait for its completion
var scanResultsList = await ftBlue.startScan(timeout: Duration(seconds: waitSeconds));
print(scanResultsList);

prints an empty list. I've tried with waitSeconds  equal to 4, 15 and 30.

I have the same issue...
Why search function returns an empty list ?

I have the same issue...
Why search function returns an empty list ?

You have to enable the location service in your mobile device for the bluetooth low energy devices to be detected. Also, take into account that the scan function is executed for the specified duration and results are returned via a stream at the end of search.

Fixed in recent commit.


Doppler Operator fails with gRPC Liveness Probe

We are encountering an issue with the Doppler Kubernetes Operator when using a grpc liveness probe in our deployment. The operator fails to reconcile the deployment due to a validation error related to the livenessProbe configuration.
Error Message
2024-11-14T11:30:10.154Z    ERROR   controllers.DopplerSecret   Unable to reconcile deployment  {"dopplersecret": "doppler-operator-system/my-app-secret", "error": "Failed to update deployment annotation: Deployment.apps \"my-app\" is invalid: [spec.template.spec.containers[0].livenessProbe: Required value: must specify a handler type, spec.template.spec.containers[0].readinessProbe: Required value: must specify a handler type]"}
github.com/go-logr/zapr.(*zapLogger).Error
    /go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:132
github.com/DopplerHQ/kubernetes-operator/controllers.(*DopplerSecretReconciler).ReconcileDeploymentsUsingSecret.func1
    /workspace/controllers/dopplersecret_controller_deployments.go:67

Context
Our deployment configuration includes a grpc liveness probe:
livenessProbe:
  grpc:
    port: 50051
  initialDelaySeconds: 20
  timeoutSeconds: 5
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

Despite running on Kubernetes 1.30, which supports grpc liveness probes, the Doppler Operator fails to update the deployment, likely due to an internal validation that does not recognize the grpc probe type.

This will be fixed in the next release!

Thank you so much!!!


Honor more config options in Windows network tracer

What does this PR do?
There were several configuration options that were not being applied to the windows tracer. This fixes that.
Motivation
Consistency between Linux and Windows.
Describe how to test your changes
Using any of the non-default values of the following config options on Windows, should now work:

CollectTCPConns
CollectUDPConns
CollectIPv6Conns
CollectLocalDNS
ExcludedSourceConnections
ExcludedDestinationConnections

Checklist

[x] A release note has been added or the changelog/no-changelog label has been applied.

get the driver signed

How long does this normally take?


fix: make @monthly macro work correctly

@monthly macro was incorrectly mapped in both the parser and the test file, as described in #323.
Fixed

Nice catch! Thank you for the fix ❤

:tada: This issue has been resolved in version 5.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Brute force implementation of Monroe

compute_monroe_bruteforce() in rules_approval.py works only if the number of voters is divisible by the committee size
To solve this, implement the algorithm proposed in [1], Section 5, based on network flow algorithms.
[1] Procaccia, Ariel D., Jeffrey S. Rosenschein, and Aviv Zohar. "On the complexity of achieving proportional representation." Social Choice and Welfare 30, no. 3 (2008): 353-362.

Monroe via brute force now implemented thanks to @stefanschlomoforster . The Monroe score is now computed via a flow algorithm as described in [2], which can handle the case that  the number of voters is not divisible by the committee size.
[2] Betzler, N., Slinko, A., & Uhlmann, J. (2013). On the computation of fully proportional representation. Journal of Artificial Intelligence Research, 47, 475-519. https://www.jair.org/index.php/jair/article/download/10825/25833/


dnn_introduction_ex.cpp: error: no match for call on GCC 7

Hi,
with Debian Sid and GCC 7 (7.0.1 20170121 (experimental) [trunk revision 244748]) a compilation fails with the following error message:
In file included from /home/stefan/Repositories/dlib/dlib/../dlib/dnn.h:14:0,
                 from /home/stefan/Repositories/dlib/examples/dnn_introduction_ex.cpp:21:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/layers.h: In member function 'dlib::alias_tensor_const_instance dlib::fc_<num_outputs_, bias_mode>::get_weights() const':
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/layers.h:1104:37: error: no match for call to '(const dlib::alias_tensor) (const dlib::resizable_tensor&, int)'
             return weights(params, 0);
                                     ^
In file included from /home/stefan/Repositories/dlib/dlib/../dlib/dnn.h:12:0,
                 from /home/stefan/Repositories/dlib/examples/dnn_introduction_ex.cpp:21:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:615:31: note: candidate: dlib::alias_tensor_instance dlib::alias_tensor::operator()(dlib::tensor&, size_t) <near match>
         alias_tensor_instance operator() (
                               ^~~~~~~~
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:615:31: note:   conversion of argument 1 would be ill-formed:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:637:37: note: candidate: dlib::alias_tensor_const_instance dlib::alias_tensor::operator()(const dlib::tensor&, size_t) <near match>
         alias_tensor_const_instance operator() (
                                     ^~~~~~~~
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:637:37: note:   passing 'const dlib::alias_tensor*' as 'this' argument discards qualifiers
In file included from /home/stefan/Repositories/dlib/dlib/../dlib/dnn.h:14:0,
                 from /home/stefan/Repositories/dlib/examples/dnn_introduction_ex.cpp:21:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/layers.h: In member function 'dlib::alias_tensor_const_instance dlib::fc_<num_outputs_, bias_mode>::get_biases() const':
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/layers.h:1118:49: error: no match for call to '(const dlib::alias_tensor) (const dlib::resizable_tensor&, size_t)'
             return biases(params, weights.size());
                                                 ^
In file included from /home/stefan/Repositories/dlib/dlib/../dlib/dnn.h:12:0,
                 from /home/stefan/Repositories/dlib/examples/dnn_introduction_ex.cpp:21:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:615:31: note: candidate: dlib::alias_tensor_instance dlib::alias_tensor::operator()(dlib::tensor&, size_t) <near match>
         alias_tensor_instance operator() (
                               ^~~~~~~~
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:615:31: note:   conversion of argument 1 would be ill-formed:
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:637:37: note: candidate: dlib::alias_tensor_const_instance dlib::alias_tensor::operator()(const dlib::tensor&, size_t) <near match>
         alias_tensor_const_instance operator() (
                                     ^~~~~~~~
/home/stefan/Repositories/dlib/dlib/../dlib/dnn/tensor.h:637:37: note:   passing 'const dlib::alias_tensor*' as 'this' argument discards qualifiers
CMakeFiles/dnn_introduction_ex.dir/build.make:62: recipe for target 'CMakeFiles/dnn_introduction_ex.dir/dnn_introduction_ex.cpp.o' failed
make[2]: *** [CMakeFiles/dnn_introduction_ex.dir/dnn_introduction_ex.cpp.o] Error 1
CMakeFiles/Makefile2:548: recipe for target 'CMakeFiles/dnn_introduction_ex.dir/all' failed
make[1]: *** [CMakeFiles/dnn_introduction_ex.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Try it now

Thanks, 4dfeb7e186dd1bf6ac91273509f687293bd4230a fixed it :)

No problem, thanks for finding the bug :)


[Event Change] Table 179 Reversal Entry - OnBeforeCheckGLAcc

Please change the property IncludeSender of Event Publisher OnBeforeCheckGLAcc to Yes
This way we'll have access to the current record the publisher is fired from.
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Allow local disk maven repository dependency

Currently, a client's debug builds need to depend on git@github.com:material-motion/material-motion-runtime-android:develop.

For context: this will allow a dev to make changes to the runtime and include them in the transitions library.

Extra context: http://codereview.cc/D1197

🎊 My diff is ready for review at http://codereview.cc/D1237

🎊 My diff is ready for review at http://codereview.cc/D1237


added new feature: M.priorityQueue()

Do the checklist before submitting the PR:

[X] Have you read the guidelines mentioned in CONTRIBUTING.md?
[ ] Have you squashed your commits?

Q: What version of Node.js you've used in the project? (e.g. Node v10.11.0)
A: 11.10.0
Q: Mention the Issue Number! (e.g. Fixed #8)
A: Closes #30

Give additional information regarding the PR below:

I've implemented a priority Queue as per this guide

Codecov Report

Merging #55 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #55   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          39     41    +2
  Lines         387    416   +29
=====================================
+ Hits          387    416   +29

Impacted Files
Coverage Δ

src/priorityQueue/index.js
100% <100%> (ø)

src/index.js
100% <100%> (ø)
:arrow_up:

src/validation/number.js
100% <100%> (ø)

Continue to review full report at Codecov.

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

You should also include this module in its own category Data Structure

@pbiswas101, changed accordingly. Implemented the helper methods except for the swap(). Let me know if anything else needs to be changed.


wildcard certificate

If I have a wildcard certificate installed (*.example.com), I end up with
listen 80;
return 301 https://.*.example.com$request_uri;

in the nginx.conf, which is obviously wrong.

I'm having a difficult time recreating this. Can you post a git push with DOKKU_TRACE on?

https://gist.github.com/punund/2ef95c7dc6ef6525fadd

What are the contents of /home/dokku/www/VHOST?

Whatever I set it to, after deploy it becomes
config.ly
.*.config.ly

What version of dokku?

0.3.13

Hrm. Ok I can't recreate this for whatever reason, but I do see where the potential issue is coming from. I have a PR (#975) open now.
Can you remove the errant line from /home/dokku/www/VHOST and test out the branch from the aforementioned PR?

@punund The changes @michaelshobbs made are in master, can you upgrade to master and let us know if it works?

@punund I'm closing this issue. I think @michaelshobbs fixed this. Feel free to comment if that's not the case.


Vector3.zero Player spawn issue

Remote players spawns on Vector3.zero before moving to their correct positions, normally that happens automatically (It may take some time) but sometimes they're there until they press a key.

Thanks for notifying, I will look into this.


Need more info about issue 189 raised [abt pdf indexing in solr]

We had a discussion on google group link https://groups.google.com/d/msg/solrnet/2_5XF3zVRW8/lFsRSQ1jzOgJ about pdf index feature in solr and how solr net works. You provided one example link. But I require more detailed information about what different options I can use with solr net at time of pdf/doc indexing. I have asked my detailed questions in this link. Kindly help.

Please keep the conversation where it was started. As I mentioned on that thread, if you see a 400 error you need to get the logs.


Simplify Geometry for Plotly

In this PR I have:

Added a simplify geometry function to the excluded regions html map to make the performance a little better.

@amanmajid Not a perfect solution, but here is my attempt to address the issue described in the readme! It def makes it a little snappier on my computer. Im fine if this doesnt cut it though and you still want switch to default presents :)

Hi @trevorb1
Thanks for this also.
This is very useful, but how computationally expensive is the simplify_polygon function? Using the plotly presets approach is quick and produces lightweight HTML outputs.

@amanmajid compared to the current implementation, a little bit longer (this is 100 runs on just the figure generation. ie. the map_excluded_regions(...) function)

For the plotly presets, I wasnt sure if you meant basically removing the update_layout options?

Hi @trevorb1 - I've just refactored the map_excluded_regions plot to use plotly's default geometries (see here). This is a more minimal solution than doing a geom simplify within the plotting function so closing this for now.


fix(tee-prover): fix deserialization of std::time::Duration in envy config

What ❔
This PR fixes the deserialization issue of std::time::Duration in the envy configuration.
Relevant logs from the stage environment showcasing the issue:
https://grafana.matterlabs.dev/goto/IC-9k4eIR?orgId=1
Error message from the above logs:
Error: missing value for field initial_retry_backoff

The root cause of the problem supposedly boils down to the mismatch between the expected format of TEE_PROVER_INITIAL_RETRY_BACKOFF and the actual format. We export it as follows:
export TEE_PROVER_INITIAL_RETRY_BACKOFF=1

which is not supported as explained here:
https://github.com/serde-rs/serde/issues/339#issuecomment-539453327
Why ❔
To fix the bug.
Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[x] Code has been formatted via zk fmt and zk lint.

@popzxc please review when you get a chance. Sorry, I must have overlooked it while testing it locally.
To give you more context – that's odd that we get this error on stage (see the relevant logs):
Error: missing value for field initial_retry_backoff

if we have it defined TEE_PROVER_INITIAL_RETRY_BACKOFF here:
      - name: TEE_PROVER_INITIAL_RETRY_BACKOFF
        value: 1

I would rather expect this error instead:
Error: invalid type: string "1", expected struct Duration

I hope stage will correctly pick up the TEE_PROVER_INITIAL_RETRY_BACKOFF variable once we merge this PR. 🤞🏼


fix(versions): update Activiti/activiti-cloud-full-chart-security versions into master

UpdateBot pushed helm dependency: activiti-cloud-full-example to: 7.1.42

UpdateBot commands:
updatebot push-version --kind helm activiti-cloud-full-example 7.1.42


:ignore-ns not working

Hi, none of these work calling hiera from a shell script:
lein hiera :show-external true :ignore-ns #{clojure}
lein hiera :show-external true :ignore-ns \#{clojure}
lein hiera :show-external true :ignore-ns "#{clojure}"
The image gets generated but clojure.* namespaces are still shown.

In the first case, everything after # is ignored as a comment, of course.

Hi, @klauswuestefeld
this library conjoins the value of the :ignore-ns CLI argument into a set. The docstring states also clearly:

[...] May be provided multiple times.

You could exclude e.g. both clojure and dev namespaces like this:
lein hiera :show-external true :ignore-ns clojure :ignore-ns dev
Cheers
Andreas

What docstring?
The readme file is misleading: "A set of namespace prefixes to exclude from the graph. For example, #{clojure} would exclude clojure.string, clojure.java.io, etc."

Hi @klauswuestefeld ,
you're right. The readme describes imho not the CLI option but the implementation detail.
The docstring of the Leiningen Plugin hiera function describes the expected parameter.
Cheers,
Andreas

In the 2.0.0 version, :ignore is a set which may contain symbol prefixes or regex patterns. Since it's using kwarg-style arguments to build the map, passing in an explicit set is the correct approach now.


toDA an toTM should do more validation

And perhaps throw an exception if invalid (perhaps by flag).  Some examples of bad dates that this function should guard against:
dicomParser.parseDA('20150001'); // 00 is invalid month
dicomParser.parseDA('20150100'); // 00 is invalid day
dicomParser.parseDA('201500AA'); // AA is invalid day, returns NaN

Fixed in 1.1.5


Ship selection dropdown with autofill

Add ship selection with autofill for mast height and target length

Include draft of keel


add model name to langchain metadata, pass retriever service context to response synthesizer

Description
Fixes #6620 and #6510
Adds model_name to LLMMetadata that is automatically set when possible.
RetrieverQueryEngine service_context param
There are two issues here. In #6510, the service context is not being propagated when as_query_engine is called on an index. While it attempts to add a service_context argument to the call to RetrieverQueryEngine.from_args, RetrieverQueryEngine.__init__ doesn't actually support a service_context parameter.
So this adds a service_context parameter to RetrieverQueryEngine.__init__, which fixes this.
RetrieverQueryEngine fallback to retriever's service context
For #6630, RetrieverQueryEngine was not passed any explicit service_context. Its only required parameter is a retriever. For these cases, we can fall back to that retriever's service context. The BaseReceiver will try to calculate a service context since these can be stored directly or on the index depending on the type.
Add model_name to LLMMetadata
One of the challenges in testing this was that the model name for an instance of an LLM isn't easily accessible. When users were trying to debug their code, it's non-obvious that the wrong model is being used.
To simplify this, I've added a model_name to LLMMetadata and we'll automatically set it when possible.
Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new unit/integration tests
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@tyre I'm curious why the retriever query engine needs the service context on the init? The LLM and embedding models are not actually used in the class -- everything happens in the response synthesizer and retriever

Yea, pulling from the retriever is fine, just doesn't need to be added to the object class itself I think

@logan-markewich alright that's done, lmk what you think


ability to change the default color palette

feature request:
Change the values of the default theme.
What is the expected behavior?
Able to configure the values of the palette changing the color that we prefer
What is the current behavior?
Only the green is allowed
Which versions of Angular, Material, OS, browsers are affected?
all

see https://github.com/angular/material2/issues/123

Currently the only way you have is to clone this repository, change colors in default-theme.scss and then compile material2 by yourlself.
Example of changing colors - https://github.com/TheCaptainDate/ssp-material2/commit/81c906927544ec0dd3f00c92e7e351db625e9cfe

See #123


!freetime command throws an error if there's only one event in the schedule

This special case needs to be handled in the code.

Fixed in PR #32


rcc: Add pllsai to CFGR struct and pllsaip as PLL48CLK source

Thanks, I tested the clock output of the PLL48CLK with pllsaip as the clock source.
Btw, should I squash?