Columns in DataTable reverse the characters in Persian words

Rows are correct in Persian but the columns are like this.

Hi @FtADev
Can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample
Thank you

It just happened on flutter web! I tested on an emulator and that was ok!
flutter doctor -v
`[✓] Flutter (Channel beta, 1.22.0-12.1.pre, on Linux, locale en_US.UTF-8)
• Flutter version 1.22.0-12.1.pre at ~/flutter
• Framework revision 8b3760638a (6 days ago), 2020-09-15 17:47:13 -0700
• Engine revision 4654fc6cf6
• Dart version 2.10.0 (build 2.10.0-110.3.beta)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at ...
• Platform android-30, build-tools 30.0.2
• Java binary at: ...
• Java version OpenJDK Runtime Environment (build
1.8.0_212-release-1586-b4-5784211)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor
--android-licenses
[✓] Chrome - develop for the web
• CHROME_EXECUTABLE = chromium
[✓] Android Studio (version 4.0)
• Android Studio at ...
• Flutter plugin version 48.1.2
• Dart plugin version 193.7547
• Java version OpenJDK Runtime Environment (build
1.8.0_242-release-1644-b3-6222593)
[✓] Connected device (2 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web)     • chrome     • web-javascript • Chromium 83.0.4103.97
Arch Linux
! Doctor found issues in 2 categories.
`
flutter run -d chrome -v
`[ +116 ms] executing: [~/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +33 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8b3760638a189741cd9ca881aa2dd237c1df1be5
[        ] executing: [~/flutter/] git tag --points-at HEAD
[  +14 ms] Exit code 0 from: git tag --points-at HEAD
[        ] 1.22.0-12.1.pre
[   +9 ms] executing: [~/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +8 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [~/flutter/] git ls-remote --get-url origin
[   +5 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +46 ms] executing: [~/flutter/] git rev-parse --abbrev-ref HEAD
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +46 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +20 ms] executing: ~/Android/sdk/platform-tools/adb devices -l
[  +20 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +70 ms] executing: ~/Android/sdk/platform-tools/adb devices -l
[  +76 ms] Found plugin flutter_dropzone at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +6 ms] Found plugin flutter_dropzone_web at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +2 ms] Found plugin flutter_keyboard_visibility at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[ +138 ms] Found plugin flutter_dropzone at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +4 ms] Found plugin flutter_dropzone_web at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +2 ms] Found plugin flutter_keyboard_visibility at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +40 ms] Generating .../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +81 ms] List of devices attached
[   +3 ms] List of devices attached
[ +109 ms] Launching lib/main.dart on Chrome in debug mode...
[  +55 ms] Updating assets
[ +118 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[   +6 ms] Syncing files to device Chrome...
[  +15 ms] Found plugin flutter_dropzone at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +2 ms] Found plugin flutter_dropzone_web at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[        ] Found plugin flutter_keyboard_visibility at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +34 ms] Found plugin flutter_dropzone at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +1 ms] Found plugin flutter_dropzone_web at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +1 ms] Found plugin flutter_keyboard_visibility at ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +24 ms] Generating .../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +47 ms] <- reset
[   +6 ms] ~/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev ~/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
~/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true
--output-dill /tmp/flutter_tools.YHYCEE/flutter_tool.XGXPSJ/app.dill --libraries-spec file://~/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages
-Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts
--track-widget-creation --filesystem-root /tmp/flutter_tools.YHYCEE/flutter_tools.KKCYHC --filesystem-scheme org-dartlang-app --initialize-from-dill build/cache.dill.track.dill
--platform file://~/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +13 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+12354 ms] Syncing files to device Chrome... (completed in 12,494ms, longer than expected)
[        ] Synced 35.1MB.
[        ] <- accept
[        ] Caching compiled dill
[ +468 ms] [CHROME]:
[        ] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:40171/devtools/browser/fac04c65-401d-4db1-83ed-3b5ab5923939
[+4096 ms] Debug service listening on ws://<IP_ADDRESS>:40215/fukFPgbaFV4=
[ +255 ms] Debug service listening on ws://<IP_ADDRESS>:40215/fukFPgbaFV4=
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[        ] 🔥  To hot restart changes while running, press "r" or "R".
[   +1 ms] For a more detailed help message, press "h". To quit, press "q".
`
and a sample code:
SingleChildScrollView(         scrollDirection: Axis.horizontal,         child: Directionality(           textDirection: TextDirection.rtl,           child: DataTable(             columns: [               DataColumn(                 label: Text(                   "شرح کالا",                 ),               ),               DataColumn(                 label: Text(                   "واحد کالا",                 ),               ),               DataColumn(                 label: Text(                   "تعداد",                 ),               ),               DataColumn(                 label: Text(                   "تاریخ نیاز",                 ),               ),               DataColumn(                 label: Text(                   "نام دسته",                 ),               ),               DataColumn(                 label: Text(                   "توضیحات",                 ),               ),             ],             rows: List<DataRow>.generate(               5,               (index) => DataRow(                 color: MaterialStateProperty.resolveWith<Color>(                     (Set<MaterialState> states) {                   if (states.contains(MaterialState.selected))                     return Theme.of(context)                         .colorScheme                         .primary                         .withOpacity(0.08);                   if (index % 2 == 0) return Colors.grey.withOpacity(0.3);                   return null; // Use default value for other states and odd rows.                 }),                 cells: List<DataCell>.generate(6, (index) {                   return DataCell(Text('Row $index'));                 }),                 selected: selected[index],                 onSelectChanged: (bool value) {                   setState(() {                     selected[index] = value;                   });                 },               ),             ),           ),         ),       ),

It just happened on flutter web. I tested on an emulator and that was ok!
Here is flutter doctor -v
[✓] Flutter (Channel beta, 1.22.0-12.1.pre, on Linux, locale en_US.UTF-8)
    • Flutter version 1.22.0-12.1.pre at .../flutter
    • Framework revision 8b3760638a (6 days ago), 2020-09-15 17:47:13 -0700
    • Engine revision 4654fc6cf6
    • Dart version 2.10.0 (build 2.10.0-110.3.beta)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at .../Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: .../android-studio-4-canary/jre/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = chromium

[✓] Android Studio (version 4.0)
    • Android Studio at
      .../.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.65
      14223
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (2 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Chromium 83.0.4103.97
      Arch Linux

! Doctor found issues in 2 categories.

flutter -d chrome -v
[ +116 ms] executing: [.../flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +33 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8b3760638a189741cd9ca881aa2dd237c1df1be5
[        ] executing: [.../flutter/] git tag --points-at HEAD
[  +14 ms] Exit code 0 from: git tag --points-at HEAD
[        ] 1.22.0-12.1.pre
[   +9 ms] executing: [.../flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +8 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [.../flutter/] git ls-remote --get-url origin
[   +5 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +46 ms] executing: [.../flutter/] git rev-parse --abbrev-ref HEAD
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +46 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +20 ms] executing: .../Android/sdk/platform-tools/adb devices -l
[  +20 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +70 ms] executing: .../Android/sdk/platform-tools/adb devices -l
[  +76 ms] Found plugin flutter_dropzone at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +6 ms] Found plugin flutter_dropzone_web at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +2 ms] Found plugin flutter_keyboard_visibility at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[ +138 ms] Found plugin flutter_dropzone at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +4 ms] Found plugin flutter_dropzone_web at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +2 ms] Found plugin flutter_keyboard_visibility at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +40 ms] Generating .../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +81 ms] List of devices attached
[   +3 ms] List of devices attached
[ +109 ms] Launching lib/main.dart on Chrome in debug mode...
[  +55 ms] Updating assets
[ +118 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[   +6 ms] Syncing files to device Chrome...
[  +15 ms] Found plugin flutter_dropzone at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +2 ms] Found plugin flutter_dropzone_web at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[        ] Found plugin flutter_keyboard_visibility at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +34 ms] Found plugin flutter_dropzone at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone-1.0.9/
[   +1 ms] Found plugin flutter_dropzone_web at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_dropzone_web-1.0.7/
[   +1 ms] Found plugin flutter_keyboard_visibility at .../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-3.2.2/
[  +24 ms] Generating .../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +47 ms] <- reset
[   +6 ms] .../flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev .../flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
.../flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true
--output-dill /tmp/flutter_tools.YHYCEE/flutter_tool.XGXPSJ/app.dill --libraries-spec file://.../flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages
-Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts
--track-widget-creation --filesystem-root /tmp/flutter_tools.YHYCEE/flutter_tools.KKCYHC --filesystem-scheme org-dartlang-app --initialize-from-dill build/cache.dill.track.dill
--platform file://.../flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +13 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+12354 ms] Syncing files to device Chrome... (completed in 12,494ms, longer than expected)
[        ] Synced 35.1MB.
[        ] <- accept
[        ] Caching compiled dill
[ +468 ms] [CHROME]:
[        ] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:40171/devtools/browser/fac04c65-401d-4db1-83ed-3b5ab5923939
[+4096 ms] Debug service listening on ws://<IP_ADDRESS>:40215/fukFPgbaFV4=

[ +255 ms] Debug service listening on ws://<IP_ADDRESS>:40215/fukFPgbaFV4=
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[        ] 🔥  To hot restart changes while running, press "r" or "R".
[   +1 ms] For a more detailed help message, press "h". To quit, press "q".

and a sample code
SingleChildScrollView(
        scrollDirection: Axis.horizontal,
        child: Directionality(
          textDirection: TextDirection.rtl,
          child: DataTable(
            columns: [
              DataColumn(
                label: Text(
                  "شرح کالا",
                ),
              ),
              DataColumn(
                label: Text(
                  "واحد کالا",
                ),
              ),
              DataColumn(
                label: Text(
                  "تعداد",
                ),
              ),
              DataColumn(
                label: Text(
                  "تاریخ نیاز",
                ),
              ),
              DataColumn(
                label: Text(
                  "نام دسته",
                ),
              ),
              DataColumn(
                label: Text(
                  "توضیحات",
                ),
              ),
            ],
            rows: List<DataRow>.generate(
              5,
              (index) => DataRow(
                color: MaterialStateProperty.resolveWith<Color>(
                    (Set<MaterialState> states) {
                  if (states.contains(MaterialState.selected))
                    return Theme.of(context)
                        .colorScheme
                        .primary
                        .withOpacity(0.08);
                  if (index % 2 == 0) return Colors.grey.withOpacity(0.3);
                  return null; // Use default value for other states and odd rows.
                }),
                cells: List<DataCell>.generate(6, (index) {
                  return DataCell(Text('Row $index'));
                }),
                selected: selected[index],
                onSelectChanged: (bool value) {
                  setState(() {
                    selected[index] = value;
                  });
                },
              ),
            ),
          ),
        ),
      ),

I fixed that with adding letterSpacing: 0, to TextStyle!
DataColumn(
                label: Text(
                  "شرح کالا",
                  style: TextStyle(
                    letterSpacing: 0,
                  ),
                ),
              ),

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: SingleChildScrollView(
          scrollDirection: Axis.horizontal,
          child: Directionality(
            textDirection: TextDirection.rtl,
            child: DataTable(
              columns: [
                DataColumn(
                  label: Text(
                    "شرح کالا",
                    // style: TextStyle(
                    //   letterSpacing: 0,
                    // ),
                  ),
                ),
                DataColumn(
                  label: Text(
                    "واحد کالا",
                    // style: TextStyle(
                    //   letterSpacing: 0,
                    // ),
                  ),
                ),
                DataColumn(
                  label: Text(
                    "تعداد",
                    // style: TextStyle(
                    //   letterSpacing: 0,
                    // ),
                  ),
                ),
                DataColumn(
                  label: Text(
                    "تاریخ نیاز",
                    style: TextStyle(
                      letterSpacing: 0,
                    ),
                  ),
                ),
                DataColumn(
                  label: Text(
                    "نام دسته",
                    // style: TextStyle(
                    //   letterSpacing: 0,
                    // ),
                  ),
                ),
                DataColumn(
                  label: Text(
                    "توضیحات",
                    // style: TextStyle(
                    //   letterSpacing: 0,
                    // ),
                  ),
                ),
              ],
              rows: List<DataRow>.generate(
                5,
                (index) => DataRow(
                  color: MaterialStateProperty.resolveWith<Color>(
                      (Set<MaterialState> states) {
                    if (states.contains(MaterialState.selected))
                      return Theme.of(context)
                          .colorScheme
                          .primary
                          .withOpacity(0.08);
                    if (index % 2 == 0) return Colors.grey.withOpacity(0.3);
                    return null; // Use default value for other states and odd rows.
                  }),
                  cells: List<DataCell>.generate(6, (index) {
                    return DataCell(Text('Row $index'));
                  }),
                  // selected: selected[index],
                  onSelectChanged: (bool value) {
                    // setState(() {
                    //   selected[index] = value;
                    // });
                  },
                ),
              ),
            ),
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel beta, 1.22.0-12.1.pre, on Mac OS X 10.15.6 19G2021, locale
    en-GB)
    • Flutter version 1.22.0-12.1.pre at /Users/tahatesser/Code/flutter_beta
    • Framework revision 8b3760638a (6 days ago), 2020-09-15 17:47:13 -0700
    • Engine revision 4654fc6cf6
    • Dart version 2.10.0 (build 2.10.0-110.3.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (2 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome
      85.0.4183.102

• No issues found!

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.281, on Mac OS X 10.15.6 19G2021
    x86_64, locale en-GB)
    • Flutter version 1.22.0-10.0.pre.281 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 511367aa5a (8 hours ago), 2020-09-21 15:33:32 -0700
    • Engine revision 4b8477d115
    • Dart version 2.10.0 (build 2.10.0-142.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (3 available)
    • macOS (desktop)  • macos      • darwin-x64     • Mac OS X 10.15.6 19G2021
      x86_64
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome
      85.0.4183.102

• No issues found!

Duplicate of https://github.com/flutter/flutter/issues/71220


parser: implement Restore for PrivElem, GrantStmt and RevokeStmt

What problem does this PR solve?
Implement Restore for PrivElem, GrantStmt and RevokeStmt.
Waiting for some helper Restores implemented in #197 .
Issue: https://github.com/pingcap/tidb/issues/8532
Check List
Tests

Unit test

LGTM

PTAL @leoppro


Marqo.add_texts() throws exception when using Marqo >= v2.0.0

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
run container:
docker pull marqoai/marqo:2.13 # or latest
docker rm -f marqo
docker run --name marqo -it -p 8882:8882 marqoai/marqo:2.13

run script:
from langchain_community.vectorstores import Marqo
from langchain_core.documents import Document
import marqo

marqo_url = "http://localhost:8882"
marqo_api_key = ""
client = marqo.Client(url=marqo_url, api_key=marqo_api_key)

index_name = "langchain-demo"
docsearch = Marqo.from_texts(["test"], index_name=index_name)
result = docsearch.similarity_search("test")
print(result)

Error Message and Stack Trace (if applicable)
Index langchain-demo exists.
Traceback (most recent call last):
  File "./src.py", line 13, in <module>
    docsearch = Marqo.from_documents(docs, index_name=index_name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./pyenv/lib/python3.12/site-packages/langchain_community/vectorstores/marqo.py", line 364, in from_documents
    return cls.from_texts(texts, metadatas=metadatas, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./pyenv/lib/python3.12/site-packages/langchain_community/vectorstores/marqo.py", line 452, in from_texts
    instance.add_texts(texts, metadatas)
  File "./pyenv/lib/python3.12/site-packages/langchain_community/vectorstores/marqo.py", line 112, in add_texts
    if self._client.index(self._index_name).get_settings()["index_defaults"][
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
KeyError: 'index_defaults'

Description
I'm following an example from: https://python.langchain.com/docs/integrations/vectorstores/marqo/.  Trying to create a vectorstore with some data on Marqo docker instance.
Expected behavior:
vector store gets created, with populated data
Actual behavior:
LangChain creates index and throws an exception in add_texts() (without populating data)
Reason:
since Marqo 2.0 index_defaults is removed from index settings and settings.index_defaults.treat_urls_and_pointers_as_images should be referred in new version as settings.treatUrlsAndPointersAsImages (see https://docs.marqo.ai/latest/reference/api/indexes/create-index/#body-parameters and breaking changes in https://github.com/marqo-ai/marqo/blob/mainline/RELEASE.md#release-200)
System Info
Marqo image version: 2.13.2
python -m langchain_core.sys_info
System Information
------------------
> OS:  Linux
> OS Version:  #1 SMP PREEMPT_DYNAMIC Tue Oct  8 03:24:49 UTC 2024
> Python Version:  3.12.6 (main, Sep  8 2024, 13:18:56) [GCC 14.2.1 20240805]

Package Information
-------------------
> langchain_core: 0.3.21
> langchain: 0.3.8
> langchain_community: 0.3.8
> langsmith: 0.1.145
> langchain_text_splitters: 0.3.2

Optional packages not installed
-------------------------------
> langserve

Other Dependencies
------------------
> aiohttp: 3.11.7
> async-timeout: Installed. No version info available.
> dataclasses-json: 0.6.7
> httpx: 0.27.2
> httpx-sse: 0.4.0
> jsonpatch: 1.33
> numpy: 1.26.4
> orjson: 3.10.12
> packaging: 24.2
> pydantic: 2.10.1
> pydantic-settings: 2.6.1
> PyYAML: 6.0.2
> requests: 2.32.3
> requests-toolbelt: 1.0.0
> SQLAlchemy: 2.0.35
> tenacity: 9.0.0
> typing-extensions: 4.12.2

@tad1 get_setting was still accounting for v1.5.x API but in the above PR accounted for later 2.x versions


Error to running script Collab

Python version testing: 3.9
Python version testing: 3.8
Python version testing: 3.7
Steps To Reproduce

pip install -r requerimientos.txt
edit files learn_courses.txt
python3 Collab.py -f learn_courses.txt

The current behavior
Course Recordings from 2020-09-22T02:30:42Z
[auth:setToken()] ERROR: <Response [400]>
[auth:setToken()] ERROR: <Response [400]>
Traceback (most recent call last):
  File "/usr/src/app/controladores/AuthControlador.py", line 59, in getToken
    token = self.cache['token']
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Collab.py", line 21, in <module>
    course_uuids.append(webService.getUUID(curso))
  File "/usr/src/app/webService.py", line 77, in getUUID
    token = self.getToken()
  File "/usr/src/app/webService.py", line 36, in getToken
    return(self.sesion.getToken())
  File "/usr/src/app/controladores/AuthControlador.py", line 69, in getToken
    return self.cache['token']
TypeError: 'NoneType' object is not subscriptable

are this steps reviewed?
https://github.com/zerausolrac/PyCollab#note-backboard-credentials--integration-on-learn
https://github.com/zerausolrac/PyCollab/blob/master/LearnPyCollab.pdf

Hi, @zerausolrac
It worked! However, not can downloaded, appears the following message:
Course Recordings from 2020-10-06T12:50:01Z
No downloading was executed
Report: recordingReport_403.csv created!

Thank you!

Hi @gjpsiqueira, based on the report created, seems like that those recordings are private (public_access off), so the owner of the recording must allow it, in order to get the recording .

Hi @zerausolrac,
Thank you for answering all questions.


Testing libraries with support for jQuery 1.x

From 'dependencies section':

jasmine-jquery is tested with jQuery 2.0 on IE, FF, Chrome, and Safari. There is a high chance
it will work with older versions and other browsers as well, but I don't typically run test suite
against them when adding new features.

And the change that enforces it in #192: https://github.com/velesin/jasmine-jquery/pull/192#discussion-diff-42247044
Now, for another library which runs multiple browser test, this could be a problem and affect browser support. One example project where I saw it: https://github.com/corejavascript/typeahead.js/
In Typeahead.js, the JQuery dependency is 1.7:
https://github.com/corejavascript/typeahead.js/blob/master/bower.json#L9
Is there a simple way, where projects can use bower and get the correct versions to match dependencies?
What would be the correct version of jasmine-query to match JQuery 1.7?

Oh and one more thing: What about compatibility with jasmine 2 if using jasmine-query 1.7 to preserve compatibility with jquery 1?
I am not sure I can figure this out without your help :+1:

Hey there, jasmine-jquery 1.x works with jQuery 1.x and Jasmine 1.x. And jasmine-jquery 2.x works with jQuery 2.x and Jasmine 2.x. Adding backwards compatibility with jQuery 1.x in the current version might be possible.


docs: add Japanese README

I created Japanese translated README.

Thank you for your contribution and for taking the time to add a Japanese README to my project. I appreciate your effort to make the project more accessible to a wider audience.

However, after careful consideration, I have decided not to merge this pull request at this time. Currently, the project maintains documentation in English and Chinese, and I plan to continue supporting these languages. Adding a Japanese version, while valuable, would introduce additional maintenance overhead that I am not equipped to handle at the moment.

I hope you understand my decision. I truly appreciate your effort and interest in this project.

Thank you again for your contribution!


Seperate Go-routine for Jobs

I wanted to discuss another method of running cron jobs:
Currently, we are storing all the Jobs in Entries and we sort them based on byTime function. We run the first job.
So, in Run method we do evaluation of all the Entries  and sorting...
Why haven't we run each Job in separate go-routine?

With timer
and Stop channel

Wouldn't it be a better implementation? I might be wrong in the approach but I have raised a prototype code for it, which might give better clarity what I am trying to say.

I could add a new job easily by invoking another go-routine.
Remove Job could be done by sending signal to Entry Stop Channel.
Stop would stop all the jobs by sending stop to all the go routines
Snapshot of all the entries could be taken.

I agree, I think that approach could work well for job scheduling in general.
To be honest, I didn't even consider implementing it like that. I implemented similarly to the Vixie cron, and I found the resulting code (at least v1 of it) to be pretty simple, so I never felt the need to introduce more goroutines. I suppose one benefit of the current model is that it's a bit less resource intensive, since it doesn't use resources for idle goroutines.
Thinking about it, your proposal does have one limitation though: it wouldn't be able to run multiple instances of a job concurrently. I'm not sure how important that is, but the contract of a cron is to start each job on the given schedule, and that would be impossible with this design without that caveat (that jobs are skipped if a previous instance is still running).

Thanks for your feedback! 👍


Add the ability to show likes when requesting all discussions

Hmm, I'm not 100% sure we want to allow that, that could be quite a lot of records...
Can you explain the use case? (It would be nice if you could add descriptions to pull requests, in any case.)

My apologizes for not including an description. I thought the title was describing enough.
We the API of Flarum to show the discussions within our own dashboard. We would like to show total amount of likes of each start post. This changes allows us to do that.

Thanks! :)
As I said, I'm a little concerned about the possible server load implications of this. We could think about optionally exposing the count of likes, though - as that's what you're interested in?

I do agree that returning all the details of each like, may have an performance impact. I'll try to modify the code to return only the total count of likes.

@nielstholenaar Have you made any progress with this?

@franzliedke No, we are currently moving away from flarum to an new CRM system which has an built-in forum / community part.

Will close this then.
To achieve this we would need to add a likes_count column to the posts table, keep it up-to-date, and expose it in the JSON API. But not worth spending any time on right now, as ultimately the aim is to replace this extension with a more powerful/configurable "Reactions" extension.


Charger shows 0.0 kW while charging with 11 kW

Describe the bug
Hi,
like the title says, whenever I'm charging my car it does not show the power used and therefor doesn't show any historical charging sessions either. (The car is charging at 11 kW on those screenshots).

Inverter:
Fronius Symo GEN24 10.0 Plus, connected via Solar API.
Charger:
Everon EVBox Elvie, connected via template but without integrated meter.
The documentation says, that even without an integrated meter at the wallbox it should show those charging values:

This entry is only needed if the used charger doesn't perform its own current measurement or if the measurement values cannot be read from the charger by evcc. However, even in this case, this entry is optional, because evcc assumes that the set maximum current will also be used for charging.
(Source: https://docs.evcc.io/en/docs/reference/configuration/loadpoints#meter)

Even the log is showing charge power: 0W.
Any help is appreciated.
Steps to reproduce

Start charging the car
Check GUI

...
Configuration details
# open evcc at http://evcc.local:7070
network:
  schema: http
  host: evcc.local # .local suffix announces the hostname on MDNS
  port: 7070

log: debug
levels:
  cache: error

# unique installation id
plant: <ID>

interval: 30s # control cycle interval

meters:
- type: template
  template: fronius-solarapi-v1
  usage: grid
  host: <IPADDRESS>
  user: customer
  password: <PASSWORD>
  name: grid1
- type: template
  template: fronius-solarapi-v1
  usage: pv
  host: <IPADDRESS>
  user: customer
  password: <PASSWORD>
  name: pv2
- type: template
  template: fronius-solarapi-v1
  usage: battery
  host: <IPADDRESS>
  user: customer
  password: <PASSWORD>
  name: battery3

chargers:
- type: template
  template: elvi
  stationid: <STATION_ID>
  idtag: <ID_TAG>
  connecttimeout: 5m
  timeout: 2m
  meter: false
  name: wallbox_garage

vehicles:
- type: template
  template: hyundai
  title: Hyundai IONIQ 5
  icon: car
  user: <USER>
  password: <PASSWORD>
  vin: <VIN>
  capacity: 77.4
  phases: 3
  cache: 15m
  language: de
  mode: pv
  minCurrent: 6
  maxCurrent: 16
  name: ev4

loadpoints:
- title: Garage
  charger: wallbox_garage
  vehicle: ev4
  mode: pv
  enable:
    threshold: 0
    delay: 15m
  disable:
    threshold: 300
    delay: 15m

site:
  title: Mein Zuhause
  meters:
    grid: grid1
    pv:
    - pv2
    battery:
    - battery3

Log details
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] INFO 2024/05/29 19:30:30 vehicle updated: unknown -> Hyundai IONIQ 5
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 set charge mode: pv
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 ----
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charge power: 0W
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 pv power: 10W
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 battery soc: 48%
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 battery power: 5578W
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 grid meter: 5640W
May 29 19:30:30 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:30 site power: 11218W
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 vehicle odometer: 5132km
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charge total import: 0.000kWh
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charger status: C
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charge start energy: 0kWh
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] INFO 2024/05/29 19:30:30 car connected
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 pv timer elapse
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 pv timer inactive
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charge total import: 0.000kWh
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 charge start energy: 0kWh
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] INFO 2024/05/29 19:30:30 start charging ->
May 29 19:30:30 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:30 wake-up timer: stop
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle status: C
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle soc: 97%
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle soc limit: 100%
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle range: 459km
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] WARN 2024/05/29 19:30:35 charger logic error: disabled but charging
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 charger enable
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 pv charge current: 0A = 0A + -16.3A (11218W @ 3p)
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 pv disable timer reset
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 pv timer inactive
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 max charge current: 6A
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 ----
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 charge power: 0W
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 pv power: 10W
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 battery soc: 48%
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 battery power: 5578W
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 grid meter: 5645W
May 29 19:30:35 evcc evcc[184878]: [site  ] DEBUG 2024/05/29 19:30:35 site power: 11223W
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle odometer: 5132km
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 charge total import: 0.000kWh
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 charger status: C
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 soc estimated: 97.00% (vehicle: 97.00%)
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle soc: 97%
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle soc limit: 100%
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 vehicle range: 459km
May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 pv charge current: 0A = 6A + -16.3A (11223W @ 3p)

What type of operating system are you running?
Linux
Version
evcc version 0.126.5

Seems charger is starting by itself:

May 29 19:30:35 evcc evcc[184878]: [lp-1  ] WARN 2024/05/29 19:30:35 charger logic error: disabled but charging

After that the disable timer starts:

May 29 19:30:35 evcc evcc[184878]: [lp-1  ] DEBUG 2024/05/29 19:30:35 pv disable timer reset

But according to config it will take 15m to do anything. I think we're not reducing the current within these 15min since we kinda assume that disabling the loadpoint will sooner or later fix the problem.

And what exactly does that mean? Like why is the charger logic not working but charging anyways?
Any suggestions?


HTML Rendering & Add-Another Issue

I'm try to display multiple fields from the foreign key table and would like to render few HTML tags with them. But autocomplete escapes them all. Is it possible to do so?

Also, on the demo examples I see all autocomplete widgets are with add & edit buttons. Is there any setting that I'm missing? The only setting I noticed in documentation is 'create_field` which won't work for my case though.

I noticed on another thread that @jpic mentioned add-another repo, but it doesn't exist anymore.

Add-another was contributed to jonashaag/django-addanother but it is not
necessary for the admin
Perdon me, but I don't think DAL escapes your HTML.
You should fix your problems on django's select widget and then activate
DAL again
On Mar 16, 2016 4:04 AM, "Da CodeKid"<EMAIL_ADDRESS>wrote:

I'm try to display multiple fields from the foreign key table and would
like to render few HTML tags with them. But autocomplete escapes them
all. Is it possible to do so?
[image: image]
https://cloud.githubusercontent.com/assets/10047844/13800528/659def58-eb00-11e5-9c88-958bb793a3bf.png
Also, on the demo examples
http://dal-yourlabs.rhcloud.com/admin/select2_foreign_key/testmodel/55/change/
I see all autocomplete widgets are with add & edit buttons. Is there any
setting that I'm missing? The only setting I noticed in documentation is
'create_field` which won't work for my case though.
[image: image]
https://cloud.githubusercontent.com/assets/10047844/13800600/0cfb2482-eb01-11e5-9231-dfc7564d0fa1.png
I noticed on another thread that @jpic https://github.com/jpic
mentioned add-another https://github.com/yourlabs/django-addanother
repo, but it doesn't exist anymore.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/yourlabs/django-autocomplete-light/issues/648

Hi,
I would love some info on this.
Here, in the admin, when I do this :
# A
class TestForm(forms.ModelForm):
    class Meta:
        model = Dossier
        fields = ('membre',)
        widgets = {
            'membre': autocomplete.ModelSelect2(
                url='groupes:autocomplete-membre'
            )
        }
class DossierAdmin( admin.ModelAdmin):
    form = TestForm
    ...

I see only the "add" button. The "edit" button doesn't appear.
When I do this (which I prefer since I like to use all of ModelAdmin's fieldsets, and don't like the mess in splitting my form logic between modeladmin and the custom form):
# B
class DossierAdmin(admin.ModelAdmin):
    ...
    def get_form(self, request, obj=None, **kwargs):
        form = super().get_form(request, obj, **kwargs)
        form.base_fields['membre'].widget = autocomplete.ModelSelect2(
                url='groupes:autocomplete-membre',
            )
        return form

I see neither "add" nor "edit" buttons.
My prefeared solution for now is this, using django-addanother app :
# C
class DossierAdmin(admin.ModelAdmin):
    ...
    def get_form(self, request, obj=None, **kwargs):
        form = super().get_form(request, obj, **kwargs)
        form.base_fields['membre'].widget = AddAnotherWidgetWrapper(
            autocomplete.ModelSelect2(
                url='groupes:autocomplete-membre',
            ),
            reverse_lazy('admin:BaseGroupes_membre_add'),
        )
        return form

It's nice because I can explicitely choose when I want to have the "add" link or not, but obviously I get no edit button here either.
So, here are the questions :

using A or B, why aren't the "edit" links appearing ? is it not supported on grappelli (django 1.9) ?
using A, could I prevent the buttons from appearing ?
using B, could I still get the links ?

I think C is the most elegant/flexible/explicit solution, but there's no support for "edit" buttons for now. See https://github.com/jonashaag/django-addanother/issues/11
Thanks a lot for the app. It is very much appreciated and used here.

@olivierdalang contributed edit support to django-addanother, in a completely EPIC hacking spree :guitar:
However, I don't understand why the add & edit buttons are available in the test project but not in your project, if that's still the case, is there any way to reproduce this in the test project ?

I have the same problem and I did not find the solution yet. Maybe, in my code, it is related to Django Suit.

The édit button support was contributedto django-addanother.
That said, you don't need this app for the admin, try to get the add
another and edit button to work in the admin with the default select widget
then it should work with autocomplete.


.datetime() validation

Hello, the current implementation for z.string().datetime() passes validation with incorrect values.
const valid_date = z.string().datetime().parse('1234-12-12T12:12:12.123Z'); // valid.
const date_with_max_year = z.string().datetime().parse('9999-12-12T12:12:12.123Z'); // valid.

// Invalid time.
const date_with_invalid_seconds = z.string().datetime().parse('1234-12-12T12:12:99.123Z'); // valid, should throw error -> seconds can't be > 60
const date_with_invalid_minutes = z.string().datetime().parse('1234-12-12T12:99:12.123Z'); // valid, should throw error -> minutes can't be >= 60
const date_with_invalid_hours = z.string().datetime().parse('1234-12-12T99:12:12.123Z'); // valid. should throw error -> hours can't be > 24

// Invalid date.
const date_with_invalid_day = z.string().datetime().parse('1234-12-99T12:12:12.123Z'); // valid, should throw error -> day can't be > 31
const date_with_invalid_month = z.string().datetime().parse('1234-99-12T12:12:12.123Z'); // valid, should throw error -> month can't be > 12

console.log(new Date(valid_date)); // 1234-12-12T12:12:12.123Z
console.log(new Date(date_with_max_year)); // 1234-12-12T12:12:12.123Z

console.log(new Date(date_with_invalid_day)); // Invalid date.
console.log(new Date(date_with_invalid_month)); // Invalid date.

console.log(new Date(date_with_invalid_seconds)); // Invalid date.
console.log(new Date(date_with_invalid_minutes)); // Invalid date.
console.log(new Date(date_with_invalid_hours)); // Invalid date.

The same issue might be in ZodString.date() & ZodString.time() implementation (https://github.com/colinhacks/zod/pull/1766)

z.string().datetime() only checks that the string is a valid ISO date string. It doesn't check that the date is valid.
If you want to make sure it's also a valid date, you can do something like this:
const isoStringToDate = z.string().datetime().pipe( z.coerce.date() )
console.log( isoStringToDate.parse( '1234-12-12T12:12:12.123Z' ) )
// 1234-12-12T12:12:12.123Z

const result = isoStringToDate.safeParse( '1234-12-12T12:12:99.123Z' )
!result.success && console.log( result.error.issues )
// [ { code: 'invalid_date', path: [], message: 'Invalid date' } ]

If you found my answer satisfactory, please consider supporting me. Even a small amount is greatly appreciated. Thanks friend! 🙏
https://github.com/sponsors/JacobWeisenburger

However .pipe( z.coerce.date() ) will transform string to Date which is not expected on validation. And it also messes with features like @anatine/zod-openapi in this case parameter will lose type info

I've been running this as two separate validation calls, without pipe. Then, I can just use the string value without coerce

However .pipe( z.coerce.date() ) will transform string to Date which is not expected on validation. And it also messes with features like @anatine/zod-openapi in this case parameter will lose type info

Can I spruik my repo: https://github.com/samchungy/zod-openapi. We handle .pipe() ;)

bump

+1

BUMP

+1

Have you guys tried the latest version? If should cover those cases from what I recall


Exception in Cookie.fromSetCookieValue() for empty cookie name

According RFC 6265 (https://tools.ietf.org/html/rfc6265), 5.2.  The Set-Cookie Header

3 The (possibly empty) name string consists of the characters up...
...
5 If the name string is empty, ignore the set-cookie-string entirely.

But in Cookie.fromSetCookieValue() produces HttpException if set-cookie-string has empty name
import "dart:io";

main() {
  Cookie cookie = new Cookie.fromSetCookieValue("myname=myvalue;"); // works
  cookie = new Cookie.fromSetCookieValue("=myvalue;"); // Unhandled exception, see below
}

Result is
Unhandled exception:
HttpException: Failed to parse header value [=myvalue;]
#0      _Cookie._parseSetCookieValue (dart:io/http_headers.dart:929)
#1      _Cookie._Cookie.fromSetCookieValue (dart:io/http_headers.dart:849)
#2      Cookie.Cookie.fromSetCookieValue (dart:io/http.dart:875)

I think, in this case cookie object should be created but with empty properties

This is a case of the robustness principle. You are trying to create a cookie here, which will be passed to the server.
If that cookie has no name, the server will accept and ignore it, so you are just adding needless overhead. We could accept the call and send it, or accept the call and not send the cookie (which should have the same effect), but there is no need to ever do that, so it's most likely an error.
So, we throw, to ensure that you don't do something useless.
I can't guarantee that this was done deliberately, and wasn't just an oversight, but the behavior is actually the one we want. The error message could be better though.

This is inconsistent with the Cookie constructor that lets one create an empty named cookie new Cookie("", "x") with toString() =x; HttpOnly.


Add transaction confirmation screen for sends

For displaying a summary of a submitted transaction post-send instead of taking the user directly to the activity tab.
@mica000 can you add the designs you have here in a comment?

https://www.figma.com/file/OSQocEEJnfcMkniEl8u3U8/%231483---Initial-Bitcoin-support?node-id=1110%3A56076&t=WDO37BU3n4AjE9xz-4

Note we'll need to add this confirmation screen not only for regular token sends but also inscriptions per https://github.com/hirosystems/stacks-wallet-web/issues/3332#issuecomment-1451752021


Add license 1

I added a  LICENSE to the main (The Console) project we did together

Merge and deleted the merged branch.


Show deserialized value in the assert_de_tokens_error message

This PR improves error message when the type in assert_de_tokens_error deserialized successful when it shouldn't.
For example, the call
assert_de_tokens_error::<Enum>(
    &[
        Token::Map { len: Some(2) },
        Token::Str("a"),
        Token::I32(1),
        Token::Str("a"),
        Token::I32(42),
        Token::MapEnd,
    ],
    "duplicate field `a`",
);

could return the following result:
---- untagged::duplicate_field_in_struct stdout ----
thread 'untagged::duplicate_field_in_struct' panicked at 'assertion failed: `(left == right)`
  left: `"duplicate field `a`"`,
 right: `"StructWithSkipped { a: NotDeserializable }"`: expected error (left) but tokens deserialized successfully (right)', test_suite\tests\test_de_enum.rs:506:9

compared to this (current):
---- untagged::duplicate_field_in_struct stdout ----
thread 'untagged::duplicate_field_in_struct' panicked at 'tokens deserialized successfully', test_suite\tests\test_de_enum.rs:506:9

Unfortunately, this is breaking change, but:

usually the types that you test also tested with assert_de_tokens which requires Debug. So there are high probability that Debug already implemented for your types
this is testing code which should not be many. According to lib.rs there are few dependers, so it can be acceptable to make a small breaking change to improve usability

this is testing code which should not be many. According to lib.rs there are few dependers, so it can be acceptable to make a small breaking change to improve usability

this makes me wish we had a serde-crater to test if a change affects any of the reverse dependencies. I'd expect most callers to provide a type that implements Debug, so it would break very few people's code.
Without being able to ascertain the effect of this PR, I don't think we can land it.

On its own it's obvious to me that this would not motivate a 2.x of serde_test.

Why not? Now, when serde_test release cycle is detached from serde release cycle there is no objective reasons to not release version 2.0 as soon as it will required.
Ok, if you don't like to release 2.0 soon (which I totally don't understand because numbers are cheap and nobody force you to maintain two versions, just focus on the last), then just adding new function assert_de_tokens_error2 with additional boundary would be acceptable?


Patient component tests

Description
Jira Ticket: SARAALERT-660
Added test file and complete set of tests for the Patient component
(Feature) Demo/Screenshots

Important Changes
Please list important files (meaning substantial or integral to the PR) along with a list of the general changes that should be highlighted for reviewers.
Patient.test.js: new test file for Patient component
mockPatients.js: updated mock patients as needed with details for this PR
Patient.js: added ids to distinguish sections and removed unused props (that are also never passed in)
Review.js: changed the way functions are binded
Please describe the tests needed to verify your changes. Provide instructions for reproducing these tests. List any relevant details for your test configuration.
run yarn run test in the root directory for Sara Alert

rebased


Update to<EMAIL_ADDRESS>

Release Update: 0.12.1
A new release of CLIc is available.
Info:
Release Tag: 0.12.1
Release Notes: Release Notes
Please review the changes and update the code bindings accordingly.
Cheers! 🎉

Hello @StRigaud! Thanks for opening this issue. We will get back to you asap.


Create an announcement model

Model generation documentation:  https://laravel.com/docs/8.x/eloquent#generating-model-classes

Branch - side-wide-announcement
All commits -  https://github.com/NFDI4Chem/nmrxiv/commit/7c29aa49a9580af7d7efbc3bd46e86b110cfcdbc


Add support for root-level properties being moved to be under global

What does this PR do?
Towards https://github.com/giantswarm/roadmap/issues/2954
We have ported all provider-independent Cluster API resources to cluster chart, which was phase 1 of restructuring of cluster- apps, see https://github.com/giantswarm/roadmap/issues/2742 for more details. Now we want to use cluster chart in cluster-aws and remove all provider-independent Cluster API resources from cluster-aws.
In order to do so, first we have to refactor cluster-aws Helm values, so that cluster chart can read provider-independent values it needs. For that, we have to move current top-level properties to be under Values.global.
This pull request adds schema support for old required root-level properties to be under Values.global property.
Since the refactoring of all cluster apps for all providers will take some time, with this change the validation allows that old root-level properties must be either root-level or under global (both are not allowed).
When the refactoring of all cluster apps is completed, we will remove the validation of old root-level properties and allow that they are only under global.
What is the effect of this change to users?
KaaS developers can refactor cluster apps by moving top-level required properties to be under global property, and the schema will be valid after the refactoring is done (and also during the refactoring if properties are moved one by one).
How does it look like?
The following JSON schemas are now correct.
Correct global properties:
{
    "$id": "https://example.com/person.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "global": {
            "type": "object",
            "properties": {
                "connectivity": {
                    "type": "object"
                },
                "controlPlane": {
                    "type": "object"
                },
                "metadata": {
                    "type": "object"
                },
                "nodePools": {
                    "type": "array"
                }
            }
        }
    }
}

Correct global and root-level properties mix (allowed during schema refactoring, will be removed in the future):
{
    "$id": "https://example.com/person.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "controlPlane": {
            "type": "object"
        },
        "global": {
            "type": "object",
            "properties": {
                "connectivity": {
                    "type": "object"
                },
                "metadata": {
                    "type": "object"
                }
            }
        },
        "nodePools": {
            "type": "array"
        }
    }
}

Incorrect global and root-level properties mix, as metadata is both root-level and global property:
{
    "$id": "https://example.com/person.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "controlPlane": {
            "type": "object"
        },
        "global": {
            "type": "object",
            "properties": {
                "connectivity": {
                    "type": "object"
                },
                "metadata": {
                    "type": "object"
                }
            }
        },
        "metadata": {
            "type": "object"
        },
        "nodePools": {
            "type": "array"
        }
    }
}

