[web] CanvasKit crash after many TextPainter.layout() calls

Steps to Reproduce

Run flutter create bug.
Update the files as follows:

Add provider to pubspec .yaml:

dependencies:
  flutter:
    sdk: flutter
  provider: ^5.0.0

Replace main.dart with this code

import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:provider/provider.dart';

const totalSprites = 400;

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  final myPainter = MyCustomPainter();
  final startTime = DateTime.now();

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
        create: (_) => MyCustomPainter(),
        child: Scaffold(
          appBar: AppBar(
            title: Text(widget.title),
          ),
          body: Center(
              child: Consumer<MyCustomPainter>(builder: (context,painter,_) =>
            Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Expanded(child: CustomPaint(painter: painter, child:Center())),
                Text('Running time:'),
                Text(
                  DateTime.now().difference(startTime).inSeconds.toString(),
                  style: Theme.of(context).textTheme.headline4,
                ),
              ],
            ),
          ),
        )));
  }
}

class MyCustomPainter extends ChangeNotifier implements CustomPainter {

  late Ticker _ticker;

  final sprites = [
    for (var i=1; i<=totalSprites; i++) MySprite(),
  ];

  MyCustomPainter() {
    _ticker = Ticker((_) { notifyListeners(); });
    _ticker.start();
  }

  @override
  void paint(Canvas canvas, Size size) {
    for (final s in sprites) {
      s.draw(canvas);
    }
  }

  @override
  bool? hitTest(Offset position) => null;

  @override
  SemanticsBuilderCallback? get semanticsBuilder => null;

  @override
  bool shouldRebuildSemantics(covariant CustomPainter oldDelegate) => shouldRepaint(oldDelegate);

  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) => true;

}

class MySprite {

  //  Originally this drew an animated box with a number.
  //  But putting the graphics on the screen is not necessary to
  //  reproduce the bug.
  void draw(Canvas canvas) {
    var span = TextSpan(text: 'X', style:TextStyle(fontSize: 8));
    var tp = TextPainter(text: span,
        textAlign: TextAlign.center,
        textDirection: TextDirection.ltr)..layout();
  }

}

Run the program on Chrome with the canvaskit (default) renderer

Expected results:
Counter at the bottom of the screen increments once per second indefinitely.
Actual results:
Counter stops around 30 to 35, and the console log starts showing repeated CanvasKit exceptions

Logs

P:\FlutterProjects\canvaskitbug>flutter run -d chrome --verbose
[  +80 ms] executing: [P:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +468 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] 02c026b03cd31dd3f867e5faeb7e104cce174c5f
[        ] executing: [P:\flutter/] git tag --points-at 02c026b03cd31dd3f867e5faeb7e104cce174c5f
[  +72 ms] Exit code 0 from: git tag --points-at 02c026b03cd31dd3f867e5faeb7e104cce174c5f
[   +1 ms] 2.2.1
[   +6 ms] executing: [P:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +57 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [P:\flutter/] git ls-remote --get-url origin
[  +49 ms] Exit code 0 from: git ls-remote --get-url origin
[   +1 ms] https://github.com/flutter/flutter.git
[ +141 ms] executing: [P:\flutter/] git rev-parse --abbrev-ref HEAD
[  +57 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] stable
[  +82 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +53 ms] executing: p:\programs\AndroidSDK\platform-tools\adb.exe devices -l
[  +45 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +70 ms] executing: p:\programs\AndroidSDK\platform-tools\adb.exe devices -l
[  +11 ms] Skipping pub get: version match.
[ +115 ms] Generating P:\FlutterProjects\canvaskitbug\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +69 ms] List of devices attached
           emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1
[  +53 ms] Launching lib\main.dart on Chrome in debug mode...
[  +18 ms] List of devices attached
           emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1
