Add tests for svm/transaction_processor.rs

Problem
Many functions in svm/transaction_processor.rs were missing tests.
Summary of Changes
I created the pertinent tests. More will come in other PRs.

Codecov Report
Attention: Patch coverage is 94.30380% with 18 lines in your changes are missing coverage. Please review.

Project coverage is 81.8%. Comparing base (adefcbb) to head (411e765).

Additional details and impacted files
@@           Coverage Diff            @@
##           master     #112    +/-   ##
========================================
  Coverage    81.8%    81.8%
========================================
  Files         838      838
  Lines      225913   226233   +320
========================================
+ Hits       184935   185238   +303
- Misses      40978    40995    +17


Text with overflow is clipped from top

Steps to Reproduce

Execute flutter run on the code sample

Expected results: Text rendered correctly whether overflowing or not
Actual results: Text cut above when overflowing:

Code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

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

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

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    const TextStyle textStyle = TextStyle(
      fontSize: 18.0,
      color: Colors.black,
    );
    const StrutStyle strutStyle = StrutStyle(forceStrutHeight: true, height: 1.0);

    final List<String> texts = <String>[
      'BGBGBGj first line',
      'BGBGBGj second line is a bit longer',
      'BGBGBGj third line is a bit longer and has ellipsis',
      'BGBGBGj fourth line is normal',
      'Lorem ipsum 1',
      'Lorem ipsum 2',
      'Lorem ipsum 3',
      'Lorem ipsum 4',
      'Lorem ipsum 5',
      'Lorem ipsum 6',
      'Lorem ipsum 7',
      'Lorem ipsum 8',
      'Lorem ipsum 9',
      'Lorem ipsum 10',
      'Lorem ipsum 11',
    ];

    final List<Widget> tiles = texts.map((String text) {
      return ListTile(
        title: Text(
          text,
          style: textStyle,
          strutStyle: strutStyle,
          maxLines: 1,
          softWrap: false,
          overflow: TextOverflow.fade,
        ),
      );
    }).toList();

    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: SizedBox(
          width: 400.0,
          child: Scrollbar(
            child: ListView(children: tiles),
          ),
        ),
      ),
    );
  }
}

Hi @tgucio, Thanks for filing the issue. This is reproducible on all platforms verified on mac and windows.  The overflowed text is getting cut from the top. I tried replacing ListTile with SizedBox, Padding widget and I still see text getting cut, So this issue seems purely related to Text rendering.

code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

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

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

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    const TextStyle textStyle = TextStyle(
      fontSize: 18.0,
      color: Colors.black,
    );
    const StrutStyle strutStyle =
        StrutStyle(forceStrutHeight: true, height: 1.0);

    final List<String> texts = <String>[
      'BGBGBGj first line',
      'BGBGBGj second line is a bit longer',
      'BGBGBGj third line is a bit longer and has ellipsis',
      'BGBGBGj fourth line is normal',
      'Lorem ipsum 1',
      'Lorem ipsum 2',
      'Lorem ipsum 3',
      'Lorem ipsum 4',
      'Lorem ipsum 5',
      'Lorem ipsum 6',
      'Lorem ipsum 7',
      'Lorem ipsum 8',
      'Lorem ipsum 9',
      'Lorem ipsum 10',
      'Lorem ipsum 11',
    ];

    final List<Widget> tiles = texts.map((String text) {
      return Padding(
        padding: EdgeInsets.symmetric(vertical: 8),
        child: Text(
          text,
          style: textStyle,
          strutStyle: strutStyle,
          maxLines: 1,
          softWrap: false,
          overflow: TextOverflow.fade,
        ),
      );
    }).toList();

    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: SizedBox(
          width: 400.0,
          child: Scrollbar(
            child: ListView(children: tiles),
          ),
        ),
      ),
    );
  }
}

mac output

Desktop
Web

IOS

windows output

Desktop
Web

Android

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.2, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.2 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (2 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.11.0-0.0.pre.681, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.681 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a288bd5e3f (2 hours ago), 2022-02-24 23:06:19 -0600
    • Engine revision 1012ac4b5a
    • Dart version 2.17.0 (build 2.17.0-141.0.dev)
    • DevTools version 2.11.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your
        plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 14F40EC6-3B73-469A-A1C0-8CF0B152290F • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.1 21C52
      darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome
      98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

flutter doctor -v (windows)
[√] Flutter (Channel stable, 2.10.2, on Microsoft Windows [Version 10.0.19044.1526], locale en-US)    • Flutter version 2.10.2 at C:\flutter_sdk\stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (6 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\mahesh\AppData\Local\Android\sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

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

[√] Android Studio (version 2020.3)
    • 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 11.0.10+0-b96-7249189)

[√] VS Code (version 1.64.2)
    • VS Code at C:\Users\mahesh\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.34.0

[√] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30)
      (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows
      [Version 10.0.19044.1526]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome
      98.0.4758.102
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge
      98.0.1108.56

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[√] Flutter (Channel master, 2.11.0-0.0.pre.681, on Microsoft Windows [Version 10.0.19044.1526],
    locale en-US)
    • Flutter version 2.11.0-0.0.pre.681 at C:\flutter_sdk\master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a288bd5e3f (2 hours ago), 2022-02-24 23:06:19 -0600
    • Engine revision 1012ac4b5a
    • Dart version 2.17.0 (build 2.17.0-141.0.dev)
    • DevTools version 2.11.0

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\mahesh\AppData\Local\Android\sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

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

[√] Android Studio (version 2020.3)
    • 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 11.0.10+0-b96-7249189)

[√] VS Code (version 1.64.2)
    • VS Code at C:\Users\mahesh\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.34.0

[√] Connected device (5 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30)
      (emulator)
    • Windows (desktop)                  • windows       • windows-x64     • Microsoft Windows
      [Version 10.0.19044.1526]
    • Windows (UWP) (desktop)            • winuwp        • windows-uwp-x64 •
    • Chrome (web)                       • chrome        • web-javascript  • Google Chrome
      98.0.4758.102
    • Edge (web)                         • edge          • web-javascript  • Microsoft Edge
      98.0.1108.56

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

@tgucio @maheshmnj Hi, try to change the text textHeightBehavior property
        child: Text(
          text,
          style: textStyle,
          strutStyle: strutStyle,
          maxLines: 1,
          softWrap: false,
          overflow: TextOverflow.fade,
          textHeightBehavior: const TextHeightBehavior(
              applyHeightToFirstAscent: false,
              applyHeightToLastDescent: true,
              leadingDistribution: TextLeadingDistribution.proportional
          ),
        ),

@xu-baolin I don't see a difference on the latest master or stable channel for the code sample below (using the snippet share above)