Any background context you can provide?

https://github.com/giantswarm/roadmap/issues/2739
https://github.com/giantswarm/roadmap/issues/2954

What is needed from the reviewers?
Feedback and suggestions.
Do the docs/README need to be updated?
No.
Should this change be mentioned in the release notes?

[x] CHANGELOG.md has been updated

I'm not super familiar with how the schema work. What's the difference between this PR and this one? Were these changes missing on Andreas' PR?

I'm not super familiar with how the schema work. What's the difference between this PR and this one? Were these changes missing on Andreas' PR?

I see now that I didn't name the PR and the branch very precisely 🙈
Andreas' PR enables that global is used, that is the first step. This PR further changes the validation of the current required root-level fields metadata, connectivity, controlPlane and nodePools, in the following way:

Previously the aforementioned fields were required to be root-level fields, i.e. under .Values.*.
Now the validation changes so that those fields can be under .Values.global.*
More precisely, those fields have to be either under .Values.global.* (required in restructured cluster- apps that use cluster chart) or root-level fields under .Values.* (because we need old validation to work as the transition will take some time across all providers, but we can remove this later).

Without this change the validation fails like this when moving a property from .Values.* to .Values.global.*:
Errors (1)

Root-level property must be present
  - /metadata

See details here https://github.com/giantswarm/cluster-aws/actions/runs/6834413279/job/18587139624