[ +116 ms] Updating assets
[  +83 ms] Waiting for connection from debug service on Chrome...
[ +106 ms] <- reset
[   +6 ms] P:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
P:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root P:\flutter\bin\cache\flutter_web_sdk/
--incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true
--output-dill C:\Users\brad\AppData\Local\Temp\flutter_tools.ea72a1d5\flutter_tool.4ce9defc\app.dill --libraries-spec
file:///P:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages
P:\FlutterProjects\canvaskitbug\.dart_tool\package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts
--track-widget-creation --filesystem-root C:\Users\brad\AppData\Local\Temp\flutter_tools.ea72a1d5\flutter_tools.473a1ec
--filesystem-scheme org-dartlang-app --initialize-from-dill build\b1b715402d823b7fd5c2b68d2edcb2ce.cache.dill.track.dill --platform
file:///P:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill --sound-null-safety
[   +8 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+17169 ms] Waiting for connection from debug service on Chrome... (completed in 17.3s)
[   +1 ms] Synced 28.4MB.
[        ] <- accept
[        ] Caching compiled dill
[+1086 ms] [CHROME]:
[   +1 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:56823/devtools/browser/ac7b0ee8-ee82-45e8-993d-b9c37674cc8e
[ +437 ms] DwdsInjector: Received request for entrypoint at http://localhost:56793/main_module.bootstrap.js
[  +12 ms] MetadataProvider: Loading debug metadata...
[  +21 ms] MetadataProvider: Loaded debug metadata (sound null safety)
[  +10 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:56793/main_module.bootstrap.js
[+1806 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: true
[  +71 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:57668/iRKGFYfb4oc=/ws

[  +32 ms] This app is linked to the debug service: ws://<IP_ADDRESS>:57668/iRKGFYfb4oc=/ws
[   +8 ms] Debug service listening on ws://<IP_ADDRESS>:57668/iRKGFYfb4oc=/ws
[        ]  Running with sound null safety
[   +4 ms]   To hot restart changes while running, press "r" or "R".
[        ] For a more detailed help message, press "h". To quit, press "q".
[+35600 ms] null
[   +7 ms] CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
           RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[ +547 ms] ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
[   +5 ms] The following NativeJavaScriptObject object was thrown during paint():
[   +6 ms]   RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +2 ms] The relevant error-causing widget was:
[   +1 ms]   CustomPaint file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:51:33
[        ] When the exception was thrown, this was the stack:
[        ]<EMAIL_ADDRESS>149:56                                                  Ma
[   +1 ms]<EMAIL_ADDRESS>219:103                                                 d
[   +1 ms]<EMAIL_ADDRESS>1:1
Paragraph$layout
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/canvaskit/text.dart 573:18       layout
[        ] packages/flutter/src/painting/text_painter.dart 578:5                                                            layout
[   +3 ms] packages/canvaskitbug/main.dart 107:44                                                                           <fn>
[        ] packages/canvaskitbug/main.dart 107:44                                                                           draw
[        ] packages/canvaskitbug/main.dart 80:8                                                                             paint
[        ] packages/flutter/src/rendering/custom_paint.dart 563:12
[_paintWithPainter]
[   +3 ms] packages/flutter/src/rendering/custom_paint.dart 605:7                                                           paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[        ] packages/flutter/src/rendering/box.dart 2795:14
defaultPaint
[        ] packages/flutter/src/rendering/flex.dart 1078:7                                                                  paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[   +3 ms] packages/flutter/src/rendering/object.dart 187:12
paintChild
[   +2 ms] packages/flutter/src/rendering/shifted_box.dart 79:14                                                            paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[        ] packages/flutter/src/rendering/box.dart 2795:14
defaultPaint
[        ] packages/flutter/src/rendering/custom_layout.dart 409:5                                                          paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[        ] packages/flutter/src/rendering/proxy_box.dart 140:14                                                             paint
[        ] packages/flutter/src/material/material.dart 551:11                                                               paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[   +2 ms] packages/flutter/src/rendering/proxy_box.dart 140:14                                                             paint
[        ] packages/flutter/src/rendering/object.dart 394:12
pushLayer
[        ] packages/flutter/src/rendering/proxy_box.dart 1922:14                                                            paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[        ] packages/flutter/src/rendering/proxy_box.dart 140:14                                                             paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[        ] packages/flutter/src/rendering/object.dart 187:12
paintChild
[        ] packages/flutter/src/rendering/proxy_box.dart 140:14                                                             paint
[        ] packages/flutter/src/rendering/object.dart 2317:7
[_paintWithContext]
[   +4 ms] packages/flutter/src/rendering/object.dart 139:10
           _repaintCompositedChild
[        ] packages/flutter/src/rendering/object.dart 100:5
           repaintCompositedChild
[   +1 ms] packages/flutter/src/rendering/object.dart 975:29
flushPaint
[        ] packages/flutter/src/rendering/binding.dart 464:19
drawFrame
[        ] packages/flutter/src/widgets/binding.dart 876:13
drawFrame
[        ] packages/flutter/src/rendering/binding.dart 328:5
           [_handlePersistentFrameCallback]
[        ] packages/flutter/src/scheduler/binding.dart 1144:15
           [_invokeFrameCallback]
[        ] packages/flutter/src/scheduler/binding.dart 1082:9
handleDrawFrame
[        ] packages/flutter/src/scheduler/binding.dart 998:5
[_handleDrawFrame]
[        ] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 963:13  invoke
[        ] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 152:5
invokeOnDrawFrame
[        ] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine.dart 262:45                      <fn>
[        ] The following RenderObject was being processed when the exception was fired: RenderCustomPaint#3bae3
relayoutBoundary=up3:
[        ]   creator: CustomPaint ← Expanded ← Column ← Consumer<MyCustomPainter> ← Center ← _BodyBuilder ←
[        ]     MediaQuery ← LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ←
[        ]     DefaultTextStyle ← AnimatedDefaultTextStyle ← ⋯
[        ]   parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight (can use size)
[        ]   constraints: BoxConstraints(0.0<=w<=929.0, h=860.0)
[        ]   size: Size(929.0, 860.0)
[        ] This RenderObject had the following child:
[        ]     child: RenderPositionedBox#33b78 relayoutBoundary=up4
[   +3 ms] ════════════════════════════════════════════════════════════════════════════════════════════════════
[+3026 ms] null
[   +2 ms] CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
           RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +8 ms] null
[   +5 ms] CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
           RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +7 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +8 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +6 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +10 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +14 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +15 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +16 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +15 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +14 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +15 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +16 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +16 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +18 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +16 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +11 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +14 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[   +7 ms] null
[   +1 ms] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
[  +10 ms] null
[        ] Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

Analyzing canvaskitbug...

   info - The value of the local variable 'tp' isn't used - lib\main.dart:105:9 - unused_local_variable

1 issue found. (ran in 8.4s)

[√] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19042.985], locale en-US)
    • Flutter version 2.2.1 at P:\flutter
    • Framework revision 02c026b03c (13 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at p:\programs\AndroidSDK
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = p:\programs\AndroidSDK
    • ANDROID_SDK_ROOT = p:\programs\AndroidSDK
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[√] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 8.0.0 (API 26) (emulator)
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 91.0.4472.77
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 90.0.818.56

• No issues found!

@bradchristie
Does the crash occur without provider plugin too ?

I don't know how to set up the widget dependencies without using provider. But it seems unlikely that provider has anything to do with the crash.  For one, it only crashes with the canvaskit renderer, not with the html renderer.
Other than that, the program has been trimmed down to almost the minimum to show the crash.  Specifically these are needed:

The TextPainter  with a TextSpan that uses a style.  No style, no crash.  Specifying the font size for the style not necessary, it crashes even with an empty style.
The  Text widget counting the seconds.  Crashes with or without a style on this widget.

Thanks for the details. I see the crash using canvaskit only, as it throws below exception log:

 crash log

dhs@Dhss-MacBook-Pro macbug % flutter run -d chrome
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             16.1s
This app is linked to the debug service: ws://<IP_ADDRESS>:50750/PFEjCtzJULY=/ws
Debug service listening on ws://<IP_ADDRESS>:50750/PFEjCtzJULY=/ws

💪 Running with sound null safety 💪

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".
null
CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following NativeJavaScriptObject object was thrown during paint():
  RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

 The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
Another exception was thrown: Assertion failed: file:///Users/dhs/Documents/Fluttersdk/flutter/packages/flutter/lib/src/rendering/layer.dart:497:12
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null
Another exception was thrown: RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null

 flutter doctor -v
[✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.2.1 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision 02c026b03c (4 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 91.0.4472.77

• No issues found!

I'm unable to reproduce the issue on my machine. I've let the example run for 5 minutes without crashing. Are you still seeing this crash?

Yes, it's no longer crashing when it's allowed to just sit and run.  But I found it still crashes in a similar way if interfered with.  Specifically:

Start the program and let it run for at least 1 minute.
Switch to another application window that completely covers the program's window.
Switch back the the program's window

After a second or two after step 3 the program stops displaying the count and starts spitting out errors.  Might not happen every time steps 1-3 are done but for me as long as the wait time is 1 minute happens most every time.

crash log

Launching lib\main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
This app is linked to the debug service: ws://<IP_ADDRESS>:53454/F2kgMMTkhUg=/ws
Debug service listening on ws://<IP_ADDRESS>:53454/F2kgMMTkhUg=/ws

 Running with sound null safety
Debug service listening on ws://<IP_ADDRESS>:53454/F2kgMMTkhUg=/ws
null
CanvasKit threw an exception while laying out the paragraph. The font was "null". Exception:
RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.
null

======== Exception caught by rendering library =====================================================
The following NativeJavaScriptObject object was thrown during paint():
  RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

The relevant error-causing widget was:
  CustomPaint file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:61:33
When the exception was thrown, this was the stack:
<EMAIL_ADDRESS>149:56                                                  Ma
<EMAIL_ADDRESS>219:103                                                 d
<EMAIL_ADDRESS>1:1                                                     Paragraph$layout
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/canvaskit/text.dart 573:18       layout
packages/flutter/src/painting/text_painter.dart 578:5                                                            layout
...
The following RenderObject was being processed when the exception was fired: RenderCustomPaint#4010c relayoutBoundary=up3
...  parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
...  size: Size(959.0, 860.0)
  child: RenderPositionedBox#290c5 relayoutBoundary=up4
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
    size: Size(959.0, 860.0)
    alignment: Alignment.center
    textDirection: ltr
    widthFactor: expand
    heightFactor: expand
RenderObject: RenderCustomPaint#4010c relayoutBoundary=up3
  parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
  size: Size(959.0, 860.0)
  child: RenderPositionedBox#290c5 relayoutBoundary=up4
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
    size: Size(959.0, 860.0)
    alignment: Alignment.center
    textDirection: ltr
    widthFactor: expand
    heightFactor: expand
====================================================================================================

======== Exception caught by scheduler library =====================================================
The following NativeJavaScriptObject object was thrown during a scheduler callback:
  RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

When the exception was thrown, this was the stack:
<EMAIL_ADDRESS>149:56                                                  Ma
<EMAIL_ADDRESS>219:103                                                 d
<EMAIL_ADDRESS>1:1                                                     Surface$_flush
<EMAIL_ADDRESS>12:230                                                  flush
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/canvaskit/surface.dart 294:14    flush
...
====================================================================================================
null
null

======== Exception caught by rendering library =====================================================
The following NativeJavaScriptObject object was thrown during performLayout():
  RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

The relevant error-causing widget was:
  Text file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:63:17
When the exception was thrown, this was the stack:
<EMAIL_ADDRESS>149:56                                                  Ma
<EMAIL_ADDRESS>219:103                                                 d
<EMAIL_ADDRESS>1:1                                                     ParagraphBuilder$_MakeFromFontProvider
<EMAIL_ADDRESS>74:475                                                  MakeFromFontProvider
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/canvaskit/text.dart 654:56       new
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#d5386 relayoutBoundary=up3 NEEDS-LAYOUT
...  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
...  size: Size(58.0, 40.0)
...  textAlign: start
...  textDirection: ltr
...  softWrap: wrapping at box width
...  overflow: clip
...  locale: en_US
...  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
RenderObject: RenderParagraph#d5386 relayoutBoundary=up3 NEEDS-LAYOUT
  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
  size: Size(58.0, 40.0)
  textAlign: start
  textDirection: ltr
  softWrap: wrapping at box width
  overflow: clip
  locale: en_US
  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
====================================================================================================

======== Exception caught by rendering library =====================================================
The following NativeJavaScriptObject object was thrown during paint():
  RuntimeError: abort(undefined). Build with -s ASSERTIONS=1 for more info.

The relevant error-causing widget was:
  CustomPaint file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:61:33
When the exception was thrown, this was the stack:
<EMAIL_ADDRESS>149:56                                                  Ma
<EMAIL_ADDRESS>219:103                                                 d
<EMAIL_ADDRESS>1:1                                                     ParagraphBuilder$_MakeFromFontProvider
<EMAIL_ADDRESS>74:475                                                  MakeFromFontProvider
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/canvaskit/text.dart 654:56       new
...
The following RenderObject was being processed when the exception was fired: RenderCustomPaint#4010c relayoutBoundary=up3
...  parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
...  size: Size(959.0, 860.0)
  child: RenderPositionedBox#290c5 relayoutBoundary=up4
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
    size: Size(959.0, 860.0)
    alignment: Alignment.center
    textDirection: ltr
    widthFactor: expand
    heightFactor: expand
RenderObject: RenderCustomPaint#4010c relayoutBoundary=up3
  parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
  size: Size(959.0, 860.0)
  child: RenderPositionedBox#290c5 relayoutBoundary=up4
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=959.0, h=860.0)
    size: Size(959.0, 860.0)
    alignment: Alignment.center
    textDirection: ltr
    widthFactor: expand
    heightFactor: expand
====================================================================================================

======== Exception caught by rendering library =====================================================
The following TypeErrorImpl was thrown during paint():
Unexpected null value.

The relevant error-causing widget was:
  Text file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:63:17
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63  nullCheck
packages/flutter/src/painting/text_painter.dart 624:36                                                                         paint
packages/flutter/src/rendering/paragraph.dart 756:18                                                                           paint
packages/flutter/src/rendering/object.dart 2317:7                                                                              [_paintWithContext]
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#d5386 relayoutBoundary=up3
...  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
...  size: Size(58.0, 40.0)
...  textAlign: start
...  textDirection: ltr
...  softWrap: wrapping at box width
...  overflow: clip
...  locale: en_US
...  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
RenderObject: RenderParagraph#d5386 relayoutBoundary=up3
  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
  size: Size(58.0, 40.0)
  textAlign: start
  textDirection: ltr
  softWrap: wrapping at box width
  overflow: clip
  locale: en_US
  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
====================================================================================================

======== Exception caught by rendering library =====================================================
The following TypeErrorImpl was thrown during paint():
Unexpected null value.

The relevant error-causing widget was:
  Text file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:63:17
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63  nullCheck
packages/flutter/src/painting/text_painter.dart 624:36                                                                         paint
packages/flutter/src/rendering/paragraph.dart 756:18                                                                           paint
packages/flutter/src/rendering/object.dart 2317:7                                                                              [_paintWithContext]
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#d5386 relayoutBoundary=up3
...  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
...  size: Size(58.0, 40.0)
...  textAlign: start
...  textDirection: ltr
...  softWrap: wrapping at box width
...  overflow: clip
...  locale: en_US
...  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
RenderObject: RenderParagraph#d5386 relayoutBoundary=up3
  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
  size: Size(58.0, 40.0)
  textAlign: start
  textDirection: ltr
  softWrap: wrapping at box width
  overflow: clip
  locale: en_US
  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
====================================================================================================

======== Exception caught by rendering library =====================================================
The following TypeErrorImpl was thrown during paint():
Unexpected null value.

The relevant error-causing widget was:
  Text file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:63:17
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63  nullCheck
packages/flutter/src/painting/text_painter.dart 624:36                                                                         paint
packages/flutter/src/rendering/paragraph.dart 756:18                                                                           paint
packages/flutter/src/rendering/object.dart 2317:7                                                                              [_paintWithContext]
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#d5386 relayoutBoundary=up3
...  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
...  size: Size(58.0, 40.0)
...  textAlign: start
...  textDirection: ltr
...  softWrap: wrapping at box width
...  overflow: clip
...  locale: en_US
...  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
RenderObject: RenderParagraph#d5386 relayoutBoundary=up3
  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
  size: Size(58.0, 40.0)
  textAlign: start
  textDirection: ltr
  softWrap: wrapping at box width
  overflow: clip
  locale: en_US
  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
====================================================================================================

======== Exception caught by rendering library =====================================================
The following TypeErrorImpl was thrown during paint():
Unexpected null value.

The relevant error-causing widget was:
  Text file:///P:/FlutterProjects/canvaskitbug/lib/main.dart:63:17
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63  nullCheck
packages/flutter/src/painting/text_painter.dart 624:36                                                                         paint
packages/flutter/src/rendering/paragraph.dart 756:18                                                                           paint
packages/flutter/src/rendering/object.dart 2317:7                                                                              [_paintWithContext]
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#d5386 relayoutBoundary=up3
...  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
...  size: Size(58.0, 40.0)
...  textAlign: start
...  textDirection: ltr
...  softWrap: wrapping at box width
...  overflow: clip
...  locale: en_US
...  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
RenderObject: RenderParagraph#d5386 relayoutBoundary=up3
  parentData: offset=Offset(450.5, 876.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(0.0<=w<=959.0, 0.0<=h<=Infinity)
  size: Size(58.0, 40.0)
  textAlign: start
  textDirection: ltr
  softWrap: wrapping at box width
  overflow: clip
  locale: en_US
  maxLines: unlimited
  text: TextSpan
    debugLabel: (englishLike display1 2014).merge(blackRedmond headline4)
    inherit: false
    color: Color(0x8a000000)
    family: Segoe UI
    size: 34.0
    weight: 400
    baseline: alphabetic
    decoration: TextDecoration.none
    "655"
====================================================================================================

flutter doctor -v

P:\FlutterProjects\canvaskitbug>flutter doctor -v
[√] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.19043.1110], locale en-US)
    • Flutter version 2.2.3 at P:\flutter
    • Framework revision f4abaa0735 (4 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at p:\programs\AndroidSDK
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = p:\programs\AndroidSDK
    • ANDROID_SDK_ROOT = p:\programs\AndroidSDK
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31424.327
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3
    • Flutter plugin version 58.0.3
    • Dart plugin version 211.7727

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19043.1110]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 92.0.4515.107
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 92.0.902.55

• No issues found!

Thanks for the repro steps, I'll let you know if I can see the crash now

I'm still unable to repro the problem on my Macbook. I'll try on my Windows machine to see if I hit the same crash as you there.


Romania VAT updated its from 20 to 19% on January 1st 2017

Romania VAT updated its from 20 to 19% on January 1st 2017

Current coverage is 96.68% (diff: 100%)

Merging #40 into master will not change coverage

@@             master        #40   diff @@
==========================================
  Files             5          5
  Lines           181        181
  Methods          35         35
  Messages          0          0
  Branches          0          0
==========================================
  Hits            175        175
  Misses            6          6
  Partials          0          0

Powered by Codecov. Last update b6ebd5a...5386a0d

Here's a source for the change: http://www.vatlive.com/vat-news/romania-cuts-vat-to-19-2017/
And another one (in Romanian): http://www.avocatnet.ro/content/articles/id_44214/TVA-se-reduce-din-2017-Ce-măsuri-trebuie-să-iei-ca-firma-ta-să-fie-pregătită.html


Docker warnings for unresolved variable in compose file

When running the docker compose up with Swirl v. 1.8, we see these Warnings, courtesy of Docker:
swirl1-8rc % docker compose up
WARN[0000] The "jjf" variable is not set. Defaulting to a blank string.
WARN[0000] The "jjf" variable is not set. Defaulting to a blank string.
WARN[0000] The "jjf" variable is not set. Defaulting to a blank string.

They are just warnings and don't disrupt bringing up Swirl.
This behavior seems to be similar to this issue filed in the compose-cli project:  https://github.com/docker/compose-cli/issues/1907
Specifically this comment:  https://github.com/docker/compose-cli/issues/1907#issuecomment-878020499
Filing this issue as tech-debt so that we can track this and potentially sort it out in future.

This is resolved by 1.8.1


add unit tests for model features

Navigation

Overview
Activity Diagram
Features Breakdown
API Specifications
Other PRs raised

Pull Request Description

This pull request includes the addition of two files: test/fixtures/progressUpdates/progressUpdates.js and test/unit/models/progressUpdates.test.js.
The first file contains test data for progress updates while the second file contains unit tests for the progress updates model.
The tests check the functionality of adding and retrieving progress updates data.
The tests are currently skipped as the feature does not exist yet. This pull request will help in ensuring Test Driven Development (TDD).

@heyrandhir has worked on it in a separate PR.


Allow managers to delete API Backends that they manage

User story
As a manager
I would like to delete an API Backend that I manage
so that I can keep my API Backends list up to date

Feature
Add a method for API Managers to delete API Backends they manage. The deletion should also remove the API Backend from API Umbrella.

 Perhaps something like when deleting repository from Github.

Right, like the 'Danger Zone' box.

@ashakunt and @alapan Definition of done has been added. Wireframe to be added later today. Assigning task to Alapan.

Great, long waited feature for admin also :) :+1:

