Error thrown when run in a project built with Angularjs, typescript, karma, jasmine

Summary
The stryker run command is giving me errors.
[2018-03-26 22:53:38.540] [DEBUG] Sandbox - Creating a sandbox for files in /Users/jack/workspace/alphala/disney/.stryker-tmp/sandbox8533728
[2018-03-26 22:53:38.806] [DEBUG] Sandbox - Creating test runner 0 using settings {port: 9234}
[2018-03-26 22:53:38.853] [ERROR] TestRunnerChildProcessAdapter - TypeError: Serializing native function: bound apply
    at /Users/jack/workspace/alphala/disney/node_modules/serialize-javascript/index.js:112:19
    at RegExp.[Symbol.replace] (native)
    at RegExp.[Symbol.replace] (native)
    at String.replace (native)
    at Object.serialize (/Users/jack/workspace/alphala/disney/node_modules/serialize-javascript/index.js:99:16)
    at TestRunnerChildProcessAdapter.send (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:156:51)
    at TestRunnerChildProcessAdapter.sendStartCommand (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:164:14)
    at TestRunnerChildProcessAdapter.startWorker (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:59:14)
    at new TestRunnerChildProcessAdapter (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:50:15)
    at TimeoutDecorator.testRunnerProducer (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:9:72)
    at TimeoutDecorator.TestRunnerDecorator.createInnerRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:22:33)
    at TimeoutDecorator.TestRunnerDecorator [as constructor] (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:10:15)
    at new TimeoutDecorator (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TimeoutDecorator.js:15:42)
    at RetryDecorator.testRunnerProducer (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:9:20)
    at RetryDecorator.TestRunnerDecorator.createInnerRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:22:33)
    at RetryDecorator.TestRunnerDecorator [as constructor] (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:10:15)
    at new RetryDecorator (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/RetryDecorator.js:16:42)
    at Object.create (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:8:16)
    at Sandbox.initializeTestRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/Sandbox.js:141:64)
    at Sandbox.<anonymous> (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/Sandbox.js:42:52)
    at step (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:129:27)
    at Object.next (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:110:57)
    at fulfilled (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:100:62)
[2018-03-26 22:53:38.863] [ERROR] StrykerCli - an error occurred TypeError: Cannot read property 'reject' of undefined
    at TestRunnerChildProcessAdapter.send (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:160:29)
    at TestRunnerChildProcessAdapter.sendStartCommand (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:164:14)
    at TestRunnerChildProcessAdapter.startWorker (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:59:14)
    at new TestRunnerChildProcessAdapter (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/IsolatedTestRunnerAdapter.js:50:15)
    at TimeoutDecorator.testRunnerProducer (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:9:72)
    at TimeoutDecorator.TestRunnerDecorator.createInnerRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:22:33)
    at TimeoutDecorator.TestRunnerDecorator [as constructor] (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:10:15)
    at new TimeoutDecorator (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TimeoutDecorator.js:15:42)
    at RetryDecorator.testRunnerProducer (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:9:20)
    at RetryDecorator.TestRunnerDecorator.createInnerRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:22:33)
    at RetryDecorator.TestRunnerDecorator [as constructor] (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/TestRunnerDecorator.js:10:15)
    at new RetryDecorator (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/RetryDecorator.js:16:42)
    at Object.create (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/isolated-runner/ResilientTestRunnerFactory.js:8:16)
    at Sandbox.initializeTestRunner (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/Sandbox.js:141:64)
    at Sandbox.<anonymous> (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/Sandbox.js:42:52)
    at step (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:129:27)
    at Object.next (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:110:57)
    at fulfilled (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:100:62)

Stryker config

module.exports = function(config) {
  config.set({
    files: [

      // Exclude files so we can include only particular files later on.
      '!./**/*.ts',
      '!./**/*.js',

      // Include source files and flag them for mutation.
      { pattern: './src/**/*.ts', included: false, mutated: true },
      '!src/**/*.spec.ts',

      { pattern: './src/**/*.html', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.scss', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.spec.ts', included: true, mutated: false },

      '!./bs-config.js',
      '!./config/*.js',
      '!./coverage/**/*',
      '!./dist/**/*',
      '!./scripts/**/*',
      '!./node_modules/**/*',

      { pattern: './src/assets/images/**/*', included: true, mutated: false, transpiled: false },
      { pattern: './config/*.js', included: true, mutated: false, transpiled: false },
      { pattern: './package.json', included: true, mutated: false, transpiled: false },
      { pattern: './*.js', included: true, mutated: false, transpiled: false },

      { pattern: './src/assets/fonts/**/*', included: false, mutated: false, transpiled: false }

    ],
    testRunner: "karma",
    mutator: "typescript",
    transpilers: ["typescript"],
    reporter: ["clear-text", "progress"],
    testFramework: "jasmine",
    coverageAnalysis: "off",
    karmaConfigFile: "karma.conf.js",
    tsconfigFile: "tsconfig.json",
    mutate: ["src/**/*.ts"],
    logLevel: 'trace'
  });
};

Stryker environment

├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>
Your Environment

software
version(s)

node
6.12.2

npm
5.6.0

typescript .
2.5.3

Operating System
macos

Hi @rexmq thanks for trying out Stryker!
Could you please also share your karma configuration?
My best guess is that your karma.conf.js uses a plugins: [require('some/plugin')] that results in a native function being added to the stryker config object. During the creation a child process for the test runner, that function is serialized (using serialize-javascript) to a string. Native functions are not supported here.

Hi Nico,
Thanks for help. I think we do have the 'require' keyword used. Below are config details of the karma assuming that it is based on NODE_DEV=dev.
./karma.conf.js
var env = process.env.NODE_ENV;
console.log('Karma: using environment: ' + env);
module.exports = require('./config/karma.' + env + '.conf');

./config/karma.dev.conf.js
module.exports = function (config) {
  var configuration = require('./karma.common').karmaConfig;
  configuration.logLevel = config.LOG_ERROR;
  configuration.singleRun = false;

  config.set(configuration);
};

./config/karma.common.conf.js
var webpackConfig = require('./webpack.test');
exports.karmaConfig = {
  autoWatch: true,
  frameworks: ['jasmine', 'karma-typescript'],
  ngHtml2JsPreprocessor: {
    stripPrefix: 'src',
    moduleName: 'vrum'
  },
  browserDisconnectTolerance: 2,
  browsers: ['PhantomJS2'],
  files: [
    {pattern: './config/spec-bundle.js', watched: true}
  ],
  preprocessors: {
    'config/spec-bundle.js': ['webpack'],
    'src/app/**/*.ts': ['karma-typescript', 'webpack']
  },
  reportSlowerThan: 5000,
  reporters: ['progress', 'karma-typescript'],

  //Only show tests which fail.
  specReporter: {
    suppressSkipped: true,
    suppressPassed: true,
    showSpecTiming: true
  },
  singleRun: true,
  karmaTypescriptConfig: {
    reports: {
      'html': {
        directory: 'coverage',
        subdirectory: '../coverage',
        filename: '../coverage'
      },
      'text-summary': ''
    },
    coverageOptions: {
      threshold: {
        global: {
          statements: 98,
          branches: 98,
          functions: 98,
          lines: 98
        }
      }
    }
  },
  webpack: webpackConfig,
  webpackMiddleware: {
    stats: 'errors-only'
  }
};

This is what I figured. I will mark this issue as Feature as we don't support complex javascript objects in karma configuration yet. We have an idea on how to implement it though.
We should remove the KarmaConfigEditor plugin from the stryker-karma-runner package. Instead just read the config from the KarmaTestRunner spawned in the child process.
ConfigEditor plugins are executed in the main Stryker process. Any configuration they add to the stryker configuration (in this case the karma configuration) needs to be serialized to be send to one of the child processes ("sandbox" process).
The reason why we initially decided on this way of working is to allow the KarmaConfigEditor to mutate the files array of stryker, but we will remove that functionality when #589 is implemented.

Hi Nico,
Thanks for that. I am wondering if you can guide me on a workaround to make the stryker run in my project? Quite keen to see how it helps improve the testing.
Regards