Thanks for the explanation :heart:

BTW, the fact that the example schemas start with "$id": "https://example.com/person.schema.json" confused me quite a bit 😄

LOL, didn't even notice that, I just copied one of the existing test cases and modified it. Let me change that so it's less weird 😄

Let me change that so it's less weird

✅


Modified the user object to include person names

Displayed the contents on the ui and fixed the log-out

Coverage remained the same at 12.88% when pulling f6e490485bdd54c9a078ac24720eada0426ec3a2 on ningosi:master into 3246ff42297a91ad95e68c74f9038d5e36932111 on esaude:master.


How do the BACKUP and RESTORE commands know which SAS to use?

A broader content-related question about this page:
When you're using Storage account level access keys, you use the WITH CREDENTIAL option when doing backups and restores. When using Shared Access Signatures, you don't. And for me, it just seems to work. For example, I just did this (redacted), and it worked:
BACKUP DATABASE [master] TO URL = N'https://<myacct>.blob.core.windows.net/backups-manual/database/sql-prod-NN/2023-03-17/master_backup_2023_03_17_233650_3732931.bak'
  WITH
  COPY_ONLY, NOFORMAT, NOINIT, NAME = N'master_backup_2023_03_17_233650_3732931', SKIP, REWIND, NOUNLOAD, COMPRESSION,  STATS = 10