@Alapan, we may already have code related to API Backend administrator permissions that would be useful here. Do you want to do some pair programming, or have a brief chat?

@Alapan Can you comment whether this is in progress and what would be the estimation for completion? This week?

@bajiat Yes, this issue is in progress and I have implemented most of the front-end. It should be completed by this week.

@brylie I wanted to know if the REST endpoint for API backend deletion has been implemented? I was looking through https://github.com/apinf/meteor-api-umbrella/blob/master/server/apiUmbrellaWeb.js, where it seems the REST interfaces are defined, and couldn't find anything related to deletion.

Right, as indicated via chat discussion, go ahead and add the deleteApiBackend method.

The deleteApiBackend method  was implemented. Despite this, I am currently getting an error "Object [object Object] has no method 'deleteApiBackend'" when making the REST call apiUmbrellaWeb.adminApi.v1.apiBackends.deleteApiBackend(backendId)  in apiBackends.js.

Make sure to update the package version and publish it to Atmosphere. Then, run meteor update in our project, so that the latest version of the package will be available. We may need to figure out how to publish a Meteor package as an organization, rather than an individual.

http://info.meteor.com/blog/meteor-091-organizations-blaze-apis

Create apinf Account on meteor
Create Organization on apinf account
add members to organization

Am Mittwoch, 9. März 2016 schrieb Brylie Christopher Oxley :