@rexmq as a workaround you could try to remove the webpack config from your karma configuration. Instead you can use the stryker-webpack-transpiler to create the test bundles for you.
As a test to see of it is serializable you could use:
var serialize = require('serialize-javascript');
serialize(require('./config/karma.common.conf.js');

Hi Nico
You were right. I tried the test script by removing below lines related to webpack in the karma conf file and it didn't give any errors.
var webpackConfig = require('./webpack.test');
.......
webpack: webpackConfig,
  webpackMiddleware: {
    stats: 'errors-only'
  }

Then I tried to run stryker run with below config but got another error.
module.exports = function(config) {
  config.set({
    files: [

      // Exclude files so we can include only particular files later on.
      '!./**/*.ts',
      '!./**/*.js',

      // Include source files and flag them for mutation.
      { pattern: './src/**/*.ts', included: false, mutated: true },
      '!src/**/*.spec.ts',

      { pattern: './src/**/*.html', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.scss', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.spec.ts', included: true, mutated: false },

      '!./bs-config.js',
      '!./config/*.js',
      '!./coverage/**/*',
      '!./dist/**/*',
      '!./scripts/**/*',
      '!./node_modules/**/*',

      { pattern: './src/assets/images/**/*', included: true, mutated: false, transpiled: false },
      { pattern: './config/*.js', included: true, mutated: false, transpiled: false },
      { pattern: './package.json', included: true, mutated: false, transpiled: false },
      { pattern: './*.js', included: true, mutated: false, transpiled: false },

      { pattern: './src/assets/fonts/**/*', included: false, mutated: false, transpiled: false }

    ],
    testRunner: "karma",
    mutator: "typescript",
    transpilers: ["webpack"],
    reporter: ["clear-text", "progress"],
    testFramework: "jasmine",
    coverageAnalysis: "off",
    karmaConfigFile: "karma.conf.js",
    tsconfigFile: "tsconfig.json",
    mutate: ["src/**/*.ts"],
    logLevel: 'trace'
  });
};

The error is like below. Any possible workaround to overcome this? Many thanks for your help.
[at-loader] Checking started in a separate process...
[at-loader] Ok, 2.188 sec.
[2018-03-30 00:39:16.845] [ERROR] StrykerCli - an error occurred Error: Could not transpile input files: Execute webpack: Error: ENOENT: no such file or directory, open '/Users/rex/workspace/motome/vrum-app/dist/vendor.bundle.js'
at InitialTestExecutor. (/Users/rex/workspace/motome/vrum-app/node_modules/stryker/src/process/InitialTestExecutor.js:54:31)
at step (/Users/rex/workspace/motome/vrum-app/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/rex/workspace/motome/vrum-app/node_modules/tslib/tslib.js:110:57)
at fulfilled (/Users/rex/workspace/motome/vrum-app/node_modules/tslib/tslib.js:100:62)

Hi Nico
You were right. I tried the test script by removing below lines related to webpack in the karma conf file and it didn't give any errors.
var webpackConfig = require('./webpack.test');
.......
webpack: webpackConfig,
  webpackMiddleware: {
    stats: 'errors-only'
  }

Then I tried to run stryker run with below config but got another error.
module.exports = function(config) {
  config.set({
    files: [

      // Exclude files so we can include only particular files later on.
      '!./**/*.ts',
      '!./**/*.js',

      // Include source files and flag them for mutation.
      { pattern: './src/**/*.ts', included: false, mutated: true },
      '!src/**/*.spec.ts',

      { pattern: './src/**/*.html', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.scss', included: false, mutated: false, transpiled: false },
      { pattern: './src/**/*.spec.ts', included: true, mutated: false },

      '!./bs-config.js',
      '!./config/*.js',
      '!./coverage/**/*',
      '!./dist/**/*',
      '!./scripts/**/*',
      '!./node_modules/**/*',

      { pattern: './src/assets/images/**/*', included: true, mutated: false, transpiled: false },
      { pattern: './config/*.js', included: true, mutated: false, transpiled: false },
      { pattern: './package.json', included: true, mutated: false, transpiled: false },
      { pattern: './*.js', included: true, mutated: false, transpiled: false },

      { pattern: './src/assets/fonts/**/*', included: false, mutated: false, transpiled: false }

    ],
    testRunner: "karma",
    mutator: "typescript",
    transpilers: ["webpack"],
    reporter: ["clear-text", "progress"],
    testFramework: "jasmine",
    coverageAnalysis: "off",
    karmaConfigFile: "karma.conf.js",
    tsconfigFile: "tsconfig.json",
    mutate: ["src/**/*.ts"],
    logLevel: 'trace'
  });
};

The error is like below. Any possible workaround to overcome this? Many thanks for your help.
[at-loader] Checking started in a separate process...
[at-loader] Ok, 2.188 sec.
[2018-03-30 00:39:16.845] [ERROR] StrykerCli - an error occurred Error: Could not transpile input files: Execute webpack: Error: ENOENT: no such file or directory, open '/Users/jack/workspace/alphala/disney/dist/vendor.bundle.js'
at InitialTestExecutor. (/Users/jack/workspace/alphala/disney/node_modules/stryker/src/process/InitialTestExecutor.js:54:31)
at step (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:110:57)
at fulfilled (/Users/jack/workspace/alphala/disney/node_modules/tslib/tslib.js:100:62)

It seems like you didn't specify the webpack config file in stryker configuration. If you don't do that it uses defaults. See the stryker-webpack-transpiler readme for more information.
That being said: I don't really understand the error you have. I hope this helps. I suggest to first test your webpack configuration yourself using the cli: https://webpack.js.org/api/cli/
webpack --config webpack.conf.js

@rexmq could you try to see if version 0.14.0 of the stryker-karma-runner fixes your issue?

@nicojs Thanks for the help. I just had a quick check. I assumed only source files and corresponding test files should be added in the files block. Am I correct? Anyway, I got different errors with different config.
module.exports = function(config) {   config.set({     files: [       './**/*.ts',       '!./**/*.js',       'src/**/*.spec.ts'     ],     testRunner: "karma",     mutator: "typescript",     transpilers: ["typescript"],     reporter: ["html", "clear-text", "progress"],     testFramework: "jasmine",     coverageAnalysis: "off",     karmaConfigFile: "karma.conf.js",     tsconfigFile: "tsconfig.json",     mutate: ["src/**/*.ts"],     logLevel: 'trace'   }); };

[2018-04-09 21:52:16.978] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:16.978] [DEBUG] PluginLoader - Loading plugins stryker-jasmine

[2018-04-09 21:52:16.980] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:16.980] [DEBUG] PluginLoader - Loading plugins stryker-karma-runner
[2018-04-09 21:52:17.992] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:17.992] [DEBUG] PluginLoader - Loading plugins stryker-typescript
[2018-04-09 21:52:18.024] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:18.023] [DEBUG] IsolatedTestRunnerAdapterWorker - Changing current working directory for this process to /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436
[2018-04-09 21:52:18.025] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:18.025] [INFO] KarmaConfigReader - Importing config from "/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js"
[2018-04-09 21:52:18.027] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:18.026] [DEBUG] config - Loading config /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js
[2018-04-09 21:52:18.027] [TRACE] TestRunnerChildProcessAdapter - [2018-04-09 21:52:18.027] [ERROR] config - File /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js does not exist!
[2018-04-09 21:52:18.047] [ERROR] TestRunnerChildProcessAdapter - Child process exited with non-zero exit code 1. Last 10 message from the child process were:
[2018-04-09 21:52:16.954] [DEBUG] PluginLoader - Loading stryker-* from /Users/jack/workspace/disney/myproject/node_modules
[2018-04-09 21:52:16.961] [DEBUG] PluginLoader - Loading plugins stryker-html-reporter (matched with expression stryker-*)

[2018-04-09 21:52:16.962] [DEBUG] PluginLoader - Loading plugins stryker-jasmine (matched with expression stryker-)
[2018-04-09 21:52:16.962] [DEBUG] PluginLoader - Loading plugins stryker-karma-runner (matched with expression stryker-)
[2018-04-09 21:52:16.962] [DEBUG] PluginLoader - Loading plugins stryker-typescript (matched with expression stryker-*)
[2018-04-09 21:52:16.962] [DEBUG] PluginLoader - Loading plugins stryker-html-reporter
[2018-04-09 21:52:16.978] [DEBUG] PluginLoader - Loading plugins stryker-jasmine

[2018-04-09 21:52:16.980] [DEBUG] PluginLoader - Loading plugins stryker-karma-runner

[2018-04-09 21:52:17.992] [DEBUG] PluginLoader - Loading plugins stryker-typescript

[2018-04-09 21:52:18.023] [DEBUG] IsolatedTestRunnerAdapterWorker - Changing current working directory for this process to /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436

[2018-04-09 21:52:18.025] [INFO] KarmaConfigReader - Importing config from "/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js"

[2018-04-09 21:52:18.026] [DEBUG] config - Loading config /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js

[2018-04-09 21:52:18.027] [ERROR] config - File /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox1860436/karma.conf.js does not exist!

[2018-04-09 21:52:18.047] [ERROR] StrykerCli - an error occurred Test runner child process exited with non-zero exit code 1

Another try with error.
module.exports = function(config) {   config.set({     files: [       '!./**/*.ts',       './**/*.js',       'src/**/*.spec.ts'     ],     testRunner: "karma",     mutator: "typescript",     transpilers: ["typescript"],     reporter: ["html", "clear-text", "progress"],     testFramework: "jasmine",     coverageAnalysis: "off",     karmaConfigFile: "karma.conf.js",     tsconfigFile: "tsconfig.json",     mutate: ["src/**/*.ts"],     logLevel: 'trace'   }); };
[2018-04-09 21:55:54.315] [DEBUG] TranspilingLanguageService - Pulling file into memory<EMAIL_ADDRESS>[2018-04-09 21:55:54.318] [DEBUG] TranspilingLanguageService - Pulling file into memory<EMAIL_ADDRESS>[2018-04-09 21:55:54.321] [DEBUG] TranspilingLanguageService - Resolving lib file lib.dom.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.dom.d.ts
[2018-04-09 21:55:54.321] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.dom.d.ts
[2018-04-09 21:55:54.414] [DEBUG] TranspilingLanguageService - Resolving lib file lib.scripthost.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.scripthost.d.ts
[2018-04-09 21:55:54.415] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.scripthost.d.ts
[2018-04-09 21:55:54.416] [DEBUG] TranspilingLanguageService - Resolving lib file lib.es5.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.es5.d.ts
[2018-04-09 21:55:54.416] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.es5.d.ts
[2018-04-09 21:55:54.442] [DEBUG] TranspilingLanguageService - Resolving lib file lib.es2015.iterable.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.es2015.iterable.d.ts
[2018-04-09 21:55:54.442] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.es2015.iterable.d.ts
[2018-04-09 21:55:54.445] [DEBUG] TranspilingLanguageService - Resolving lib file lib.es2015.symbol.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.es2015.symbol.d.ts
[2018-04-09 21:55:54.445] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.es2015.symbol.d.ts
[2018-04-09 21:55:54.445] [DEBUG] TranspilingLanguageService - Resolving lib file lib.es2015.promise.d.ts to /Users/jack/workspace/disney/myproject/node_modules/typescript/lib/lib.es2015.promise.d.ts
[2018-04-09 21:55:54.445] [DEBUG] TranspilingLanguageService - Pulling file into memory: lib.es2015.promise.d.ts
[2018-04-09 21:55:57.678] [ERROR] StrykerCli - an error occurred Error: Emit error! Could not emit file /Users/jack/workspace/disney/myproject/bs-config.js
at TranspilingLanguageService.emit (/Users/jack/workspace/disney/myproject/node_modules/stryker-typescript/src/transpiler/TranspilingLanguageService.js:76:19)
at /Users/jack/workspace/disney/myproject/node_modules/stryker-typescript/src/TypescriptTranspiler.js:53:60
at arrayMap (/Users/jack/workspace/disney/myproject/node_modules/lodash.flatmap/index.js:140:21)
at map (/Users/jack/workspace/disney/myproject/node_modules/lodash.flatmap/index.js:1928:10)
at flatMap (/Users/jack/workspace/disney/myproject/node_modules/lodash.flatmap/index.js:1881:22)
at TypescriptTranspiler.transpileFiles (/Users/jack/workspace/disney/myproject/node_modules/stryker-typescript/src/TypescriptTranspiler.js:46:16)
at TypescriptTranspiler.transpile (/Users/jack/workspace/disney/myproject/node_modules/stryker-typescript/src/TypescriptTranspiler.js:29:36)
at TranspilerFacade. (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/transpiler/TranspilerFacade.js:30:65)
at step (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:110:57)
at /Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:103:75
at Object.__awaiter (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:99:16)
at TranspilerFacade.performTranspileChain (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/transpiler/TranspilerFacade.js:23:24)
at TranspilerFacade.transpile (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/transpiler/TranspilerFacade.js:19:21)
at InitialTestExecutor. (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:78:63)
at step (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:110:57)
at /Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:103:75
at Object.__awaiter (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:99:16)
at InitialTestExecutor.transpileInputFiles (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:72:24)
at InitialTestExecutor. (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:31:51)
at step (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:110:57)
at /Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:103:75
at Object.__awaiter (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:99:16)
at InitialTestExecutor.run (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:25:24)
at Stryker. (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/Stryker.js:53:68)
at step (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:110:57)
at fulfilled (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:100:62)