But how does SQL Server know what SAS or SAS-holding credential to use with this BACKUP command? I've read closely through this whole page a couple times, and can't figure that out. This page talks several times about when and when not to use WITH CREDENTIAL as it relates to SAS vs. access keys. But it doesn't talk much about how the SAS case actually works.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: cc04e819-4cfd-5b23-404b-8d4ed41afd21
Version Independent ID: d254a232-e05d-0d52-0e25-7e83866f12e6
Content: SQL Server Backup to URL for Microsoft Azure Blob Storage - SQL Server
Content Source: docs/relational-databases/backup-restore/sql-server-backup-to-url.md
Service: sql
Sub-service: backup-restore
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

@apjanke -- Andrew, thank you again for your feedback and question.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@WilliamDAssafMSFT -- William, please look into this issue.

@apjanke Hopefully this clarifies things for you. I have used the redacted example from your question.

When you create a credential using a SAS token, you provide the credential name, being the path to the container on your storage account (I've made this bold):

IF NOT EXISTS
(SELECT * FROM sys.credentials
WHERE name = 'https://.blob.core.windows.net/backups-manual')
CREATE CREDENTIAL [https://.blob.core.windows.net/backups-manual]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<SAS_TOKEN>';

When you tell SQL Server to back up to URL, the URL comprises that very same storage account and container name, which is how the credential usage is derived (once again, I've made this bold).

BACKUP DATABASE [master] TO URL = N'https://.blob.core.windows.net/backups-manual/database/sql-prod-NN/2023-03-17/master_backup_2023_03_17_233650_3732931.bak'
WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N'master_backup_2023_03_17_233650_3732931', SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10;

Does that answer your question?

Ah! I didn't really understand the name-related thing in your point 1 here; I didn't quite get how a credential can have a name which is a string that is a URL. I'm going to have to think about this for a bit, especially with regards to the SSMS workflow for creating credentials and the credential names that result from that, but I think it might answer my question?
Sorry if I'm slow with replies here; this particular task is not at the top of my priority list.
Thanks for your help here!

Delayed followup: Yep, that did answer my questions, and I think I understand how this works now.


chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.7.0

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
minor
v1.6.1 -> v1.7.0

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper
v1.7.0
Compare Source
Features

Validate terraform Outputs (#433) (2f21c4f)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Tutorial to visualize climate data with Panoply

Created first tutorial for Climate. Here to teach on how to visualize climate data (part of #1656 but not yet climate 101 for everyone; it will come later!).

thanks @annefou! awesome new topic and fun tutorial :) And good luck tomorrow!


[PostgreSQL] Cannot create database when owner has hyphen

System information:

Linux Mint 18.3
DBeaver 6.0.4

Connection specification:

PostgreSQL 10

Describe the problem you're observing:
I cannot create a database if the assigned owner has an hyphen in the name.
Steps to reproduce

Create a user with an hyphen in the name (eg. "hello-world")
Right click on an active connection
Create -> Database
Create any database (eg. "example") with "hello-world" as the owner

SQL Error [42601]: ERROR: syntax error at or near "-"
  Position: 35
ERROR: syntax error at or near "-"
  Position: 35
ERROR: syntax error at or near "-"
  Position: 35

Thanks for the bug report

verified


Food Module is Added.

Food module done with some extra content.
You can use in your code with this:
Food::dishName()
of course you can change the submodule.
I want to update it, so if you suggest any kind of "food" things I'll be thankfull for that. And I'm preparing another thing for Faker Cxx but Michal wants to add the food module firstly. Thanks again for this library.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
see 1 file with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!

Can I design an algorithm for developing the Faker Cxx easier?

Sure, go ahead :)
Would you like to join our discord so we can communicate easier?

Yes! Thank you Michal

and actually I'm a member of your discord server


How to mutate multiple objects?

This is what i am trying to achieve, i have a table where i have to insert multiple rows and i know graphql supports bulk insertion but I don't know if this library supports it yet. Is it possible to do it using this library? I am using graphql-flutter version 3.1.0.
mutation {
  insert_author(
    objects: [
      {id: 1, name: "Joe"},
      {id: 2, name: "June"},
      {id: 3, name: "John"},
      {id: 4, name: "Judy"}
    ]
  ) {
    affected_rows
  }
}

@naumansabir-wecrunch this looks like a normal mutation  to me – there's no reason why it shouldn't work

@naumansabir-wecrunch this looks like a normal mutation to me – there's no reason why it shouldn't work

Is there any way i could generate types/object classes like apollo graphql does it? It would be easier to simply pass specific type of objects.

@naumansabir-wecrunch there are a few code generation projects, like artemis or my major_graphql https://github.com/micimize/major project, but graphql_flutter itself is untyped

@naumansabir-wecrunch there are a few code generation projects, like artemis or my major_graphql https://github.com/micimize/major project, but graphql_flutter itself is untyped

@micimize Thanks!


Document supported backend filters

What is the expected feature or enhancement?
At https://qiskit.org/documentation/partners/qiskit_ibm_provider/stubs/qiskit_ibm_provider.IBMProvider.backends.html it says

**kwargs –
Simple filters that specify a True/False criteria in the backend configuration, backends status, or provider credentials. An example to get the operational backends with 5 qubits:
IBMProvider.backends(n_qubits=5, operational=True)

This gives an example of a simple filter ("operational") but doesn't actually provide a list of supported options.
Acceptance criteria
I don't know what this issue template field is for.

The link is documentation for qiskit-ibm-provider but the docstrings of the backends() methods from both repos can be improved.
For **kwargs, as mentioned, any True/False criteria in the backend configuration or attributes (link) can be used - there are too many options to list all of them, but we could add a couple more examples
The filter parameter is similar but not restricted to only a boolean True/False - lambda functions can be used
To see exactly how the filtering is done, we use the filter_backends method in terra.
We'll add a couple more examples to the docstring to make it more clear

@kt474 - I am a bit confused about the filtering mechanism. Here are my thoughts/observations:

The filtering as well as the documentation is in several places including qiskit_ibm_provider/ibm_backend_service.py, qiskit_ibm_provider/ibm_provider.py, and twice in qiskit_ibm_runtime/qiskit_runtime_service.py. Wouldn't it make more sense to have the documentation in one place (ibm_backend_service.py) and put references in the other places?
Also I suggest adding a reference to the documentation of QasmBackendConfiguration in Terra.
The example with quantum_volume does not work and should be removed.
My understanding is that in kwargs, it is only possible to pass keys with specific values, so we cannot specify something like max_circuits >100. This can only be done through a lambda function. Am I correct?

@kt474 - I am a bit confused about the filtering mechanism. Here are my thoughts/observations:

Yes I agree - it would be ideal to have documentation in a central location, but I think it would still be good to have it at least once in each repo
Sure, I think that would be helpful
Yes that example can be removed
Yes that's correct, those filters can only be done through a lambda function


camelCased standalone

Why is the standalone name camelCased? Rather annoying when the module exists as /module-name/ in the file system. Exposing the same standalone name is impossible as it will become moduleName

@Swaagie Thanks for the report. I just addressed the same issue here: https://github.com/substack/node-browserify/pull/1210#issuecomment-92350889
I'll leave this issue open for now because that was a PR to update the documentation to note that this is the case, but as I mentioned in my comment I don't know why https://github.com/ForbesLindesay/umd does that or if it's really necessary. Are you interested in investigating it there and possibly filing in issue to see if / why it's necessary?

hah, I forget to search PR when creating this issues, thanks for the reference. That said, I think this is opinionated magix. I could understand if the umd wrapper would only allow characters allowed in variable definitions, since it should be definable on window/exports/global after all. But this introduces more points of failure as demonstrated by https://github.com/ForbesLindesay/umd/blob/master/source.js#L48. E.g. 'g["' + valueContainer + "]' = f()' should be sufficient.

Seems to be related, apparently $ and _ are allowed but - not


HOURGEN-8-B errors incorrectly firing on emissions evaluations

There are multiple issues related to the HOURGEN-8-B error.
Steps to Reproduce
1.Need to use an active location from camdecmpswks.monitor_plan where needs_eval_flg = Y and submission_availability_cd = UPDATED
2. Once a good candidate is identified, check out the location and go to the Emissions workspace
3. Import from Historical 2023 Q3
4. Go to Evaluation module and only evaluate the emissions data
5. The HOURGEN-8-B error is produced
This is the check spec:
Else If the NeedsEvalFlag and MustSubmitFlag of the monitoring plan record for this configuration are equal to "Y",
return result B.
Also, once a user creates this issue and reverts to official, camdecmpswks.monitor_plan.needs_eval_flg is set to N. Trying to repeat the steps won't work and you would need to start at step 1 with a different example to produce the issue again.
It doesn't make sense that this flag would then be set to N if the MP was not evaluated.
Update from 5/3 meeting:
In 1.0, when a monitoring plan is retrieved, UPDATED_STATUS_FLG is set to N and NEEDS_EVAL_FLG is set to Y. SUBMISSION_AVAILABILITY_CD is not affected.
When copying/reverting from official to workspace, set UPDATED_STATUS_FLG to N and NEEDS_EVAL_FLG to Y in camdecmpswks.monitor_plan.

This is still an issue. Updated the steps to reproduce the issue. This needs to be reassigned to a developer.

In 1.0:

If UPDATED_STATUS_FLG and NEEDS_EVAL_FLG = Y and SUBMISSION_AVAILABILITY_CD = UPDATED on the host, a fresh synchronization for that facility/location will set the two flags to NULL in the local database.
If the Retrieve Data module is used to retrieve the last submitted monitoring plan, NEEDS_EVAL_FLG is set to Y in the local database.
If a unit program change occurs UPDATE_DATE and SUBMISSION_AVAILABILITY_CD are updated on the host and so is SYNCHRONIZATION_MANAGEMENT.MP_SUPP_DATA_LAST_UPDATED. When the client synchronizes, NEEDS_EVAL_FLG and SUBMISSION_AVAILABILITY_CD is updated.

Confirmed with the following steps:

Find example with query (select * from camdecmpswks.monitor_plan where updated_status_flg = 'Y' and needs_eval_flg = 'Y' and submission_availability_cd = 'UPDATED' and update_date is not null order by update_date desc; I looked for a userid  that was a non-test account and had an update_date from 10/2023 or earlier)
Check out location
Import Q3 2023 emissions from historical
Evaluate emissions and confirm HOURGEN-8-B error is returned in error (may need to download report or view attachment in email to see error until #6252 is completed)
Revert to official (camdecmpswks.monitor_plan.updated_status_flg = N, needs_eval_flg = Y, submission_availability_cd = UPDATED; this was the short-term fix for this ticket so that a revert mimics a retrieve in ECMPS 1.0; #6264 will handle this issue long-term and prior to the initial release)
Import Q3 2023 emissions from historical again
Evaluate emissions and confirm HOURGEN-8-B error is NOT returned
Revert to official
Export/import MP (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = Y, submission_availability_cd = GRANTED)
Revert to official
Make a change to the MP in the UI (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = Y, submission_availability_cd = GRANTED)
Evaluate MP (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = N, submission_availability_cd = GRANTED after evaluation completes)
Submit MP (camdecmps.monitor_plan.updated_status_flg = Y, needs_eval_flg = N, submission_availability_cd = UPDATED; this is confirming official table once submission completes)

@esaber76 - I followed

Confirmed with the following steps:

Find example with query (select * from camdecmpswks.monitor_plan where updated_status_flg = 'Y' and needs_eval_flg = 'Y' and submission_availability_cd = 'UPDATED' and update_date is not null order by update_date desc; I looked for a userid  that was a non-test account and had an update_date from 10/2023 or earlier)
Check out location
Import Q3 2023 emissions from historical
Evaluate emissions and confirm HOURGEN-8-B error is returned in error (may need to download report or view attachment in email to see error until Data missing in printout/evaluation reports when viewing in browser #6252 is completed)
Revert to official (camdecmpswks.monitor_plan.updated_status_flg = N, needs_eval_flg = Y, submission_availability_cd = UPDATED; this was the short-term fix for this ticket so that a revert mimics a retrieve in ECMPS 1.0; Migration activities: Update CAMDECMPSWKS.MONITOR_PLAN flags  #6264 will handle this issue long-term and prior to the initial release)
Import Q3 2023 emissions from historical again
Evaluate emissions and confirm HOURGEN-8-B error is NOT returned
Revert to official
Export/import MP (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = Y, submission_availability_cd = GRANTED)
Revert to official
Make a change to the MP in the UI (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = Y, submission_availability_cd = GRANTED)
Evaluate MP (camdecmpswks.monitor_plan.updated_status_flg = Y, needs_eval_flg = N, submission_availability_cd = GRANTED after evaluation completes)
Submit MP (camdecmps.monitor_plan.updated_status_flg = Y, needs_eval_flg = N, submission_availability_cd = UPDATED; this is confirming official table once submission completes)

@esaber76 - I was able to follow step1 to step 8.  When in step 9, after imported from the exported MP file, receiving DEFAULT-52A errors.  I edited the exported file and got a successfully import.  However, received CRIT1 after running the MP evaluation.
Steps to reproduce the errors encountered in step 9:

Export Greene County CT10
Import the exported file in step 1
DEFAULT-52A errors
Modified the monitoringDefault record on null Fuel Code and Default Source Code
Imported the modified MP json
Run the evaluation

MP Export - Greene County, undefined (6-25-2024).json

@ntknguyen - this is the same issue that was reported for APS Saguaro. It is not related to this ticket. #5942 and #6309 will handle this in the future.

@ntknguyen - this is the same issue that was reported for APS Saguaro. It is not related to this ticket. #5942 and #6309 will handle this in the future. As long as you got a file to export/import and confirmed the database fields were updated you can move on from step 9.

@esaber76 -

@ntknguyen - this is the same issue that was reported for APS Saguaro. It is not related to this ticket. #5942 and #6309 will handle this in the future. As long as you got a file to export/import and confirmed the database fields were updated you can move on from step 9.

@esaber76 - I can confirm the HOURGEN-8-B errors is fixed as described from step 1 to step 7.  However I cannot confirm the database fields were updated in step 12 and 13 since the evaluation still contains CRIT1 errors.  If step 12 and step 13 are needed to conclude the fix then I can't verify it.

@ntknguyen - if you want to use the same monitoring plan (ORIS 10, CT10), you should be able to revert to official, make a simple change that will not generate critical errors (systems - components: update a manufacturer or serial number for a component) and continue on.

@ntknguyen - if you want to use the same monitoring plan (ORIS 10, CT10), you should be able to revert to official, make a simple change using the interface that will not generate critical errors (systems - components: update a manufacturer or serial number for a component) and continue on.

@esaber76 - Per today's conversation, I verify this issue is fixed.


create a simple ui for pages

we need a lame ui, but current one is too lame,

[ ] need something for creating page (creating subpage for article is kinda hard)


IC not connecting to clinet

Downloaded and installed as indicated on the page, but interface central is not detecting the game at all

I'd have to guess it's because of this

https://thunderstore.io/c/webfishing/p/PuppyGirl/TackleBox/

Hi! @Firerr is indeed correct, this is because of a missing dependency. I added a feature to the mod in 1.1.0, and forgot to update the install instructions accordingly.
They are now updated (you just need to install the missing dependency). Thanks for filing the issue!


New version: Meltytech.Shotcut version 23.11.29

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

/azp run


Don't get the VM name as suggested in Step 5 under Grant Access section

I don't get any VM name when typed in the search box as suggested Step 5 of Grant Access section. I can see user names are coming up there but no VM.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d8bd348f-e4b6-72e0-2cb2-ab6a2c7c9794
Version Independent ID: d19e7fc0-2e51-6e66-a5b5-44df21e5d579
Content: Tutorial: Use a managed identity to access Azure Key Vault - Linux - Azure AD
Content Source: articles/active-directory/managed-identities-azure-resources/tutorial-linux-vm-access-nonaad.md
Service: active-directory
Sub-service: msi
GitHub Login: @barclayn
Microsoft Alias: barclayn

My bad. It is working for me after assigning System Assigned Managed Identity to my VM. We can close this issue.

My bad. It is working for me after assigning System Assigned Managed Identity to my VM. We can close this issue.

@innovolt Glad to know that you were able to figure this out. In addition to this , I would suggest you to check out the article which lists the services that support managed identities .
You can also check the article related to enabling Managed Identities on a VM using CLI . the followig screenshot shows how you can use managed identities in azure.

I would suggest you to check out linked articles and that will surely provide you with any other details related to using Managed identities with azure VMs or other resources as well. We will proceed with closure of this issue as suggested.
Thank you.

@innovolt Glad to know that you were able to figure this out. In addition to this , I would suggest you to check out the article which lists the services that support managed identities .
You can also check the article related to enabling Managed Identities on a VM using CLI . the followig screenshot shows how you can use managed identities in azure.

I would suggest you to check out linked articles and that will surely provide you with any other details related to using Managed identities with azure VMs or other resources as well. We will proceed with closure of this issue as suggested.
Thank you.


Fatal error: Cannot read property 'length' of null

Adding element selector breaks build process
Fatal error: Cannot read property 'length' of null
eg:
.container {
color: red;
}

https://github.com/amaranter/postcss-selector-prefixer/pull/3

This is published in version 1.0.2.
Thanks 👍


Updated dependencies + code to Purescript 0.9

It looks like the CI is failing because of an old version of either Pulp or purescript (I haven't looked closely). Also, we should stop testing on node.js versions <4 at the same time, as I don't think Pulp supports them any more, and I'm fairly sure quite a few other parts of the PS ecosystem no longer do either.
Other than that, looks great, thanks!

I removed the old versions of node, and fixed up travis to install and use bower.
Currently, it's timing out after getting to

pulp build

Building project in /home/travis/build/hdgarrood/purescript-versions

Since nothing's printed for the next 10 minutes.  That seems rather long for compilation to take; any idea of what's going wrong?

I think this is something we've seen a few times before, we think the cause is that Travis reports that it has more cores available than it actually does. Try adding dist: trusty and sudo: required to .travis.yml. You could look at prelude's .travis.yml as an example.

Looks like travis builds, now.  Thanks!

Great, thanks!

I've just tagged 2.0.0. Could you please check everything works and publish to Pursuit, if you can? I don't actually have access to a functioning PC at the moment.


Provide shortcuts for reading mode

When I am done with an article in read mode (e.g. https://www.instapaper.com/read/123456), I'd love to have the possibility to mark the article with a keyboard shortcut.
I'd suggest following defaults: [A] for archive, [L] to like it, [DEL] or [D] to delete it; lowercase should work as well. (Thanks for excellent addon.)

Done. I've mapped it this way:

Hotkey
Action

j
Scroll down

k
Scroll up

a
Archive

l
Like

d
Delete

Please try beta release that includes this feature and tell me what you think:
http://yegortimoshenko.com/downloads/paper.xpi
Other improvements included in the beta release:

button for hotkey assignment #11
locales (currently only ru-RU and en-US) #8
updated text in preferences #10
bug fix: password and username are now escaped #4

The full-featured release will land Mozilla Addons in about half a month, but after you switch to the beta version you won't get automatic updates. I'll ping you back in this issue when the release is ready so you will switch to the release branch that includes automatic updates.

Thank You for the feature!
I'd love to test but I got "403 Forbidden OpenBSD httpd" when downloading the XPI.

@Mno-hime Oh, damn, sorry. Fixed.

Archive, Like, and Delete work as expected. Thanks! Unfortunately now I am unable to use ArrowUp and ArrowDown on keyboard sincej and k occupy their place.

Fixed in 383fa65f87bdbb542bc0cc6bb5f1dfda7929a0ac, now arrow keys should work as expected, as well as PageUp, PageDown et cetera. Updated version is under the same address:
http://yegortimoshenko.com/downloads/paper.xpi

Now Arrows and co. work as expected. Thanks. However, I noticed j and k scroll twice of what ArrowUp and ArrowDown does. j and k seem to be set to 100, but Arrows scroll about 50. Also, scrolling via k and j does not take into consideration smooth scrolling I have enabled.

There's no any viable API to smooth scroll in Firefox. I will calibrate the scrolling distance, though, and will ping you back once it's settled.

Yet another beta (1.0.0-beta3) is ready, now j/k scroll exactly as much as arrow keys:
http://yegortimoshenko.com/downloads/paper.xpi
It also includes updated icons and some refactoring.

There's no any viable API to smooth scroll in Firefox.

I found this: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior. Though, not sure whether it applies to addons.
Tested Beta3's j/k functionality, looks good to me, thou I probably won't use it.

It is inapplicable, unfortunately. Maybe I could emulate smooth scrolling using JavaScript, and check internal Firefox settings to see if it is on or off, but I'll track it in #19.


Ignore the VRF tiebreaker when the slots are too far apart

From comment https://github.com/input-output-hk/ouroboros-network/issues/2913#issuecomment-1781407345
aka "Duncan's tiebreaker"

It's not obvious what "too far apart" should mean. But Duncan proposed something on the order of $Delta$, since a block Y that is $Delta$ slots after a block X should have extended X instead of competing with it.

This requires #939 as this chain order is intransitive, see #891.


Reading Unicode characters in R

I was trying to read the CSV file containing the following text: Akhu míá ŋgap, à gɔ te zwɛ mɔ ŋgapá. But I got the strange characters shown in the

figure joins.

I used the following python code
lines = []
with open('Downloads/text.txt','r',encoding='utf8') as f:
lines = f.readlines()
f.close()
count = 0
for line in lines:
count += 1
print(f'line {count}: {line}')
it works, however without encoding='utf8', I got the same output when using R.

To solve the issue got with r, I used the library lm  with encoding = 'utf8'
I use the following syntax
archive_test <- file.path ("project", "Sueza_project", "Data","Yemba","corpus")
archive_test
dir (archive_test)
corpus.source <- Corpus(DirSource(archive_test,encoding = "UTF-8"),readerControl = list(language = "lat"))
It works very well.

Happy to know you got this issu fixed by your own means.


How to get accessToken

Hello
I have a rudimentary knowledge of MSAL and Azure AD B2C.
Login successfully using this plug-in and id_token was verified.
However, if I try to check accessToken, NULL will be returned.
(ex : print('accessToken : ${response.accessToken}');)
Using AcquireTokenRedirect() or AcquireTokenSilent() seems like I can get accessToken. But I don't know how to use it. :$
This is my code made using the Flutter Web example.
Finally, I want to update accesstoken to getx → When I request API, I want to include accessToken in the header.
import 'package:xxxxxx/binding/init_binding.dart';
import 'package:xxxxxx/pages/desktop_home.dart';
import 'package:xxxxxx/pages/mobile_home.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:get/get.dart';
import 'package:msal_js/msal_js.dart';
import 'package:xxxxxx/common/common.dart';

void main() {
  // Create an MSAL UserAgentApplication
  final userAgentApplication = UserAgentApplication(
    Configuration()
      ..auth = (AuthOptions()
        ..clientId = clientId
        ..authority = authority
        ..validateAuthority = false
        ..knownAuthorities = [knownAuthorities]
        ..redirectUri = redirectUri),
  );
  userAgentApplication.handleRedirectCallback(_redirectCallback);

  runApp(MyApp(
    userAgentApplication: userAgentApplication,
  ));
}

void _redirectCallback(AuthException? error, [AuthResponse? response]) {
  if (error != null) {
    // Redirect login failed
    print('MSAL: ${error.errorCode}:${error.errorMessage}');
  } else {
    // Redirect login succeeded
    print('Redirect login successful. name: ${response!.account!.name}');
    print('tokenType : ${response.tokenType}');
    print('accessToken : ${response.accessToken}');
    print('idToken : ${response.idToken}');
    print('accountState : ${response.accountState}');
    print('expiresOn : ${response.expiresOn}');
    print('tenantId : ${response.tenantId}');
    print('uniqueId : ${response.uniqueId}');
  }
}

class MyApp extends StatelessWidget {
  final UserAgentApplication userAgentApplication;

  MyApp({required this.userAgentApplication});
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter2',
      theme: ThemeData(
        primaryColor: Colors.grey,
        appBarTheme: AppBarTheme(color: Colors.grey),
      ),
      home: MyHomePage(userAgentApplication: userAgentApplication),
      initialBinding: InitBinding(),
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
    );
  }
}

class MyHomePage extends StatefulWidget {
  final UserAgentApplication userAgentApplication;

  MyHomePage({
    required this.userAgentApplication,
    Key? key,
  }) : super(key: key);

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

class _MyHomePageState extends State<MyHomePage> {
  Account? _account;

  @override
  void initState() {
    super.initState();

    _account = widget.userAgentApplication.getAccount();
  }

  void _loginRedirect() {
    widget.userAgentApplication.loginRedirect(AuthRequest()..scopes = scopes);
  }

  void _logout() {
    widget.userAgentApplication.logout();
  }

  @override
  Widget build(BuildContext context) {
    if (_account == null) {
      _loginRedirect();
      return Scaffold(
        appBar: AppBar(
          title: Text('Flutter2'),
        ),
        body: Center(
          child: CircularProgressIndicator(),
        ),
      );
    } else {
      return LayoutBuilder(
        builder: (BuildContext context, BoxConstraints constraints) {
          if (constraints.maxWidth > 600) {
            return DesktopHome();
          } else {
            return MobileHome();
          }
        },
      );
    }
  }
}

Sounds like you're not passing a scope for a resource that would generate an access token. For example, if you want an access token for your own API, you need to create a scope for that API and then pass it to login or acquireToken. Without this, MSAL will only return an ID token.

When I request API, I want to include accessToken in the header.

This depends on the API, but usually you just include the access token in the Authorization header as a Bearer token.

Thank you for helping me.
I made scopes as below and redirected it to jwt.ms.
(The scope named 'access_user' was created in Azure)
However, the result of scp does not show access_user :$
What am I doing wrong?
final List scopes = ["https://.onmicrosoft.com/api/access_user"]
P.S - scopes does not contain openid and profile, but the generated URL contains it. Can't you get rid of it?

Hmm, it's kind of hard to say without knowing your setup.
You'll probably want to go through the B2C setup articles for MSAL and see if you missed anything. Seeing how this isn't a Dart issue, you may also want to consider asking for help over at https://github.com/AzureAD/microsoft-authentication-library-for-js. The developers there can provide much better help than I can.

P.S - scopes does not contain openid and profile, but the generated URL contains it. Can't you get rid of it?

Nope, MSAL adds those because they are required for MSAL to function. The openid scope is needed because MSAL implements OpenID connect for auth and profile is needed to get an ID token at all, which I believe is also used internally.

I'm not sure, but I don't think it's a dart problem.
I feel like I'm letting go of something.
Am I getting it right?
request id_token to Azure AD B2C using MSAL.JS -> request access token using corresponding id_token and scopes

Almost, you don't request an access token using an ID token. You get both tokens by using the login methods and access tokens from the acquire methods by passing requested scopes needed in the token.
I could be missing something, I'm certainly no expert on Azure AD.

Thank you for your answers.    It was very helpful to me.

Were you able to solve the issue?

Unfortunately, I haven't solved it yet.
Thank you.