Make sure to update the package version and publish it to Atmosphere.
Then, run meteor update in our project, so that the latest version of the
package will be available. We may need to figure out how to publish a
Meteor package as an organization, rather than an individual.
—
Reply to this email directly or view it on GitHub
https://github.com/apinf/api-umbrella-dashboard/issues/616#issuecomment-194178572
.

@sebbel what is your Meteor.com username?

@brylie I had to make another small change to the deleteApiBackend method in API umbrella - I had written HTTP.delete instead of HTTP.del - like PUT, POST and GET, I thought the function name is the same as the action. I fixed it and created a pull request (https://github.com/apinf/meteor-api-umbrella/pull/17).

First working version created. Created a pull request.

@brylie my meteor account is sebbel

@brylie I resolved the conflicts in the Issue#616 branch and pushed it.

@Alapan see my line comment for client/views/api_backends/delete/deleteApiBackendConfirmation.js  on line 54. The sAlert call is not in the if, else if, or else block. It looks like it is a logical error.

I have tested  'delete' feature on my local machine.
Findings:

As a manager select API backend from 'Catalogue' and delete API backend returns to 'Catalogue' view.
If user has only one API backend added and delete it from 'Manage API backend' view, it stays on same page 'My Managed APIs' view.

thanks, @saralavanip

@Alapan did you check @brylie 's latest comment.

Findings:

Add API backend and delete the same, returns to catalog view.

Findings:

As a manager select API backend from 'Catalogue' and delete API backend returns to 'Catalogue' view
and user dialog not shown after successful delete API backend.
.

@saralavanip will you please verify with @Alapan that your previous observation is resolved?

Noticed on review:
API Umbrella changes are made to the proxy configurations only after the changes have been published. This includes adding, updating, deleting. @brylie can probably point out what has to done to publish the changes for removal, as he fixed the publishing issue on adding API.

@brylie , verified the resolved issue: 'confirmation dialog is shown after successful delete API backend from Catalog view'.

@brylie , @bajiat , Deleting an API backend when it is down for some reason is unsuccessful. Could you please confirm if this is the expected result?

I am not sure about the cause of that error, but it should still be possible to delete the API Backend. Please file a bug report, so that we can troubleshoot.

@brylie , please find issue reported https://github.com/apinf/api-umbrella-dashboard/issues/919.

@Alapan, I have tested this feature. It seems ready for merging, and we can work on enhancements/bugs in upcoming sprints.


Fix a warning in the Networking Fetch Example

While running the fetch example, I saw this warning :
ExceptionsManager.js:71 Warning: Failed child context type: Invalid child context `virtualizedCell.cellKey` of type `number` supplied to `CellRenderer`, expected `string`.
I verified in the doc, keyExtractor should return a string.

Thanks for bringing this up.
In fact, it's probably a bad idea to put an anti-pattern like index as key in an example. We don't want people to replicate this into their applications.
I'd say we should add an ID into movies.json and use this id as key.

Of course :-)

What do you think of the updated pull request ?
Do you prefer to have a new one, containing only one commit ?


python311Packages.dask-awkward: 2023.12.2 -> 2024.1.0

Description of changes
Changelog: https://github.com/dask-contrib/dask-awkward/releases/tag/2024.1.0
cc @veprbl

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 278949 run on x86_64-linux 1

8 packages built:

python310Packages.coffea
python310Packages.coffea.dist
python310Packages.dask-awkward
python310Packages.dask-awkward.dist
python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist


Search Results distorted

Description of bug
Search Results module look distorted
Steps to reproduce
List the precise steps to reproduce the bug:

Install DNN 9.6.0
enter a search term and submit
select "show more results"
See error

Current behavior
Explain the current behavior.
Expected behavior
should look like before.
Screenshots

Error information
none
Additional context
Might be caused by switch to JQuery 3.5.0
Affected version

[ ] 10.0.0 alpha build
[ ]  9.5.1 alpha build
[X]  9.6.0 latest supported release
[ ]  9.5.0

Affected browser

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer 11
[ ] Microsoft Edge (Classic)
[X] Microsoft Edge Chromium

Yeah, that is probably jQuery related, it was fine in the earlier RCs but like this on the latest now.


Possibility of Working with Marionette

Hi @saponifi3d and @spikebrehm
There is a fair amount of interest on our side of the pond with in using rendr with Marionette Applications.
https://github.com/marionettejs/backbone.marionette/issues/2002
I was wondering if you had any thoughts on this, would love to work with you guys on this.
:+1:

@samccone - Hmm that's a good question. I think Marionette might not be possible because it overrides so much on of Backbone, and Rendr does too.
Things like a Marionette Item View extends backbone and overrides the render function.  This becomes problematic because Rendr also overrides the Backbone.View class to add it's own render function that knows how to render differently on the client / server.
I'm trying to think if there is a way you could shim marionette as backbone in browserify, then have Rendr extend that.. but.. I think you'll run into way more problems than it'd be worth by going down that road...
TL;DR - I don't think you can without writing an adapter for Marionette to extend Rendr, which will probably turn into writing a lot of scaffolding and just calling into Marionette functions.

I agree -- there would likely be too many collisions between the two Libraries and the way they both subclass Backbone.View, Backbone.Model, etc.
That said, it looks like Marionette has all sorts of useful things, so you may be able to pull some of them in to a Rendr app, or at least build a Marionette-inspired approach.

+1 on this. some things I think would be especially useful from Marionette:

CollectionView / ItemView / EmptyView. I'm a bit worried by the {{#each models}} loop and DOM-event handling (you'd have to store some state in the DOM when trying to figure out which iteration in a loop caused a click event).
triggers hash on Views.
Layouts
triggerMethod love that tiny little function.

Application and Controllers already appear to be covered quite well, as does a Router.

My dream: Yo package called generator-rendr-marionette
This desire comes from:

I'm tired of writing boilerplate.
Isomorphic is a requirement.

Hmmm, honestly wouldn't be too hard to make a base CollectionView and have it take a template name for the ItemView and build it that way, including an appended and all that jazz to easily hook into it.  It would be more of a reimplementation of ideas from marionette than using theirs directly, which is a little sad.
As for a Yo generator.. those are pretty straight-forward to write, the difficulty becomes the difference w/ how people generally write code. Things like requireAMD vs require boilerplate are very different.  Some people also prefer different styles with module.exports and I think it might be a little bit too opinionated.  I could make one for both requireAMD and require, but they'll all be tied to my opinions of how i think it should be written :p if you're cool with that i can try taking it on.


[Release 1.23] Remove kube-ipvs0 interface when cleaning up

Backport: https://github.com/k3s-io/k3s/issues/5643

