[@angular-devkit/build-optimizer] causes runtime errors in Monaco Editor

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: ....
The bug is not present in 0.8.9, but is present in 0.9.0-beta.0.
Description
Using 0.9.0-beta.0 (or later) versions of @angular-devkit/build-optimizer leads to the following runtime exceptions from monaco-editor:

🔬 Minimal Reproduction

https://github.com/petermikitsh/buildoptimizer-error
git clone https://github.com/petermikitsh/buildoptimizer-error
cd buildoptimizer-error
npm install
npm start

🔥 Exception or Error
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at new MessageController (messageController.js:34)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at new CodeActionModel (codeActionModel.js:168)
    at new QuickFixController (codeActionCommands.js:148)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at FindController.CommonFindController [as constructor] (findController.js:79)
    at new FindController (findController.js:322)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at new MarkerController (gotoError.js:297)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'getState' of null

TypeError: Cannot read property 'getState' of null
    at new SelectionHighlighter (multicursor.js:780)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createInstance' of undefined

TypeError: Cannot read property 'createInstance' of undefined
    at new ParameterHintsController (parameterHints.js:28)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at new SnippetController2 (snippetController2.js:31)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createInstance' of undefined

TypeError: Cannot read property 'createInstance' of undefined
    at new SuggestController (suggestController.js:164)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createInstance' of undefined

TypeError: Cannot read property 'createInstance' of undefined
    at new AccessibilityHelpController (accessibilityHelp.js:55)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at StandaloneReferencesController.ReferencesController (referencesController.js:131)
    at new StandaloneReferencesController (standaloneReferenceSearch.js:26)
    at create (types.js:152)
    at InstantiationService._createInstance (instantiationService.js:126)
    at InstantiationService.createInstance (instantiationService.js:93)
    at StandaloneEditor.CodeEditorWidget [as constructor] (codeEditorWidget.js:209)
    at StandaloneEditor.StandaloneCodeEditor [as constructor] (standaloneCodeEditor.js:72)
    at new StandaloneEditor (standaloneCodeEditor.js:160)
    at eval (standaloneEditor.js:110)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
CodeEditorWidget @ codeEditorWidget.js:213
StandaloneCodeEditor @ standaloneCodeEditor.js:72
StandaloneEditor @ standaloneCodeEditor.js:160
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'getValue' of undefined

TypeError: Cannot read property 'getValue' of undefined
    at ColorDetector.isEnabled (colorDetector.js:73)
    at eval (colorDetector.js:44)
    at Emitter.fire (event.js:535)
    at new StandaloneEditor (standaloneCodeEditor.js:179)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (index.js:6)
    at Object../index.js (main.js:208)
    at __webpack_require__ (main.js:64)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
Emitter.fire @ event.js:542
StandaloneEditor @ standaloneCodeEditor.js:179
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'createKey' of undefined

TypeError: Cannot read property 'createKey' of undefined
    at RawContextKey.bindTo (contextkey.js:439)
    at new WordHighlighter (wordHighlighter.js:159)
    at createWordHighlighterIfPossible (wordHighlighter.js:411)
    at eval (wordHighlighter.js:419)
    at Emitter.fire (event.js:535)
    at new StandaloneEditor (standaloneCodeEditor.js:179)
    at eval (standaloneEditor.js:110)
    at withAllStandaloneServices (standaloneEditor.js:97)
    at Object.create (standaloneEditor.js:109)
    at eval (index.js:6)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
Emitter.fire @ event.js:542
StandaloneEditor @ standaloneCodeEditor.js:179
(anonymous) @ standaloneEditor.js:110
withAllStandaloneServices @ standaloneEditor.js:97
create @ standaloneEditor.js:109
(anonymous) @ index.js:6
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199
errors.js:22 Uncaught Error: Cannot read property 'getValue' of undefined

TypeError: Cannot read property 'getValue' of undefined
    at ColorDetector.isEnabled (colorDetector.js:73)
    at eval (colorDetector.js:51)
    at Emitter.fire (event.js:535)
    at eval (codeEditorWidget.js:171)
    at Emitter.fire (event.js:535)
    at Configuration.CommonEditorConfiguration._recomputeOptions (commonEditorConfig.js:100)
    at Configuration._onReferenceDomElementSizeChanged (configuration.js:247)
    at ElementSizeObserver.eval [as changeCallback] (configuration.js:222)
    at ElementSizeObserver.measureReferenceDomElement (elementSizeObserver.js:61)
    at ElementSizeObserver.observe (elementSizeObserver.js:42)
    at eval (errors.js:22)
(anonymous) @ errors.js:22
setTimeout (async)
ErrorHandler.unexpectedErrorHandler @ errors.js:20
ErrorHandler.onUnexpectedError @ errors.js:34
onUnexpectedError @ errors.js:48
Emitter.fire @ event.js:542
(anonymous) @ codeEditorWidget.js:171
Emitter.fire @ event.js:535
CommonEditorConfiguration._recomputeOptions @ commonEditorConfig.js:100
Configuration._onReferenceDomElementSizeChanged @ configuration.js:247
(anonymous) @ configuration.js:222
ElementSizeObserver.measureReferenceDomElement @ elementSizeObserver.js:61
ElementSizeObserver.observe @ elementSizeObserver.js:42
Configuration.observeReferenceElement @ configuration.js:253
CodeEditorWidget.layout @ codeEditorWidget.js:850
(anonymous) @ index.js:12
./index.js @ main.js:208
__webpack_require__ @ main.js:64
(anonymous) @ client:2
0 @ main.js:7989
__webpack_require__ @ main.js:64
(anonymous) @ main.js:196
(anonymous) @ main.js:199

🌍 Your Environment
Angular CLI: 7.3.6
Node: 10.15.0
OS: darwin x64
Angular: undefined
...

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.13.6 (cli-only)
@angular-devkit/build-optimizer   0.9.0-beta.0
@angular-devkit/core              7.3.6 (cli-only)
@angular-devkit/schematics        7.3.6 (cli-only)
@schematics/angular               7.3.6 (cli-only)
@schematics/update                0.13.6 (cli-only)
typescript                        3.0.3
webpack                           4.29.6

Anything else relevant?

Facing the same issue, did anyone figure out how to solve/workaround this?

The scrub file transformer is the one which causes the issue, if that's of any help. Looking at the error I think monaco has it's own dependency injection mechanism based on constructor args. Might be affected by optimization here?

For anyone interested in a workaround, I'm patching the webpack configuration using @angular-builders/custom-webpack to exclude the monaco files:
extra-webpack-config.js
module.exports = (webpackConfig, cliConfig) => {
  if (cliConfig.buildOptimizer) {
    // https://github.com/angular/angular-cli/issues/14033
    const loader = webpackConfig.module.rules
      .find(rule => rule.use && rule.use
        .find(it => it.loader === '@angular-devkit/build-optimizer/webpack-loader'));

    const originalTest = loader.test;
    loader.test = (file) => {
      const isMonaco = !!file.match('node_modules/monaco-editor');
      return !isMonaco && !!file.match(originalTest);
    };
  }
  return webpackConfig;
};

Does this still occur with the latest version of the CLI (currently 8.3.5)?