stryker-karma-runner v0.14.0 is compatible with the latest version of stryker (0.21.1). You should also upgrade that version (and all other plugins). After that you should be able to just leave out files entirely, Stryker will discover them automatically.
Right now, it seems that your karma.conf.js is missing from the sandbox.

Apparently, the stryker.conf.js itself is included in your typescript project. Do you have the --allowJS option turned on?
In any case, the TypescriptTranspiler shouldn't crash here. That is definitely a bug.
A few work arounds on the top of my mind:

Set --allowJS to false.
Add a files array to your stryker.conf.js file with only the files in your typescript project.
Add stryker.conf.js to the excluded files in your tsconfig.json.

sorry, reopening was a mistake, better to create a separate issue for it

I assumed only source files and corresponding test files should be added in the files block. Am I correct? Anyway, I got different errors with different config.

Not entirely true. In files you specify which files need to end up in your sandbox directory (in this case /.stryker-tmp/sandbox1860436 for example). Stryker makes copies of your project in order to be able to run in isolation. So for example: karma.conf.js would also be needed in your sandbox directory. Too bad the typescript transpiler is wrong in assuming that a js file needs to emit output.
I might have some time tomorrow to fix that issue. In the mean time, could you try to add all js files to excluded files in your tsconfig.json?
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#examples

I tried below and found another weird error. I had to delete the .stryker-tmp folder every time after an execution of 'stryker run'. It failed otherwise.
tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "allowJs": true,
    "alwaysStrict": true,
    "sourceMap": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "scripthost",
      "es5",
      "es2015.iterable",
      "es2015.promise"
    ]
  },
  "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts",
        "config/*.js",
        "*.js"
    ]
}

The result is below.
[2018-04-14 00:33:39.379] [TRACE] TestRunnerChildProcessAdapter - webpack: wait until bundle finished:
[2018-04-14 00:33:46.663] [TRACE] TestRunnerChildProcessAdapter -
[at-loader] Using<EMAIL_ADDRESS>from typescript and "tsconfig.json" from /Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/tsconfig.json.
[2018-04-14 00:34:56.335] [TRACE] TestRunnerChildProcessAdapter -
[at-loader] Checking started in a separate process...
[2018-04-14 00:34:57.544] [ERROR] TestRunnerChildProcessAdapter -
[at-loader] Checking finished with 20 errors
[2018-04-14 00:34:58.008] [ERROR] TestRunnerChildProcessAdapter -
ERROR in Entry module not found: Error: Can't resolve './vendor.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
ERROR in Entry module not found: Error: Can't resolve './app.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
ERROR in ./src/app.js
Module not found: Error: Can't resolve './app/app.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
@ ./src/app.js 3:0-23
@ ./config/spec-bundle.js
ERROR in [at-loader] ./src/app/common/directives/search/search-box.directive.spec.ts:597:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:17:14
TS2304: Cannot find name 'SubNavComponent'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:18:17
TS2304: Cannot find name 'SubNavItem'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:19:18
TS2304: Cannot find name 'SubNavItem'.
ERROR in [at-loader] ./src/app/common/directives/variant-select/variant-select.component.spec.ts:14:14
TS2304: Cannot find name 'VariantSelectComponent'.
ERROR in [at-loader] ./src/app/compare/compare.component.spec.ts:26:14
TS2304: Cannot find name 'CompareComponent'.
ERROR in [at-loader] ./src/app/compare/compare.component.spec.ts:364:33
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/compare/ratings/ratings.component.spec.ts:15:14
TS2304: Cannot find name 'CompareRatingsComponent'.
ERROR in [at-loader] ./src/app/compare/replace/compare-replace.component.spec.ts:12:14
TS2304: Cannot find name 'CompareReplaceComponent'.
ERROR in [at-loader] ./src/app/compare/review-panel/review-panel.component.spec.ts:11:14
TS2304: Cannot find name 'CompareReviewPanelComponent'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:5:31
TS2306: File '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src/app/compare/specifications/specifications.js' is not a module.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:17:22
TS2304: Cannot find name 'CarDetailsModel'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:18:23
TS2304: Cannot find name 'CarDetailsModel'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:19:18
TS2304: Cannot find name 'CompareSpecificationsComponent'.
ERROR in [at-loader] ./src/app/compare/variant-select/compare-variant-select.component.spec.ts:10:14
TS2304: Cannot find name 'CompareVariantSelectComponent'.
ERROR in [at-loader] ./src/app/footer/footer.component.spec.ts:7:13
TS2304: Cannot find name 'VrumFooterComponent'.
ERROR in [at-loader] ./src/app/get-a-quote/get-a-quote.controller.spec.ts:73:28
TS2304: Cannot find name 'UserDetails'.
ERROR in [at-loader] ./src/app/home/home-search.controller.spec.ts:48:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/navbar/navbar.directive.spec.ts:98:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/similar-cars/search/similar-cars-search.controller.spec.ts:42:31
TS2304: Cannot find name 'SearchBoxMessage'.
[2018-04-14 00:34:58.008] [TRACE] TestRunnerChildProcessAdapter - webpack: Failed to compile.
[2018-04-14 00:34:58.119] [TRACE] TestRunnerChildProcessAdapter - webpack: Compiling...
[2018-04-14 00:35:01.016] [TRACE] TestRunnerChildProcessAdapter -
[at-loader] Checking started in a separate process...
[2018-04-14 00:35:01.020] [ERROR] TestRunnerChildProcessAdapter -
[at-loader] Checking finished with 20 errors
[2018-04-14 00:35:01.149] [ERROR] TestRunnerChildProcessAdapter -
ERROR in Entry module not found: Error: Can't resolve './vendor.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
ERROR in Entry module not found: Error: Can't resolve './app.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
ERROR in ./src/app.js
Module not found: Error: Can't resolve './app/app.ts' in '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src'
@ ./src/app.js 3:0-23
@ ./config/spec-bundle.js
ERROR in [at-loader] ./src/app/common/directives/search/search-box.directive.spec.ts:597:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:17:14
TS2304: Cannot find name 'SubNavComponent'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:18:17
TS2304: Cannot find name 'SubNavItem'.
ERROR in [at-loader] ./src/app/common/directives/sub-nav/sub-nav.component.spec.ts:19:18
TS2304: Cannot find name 'SubNavItem'.
ERROR in [at-loader] ./src/app/common/directives/variant-select/variant-select.component.spec.ts:14:14
TS2304: Cannot find name 'VariantSelectComponent'.
ERROR in [at-loader] ./src/app/compare/compare.component.spec.ts:26:14
TS2304: Cannot find name 'CompareComponent'.
ERROR in [at-loader] ./src/app/compare/compare.component.spec.ts:364:33
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/compare/ratings/ratings.component.spec.ts:15:14
TS2304: Cannot find name 'CompareRatingsComponent'.
ERROR in [at-loader] ./src/app/compare/replace/compare-replace.component.spec.ts:12:14
TS2304: Cannot find name 'CompareReplaceComponent'.
ERROR in [at-loader] ./src/app/compare/review-panel/review-panel.component.spec.ts:11:14
TS2304: Cannot find name 'CompareReviewPanelComponent'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:5:31
TS2306: File '/Users/jack/workspace/disney/myproject/.stryker-tmp/sandbox2596306/src/app/compare/specifications/specifications.js' is not a module.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:17:22
TS2304: Cannot find name 'CarDetailsModel'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:18:23
TS2304: Cannot find name 'CarDetailsModel'.
ERROR in [at-loader] ./src/app/compare/specifications/specifications.component.spec.ts:19:18
TS2304: Cannot find name 'CompareSpecificationsComponent'.
ERROR in [at-loader] ./src/app/compare/variant-select/compare-variant-select.component.spec.ts:10:14
TS2304: Cannot find name 'CompareVariantSelectComponent'.
ERROR in [at-loader] ./src/app/footer/footer.component.spec.ts:7:13
TS2304: Cannot find name 'VrumFooterComponent'.
ERROR in [at-loader] ./src/app/get-a-quote/get-a-quote.controller.spec.ts:73:28
TS2304: Cannot find name 'UserDetails'.
ERROR in [at-loader] ./src/app/home/home-search.controller.spec.ts:48:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/navbar/navbar.directive.spec.ts:98:31
TS2304: Cannot find name 'SearchBoxMessage'.
ERROR in [at-loader] ./src/app/similar-cars/search/similar-cars-search.controller.spec.ts:42:31
TS2304: Cannot find name 'SearchBoxMessage'.
[2018-04-14 00:35:01.149] [TRACE] TestRunnerChildProcessAdapter - webpack: Failed to compile.
[2018-04-14 00:35:01.174] [DEBUG] TimeoutDecorator - Starting timeout timer (300000 ms) for a test run
[2018-04-14 00:35:01.643] [TRACE] TestRunnerChildProcessAdapter - PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
Error: Cannot find module "./app/app.ts"
at undefined:3
[2018-04-14 00:35:01.698] [TRACE] TestRunnerChildProcessAdapter -
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
Error: Cannot find module "./app/app.ts"
at undefined:3
[2018-04-14 00:35:01.648] [INFO] KarmaTestRunner - karma run done with  1
[2018-04-14 00:35:01.700] [ERROR] InitialTestExecutor - One or more tests resulted in an error:
Error: Cannot find module "./app/app.ts"
at undefined:3
[2018-04-14 00:35:01.700] [ERROR] StrykerCli - an error occurred Error: Something went wrong in the initial test run
at InitialTestExecutor.validateResult (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:123:15)
at InitialTestExecutor. (/Users/jack/workspace/disney/myproject/node_modules/stryker/src/process/InitialTestExecutor.js:42:30)
at step (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:129:27)
at Object.next (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:110:57)
at fulfilled (/Users/jack/workspace/disney/myproject/node_modules/tslib/tslib.js:100:62)
at process._tickCallback (internal/process/next_tick.js:109:7)