Node(s) CPU architecture, OS, and Version:
Ubuntu LTS, 20gb Hard drive
Cluster Configuration:
1 node
Config.yaml:
write-kubeconfig-mode: 644
kube-proxy-arg: "proxy-mode=ipvs"
Reproduced with-
K3S Version/Commit:
Steps To Reproduce:

Installed K3S:
curl -sfl https://get.k3s.io | INSTALL_K3S_VERSION=v1.23.7+k3s1 sh -

Results:

Validated with-
ip a, is the command to show the interface
K3S Version/Commit:
v1.23.7+k3s1
Steps To Validate:
Create the config.yaml as follow:
write-kubeconfig-mode: 644
kube-proxy-arg: "proxy-mode=ipvs"

Installed K3S:
curl -sfl https://get.k3s.io | INSTALL_K3S_VERSION=v1.23.7+k3s1 sh -

Results:
ip a, to validate:
The ipvs0 will be shown as follow:

After uninstalling k3s with the script: k3s-uninstall.sh, no results for ipvs0 are displayed:
ip a, to validate:

Additional context / logs:


update documentation for the 'extra' branch

What was updated:

added documentation for the all-plugins-report command
added documentation for the autofix command, retrieved from https://gist.github.com/aranega/8dc2a1bf46f880071c21e3d4db078b1b

for the extra branch

@aranega should I add the virtual environment creation info to both the extra and develop/clean/master branches?

@SimaoBolota-MetaCell I think the venv creation could find it's way in all branches, but the way of installing really the tool will differ slightly. The version using pip install -e . suits better the extra branch only. For the develop/clean/master, the tool should be accessible from Pypi repository so, directly from pip install which would be the recommanded way to install it.

@aranega Added the virtual environment creation, an introductory paragraph to this specific branch, and changed the installation process to follow your documentation (https://gist.github.com/aranega/8dc2a1bf46f880071c21e3d4db078b1b)
Will make the changes on the installation process for the develop/main/clean branch in a separate PR


[Bug]: Can’t find Climate Card

Current Behavior
I have upgraded to the latest version, but when I go to the HA dashboard and try to add the climate card, I cannot find it. What am I missing?
Expected Behavior
No response
Steps To Reproduce
No response
Environment
- OS:
- Node:
- Version:
- Hassio:

Anything else?
No response

I have the same issue.
(I will admit to being a n00b to HA.)
Could I have omitted a step after updating? I've been using Mushroom for about a week - love it.

Perhaps I should have included the fact I updated Mushroom twice this morning (was prompted to each time). Not sure if this might be relevant.

I have the same issue.

Hi, try these steps :

uninstall Mushroom
remove Mushroom ressources (if present)
reinstall Mushroom

FYI, I have the latest version of the HA software on an Intel machine.
On Mon, Jul 18, 2022, 7:25 AM Andrzej Olender @.***>
wrote:

@piitaya https://github.com/piitaya uninstalling and install again did
not help for me.
—
Reply to this email directly, view it on GitHub
https://github.com/piitaya/lovelace-mushroom/issues/621#issuecomment-1187276937,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRSGOXNILFEBGYIMZCZN6LVUVEMLANCNFSM53377CCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Reinstalling worked.....
 Thank you!! :)

It is often a cache issue 😅

every update i have same issue wtf

Well, I checked it again from a different device and now it is showing up.
I did not remove it or anything.  I guess is was a cache or timing issue.
On Mon, Jul 18, 2022 at 8:43 AM Milan Dzuriš @.***>
wrote:

every update i have same issue wtf
—
Reply to this email directly, view it on GitHub
https://github.com/piitaya/lovelace-mushroom/issues/621#issuecomment-1187465885,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRSGOSG7X7R2KEWCLQDNWTVUVNOLANCNFSM53377CCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello,
I deleted the HACS mushroom, deleted the cache from www, restarted the HA, but the mushroom maps are still displayed and the climate did not appear.

Hello,
I deleted from the HACS mushroom, deleted the cache from www, restarted the HA, but the mushroom maps are still displayed and the climate did not appear.

Did you remove mushroom from your ressources ?

reinstall help me

Здравствуйте,
удалил с HACS гриб, удалил кеш с www, перезапустил HA, но карты грибов все равно отображаются и климат не появился.

Вы удалили гриб из ваших ресурсов?

yes, HA tupanul)))) everything is ok

In my case, try the ctrl+shift+n in chrome, solved~
and clear cache in home assistant ios app setting.
good luck

I have the same issue where it works fine on the browser but got error on the APP (iPhone and Fire HD).
Error:
Custom element doesn't exist: mushroom-climate-card.
Already tried your recomendation about removing it from resources, deleting the files and then installing it again with no luck.
Thank you for the effort and work on this beautiful card.


[bug] error, status code: 400, message: Too many images in request. Max is 10.

We already merged the PR: https://github.com/casibase/casibase/pull/811 that can use models like GPT-4-vision to understand images. But it still has error, need to fix this bug.
See: https://demo-admin.casibase.com/chat

Cannot reproduce, closed for now
Maybe related to: https://github.com/casibase/casibase/pull/834


Internal Compiler Error: method TypeVal on *unit8 not found.

I was building lnd node from source.
Environment:
Windows 11.
Windows Subsystem for Linux: Ubuntu 22.04 LTS.
Go version : wget https://dl.google.com/go/go1.19.linux-amd64.tar.gz.
lnd repo: git clone https://github.com/lightningnetwork/lnd

After running the make && make install inside the lnd folder, I got this error which I think is severe.
 make && make install
 Building debug lnd and lncli.
go build -v -tags="dev" -o lnd-debug -gcflags "all=-N -l" -ldflags " -X github.com/lightningnetwork/lnd/build.Commit=tlv/v1.2.3-27-gf61761277" github.com/lightningnetwork/lnd/cmd/lnd
github.com/lightningnetwork/lnd/lnwire
# github.com/lightningnetwork/lnd/lnwire
/home/sallam/go/pkg/mod/github.com/lightningnetwork/lnd/tlv@v1.2.3/record_type.go:151:18: internal compiler error: method TypeVal on *uint8 not found

Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new
make: *** [Makefile:100: build] Error 2

We no longer support 1.19.


Dynamically change the body of the request depending on dashboard variables

Hello, and thank you for your excellent work.
Is it possible to dynamically change the body of the request depending on dashboard variables ?
I have cases where depending on the value of a textbox (if it is empty or not), the query I have to send to the backend needs to be changed (elasticsearch clause needs to be removed).
Thank you.
EDIT: Another solution could be to send different queries depending on a grafana variable (but it would still require a condition test).

Thank you for the kind words, and for your suggestion on how to improve the plugin! ❤
It sounds like this would require adding support for a more advanced templating language, such as Handlebars. I don't think it would have that big of an impact on UX (a checkbox to enable templating?), but it would require another non-trivial dependency which I'm hesitant to add without feedback from more users.

Yes I understant your point of view.
For those who encouter the same problem as me, we can handle it with mustache in ElasticSearch: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html#_conditional_clauses
But the problem is we have to escape the request as a string (it is no longer a valid JSON), making it very difficult to debug.

Adding this to the backlog as there seems to be some support for this feature.

Hello and thanks for the wonderful work!
I'd like to bump this issue, since in my case, I need to send timestamps in the body of the request. In SQL, this would be done with $__timeFrom(), but I haven't been able to do this in the plugin.
Simplified request example:
POST /api/Data
Body: {"since": "2021-03-01T00:00:00.000Z", "till": "2021-03-01T17:41:44.3333333Z"}
Cheers!


Attribute Table - Zoom in to feature on row click

Hi,
I have below issues

Clicking on attribute table rows, it is not zoom in to the features. I checked I am passing the correct idProperty.

Zoom button (next to clear button) is missing in attributeTable toolbar.

I set the open:'none' in panes bottom configuration to not to show by default it is fine but, after adding query options it shows the bottom pane open, I want to set open:'none' even after query options and not to show attributeTable open untill you click on expand button