@clydin The root of the issue is in the @angular-devkit/build-optimizer module.
I have upgraded the repo demonstrating this bug (https://github.com/petermikitsh/buildoptimizer-error/tree/upgrade-buildoptimizer) to the latest version of the build-optimizer.
The bug is still present.

me too!

I had to adjust @fabioscala answer a little bit to get it to work with Angular 8:
const webpack = require('webpack');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

const findLoader = (webpackConfig, regex) => {
  return webpackConfig.module.rules
    .filter(rule => !!rule.use)
    .find(rule => rule.use.find(it => !!it.loader && regex.test(it.loader)));
};

module.exports = (webpackConfig, cliConfig) => {

  if (cliConfig.buildOptimizer) {
    const loader = findLoader(webpackConfig, /@angular-devkit\/build-optimizer.*\/webpack-loader/);

    const originalTest = loader.test;
    loader.test = (file) => {
      const isMonaco = !!file.match('node_modules/monaco-editor');
      return !isMonaco && !!file.match(originalTest);
    };
  }

  webpackConfig.plugins.push(
    new MonacoWebpackPlugin()
  );

  return webpackConfig;
};

I debugged a little bit this issue out of interest and noticed that the problem lies here:

https://github.com/angular/angular-cli/commit/6076e16ebcba1947cda308b9f3a6e611768ee82e#diff-98ef76947c50df9f53c7f56d716cb64c

As you can see that all __param calls are removed. The monaco-editor relies on the internal DI framework, there are a lot of decorated constructor properties, e.g. for the model service:
ModelServiceImpl = __decorate(
  [__param(0, IConfigurationService), __param(1, ITextResourcePropertiesService)],
  ModelServiceImpl
);

Basically monaco-editor's DI framework is not able to work correctly, that's why you see those issues.
@filipesilva could you help to resolve this issue?

Our optimization strategy currently depends heavily on Build Optimizer, and one of the things it does is remove that metadata. We're looking at wholly removing build optimizer from app builds but that won't happen in the version 9 timeframe... Until then I think the best workaround really is https://github.com/angular/angular-cli/issues/14033#issuecomment-507516164.

I had to tweak @maxtacco's tweak to get it working on Windows, due to the backslash path separators:
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

const findLoader = (webpackConfig, regex) => {
    return webpackConfig.module.rules
        .filter(rule => !!rule.use)
        .find(rule => rule.use.find(it => !!it.loader && regex.test(it.loader)));
};

module.exports = (webpackConfig, cliConfig) => {
    if (cliConfig.buildOptimizer) {
        const loader = findLoader(
            webpackConfig,
<EMAIL_ADDRESS>        );

        const originalTest = loader.test;
        loader.test = file => {
            const isMonaco = !!file.match('node_modules/monaco-editor');
            return !isMonaco && !!file.match(originalTest);
        };
    }

    webpackConfig.plugins.push(new MonacoWebpackPlugin());

    return webpackConfig;
};

I can confirm that the issue is still appearing in latest cli 9.1.7


lower parent pom for java 8 releases

Hi Nils, please adjust the CHANGELOG accordingly

Hi @mlhartme, CHANGELOG is adjusted


How to connect to local SQLLocalDB Server Instance?

Yes, I've looked at all previous posts about this issue, but none of those solutions have worked for me.
I have a server instance running on my computer using SQLLocalDB as shown here:

I have enabled TCP and SQL Brower IS Running:

Also, TCP IS configured for PORT 1433.
In my node web application I try to access the server by its instance name [Redacted]Issues:
I can connect to this server using the SQL Express Application and see my one database named issues as well as the tables it contains. I can't seem to figure out what I need for the config in my node application?
Here is the configuration I've tried:
    var config = {
        server : 'localhost',
        user : 'REDACTED',
        password : 'REDACTED',
        database : 'Issues',
        options:{
            instanceName:"[Redacted]Issues" // I've also tried LOCALDB#219A131B
        },
        port : 1433
    };

    sql.connect(config, function(err) {
        // ... error checks
        if (err) res.send(err);

        // Query

        var request = new sql.Request();
        request.query('select * from Issues', function(err, recordset) {
            // ... error checks
            console.log(err);
            console.dir(recordset);
        });
    });

Has anyone successfully connected to SQLLocalDB before? If so, what am I doing wrong?

I was able to connect to SQLEXPRESS by not providing the instance name contrary to what I believed I should do in the first place.

@megancooper Tedious, which is the underlying connection module that mssql uses, doesn't support connecting to localdb at this time.  Reference - https://github.com/tediousjs/tedious/issues/348.  It is on the feature road map though.

I was able to create a successful connection using:
var config = {
    server : 'localhost\\SQLEXPRESS',
    database : 'Issues',
    user : 'username',
    password : 'password',
    port : 1433
};

And also the following in my routes for POST requests that query the database:

    var conn = new sql.ConnectionPool(config);
    var request = new sql.Request(conn);

    request.input('title', sql.VarChar, Title);

    conn.connect(function (err) {
        if (err)
            res.send(err);
        request.query("SELECT * FROM Issues WHERE TITLE = @title", function (err, recordset) {
            if (err)
                res.send(err);
            else
                res.send(recordset);
            conn.close();
        });
    });

@megancooper But is that using localdb?

@Spinarooni  Sorry if my wording is incorrect I am new to SQL Express, and the ins-and-outs of mssql, Node, etc. I followed this tutorial to create a LocalDB Instance on my machine. This instance is what I successfully connected to. Is this not a local database?

@megancooper Yes it would be a "local database" on that machine but to me it appears you are running an instance of SQL Express as a service and not LocalDB which is separate from SQL Express.  As I understand it SQL Express runs as a service and LocalDB does not.  You typically connect to LocalDB via Named Pipes so the above connection config should not work with LocalDB.  LocalDB is also not accessed through localhost as far as I know.  Your first screen shot above is what made me think you were trying to use LocalDB since typically the SqlLocalDB command is used to view and interact with LocalDB instances.
Not trying to make this drawn out but our shop was in the process of creating a new app and we were considering Electron and LocalDB for offline storage.  Everything I found indicated that the mssql package wouldn't work with LocalDB as it is now.  If you had figured it out then I was curious as to know how.  I think we were talking about two different things though.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-2016-express-localdb


Probably bug in any word hint demo

I was just writing hint in my code based on any anywordhint.html and it seem that the code is not correct. The regex using global flag and according to MDN test function change lastIndex of the regex test function. I'm not 100% sure if the implementation have bug, but in my code that use almost the same while loop it matched only first character of the word because lastIndex on next call was 1 and it din't much for second character. So the start while loop ended after first iteration. To fix this just remove g flag from the regex.
TL;DR here is the bug:
var WORD = /[\w$]+/g, RANGE = 500;
   ...
    while (end < curLine.length && word.test(curLine.charAt(end))) ++end;
    while (start && word.test(curLine.charAt(start - 1))) --start;

Do you have an example where it behaves incorrectly?

Sorry I was not testing your code maybe it magically work but you can see the same code in my project:
https://codepen.io/jcubic/pen/abpqXvO?editors=0010
If you type (defi and CTRL+Space it much every word. The code is little bit refactored to make it cleaner but if you look at function get_range it have exactly same code and use regex that have g variable. Maybe your example works because it find every word in document but it's bad documentation because those while loops don't do what they suppose to do. At least this is what I thought then I tried to implement my code based on this demo.

Maybe it just need a comment that explain what the while loop do, if it suppose to match only one letter.

WORD, in this codebase, doesn't have a g flag.

But demo have https://github.com/codemirror/CodeMirror/blob/master/demo/anywordhint.html#L32

Ah, that's just filler content for the editor, which appears to contain an old implementation of the addon. Attached patch updates it to the current code.


Rekeying support for oo7::portal::Keyring

The oo7::portal::Keyring API currently doesn't provide a way to change the key. It would be nice if there is an API, something like:
pub async fn change_secret(&mut self, secret: Secret) -> Result<(), Error>;
...
let mut keyring = oo7::portal::Keyring::load_path(..., secret).await?;
keyring.change_secret(new_secret).await?;
keyring.write().await?;

This would be particularly useful for implementing a gnome-keyring compatible server backed by this file format (#46) and supporting password change through PAM.

The oo7::portal::Keyring API currently doesn't provide a way to change the key

You can use replace_item_index() for that already.

It would be nice if there is an API, something like

This would need some rework of how the library works right now. Currently the portal::Item does not know anything about the keyring file.

I think there is a confusion; this issue is about master password to encrypt the items, not the items themselves.

Oh sorry, I was totally off.

@bilelmoussaoui I'm interested in working on this issue as well :)


Publish TypeScript 1.6+ on VS Gallery

Right now if you search online through the VS Extension Manager for 'typescript' you'll see the latest thing we uploaded: TypeScript 1.5beta. We should continue to publish to the VS Gallery if only so that searching for TypeScript in the Gallery gets someone the latest bits.
Tagging @yuit

Version need to be published on VS Gallery:

[X] TypeScript 1.6 for Visual Studio 2013
[X] TypeScript 1.6 for Visual Studio 2015
[ ] TypeScript 1.7 for Visual Studio 2013
[ ] TypeScript 1.7 for Visual Studio 2015


Log4j2 Incompatibility with SAM

Hi Guys,
I'm facing very strange issue that when I'm adding log4j2 configuration my functions stops to work correctly.

I have a project that contains dependencies to https://github.com/aws/aws-lambda-java-libs/tree/master/aws-lambda-java-log4j2 and when everything is done according to instructions My functions stops to work correctly and  returns:

 Function returned an invalid response (must include one of: body, headers or statusCode in the response object): invalid character '-' after top-level

When I copy log4j2.xml to src/main/resources in maven function works fine but as expected log4j2 configuration can't be found

START RequestId: aa632e55-8cd9-4b7e-9d3f-196cdab74f9e Version: $LATEST
Save started...ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
.....

End everything is green.
After playing with this issue it looks like that even simple sysout with text breaks overal execution and Error is returned:
 Function returned an invalid response (must include one of: body, headers or statusCode in the response object): invalid character '-' after top-level

@volodymyr-f This seems like an issue with your Lambda function and not SAM? Is there something related to SAM that is giving you trouble or your Lambda function itself? We can aid in the former but this wouldn't be the proper channel for aiding with Lambda Function specific issues.

@jfuss Thanks for reviewing it. Before posting an issue to github I double checked that:

My Function Correctly work when I deploy it on AWS.
So, when I execute it on AWS lambda I get logs as expected:

2017-12-02 18:05:01 INFO J.....Dao:107  My Log

But when I execute the same function on AWS Sam I've got this error:

Function returned an invalid response (must include one of: body, headers or statusCode in the response object): invalid character '-' after top-level

It looks like if I put simple sysout in any place of code that will be executed AWS Sam will crash.
e.g.:
Such function works fine:

public class Function implements RequestStreamHandler {

@Override
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException

	//My Code
}}

And such code crashes:

public class Function implements RequestStreamHandler {

@Override
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException
	System.out.println("Hi");
	//My Code
}}

This isn't a SAM issue. SAM is used to deploy Serverless applications through CloudFormation. This is an issue with your Lambda function that you will have to debug. This isn't the appropriate place for Lambda Function help.
Closing since this isn't related to SAM.

Ah yes. Sorry wrong project


doc/contributing/quick-start: Replace dead thunderbird link

The thunderbird derivation is using buildMozillaMach these days, shared with Firefox and Librefox, so it is probably the correct , although more complicated, successor.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Any weird animal will do.


Update ETL process to be able to deal with data/metadata whose existence is optional

As a developer, I want the ETL to be able to deal with data/metadata files which might not exist for some providers. In that case, I'd like to have an empty dataframe who makes the process transparent and works well together with the cases where such files exist.
Acceptance Criteria

[x] Extract tasks can be created specifying that the source file is optional

@zperova done


Extension issuejson  { 	"messages": [], 	"activationTimes": { 		"codeLoadingTime": 8784, 		"activateCallTime": 2, 		"activateResolvedTime": 31, 		"activationReason": { 			"startup": true, 			"extensionId": { 				"value": "Zignd.html-css-class-completion", 				"_lower": "zignd.html-css-class-completion" 			}, 			"activationEvent": "*" 		} 	}, 	"runtimeErrors": [] }

Issue Type: Bug
Extension Name: html-css-class-completion
Extension Version: 1.19.0
OS Version: Windows_NT x64 10.0.19042
VSCode version: 1.50.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Already reported here: https://github.com/zignd/HTML-CSS-Class-Completion/issues/155


Support optional fields for interfaces

interface O { x?: number }
var o1: O = {} // ok
var o2: O = { x: 1 } // ok
var o3: O = { x: "" } // error string ~> number

I spent a bit of time trying to implement this by modifying Type_inference_js.convert to wrap interface fields types in an OptionalT when optional=true.
I got a stuck trying to make the above test cases pass. I determined that Flow_js.structural_subtype needed to create non-strict LookupTs for optional fields, which works in one direction, but some flow was forcing unification. I suspect it is the ClassT ~> TypeT flow.
(Edit: I had some extra commentary here connecting this issue to generators, but ultimately I think that I was mistaken that the issues I had there were connected to this. The above failing case does still apply, though.)

This threw me off too until I spoke to @avikchaudhuri. There's a covariance issue here. Consider this code:
interface IHaveNullableX { x: ?number };
var myThing: { x: number };
(myThing: IHaveNullableX).x = null; // Uh oh I've put null somewhere bad
myThing.x++; // And now I can do bad things with null

It is true that number is a subtype of ?number, so why isn't it safe to use subtyping on individual properties when doing structural subtyping? The answer is that object properties are not covariant. You can both read and write to them, so they are invariant. When doing structural subtyping of two objects, you need to unify the types of the properties in case people both read and write to the properties.

Thanks for the explanation. It makes sense to me that object properties must be invariant because of mutation.
It also makes sense that optional types are mostly equivalent to maybe types.
type Optional = { x?: number }
var o1: Optional = {} // OK
var o2: Optional = { x: null } // Error: null ~> void | number
var o3: Optional = { x: undefined } // OK
var o3: Optional = { x: 0 } // OK

type Maybe = { x: ?number }
var m1: Maybe = {} // Error: x not found
var m2: Maybe = { x: null } // OK
var m3: Maybe = { x: undefined } // OK
var m3: Maybe = { x: 0 } // OK

I guess what I'm wondering here is: why are interfaces different from other object types? Surely the same invariance constraint applies to both.
interface IOptional { x?: number }
var o1: IOptional = {} // Error: x not found
var o2: IOptional = { x: null } // Error: null ~> number
var o3: IOptional = { x: undefined } // Errors: number ~> undefined; undefined ~> number
var o3: IOptional = { x: 0 } // OK

interface IMaybe { x: ?number }
var m1: IMaybe = {} // Error: x not found
var m2: IMaybe = { x: null } // OK
var m3: IMaybe = { x: undefined } // Errors: null ~> undefined; number ~> undefined
var m3: IMaybe = { x: 0 } // Errors: null ~> number; undefined ~> number

Yes, unification is partly responsible for the different. Object types have a special case that uses subtyping instead of unification when it is safe to do so. Interfaces don't have that.
I also think there is another issue. Why is the error for var o1: IOptional = {} complain about x missing when the property is marked optional? It seems that the optional field on the AST is currently ignored, whereas object types wrap their optional properties.
So, two issues that are actually related. It doesn't help to use OptionalT for interfaces without the ability to also allow subtyping in the scenarios where it is safe to do so.
Whatever we do decide to do about this, it's problematic to me that optional parameters for interface declarations are noops, and fully equivalent to the non-optional form. It's unintuitive. At a minimum, we should error on that syntax if we can't support optional properties. They are even used in the standard flowlib, as noops.

@samwgoldman you're absolutely write about the last two points:
(1) Optional fields shouldn't be ignored in interface / class declarations (easily fixed by wrapping with OptionalT, as you said).
(2) Objects should match interface types with property subtyping where it can. I have a couple of diffs coming up that fix some issues with interfaces and structural subtyping of objects with them.

Related to #514

Related to #301

@gabelevi fixed this one moments ago!


Bugfix: spaceDapp to check for enabled space, channel before conducting entitlement checks

SpaceDapp currently does not check to see if spaces or channels are enabled before considered if a user is entitled for a space or channel action, and this puts it out of sync with the stream node's entitlement check logic. This should be fixed.

update: we don't really use disabled spaces or channels at this point, this is v low priority.

@clemire this is coming https://github.com/HereNotThere/harmony/pull/8165

@texuf regarding your above comment, did we ever move forward with deleting channels?


Ceseal Container keep restating

My node keep crasing and entering this looping :
EBUG RS - deno_runtime::permissions:86 - ⚠  Granted read access to "/opt/ceseal/releases/24013112/data/protected_files/runtime-data.seal"
runtime-data.seal exists, no need to handover
Work dir '/opt/ceseal/releases/24013112'
Data dir '/opt/ceseal/releases/24013112/data'
Starting Ceseal with extra opts '--role=full '
Ceseal will running in hardware mode
Gramine is starting. Parsing TOML manifest file, this may take some time...
-----------------------------------------------------------------------------------------------------------------------
Gramine detected the following insecure configurations:

  - loader.insecure__use_cmdline_argv = true   (forwarding command-line args from untrusted host to the app)
  - sys.insecure__allow_eventfd = true         (host-based eventfd is enabled)
  - sgx.allowed_files = [ ... ]                (some files are passed through from untrusted host without verification)

Gramine will continue application execution, but this configuration must not be used in production!
-----------------------------------------------------------------------------------------------------------------------

Running in Gramine-SGX
mr_enclave  : 0x9b97f27980336c73a43719e9f53092051ee7d4df281390b2e9d7451a8b8f8e2a
mr_signer   : 0x8ab66057ac1cbbd49fa645d937008f550c5bd355af21dbea7a73d589df738265
isv_svn     : 0x0000
isv_prod_id : 0x0000
git revision: 55dff8c
2024-02-04T16:41:56.871103Z  INFO main: ceseal: Starting ceseal... sgx=true
2024-02-04T16:41:56.871149Z  INFO main: ceseal: cores=16
2024-02-04T16:41:56.871161Z  INFO main: ceseal: init_args: InitArgs {
    sealing_path: "/data/protected_files",
    storage_path: "/data/storage_files",
    version: "0.1.0",
    git_revision: "55dff8c-2024-01-31T12:48:46.117109259Z",
    enable_checkpoint: true,
    checkpoint_interval: 900,
    remove_corrupted_checkpoint: false,
    max_checkpoint_files: 5,
    cores: 16,
    public_port: None,
    safe_mode_level: 0,
    no_rcu: false,
    ra_timeout: 8s,
    ra_max_retries: 1,
    role: Full,
}
2024-02-04T16:41:56.871904Z  INFO main: cestory: Loading checkpoint from file "/data/storage_files/checkpoint.seal-000037141"
2024-02-04T16:41:58.367709Z  INFO main: cestory: Succeeded to load checkpoint file "/data/storage_files/checkpoint.seal-000037141"
2024-02-04T16:41:58.367751Z  INFO main: cestory: Loaded checkpoint
2024-02-04T16:41:58.367762Z  INFO main: cestory: keyfairy is ready by restore
2024-02-04T16:41:58.367911Z  INFO main: cestory: Enclave init OK
2024-02-04T16:41:58.368250Z  INFO cestory: Ceseal internal server will listening on <IP_ADDRESS>:8000
2024-02-04T16:42:01.370553Z DEBUG cestory: Successfully load podr2 key public key is: [48, 130, 1, 10, 2, 130, 1, 1, 0, 178, 57, 227, 166, 30, 237, 82, 178, 235, 233, 170, 96, 37, 140, 170, 182, 135, 66, 188, 24, 189, 190, 149, 75, 125, 94, 230, 1, 154, 122, 80, 226, 15, 190, 6, 192, 61, 114, 197, 53, 116, 64, 156, 224, 226, 128, 169, 128, 95, 145, 109, 102, 52, 148, 190, 12, 71, 175, 101, 91, 66, 188, 9, 166, 173, 225, 22, 114, 98, 31, 144, 8, 175, 29, 165, 171, 189, 126, 33, 97, 184, 52, 69, 163, 231, 126, 205, 17, 210, 34, 97, 218, 144, 82, 164, 20, 164, 215, 20, 181, 180, 37, 179, 99, 108, 177, 125, 70, 7, 217, 206, 103, 78, 11, 146, 150, 198, 230, 166, 221, 25, 118, 8, 187, 143, 18, 223, 78, 83, 206, 178, 39, 110, 240, 123, 5, 107, 181, 31, 125, 210, 29, 191, 238, 173, 211, 194, 243, 239, 74, 31, 241, 71, 29, 148, 100, 118, 134, 169, 132, 183, 231, 139, 200, 189, 3, 77, 234, 118, 165, 223, 164, 199, 26, 176, 236, 165, 7, 232, 102, 197, 161, 59, 217, 1, 183, 177, 64, 60, 132, 6, 234, 226, 60, 157, 133, 219, 115, 213, 18, 145, 86, 229, 123, 189, 113, 147, 196, 180, 217, 15, 179, 109, 161, 255, 60, 202, 94, 228, 98, 209, 13, 19, 205, 40, 161, 189, 169, 190, 211, 217, 150, 67, 180, 242, 60, 173, 223, 209, 166, 4, 221, 206, 238, 96, 147, 199, 225, 203, 200, 241, 247, 225, 54, 20, 161, 2, 3, 1, 0, 1]
error: There are no available TCS pages left for a new thread. Please try to increase sgx.max_threads in the manifest. The current value is 128
[P1:T2:ceseal] error: PalStreamOpen failed: Operation denied (PAL_ERROR_DENIED)
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 11, kind: WouldBlock, message: "Resource temporarily unavailable" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/threadpool-1.8.1/src/lib.rs:777:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: There are no available TCS pages left for a new thread. Please try to increase sgx.max_threads in the manifest. The current value is 128
[P1:T125:ceseal] error: PalStreamOpen failed: Operation denied (PAL_ERROR_DENIED)
[P1:T125:ceseal] error: failed to set up async cleanup_thread (exiting without clear child tid), return code: Cannot allocate memory (ENOMEM)
error: There are no available TCS pages left for a new thread. Please try to increase sgx.max_threads in the manifest. The current value is 128
[P1:T97:ceseal] error: PalStreamOpen failed: Operation denied (PAL_ERROR_DENIED)
[P1:T97:ceseal] error: failed to set up async cleanup_thread (exiting without clear child tid), return code: Cannot allocate memory (ENOMEM)
error: Host injected malicious signal 2
ceseal exited with code 1

There is a bug in this version of nodeadm, which causes restarting ceseal to fail. I will be solved it when next version release. There is currently a temporary solution if you need......


Create Behavior Definition for Managed Scenario

Tutorials: https://developers.sap.com/tutorials/abap-environment-behavior.html
Hello Experts,

After finishing all the steps for this tutorial, I could not see the 'Create' and 'Delete' button which is expected to show.
Please advice. Thanks.
BRs,
Bryant

Hi @xiebryant ,
can you unpublish and publish your service binding again. And try it out again?
Best regards,
Merve

I have the same issue and created issue #276 before i saw this link. Any solutions ?

@mervey45 Let us know when tutorial is updated and then close this issue. Thanks.

Hi @thecodester ,
I created following pull request for this change: #6640.
Best regards,
Merve


Basic primitives to interact with Streams

Description
The current implementation of stream.Producer and stream.Consumer use stream.Coordinator. This coordinator does a lot of things, like keeping track of the IDs used for communication, reconnection, keeping a list of created producer/consumers... It is a lot and it is very opinionated. It is the central piece to publishing and consuming messages, and it is very hard to change this code because it affects many different pieces.
Proposed solution

Create a very simple Producer, with low level functions to send messages and receive responses
Create a very simple Consumer, same as above
Use a dedicated connection socket for each created producer/consumer

The implemented solution has derived significantly from the proposed solution 🙃 There is a raw package in the v2 branch that provides all the basic primitives to interact with streams. It all happens via the Clienter interface, it has very simple Send and Subscribe functions, no reconnection logic or anything "smart". The smart package will be the stream package, and it will build on top of the raw package. Anyone willing to try out the raw package is welcome to do so, but bear in mind that it just provides stream protocol primitives 🙂


update code for adding hdf5 file in a loop to print out to user status

for @erasmuss aka me - code to update is in MolarDecomp juypter notebook

done


Add a standard double coder urn.

Also add support for the Python SDK.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @boyuanzz

Could we add some tests to standard_coders.yaml or create a follow-up JIRA?


adjust  white space

hello sir ...
thanks  for  grate app.....
i'm facing little  bit  problems ......

not  able to send  stories ... showing a  message that  "rotate your device to add your story" ...
white space ... fix  css or layout
not  giving notifications
not refreshing posts or feeds

please  slove those   problams ..
thanks q

me too, same here.. :( please fix

The same problem.

Can't upload daily story too, because of rotate bug :)

same here. OS: Ubuntu Mate.


Fixes #3389 - Show  User profiles

**Description (required)
Fixes #3389
**What changes did you make and why?
Profile Activity, AchievementsFragment, ContributionsFragment & LeaderboardFragment accept username instead of using the default account.
Added RemoteDataSource for contributions that do not persist contributions.
On Clicks on AuthorNames in  MediaDetails, Menu-Options in MediaDetails & Leaderboard list takes to the profile of that user with the corresponding Achievements, Leaderboard and ContributionsList.
Tests performed (required)
Tested betaDebug/prodDebug on API 29
Screenshots (for UI changes only)
---
- - -

Some tests fails with this PR @ashishkumar468 :(


Add a ability to delete word

only Admin should be able to delete a word from the word details section

Fixed in https://github.com/maheshmnj/vocabhub/commit/1c23d44df49d6b2d1c1179762b6354903ed589bf
available on the web as of today

Delete is supported on the mobile platform (Admin only)


[WIP] Adjust clarifai face detection model for multi-face stimuli

My previous PR (#355) adjusted the clarifai face detection model to work only with single face images. In the case of more than one image, only the last image would be returned. This PR returns all detected faces in an image or video in a multi-row data frame.
I've also added basic tests that check whether more than a single face is returned in the case of multiple faces in the stimuli.
Copying the google API face extraction, I've added a parameter to return only the first face, if desired (`handle_annotations'), but I'm not using that anywhere so far (mainly because I can't find it used for Google anywhere).

Sorry about the delay getting to this! Thanks again!


Add as struct

This pull request merges the original add-as-struct branch which Errol had proposed to upstream.

I need to push my local changes. Just a sec.

I'm going to resubmit this request because there's a file which has a conflict in the branch but not locally.


conda version is outdated

The conda version is outdated (see https://anaconda.org/conda-forge/evalml). Please update to the newest release.

Hello! I have just fixed our conda release process and our latest version (v0.71.0) is now available on conda.


Error setting active class for selected item

When more than one
 item share the same initial substring in the href when the item with the substring as href is selected all else get selected:
Ex: When click in Plan List B or Plan List C automatically it selects Plan List Item too.

    Contability

            Plan List

            Plan List B

            List Plan C

@pupoxcu
metisMenu won't set .active class if
 element doesn't have
 element

I only put a segment of the code, the complete code is:

    Contability

            Plan List

            Plan List B

            List Plan C

Mentis is working because it set correctly .active class depending on the selected   but some times it set .active class to more than one  at the same time.

I am encountering this issue as well, who knows any work around?

Is there any solution to this issue? Same problem here.


migrating to 6.1.1 -> 6.5+: exception occurs applying java-platform

I have BoM which I use within my app projects. This worked fine with gradle 6.1.1. After I update gradle to 6.6.1, I get this error during gradle sync:
An exception occurred applying plugin request [id: 'java-platform']
> Failed to apply plugin 'org.gradle.java-platform'.
   > Project#afterEvaluate(Action) on project ':bom' cannot be executed in the current context.

Full exception stack is here.
I wonder if I'm missing anything. I'm not an gradle expert. I reviewed migration documentation. There was a mention about default category being library. But I don't know if it is related to my problem or what to do about that.
Expected Behavior
BoM should build just like it did in 6.1.1
Current Behavior
Exception during gradle sync. Same error for 6.5 through 6.6.1.
Context
This BoM is part of android project. I had to upgrade gradle from 6.1.1 as the new android gradle plugin 4.1 is dependent on gradle 6.5+.
My BoM has the following code as mentioned in the documentation:
plugins {
    id 'java-platform'
}

group rootProject.ext.group
version versions.Bom

javaPlatform {
    allowDependencies()
}

dependencies {
    api platform("$deps.firebase.bom:$bom.firebaseBom")

    constraints {
        api "$deps.multidex:$bom.multidex"

// etc

Your Environment
Ubuntu 18.04
Android Studio 4.1
Gradle 6.6.1

Would you mind sharing details about the flags that you are using? I can see that you have "configure on demand" enabled for example.

The following is what I have in my gradle.properties. Mostly android related flags.
android.enableJetifier=true
android.useAndroidX=true
android.debug.obsoleteApi=true
android.bundle.enableUncompressedNativeLibs=false

org.gradle.jvmargs=-Xms128m -Xmx1024m -XX:+CMSClassUnloadingEnabled

I'm using Android Studio. So I presume that it brings in its own flags, one of which may be "configure on demand".
PS: I'm currently not creating BoM in my project, thus avoiding this problem. I was using BoM in order to share dependencies across different android studio projects. I found combining those modules to a single project made things simpler avoiding the need for BoM.

Any chance you can provide a reproducer? Without one, this will be hard to follow upon.

As mentioned, I stopped using BoM which turned out to be right approach for my project. It would be difficult to provide a reproducer at this time if the provided info is not resulting in reproducer.
It's been about 2 months and it looks like no-one seems to have faced this problem except me. So I propose to close this issue.

Ok, thanks for following up.
Closing since we could not reproduce either.


Unreadable object

Hello,
thank you for this tool, it works very well.
Howover, I have a problem with a type of object, I have "nil" value but in my PLIST I have something like that.

Do you have an idea of what kine of object (or primitive) it can be ?
How can I do to decode that ?
Thank you very much

according to: http://svn.gna.org/svn/gnustep/libs/base/trunk/Source/NSCoder.m it seems to be a _NSKeyedCoderOldStyleArray. The type according to https://opensource.apple.com/source/objc4/objc4-274/runtime/objc-class.h.auto.html the 67 means 'C', means _C_UCHR, which is according to https://opensource.apple.com/source/gcc/gcc-5484/libobjc/encoding.c.auto.html an unsigned char.
So basically this means it's just the bytes 30, 59 and -128, -128.

The PListExplorer doesn't know about the unsigned value.
I don't know how you can decode the date. I've never used Swift.

If you have an idea to decode that in Objective-C it can help me :)

not out of my head but from the web-sites that i've linked earlier it appears that NSArchiver may already be capable of decoding these objects.

Ok, I will make some research, I will notice you when I'll find the solution.
Thank you for clues

Thank you, il was an array of unsigned char (2). I decoded it with the method decodeArrayOfObjCType.
unsigned char *arrayOfUChars = (unsigned char *)calloc(2, sizeof(unsigned char));     [aDecoder decodeArrayOfObjCType:@encode(unsigned char) count:2 at: arrayOfUChars];     int r1 = (int) arrayOfUChars[0];     int r2 = (int) arrayOfUChars[1];
Thank you very much, without your help I would never have found


Failed to load plugin 'no-date-parsing' declared in

I have "eslint-plugin-no-date-parsing": "0.2.0", installed in my package.json and 'no-date-parsing', in my eslintrc plugins, and 'no-date-parsing/no-date-parsing': 'error', in my overrides>*.ts>rules, but I get this error:
> nx run blah:lint
Linting "blah"...
Failed to load plugin 'no-date-parsing' declared in 'libs/blah/.eslintrc.js » ../../.eslintrc.js': Class extends value undefined is not a constructor or null

Hello. Could you share your package.json dev-dependencies? Perhaps there is an issue with a newer or older version of eslint that I am not testing.

Running into the same error:
[Error - 11:38:20 AM] TypeError: Failed to load plugin 'no-date-parsing' declared in '.eslintrc.js': Class extends value undefined is not a constructor or null
    at Object.<anonymous> (/<redacted>/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/CLIEngine.js:12:34)
    at Module._compile (node:internal/modules/cjs/loader:1165:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1220:10)
    at Module.load (node:internal/modules/cjs/loader:1035:32)
    at Module._load (node:internal/modules/cjs/loader:876:12)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at Module.require (node:internal/modules/cjs/loader:1059:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/<redacted>/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/index.js:14:14)
    at Module._compile (node:internal/modules/cjs/loader:1165:14)

"devDependencies": {
  "@axe-core/react": "^4.4.3",
  "@babel/core": "^7.18.13",
  "@graphql-codegen/cli": "^2.9.1",
  "@graphql-codegen/typescript": "^2.7.2",
  "@graphql-codegen/typescript-operations": "^2.5.2",
  "@graphql-codegen/typescript-resolvers": "^2.7.2",
  "@storybook/addon-actions": "^6.5.10",
  "@storybook/addon-essentials": "^6.5.10",
  "@storybook/addon-interactions": "^6.5.10",
  "@storybook/addon-links": "^6.5.10",
  "@storybook/builder-webpack5": "^6.5.10",
  "@storybook/manager-webpack5": "^6.5.10",
  "@storybook/react": "^6.5.10",
  "@storybook/testing-library": "^0.0.13",
  "@testing-library/dom": "^8.16.0",
  "@testing-library/jest-dom": "^5.16.4",
  "@testing-library/react": "^13.3.0",
  "@testing-library/user-event": "^14.3.0",
  "@types/cryptr": "^4.0.1",
  "@types/eslint": "^8.4.5",
  "@types/micro-cors": "^0.1.2",
  "@types/node": "^18.0.6",
  "@types/nodemailer": "^6.4.6",
  "@types/prettier": "^2.6.3",
  "@types/react": "^18.0.15",
  "@types/react-dom": "^18.0.6",
  "@typescript-eslint/eslint-plugin": "^5.30.6",
  "@typescript-eslint/parser": "^5.30.6",
  "@vitejs/plugin-react": "^2.0.0",
  "autoprefixer": "^10.4.8",
  "babel-loader": "^8.2.5",
  "chokidar": "^3.5.3",
  "chokidar-cli": "^3.0.0",
  "clipboardy": "^3.0.0",
  "cryptr": "^6.0.3",
  "dotenv": "^16.0.1",
  "esbuild": "^0.14.49",
  "eslint": "8.19.0",
  "eslint-config-next": "^12.2.2",
  "eslint-config-prettier": "^8.5.0",
  "eslint-import-resolver-typescript": "^3.3.0",
  "eslint-plugin-import": "^2.26.0",
  "eslint-plugin-no-date-parsing": "^0.2.0",
  "eslint-plugin-storybook": "^0.6.4",
  "happy-dom": "^6.0.4",
  "husky": "^8.0.1",
  "npm-run-all": "^4.1.5",
  "postcss": "^8.4.16",
  "prettier": "^2.7.1",
  "prettier-plugin-tailwindcss": "^0.1.12",
  "pretty-quick": "^3.1.3",
  "tailwind-scrollbar": "^1.3.2",
  "tailwindcss": "^3.1.8",
  "ts-node": "^10.9.1",
  "typescript": "^4.7.4",
  "vite-tsconfig-paths": "^3.5.0",
  "vitest": "^0.18.1"
}

Hey there! I am really excited to add this lint rule as we're constantly fighting against the natural instinct to use the builtin Date for parsing date strings, but we're seeing this same plugin import issue.
It seems to be related to eslint v8 as similar github Issues suggest (tslint here). I have not looked too far into it, but it may be related to ESM compatability.
I don't maintain any packages and am not super familiar with what changes might be needed, but I remember this post by Sindresorhus was a pragmatic read on how they're migrating their hundreds of packages.
Our package.json
```json
"devDependencies": {
    "@next/eslint-plugin-next": "^12.3.0",
    "@typescript-eslint/eslint-plugin": "^5.36.2",
    "@typescript-eslint/parser": "^5.36.2",
    "eslint": "^8.23.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jest": "27.0.2",
    "eslint-plugin-jest-playwright": "^0.9.0",
    "eslint-plugin-no-date-parsing": "0.2.0",
    "eslint-plugin-react": "^7.31.7",
    "eslint-plugin-simple-import-sort": "^8.0.0",
  },
```

Running into this as well. Has anyone figured out how to get this working?
    "@typescript-eslint/eslint-plugin": "^5.43.0",
    "@typescript-eslint/parser": "^5.32.0",
     "eslint-plugin-no-date-parsing": "^0.2.0",
     "eslint": "^8.21.0",
     "typescript": "^4.6.2",

I have filed a PR, please review.

I have published v1.0.0 which supports eslint v8 with typescript-eslint v5.


Feature: Add template processing

Here's a new feature for baseimage.
Added jinja2 template processing to my_init:
Automatically process all template files in /etc/my_templates.d directory.
Template files must to have a 'template_output:' magic configuration which defines where to save the template output.
Template variables are read from environment.
Example template being /etc/my_templates.d/foobar.j2:
{#
template_output:
{
  "dest": "/etc/service/something/run",
  "mode": 755,
  "owner": "my_user",
  "group": "my_group"
}

only dest parameter is mandatory
-#}

#!/bin/bash

java -Xmx{{ JVM_MAX_MEMORY }} ...

I'm open for suggestions/improvements how to do something e.g. error reporting, or is the template_output magic a bad idea, and should it be done in some other way?

+1

+1 good feature

@keras Would you mind kindly updating the README with an appropriate example and then I will merge this in? Thanks!

It's ok, I don't mind updating the readme. I just need to figure out how this works first. Thank you for your contribution. 👍


Test case pass fail scenarios count mismatch on Dashboard.

Description: QAS dashboard not showing accurate pass failed scenarios count and percentage. for example, actual failed scenarios are 7 but dashboard shows 4 as failed scenarios count. Attached screenshot for reference.

Hi mahesh,
Can you provide more details and steps to reproduce?

Don't forget to mention qaf version.

Hi Chirag,
We are getting this issue mostly when we execute data-driven scenarios in parallel. Also this issue is not consistent sometimes it works fine. But most of the time we are facing this issue  when we execute scenarios using saucelab & Jenkins.
QAF Version: 2.1.10-RC2
Let me know if you need more information.

Will you please check with 2.1.10 or 2.1.11-RC1.

@maheshchaudhar, Will you update us with your observation with latest build of QAF?

Hi Chirag,
I didn't observed this issue in latest QAF build. Thanks for the update.


Introduce code-splitting to web app

Right now, running npm run build in the server/ project generates one main.min.js bundle weighing in at 1.43 MB.
Version: webpack 3.12.0
Time: 14165ms
       Asset     Size  Chunks                    Chunk Names
 main.min.js  1.43 MB       0  [emitted]  [big]  main
main.min.css   133 kB       0  [emitted]         main

If some code-splitting refactors are introduced, that could reduce the overall bundle size (a potential performance improvement). Some thoughts on how this could be introduced / places to look at code-splitting:
The first step would be adding support for the dynamic import() function to Babel using @babel/plugin-syntax-dynamic-import for supporting dynamic imports being compiled by Webpack + Babel (my understanding is that Webpack uses import() statements as code split points).
I've found react-loadable a helpful library for defining code split points for React components, as you can change the way you import the component but continue to render it the same way and benefit from code splitting.
// ListItem.js

// instead of this
import ReactJson from 'react-json-view'

// lazy load instead
import Loadable from 'react-loadable'
const ReactJson = Loadable({
  loader: () => import('react-json-view'),
  loading: LoadingComponent, // TODO
})

I think a good first component to code split out could either be <ListItem> or the default import from react-json-view, since that component is not visible until a user expands the list item to view payload data. bundlephobia reports that react-json-view is 36.1kB minified and gzipped, so reducing that size from the initial bundle would likely improve load/parse times.
Some other places where code-splitting could be worth investigating to see if there are potential bundle size wins:

Split the vendor libraries into their own chunk. This would contain 3rd party libraries and would be cached in the user's browser unless they emptied their cache or smee shipped a new version of the vendor bundle (updated libraries), which could improve loading time.
Explore lazy loading icons in the <EventIcon>'s icon map. I'm guessing the icons are pretty small, but maybe loading them only when they are needed or at some point after the initial bundle has been downloaded could be a minor performance improvement?

https://github.com/probot/smee/blob/79cfefe731d23b68abed09ca7d67daa37897f628/server/src/components/EventIcon.js#L24-L46
One open question would be around react-loadable's loading component and what that would look like in the context of where different app components are being loaded dynamically, but I'm probably getting ahead of myself of that one. 😅
Would you be interested in pull requests to help with this enhancement? Any thoughts around this?

Still relevant - looking for input! 😄

I’d say it depends on how much complexity is added to the project. I agree that 1.43 MB is a lot but maybe there are other ways to reduce the size, and maybe it’s not a problem for users of smee.io as it’s mostly developers

maybe it’s not a problem for users of smee.io as it’s mostly developers

That's a good point. This would definitely be a for-fun thing for me to help improve bundle sizes / performance, but I agree that it is likely not mission critical in the same way small bundle sizes would be for other applications.
Happy to PR a before and after by introducing code splitting to get a sense of the tradeoff between complexity and bundle size improvements for others to take a look. 😄

If it’s for excercise, then by all means, send pull requests, just please don’t be mad if we don’t accept it because our main objective is to keep the project easy to maintain, it's only a side project.
I say "we" but I don’t want to take any credit, I didn’t build any of this, just helping out myself :)

Most definitely, no offense, just looking to engage in open source projects that I use / enjoy and see what I can help with from both practical and nice-to-have standpoints. ❤

If it’s for exercise, then by all means, send pull requests,

I echo this. I welcome the improvement, but don't know enough about what kind of maintenance issues this might introduce, and it's not clear if code-splitting would really save us a whole lot here. i wonder if the bigger savings would come from cutting down the overall bundle size (tree-shaking, minification, removing dependencies, etc.) and seeing if it's an acceptable size after that?

I'm a little sad about that 1.43mb - its way way more than it should be, and while code splitting will help, it's not really fixing the problem. 10000% feel free to try it out for your own sake, but I don't think its the right approach to fix this.
I ran this through webpack-bundle-analyzer, and here's what it looks like:

You can see that a lot of the size comes from highlight.js, which is way overkill considering we're using it on static text. react-octicons is also gigantic; we should switch to the officially supported library. There's a lot more to learn from this, but that's my immediate takeaway.

I think a lot of the underlying problems of this have been addressed in #86, and if there are further improvements to lowering bundle size, let's open them up in separate issues. Closing this one. ❤


Add Board, GPIO, AIO, PWM, I2C, SPI, UART, Sensor API, and update OCF API

Added the general structure for the Board API, including board definitions for Arduino 101 and FRDM-K64F. Added GPIO, AIO and PWM APIs. Added full Web IDL also for I2C, SPI and UART API, but text descriptions are missing.
Added Sensor API, based on W3C Generic Sensor (with approved changes).
Fixed incorrect descriptions of Promises in the OCF Client API (the Web IDL has been correct). Fixes #7.

@gabrielschulhof PTAL

These changes are needed ASAP. I will add the missing descriptions for I2C, SPI and UART in a later PR.

@poussa @gabrielschulhof PTAL
added a new commit to the 10 days old PR


Performance degradation

Not really a bug, but performance got measurable worse with versions 1.5.0 and 1.8.1:

test
viz 1.0.0
viz 1.5.0
viz 1.8.1

simple
3.7
22.9
51.7

attributes
4.8
26.3
54.2

polygons
1.9
14.7
39.4

records
1.7
22.8
40.2

big
47.9
216.6
206

loc
3.4
20
45.3

cluster
5.9
31.2
53.3

Tests are run on a V8 engine using J2V8.
Numbers are milliseconds averaged over many runs.
Do you have any idea what could be the cause of this?

@nidi3 I'm interested to see if d3-graphviz add a measurable performance penalty to viz.js. Would it be possible for you to share your benchmark code?

öm, d3-graphviz has nothing to do with it.
Here's the link to my performance test: https://github.com/nidi3/graphviz-java/blob/master/src/test/java/guru/nidi/graphviz/PerformanceTest.java

@nidi3 I know. I just wanted to use the same benchmarks. Thanks.

Ah, I see. Would be interesting to see if you can confirm/reject my measurements.

Since v1.5.0, a new Emscripten module instance is created for every call to Viz(). I assume this would be the cause of worse average performance over several runs. One reason for doing this was that certain errors could leave the module in a state where it wouldn’t be able to render further graphs. Perhaps it’s time to revisit the fix.

Thanks for the answer. As I said, it's not a problem for me, but any speed improvement will surely be appreciated.
Interestingly, it seams that J2V8 and graphviz-java are also getting slower in newer versions, I guess for the same reasons (trading correctness/stability for speed).

We should also include the wasm builds in the performance comparisons.

Version 2.0.0 brought a HUGE improvement:

test
viz 1.0.0
viz 1.5.0
viz 1.8.1
viz 2.0.0

simple
3.7
22.9
51.7
2.2

attributes
4.8
26.3
54.2
2.6

polygons
1.9
14.7
39.4
1.4

records
1.7
22.8
40.2
1.4

big
47.9
216.6
206
19.8

loc
3.4
20
45.3
2.3

cluster
5.9
31.2
53.3
3.2

really great work!


use ssh instead of telnet

The problem
Telnet is insecure and is easier to compromise. It does not use encryption and has not way of verifying identity
The solution
The best solution would to use ssh. ssh is much more secure and would make it harder for anyone to compromise the connection. It also has the benefit of verifying that the identity of the sever has not changed which would protect against someone hijacking the URL.
Temporary workarounds
You should be able to run telnet over ssh so that it is harder to compromise

I think Mosh should be recommended since its lower latency significantly improves the UX of interactive CLI applications.

I've never heard of it but it looks like it could be a option. The only downside is that it is not installed by default in most cases

It initializes sessions using SSH, so for regular remote shell operation is is purely opt-in.
I think connecting Mosh to mapscii isn't as straightforward though, as AFAIK you wouldn't want a full shell running "in between"?

I agree with the "unsecureness" in terms of not encrypted text traffic - though in this specific (arty) use case, it was about demonstrating what the telnet protocol has to offer "nowadays" vs. no real security impact :)
Besides that, there was a ssh based test implementation back in the prototype days but the upstream lib implementing the server lacked some core features like supporting raw parsing to support mouse interaction. The current telnet sever is based on telnet - definitely worth reevaluating the current state of ssh2 libraries to offer a ssh access as well.

Telnet is not shipping with macOS for five years now. SSH would be greatly appreciated.

With libssh, this could be done quite easily, I think.


Bump cibuildwheel to latest version

Summary
The linux wheels we publish to PyPI at release time are based on the
manylinux1 [1] and manylinux2010 [2] packaging specifications. To build
these wheels we use the manylinux2010 docker image [3] which is based on
centos 6. Centos 6 recently went end of life and the yum repositories
for it were deleted and an archive url for the yum repositories were
added. However, until the latest manylinux2010 docker image, the images
were configured to use the old url from when the distro was still
supported by upstream. This causes issues when trying to setup a build
[4] because yum will error early during the initial job setup. To fix
this we need to ensure we're using the latest version of the manylinux
2010 docker image, we can either do this manually (as was done in
Qiskit/retworkx#212 and Qiskit/qiskit-aer#1066) or just update the
cibuildwheel version we're using to the latest release 1.7.1 which
bumped the pinned manylinux2010 docker image used to one with updated
yum urls (see joerick/cibuildwheel#472). This commit bumps the
cibuildwheel version to the latest release so that when it is time to
release terra 0.17.0 the jobs will work as expected.
Details and comments
[1] https://www.python.org/dev/peps/pep-0513/
[2] https://www.python.org/dev/peps/pep-0571/
[3] https://github.com/pypa/manylinux
[4] pypa/manylinux#836

adding on hold while the DNM test commit is on the branch. Once the job is confirmed working with the new version I'll revert the test commit and remove the on hold label.

The wheel jobs worked: https://dev.azure.com/qiskit-ci/qiskit-terra/_build/results?buildId=22174&view=logs&jobId=8cafc477-7e80-59f4-bd23-af61455d1e35 it looks like it doesn't build manylinux1 wheels anymore, but that's probably ok we don't really need to support back to centos5 anymore and aer is manylinux2010 only anyway.


Feature request:

Is your feature request related to a problem? Please describe.
You have to start Knora in addition to starting Kuirl
Describe the solution you'd like
a docker-compose.yml which pulls a latest Knora and a latest Kuirl docker image from dockerhub, this file should already have all environments set so that all parts of the stack work together without any necessary further actions.. This would enable the user to start Knora, a triplestore and Kuirl and possible Sipi and maybe a key-value store with only one comment.
Describe alternatives you've considered
I don't know of any alternative, but maybe Kuirl can be added to the docker-compose file in the Knora - Repo?

Thank you @janCstoffregen for your input. I think, we will integrate Kuirl into the docker-compose file of Knora one day.

I began working on something, but it is not finished yet: https://github.com/dasch-swiss/knora-docker-app. It will use the new Dockerapp feature.
The idea is to be able to start only the services which are needed for ones work. For example, if someone wants to work on Knora-API, then he would start the whole stack minus the Knora-API. The same if someone wants to work on Kuirl, then he would need the whole stack minus Kuirl.

ok, then it's already on the way, I'm looking forward to it!
The Dockerfile for an angular app is very simple btw, just compile it with ng build and then copy the dist to a proxy - docker - image.
You don't have to build the angular app in the docker image, that causes lot's of extra stress because the yarn / npm packages have different problems on a Dockerfile with a different OS underneath, just build it locally on your macbook, generate the docker image and push it to dockerhub once in a while.
That's my experience at least, please correct me when I'm wrong, I know it would be nicer in an automated way but it does not work for me without extra effort at the moment, so it does not save time in my case in the end.
I don't know the new Dockerapp feature and will check it out, thank you for the hint!

We build all our Angular apps automatically through docker. You can take a look at https://github.com/dhlab-basel/Kuirl/blob/master/Dockerfile
Every time we set a tag on this repository, Dockerhub starts building the image into this repository: https://cloud.docker.com/u/daschswiss/repository/docker/daschswiss/knora-app-web

This requires that you can provide the config to your application at runtime and not buildtime. We build the app once and then deploy it in different environments.

I tried the "build once deploy anywhere" way, André told me that you're successfully doing this, I'll have to have a look, when I tried it, I stored the different configurations in the asset folder, sometimes the environment variables were not loaded fast enough, I have to check out your solution!
I only checked out the dhlab docker hub, thank you for pointing this repo out, then it's already available as a docker image as well, that's quite nice.
I'll wait for the dockerapp then, thank you very much, please feel free to close this issue if it is at the wrong repo, I know now where to check the status of this.

I think we can close this issue


IOError: [Errno 2] No such file or directory: '/sys/fs/cgroup/blkio/blkio.throttle.io_service_bytes'

docker is running, yet ctop fails to start
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/ctop", line 4, in <module>
    cgroup_top.main()
  File "/usr/lib64/python2.7/site-packages/cgroup_top.py", line 887, in main
    collect(measures)
  File "/usr/lib64/python2.7/site-packages/cgroup_top.py", line 349, in collect
    cur[cgroup.name]['blkio.throttle.io_service_bytes'] = cgroup['blkio.throttle.io_service_bytes']
  File "/usr/lib64/python2.7/site-packages/cgroup_top.py", line 245, in __getitem__
    with open(path) as f:
IOError: [Errno 2] No such file or directory: '/sys/fs/cgroup/blkio/blkio.throttle.io_service_bytes'

Hi,
I'll try to reproduce it this week-end. Which distribution, kernel and docker version are you running ?

gentoo
kernel 3.18.24
Docker version 1.9.1, build a34a1d5

Hum... That's weird. Maybe some kernel version. Can you run a ls /sys/fs/cgroup/blkio/ as well as one of the sub-folders ? Ctop first checks thats the controller exists, then lists containers in the controller before attempting to read it.
In last resort, I'll just add a "if" to fix the effect but I'd rather understand what's going on.

# ls /sys/fs/cgroup/blkio/
blkio.reset_stats      cgroup.procs          docker             release_agent
cgroup.clone_children  cgroup.sane_behavior  notify_on_release  tasks
# ls /sys/fs/cgroup/blkio/docker/
blkio.reset_stats  cgroup.clone_children  cgroup.procs  notify_on_release  tasks

Looks like a broken blkio controller on your system. I've pushed a blkio specific workaround on https://github.com/yadutaf/ctop/tree/jt-broken-blkio. Can you test and confirm it works or report any other broken controller ?

Looks like a broken blkio controller on your system.

What do you mean by broken? What is supposed to create that file? Ctop doesn't document the required kernel features.

I've pushed a blkio specific workaround on

That works, but I think this might be a documentation issue.

Thanks for your test, I'll merge the branch.
The "files" are managed by the kernel, in the cgroup controllers, like the pseudo-files in /proc. ctop in itself does not require any of these files BUT it assumes that, if the controller is active and marked as available on the system, it should show some well documented pseudo-files. For some reason, this system appears to report the blkio controller as available and enabled but fails to report any blkio status files.

For some reason, this system appears to report the blkio controller as available and enabled but fails to report any blkio status files.

Is it documented anywhere that the files can be assumed to exist?

Merged. Thanks for the feedback.


Build fails on i386: error[E0512]: cannot transmute between types of different sizes, or dependently-sized types

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> /wrkdirs/usr/ports/devel/pylyzer/work/pylyzer-0.0.51/cargo-crates/rustpython-ast-0.3.0/src/impls.rs:65:1
   |
65 | static_assertions::assert_eq_size!(crate::ExceptHandler, [u8; 64]);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `generic::ExceptHandler` (288 bits)
   = note: target type: `[u8; 64]` (512 bits)
   = note: this error originates in the macro `static_assertions::assert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0512`.
error: could not compile `rustpython-ast` (lib) due to 1 previous error

log

Fixed on main by #111, yet to be released (see also #114)


Show tooltip using a key

Hi,
Is it possible to show the tooltip at a given location using a key?
Eg :

FloatingActionButton(
    key: _navigation
    ...

And then do tooltip.show(_navigation) ? That would be very helpful :) Keeping the BuildContext is cumbersome in some cases.

Checkout the branch 'newVersion' and tell us what you think about this approach?

I looked at the branch but I don't see any difference in the readme doc? Where should I look at?
Thanks for this plugin by the way :) I'm sending PR and issues but it's working great already :)

Hi, yeah, sorry, we didn't have time yet to update the reamdme, I recomment to check out the example.
I will check your PR now, thanks


JSON parsing wasn’t giving me any feedback. Unsure if it’s user error or system error.

This is still an issue i believe. For modelling we should get feedback in the data preview since we display the error from that request. But if there are dashboards from this they will go into error state if the data doesnt match the expressions used in the SQL.
Especially in cloud with previous non-error state retained in reconciler, the model would update since reconciler wont error but dashboard could error out.


onClone event

Hi, I want to ask, is there any way to detect that item has been cloned into tree from another tree? Something like onClone event? I know that there is dropped event, but it doesn't fire on drop from another tree :-(

@Pirozek I create a pull request supporting this issue. #747

@cavarzan your PR is failing checks, can you fix it?


This library is supported for all platforms

Hi
I am encrypted image  file in objectiveC using the below code
int blockSize = 32 * 1024;

NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"download" ofType:@"jpeg"];
NSInputStream *cryptedStream = [NSInputStream inputStreamWithFileAtPath:path];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* newDirPath = [documentsDirectory<EMAIL_ADDRESS>

NSOutputStream *decryptedStream = [NSOutputStream outputStreamToFileAtPath:newDirPath append:NO];

[cryptedStream open];
[decryptedStream open];
decryptor=nil;
// We don't need to keep making new NSData objects. We can just use one repeatedly.
data = [NSMutableData dataWithLength:blockSize];

dispatch_block_t readStreamBlock = ^{
    [self->data setLength:blockSize];
    NSInteger bytesRead = [cryptedStream read:[self->data mutableBytes] maxLength:blockSize];
    if (bytesRead < 0) {
        // Throw an error
    }
    else if (bytesRead == 0) {
        [self->decryptor finish];
    }
    else {
        [self->data setLength:bytesRead];
        [self->decryptor addData:self->data];
        NSLog(@"Sent %ld bytes to decryptor", (unsigned long)bytesRead);
    }
};

decryptor = [[RNEncryptor alloc] initWithSettings:kRNCryptorAES256Settings
                                         password:@"blah"
                                          handler:^(RNCryptor *cryptor, NSData *data) {
                                              NSLog(@"Decryptor recevied %ld bytes", (unsigned long)data.length);
                                              [decryptedStream write:data.bytes maxLength:data.length];
                                              if (cryptor.isFinished) {
                                                  [decryptedStream close];
                                                  // call my delegate that I'm finished with decrypting
                                              }
                                              else {
                                                  // Might want to put this in a dispatch_async(), but I don't think you need it.
                                                  readStreamBlock();
                                              }
                                          }];

// Read the first block to kick things off
readStreamBlock();

I sent the above encrypted image file to C# for decryption but the image file is not decrypted same as I try to C# encrypted image file to decrypted in ObjectiveC But it is not happened
In C#
aesMode = AesMode.CTR;
options = Options.V0;
hmac_includesHeader = false;
hmac_includesPadding = true;
hmac_algorithm = HmacAlgorithm.SHA1;
Praveen, 20:29
private byte[] encryptAesEcbNoPadding (byte[] plaintext, byte[] key)
{
byte[] encrypted;
		var aes = Aes.Create();
		aes.Mode = CipherMode.ECB;
		aes.Padding = PaddingMode.None;
		var encryptor = aes.CreateEncryptor(key, null);

		using (var ms = new MemoryStream())
		{
			using (var cs1 = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) {
				cs1.Write(plaintext, 0, plaintext.Length);
			}
			encrypted = ms.ToArray();
		}
		return encrypted;
	}

Thanks inadvance

Hi,
Kindly give me reply of the above query.Here we are waiting for the above query reply.It's very important for us.
Thanks InAdvance

RNCryptor is a specific encryption format. It is not a general-purpose library for handling custom formats like your C#. If you plan to use the RNCryptor format on both platforms, see RNCryptor-cs for a C# implementation.
If you need the C# format as given, then you'll need to reimplement in Objective-C. I can implement this for you on a consulting basis if you need this service.


Migrate to GitHub Actions

Migrate to GitHub Actions.
This replaces #71.
Travis CI has a new pricing model which places limits on open source.

https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
https://www.jeffgeerling.com/blog/2020/travis-cis-new-pricing-plan-threw-wrench-my-open-source-works

Many projects are moving to GitHub Actions instead, including Jazzband projects:

https://github.com/orgs/jazzband/projects/1
https://github.com/jazzband-roadies/help/issues/206

This is based on https://github.com/jazzband/contextlib2/pull/26.
It drops support for Python 2.7 and 3.5 because GitHub Actions doesn't fully support them. They're EOL anyway.
Python 3.8  and 3.9 support is also added.
No more mention of Travis CI in the codebase:
TODO:

[x] @jezdez to add JAZZBAND_RELEASE_KEY to the repo secrets.

Now I've released 2.0.0. Thanks for your cooperation!

Now I've released 2.0.0. Thanks for your cooperation!


After installing Simple DNSCrypt I have no connection. I had previously set my pc up as a fixed ip so I could do some port forwarding. Running the troubleshooter tells me the DHCP is off and enabling it resets my static IP. So the question is can I have a fixed IP and run Simple DNSCrypt? If so what am I doing wrong?
Edit: Also it doesn't seem DNSSEC is working at all, every test says fail. Not sure why that would be either, have it set to automatic and only servers with DNSSEC support (as well as no logging/no filter).

Sorry all. My bad. Seems you have to select your network adapters/connections in app then hit apply. Voila, static ip and DNSSEC all working. Closed!


fix #200, wiki links with anchor reference

update test.
Not critical for most since no one complained about it. I only noticed it because I am testing the plugin.

Added fixes for #203 and #204

PHP Markdown Extra style footnotes added. I did not include this extension in the ALL extensions flags to avoid having to potentially rework existing tests. Anyone who wants this extension will need to add the flat to Extensions.ALL.
Tests added for both with and without extension parsing of markdown with footnotes.
I also bit the bullet and ran the IntelliJ reformat code command on the parser code so that it is uniformly formatted and without trailing blanks otherwise every commit to master I would have to go through the chunks and discard format only ones.

Changed footnotes to be MultiMarkdown style. Footnote labels now allow alphanumeric, dash, dot, underscore. The rendered footnotes are sequential integers as before.
Tests updated.
This fixes #140.


brew pull --bottle sometimes removes mac bottles

Took me some time to find out what is going on here. Sometimes, the mac bottles get removed when I do a brew pull --bottle.
This one is fine:
https://github.com/Linuxbrew/homebrew-core/pull/8086
This one is not:
https://github.com/Linuxbrew/homebrew-core/pull/8076
The difference is that I ran http://bot.linuxbrew.sh/ci-upload/github.com/Linuxbrew/homebrew-core/pull/8076?keepold=1 on the second one, because the initial bottle upload failed.
Comparing bottles commits:
https://github.com/LinuxbrewTestBot/homebrew-core/compare/Linuxbrew:master...pr-8086.patch
https://github.com/LinuxbrewTestBot/homebrew-core/compare/Linuxbrew:master...pr-8076.patch
shows the following diff for the second bottle (which is wrong):
diff --git a/Formula/rclone.rb b/Formula/rclone.rb
index 829f110d70..1d9fb223f1 100644
--- a/Formula/rclone.rb
+++ b/Formula/rclone.rb
@@ -8,9 +8,7 @@ class Rclone < Formula

   bottle do
     cellar :any_skip_relocation
-    sha256 "c5a24cebbff63e768439a63db1e824e2d68b3d1f1cb4b8721bfeece777756aac" => :high_sierra
-    sha256 "f5bd438d038265787effce38849c9b9d2b390516a9aac38b3130e2f7dd5feafb" => :sierra
-    sha256 "098a51e85a1bcaeac18295e55678f1d5345fbbbb44875b6320659f540650eb97" => :el_capitan
+    sha256 "8b91fea325d5d57a384c9ed3943dfb1868add70ef7efd4c534b5440f1d0db336" => :x86_64_linux
   end

This means something goes wrong when the bottle is being re-uploaded.
@sjackman Maybe you have an idea? I already had a hard time finding this out, maybe you can give me a hint at what I should look next.

This diff of rclone.rb looks like it was run without ?keepold=1, which would remove the macOS bottles. Is that the case?

Ok my bad, I was using keepold instead of keep-old ... not sure why I have this typo and never noticed. Closing, not a bug.


Power consumption negative

Describe the bug
Especially in the morning, when the second inverter is not active yet, I get negative power consumption. The panels for the second inverter (ID 2) are southward facing, so it switches on later than then main inverter (ID 1).
Expected behavior
Power consumption should always be positive
Screenshots
Grafana dashboard

Logs
Not related but anyway:
Logger: custom_components.solaredge_modbus_multi
Source: helpers/update_coordinator.py:229
Integration: SolarEdge Modbus Multi Device (documentation, issues)
First occurred: 19. Juni 2023 um 23:11:56 (1 occurrences)
Last logged: 19. Juni 2023 um 23:11:56

Error fetching SolarEdge Coordinator data: Could not open Modbus/TCP connection to <IP_ADDRESS>

Debug Logs
Home Assistant (please complete the following information):

Home Assistant Core Version: 2023.6.2
solaredge-modbus-multi Version: 2.3.3

Additional context
I have 2 inverters so I combine the AC value like that:
`

name: "Power - AC Total"
unique_id: "power_ac_total"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
icon: "mdi:solar-power"
state: "{{ float(states('sensor.solaredge_modbus_i1_ac_power'), 0) + float(states('sensor.solaredge_modbus_i2_ac_power'), 0) }}"          `

Power consumption:
`

name: "Power - Consumption"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
# The net of inverter and grid power
state: "{{ float(states('sensor.power_ac_total'), 0) - float(states('sensor.solaredge_modbus_m1_ac_power'), 0) }}"`

Template results are not useful for an issue report. I need to see the actual sensor values, not the calculated results.
Upload a diagnostic file when the problem is occurring. Not enough info about your system.

Readings of both inverters. Looks like no. 1 is returning negative values during that time.

config_entry-solaredge_modbus_multi-b86bc24f1ca70258f7ffd41889955498.json.txt
Diagnostics

It appears you have a battery: negative inverter power AC/DC values are valid in certain battery charging conditions.
Export+Import meters will return positive power values during export and negative values during import.

Thanks, so how do I get the correct AC value (PV generation) and house consumption (power consumption) then?

I can't help with that: I don't have a system with batteries personally.

You might try searching for or asking in discussions, or look at the templates that have been contributed in the wiki to see if they apply to your situation.

This issue was opened as power should always be positive, but that's not the case: power can be positive or negative depending on what it's indicating. So as far as an issue report this is resolved.
Template stuff I would defer to discussions where someone who has experience with calculations related to batteries might be able to help. Again, I don't have batteries, so I can't really help with anything battery related outside the integration.
This discussion has a lot of battery related template stuff: https://community.home-assistant.io/t/solaredge-modbus-configuration-for-single-inverter-and-battery/464084

When sensor.solaredge_i1_ac_power is negative - i.e. power is flowing into the inverter (to the battery) in a single inverter system that power must be coming from the grid - so sensor.solaredge_m1_ac_power will be positive. And the net of these 2 cancel each other out and you are left with the load consumption.
In your case, with 2 inverters, the power that is flowing into inverter 1 battery could be (a looks like it is in your graph) coming from inverter 2. The net of inverter 1 AC power, inverter 2 AC power and the grid meter should all still work out to be the load consumption though. What you're likely seeing though is spikes due to different sampling frequency / times to the 2 inverters. This happens, to a lesser extent, with single inverter / single meter systems where the meter and inverter registers are sampled milliseconds apart - so you do not get an atomic snapshot of the system state. So, you're best bet is probably to filter / smooth the raw data from each inverter before using it in the calculations.

I'm not entirely sure what to make of the first part of the graph where the two inverters are showing opposite DC power: maybe the power from I1 is being used to charge the battery on I2? According to the diagnostic file there's only one battery and it's attached to I2.


SQLite3 Database Closed Error

Appears to be a race condition when multiple requests are made to the SQLiteDriver at the same time

Ensure that concurrent calls do not cause one to accidentally close a connection on another (may also want to prepare statements)


Gauge support for Prometheus

Gauge should support port status/counters and flow data, similar to what InfluxDB does.
This would enable a deployment to run entirely on Prometheus without InfluxDB.

https://github.com/REANNZ/faucet/commit/64ecd8aa7ce79109a0b4dc99506175bc92863db6 et al.


dnsmasq: failed to create inotify for /etc/resolv.conf: No space left on device

Operating system
Synology DSM
Description
Planed to run a local ubuntu iso in Synology, but the container failed to start.
Docker compose
services:
qemu-ubuntu:
container_name: qemu-ubuntu
image: qemux/qemu-docker
restart: unless-stopped
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
volumes:
- /volume1/docker/qemu-ubuntu/storage:/storage
- /volume1/OS/ubuntu-24.04-desktop-amd64.iso:/boot.iso
environment:
DISK_SIZE: "128G"
RAM_SIZE: "8G"
CPU_CORES: "4"
stop_grace_period: 2m
Docker log
dnsmasq: failed to create inotify for /etc/resolv.conf: No space left on device
❯ ERROR: Failed to start dnsmasq, reason: 0
❯ Starting QEMU for Docker v5.08...
❯ For support visit https://github.com/qemus/qemu-docker
❯ CPU: Intel Core TM i5 8600T CPU | RAM: 49/63 GB | DISK: 633 GB (btrfs) | HOST: 4.4.302+...
dnsmasq: failed to create inotify for /etc/resolv.conf: No space left on device
❯ ERROR: Failed to start dnsmasq, reason: 0
❯ Starting QEMU for Docker v5.08...
❯ For support visit https://github.com/qemus/qemu-docker
❯ CPU: Intel Core TM i5 8600T CPU | RAM: 49/63 GB | DISK: 633 GB (btrfs) | HOST: 4.4.302+...
dnsmasq: failed to create inotify for /etc/resolv.conf: No space left on device
❯ ERROR: Failed to start dnsmasq, reason: 0
❯ Starting QEMU for Docker v5.08...
❯ For support visit https://github.com/qemus/qemu-docker
❯ CPU: Intel Core TM i5 8600T CPU | RAM: 49/63 GB | DISK: 632 GB (btrfs) | HOST: 4.4.302+...
Screenshots (optional)
No response

@kroese Thank you so much. I followed the steps and it worked.


server: fix panic after delete store.

Fix #563
Using new(StoreStatus) causes the inner filed unset.

LGTM


Add license file

every repo requires a license file
this is the default very permissive MIT license (from a GitHub template) with no modifications

merging this now, as it can always be changed later if need be.