@nicojs If .stryker-tmp is not in your .gitignore file Stryker will add it to the files that have been copied to the sandbox.
We could:

Add .stryker-tmp to the gitignore file if they have one
Always delete the .stryker-tmp folder whenever we start Stryker
Filter out the .stryker-tmp folder when we get the files from Git


The app suddenly exits when I open it

Okay, so I was just doing some other stuff on my phone like YouTube and Discord. I decided I wanted to continue watching a certain anime but whenever I open the app it suddenly crashes/exits out. I have no why this is suddenly happening

Okay so I uninstalled an reinstalled the app and its working now but I have to re add all the anime amd anime categories I had.  Hoping it'll be fixed soon


Hover: Consider changing defaults

With the move to a new API in https://github.com/microsoft/vscode/pull/232614, we want to focus on making it easy to use. Previously there was a placement type of mouse or element which changed some defaults. The biggest ones are compact and showPointer which are used essentially by all hovers and all element hovers respectively. Should we change the defaults in IHoverService?

I think we should change the compact hover to be the default. It is better suited for all the "simple" hovers we have and we should not expect all consumers of the hover to set it themselves.

I would be fine with that, I do not see a good use case for the non compact hover.


Scene shader support for screenspace textures

Allows DEPTH_TEXTURE and SCREEN_TEXTURE to work for multiview from user-written shaders.
Introduces a new type texture2DScreen which automates passing the ViewIndex. There is currently no way for users to pass in these textures, but this type is used for the two internal textures. In the future, there may be reasons to have multiview viewport textures, which would then use this type if passed in.

I like this approach though I'm not super fond of introducing the need to differentiate between normal texture and screen texture by the end user when writing custom shader code. I'm not sure how but it should be possible to make this more internal. The only textures for which this applies are those that we add as inputs. We shouldn't have any user defined uniforms for which we need to do this, if a stereo result is input this can be handled as a normal texture array and our view index can simply be used

Yeah, I understand your concerns. The type isn't something the user can declare as a uniform, and we could entirely avoid exposing it to the user (you wouldn't be passing SCREEN_TEXTURE or DEPTH_TEXTURE to functions anyway)
The way I see it, we need to pick: either pretend SCREEN_TEXTURE is sampler2D, or pretend it is sampler2DArray, or pretend it is a custom type, as in this PR. (note that we will need to special-case these two variables in the shader compiler to call the correct versions of the functions)
If we pretend it's sampler2D, then for the array version, we need to make our own implementation of textureProj since it doesn't exist for arrays. It also means that you will be unable to sample the other views, but generally speaking, you don't want this anyway.
If we pretend they are sampler2DArray, this will change the API so the user is forced to pass VIEW_INDEX. I fear this approach because users might pass 0 without thinking, and this will cause lots of broken water shaders in stereo... If we provide helper functions that take vec2 arguments for sampler2DArray, that could lead to bugs where VIEW_INDEX will be passed in as the slice index to ordinary sampler2DArray.
Finally, there is the approach I arrived on in this PR, which uses some macros to pretend it is a custom type, but due to GLSL rules about calling the sampler constructor, it became a bit hacky and I had to pass them as separate arguments.
As for "We shouldn't have any user defined uniforms for which we need to do this", that is currently true, but there might be a time in the future where viewports could be captured to a XR viewport (it will sometimes be a texture2D, and sometimes a texture2DArray) ... for example, planar mirrors are sometimes implemented this way. Given that this is not the direction Godot is taking, and that we don't currently have this functionality, it could always be implemented later if necessary.
In summary, if the custom type is not preferred, I think we can pretend it is a sampler2D, automatically fill in VIEW_INDEX, and implement textureProj(texture2DArray, sampler, uv), which would call texture(vec3(uv.xy / uv.w, VIEW_INDEX))

I also wanted to mention that even if we avoid using a fake custom type, it will still require the texture and sampler to be passed as separate arguments, and the macro and extra overloads may still be needed. So pretending it is a sampler2D will likely not make the PR cleaner.
The issue is that in the Godot shader code, texture(SCREEN_TEXTURE, uv) might be hypothertically expanded to
texture(sampler2DArray(screen_texture, material_samplers[SAMPLER_LINEAR_WITH_MIPMAPS_CLAMP]), uv)

and we made an overload (which worked in the copy shader), such as:
vec4 texture(sampler2DArray samp, vec2 uv) {
    return texture(samp, vec3(uv, ViewIndex));
}

this would have worked fine if we used conventional samplers, or even images in a compute shader.
However, in our system, this will actually not compile, because we use texture objects, and as exampled briefly in GL_KHR_vulkan_glsl,

Constructors can then be used to combine a sampler and a texture at the
point of making a texture lookup call:
    texture(sampler2D(t, s), ...);

GLSLang is extremely strict on this point, and it must be only converted to sampler2D at the point of the builtin texture function call.
So that sadly means we need to pass t and s in as two arguments, and so that's where we either need a sort of faux custom type + macro like I did, or the shader compiler needs to special case SCREEN_TEXTURE and pass in the texture and sampler separately. Hope this explains some of the nuance in the approach.

We discussed this with @clayjohn and believe there is a better approach to it, which is to simply add a hint that the texture is a screen texture, which is much simpler than adding a new type.


Qt Applications Do NOT Work

According to the following comment, the Event.xml file in the atspi library is not correct.
Because of this, Odilia can currently only receive events from GTK applications; Qt applications use a different event signature which errors out the zbus crate with "Invalid signature" errors.
This is not a bug in DBus, Odilia, GTK or Qt. atspi is currently allowing multiple signature types for events; this needs to be standardized at the library level, and we should be happy to help.
I personally know nothing of GTK, Qt, or DBus code itself, but if atspi needs some fixing, I'm sure either I or @mcb2003 should be able to take a gander.
Once this is stabilized library-side, Odilia should immediately work with Qt applications, with no further modifications necessary. :+1:

Now, instead of Odilia failing to receive QT events, as soon as the event is received, the QT application crashes outright. Both vlc and virtualbox (QT applications) seg-faulted straight-up.

Confirmed that calling the GetName or GetDescriptiom method causes a segfault.

https://bugreports.qt.io/browse/QTBUG-107897

Hi @TTWNO ,
What happens here is that by default, zbus proxies use CacheProperties::Lazily.
This means that when you handle a focus event and fetch the Name property of the accessible object, zbus will under the hood send a GetAll method call on the org.freedesktop.DBus.Properties interface to populate the cache. However, Qt (like at-spi2-core) don't implement this method. It's just that at-spi2-core doesn't crash.
If I modify the accessible::new function in the atspi crate to tell the proxy to not cache properties, the bug disappear.
pub async fn new<'a>(
    conn: &Connection,
    sender: UniqueName<'_>,
    path: ObjectPath<'_>,
) -> zbus::Result<AccessibleProxy<'a>> {
    AccessibleProxy::builder(conn)
        .destination(sender.to_owned())?
        .path(path.to_owned())?
        .cache_properties(CacheProperties::No) // Disable the caching mechanism.
        .build()
        .await
}

A quick look at the entire odilia source code makes me think that there are probably a ton of other places where you'd have to apply this modification.
Let me know if I can assist.
Hope this helps.

Wow! Great find! I never even noticed that this was the problem.
Based on what you are saying, is it the case that GetAll is also not implemented in GTK either (I guess if at-spi2-core doesn't implement it, then GTK couldn't either....) This is a really bummer for performance, but a good thing to be aware of.
I'll test out this fix on the weekend and make sure it works. If this really does solve this issue, you're a saint for finding the underlying problem!
I'm going to continue with the upstream QT bug so that at least the program doesn't segfault on this DBus call, but hopefully this can close the Odikia bug sooner rather than later.
Again, great find!

@TTWNO
Oh sorry, by saying "at-spi2-core doesn't implement this method", I also meant that at-spi2-atk didn't either. Therefore, GTK3, Chromium, and basically every other software don't. I doubt GTK4 is any different.
Note that AccessKit will support this call because we use zbus ObjectServer, but I think that it's more efficient to use the dedicated org.a11y.atspi.Cache interface anyway.


FocusModeDocBash - Update to the Filter Console Messages

Update to the Filter Console Messages doc page. This is part of the focus mode doc bash. Updates to screenshots.

Docs Build status updates of commit dcff9d7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/console/console-filters.md
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-displays-all.msft.png
:white_check_mark:Succeeded

microsoft-edge/devtools-guide-chromium/media/console-filter-dropdown.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-hide-warning.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-regex.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-select-user-messages.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-sidebar-icon.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-sidebar-open.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-sidebar-open-arrow.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-text.msft.png
:white_check_mark:Succeeded
View

microsoft-edge/devtools-guide-chromium/media/console-filter-user-message-by-source.msft.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Check file size in OrcReader

Please feel free to fix the other exceptions in that file while you're at it :)
Looks good


[FLINK-5749]unset HADOOP_HOME and HADOOP_CONF_DIR to avoid env in build machine failing the UT and IT

Currently when we are trying to build flink on a machine with HADOOP_HOME environment variable set, Test data will be written to HDFS, instead of local tmp dir which is expected. This will cause tests failed.
This PR unsets HADOOP_HOME and HADOOP_CONF_DIR environment variable in pom, to make sure maven run the test cases in the exactly way we want.

I think this is a good addition.
We could try and make this change more targeted to the Maven project that has the affected tests. That would help us keeping the root pom.xml more compact. For example if this affects only tests in flink-fs-tests then we can for example make this change in flink-fs-tests.
Can you share what tests are affected by this?

hi @StephanEwen, the cases in flink-filesystem-connector will fail first in our building machine. I have go through the cases in flink-fs-tests, I think they will fail too if I remove the change from the root pom. I think it is better to set in the root pom, because the HadoopUtils is in the package flink-java, and many modules have dependency on flink-java and users of the utils may have no idea that the HadoopUtils have dependency on the environment variables that will cause wired failures and it is hard to trace.