There is no error in console
below is the configuration
panes configuration
bottom: {          	id: 'sidebarBottom',          	placeAt: 'outer',          	splitter: true,          	collapsible: true,          	open: 'none',          	region: 'bottom',          	style: 'height:250px;',          	content: '

'         }
widget configuration
`
attributesTable: {
include: true,
//open: 'none',
//open: false,
id: 'attributesContainer',
type: 'domNode',
srcNodeRef: 'attributesContainer',
path: 'gis/dijit/AttributesTable',
options: 'config/attributesTable'
}
`
Config file attributesTable
`
define({
map: true,
mapClickMode: true,
useTabs: true,
sidebarID: 'sidebarBottom',
/*
    any predefined tables to add to the tab container or possibly just one table
*/
tables: [
    {
        // title for tab
        title: 'Road Safety',

        // unique topicID so it doesn't collide with
        // other instances of attributes table
        topicID: 'auditStageQuery',

        // allow tabs to be closed
        // confirm tab closure
        closable: false,
        confirmClose: true,

        queryOptions: {
            // parameters for the query
            queryParameters: {
                url: 'http://myserver/arcgis/rest/services/Road_AS/MapServer/0',
                maxAllowableOffset: 100,
                where: '1=1',
            },
            idProperty: 'ObjectID'
        },
        featureOptions: {
            /*
                Show the resulting features on the map
            */
            features: false,

            /*
                Allow records to be selected in the grid
            */
            selected: true,

            /*
                Allow the display of an info window when a feature is selected
            */
            infoWindow: true,

            /*
                Allow the user to highlight features that have been selected in the grid
            */
            highlight: true,

            /*
                Show the source feature used in the search
            */
            source: true,

            /*
                Allow the creation and display of a buffer
            */
            buffer: true,

            /*
                Do we zoom to the source features after the query
            */
            zoomToSource: true,

            /*
                Do we zoom to the selected features after the query
            */
            zoomToSelected: true,

            /*
                Allow StreetView when there is a single selected feature
            */
            streetView: false
        }
    }
],

});
`

features: false, <- this must be set to true. If there are no features on the map, there is nothing to zoom to.
If you don't want to see the features but still need them to zoom to, set a transparent symbol for rendering. The symbolOptions below cover point/line/polygon:
symbolOptions: {
    features: {
        point: {
            type: 'esriSMS',
            style: 'esriSMSCircle',
            size: 15,
            color: [200, 0, 200, 0],
            angle: 0,
            xoffset: 0,
            yoffset: 0,
            outline: {
                type: 'esriSLS',
                style: 'esriSLSSolid',
                color: [200, 0, 200, 0],
                width: 2
            }
        },
        polyline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            color: [200, 0, 200, 0],
            width: 2
        },
        polygon: {
            type: 'esriSFS',
            style: 'esriSFSSolid',
            color: [255, 0, 255, 0],
            outline: {
                type: 'esriSLS',
                style: 'esriSLSSolid',
                color: [200, 0, 200, 0],
                width: 1
            }
        }
    },
},

@tmcgee Thank you very much for your reply. I changed the feature : true and it is highlighting the features on map.
I have one more issue now,when application open All features highlighted on map but, map zoom in to the other region by default, If you see the coordinates info lower left corner mapinfo it shows "Nan".
After debug, I see the error in _GraphicsMixin.js file > getGraphicsExtent function > at this line
zoomExtent = graphicsUtils.graphicsExtent(layer.graphics); // Its null here
I am using ESRI basemap and my dynamiclayer spatial reference is 2932
Do I need to change spatialreference property in any widgets config or .js file ?
Could you please suggest me on this What I am missing ?
Many Thanks :)

@mayur9785 The REST API converts the results of the QueryTask to the spatial reference of your map - presumably web mercator in your case because of the Esri basemap.
While there isn't an image attached to "see" the "NaN" coordinates, I don't think this would be related to the query in any way.
The line you reference is using a method in the Esri JavaScript API to get the extent of the graphics in the layer so I'm not completely familiar with the exact code in that method. If it is coming back null, I wonder if there is are some invalid features being returned from the query.  If you change your query to include just one feature or a few features that you are certain have valid geometry, does it still return null?

@tmcgee Yes you are correct. If I change query for just single feature or few features it doesn't return null and it's works perfect.
When query return invalid geometry, coordinates shows "Nan" and getting below error in console.
svg.js:43 Error:  attribute cx: Expected length, "NaN".
setShape @ svg.js:43
Error:  attribute cy: Expected length, "NaN".
setShape @ svg.js:43
Many thanks for your help 👍 :)

@tmcgee I want to highlight features and zoom in only when I click on attribute table grid row.
I set below parameters in attributeTable config.js file
symbolOptions: {
    features: {
   // Here I set transparent symbols as I don't want to highlight features by default on map but still need
    them to zoom to
  // this is fine and features are not highlighted on map and zoom In works
  },
   highlighted: {
   // Here I set transparent symbols as I don't want to highlight features on mouseover
  // this is fine and feature is not highlighted on mouseover
  }
}

Now, when I click on feature it is still highlighting the feature on map with identify popup information
I click 2nd , 3rd feature and so on ...the previous features are not cleared. look at the image below

If i do clear all features from clear menu and click on features its fine
I want to highlight features and zoom in only when I click on attribute table grid row. I tried selected:false, but when you click on grid row it is zoom in to features and not selected.
below is featureoptions
featureOptions: {
                /*
                    Show the resulting features on the map
                */
                features: true,

                /*
                    Allow records to be selected in the grid
                */
                selected: true,

                /*
                    Allow the display of an info window when a feature is selected
                */
                infoWindow: false,

                /*
                    Allow the user to highlight features that have been selected in the grid
                */
                highlight: true,

                /*
                    Show the source feature used in the search
                */
                source: false,

                /*
                    Allow the creation and display of a buffer
                */
                buffer: false,

                /*
                    Do we zoom to the source features after the query
                */
                zoomToSource: false,

                /*
                    Do we zoom to the selected features after the query
                */
                zoomToSelected: true,

                /*
                    Allow StreetView when there is a single selected feature
                */
                streetView: false
            },

@mayur9785 From your screenshot, it appears to be identifying a map layer, not the features in the AttributesTable. Perhaps I am forgetting about some functionality I wrote awhile ago but I don;t think you can identify 6 features are once from the AttributesTable rows.


fixed go.go to properly select over channels during the put operation in select_both

Per the crossbeam benchmark configuration the select_both function is defined as:

select_both: T threads send N / T messages each by selecting over T channels. T other threads receive N / T messages each by selecting over the T channels.

Previously, the select_both function in go.go did not utilize the select statement while sending messages. Added the use of the select statement.

Thanks for the PR! I'm curious how this change will change the benchmark results.

Thanks for the PR! I'm curious how this change will change the benchmark results.

Here are my teams benchmarking results. Note this was done in during a project involving implementing channels in the Flix programming language, so they additional test results are our additions.

All tests were done on a machine 'node2x18a' at the University of Rochester cluster

node2x18 has two Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz.
1 MiB of L1d and L1i caches. The system also has a 32 MiB L2 cache and 44 MiB L3 cache.


Rename trace.TraceID to trace.ID to avoid stutter.

FYI: I feel this is very confusing.

IMHO, in this case TraceID is not terrible even though there is stutter. It is very easy to loose the context and keep asking what ID represents.
And we shouldn't rename the field in SpanContext type.
SpanContext.ID represents span context ID.
SpanContext.TraceID represents a trace ID.

On Fri, Feb 2, 2018 at 2:31 PM, JBD<EMAIL_ADDRESS>wrote:

IMHO, in this case TraceID is not terrible even though there is stutter.
It is very easy to loose the context and keep asking what ID represents.

It might be easy for us to lose context while we are working inside the
trace package, but users will always refer to it as "trace.ID". Just want
to make sure we aren't making things easier for ourselves at the expense of
our users?

And we shouldn't rename the field in SpanContext type.

Agh, Goland refactoring was overzealous here, I didn't mean to do that.

SpanContext.ID represents span context ID.
SpanContext.TraceID represents a trace ID.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/census-instrumentation/opencensus-go/pull/395#issuecomment-362727313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVT6J_dAs0nqmrjazzQnWWzsDydcceVks5tQ4zWgaJpZM4R3zxU
.


Drill lists replace nils

going to mark this DRAFT so you review; dont want accidental commit.
give this to someone in the beta class to review? jon, andrew, bill?

i think my _template.livemd is the cause of the failing check.
what to do?

i think my _template.livemd is the cause of the failing check.
what to do?

We need to exclude the file from test.
There's a function in notebooks.ex
  def reading do
    fetch_livebooks("../reading/")
  end