code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

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

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

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    const TextStyle textStyle = TextStyle(
      fontSize: 18.0,
      color: Colors.black,
    );
    const StrutStyle strutStyle =
        StrutStyle(forceStrutHeight: true, height: 1.0);

    final List<String> texts = <String>[
      'BGBGBGj first line',
      'BGBGBGj second line is a bit longer',
      'BGBGBGj third line is a bit longer and has ellipsis',
      'BGBGBGj fourth line is normal',
      'Lorem ipsum 1',
      'Lorem ipsum 2',
      'Lorem ipsum 3',
      'Lorem ipsum 4',
      'Lorem ipsum 5',
      'Lorem ipsum 6',
      'Lorem ipsum 7',
      'Lorem ipsum 8',
      'Lorem ipsum 9',
      'Lorem ipsum 10',
      'Lorem ipsum 11',
    ];

    final List<Widget> tiles = texts.map((String text) {
      return Padding(
        padding: EdgeInsets.symmetric(vertical: 8),
        child: Text(
          text,
          style: textStyle,
          strutStyle: strutStyle,
          maxLines: 1,
          softWrap: false,
          overflow: TextOverflow.fade,
          textHeightBehavior: const TextHeightBehavior(
              applyHeightToFirstAscent: false,
              applyHeightToLastDescent: true,
              leadingDistribution: TextLeadingDistribution.proportional),
        ),
      );
    }).toList();

    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: SizedBox(
          width: 400.0,
          child: Scrollbar(
            child: ListView(children: tiles),
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (20 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.51

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.11.0-0.0.pre.836, on macOS 12.2.1 21D62 darwin-arm, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.836 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 340d1ac40f (4 hours ago), 2022-03-09 03:45:21 -0500
    • Engine revision 621c88dc2d
    • Dart version 2.17.0 (build 2.17.0-182.0.dev)
    • DevTools version 2.11.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart
        side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.2.1 21D62 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.51

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

It works on my windows platform

@xu-baolin, This is reproducible on windows too, Note that the text clipping  occurs only if there is a text-overflow on the right with fade.
Windows
https://user-images.githubusercontent.com/31410839/157451435-580e402a-cc24-42cc-a0b2-f2e79c566306.mp4
I am unable to reproduce this issue on Linux, Probably because I don't see TextOverflow.fade getting applied
Linux

flutter doctor -v (windows)
[√] Flutter (Channel stable, 2.10.3, on Microsoft Windows [Version 10.0.19044.1526], locale en-US)
    • Flutter version 2.10.3 at C:\flutter_sdk\stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (14 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\mahesh\AppData\Local\Android\sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

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

[√] Android Studio (version 2020.3)
    • 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 11.0.10+0-b96-7249189)

[√] VS Code (version 1.64.2)
    • VS Code at C:\Users\mahesh\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.36.0

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

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

flutter doctor -v (Linux)
[✓] Flutter (Channel stable, 2.10.2, on Ubuntu 20.04.3 LTS 5.13.0-28-generic, locale en_GB.UTF-8)
    • Flutter version 2.10.2 at /home/mahesh/Development/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (9 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mahesh/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 63.2.1
    • Dart plugin version 203.8452
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.63.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5556 • android-x86    • Android 11 (API 30) (emulator)
    • Linux (desktop)                    • linux         • linux-x64      • Ubuntu 20.04.3 LTS 5.13.0-28-generic
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 97.0.4692.99

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

This is happening because of the StrutStyle(forceStrutHeight: true, height: 1.0) combined with the clipping done by overflow: TextOverflow.fade.
The TextStyle is specifying fontSize: 18.0.  But the StrutStyle does not specify a fontSize, so it gets the default font size of 14.
The StrutStyle(forceStrutHeight: true, height: 1.0) thus calculates a text height for the paragraph based on the size 14 font.  That height is insufficient for the height of the size 18 font used in the TextStyle.
In most cases this mismatch does not matter.  But if TextOverflow.fade is applied and the text exceeds its constraints, then RenderParagraph.paint will clip painting to the paragraph bounds.  The bounds are based on the strut height described above, so the clip truncates some of the text.
One option would be setting a fontSize on the StrutStyle that matches the TextStyle.

Thanks a lot @jason-simmons for the details. Confirmed that adjusting the StrutStyle size to match the one in text style fixes this.


[dv,reggen] Could we make register lookups more efficient for scoreboards?

When discussing #7142, @sriyerg mentioned that our use of uvm_reg_block::get_reg_by_name and (less often) uvm_reg::get_field_by_name has the potential to be rather slow.
Maybe we should think about tweaking reggen to make it faster. Looking at the implementation of get_reg_by_name, it works by doing a linear search through the registers in the block. We could get the reggen code to emit associative arrays mapping name to register, which might be a bit quicker. Obviously, this wouldn't help for stuff where a scoreboard (say) needs to do different stuff depending on the register name, but it might be faster for uniform access.

We shouldn't do any of this work without some performance numbers to back it up. As a quick check, I just ran a longish chip simulation:
util/dvsim/dvsim.py hw/top_earlgrey/dv/top_earlgrey_sim_cfgs.hjson --select-cfgs chip -i chip_csr_hw_reset --reseed 1 -ro='-simprofile time' -bo='-simprofile'

on the current HEAD (39df35f). Here's a breakdown by "construct":

If I understand correctly, this means that we only spend 4% of our time running tasks. If that's right, I'm not sure there's any point in doing work to optimise them.
@sriyerg: Have I understood your suggestion right? If so, could you take a look at this profile. I think it suggests that we just shouldn't worry about it (although maybe we should be squinting at our assertions!). If you agree, could you close this issue?

The CSR tests do not enable scoreboards. The chip level the scoreboard isn't even developed (and we are not planning to either since most of the testing is done via SW). You need to run some IP level test stress test instead, where the scoreboard is enabled and it looks up the CSR accesses by name for every access.
Also, dvsim exposes --simprofile time switch so you dont need to pass -bo / -ro.

You may be right - the savings may be small. Still, its worth fixing our RAL flow because it's quite inefficient.

Oh! That was a silly way to profile things :-) Do you know a test that takes long enough for this to be measurable?

Al classic example would be rv_timer where the scoreboard is invoking uvm_re_match to match incoming access with the CSR because the CSRs are not indexable.
https://github.com/lowRISC/opentitan/blob/b44afb8dc4584022a9df9c1adead11a22523035b/hw/ip/rv_timer/dv/env/rv_timer_scoreboard.sv#L133
Try running the rv_timer_stress_all test.

Good idea! Running util/dvsim/dvsim.py hw/ip/rv_timer/dv/rv_timer_sim_cfg.hjson -i rv_timer_stress_all --fixed-seed 1 --profile=time on current HEAD takes about 30 minutes and gives the following:

Since the uvm_re_match calls are all on the A channel, they are children of the a_channel_thread item, adding up to at most 1.66% of execution time, I think. The first entry (d_channel_thread) is actually in the TL agent's driver. Looking at the caller/callee report, the time seems to be spent in the spinwait at the end of the loop.

@sriyerg has this been addressed or is this still under discussion?

Seems like we haven't addressed this, but it probably doesn't affect the run-time too much. We can address it later

Looks like this isn't worth it, based on the profile results. Closing this issue now.


[FEATURE] Raise errors when params do not exists

Is your feature request related to a problem? Please describe.
I would like to request a feature that raises an error when a parameter does not exist but it is referenced, instead of allowing the program to proceed. This leads to very confusing errors.
Describe the solution you'd like
I would like Seedfarmer to raise an error when a parameter that does not exist is passed as an argument.
Describe alternatives you've considered
I have considered manually checking for the existence of parameters before using them, but this leads to very repetitive work.
Additional context
Example:
name: app
path: modules/web-app/app/
parameters:
  - name: eks-cluster-name
    valueFrom:
      moduleMetadata:
        group: eks
        name: eks
        key: EksClusterName

If the EksClusterName key or eks module or eks group does not exsits, no error is raised.
Ive observed similar issue with SSM parameters. Not sure about env vars.

I can add a check if a reference to a moduledata element is available.  The references to SSM and SecretsManager are actually resolved on Codebuild at runtime.


Adding gnu/posix style command line options to ZigBeeConsoleJavaSE

I'd like to modify the console to support standard gnu/posix options like in the below example.
In order to support this I need to slightly modify the ZigBeeConsole, ZigBeeApi and ZigBeeNetworkManagerImpl to allow for more parameters to be passed to the constructors.
In order to avoid constructors with so many parameters I was thinking to the Builder pattern.
Do you think this is worthwhile to add?
Cheers,
Cristiano
usage: java -jar zigbee4java-serialPort.jar [OPTION]... DEVICE
 -c,--channel <channel>                 add the specified channel (11-26)
                                        to the list of channels scanned on
                                        establishing the network. The
                                        default channel list is 11, 14,
                                        15, 19, 20, 24, 25. This option
                                        may be repeated multiple times.
 -d,--distribute-network-key            distribute the network key in
                                        clear to devices joining the
                                        network. If not specified the
                                        default behaviour is to not
                                        distribute the network key.
 -e,--epid <epid>                       the extended PAN ID (EPID) in
                                        hexadecimal format
                                        (0-0xfffffffffffffffe). The
                                        default value is 0 which means
                                        that stack will set the EPID to
                                        the value of the IEEE address.
 -k,--network-key <network-key>         the network key in hexadecimal
                                        format (1-0xfffffffffffffffe). If
                                        not set the dongle will use a
                                        preconfigured value.
 -m,--discovery-mode <discovery-mode>   the method used to discover
                                        devices. Valid values are
                                        `announce', `addressing', `lqi'
                                        and `all' as a shortcut for the
                                        first tree. This option can be
                                        repeated multiple times.
 -p,--panid <panid>                     the PAN ID in hexadecimal format
                                        (0-0xffff). The default PAN ID is
                                        0xffff which means that stack will
                                        generate a random, nonconflicting
                                        PAN ID.
 -r,--reset-network                     start with a clean network state
                                        and configuration. If not
                                        specified the network will resume
                                        using the last state and
                                        configuration.
 -s,--no-security                       disable security.

For me, this all looks good. I just wonder if it is best to use a builder notation, or a config dictionary.

I'm wondering the same thing. I've started with the builder but I don't like it. The above options and possibly more need to be passed from the outermost class to the innermost one. Some options are consumed by classes in between. With Builder we need to create a parallel hierarchy of builders one for every class so that adding a new option might require to change every builder in the hierarchy. A dictionary might be simpler especially if the above configuration is read from a file. However, simply passing the dictionary to every constructor in the hierarchy is not that safe. You don't know who is using what configuration.


Add Code of Conduct from contributor-covenant.org

This is long overdue. People have been largely awesome when contributing to this project so far and I'm very happy about that. However, I wonder if anyone was ever put off in ways I didn't foresee.

:+1:


[SMALLFIX] change default max lock cache size to 100k.

@aaudiber

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/1896/
Test PASSed.


Added webinterface option for C++ chat client, small Rust config changes

Added C++ web interface available by default. Can be disabled by removing --webinterface from Enarx.toml. Uses port 8080. Made small changes to Rust files to fix broken file locations

A better way to do things might have been to rebase https://github.com/enarx/codex/pull/69 and update.

So you make your changes.
git commit -as Commit you new changes
git rebase -i HEAD~2 Compare last two commits
Replace the pick with f
Save, and git will "fix-up" the commit with the next commit, keeping the history clean.
git push -f origin <my branch> to force push, and if you have an open PR, it'll be automatically updated.

Also, you should probably work in a new branch instead of main. This is easy:

git checkout main
git pull origin main to get any changes which might be in your repo
git remote add upstream https://github.com/enarx/codex.git add the main repo as the "upstream"
git fetch upstream get the upstream history
git rebase upstream/main get the latest changes from upstream, add to your main
git push origin main freshen up your copy of main
Make some changes to your code, don't commit yet!
git checkout -b <my_new_branch>
git push origin <my_new_branch>
Open PR against your branch
Updates (shown above) will automatically update your PR, don't need to close and make new ones!

If you have any questions, let me know, or ask in the Enarx chat

Would it be OK to merge this PR as it is now or should I add it all to a new branch?

Don't worry about having a new branch this time. Hopefully @rvolosatovs will be able to take a look.

I've it fixed on local, was using your python script to generate the webpage assets but didn't realise it'd break something so I've included it. I'll upload final commit now and solve merge issues

That's fine for now, but the Nix code should be updated to generate assets.h instead of including it.

That's fine for now, but the Nix code should be updated to generate assets.h instead of including it.

Ah ok, I'll look into Nix, haven't used it before

Hi @kieranjazy, I tested your PR and it works great. Thanks!

Thanks Nick, just struggling to get Nix to run a Python script for me, still working on it

That's fine for now, but the Nix code should be updated to generate assets.h instead of including it.

I don't think we need that, at least it should not be a blocker for this PR, this warrants more discussion. Can we file a "goldplating" tech debt issue about it and get this merged?

@kieranjazy I believe the outdated wasi-libc issue is now solved, but the code still fails to compile with:
chat-client-wasm32-unknown-wasi> /nix/store/fxasr4jvncasd20wkisj6wf78gyww84y-c++/main.cpp:17:21: warning: unused variable 'HTTP_NOT_FOUND' [-Wunused-const-variable]
chat-client-wasm32-unknown-wasi> const unsigned char HTTP_NOT_FOUND[14] = "HTTP/1.0 404\n";
chat-client-wasm32-unknown-wasi>                     ^
chat-client-wasm32-unknown-wasi> /nix/store/fxasr4jvncasd20wkisj6wf78gyww84y-c++/main.cpp:19:21: warning: unused variable 'CONTENT_TYPE_PLAIN' [-Wunused-const-variable]
chat-client-wasm32-unknown-wasi> const unsigned char CONTENT_TYPE_PLAIN[27] = "Content-Type: text/plain\n\n";
chat-client-wasm32-unknown-wasi>                     ^
chat-client-wasm32-unknown-wasi> 2 warnings generated.
chat-client-wasm32-unknown-wasi> /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 3: -o: command not found


fixed some minor issues

fixed typo (articleParserActorPath instead of acticleParserActorPath)
removed not required pattern binder (msg@) with ParseArticle message handling
send target uri to HttpClientActor rather than hardcoded "text"

hey thanks - sorry I haven't merged this yet. I'll have a look shortly.


Added around 57 more test_ebooks as well as a ebook generator

Ebook generator uses deep_translator to generate test ebooks at scale for multiple languages
The Language list it'll attempt to run though is from the language_mapping in the lang.py

@ROBERT-MCDOWELL
Do you approve this merge?

YUP!  deep_translator uses  free public APIs! :D
No secret key needed! :D


newline symbol at end of mime-type

https://github.com/jeroendesloovere/vcard/blob/75508baac804fb0995e0df94b306d4f1c72def53/src/VCard.php#L163
Why "\n" at the end?

@verevskoy I've got no idea. Thanks for mentioning!
That must have come in by a PR.
I've removed it in the "master" branch.


feat: add data model EnvelopeFile for DSSE

fix the clippy warning
add EnvelopeFile for Envelope data Serialize/Deserialize

I think the next PR can handle the Statement layer, it should resolve several of the todos in this one as well.

I think the next PR can handle the Statement layer, it should resolve several of the todos in this one as well. What do you think, @cutecutecat?

That sounds fine. I will organize code about predicate which is part of a statement as next PR.


ClientOptions naming is incorrect when using client aliases

In the Event Grid Namespaces library, the main.tsp defines an EventGridClient, but in our client.tsp we customize this into two separate clients, EventGridSenderClient and EventGridReceiverClient. I would expect the generator to generate two options types, EventGridSenderClientOptions and EventGridReceiverClientOptions. Instead, it generates one options type, AzureMessagingEventGridNamespacesClientOptions.

In our design, one service will have one ClientOptions. We have not support multiple service.
@JoshLove-msft  What is EventGrid want? multiple service or one service with multiple clients (sub-client)?
If it is one service with multiple clients, all the clients will share the same clientOptions

cc  @m-nash for awareness.

In our design, one service will have one ClientOptions. We have not support multiple service. @JoshLove-msft What is EventGrid want? multiple service or one service with multiple clients (sub-client)? If it is one service with multiple clients, all the clients will share the same clientOptions

The generator generates two service clients, EventGridSenderClient and EventGridReceiverClient. I expected there to be two corresponding options types for the two client types.

In our design, one service will have one ClientOptions. We have not support multiple service. @JoshLove-msft What is EventGrid want? multiple service or one service with multiple clients (sub-client)? If it is one service with multiple clients, all the clients will share the same clientOptions

The generator generates two service clients, EventGridSenderClient and EventGridReceiverClient. I expected there to be two corresponding options types for the two client types.

Hello @JoshLove-msft Following is an example to define two services in one typespec file. Does EventGrid defines in the same way? Or would you please provide the EventGrid typespec for us to verify? thanks
import "@typespec/rest";
import "@typespec/http";

using TypeSpec.Http;

@service({
  title: "HttpbinServer",
})
@server(
  "https://{domain}.{tld}",
  "Httpbin endpoint",
  {
    @doc("second-level domain, use httpbin")
    domain?: string = "httpbin",

    @doc("top-level domain, use org")
    tld?: string = "org",
  }
)
namespace BinServer {

  @route("/status/{code}")
  interface ServerOp {
    status(@path code: int32): OkResponse | NoContentResponse;
  }
}

@service({
  title: "ContosoServer",
})
@server(
  "{Endpoint}/contoso/{ApiVersion}",
  "Service endpoint",
  {
    @doc("Service endpoint")
    Endpoint: string,

    @doc("Api Version")
    @path
    ApiVersion: APIVersions,
  }
)
namespace ContosoServer {
  enum APIVersions {
    v1: "v1",
  }

  @route("/contoso")
  interface ServerOp {
    get(@path code: int32): OkResponse | NoContentResponse;
  }
}

Here is the client.tsp - https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp

Here is the client.tsp - https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp

Hello @JoshLove-msft according to the spec, EventGrid only have one service Microsoft.EventGrid, the other clients belong to the same service.


Constructor fails with "RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds"

Is this a client library issue or a product issue?
Client library

Did someone already solve this?
No

Do you have a support contract?
Yes, but filing here for others visibility

Environment details

OS: node22-alpine
Node.js version: 22.2.0
npm version: 10.7.0
@google-cloud/logging version: 11.2.0

Steps to reproduce

Create an instance of the client like so

    const logging = new Logging();
    const log = logging.log('my-server', {
      maxEntrySize: 100000,
    });

The following stack trace is thrown

RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds
  at proto.utf8Write (node:internal/buffer:1066:13)
  at Op.writeStringBuffer [as fn] (/app/backend/node_modules/protobufjs/src/writer_buffer.js:61:13)
  at BufferWriter.finish (/app/backend/node_modules/protobufjs/src/writer.js:453:14)
  at /app/backend/node_modules/@grpc/proto-loader/build/src/index.js:177:109
  at Array.map (<anonymous>)
  at createPackageDefinition (/app/backend/node_modules/@grpc/proto-loader/build/src/index.js:177:39)
  at Object.fromJSON (/app/backend/node_modules/@grpc/proto-loader/build/src/index.js:230:12)
  at GrpcClient.loadProtoJSON (/app/backend/node_modules/google-gax/build/src/grpc.js:228:51)
  at new ConfigServiceV2Client (/app/backend/node_modules/@google-cloud/logging/build/src/v2/config_service_v2_client.js:136:38)
  at new Logging (/app/backend/node_modules/@google-cloud/logging/build/src/index.js:140:30)

This was working earlier today 22 Aug 2024 6p PDT, and began failing with builds created around 22 Aug 2024 9p PDT which leads me to believe that some change in an underlying library caused this issue.

I retried with smaller values for maxEntrySize 5000, and without supplying it at all and still got the same error

this is a really serious issue by the way, currently none of our projects can start new container instances (we use Google CloudRun) because the container start fails with the above error
so it's not only happening to new projects, but also existing projects that already have node_modules stored in their container image, so it's likely a server-side issue at google causing this
we're running well over a hundred projects, so if any of them need scaling or a container needs to restart due to a crash or anything, that means downtime until this issue is fixed
I hope this will be resolved fast and see a statement on how this happened and will be prevented in the future

Some additional data points, this affects multiple GCP node libraries (including secretManager) and appears to be in this code block where the protos are loaded from the server (I am guessing?) where the code hasn't changed in 5 years

This is due to a nodeJS issue with 22.7.0


Update repository url

Update the repository url to the AxiaCore repository url, because the older one returns the message "Repository not found" when try to clone the project. #2

Thank you


Onwughara Prisca

I imported layouts from https://github.com/zuri-training/AuthWiki_Team4/tree/Frontend    and convert them to laravel standard in   https://github.com/zuri-training/AuthWiki_Team4/tree/intermediate.
I also wrote article on how to use laravel UI

I imported frontend layouts/designs from https://github.com/zuri-training/AuthWiki_Team4/tree/Frontend  and Converts them to Laravel standard in the intermediate branch https://github.com/zuri-training/AuthWiki_Team4/tree/intermediate.
I also wrote the article on how to use Laravel UI.


forced use of translate3d causes css blurriness

A well-known issues with translate3d is that it causes text to be blurred.  See : http://stackoverflow.com/questions/8024061/webkit-blurry-text-with-css-scale-translate3d
Unfortunately, it seems that all of the transition modals, even if they don't need a 3d translate, have one.  You can see a noticeable difference when I unchecked the transform style in one of these screenshots.

It is much more pronounced on my screen than in the screenshots ...

A workaround is to add
'transform':'translate(-50%, -50%)'

into your modalStyle (assuming you want it centered)

+1

+1

I have the same problem but the solution seems inconsistent. In some situations it removes the blur, but sometimes it doesn't. For example:


Use full sklearn name in setup.py

Description
Linting and tests are failing for doctor-visits because the sklearn package can't be found. This is related to the sklearn deprecation, so, as recommended, use the full package name in the setup file.
This is the only instance of sklearn in all covidcast-indicators packages.
Changelog

setup.py

@krivard This is ready to merge


typing: update command decorators, fix item typevar bounds

Summary

Add generic parameters to user/message command decorators in InteractionBotBase, similar to #514
Update Param default parameter type to improve compatibility with callable/dynamic defaults
Fix view typevar in ui items by using Optional[View] bound instead of View, None constraints

some changes were originally part of #519, but now split to avoid additional scope creep
Checklist

[x] If code changes were made, then they have been tested

[x] I have updated the documentation to reflect the changes
[x] I have formatted the code properly by running task lint
[x] I have type-checked the code by running task pyright

[x] This PR fixes an issue
[ ] This PR adds something new (e.g. new method or parameters)
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

Blocked by #559

docs are failing due to incorrect references

fixed


Not able to change the bottom line color and height. Color is always black and the height is too big.

Before submitting issues ...

Make sure you are using XLPagerTabStrip latest release or master branch version.
Make sure your Xcode version is the latest stable one.
Check if the issue was already reported or fixed. We add labels to each issue in order to easily find related issues. If you found a match add a brief comment "I have the same problem" or "+1".
Please do not use the issue tracker for personal support requests. Stack Overflow is a better place for that where a wider community can help you!

When submitting issues, please provide the following information to help maintainers to fix the problem faster:

Environment: XLPagerTabStrip, Xcode and iOS version you are using.
In case of reporting errors, provide Xcode console output of stack trace or code compilation error.
Any other additional detail such as example code that you think it would be useful to understand, reproduce and solve the problem.

Hi there,
Please place the code before super.viewDidLoad(). It works for me.
This is my code:
`
override func viewDidLoad() {
settings.style.buttonBarBackgroundColor = .black
settings.style.buttonBarItemBackgroundColor = .black
settings.style.selectedBarBackgroundColor = .white
settings.style.buttonBarItemFont = .boldSystemFont(ofSize: 14)
settings.style.selectedBarHeight = 2.0
settings.style.buttonBarMinimumLineSpacing = 0
settings.style.buttonBarItemTitleColor = .white
settings.style.buttonBarItemsShouldFillAvailiableWidth = true
settings.style.buttonBarLeftContentInset = 0
settings.style.buttonBarRightContentInset = 0
changeCurrentIndexProgressive = {(oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
    guard changeCurrentIndex == true else { return }
    oldCell?.label.textColor = .white
    newCell?.label.textColor = .white

}
buttonBarView.backgroundColor   =   .black

super.viewDidLoad()

}
`


Show 2 time inputs with monthsShown={2}

Describe the bug
I am trying to use date range with time. I need to have 2 time inputs for each displayed calendar
To Reproduce
Add monthsShown={2} and showTimeInput={true} to see what I mean.
Expected behavior
Should display 2 time inputs for each month calendar
Screenshots

@DenysPavlenko have you solved this?

same issue here. any suggestions?

Same. Is the project alive?


Add Open-dubbing into community projects

@MahmoudAshraf97 If you can please merge this, I will appreciate it. Thanks


Accept null values in arrays

Issues Resolved
Fixes: https://github.com/elastic/elasticsearch-java/issues/66

@sag1naev Please let us know if you are facing issues with fixing DCO and if we can help :)

@sag1naev we'd love to get this in. Are you planning on trying to sort DCO for this?

@sag1naev, if you want this merged, please say so. I propose if this sits much longer we close without merging.

Closing this PR for now. @sag1naev Please feel free to reopen this PR or create a new one!


Fix native range thumb styles on Webkit (Chrome/Safari)

As described in #10553; the range slider's thumb was not styling correctly on Chrome or Safari.
This was simply because the pseudo-element ::-webkit-slider-thumb
had been incorrectly written as ::-wekit-slider-handle in scss/forms/_range.scss.
This revision fixes it to correctly use ::-webkit-slider-thumb.
Test Plan:

Run npm start

View slider.html in the docs in Chrome and check the range
slider's thumb is now styled correctly.
View the docs in Firefox and Edge and ensure they are still correct.

Run npm run test:sass and ensure all the tests still pass

Reviewers:
@kball - would you be appropriate to review this?

Awesome, thanks @farrago! This looks good, and congrats on first merged PR!


🚀 - tuiLabel required asterisk indicator

Description
When an input is required, a common UX pattern is to add a little red asterisk next to the input label.
example: the current input i'm using to write this

How I've implemented it with Taiga 3.0
With Taiga 3.x, i've added a simple css rule to add this asterisk

    [tuiLabelRequired] .t-text::after {
        content: '*';
        @apply text-red-600 text-base ml-1;
    }

Now with Taiga 4, since the label text is not wrapped into anything, it's not possible (as far as I know) to match it :

Since this is a very common UX pattern, I believe it could be a simple and useful feature to add.
It could be very simple to use. Example :
<label tuiLabel [required]="true">
   My label
   <input />
</label>

According to our design specs good UI practice is to keep most inputs required and not ask user unnecessary info. So per our specs you should instead add (optional) to non-essential inputs. This is not something we plan to add, since it's easy to just add * yourself to the label. Your example has it colored red and if we were to add it — we would definitely need a color customization option and that would be just a lot of work for barely any benefit to the user. You can just add global class with red color and asterisk and add <i class="required" /> and it's pretty much same amount of code as [required]="true" but with better control over it. Angular required validators do not match native :required so we cannot really automate/simplify this for users. So I'm closing this as not planned, I hope you accept my reasoning and thanks for sharing a workaround for those who would want the same thing.


make memoize exportable

Addresses #7

I haven't followed along various discussions (I need to catch up but work is so busy lately) so I may be talking nonsense. I vaguely recall thinking at some point: it's a good thing memoize is internal as it's not really a general memoize function. Does that objection make any sense?

Yeah, there are two things about this function which the user might not expect.

The cache size is fixed to 1
We don't serialise/hash the value of the arguments when they are objects (i.e. if you deeply mutate an argument we will always get a cache hit due to reference equality).

Possible solutions:

Documentation
Rename exported memoize function
Make memoize less surprising by implementing a variable cache size and providing the option for value equality for objects, maybe by using a third party memoize function (lodash?). If we did this I guess there is no reason to export the function at all because I think the original problem could be solved by changing the cache and equality settings.

@HeyImAlex, @speedskater Any thoughts on making memoize more configurable instead of exporting it?

@ellbee sorry for the delay but i was a bit busy the last days.
I like your idea making the memoization strategy configurable as a configuration option for creating selectors (there it would be able to use lodash memoization, database based ones or other fancy strategies).
As far as i understand, in our internal use case the default memoization functions should  be a function which uses cache size 1 and does reference equality checking. The reason is that a common memoization function like the one provided by lodash might store all previous call results, which can result in a significantly increased memory footprint for the whole application.
Maybe for our internal memoization function the name memoize is missleading. So maybe it might be less confusing if we name the function buffer or createCached or something totally different. Than it might be less confusing in the exported case. Or do you know of any library which exports the same kind of memoization/buffer function?
What do you think?

re: configuration, the one thing I see as obviously useful would be the cache size. Having it set to 1 was a surprise to me. Keeping the reference equality constraint is a good thing I think, and expected since it's advertised as using with redux which requires immutability.

@banderson Yes, I agree about the cache size being surprising, that is definitely something I would like to be configurable. The downside is that I think allowing a cache size bigger than 1 would mean that straight reference equality is not going to work with objects. Redux's immutability means the object reference (and therefore the key into the cache) is going to be different each time. Even when an objects value is the same as some previous object in the cache it won't produce a cache hit. We'd need to hash or JSON.stringify the object to get a value we could use a cache key.

@speedskater I pretty much agree. I'll have a think about whether there is a better name for memoize.

@ellbee I see the issue there. That could still be useful for those providing a custom equality function, however. No urgent need here, just my 2 cents :)

Probably superseded by #32


Failed to initialize virtualenvwrapper.

I installed pyenv-vritualenvwrapper but every time I call it I get:
$ pyenv virtualenvwrapper

Failed to initialize virtualenvwrapper.

Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.

I installed it using Homebrew. Is there anything that I need to put in my bash profile to get it working?
P.S: I have virtualenv and virtualenvwrapper installed separately before.

I know my comment is made after 3 years, but I also had a similar problem and I noticed I had to declare a global using pyenv:
pyenv global 2.7.14
and after running it, the problem went away.


fix: start tx clients after nodes have started

Occasionally, txsim will start before the consensus node is operational and will thus return an error and fail. This PR changes the TxClients to start after all nodes are up and running
This also adds backoff when waiting for nodes to come up

Sorry accidentally restored the branch, now deleted it.


systemd DefaultMaxTasks=512

Hi folks,
@gullitmiranda asked to post this as a ticket too. It turns out that latest systemd limits each service to 512 tasks (processes), which includes all docker containers.
For us, we run a lot of processes, so we were failing with hard to diagnose errors on Arch linux.
I suspect that as other distros upgrade to systemd, if they don't bother to set TasksMax for docker to something bigger, other people might get affected too.
As a reference, this is what I did on my system:
sudo systemctl edit docker
and put this in there:
[Service]
TasksMax=infinity

nice @slobo
I'm going to tag this issue checked with the research and workaround for other people to test and also we can decide which is the best solution approach.
The first sight I see two approaches:

Document this in troubleshooting
Check this issue in express install script

Notifying the problem and linking to the troubleshooting
automatically fixe (this option is less likely because it is complex and it is very intrusive)

@slobo which version of systemd are you referring to?

I believe it was introduced in 228: https://github.com/systemd/systemd/blob/dd050decb6ad131ebdeabb71c4f9ecb4733269c0/NEWS
(Note: I had the wrong spelling before in the title)


feat: add typings

When consuming from a TypeScript project, we have to manually maintain type defs so this adds them to the package.
Changes

Add index.d.ts for typings
Add rollup step to copy the declaration file to dist/ folder

@OllieJennings Let me know if this is something you'd accept otherwise the alternative will be to create a separately maintained @types package. Thanks!

@kamranayub Absolutely would accept this, thanks for the work, apologies didnt seen this over the weekend


Add goal to calculate total and average age of dependencies

This goal considers all dependencies, including transitive ones, but excludes dependencies with the same groupId. The underlying assumption is that a dependency with the same groupId is most likely part of the same project.

:shipit:


ui: show disk usage information for statement and slow query

close #739
Screenshots:

These new columns seem to only exist in the new TiDB version, but I don't think we need to handle the compatibility problem before the dashboard has a standalone deployment mode, right?

Sure, will check it today.

Checked that it works fine for the cluster of TiDB v4.0.7 and nightly.

Cool, should we show them in detail as well?

Let me add it.

Add them to the detail page:
Statement:

SlowQuery:

@sunrunaway Please have a try


Import md files [Question]

Hi! I'm testing your software. It seems pretty good, I just have question. Is there a way to import md files so they are recognized? I currently use another app called WikiMD and created some articles with it. Trying to copy them to the repository folder in Otter so they are visible in the web interace, the names appear in the pages, but trying to open them results in a 404 error.

Is there a way to make this work? Or should I recreate one by one the md files I already have?
Screenshot of opening imported md file:

Screenshot of opening md file created within otter:

I tried reading the docs but could not find a section for this (maybe I'm dumb, sorry about that)
Thanks in advance!

Hey @Ciberbago, my guess is the filename case causes these errors. By default An Otter Wiki assumes that all files are lowercase.
But there is a fix for this! In Settings > Content and Editing Preferences check [x] Retain page name case.

Re-reading the description I think I have to improve it.

 Thank you, that was what I needed. After using the option I can see all the md files I copied.
After that, I was having this message:
Not under version control
This page was loaded from the repository but is not added under git version control. Make a commit on the Edit page to add it.

And trying to edit the page, saving it would give me a server error, but after digging in the logs I discovered it was because the files I copied had the owner as root, changing that to www-data as the other files for the app, worked beautifully, just putting this here in case someone else migrating finds the same problem.


Raw text documentation

Describe the missing content
The raw text format used in /tellraw etc isn't documented anywhere I can find, aside from a few vague mentions in some tutorials.
I want to know:

What fields are available
Where it can and can't be used
How it compares to Java's format

Hello!
It looks like we've made some progress on this. Since it's been a while, I'm going to close this issue, but if you have any additional feedback, please reach out to us!
Thanks!


[WIP] Add support for Mistral-Nemo by supporting head_dim through config

What does this PR do?
Added support for Mistral-Nemo by allowing the head dimension to be specified in the configuration file. The changes included here mimic the behavior done in the transformers package by Mistral here.
As discussed in the issue (https://github.com/huggingface/text-generation-inference/issues/2252) with @ErikKaum - this PR allows the model to be loaded successfully and launched, but when sending a request I'm getting gibberish output. I tested running the same prompt with installing transformers from source, and the results were great (even with default temperature). I'm not familiar with how TGI works internally, so would appreciate any advice.
How to replicate:
Launch the TGI:
git checkout add-mistral-nemo
docker build . -t tgi
docker run --gpus all --shm-size 1g -e HF_TOKEN=<hf_token> -p 8080:80 -v $(pwd)/data:/data tgi --model-id mistralai/Mistral-Nemo-Base-2407

And then pinging it:
curl <IP_ADDRESS>:8080/generate \
    -X POST \
    -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":20}}' \
    -H 'Content-Type: application/json'

The output I'm getting is:
{"generated_text":" Deep zweigeschossy Bildholespy skulpt house Schriftstellerin\n\n في Bildholespy skulpt house Schriftstellerin\n\n في Bildh"}

Fixes # (issue)
https://github.com/huggingface/text-generation-inference/issues/2252: Add support for Mistral-Nemo
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[x] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@ErikKaum

Thank you @shaltielshmid for a nice initiative 🙌

@shaltielshmid thanks for the PR.
I created another smaller PR (other fixes have happened more generally regarding head_dim in other places.
https://github.com/huggingface/text-generation-inference/pull/2283
Happy to take your if you take it out of draft and use the same code (we don't want to pass head_dim, as it can safely be inferred from the config, and we have to handle the case where it doesn't exist because old configs do not define head_dim.

Done. Took it out of draft - feel free to take over the PR.
I will note one change that I kept: In a recent commit you added a check if hasattr(config, 'head_dim') - which I removed, since I define the property in the config constructor and therefore it will always exist.

Your solution would be better if we were still using MistralConfig but we are not. We removed a lot of complexity by relying more on transformers config directly as it simplifies code here quite a bit (with some cost regarding legacy, like the definition of head_dim)


3/8/2022 Publish

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

File
Status
Preview URL
Details

latest/docs-ref-autogen/ams/asset.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mariadb/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mysql/flexible-server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mysql/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/postgres/flexible-server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/postgres/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

2017-03-09-profile/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/quota.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/quota/operation.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/quota/request.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/quota/request/status.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/quota/usage.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/service-page/Reserved VM Instances.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2018-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/quota.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/quota/operation.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/quota/request.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/quota/request/status.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/quota/usage.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/service-page/Reserved VM Instances.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2019-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/quota.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/quota/operation.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/quota/request.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/quota/request/status.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/quota/usage.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/service-page/Reserved VM Instances.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/acr/connected-registry.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/acr/connected-registry/permissions.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/acr/scope-map.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/acr/token.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/quota.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/quota/operation.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/quota/request.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/quota/request/status.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/quota/usage.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded

2020-09-01-hybrid/docs-ref-autogen/service-page/Reserved VM Instances.yml
:white_check_mark:Succeeded

latest/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/acr/connected-registry.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/acr/connected-registry/permissions.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/acr/scope-map.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

This comment lists only the first 50 files in the pull request.

latest/docs-ref-autogen/ams/asset.yml

Line 272, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 278, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mariadb/server.yml

Line 74, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 74, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 466, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 466, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 469, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 475, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mysql/flexible-server.yml

Line 698, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 707, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mysql/server.yml

Line 79, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 79, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 476, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 476, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 479, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 485, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/postgres/flexible-server.yml

Line 586, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 592, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/postgres/server.yml

Line 79, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 79, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 424, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 424, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 427, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 433, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

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


Fixed  some routes in Course

Description
there are exist some wrong routes for some topics in the C ++ course
Screenshots
No response

Please assign this issue to me @arpit456jain

do this in ur opened PR


Order UI: add max amount to items

Need to put a max on each item in the inventory so people aren’t able to check everything out

the infrastructure for this is basically done - mainly just waiting on pantry to update inventory and set explicit limits

done in #56!


refactored node-boot to use functions and added commentary

This PR makes no change to the behavior of the node-boot script.  It adds functions and comments to improve clarity for readers and maintainers.

[DONOTMERGE]

This needs validation runs to verify that no behavior has changed.
It also needs review for clarity and comment correctness.

Ran validation to completion.
Please review for merge.

Fixed docker call parameters: --daemon -> --detach, --port -> --publish
Fixed missing negation in block device presence test.

Hi Mark, to make sure there is no misunderstanding, stack creation fails with this PR  when using atomic image. I think I mentioned this when we chatted about it a week ago so a fix will be required. When running:
heat stack-create oshift -e openshift-on-openstack/env_origin.yaml -f openshift-on-openstack/openshift.yaml -P external_network=public -P flavor=m1.shift -P server_image=centos-atomic -P master_server_group_policies=affinity -P master_docker_volume_size_gb=6 -P node_docker_volume_size_gb=4
If fails on infra node with error:
docker run --name dnsmasq --detach --publish 53:53/udp --volume /var/log:/var/log --volume /etc/hosts:/etc/hosts --volume /etc/dnsmasq.conf:/etc/dnsmasq.conf --volume /etc/resolv.conf.local:/etc/resolv.conf jprovaznik/ooshift-dns
01a9c73642783f79e3e03ee4918eb8a7a4b94772d446eb8935401389cb613b5f
Error response from daemon: Cannot start container 01a9c73642783f79e3e03ee4918eb8a7a4b94772d446eb8935401389cb613b5f: [8] System error: not a directory
Which suggests that the refactoring of the docker params is not equivalent to the orig version.

I didn't see this.  It did fail, but not until running deployment_infra_node_add for openshift_masters.
 heat resource-list oshift -n2 | grep FAIL
| openshift_masters         | 58952d08-9e2c-48f0-a33c-7f21c571bf91                                                | OS::Heat::ResourceGroup                                                                       | CREATE_FAILED   | 2016-03-29T17:59:01Z |                   |
| 0                         | fb02d43d-9ae9-4176-9af5-b1c31f97745d                                                | file:///root/openshift-on-openstack/master.yaml                                               | CREATE_FAILED   | 2016-03-29T18:03:18Z | openshift_masters |
| deployment_infra_node_add | 111f67c5-2826-44b6-b278-1c5e169e8a99                                                | OS::Heat::SoftwareDeployment                                                                  | CREATE_FAILED   | 2016-03-29T18:03:19Z | 0                 |

I was not copying /etc/resolv.conf to /etc/resolv.conf.local when not using the local DNS.

@jprovaznik @lebauce Passes without error for both centos72 and centos-atomic.
Please re-test?

Deployments pass for me, once the bugfix commit is squashed with the first patch I think we can merge this.

@jprovaznik @lebauce rebased and squashed.  Thanks!


THANKS!! and it works without referencing stylesheets

Thanks a lot, chrisward, for creating that!
I used it without referencing a stylesheets
import component from "svelte-tag"

import App from "../components/auto-select.svelte";
new component({component:App, tagname:"svelte-auto-select"})

and its applying all global styles and handling props giving to the CE.

If you don't have shadow:true set, any global css will be visible inside the component. The href attribute is only really needed if you want to inject css into the shadow dom.
Hope that make sense.

Thank you for clearify, crisward!
For me its perfect like it is.
BR,
Christian

No problem.


libpaper 1.1.28 -> 1.1.29

Description of changes
https://metadata.ftp-master.debian.org/changelogs//main/libp/libpaper/libpaper_1.1.29_changelog
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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
[x] 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.

commit message should be libpaper: 1.1.28 -> 1.1.29 this way CI will know what attribute to build

this should also target staging

@ofborg build tuxpaint


Improve docstrings about axis of Caffe functions

I found a user, who does not care about Caffe, was confused in using L.Bias. I'd like to tell in the document that the meaning of the argument axis there is different from numpy's.

LGTM


No straightforward way to update spawned projects upon update of this repo

Is there an appropriate solution to update projects built from this template to include changes/updates to the template?

Maybe we want to split this out into smaller issues?

For instance - theme.js files might be best served by an import from node module - this wouldn't the case for all project but for some yes


discriminator value not be extracted, when it should be

Expected Behavior
Compiling, and running, the following code throws no exception.
const schema = discriminatedUnion('type', [
    z.object({type: z.literal('1'), val: z.literal(1)}),
    z.object({type: z.literal(1), val: z.literal(2)}),
]);

Actual Behavior
Throws

Error: A discriminator value for key type could not be extracted from all schema options

Analysis
I was able to reproduce in multiple of my projects.
The common denominator (after ruling out module type, typescript config, dependency version, etc.) seems to be pnpm.
The instanceof checks in discriminated-union.ts#L87-L111 always return false, which causes the function to consistently return [].
I was able to create a workaround by patching the checks to compare on constructor.name instead of instanceof.
When I find the time, I can create a repro.
Specifications

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

I'm seeing exactly the same issue.
I don't quite understand why the instanceof checks always returns false, like there is two different zod instances.
The suggested workaround from @timm-stelzer-e-farm works.
Here is some more information :

I'm not using pnpm, but npm v9.5.0
I've checked my packages for duplicate versions of the zod, package and only have one
I'm using Next.js + TypeScript

I have limited knowledge about modules so I'm not sure about what's happening... but here are some thoughts :

Are instances supposed to be shared between node_modules and the app entry point ? Or does it depends on the build setup ?
Can libraries safely do instanceof on peerDependencies ? Or should they use constructor.name instead ?
Should we open a PR with the woraround, or could it cause unexpected issues ?

Anyway, here the patch (for patch-package) I'm using as a workaround :
zod.discriminatedunion+1.0.1.patch

I'm seeing the exact same issue when installing the package with Yarn v1.
Appreciate the patch @clementoriol

ran into this as well on remix (npm), i also patch-packaged by changing instanceof to .name comparison

after digging into my compiled worker output, i believe the issue here is that this package isn't producing an ESModule, so zod gets compiled twice in the output (once in cjs due to the import/require of this package), and once via import in your project. my compiled out as an example, has ZodLiteral and ZodLiteral2, so i'd actually have to do ZodLiteral.name.includes(constructor.name) to make it work

more context if anyone is using minification, that will also cause the class names to change and since there are two copies, they will never match, so you'll need to disable minify in production builds.

pushed a PR with a fix, also published my fork incase someone wants to test/verify: @parisholley/zod.discriminatedunion: 1.0.3


Feedback for Meizu page

Meizu 16s Pro
Android 9
Flyme <IP_ADDRESS>A
Version: 20190819
The system doesn't kill my app，but it seems that sleep android can not get accelerometer data after the screen locked

Did not see tyhis issue since Android 1.6 - 2.3 when the screen needed to be on tio allow sensor to work.. luckily nowadays Android can run sensors in the background.. hard to say why Flyme is doing this.. anyway you can go to settings > Sleep tracking > Screen dimming > Always on clock.. this will keep your screen on all time during tracking - of course battery consumption will be higher, it would be interesting to see if this fixes the issue..


[Feature Request] Make streaming metrics resettable

Hi!
Currently, the streaming metrics are (as far as I know) not resettable. I'd like to be able to e.g. reset the counter after each epoch. This way, having e.g. a very bad accuracy in the beginning of training will not still influence the accuracy value ten epochs later. It makes it easier to compare my results to runs obtained outside tensorflow.
The only workaround I found is to do sess.run(tf.initialize_local_variables()) after each epoch, but of course this can have bad side effects if I have other local variables that I don't want to reset.
Or is there a way to achieve what I want that I didn't think of?

@untom Thanks for filing the issue!  The request sounds reasonable to me.  We welcome contributions!
Maybe @nathansilberman @langmore might know whether there's some existing way to reset streaming metrics; I couldn't come up with anything either.

Thanks, that is very useful. It seems to me that i would make sense if the metrics would all return a reset_op together with the other ops. But that would break existing code. A workaround could be to only return the reset_op if the user specifies an optional return_reset_op=True parameter when creating the OP. Is that a sensible approach for this?

Agree with @untom .
When building a multi-target training graph, there might be tens of prediction to evaluate on tens of labels. It would be nightmare to generate this local_variable reset op manually.
Following @AshishBora 's way, I'am getting the last 4 variable from local_variable list. But this doesn't seems to be extensible.

How about just saving and reloading models every epoch? All local variables will be reset. Because 1 epoch is generally long, it should not cost much.

Thank you @AshishBora for your guidance. However I am encountering an issue using TF-Slim. The problem is that the TF-Slim use tf.train.Supervisor() and after that the graph is finalized and cannot be be modified. I get the following error:
raise RuntimeError("Graph is finalized and cannot be modified.") RuntimeError: Graph is finalized and cannot be modified.
So the above solution won't work.
Is there any other solution?
Thanks

You can run the following to reset the local variables used by metric computation:
session.run(tf.local_variables_initializer())
To avoid the issue of graph finalization, just create a reference to this op BEFORE session creation:
reset_op = tf.local_variables_initializer()
... session created
session.run(reset_op)

Note that this is tightly coupled to #9498.

Thank you @nathansilberman .
Unfortunately it didn't work. Looks like the supervisor is much smarter than that!
Moreover I the the problem with tf.local_variables_initializer() is that by defining the reset_op it may reset all variables.
I am not %100 sure though.
But thank you so much for the hint. I think I may find the solution from this.

Alternatively, you can always define the metrics within a name scope and
only reset the local variables within that name scope.
On Fri, Jun 2, 2017 at 11:01 AM, Amirsina Torfi<EMAIL_ADDRESS>wrote:

Thank you @nathansilberman https://github.com/nathansilberman .
Unfortunately it didn't work. Looks like the supervisor is much smarter
than that!
Moreover I the the problem with tf.local_variables_initializer() is that
by defining the reset_op it may reset all variables.
I am not %100 sure though.
But thank you so much for the hint. I think I may find the solution from
this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/4814#issuecomment-305813151,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUMnHAfTXrDFN2hDwEKY06TUPgPd57jNks5sACPjgaJpZM4KQz81
.

@untom I made it. Thanks to @nathansilberman .
I made a pull request to tensorflow for changing slim.learning.train and I added a reset_op for metric.
Although different changes must be made to train_image_classifier.py provided by slim, but the first pull request is necessary to accept.
pull request:
#10400
https://github.com/tensorflow/tensorflow/pull/10400#issuecomment-305853010

@untom I just stumbled upon your discussion. I am struggling with the same issue and I just started wrapping all my code up here. Please, note that it is still a development and unstable branch and may rapidly change in the next few hours. Any feedback or suggestion is more than welcome. The idea is to have a easy way for having both streaming computation and batch-based computation of metrics. I would be carefule with the idea suggested @AshishBora since it sounds like breaking encapsulation -- but I see that's the quickest way to go.

Concluding the suggestions by @AshishBora (https://github.com/tensorflow/tensorflow/issues/4814#issuecomment-254197646) and @nathansilberman (https://github.com/tensorflow/tensorflow/issues/4814#issuecomment-305688961) I came up with this function to create all three ops with one call, while keeping the variables encapsulated:
def create_reset_metric(metric, scope='reset_metrics', **metric_args):
  with tf.variable_scope(scope):
    metric_op, update_op = metric(**metric_args)
    reset_op = tf.local_variables_initializer()
  return metric_op, update_op, reset_op

An example to create the operations inside the graph is then like this:
epoch_loss, epoch_loss_update, epoch_loss_reset = create_reset_metric(
                    tf.contrib.metrics.streaming_mean_squared_error, 'epoch_loss',
                    predictions=output, labels=target)

does local_variables_initializer only return variables from the current scope? Otherwise this can have bad side effects

Indeed, it has! Thanks, I changed it to use vars = tf.contrib.framework.get_variables(scope, collection=tf.GraphKeys.LOCAL_VARIABLES) now, which already filters by scope.

what's the best practice to use this
import tensorflow as tf

pred = tf.placeholder(shape=[3],dtype=tf.int32)
label = tf.placeholder(shape=[3],dtype=tf.int32)
v,op = tf.metrics.accuracy(pred,label)
reset_op = tf.local_variables_initializer()

sess = tf.InteractiveSession()
sess.run(reset_op)
for i in range(10):
    print(sess.run([v,op,reset_op],{pred:[0,1,2],label:[0,1,2]}))

I get
[0.0, 1.0, None]
[1.0, 1.0, None]
[0.0, 0.0, None]
[inf, 1.0, None]
[0.0, 1.0, None]
[0.0, 1.0, None]
[1.0, 1.0, None]
[inf, inf, None]
[0.0, 0.0, None]
[0.0, inf, None]

You are doing what I did wrong in the first place: You are using the tf.local_variables_initializer(). Try using another reset op, which only resets the variables you need, e.g. by selecting the variables you need:
with tf.variable_scope("reset_metrics_accuracy_scope") as scope:
    v, op = tf.metrics.accuracy(pred, label)
    vars = tf.contrib.framework.get_variables(scope, collection=tf.GraphKeys.LOCAL_VARIABLES)
    reset_op = tf.variables_initializer(vars)

You would then call sess.run(op) whenever your metric should be updated, sess.run(reset_op) whenever you want to reset it, and sess.run(v) whenever you want to know its value.

@shoeffner : I'm not sure if this has changed in the last version of TF, but 'vars' is an empty list when I use your snippet above.
To be more precise, I always run into the exception of my code, which is based on your proposal:
class MetricOp(object):
    def __init__(self, name, value, update, reset):
        self._name = name
        self._value = value
        self._update = update
        self._reset = reset

    @property
    def name(self):
        return self._name

    @property
    def value(self):
        return self._value

    @property
    def update(self):
        return self._update

    @property
    def reset(self):
        return self._reset

def create_metric(scope: str, metric: callable, **metric_args) -> MetricOp:
    with tf.variable_scope(scope) as scope:
        metric_op, update_op = metric(**metric_args)
        scope_vars = tf.contrib.framework.get_variables(
            scope, collection=tf.GraphKeys.LOCAL_VARIABLES)

        if len(scope_vars) == 0:
            raise Exception("No local variables found.")

        reset_op = tf.variables_initializer(scope_vars)
    return MetricOp('MetricOp', metric_op, update_op, reset_op)

@bsautermeister
You can use scope.original_name_scope instead of scope.
vars = tf.contrib.framework.get_variables(
             scope.original_name_scope, collection=tf.GraphKeys.LOCAL_VARIABLES)

@sguada
Hi, I am new to TF. I like to keep the separate evaluation cycle in 'tf.slim'.  Is there a way I could reset the 'streaming_accuracy' if I use 'slim.evaluation.evaluation_loop'?

@studentSam0000 You might want to take a look at this tf slim example, where they already use some metrics. However, if you really want to reset your streaming accuracy, you could probably use a hook in which you call the reset op, something along these lines:
class ResetHook(tf.train.SessionRunHook):
    """Hook to perform reset metrics every N steps."""

    def __init__(self, reset_op, every_step=50):
        self.reset_op = reset_op
        self.every_step = every_step
        self.reset = False

    def begin(self):
        self._global_step_tensor = tf.train.get_global_step()
        if self._global_step_tensor is None:
            raise RuntimeError("Global step should be created to use ResetHook.")

    def before_run(self, run_context):
        if self.reset:
            return tf.train.SessionRunArgs(fetches=self.reset_op)
        return tf.train.SessionRunArgs(fetches=self._global_step_tensor)

    def after_run(self, run_context, run_values):
        if self.reset:
            self.reset = False
            return
        global_step = run_values.results
        if global_step % self.every_step == 0:
            self.reset = True

Using with the snippet above (https://github.com/tensorflow/tensorflow/issues/4814#issuecomment-314801758) you can then build something like this:
epoch_loss, epoch_loss_update, epoch_loss_reset = create_reset_metric(
                    tf.contrib.metrics.streaming_mean_squared_error, 'epoch_loss',
                    predictions=output, labels=target)

reset_hook = ResetHook(epoch_loss_reset, 10)

tf.contrib.slim.evaluation.evaluation_loop('local', 'checkpoints', 'logs', num_evals=1000,
    ..., hooks=[reset_hook])

I haven't tested the hook, but I used a similar hook to perform traces a while ago and just adjusted that one a little bit, but you should get the idea of how it works.

I've been using the METRIC_VARIABLES collection as the var_list for variables_initializer to reset metrics with a control dependency before updating them, similar in spirit to @shoeffner's approach.

@gadagashwini With TF 2, this can be closed.

@rmothukuru With TF 2, this can be now closed (the tf.keras.metrics are resettable).

@foxik,
Thank you for the confirmation. Closing the issue as it has been fixed.