For the HadoopUtils in flink-java - I think those need to depend on the variables and are also not in the test scope.
The reason why I am asking also do make the change more to filesystem-connector and fs-tests is that we want to gradually make Flink depend less and less on Hadoop, so to move all Hadoop dependencies into separate optional modules. More targeted environment variable exclusion would fit that design better.

ok, I will move the changes to filesystem-connector and fs-tests poms.

hi @StephanEwen , I have move the changes to child module pom,  flink-tests and flink-hadoop-compatibility need to be changed too, because the mapreduce related cases will load output compaction setting from the cluster configuration.

Looks good, thank you!
Merging this...


Revert "Switch Event Handlers"

Reverts concrete-utopia/utopia#6385

the reason for the revert was two bugs discovered by @gbalint:

the navigator drag and drop stopped working
clicking into the navigator did not steal focus from VSCode, so pressing backspace to delete a selected element would delete a character in VSCode instead


ESLint: Expected linebreaks to be 'CRLF' but found 'LF'

Expected linebreaks to be 'CRLF' but found 'LF' in Jenkins pipeline

change above
npm run lint -- --fix   (for js)
manually fix jsx


Passing over the bruker2nifti torch

I've not been working with bruker data in a while now, therefore this repo can not have the test and the support that it would need to stay alive and to be useful.
I'm looking for a bruker2nifti main developer to take my place and take ownership of this repo.
If you are the one, I can share my knowledge and the best practices I have learned and implemented so far, providing support in the transition process. It is not a problem if you are new to python or new to coding in general, as long as you are willing to learn and you have the need to convert bruker images for the years to come.
Please do contact me via email if you are willing to keep this repo alive, in particular if you are already a user, and if you have ideas or need for possible new features and requirements.

@SebastianoF hi, I have been thinking for a while of extending the conversion to cover Bruker to BIDS (i.e. NIfTI and sidecar JSON files). Currently I'm doing it with a more complex workflow described here, but I believe it should be do-able in a standalone workflow similarly to how bruker2nifti outputs text files with metadata summaries.
I'd be more than happy to take the project over, if you could give me a more in-depth dev tour, please contact me (email in profile). The only caveat is that I do not use GUIs for my workflows, so if it's just me, that part will fall into disrepair — but I will try to recruit someone else for that.

brkraw https://github.com/BrkRaw/brkraw already has bids support, and we would very much welcome more developers to assist in maintaining and updating the software.

Thanks @TheChymera!
I'll contact you shortly via email. No problem for the GUI (an good API would be a better idea than the naive tkinter layer that I implemented and that can be deprecated with no big deal).


Querying for the progress of continuous queries

after we create a new CQ it takes time to catch up with existing data.
being able to query for the CQ progress can help much

I think this should now be partially responsible with the new query management functions in 0.12. You will be able to see the currently running queries, although you won't be able to see how that relates to continuous queries.
Will that work or do you want to have a command to query for specifically continuous queries?

@jsternberg I think we can close this issue. Query status is available for ad hoc and CQs, and combined with the logs, it's easy to tell:
1 when a CQ has run
2 when it will run next
3 whether it is running right now
Not sure what else is needed, and I don't think there's a reason to make a query for number 1. Although I could see an argument for number 2 being something we could query for.

I was thinking of leaving this as a longer term feature to track the continuous query execution. So if a continuous query needs to run 4 queries as part of a single run, SHOW QUERIES would show each of those 4 queries getting run individually, but another command would show something with continuous query specific information.
I'm not sure exactly what it would be and it would likely have to be specced out further before anybody worked on it. It might be worth just closing this and keeping it in mind as something else to add if somebody runs into a problem with seeing how many continuous queries are running. I also think it might be good at some point to add another option to restrict how many continuous queries can run at the same time so it doesn't overload the system with a queue for any continuous queries that need to run.

I vote we close it for now. If it's a useful feature it will resurface.


Fix resourceGroups in resource path and add top/skip

Fix "resourceGroups" in resource path
Add Top/Skip parameters for List

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

/azp run automation - sdk

@bganapa , @viananth , this is to make generated module support InputObject, and add Top/Skip params to align with previous PowerShell module


CameraRig position problems when made child of a RigidBody and pad rotation enabled since Unity 2018.1.6

NOTE: Any issue that does not follow the below template will be immediately closed and not re-opened until the template structure is adhered to.

Precheck

Do not use the issues tracker for help or support (try VRTK Slack channel, Stack Overflow, etc.)
For proposing a new feature, please check existing open and closed issues before creating a duplicate
For bugs, do a quick search and make sure the bug has not yet been reported
Finally, be excellent to each other, and party on dudes!

Environment

Source of VRTK: GitHub master
Version of VRTK: v3.3.0 d88c9ea
Version of Unity3D: 2018.1.6 upwards
Hardware used: Oculus Rift, but issue affects SteamVR and Simulator also
SDK used: Oculus Utilities 1.24.0, OVRPlugin 1.24. SteamVR and Simulator also affected.

Steps to reproduce

Open the [001 - Interactions] ControllerEvents test scene.
Inside SceneObjects, create an empty GameObject named Platform.
Inside Platform, create a Cube object. Set the scale to be { 5, 0.5, 5 }, and the Y position to be 0.25 so that it rests on the ground.
Add a RigidBody component to Platform.
Drag your VR SDK's camera rig object into Platform so that it's now a child of the Platform object.
Set the Y position of the camera rig to be 0.25 so that it rests on top of the platform.
Add a new script to Platform called Booster, containing the following code:

using UnityEngine;

public class Booster : MonoBehaviour
{
    public void Boost()
    {
        GetComponent<Rigidbody>().AddRelativeForce(new Vector3(0.0f, 10.0f, 0.0f), ForceMode.Impulse);
    }
}

Add a VRTK_ControllerEvents_UnityEvents component to the RightControllerScriptAlias.
Create a new list entry under On Button One Released, drag Platform into the Object field, and set the function to be Booster.Boost().
Create a new object under [ExampleScene_Scripts] called BodyPhysics, and add a VRTK_BodyPhysics component to it.
Uncheck Enable Body Collisions in the BodyPhysics component.
Add a VRTK_TouchPadControl component to RightControllerScriptAlias.
Add a VRTK_RotateObjectControlAction component to RightControllerScriptAlias.
Drag RightControllerScriptAlias into the Object Control Script field in the VRTK_RotateObjectControlAction component.
Run the game, verify rotation works. Press Button A to make the platform bounce and trigger the bug.

Expected behavior
The player's view and position should remain fixed, relative to the platform, whilst also allowing the player to rotate their play area to look around as the platform moves.
Current behavior
In Unity 2018.1.5, the expected behavior is observed.
Since Unity 2018.1.6, the player's relative position can change - the player can shift above or below the platform as the platform's Y position changes.
Disabling the VRTK_RotateObjectControlAction component is enough to prevent this from happening.
In a more complex scene where the player is able to grab and hold objects, their positions can also end up being modified and appear to fly out of the player's hands.
Correct behavior seen in Unity 2018.1.5:

Incorrect behavior seen in Unity 2018.1.6+:

This problem seems to have been fixed after updating to Unity 2018.2.8f1.
I'll close this issue for now as it looks like there was a bug with Unity itself - possibly this one: https://issuetracker.unity3d.com/issues/quaternion-dot-lookrotation-breaks-rotation-physics-when-parented-with-a-moving-object

Thanks for following up on this @dwhinham!


rygel: remove unused and unmaintained component

The meta-bistro rygel recipes are targeting older versions of rygel. These
recipes are not being actively used and as such, are not being
maintained. The maintained rygel recipe can be found in the
meta-openembedded upstream layer.
Signed-off-by: Gordan Markuš<EMAIL_ADDRESS>

@zeenix thanks, it's fixed now.