I think we can simply filter the _template.livemd file from this list of .livemd files, and this test should pass. LMK if there's any issue and I can pop on to pair with you.

@BrooklinJazz  --  updated the check as hinted and so ready for "real" review and merging if/when you desire!


[Codelab UI] Instructions pane changes size from step to step

Resize the instructions pane to as small as you can make it here: https://dartpad.dev/workshops.html?webserver=https://dartpad-workshops-io2021.web.app/getting_started_with_slivers
When you transition to the next steps, the panes change size on every step, which is a bit jarring and disorienting as you are trying to go through the workshop. I think the expected behavior is that all panes stay the same way I have sized them from step to step.
Possibly related to: #1858

FYI @johnpryan


Crash after updating mod.

I have crash after updating RFTools from 3.10 to 3.11. Version 3.11 is incompatible with AgriCraft (v1.3.1/1.4-alpha).
Crash report: http://pastebin.com/78zpYRDh
I reported about this crash to author of AgriCraft.

This is just an id conflict. You need to change the villager ID in either RFTools or Agricraft. Not exactly a bug.


add --from-backup flag to ark restore create & allow restore naming

Signed-off-by: Steve Kriss<EMAIL_ADDRESS>Fixes #60

Nitpick - could you fix up the commit message so it's not wrapping?

done

Haven't looked into the new PR process with docs, but should there be an associated doc update for the examples in the PR that introduces the changes?

addressed all feedback, PTAL.

I think this a great addition; my full support.

@skriss let's proceed. Please squash into either 2 or 1 commit.

squashed.

switched order of restore name and backup name in docs/examples.

LGTM


We shouldn't have to rewrite classes to theme Material2

I was able to "theme" a button with this:
@import '../node_modules/@angular2-material/core/style/theme-functions';
@import '../node_modules/@angular2-material/core/style/palette';

// Person creating a theme writes variables like this:
$md-is-dark-theme: false;

$md-primary: md-palette($md-purple, 500, 100, 700, $md-contrast-palettes);
$md-accent: md-palette($md-red, A200, A100, A400, $md-contrast-palettes);
$md-warn: md-palette($md-orange, 500, 300, 800, $md-contrast-palettes);
$md-foreground: if($md-is-dark-theme, $md-dark-theme-foreground, $md-light-theme-foreground);
$md-background: if($md-is-dark-theme, $md-dark-theme-background, $md-light-theme-background);

.app {
  .md-primary[md-raised-button] {
    color: md-color($md-foreground, text);
    background-color: md-color($md-primary, 700, 0.7); // Use a specific hue and opacity
  }
}

This means I would need to "rewrite" virtually every class of default_theme.
However, if the below worked, this wouldn't be needed, as a full css sheet would be compiled, using the desired palletes:
@import '../node_modules/@angular2-material/core/style/variables';
@import '../node_modules/@angular2-material/core/style/shadows';
@import '../node_modules/@angular2-material/core/style/theme-functions';
@import '../node_modules/@angular2-material/core/style/default-theme';
@import<EMAIL_ADDRESS>
// Person creating a theme writes variables like this:
$md-is-dark-theme: false;

$md-primary: md-palette($md-purple, 500, 100, 700, $md-contrast-palettes);
$md-accent: md-palette($md-red, A200, A100, A400, $md-contrast-palettes);
$md-warn: md-palette($md-orange, 500, 300, 800, $md-contrast-palettes);
$md-foreground: if($md-is-dark-theme, $md-dark-theme-foreground, $md-light-theme-foreground);
$md-background: if($md-is-dark-theme, $md-dark-theme-background, $md-light-theme-background);

@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>
Result:

This does not actually work, because styles living in documents head

@ThiagoT1 we're still working out our final story for deploying and building themes. During this part of the alpha, theming simply isn't done yet. Stay tuned to future releases for updates!

Any update on this?

See the theming documentation:
https://github.com/angular/material2/blob/master/docs/theming.md


Add a Tip/Hint if import statement does not have a show/hide or as

It's best to use a show/hide or prefix when using an import. The analyzer could display a tip/hint if it encounters an import without a show/hide or prefix.

Yeah I think this can be closed. Most code doesn't adhere to this. It could be a https://github.com/dart-lang/linter lint.


Structure Saving

Description
The purpose of this task is to implement the saving functionality for every structure. These include but are not limited to the extractor, walls, turrets. Each structure has some different properties which must be stored, but one common property is the structures position. To facilitate saving structures, the SaveableComponent will be used.
Dependencies
The SaveableComponent which has already been implemented.
Milestones
List of steps that need to be completed for this task.

[x] Extractors Saving
[x] Fissures Saving
[x] Walls Saving
[x] Gates Saving
[x] Turrets Saving
[x] Landmines Saving
[x] Explosive Barrel Saving
[x] Testing

Completion Deadline: Oct. 17
Testing
The testing for the loading of each component will be done in the MapGameAreaTest class. Empirical testing will also be performed in game by saving and loading the game when each structure is placed.
Member

Rowan (@rowan-gray)

Completed with pull request https://github.com/UQcsse3200/2023-studio-2/pull/503.


[ServiceBus] Use BinaryData for G/SetSessionState.

Fixes: https://github.com/Azure/azure-sdk-for-net/issues/14502
This matches the pattern used by Body to use BinaryData instead of a byte[].

/azp run net - servicebus - tests

/azp run net - servicebus - tests


johndanz/ch14234/update-additional-details

https://app.clubhouse.io/augur/story/14234/update-additional-details
Two things here, in create-market we made the additional details textbox 3x the height basically so that it's more clear you can put in lots of text if you want.
On the trading page, the additional details dropdown should now allow for line breaks, but still disallow XSS attacks.

Pull Request Test Coverage Report for Build 976

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.998%

Totals

Change from base Build 971:
0.0%

Covered Lines:
3594

Relevant Lines:
4936

💛  - Coveralls


Feature/gitversion