@GordanM Thanks for updating but the issue is still the same: "unused and unmaintained" part is redundant and makes you think you are only removing rygel recipes that are unused and unmaintained, not all of them (which is the case, isn't it?). But still, no strong feelings and I already approved so my input is no longer required. :)

@zeenix sorry missed that part. Valid point didn't look at it from that perspective.


django shortcuts

 Environment data

Language Server version: 2023.9.30
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: true
python.analysis.typeCheckingMode: off

 Code Snippet

XXX

 Repro Steps

XXX

 Expected behavior
XXX
 Actual behavior
XXX
 Logs

XXX

Thanks for the report. Unfortunately, this is not enough information for us to investigate this issue.
If this continues to be a problem, would you please reopen the issue and add the information described in the troubleshooting guide?


Add build config settings for adding components

Fixes
Fixes HAC-3350
Description
Add build configuration settings when adding components. Allow override of build context directory and dockerfileUrl.
Type of change
Screen shots / Gifs for design review

/cc @karthikjeeyar @Misjohns

@jeff-phillips-18  Based on Elson's slack message the Docker file path default would not include the "./" since that is redundant with the preceding Build context directory field default. The placeholder text would be "Dockerfile".

What is shown is not placeholder text, that is the value we are retrieving from the ComponentDetectionQuery. When they fix their end, it will fix the UI. If there is no value returned, the placeholder text would show.

/retest

/retest

/retest

/lgtm cancel
How can we be overriding the same value from the git options context on the first page of the wizard?

It was concluded in slack that for now we should omit the context dir on this page and just provide users with the the dockerfile path field. This is because there is no way to set the build context via a Component right now. This will be re-evaluated in the future if necessary.

Let's remove the "> Build configuration" section. Change "> Deploy configuration" to "> Build & deploy configuration". In that section we'd have Docker file path and Target port, then CPU and Memory then "> Show advanced...."

@Misjohns @christianvogt Updated to include only the Docker file path and require the docker path to be a relative path or a URL.

/retest


Cannot build ia32 version on Win x64 PC

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.3.0
Electron version
25.0.0
Operating system
Windows 10 (22H2) 19045.3324
Last known working Electron Forge version
No response
Expected behavior
I'm trying to build a 32-bit version of my app using @electron-forge/maker-squirrel. I have already successfully built the x64 version with the same configuration using npm run make --arch="x64" --platform=win32.
Actual behavior
No x86 version built using npm run make --arch="ia32" --platform=win32. Script finishing successfully, BUT results in x64 build placed in out/make/squirrel.windows/x64/AppName.exe
Steps to reproduce

Start a webpack/electronforge project on x64 Windows 10 PC
Try to build x86 version using npm run make --arch="ia32" --platform=win32

My forge.config.ts squirel maker
import { MakerSquirrel } from '@electron-forge/maker-squirrel';

new MakerSquirrel({
      iconUrl: 'https://electon/icons/ic_launcher2.ico',
      setupIcon: path.resolve(__dirname, 'electron/icons/ic_launcher2.ico'),
      certificateFile: path.resolve(__dirname, 'certs/testsign.pfx'),
      certificatePassword: process.env.CERTIFICATE_PASSWORD
})

Additional information
No response

Try npm run make -- --arch="ia32" --platform=win32, note the double-dash (--) after npm run make.

Thank you, that works!

Try npm run make -- --arch="ia32" --platform=win32, note the double-dash (--) after npm run make.

Thank you, that works!

Try npm run make -- --arch="ia32" --platform=win32, note the double-dash (--) after npm run make.


Implementing AsyncRead on top of blob functionality?

I'm trying to implement AsyncRead to stream a blob through another API (specifically, decompression via async-compression), but I'm getting hung-up in lifetime issues. Have you  been able to do this?
I wonder if it's getting hung up because of the bare reference the GetBlobBuilder maintains to the BlobClient?

Hi @maxburke,
do you have a small repro?

Would something like this work for your use case?
  use async_compression::stream::GzipDecoder;
  use azure_core::prelude::*;
  use azure_storage::clients::*;
  use bytes::Bytes;
  use futures::task::{Context, Poll};
  use futures::Stream;
  use futures::StreamExt;
  use std::error::Error;
  use std::pin::Pin;
  use std::sync::Arc;

  struct ConvStream<'a> {
      stream: Pin<
          Box<
              dyn Stream<
                      Item = Result<
                          Vec<u8>,
                          Box<(dyn std::error::Error + Sync + std::marker::Send + 'static)>,
                      >,
                  > + 'a,
          >,
      >,
  }

  impl<'a> Stream for ConvStream<'a> {
      type Item = Result<Bytes, std::io::Error>;

      fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
          match self.get_mut().stream.as_mut().poll_next(cx) {
              Poll::Ready(res) => match res {
                  None => Poll::Ready(None),
                  Some(s) => {
                      let s = s.unwrap(); // for this demo this is fine, don't do it in prod!
                      let bytes = Bytes::from(s);
                      Poll::Ready(Some(Ok(bytes)))
                  }
              },
              Poll::Pending => Poll::Pending,
          }
      }
  }

  #[tokio::main(flavor = "current_thread")]
  async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
      let account =
          std::env::var("STORAGE_ACCOUNT").expect("Set env variable STORAGE_ACCOUNT first!");
      let master_key =
          std::env::var("STORAGE_MASTER_KEY").expect("Set env variable STORAGE_MASTER_KEY first!");

      let container = std::env::args()
          .nth(1)
          .expect("please specify container name as command line parameter");
      let blob = std::env::args()
          .nth(2)
          .expect("please specify blob name as command line parameter");

      let http_client: Arc<Box<dyn HttpClient>> = Arc::new(Box::new(reqwest::Client::new()));

      let storage_account_client =
          StorageAccountClient::new_access_key(http_client.clone(), &account, &master_key);

      let storage_client = storage_account_client.as_storage_client();
      let blob_client = storage_client
          .as_container_client(&container)
          .as_blob_client(&blob);

      let stream = Box::pin(blob_client.get().stream(128));

      let conv_stream = ConvStream { stream };

      let mut decoder = GzipDecoder::new(conv_stream);
      while let Some(value) = decoder.next().await {
          println!("received {:?} bytes", value?.len());
      }

      Ok(())
  }

I haven't actually executed it but it should work. Let me know if helps!

Hi @MindFlavor ! Thank you, actually that is almost exactly what I was looking for! The only change I ended up doing was using futures_util::TryStreamExt for its into_async_read() adapter.

Glad to be of help! 🍾 🍾
I think most of the problems arise from the "lifetime elision" feature that is IMHO by far the worst design choice Rust has made.
For example, if you do not specify the lifetime in ConvStream above, Rust silently replaces it with 'static (!!!) causing the code to fail to compile 😠. How replacing a lifetime with 'static is supposed to be a good idea is beyond me.


Swagger docs link is empty

as shown in picture

Dude, it's in https://mygoapi.miyago9267.com/docs

The link provided in the readme file is the link I opened in the screenshot


Introduce configuration options for renderMessage and renderTemplate formatter paramters

Does this issue relate to a new feature or an existing bug?

[ ] Bug
[X] New Feature

What version of Serilog.Sinks.Elasticsearch is affected?  Please list the related NuGet package.
6.5.0+
What is the target framework and operating system? See target frameworks & net standard matrix.

[X] netCore 2.0
[ ] netCore 1.0
[ ] 4.7
[ ] 4.6.x
[ ] 4.5.x

Please describe the current behavior?
There are parameters for control if the message and its template will be rendered or not in the the constructor of ElasticsearchJsonFormatter. However if we want set that we can't use the configuration file because there are no such properties in ElasticsearchSinkOptions, therefore we need to configure it in code.
Please describe the expected behavior?
I would like to set the configuration file like shown below and those values are set in the default formatter.:
    "WriteTo": [{          "Name": "Elasticsearch",          "Args": {            "nodeUris": "http://localhost:9200;",           "minimumLogEventLevel": "Debug",           "autoRegisterTemplate": true,           "autoRegisterTemplateVersion" : "ESv6",           "inlineFields" : true,           "bufferBaseFilename" : "./logs/buffer",           "renderMessage" : false,           "renderMessageTemplate" :  false         }            }],
There is the renderMessage in ExceptionAsObjectJsonFormatter too, but it can't be defined via configuration as well the default one.
I'll be happy in work in this modification if it gets approved.
All the best,

Old issue, cleaning up. Still facing this issue, feel free to reopen.

The issue still remains. The options are not available from outside, or am I missing something?


Quesiton for code

Hi, I have read your paper and code and found it to be an interesting work!
I have a question. In your code,

loss2 = mu * criterion(logits, labels)    # (main.py line311).

I know it is uesd to caculate the con_loss (Eq.3 in your paper), but why it is implemented by cross-entropy loss with labels (zeros tensor)?

Hi @xutting123 ,
The contrastive loss can be computed by the cross-entropy loss. In the formula, by setting labels to 0, x[class] (i.e., x[0]) is the positive pair part.


Make targets to configure a layer should not return errors if they have already been run

Issue
All of the following make targets call /bin/create-tfbackend:

infra-configure-network
infra-configure-app-build-repository
infra-configure-app-database
infra-configure-app-service

If you run any of these commands again accidentally after the layer has already been configured, you get a confusing terraform message without clear instructions about what's wrong.
For example, if you have already previously run make infra-configure-app-build-repository and you run it again, you will receive the following error:
./bin/create-tfbackend "infra/app-rails/build-repository" shared
╷
│ Error: Backend initialization required, please run "terraform init"
│
│ Reason: Initial configuration of the requested backend "s3"
│
│ The "backend" is the interface that Terraform uses to store state,
│ perform operations, etc. If this message is showing up, it means that the
│ Terraform configuration you're using is using a custom configuration for
│ the Terraform backend.
│
│ Changes to backend configurations require reinitialization. This allows
│ Terraform to set up the new configuration, copy existing state, etc. Please run
│ "terraform init" with either the "-reconfigure" or "-migrate-state" flags to
│ use the current configuration.
│
│ If the change reason above is incorrect, please verify your configuration
│ hasn't changed and try again. At this point, no changes to your existing
│ configuration or state have been made.
╵
make: *** [infra-configure-app-build-repository] Error 1

What's actually happening is that this line is causing an error: https://github.com/navapbc/template-infra/blob/71f2cd419a36e296ca9799d3c4b329625affc486/bin/create-tfbackend.sh#L29
The message is confusing and doesn't provide helpful advice to the user. Running terraform init in the root dir or in the build-repository dir, and then trying to re-run make infra-configure-app-build-repository is incorrect, even if it seems intuitive based on the error message.
The correct next step for the user is actually to move on to run make infra-update-app-build-repository OR to run something like terraform -chdir=infra/accounts init -backend-config=$(./bin/current-account-config-name).s3.tfbackend to re-initialize the account before re-running make infra-configure-app-build-repository.
Resolution Ideas
Perhaps we can:

add a check in /bin/create-tfbackend to check to check to see if the account needs to be re-initialized
automatically re-initialize

@lorenyu @doshitan Thoughts on approach?

If we come up with a solution to this sentence from this ticket:

it would be nice if the script checked .terraform/terraform.tfstate | jq .backend.config to see if it is already the correct backend config and skip initialization if so to speed up terraform commands.

then that might work here too
unfortunately I'm not sure if the jq .backend.config solution I proposed works. may need to dig into it more.


video call using web variant of example fails - signaling state null

I attempted to make a video calling between two clients using the web variant (for both clients) of the example app.
Freeswitch was used as the SIP/media server.
To Reproduce
Steps to reproduce the behavior:

Load app on client A and register with freeswitch server
Load app on client B and register with freeswitch server
Client A calls (clicking on video icon) client B
Client B receives incoming call, click to accept call
Call is disconnected

Expected behavior
I expected a video call to be established
System Infomation()
Flutter 1.14.6
Client A - Chrome (version 81.0.4044.62) running on Pixelbook (chromebook)
Client B - Chrome (version 80.0.3987) running on Android (version 9.0)
Further investigation revealed that it was failing when calling _connection.setRemoteDescription(answer) in rtc_session.dart because the RTCPeerConnection was in the incorrect signaling state (it was null), even though setLocalDescription had been called previously.
I then decided in rtc_session.dart to define a onSignalingState callback:
this._connection.onSignalState = (signalingState) {
    print('signalingState $signalingState');
}

But to my surprise when I re-ran the video call worked! Which I don't understand at all. I removed this code and re-ran and I was able to repeat the failure, and put the code back and it worked.
The video call was established and working, although there wasn't any audio, but I've not had time to investigate this issue.

@markmelling Is there any error message printed in the chrome console？

Thanks for the quick response.
The only actual errors in the chrome console are:
call failed with cause: Code: [488], Cause: Bad Media Description, Reason: Not Acceptable Here

"peerconnection:setremotedescriptionfailed" [error:InvalidStateError: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Called in wrong state: kStable]

I know from my investigations that the signalling state is actually null when setRemoteDescription is called.

It looks like a timing issue with PeerConnection API.

Still an issue?

I got the same error.
jssip 3.5.10 in the chrome
dart-sip-ua v0.3.1 in android
from android call to chrome works fine
but from chrome call to android get 488 error
log1.txt


Can't the model be saved?

After I trained the model, how can I save it?

Hi
Currently, we cannot save it.
We will provide save and load interface as soon as possible.


Create a client-wide world service

Is your feature request related to a problem? Please describe.
When developing plugins that are world-sensitive, a significant code change per plugin is required (private World to be stored, listener to detect login and world change events, HTTP calls to check current world info on hop), and said code is duplicated in each plugin where it is needed.
Describe the solution you'd like
Per Adam's comment, a client-wide world service could be implemented to perform event handling and HTTP calls, and could distribute world information as needed.
Describe alternatives you've considered
N/A
Additional context
N/A

Honestly I don't even really know what this request means anymore, and I don't remember us having run into a need for anything resembling this in the time since creating this issue, so I'm closing it.


Elemental upgrade fails on alpine

Seems https://github.com/jaypipes/ghw/issues/133 is hitting us on alpine, preventing upgrades (installation works)
I tried to actually check what's in udev data, and it seems all empty, so ghw is entirely confused by it:
( unknown is my attempt to print out all the partitions labels )
INFO[2022-05-10T22:52:30Z] Starting elemental version v0.0.1
[0xc00034e800 0xc00034e880 0xc00034e900 0xc00034e980]
unknown
unknown
unknown
unknown
ERRO[2022-05-10T22:52:37Z] Could not find device for COS_RECOVERY label: no device found
c3os:~$ ps aux | grep udev
root      1407  0.0  0.1   7068  2520 ?        Ss   21:46   0:00 /sbin/udevd
c3os      8435  0.0  0.0   1584   864 pts/0    S+   22:54   0:00 grep udev
c3os:~$ ls -lia^C
c3os:~$ sudo cat /sys/block/sda/sda1/dev
8:1
c3os:~$ sudo GHW_DISABLE_TOOLS=false ./elemental upgrade^C
c3os:~$ ls -liah /run/udev
udev/     udev.pid
c3os:~$ ls -liah /run/udev/data/
c10:200  c7:130   c7:131   c7:132   c7:133   c7:134   c7:2     c7:3     c7:4     c7:5     c7:6     c7:66    c7:67    c7:68    c7:69    c7:70    n3
c3os:~$ ls -liah /run/udev/data/
total 0
15127 drwxr-xr-x 2 root root 380 May 10 21:46 .
13052 drwxr-xr-x 6 root root 140 May 10 21:46 ..
23453 -rw-r--r-- 1 root root   0 May 10 21:46 c10:200
23129 -rw-r--r-- 1 root root   0 May 10 21:46 c7:130
23136 -rw-r--r-- 1 root root   0 May 10 21:46 c7:131
23153 -rw-r--r-- 1 root root   0 May 10 21:46 c7:132
23165 -rw-r--r-- 1 root root   0 May 10 21:46 c7:133
23178 -rw-r--r-- 1 root root   0 May 10 21:46 c7:134
23121 -rw-r--r-- 1 root root   0 May 10 21:46 c7:2
23138 -rw-r--r-- 1 root root   0 May 10 21:46 c7:3
23145 -rw-r--r-- 1 root root   0 May 10 21:46 c7:4
23158 -rw-r--r-- 1 root root   0 May 10 21:46 c7:5
23171 -rw-r--r-- 1 root root   0 May 10 21:46 c7:6
23125 -rw-r--r-- 1 root root   0 May 10 21:46 c7:66
23140 -rw-r--r-- 1 root root   0 May 10 21:46 c7:67
23149 -rw-r--r-- 1 root root   0 May 10 21:46 c7:68
23162 -rw-r--r-- 1 root root   0 May 10 21:46 c7:69
23175 -rw-r--r-- 1 root root   0 May 10 21:46 c7:70
23458 -rw-r--r-- 1 root root   0 May 10 21:46 n3

Considered alternative
enable detection with tools: https://github.com/rancher-sandbox/elemental/blob/89d323a36cd0234e462bc189010069b29b323129/pkg/utils/getpartitions.go#L65

enable detection with tools:

Tools wont work here as currently the only thing detected with tools are the UUID of the partition.
@mudler do you have any way I can repro it? i.e. the image being used for that test?

This kind of makes sense imho, systemd is not running on alpine systems so they wont fill the udev database with the proper info, so ghw wont work in that case.
IF running on a container thought, you can pass the  /run/udev/data to the container and that should work

weird, because booting c3os from iso and partitioning the disk I can see the data appear under the /run/udev/data and can query it with udevadm info DEVICE no problem...

Any alpine image since the switch to ghw can't upgrade anymore, so for e.g. it is reproducible with this one: https://github.com/c3os-io/c3os/releases/download/v1.23.6-46/c3os-alpine-v1.23.6-46.iso. Running this inside a container isn't going to work in this case as the underlying host is alpine.
Note that c3os on alpine does start eudev, so there is eudev running

udevadm info DEVICE does not show that much info to be honest, this seems to be a thing with alpine, not with ghw. I dont understand why, as booting from iso shows the udevadm filled correctly with new changes

its very weird becuase the /dev/disk/by-label is properly filled, so eudev is doing its work with the rules, its just not filling the udev db properly somehow. Maybe its systemd-udev the one that does the dumping of devices to the db and that its not done on eudev?

what bugs me even more is - during install isn't the same code being hit to re-detect partitions? how udev would have worked at that stage then?

what bugs me even more is - during install isn't the same code being hit to re-detect partitions? how udev would have worked at that stage then?

well, not really no, during install the eudev daemon is running so the partition creation makes the kernel send events of those newly created/modified partitions, so in that case it seems that eudev is creating the data, not sure why. But it doesnt seem to get the data on boot. Maybe the eudev daemon does not go over the existing disks and only reacts to new events?
In upgrade we detect existing partitions, as if those havent generated any events then udev knows nothing about them.
I wonder if I could reproduce this easily by modifying a partition label or something

what bugs me even more is - during install isn't the same code being hit to re-detect partitions? how udev would have worked at that stage then?

well, not really no, during install the eudev daemon is running so the partition creation makes the kernel send events of those newly created/modified partitions, so in that case it seems that eudev is creating the data, not sure why. But it doesnt seem to get the data on boot. Maybe the eudev daemon does not go over the existing disks and only reacts to new events?
In upgrade we detect existing partitions, as if those havent generated any events then udev knows nothing about them.
I wonder if I could reproduce this easily by modifying a partition label or something

I thought at this too, so my first attempts were trying to get udev to populate things, but without success:
udevadm trigger --attr-match=dev --action=add
udevadm trigger --subsystem-match=net --action=add
udevadm trigger --type=subsystems --action=add
udevadm trigger --type=devices --action=add

ah interesting, if you trigger the udev-trigger service, it will fill everything properly. So maybe c3os is missing the service triggering? I would expect that to happen on udev daemon start....

eeek indeed.. :sweat_smile:

I thought at this too, so my first attempts were trying to get udev to populate things manually and then run upgrade again, but without success:

wait, it didnt work on your case? In mine it filled everything properly plus it updates the data if I change things, i.e. change a label for a partition, while before restarting the udev-trigger service it didnt :eye: :nose: :eye:

wait, it didnt work on your case? In mine it filled everything properly plus it updates the data if I change things, i.e. change a label for a partition, while before restarting the udev-trigger service it didnt eye nose eye

It didn't here... I've tried the commands above and re-run c3os upgrade and failed again. But I didn't tried the udev-trigger service, that might be doing the thing

still wont work thought, something about mounting points, but that could be my own issue :D