Change to GitVersion
Deploy to NuGet from release/* and master branch

Codecov Report

Merging #13 into develop will decrease coverage by 1.2%.
The diff coverage is n/a.

Impacted Files
Coverage Δ

src/IbanNet/Validation/RegexValidator.cs
75% <0%> (-10.72%)
:arrow_down:

...Net/Validation/CachedStructureValidationFactory.cs
83.33% <0%> (-5.56%)
:arrow_down:

...banNet/Validation/Rules/IsMatchingStructureRule.cs
90% <0%> (-2.86%)
:arrow_down:

src/IbanNet/Iban.cs
97.5% <0%> (-2.5%)
:arrow_down:

src/IbanNet/IbanValidator.cs
91.07% <0%> (-2.18%)
:arrow_down:

src/IbanNet.DataAnnotations/IbanAttribute.cs
94.44% <0%> (-2.11%)
:arrow_down:

.../IbanNet.FluentValidation/RuleBuilderExtensions.cs
100% <0%> (ø)
:arrow_up:

src/IbanNet/Extensions.cs
100% <0%> (ø)
:arrow_up:

src/IbanNet/Validation/Rules/Mod97Rule.cs
100% <0%> (ø)
:arrow_up:

src/IbanNet/Validation/Rules/RegexRule.cs
100% <0%> (ø)
:arrow_up:

... and 16 more


Handle null data when retrieving value

[Issue]
During deserialization, in some cases the following error gets thrown:
array_key_exists(): Argument #2 ($array) must be of type array, null given
#0 /var/www/vendor/square/pjson/src/Json.php(67): array_key_exists(string(length=9), NULL)
#1 /var/www/vendor/square/pjson/src/JsonSerialize.php(100): Square\Pjson\Json->retrieveValue(NULL,object(ReflectionNamedType))
...

This is because retrieveValue accepts ?array but array_key_exists does not.
Scenarios where I've seen this occur:

The model field is defined as non-nullable but the data received for that field is null
In the case of nested property paths, if any of the containing fields are null

For example, if the received JSON has data:null for the below:

#[Json(["data", "name"])]
protected $data_name;

[Fix]

Do null checks while traversing the $pathBits to the field inside retrieveValue
After arriving at the field, modify the null checking afterwards to immediately return if the final field is null.

The caller JsonSerialize::fromJsonData has the necessary logic to deal with the returned null. Namely, if the type allows null, set the field. If not, leave it uninitialized

[Tests]
Added tests to demonstrate the fix.
Prior to the fix:
1) Square\Pjson\Tests\DeSerializationTest::testNonNullableFieldWithNullValue
TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given

/Users/jboudreau/Development/pjson/src/Json.php:73
/Users/jboudreau/Development/pjson/src/JsonSerialize.php:101
/Users/jboudreau/Development/pjson/src/Json.php:132
/Users/jboudreau/Development/pjson/src/JsonSerialize.php:101
/Users/jboudreau/Development/pjson/src/JsonSerialize.php:55
/Users/jboudreau/Development/pjson/tests/DeSerializationTest.php:717

2) Square\Pjson\Tests\DeSerializationTest::testNullParentObjectForNestedPath
TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given

/Users/jboudreau/Development/pjson/src/Json.php:73
/Users/jboudreau/Development/pjson/src/JsonSerialize.php:101
/Users/jboudreau/Development/pjson/src/JsonSerialize.php:55
/Users/jboudreau/Development/pjson/tests/DeSerializationTest.php:735

PR checks are not passing

@khepin fixed!

So, I'm not sure this is the correct approach (leaving it uninitialized) when we receive null.
If I compare this to the fact that we could have received anything here like null, a string, an int, a float , an array or a bool and the only valid thing to get is a dict / map. Then in the other cases we wouldn't skip it as unassigned right?
We'd throw an error and say "Hey, you wanted a Schedule shaped thing, but what we got was a bool ". Which admittedly is not a well handled case by this library.
Question is: should null be different?

@khepin I hear what you're saying. In principal I agree that receiving null when the field isn't declared as nullable is the same as receiving any other incompatible data type. e.g. a bool for an array or a string for a class type.
Right now, we throw a typeError in those incompatible data scenarios, and I think we should consider throwing errors when non-nullable field has a null value too (or is not present at all in the JSON). Basically what we talked about a few weeks ago. I'm going to work on a PR for this separately.
But barring that change, for this present scenario, I did some more testing and I realized that this error only gets thrown in a more specific scenario than I originally thought. I updated the PR description but copying the change here:

The model field is defined as non-nullable AND it requires internal deserialization itself but the data received for that field is `null

So if the field is string $foo and we receive "foo": null then it will stay uninitialized currently
But if the field is Category $foo and Category has #[Json] annotated fields then this error will get thrown
This fixes the library behaviour to treat both scenarios the same. i.e. the field will stay uninitialized

So the library currently behaves this way for scalar type fields because it doesn't have to call retrieveValue again on those fields, but if the field is a more complex type than this PHP Error gets thrown.
Barring any other changes, I think it makes sense to deserialize both those field types the same way - what do you think?


[Type checker] Requestify type checking of a function body

More fully requestify the type checking of a function body, so it covers all uses of "type check a function body (up to a certain point)" in the request. While here, make a few more synthesized bodies lazy:

Bodies of implicitly-defined class deinitializers
Bodies of default initializers

@swift-ci please smoke test

@swift-ci please test source compatibility

@swift-ci please smoke test Linux

@swift-ci please test source compatibility


Remove trailing empty line in copyright comment (part 23)

The next part of https://github.com/helidon-io/helidon/pull/5324 .

/trigger


horizon: add transaction submission rate limiting

Current rate limiting doesn't differentiate transaction submission from any other queries.
However, transaction submission takes much more resources, both in terms of the network, and for horizon.
I suggest adding a new configuration value, specific for transaction submission rate limiting.

Side note: This can be implemented without changing Horizon by load balance routing using HTTP method (GET or POST). Need to use more than one Horizon instance of course though.


Fix parsing of functions ending in 'derivative'

Provide a fix for #4773 by using explicit derivative function names not just suffix comparison.
Because the comparison was based on the suffix any function name ending in derivative was parsing as a valid query. This obviously can cause confusion.

Should there be a test to show that we fixed something?

Yep, on it thanks.

@corylanou tests added, thanks for the reminder.

+1


Added N- th Most Occurrence Strings in CPP

Have you read the Contributing Guidelines on Pull Requests?
YES.
Description
(Write your answer here.)
Given a list of words as strings,
return the n-th most occurrence words(strings) .
Words should follow the lexicographical order.
means the lexicographical order is a generalization of the alphabetical order
of the dictionaries to sequences of ordered symbols or, more generally,
of elements of a totally ordered set.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Fixes #5146

@ankitaggarwal23 kindly review it


NuGet Package Release

Hi sebarslan,
Great job on DateTimePicker control!
Could you please release a NuGet Package, so that people can download it by NuGet Package Manager? Thanks.
Best Regards
Joe

Hi @SunshineSpring666 ,
Thank you for your nice words.
When Control works stable, I will make a package as soon as possible.
Best Regards

Nuget package created.
Best Regards

Thanks a lot!


added org id for multi tenant support

Currently there is no support for multi tenant for mimir, we have to add X-Scope-OrgID header to http client requests to start supporting multi tenant.
We have to make changes in both Prometheus API where we are querying recording rules metics and Mimir where we are creating or updating recording rules.
https://grafana.com/docs/mimir/latest/references/architecture/deployment-modes/#microservices-mode /ready endpoint only works for Monolithic mode not for distributed mode.

Also pushed changes for the issue https://github.com/pyrra-dev/pyrra/issues/1291


Support for clarifying requirements around a single top level metadata version

closing as versioning is being re-imagined by the DCP2.0 team


Make it easier to configure AndroidManifest.xml from project.xml.

These changes allow the user to configure their <application /> and <activity /> tags without ever leaving project.xml.
<config:android>
	<application android:appCategory="game" android:supportsRtl="true" />
	<activity android:immersive="false" />
	<activity android:persistableMode="persistAcrossReboots" />
</config:android>

<config:android>
	<!-- If an attribute is repeated, it will overwrite the old value. -->
	<activity android:persistableMode="persistNever" />

	<!-- Passing an empty string removes that attribute. -->
	<application android:appCategory="" />

	<!-- It's even possible to override Lime's defaults. -->
	<application android:theme="@android:style/Theme.Fullscreen" />
</config:android>

Previously, the user would have needed to make a template, and then maintain that template indefinitely. Now, they can change the one thing they need, and leave the maintenance to Lime.

Note to self: remember to add documentation when this gets closer to release.


Organize the File Structure

Description
Put the "Circular Navbar" into the "Navbars" folder and all the Cards into "Product_Display_Cards"

Hey can I work on this issue. SWOC-Participant

Do you have understand the thing ?

If I'm not wrong then we just basically need to move the files/ folders to their respective places?

Yes

@Abirpal202049 please review the PR. Thank you


Crash on UWP

Hi, when i call GetImageStreamAsync(SignatureImageFormat.Jpeg, Color.FromHex("#999999"), Color.White) the app crashs and i get this stacktrace
System.ArgumentException: Value does not fall within the expected range.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.Controls.SignaturePadCanvasView.<GetImageStreamInternal>d__13.MoveNext()

Thanks for reporting this, I will investigate.

I was not able to reproduce this.
Do you have any more information? What version of SignaturePad?


SELinux is preventing /usr/sbin/tailscaled from using the sys_ptrace capability

Hello, thank you for this workaround. When I follow the instructions, when I get to the point to restart tailscaled.service, it takes a long time and then exits with job failed because of a timeout. On RHEL 8. In the log:
setroubleshoot[11109]: SELinux is preventing /usr/sbin/tailscaled from using the sys_ptrace capability.

*****  Plugin catchall (100. confidence) suggests   **************************

If you believe that tailscaled should have the sys_ptrace capability by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do allow this access for now by executing:
# ausearch -c 'tailscaled' --raw | audit2allow -M my-tailscaled
# semodule -X 300 -i my-tailscaled.pp

It made no difference if I then followed the steps for uninstalling the rules. Reinstalling fixed it back to normal, but still no ssh into the server.

I am also affected by this issue,
Tailscale ; 1.74.1
OS : AlmaLinux 9.4 amd64


GUI5.py: Page3/Tab3 - Transfer Data

Using the Qt Creator / QML Python:
Create the content for Page 3 / Tab 3 for the new Avatar GUI; (3points)
Test it and check making the program works as expected; (2points)
Submit on D2L: short presentation going over the code, and demo showing the program working; (3points)
After (3); check if your code is approved to enter the Avatar code repo; if so, do pull request on GitHub to have your code merged; (2points)

Pull request submitted, reviewed and approved. The issue is now solved and closed.