ok, that seems to do the trick as upgrade tests are passing now (https://github.com/c3os-io/c3os/runs/6392091560?check_suite_focus=true). Closing the issue as this is mostly related on the system configuration. Although we could expand the docs pointing out at the udev dependency


Prepare For Crystal > 0.15

Crystal > 0.15 will have a new type inference algorithm that
requires explicit type definition for instance and class variables.

Add the necessary type annotations for the new type inference
algorithm and preapre 0.8.2 for release.

See: #2443

I'm going to merge this once the next version of crystal is released.


split up source repository

CodeChecker common

main script to handle sub commands

Analyzer handling part:

log
analyze
parse
local diff
tu collector
plist parser
html report generator

Client to manage remote server:

store
cmd
remote diff

Database server:

server to handle database backends (SQlite, PostgreSQL)

TODOs

[x] - Add targets to build analyzer/server separately
[ ] - Enable tu collector test cases on osx (travis).
[x] - Rename libcodechecker to codechecker.
[ ] - Run server  tests without CodeChecker analyze command (generate and commit plist files).
[x] - Split up documentations

Directory layout
tools
  |- tu_collector
  |- plist_to_html
config
analyzer
  |- bin
  |- cmd
  |- config
    |- analyzer_version.json
  |- codechecker_analyzer
    |- __init__.py
    |- analyze_context.py
    |- analyzers
      |- clangsa
      |- clangtidy
    |- buildlog
  |- requirements_py
    |- dev
    |- test
  |- tests
    |- unit
    |- functional
  |- tools
    |- build_logger
  |- .noserc
  |- Makefile (run tests, linters, build analyzer only package)
  |- requirements.txt (runtime)
  |- setup.py (create python wheel)
  |- tox.ini
web
  |- api
  |- codechecker_web
    |- shared
  |- config
    |- web_version.json (api version, db version, web version)
  |- client
   |- bin
   |- cmd
   |- codechecker_client
     |- __init__.py
   |- requirements_py
    |- dev
    |- test
  |- server
    |- bin
    |- cmd
    |- config
      |- db_version.json
    |- codechecker_server
      |- auth
      |- api
      |- database
      |- migrations
        |- config (config database migration scripts)
        |- report (report database migration scripts)
    |- requirements_py
      |- dev
      |- test
  |- tests
    |- analyzer_reports (plist files for the tests)
    |- unit
    |- functional
  |- vendor
    |- Makefile
  |- www

  |- requirements_py
  |- Makefile (run tests, linters, build client/server only package)
  |-...
  |- requirements.txt (runtime)
  |- setup.py (create python wheel)
  |- tox.ini

codechecker_common
  |- __init__.py
  |- plist_parser.py

docs
  |- analyzer
    |- ...
  |- server
    |- ...
  |- README.MD

package
  |- bin
  |- cmd
  |- extend_version.py
  |- create_commands.py

scripts (to run all the tests (analyzer, server), build the package ...)

@csordasmarton I've added a proposed directory layout, I'm still thinking how to handle the different python requirements.txt files the best way, maybe we should simplify them to two:

requirements during runtime
requirements for development

Maybe separate analyzer_reports directories for the unit and functional tests would be better.

The new layout is done for now.


Run within WordPress Theme

How would I set this up to run within a WordPress Theme?

Hello Tim, two different options that I personally like when it comes to setting it up with WordPress.  First would be creating a new page and run the career portal within a Iframe.  The next would be to link to the career portal in another directory.  If you want it to match thematically the Iframe is the best option.

I am using Iframe now which is fine but I was looking to have each job show as its own post/webpage within WordPress.

Hello Tim,
I am sure this is possible but this is not something that is natively supported. Since the career portal has Its own URL for each job I am sure you can build a plugin for it but, it may be easier to develop a custom REST API implementation that doesn't involve the Open Source Career Portal as a backbone/frontend.

Ok. Thank you for this information.


AR ios/android functionalities

Reality composer

Hi @rubenteste,
thanks for your PR. A quick note before I comment on Reality Composer: Your PR does not add any code, so I'd suggest moving this conversation to an Issue.
Reality Composer is great app for creating scenes and models, but it's not a feature of an iOS AR app, rather a means to create and export the models then used by the app. I agree that importing a .rcproject file is very convenient, however, it is highly specific to iOS. The Flutter AR Plugin aims to provide cross-platform functionality, so adding a feature that works under iOS only makes no sense. For this reason, I decided to go with .GLTF and .GLB models first to offer a common format. The plugin currently uses Sceneform to handle 3D models for ARCore, which can deal with model formats like .obj, .glTF, and .fbx. If you find a way to appropriately convert scenes and models from Reality Composer to be used with Sceneform and ARCore as well, feel free to implement it and create a PR, that would be a great feature! Exporting to USDZ format first could be a starting point worth looking into.
Best regards,
Lars
Originally posted by @CariusLars in https://github.com/CariusLars/ar_flutter_plugin/issues/3#issuecomment-800138650
Ok, it makes sense, I thought that reality composer could be implemented for android and not just iOS.
Are you thinking of implementing some anchor functionality in an image to place an object? as well as after that to be able to rotate the object and zoom in on the object?
Thanks.

thanks for moving this to an issue! :+1:
Yes anchors are definitely going to be an essential part of this plugin, as a matter of fact I'm currently implementing plane anchors to which objects can be attached, should be done soon.
The image anchors you are mentioning will also be included, however, that's a bit further down the road because cloud anchor functionality is currently my first priority and there's still a lot to do in that direction. Both the arkit_flutter_plugin and the arcore_flutter_plugin support image anchors, so including them into this project is just a matter of creating a common interface and slightly adapting the existing implementations. If you find the time, it could be a good starting point for a contribution, if not, you'll probably have to wait for a bit longer until I get around to doing it :smile:
Cheers,
Lars

thanks for moving this to an issue! 👍
Yes anchors are definitely going to be an essential part of this plugin, as a matter of fact I'm currently implementing plane anchors to which objects can be attached, should be done soon.
The image anchors you are mentioning will also be included, however, that's a bit further down the road because cloud anchor functionality is currently my first priority and there's still a lot to do in that direction. Both the arkit_flutter_plugin and the arcore_flutter_plugin support image anchors, so including them into this project is just a matter of creating a common interface and slightly adapting the existing implementations. If you find the time, it could be a good starting point for a contribution, if not, you'll probably have to wait for a bit longer until I get around to doing it 😄
Cheers,
Lars

Short addition to this: I'll make the anchor class extensible so contributers can add additional types of anchors such as image anchors, so in case you want to contribute it will probably make sense to wait until this is published, I'll get it done by the end of the week so you have a starting point to work with :)


Using one workspace and publishing selected objects depending on my different customers needs

Feature suggestion for dev tools
We are creating an AL app which we want to use for different customers. We are using different objects like XMLPort, tables, queries, pages. But not every customers needs all of them and therefore don't want to license all of them.
If the AL code workspace contains objects ids which our customer has not licensed we cannot publish the app. There is an error during publishing which does not allow it because of not licensed object ids.
Therefore I am thinking about if it is possible to have s.th. like a configuration file where the object ids to publish are defined.
As afaik there os right now no way to do that.
I don't prefer to delete the objects because of maintainability reason of the code. I would like to have the same code base for all customers.

The best is to post this to our Ideas forum at https://aka.ms/BusinessCentralideas.


InvalidOperationException when pairing fob; 2000 mk4 jetta

I successfully paired 3 keys after retrieving my skc. When attempting to add a fob following the instructions on the forum, I encountered an error. During the first step a NAK was received. I retried both steps multiple times and each time encountered the same error.
C:\Users\mexan\Downloads\kw1281test_0.74-beta_Win10>kw1281test.exe com1 9600 46 AdaptationSave 0 0
KW1281Test: Yesterday's diagnostics...Today.

Version 0.74-beta (https://github.com/gmenounos/kw1281test/releases)
Args: com1 9600 46 AdaptationSave 0 0
OSVersion: Microsoft Windows NT 10.0.19044.0
.NET Version: 6.0.2
Culture: en-US
Opening serial port com1
Sending wakeup message
Wakeup duration: 2 seconds
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0959799AJ 61 Zentral-SG Komf. 0001
Software Coding 04096, Workshop Code: 00066
Sending AdaptationRead block
Received a NAK.
Sending EndCommunication block

C:\Users\mexan\Downloads\kw1281test_0.74-beta_Win10>kw1281test.exe com1 9600 46 AdaptationSave 1 1
KW1281Test: Yesterday's diagnostics...Today.

Version 0.74-beta (https://github.com/gmenounos/kw1281test/releases)
Args: com1 9600 46 AdaptationSave 1 1
OSVersion: Microsoft Windows NT 10.0.19044.0
.NET Version: 6.0.2
Culture: en-US
Opening serial port com1
Sending wakeup message
Wakeup duration: 2 seconds
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
Caught: System.InvalidOperationException Wrote 0xAA to port but echo was 0x01
Unhandled exception: System.InvalidOperationException: Wrote 0xAA to port but echo was 0x01
   at BitFab.KW1281Test.KwpCommon.WriteByteAndDiscardEcho(Byte b) in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 200
   at BitFab.KW1281Test.KwpCommon.WriteByte(Byte b) in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 108
   at BitFab.KW1281Test.KW1281Dialog.ReadAndAckByte() in C:\Users\gmeno\src\kw1281test\KW1281Dialog.cs:line 401
   at BitFab.KW1281Test.KW1281Dialog.ReceiveBlock() in C:\Users\gmeno\src\kw1281test\KW1281Dialog.cs:line 330
   at BitFab.KW1281Test.KW1281Dialog.ReceiveBlocks() in C:\Users\gmeno\src\kw1281test\KW1281Dialog.cs:line 308
   at BitFab.KW1281Test.KW1281Dialog.Connect() in C:\Users\gmeno\src\kw1281test\KW1281Dialog.cs:line 80
   at BitFab.KW1281Test.Tester.Kwp1281Wakeup(Boolean evenParityWakeup) in C:\Users\gmeno\src\kw1281test\Tester.cs:line 38
   at BitFab.KW1281Test.Program.Run(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 249
   at BitFab.KW1281Test.Program.Main(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26

In case it helps, here's the ECU ident:
C:\Users\mexan\Downloads\kw1281test_0.74-beta_Win10>kw1281test.exe com1 10400 1 ReadIdent
KW1281Test: Yesterday's diagnostics...Today.

 I'll try this on my own car and see if it works or not.

I know this is old, but were you able to replicate the issue on your end?

I’m also encountering this error with my 2004 Audi A4. The sync byte is unexpected and it fails


[Mod Compat] Update Paradise Lost Compat

Paradise lost had a huge update, they removed Crystal Wood
and renamed then re-sprite the rest of the woods except the Orange Wood
Renamed and Re-sprited Woods:

Skyroot -> Aurel
Golden Oak -> Mother Aurel

Removed Wood:

Crystal

Paradise Lost Recent Update Changelog

Will be added in 1.2.5 going up on CF shortly


Added InputFileParameter and OutputFileParameter classes.

Description

Added class, InputFileParameter, that parses to the real path of the parameter if it's a file, and raises an OSError otherwise.
Added class, OutputFileParameter, that parses to the real path of the parameter if it's a valid file path, creates the required output directories if necessary, and raises an OSError if it can't do this successfully.

Motivation and Context
I commonly create luigi Tasks that take input and output file parameters.  It is helpful to me, and I expect to others, to restrict a parameter to existing files/valid paths (for output files).  This also has the benefit of converting a given relative path to the absolute path, which is useful in my experience when the working directory changes, as it does with, for example, SGEJobTasks.
Have you tested this? If so, how?
I have been using these two classes successfully for several weeks.

Hey @erikbern I think you should not have merged this. For changes to luigi-core changes, could you at least let the PR be open for 24 hours (and also during a workday)?
@erikbern, Besides also please start using the merge+squash feature. I recall you agreed to do it before, so you just need to click one button and get started.

@brcopeland, can you follow up this PR with test cases and fixing all the inline comments I will add?

sorry. i thought it was fine since the PR was pretty tiny and didn't touch any existing code. but you are right

Actually. I think we can not keep these two parameters as they are now. Since the parse function performs IO, and we will have weird failures where the file exists on the node submitting the task but some other task getting the task from the server will crash upon receiving the task.

Furthermore it feels like these checks makes no sense given that luigi is all about having dependencies resolved. I mean consider this example:
MyTask(Task):
    input_file = InputFileParameter('some_path')

    requires(self):
         return TaskThatWillCreateTheFile(output_file=self.input_file)

    run(self):
         # code using self.input_file

I support the revert in order to spend more time cleaning this and making it luigi-friendly (plus including tests where applicable - I remember getting bitten by my Parameter PRs).

Okay. I'll revert it tomorrow then unless I hear compelling arguments against it. :)