ImageProvider is not working with Html-WebRenderer and image data from a sublist

When using an ImageProvider together with Html-WebRenderer, decode of the Html-WebRenderer does not support a Uint8List from a sublist.
Reason: To create the HtmlBlob an ImmutableBuffer is used. ImmutableBuffer fails (silently) to create from a sublist.
Steps to Reproduce
https://dartpad.dartlang.org/?id=01a575ef748e6649387bbfd8e1f60ca4

@exaby73
Sorry, no error Message - fails silently.
I guess flutter doctor makes no sense in DartPad?

Have you reproduced it on your local machine? If so, can you provide logs for flutter run -v?

[√] Flutter (Channel stable, 2.10.5, on Microsoft Windows [Version 10.0.19043.1645], locale de-DE)
• Flutter version 2.10.5 at c:\flutter\2.10.5
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 5464c5bac7 (7 weeks ago), 2022-04-18 09:55:37 -0700
• Engine revision 57d3bac3dd
• Dart version 2.16.2
• DevTools version 2.9.2
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at C:\Users\xx\AppData\Local\Android\Sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Users\xx\AppData\Local\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 2021.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
[√] VS Code, 64-bit edition (version 1.67.2)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.42.0
[√] Connected device (2 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 102.0.5005.63
• Edge (web)   • edge   • web-javascript • Microsoft Edge 102.0.1245.30
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
===============
[  +56 ms] executing: [c:\flutter\2.10.5/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +45 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 5464c5bac742001448fe4fc0597be939379f88ea
[        ] executing: [c:\flutter\2.10.5/] git tag --points-at 5464c5bac742001448fe4fc0597be939379f88ea
[  +29 ms] Exit code 0 from: git tag --points-at 5464c5bac742001448fe4fc0597be939379f88ea
[        ] 2.10.5
[   +6 ms] executing: [c:\flutter\2.10.5/] git rev-parse --abbrev-ref --symbolic @{u}
[  +24 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [c:\flutter\2.10.5/] git ls-remote --get-url origin
[  +21 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +80 ms] executing: [c:\flutter\2.10.5/] git rev-parse --abbrev-ref HEAD
[  +23 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +67 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' 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.
[  +45 ms] executing: C:\Users\xx\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
[  +34 ms] List of devices attached
[  +10 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[   +7 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +56 ms] Multiple devices found:
[  +19 ms] Chrome (web) • chrome • web-javascript • Google Chrome 102.0.5005.63
[   +1 ms] Edge (web)   • edge   • web-javascript • Microsoft Edge 102.0.1245.30
[   +2 ms] [1]: Chrome (chrome)
[        ] [2]: Edge (edge)
[   +5 ms] Please choose one (To quit, press "q/Q")
[        ] :
[+4100 ms] 1
[  +45 ms] Skipping pub get: version match.
[  +19 ms] Found plugin path_provider at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider-2.0.10
[   +3 ms] Found plugin path_provider_android at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.14
[   +3 ms] Found plugin path_provider_ios at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_ios-2.0.9
[   +2 ms] Found plugin path_provider_linux at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_linux-2.1.7
[   +3 ms] Found plugin path_provider_macos at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_macos-2.0.6
[   +3 ms] Found plugin path_provider_windows at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_windows-2.0.7
[  +31 ms] Found plugin path_provider at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider-2.0.10
[   +3 ms] Found plugin path_provider_android at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.14
[   +2 ms] Found plugin path_provider_ios at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_ios-2.0.9
[   +2 ms] Found plugin path_provider_linux at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_linux-2.1.7
[   +2 ms] Found plugin path_provider_macos at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_macos-2.0.6
[   +1 ms] Found plugin path_provider_windows at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_windows-2.0.7
[  +11 ms] Generating C:\prj\temp\darterr\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +55 ms] Launching lib\main.dart on Chrome in debug mode...
[  +80 ms] Updating assets
[  +50 ms] Waiting for connection from debug service on Chrome...
[   +8 ms] Found plugin path_provider at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider-2.0.10
[   +2 ms] Found plugin path_provider_android at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.14
[   +1 ms] Found plugin path_provider_ios at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_ios-2.0.9
[   +1 ms] Found plugin path_provider_linux at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_linux-2.1.7
[   +3 ms] Found plugin path_provider_macos at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_macos-2.0.6
[   +2 ms] Found plugin path_provider_windows at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_windows-2.0.7
[   +8 ms] Found plugin path_provider at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider-2.0.10
[   +1 ms] Found plugin path_provider_android at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.14
[   +1 ms] Found plugin path_provider_ios at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_ios-2.0.9
[   +1 ms] Found plugin path_provider_linux at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_linux-2.1.7
[   +1 ms] Found plugin path_provider_macos at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_macos-2.0.6
[   +1 ms] Found plugin path_provider_windows at c:\flutter\2.10.5.pub-cache\hosted\pub.dartlang.org\path_provider_windows-2.0.7
[  +24 ms] <- reset
[   +8 ms] c:\flutter\2.10.5\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev c:\flutter\2.10.5\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root c:\flutter\2.10.5\bin\cache\flutter_web_sdk/ --incremental
--target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill C:\Users\xx\AppData\Local\Temp\flutter_tools.e9d60bb6\flutter_tool.cc19f1e2\app.dill --libraries-spec
file:///c:/flutter/2.10.5/bin/cache/flutter_web_sdk/libraries.json --packages C:\prj\temp\darterr.dart_tool\package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\xx\AppData\Local\Temp\flutter_tools.e9d60bb6\flutter_tools.f548f4cc --filesystem-scheme org-dartlang-app --initialize-from-dill build\b1b715402d823b7fd5c2b68d2edcb2ce.cache.dill.track.dill --platform
file:///c:/flutter/2.10.5/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill --sound-null-safety
[  +10 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[ +290 ms] Waiting for connection from debug service on Chrome... (completed in 364ms)
[   +2 ms] Synced 0.0MB.
[   +2 ms] <- accept
[        ] Caching compiled dill
[ +199 ms] [CHROME]:
[   +4 ms] [CHROME]: DevTools listening on ws://<IP_ADDRESS>:52157/devtools/browser/4597c49f-4e63-4847-8ffc-6bf2aeb151f9
[+1167 ms] DwdsInjector: Received request for entrypoint at http://localhost:52153/main_module.bootstrap.js
[   +6 ms] MetadataProvider: Loading debug metadata...
[   +4 ms] MetadataProvider: Loaded debug metadata for module: web_entrypoint.dart
[        ] MetadataProvider: Loaded debug metadata for module: packages/amboss_crust_sw002_reader/main.dart
[        ] MetadataProvider: Loaded debug metadata (sound null safety)
[   +2 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:52153/main_module.bootstrap.js
[ +950 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: true
[  +51 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:52171/jHGly79r2z4=/ws
[  +20 ms] This app is linked to the debug service: ws://<IP_ADDRESS>:52171/jHGly79r2z4=/ws
[   +9 ms] Debug service listening on ws://<IP_ADDRESS>:52171/jHGly79r2z4=/ws
[   +2 ms]  Running with sound null safety
[  +12 ms]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".
[   +1 ms] An Observatory debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:52171/jHGly79r2z4=
[+1029 ms] ImmutableBuffer len on Uint8List: 20
[   +3 ms] ImmutableBuffer len on Uint8List.subview: 0

.sublist(start, end) takes a start and end index. So you are telling Dart to start at 10 and stop before 10 which is causing you to get an empty list. Try this:
import 'dart:typed_data';
import 'dart:ui';

void main() async {
  // Build some data
  final Uint8List bytes = Uint8List(20);
  for (int x = 0; x < 20; x++) {
    bytes[x] = x;
  }

  // Build ImmutableBuffer as used in paiting.dart - instantiateImageCodec
  ImmutableBuffer buffer = await ImmutableBuffer.fromUint8List(bytes);
  print("ImmutableBuffer len on Uint8List: ${buffer.length}");

  // Use sublist to build ImmutableBuffer as used in paiting.dart - instantiateImageCodec => FAILS with size of 0
  final Uint8List bytesSublist = bytes.sublist(10, 19);
  buffer = await ImmutableBuffer.fromUint8List(bytesSublist);
  print("ImmutableBuffer len on Uint8List.subview: ${buffer.length}");
}

@exaby73 Yes, you are right, the code for reproduction was wrong - and so the analysis where the root cause may be.
But the core problem "ImageProvider is not working with Html-WebRenderer and image data from a sublist" ist still valid.
We'll try to figure out a more "upper layer" example to show the problem.

If you're able to reproduce what you describe, then we can reopen this issue for re-evaluation. For now, the code and error logs you provided seems to be an issue with your code and not with Flutter itself which is why I closed it. But by all means, do comment with your findings and a repro example :)

@exaby73
See demo repo: https://github.com/JPlenert/bugreport_imageprov_html_sublist
Critical section is Test 2 in lib/my_image_provider.dart:
`
// ** Test 2 - image bytes from sublistview -> FAIL
// Prefix the image bytes (0x00, 0x00 + image bytes)
Uint8List newBytes = Uint8List(resp.bodyBytes.length + 2);
for (int i = 0; i < resp.bodyBytes.length; i++) {
newBytes[i + 2] = resp.bodyBytes[i];
}
// Create a Sublist view, and skip the leading 2 bytes
var newList = Uint8List.sublistView(newBytes, 2);
  return newList;

`

I am not able to reproduce the issue. I used the repo you provided, and with Android, iOS and Web. Below are screenshots. No logs either, on both stable and master/
Screenshots
iOS

Android

Chrome

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.1 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

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

[✓] Connected device (3 available)
    • iPhone SE (3rd generation) (mobile) • F1533A3D-9920-4961-BE93-D0915BA5D392 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

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

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1161, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.1.0-0.0.pre.1161 at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1e53ad4efb (2 hours ago), 2022-06-08 00:33:07 -0400
    • Engine revision b60a46cf25
    • Dart version 2.18.0 (build 2.18.0-170.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

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

[✓] Connected device (3 available)
    • iPhone SE (3rd generation) (mobile) • F1533A3D-9920-4961-BE93-D0915BA5D392 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

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

• No issues found!

Okay thank you for the information. I can replicate what you described on stable and master.
Screenshot

Code sample
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:typed_data';
import 'dart:ui' as ui show Codec;

import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;

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

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

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

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

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Image(image: MyImageProvider(testNo: 1)),
            Image(image: MyImageProvider(testNo: 2)),
            Image(image: MyImageProvider(testNo: 3)),
          ],
        ),
      ),
    );
  }
}

class MyImageProvider extends ImageProvider<MyImageProvider> {
  final int testNo;

  MyImageProvider({
    required this.testNo,
  });

  Future<ui.Codec> _loadAsync(
    MyImageProvider key,
    DecoderCallback decode,
  ) async {
    try {
      assert(key == this);

      Uint8List bytes = await loadBytesAsync();

      if (bytes.lengthInBytes == 0) {
        throw Exception('Received empty image bytes');
      }

      return decode(bytes);
    } catch (e) {
      scheduleMicrotask(() {
        PaintingBinding.instance.imageCache.evict(key);
      });
      rethrow;
    }
  }

  Future<Uint8List> loadBytesAsync() async {
    /// ********************************************************************
    /// Load some image
    http.Response resp = await http.get(Uri.parse(
        'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Phalaenopsis_JPEG.png/220px-Phalaenopsis_JPEG.png'));

    /// ** Test 1 - just return the image bytes -> works
    if (testNo == 1) {
      return resp.bodyBytes;
    } else if (testNo == 2) {
      // ** Test 2 - image bytes from sublistview -> FAIL
      // Prefix the image bytes (0x00, 0x00 + image bytes)
      Uint8List newBytes = Uint8List(resp.bodyBytes.length + 2);
      for (int i = 0; i < resp.bodyBytes.length; i++) {
        newBytes[i + 2] = resp.bodyBytes[i];
      }
      // Create a Sublist view, and skip the leading 2 bytes
      var newList = Uint8List.sublistView(newBytes, 2);

      return newList;
    } else if (testNo == 3) {
      // ** Test 3 - image bytes from sublistview, and copy back to a list -> workd
      // Prefix the image bytes (0x00, 0x00 + image bytes)
      Uint8List newBytes = Uint8List(resp.bodyBytes.length + 2);
      for (int i = 0; i < resp.bodyBytes.length; i++) {
        newBytes[i + 2] = resp.bodyBytes[i];
      }

      // Create a Sublist view, and skip the leading 2 bytes
      var newList = Uint8List.sublistView(newBytes, 2);

      // Build list from sublistview
      return Uint8List.fromList(newList);
    }

    return Uint8List(0);
  }

  @override
  Future<MyImageProvider> obtainKey(ImageConfiguration configuration) {
    return SynchronousFuture<MyImageProvider>(this);
  }

  @override
  ImageStreamCompleter load(MyImageProvider key, DecoderCallback decode) {
    return MultiFrameImageStreamCompleter(
      codec: _loadAsync(key, decode),
      scale: 1,
      debugLabel: key.toString(),
      informationCollector: () => <DiagnosticsNode>[
        DiagnosticsProperty<ImageProvider>('Image provider', this),
        DiagnosticsProperty<MyImageProvider>('Image key', key),
      ],
    );
  }

  @override
  bool operator ==(Object other) {
    if (other.runtimeType != runtimeType) return false;
    return other is MyImageProvider && other.testNo == testNo;
  }

  @override
  int get hashCode => testNo;
}

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.1 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

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

[✓] Connected device (3 available)
    • iPhone 13 Pro Max (mobile) • 16B8F156-111C-489F-A6E5-2D79142036B4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

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

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1188, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.1.0-0.0.pre.1188 at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0edb5e7d7 (51 minutes ago), 2022-06-09 02:38:08 -0400
    • Engine revision 3498d19583
    • Dart version 2.18.0 (build 2.18.0-170.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

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

[✓] Connected device (3 available)
    • iPhone 13 Pro Max (mobile) • 16B8F156-111C-489F-A6E5-2D79142036B4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

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

• No issues found!

Image.memory(); has same problem with web renderer

Still in Flutter 3.13.9


Use a specific release of minio

Using latest probably isn't the best thing (as it's a moving target), so let's see if this resolves the CircleCI issues...

I've removed the requirement on the trivy_scan so this can get in, then @philsegal can add his fix for that CVE after.


Enh. Suggestions for sap.m.PlanningCalendar

OpenUI5 version: 1:36.0
I have been working on an extension of the PlanningCalendar, below are some the changes i have made which i think could be included. All changes came from customer feature requests. I would make a PR but guessing some changes already in pipeline.

SubIntervals can be set on the PlanningCalendarView but not directly on the PlanningCalendar, customer wants to see intervals every 15 minutes when on hour view

Min and Max dates, customer wants to control how far into the past and future users can go

EndDate, needed for Selecting Data for the current view,  need to be able to determine both the StartDate and the EndDate
eg

 SELECT * FROM Appointments WHERE Start < EndDate AND End > StartDate

example code
  metadata: {
         properties: {
              minDate: { type: "object", group: "Data" },
              maxDate: { type: "object", group: "Data" },
              showSubIntervals: { type: "boolean", group: "Appearance", defaultValue: false}

   ....

              PlanningCalendar.prototype.setViewKey = function(sKey) {
               ..
                oView.setShowSubIntervals(this.getShowSubIntervals()); //1  a getView would be nice

                if (this.getMinDate() &&  this._oTimeInterval) {  //2
                    this._oTimeInterval._oMinDate = new UniversalDate(this.getMinDate());
                }

                if (this.getMaxDate() && this._oTimeInterval) { //2
                    this._oTimeInterval._oMaxDate = new UniversalDate(this.getMaxDate());
                }
            },
...
            PlanningCalendar.prototype.getRowEndDate = function() {
                // this._iRowSize = oCalendarRow._iRowSize; - derived @ onBeforeRendering
                return new Date(this.getStartDate().getTime() + this._iRowSize);  //3
            },

I have an additional change besides the ones of @jasper07: It would be handy to have an event such as in the updateFinished sap.m.ListBase that informs us when the data is in the control.
When you want to only fetch the appointments for the visible Date Interval you need to be able to add the filter on the appointments, but you can only perform this.getModel().read("/AppointmentSet, ..." when the rows are received.
Currently we are doing a manual bindAggregation with an expand, but then you need to have the startDate and endDate property also on the Rows-entitySet, to solve this is the Gateway or other backend.
Regards,
Robin

Contacted the content expert to let him know about your suggestions. @rpanneel @jasper07 You can also think about a contribution, this will definitely be faster than if we do it by ourselves as we usually have a lot of feature backlog on our tables.
First, we should clarify however if these suggestions make sense for all our stakeholders
Get in touch with us if you plan to contribute some of the features.
@thomaskoetter what do you think about these suggestions?
Kind Regards,
Michael

@Michadelic  @thomaskoetter
Suggestion 2 - max and min dates was already added
I have an open PR with the suggestions 1 + 3

showSubIntervals - i didnt test the setter,  need some guidance on how to proceed

-the default behaviour of PC is to create 3 Views if no View specified,
I added the logic to set showSubInterval
ran the QUnit tests and test for Views broke because of an iimplicit PC.addView where showSubInterval set true
My thinking is the majority of times PC Views aggregation will not be set, therefore setter code not needed, thoughts on how to proceed

Hi,
see my comments in https://github.com/SAP/openui5/pull/928: suggestion 1 is either not fully understood or not desired, suggestion 3 is nice, there are only implementation concerns.
(suggestion 2 is already implemented).
Regards
Andreas


Timer tick unit of meausure

Hello, why not to use an absolute unit of measure for timers? Eg. mSec (absolute) instead of ticks (relative) in API like tx_thread_sleep(ULONG timer_ticks); or tx_timer_change(TX_TIMER *timer_ptr,  ULONG initial_ticks, ULONG reschedule_ticks);
Thanks

For a few reasons: 1) There is no way for the higher level API code to really know the low level timer interrupt frequency since this is configured on a port-by-port basis and can be modified by the developer. Sure, you can use #defines, but even then it's misleading to allow, say, a 1 ms interval when the timer interrupt is configured for 5ms or 10 ms. The only thing the API can guarantee is the requested number of ticks or timer interrupts that will occur 2) If I want to have an absolute time value, I can define it in the application headers based on how I have configured the timer interrupt. If the timer interrupt is 10 ms, I can #define ONE_SECOND  100, or FIVE_SECONDS 500, etc..  If I change my hardware tick rate later it's easy to change these #defines to match. 3) Other OS that allow settings like 1 ms  are sort of lying. Even if you had your timer interrupt configured for 1 ms (unlikely) interval, that means you would actually have a delay value somewhere between 0 ms and 1 ms. That's a huge error margin. If you truly need a timer with that accuracy, the suggestion would be to configure your own hardware timer (assuming one is available).

Thank you for the excellent explanation, @jdeere5220. I will close this ticket now. Feel free to ask any more questions.


fix(runtime-core): custom-element: ensure event names are hyphenated (fix: #5373)

close: #5373

Strictly speaking, this would be a breaking change. Could we get around this by emitting the event both in camel- and kebap-case? That could also break something, but I'd consider that to be the most extreme of edge cases.

Could we get around this by emitting the event both in camel- and kebap-case?
That could also break something, but I'd consider that to be the most extreme of edge cases.

I think this is safer than always hyphenating. Technically, I don't think custom elements should expect case conversions for emitted events. But the mismatch between Vue conventions is also a valid issue, so I think emitting both versions is an ok compromise.


chore: Add editor changes

This PR introduced some vscode automatic formatting.
This PR just saves the files so the editor re arranges imports and add missing ending lines.

It seems that the formatting is not correct now (see https://github.com/capacitor-community/photoviewer/actions/runs/10631116351/job/29471356650?pr=67). Possibly only whitespaces. Please try to run npm run fmt.

fmt fixes the lint problem, but saving the file reintroduces the lint problem, so looks like it's not working as expected?

If there is no new line it adds it, but if there is one it still adds another one, only happens on the index.ts file.


Issue with temporalMicrobiome20

The temporalMicrobiome20  dataset seems to be incorrect. The assay has NAs and abundance values are characters not numeric

Thanks! @YagmurSimsekk any comments? Seems that the assay has not been converted into numeric matrix form, can it be fixed?

Thanks! @microsud Can you show me the original source of the data? I tried to find it from your repository, but couldn't.

I did not create this data ;) This data in part of the miaTime in the data-folder.

Sorry, I was mistaken by minimalgut data set that was taken from your repository. All good now, thanks :)

Closed via #41


Draw elements on screen

We have elements and their logic working. We need to have them drawn on the screen.

sprite.h is written and documented on dev
we need a sprite.c

I also thought of having ids in the game elements. This way, the elements should be able to point out which of the Sprites are supposed to be updated to their position accordingly.

sprites were implemented via pools
like textbox, they use the elements in the drawpos pool


chore(deps) bump: grpcurl from 1.8.5 to 1.8.6 :tea:

Summary

Some bugs have been addressed in the library used to parse proto source files. Previously grpcurl would accept proto source files that could not actually be compiled with protoc. The converse could also happen: grpcurl could reject some proto source files that could successfully be compiled with protoc. More details can be found in the release notes for the changes to the protoparse library, versions v1.10.2 and v1.10.3.
Some implementations of the server reflection service have been observed to return multiple (even superfluous) file descriptors, in response to requests made by grpcurl. These extra files, if not returned in a particular order, would cause grpcurl to report an error that the service or method to be invoked could be not be resolved. The reflection client in grpcurl is now more robust to this condition and can handle responses with file descriptors in any order, so it should be interoperable with a larger variety of servers.
When a request message includes a field of type google.protobuf.Value and a value for that field that was a JSON array, grpcurl would incorrectly interpret the JSON array as if it were a single atomic value, the last value that was in the array. This has been fixed.
When a response message includes non-printable characters or code points outside the ASCII 7-bit range in the name of a field in a JSON object, it could be improperly encoded with escape characters that are not valid JSON. Standard tools/libraries could then fail to parse the JSON output from grpcurl. This has been fixed.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Duplicate of #8593. @mrnonz if you want to continue on this, please resolve issues with our test suite too.


(MCOP-575) Adding comma to package_data.ddl

adding a missing "," in the installed output section.

Looks like this project needs some love. First, can you add the ticket number to your commit message?

I'll have to look into the CI failure later.

Waiting for CLA signature by @web-flow
@web-flow - We require a Contributor License Agreement (CLA) for people who contribute to Puppet, but we have an easy click-through license with instructions, which is available at https://cla.puppet.com/
Note: if your contribution is trivial and you think it may be exempt from the CLA, please post a short reply to this comment with details. http://docs.puppet.com/community/trivial_patch_exemption.html

Closing in favor of https://github.com/puppetlabs/mcollective-package-agent/pull/27.


Update dep

breaking change from @ngtools/webpack, it requires absolute path now

Coverage remained the same at 100.0% when pulling 006f719fc0be452bd552ba57a1078ccdd9d8a501 on update-dep into 578c464d8a918c9665e77943ec60354c735e1a8c on master.

Coverage remained the same at 100.0% when pulling 56ec934d3e0468f5ae6e976c1ceb52a89354a4cd on update-dep into 578c464d8a918c9665e77943ec60354c735e1a8c on master.

Coverage remained the same at 100.0% when pulling 5aed15993f7a732128e7f94265ccce0f10e0b6f6 on update-dep into 578c464d8a918c9665e77943ec60354c735e1a8c on master.

Coverage remained the same at 100.0% when pulling 0339735aa8963c8d290f058f818b01480408e2cf on update-dep into 578c464d8a918c9665e77943ec60354c735e1a8c on master.


Installing

Hello sir,
We have cpanel reseller hosting and we want install this panel to our cpanel hosting but we dont know how to install this panel to linux php reseller hosting.
can you help to us?
Regards

If you don't have SSH access or no git/composer support you can install it local and after that move everything to your shared hosting. Including the database.


Allow to use async memory adapter without runner

We have some thread specific issues now with runner and async memory adapter. For fixing it we say that runner is only for standalone event server for redis or other pubsub systems

Related to https://github.com/hanami/events/issues/85


go get fails

go get github.com/MaoLongLong/lockfreequeue
💡 gog github.com/MaoLongLong/lockfreequeue
go: downloading github.com/MaoLongLong/lockfreequeue v0.0.0-20220211065930-ebd7abd7ecf1
go<EMAIL_ADDRESS>parsing go.mod:
	module declares its path as: go.chensl.me/lockfreequeue
	        but was required as: github.com/MaoLongLong/lockfreequeue

I used a custom domain name.
go get go.chensl.me/lockfreequeue


Issue in the import statement

Before you begin...

[X] I have searched the existing issues
[X] I am not using version 13.x of node  (if so, please upgrade)

Description of the problem
As per the wrapper.mjs
There is no export statement with the name uuidv4, so when we write the below import statement, we are getting the error as v4 is not defined, it is worked when we directly import the v4 from uuid package
//NotWorking:
import { v4 as uuidv4 } from 'uuid';
//Working:
import { v4 } from 'uuid';
import uuid from './dist/index.js';
export const v1 = uuid.v1;
export const v3 = uuid.v3;
export const v4 = uuid.v4;
export const v5 = uuid.v5;
export const NIL = uuid.NIL;
export const version = uuid.version;
export const validate = uuid.validate;
export const stringify = uuid.stringify;
export const parse = uuid.parse;

So, as per my understanding, need to update the documentation or wrapper.mjs file
Recipe for reproducing
No response
Additional information
No response
Environment
No response

Duplicate of https://github.com/uuidjs/uuid/issues/651#issuecomment-1225897883


Allow use of refreshInterval for KV Secret Provider

In the migration from the previous KeyVaultSecretProvider repo, the access
restriction on the KVSPO object became internal. This means that there's a
lack of any meaning to the refreshInterval-handling code in the package as
it will always be null.
This change re-exposes the options object so that users can take advantage
of the functionality to automatically refresh secret values.

Hi @Penguinwizzard.  Thank you for your interest in helping to improve the Azure SDK experience and for your contribution.  I'm tagging and routing to the team members best able to provide feedback.

Thank you, @Penguinwizzard!


Update frontend to use new Stacker backend

Stack PR by STACK ATTACK:

#24 Create stub concrete classes for refactoring
#25 Implement factory function to construct Stacker
#26 Update frontend to use new Stacker backend

This PR breaks Stack Attack on master. If you want to use Stack Attack, you'll need to install and use the version on NPM instead.
Test Plan
yarn cli does not crash. I may have broken the frontend (specifically, the app exits immediately so I'm not sure if it'll wait for repo info to be fetched) but let's try this again when the backend is more fully implemented.

LGTM!


How can insert or update new row ?

Hi Numtel.
I see your demo, we can show data from mysql db.
But quick question.
How can insert or update new row like Mongo.insert?
Thank you

For updating or inserting use the node-mysql connection exposed on the LiveMysql.db property.
liveDb = new LiveMysql(sqlsettings);
liveDb.db.query("INSERT INTO ...", (err, res) => {
    // do something
});

can new LiveMysql() run at the client side?


Add Arcata, CA

First community map!

Yay! Your change has a lot of unrelated formatting changes. Try running npm install then npm run fmt.


Returning "Reachable via WiFi" YES even when device at that address is powered off

    NSString* aPrinterHost = @"<IP_ADDRESS>";
    NSString* aPrinterPort = @"9100";

    struct sockaddr_in aPrinterIP4Address;
    memset((void *)&aPrinterIP4Address, 0, sizeof(aPrinterIP4Address));
    aPrinterIP4Address.sin_family = AF_INET;
    aPrinterIP4Address.sin_port = htons([aPrinterPort intValue]);
    aPrinterIP4Address.sin_addr.s_addr = inet_addr([aPrinterHost UTF8String]);
    aPrinterIP4Address.sin_len = sizeof(aPrinterIP4Address);

    Reachability* aPrinterReachabilityStatus =
               [Reachability reachabilityWithAddress:&aPrinterIP4Address];

At this point, [aPrinterReachabilityStatus isReachable] returns YES even though that device is powered off. Is this a bug?

I have same problem...


bump version in package.json to v2.16.3

release version v2.16.3

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


server: transfer leader when move leader peer.

Fix #579
Avoid removing a peer when it is the leader:
When move a leader peer, [add B, remove A] becomes [add  B, transfer A to B, remove A].
When remove a leader peer, [remove A] becomes [transfer A to B, remove A].

PTAL @nolouch @siddontang

When move a leader peer, [add B, remove A] becomes [add B, transfer A to B, remove A].

here the new added B may have no enough raft logs to become the leader.

@siddontang It's possible, but it's the best we can do.
The balancer always tries to move a follower first, moving a leader typically happens in a single replica config, in this case, we are not able to find another peer to transfer leadership.

Seem that we always transfer to the new peer here? https://github.com/pingcap/pd/pull/580/files#diff-b77438564214bea3a1b8b3139075436aR262

LGTM


Merge mu branch with main

added:
-physics based projectiles using "arc-projectile" template (use same bullet_data format though)
-basic enemies with health that delete themselves when dead
-two types of spawn pads and a basic spawn point
-two new testing levels (separate level scenes that are placed into world)
-a simple sentry gun
-interaction system for buttons (needs refining)
[] note, disabled firing sound in animation and lowered sound volume in file, feel free to revert

@FlamingGears, Everything looks good, but could you consider excluding the ".godot" folder content? Currently, you're adding over 3,000 files to the main repository, with only about 100 files being necessary code. I'm concerned this might cause issues on the main branch, leading to unnecessary bloat. I suggest keeping only the in the "editor" folder within the ".godot" folder. If that doesn't work, just push everything into the main branch. We can figure that out later.


Helpful to show example of marking an answer

In order to better support and encourage questions to be marked as answer by those that ask it would be helpful to show how just an answer to the example question being marked as such.

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

ID: 5be114f3-6668-8b9d-b698-a088050edd1e
Version Independent ID: 360c7943-63c3-72b8-ddbe-b275f86793ba
Content: Introducing Microsoft Q&A (Preview)
Content Source: teamblog/introducing-microsoft-qanda.md
Product: team-blog
GitHub Login: @saldana
Microsoft Alias: saldana

@wsmelton this is a great suggestion and in the next few weeks we will work on providing some user scenario guidelines. Thanks!!!
Note that you can also add suggestions like this in the Site feedback section in Microsoft Q&A!


Update Oracle xsl

I think there is a little error in Oracle syntax - between ALTER TABLE and DROP CONSTRAINT you should write table name, so you need to ommit DROP CONSTRAINT command there

I really have no idea what is the correct behavior. I will merge this optimistically :)

Thanks!


Upgrade to PHP 5.6, required as of Shopware 5.2

Addresses https://github.com/shopwareLabs/shopware-vagrant/issues/5

@bcremer please review

@dnoegel sorry about that – please review and merge at your convenience

@sebastien-fauvel Thanks for your work!

You're welcome :)

@sebastien-fauvel Thank you :+1:


Addition: Parsing

We are interested in your project. Would like to add parsing for loops. Could you please guide us?
We are pursing a project in our Compiler Design Laboratory, Bangalore, India which involves building a LISP compiler in C++. Thanks!

Sure, I can try to add some features about loops. Just give me few days!


chore: move version string logic to its own dagger module

This is part of wider refactor of our monolithic CI module. See #8355 .
You can play with the version module directly.
Example of a dev version (this PR's):
dagger call -m github.com/dagger/dagger/version@pull/8564/head \
 version

Example of a release version:
dagger call -m github.com/dagger/dagger/version@pull/8564/head  --git-dir=https://github.com/dagger/dagger#v0.13.0  version

Did some tidying up - ended up removing supergit in preference of some more opinionated git methods in git.go, which allows for easily grabbing lots of tag information along with their dates / etc (we can move this out in the future).
Also fixed the dev versions, so that now we also handle newly added files.
Finally, refactored to get the old behavior of version numbers back - if we change the format, we should do so as a separate change.

Thank you @kpenfound @jedevc ! Great teamwork


Pricing information in TradeOpen and TradeReduce

Hi! Thanks for creating this useful wrapper.
I'm in the process of using it to upgrade an application I had written against V10 and for the most part it's going fine. However, I ran into an issue that it appears this wrapper may not yet have taken into account a deprecation in the V20 API?
From this documentation (https://developer.oanda.com/rest-live-v20/transaction-d), if you look up OrderFillTransaction you will see that the price field has been deprecated and that this information has been moved into the TradeOpen and TradeReduce objects. However, I don't see that update being reflected in this wrapper.

This field is now deprecated and should no longer be used. The individual
tradesClosed, tradeReduced and tradeOpened fields contain the
exact/official price each unit was filled at.
Deprecated: Will be removed in a future API update.

Are there plans to update according to this deprecation?

Hi zamir,
Thanks for the info!.
OandaV20.2 (v2 branch) reflects all changes to the Oanda's V20 service up to release 3.0.22.
The price property of OrderFillTransaction is decorated with an [Obsolete] attribute.
If you are consuming the wrapper directly (instead of via the Nuget pkg), I recommend using OandaV20.2.
A primary improvement it offers is the use of strongly typed parameters.
A Nuget package for OandaV20.2 will be available in the near future.
If however you prefer to use OandaV20 (master branch), I will update the code file and Nuget package no later than 1/5/2018.
Chris

That's perfect. Thank you so much for creating this useful wrapper. Oanda should be paying you!


Pay to download, so what's the difference between you and CSDN

Still need to pay！！

i don't know


Wiki: Add section for running with n2n

Added a new section about using n2n to run ALVR with separated networks.
Was used for integrated with Parsec, but happened to see it also works for ALVR, and switching to UDP + Adaptive bitrate is mostly playable, so I write up the steps to show how to.

I think this is good to go, thanks! :)


Implement withdraw pattern on the burn auction contract

What's wrong
We currently let the next auction winner refund the previous bidder with a transfer. Don't know how an attacker can exploit this yet.
https://github.com/thehubbleproject/hubble-contracts/blob/6cd0fe1a4a868d762b5e01a5b04cae94fb067650/contracts/proposers/BurnAuction.sol#L48-L52
How can we fix it

Add a mapping of bidders to their total bidding.
Deduct the bidding if they win a slot
Let them claim the bidding when a slot auction is concluded.

Fixed in #385


Servercrash while placing 64k Storage Blog.

Issue description:
If you place a 64k Storage Block, the Server crash.
What happens:
If you place a 64k Storage Block, the Server crash.
What you expected to happen:

Steps to reproduce:

Craft a 64k Storage Blog
2.Place it into your RS-System

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: forge-1.10.2-<IP_ADDRESS>8-universal
Refined Storage: refinedstorage-1.1.3

Does this issue occur on a server? [yes/no]
yes, Sponge (spongeforge-1.10.2-2098-5.0.0-BETA-1788)
If a (crash)log is relevant for this issue, link it here:

where is your crashlog?

I try to find it today,  on the server is Industrialcraft 2 installed with an logging error. So the log file is 30 GB big. My Tablet can't handle it,  so I post the log next time at my computer.

Please don't post the 30GB, just send the actual crash log

I'll close the issue, if you have the log, feel free to post and I'll take a look.


Getting two Stop messages for server in Discord using webhook and auto restart scheduler

Hi there, this is a minor nit-picky issue, but a confusing one. I get two Stop messages when using the built in Schedule restart environmental variable. They all appear at the same time according to discord (05:00). See posts below for more info.
Not a big problem but just curious as to why it's doing it more than anything. Thanks!
Discord Image

Docker Compose
version: "3.1"
services:
#Valheim
valheim:
image: mbround18/valheim:latest
container_name: Valheim
stop_signal: SIGINT
ports:
- "2456:2456/udp"
- "2457:2457/udp"
- "2458:2458/udp"
environment:
PORT: 2456
NAME: "REDACTED"
WORLD: "REDACTED"
PASSWORD: "REDACTED"
PUID: "998"
PGID: "100"
TZ: "Europe/London"
PUBLIC: 1
AUTO_UPDATE: 1
AUTO_UPDATE_SCHEDULE: "0 4 * * "
AUTO_UPDATE_PAUSE_WITH_PLAYERS: 1
AUTO_BACKUP: 1
AUTO_BACKUP_SCHEDULE: "/20 * * * *"
AUTO_BACKUP_REMOVE_OLD: 1
AUTO_BACKUP_DAYS_TO_LIVE: 1
AUTO_BACKUP_ON_UPDATE: 1
AUTO_BACKUP_ON_SHUTDOWN: 1
AUTO_BACKUP_PAUSE_WITH_NO_PLAYERS: 1
SCHEDULED_RESTART: 1
SCHEDULED_RESTART_SCHEDULE: "0 5 * * *"
WEBHOOK_URL: "REDACTED"
WEBHOOK_INCLUDE_PUBLIC_IP: 1
UPDATE_ON_STARTUP: 0
volumes:
- /srv/REDACTED/Valheim/valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
- /srv/REDACTED/Valheim/valheim/server:/home/steam/valheim
- /srv/REDACTED/Valheim/valheim/backups:/home/steam/backups
Discord.JSON
{
"events": {
"update": {
"content": "🆕: REDACTED has been updated",
"embeds": [
]
},
"stop": {
"content": "🟥 Halted",
"embeds": [
]
},
"broadcast": {
"content": "Broadcast message: {{server_name}}",
"embeds": [
]
},
"start": {
"content": "🟢 Started: {{server_name}}",
"embeds": [
]
}
}
}

Hi, I figured this one out. It was because I deleted the stuff in "embeds" which was the {{description}} message. Which breaks down into more detail what the stop message is about. New code is below which now keeps the messages compact but more descriptive.

Discord.json
{
  "events": {
    "update": {
      "content": "🆕: BroWorld has been updated",
      "embeds": [
      ]
    },
    "stop": {
      "content": "🟥 {{description}}",
      "embeds": [
      ]
    },
    "broadcast": {
      "content": "Broadcast message: {{server_name}}",
      "embeds": [
      ]
    },
    "start": {
      "content": "🟢 Started: {{server_name}}",
      "embeds": [
      ]
    }
  }
}


How to implement mutations using GraphQL multipart request spec

Please add some examples on how create mutations using GraphQL multipart request spec  and apollo-upload-server with Nexus?

In our project we're are doing this way:
First we create a scalar:
import {scalarType} from 'nexus';
const GraphQLUpload = require('graphql-upload').GraphQLUpload;

export const Upload = scalarType({
  name: GraphQLUpload.name,
  asNexusMethod: 'upload', // We set this to be used as a method later as `t.upload()` if needed
  description: GraphQLUpload.description,
  serialize: GraphQLUpload.serialize,
  parseValue: GraphQLUpload.parseValue,
  parseLiteral: GraphQLUpload.parseLiteral,
});

And I use it in a mutation like this:
  const readFS = (stream: {
    on: (
      arg0: string,
      arg1: (data: any) => number,
    ) => {on: (arg0: string, arg1: () => void) => void};
  }) => {
    let chunkList: any[] | Uint8Array[] = [];
    return new Promise((resolve, reject) =>
      stream
        .on('data', (data) => chunkList.push(data))
        .on('end', () => resolve(Buffer.concat(chunkList))),
    );
  };

  const Mutation = objectType({
    name: 'Mutation',
    definition(t) {
      t.field('importProfiles', {
        type: 'String', // Or any other type that your resolver returns
        args: {
          file: arg({type: 'Upload'}),
        },
        resolve: async (root, args, context) => {
          const {createReadStream, filename, mimetype, encoding} = await args.file;
          if (!filename) {
            throw NotValidError(filename, ['filename'], 'Invalid file Stream');
          }
          const ext = filename.split('.').pop();
          if (ext !== 'csv') {
            throw NotValidError(
              filename,
              ['filename'],
              'File not valid, must be a .csv file',
            );
          }
          const buf = await readFS(createReadStream());
          const fileParsed = parse(buf.toString());
          const fileData = fileParsed.data;

          // Do things to fileData and return
        }
      });
    },
  });

In our case we are expecting a .csv file.
I think that we still need some more error handling but it's working so far.
Hope that helps :)

If you're using the latest version of apollo-server-express, then it comes with GraphQLUpload scalar type — no need to include a separate package.
Also, Nexus provides a helper called asNexusMethod that you can use to implement something like:
export const Upload = asNexusMethod(GraphQLUpload, 'upload')

That export adds the Upload scalar that you can use as an argument type.

Thanks @israelglar, @delianides  ! Your comments helped me a lot

I realize this is a closed issue, but since I borrowed so heavily from @bizmedia, @delianides and @israelglar I figured I'd post here. I'll make a new issue as well.
But basically I have no idea how this is working for everyone. Typescript is throwing errors everywhere. I am just looking to upload files to an s3 bucket. I cannot believe how not straightforward this is - you would think this is a pretty basic use case...
Also, parse is not a function, so I'm not sure what I'm supposed to be using (as @israelglar did).
Any help from anyone as to what exactly I'm missing would be GREATLY appreciated! I'm at a complete loss...
This is the error I'm getting when I upload the file:
In the network tab, this appears to be what's being sent:
operations: {"variables":{"file":null},"query":"mutation ($file: Upload) {\n  uploadFile(file: $file)\n}\n"} map: {"1":["variables.file"]} 1: (binary)
And this is the response (error):
GraphQLError: Variable "$file" got invalid value {}; Upload value invalid.
BACKEND
server.ts
import './config'
import { GraphQLServer } from 'graphql-yoga'
import { permissions } from './permissions'
import { schema } from './schema'
import { createContext } from './context'

import * as jwt from 'jsonwebtoken'

const localdev = 'http://localhost:3000'

const admindev = 'http://localhost:3001'

var whitelist = [localdev, process.env.MYSQL_URL_FCA, admindev]

const options = {
  endpoint: '/',
  subscriptions: '/subscriptions',
  playground: '/playground',
  debug: true,
  tracing: true,
  allowExternalErrors: true,
  cors: {
    credentials: true,
    // origin: process.env.HATCHLI_URL,
    origin: whitelist,
  },
}

const server = new GraphQLServer({
  schema,
  context: createContext,
  middlewares: [permissions],
}).start(options, ({ port }) => {
  console.log(
    `Server started, listening on port ${port} for incoming requests.`,
  )
})

Upload.ts
import { objectType, extendType, scalarType } from '@nexus/schema'
import { GraphQLUpload } from 'graphql-upload'

export const Upload = scalarType({
  name: GraphQLUpload.name,
  asNexusMethod: 'upload', // We set this to be used as a method later as `t.upload()` if needed
  description: GraphQLUpload.description,
  serialize: GraphQLUpload.serialize,
  parseValue: GraphQLUpload.parseValue,
  parseLiteral: GraphQLUpload.parseLiteral,
})

Mutation.ts
import { schema } from 'nexus'
import { arg } from '@nexus/schema'

const readFS = (stream: {
  on: (
    arg0: string,
    arg1: (data: any) => number,
  ) => { on: (arg0: string, arg1: () => void) => void }
}) => {
  let chunkList: any[] | Uint8Array[] = []
  return new Promise((resolve, reject) =>
    stream
      .on('data', (data) => chunkList.push(data))
      .on('end', () => resolve(Buffer.concat(chunkList))),
  )
}

export const Mutation = schema.mutationType({
  definition(t) {
    t.field('uploadFile', {
      type: 'Boolean', // Or any other type that your resolver returns
      args: {
        file: arg({ type: 'Upload' }),
      },
      resolve: async (root, args, context) => {
        const {
          createReadStream,
          filename,
          mimetype,
          encoding,
        } = await args.file
        if (!filename) {
          throw Error('Invalid file Stream')
        }
        const ext = filename.split('.').pop()
        const buf = await readFS(createReadStream())
        const fileParsed = parse(buf.toString())
        const fileData = fileParsed.data

        console.log(fileData)
        return fileData

        // Do things to fileData and return
      },
    }),
... rest of my mutations
}})

FRONT END
index.tsx
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import { theme } from "./theme";
import Routes from "./routes";
import * as serviceWorker from "./serviceWorker";
import "./theme/global.css";

import { setContext } from "@apollo/link-context";
import { Client as Styletron } from "styletron-engine-atomic";
import { Provider as StyletronProvider } from "styletron-react";
import { BaseProvider } from "baseui";
import { ApolloProvider, ApolloClient, InMemoryCache } from "@apollo/client";
const { createUploadLink } = require("apollo-upload-client");

const dev = "http://localhost:4000/";
const prod = "https://prisma2-graphql-yoga-shield.now.sh/";

const httpLink = createUploadLink({
  uri: dev,
  credentials: "include",
  fetch,
});

const authLink = setContext((_, { headers }) => {
  // get the authentication token from local storage if it exists
  const token = localStorage.getItem("token");
  // return the headers to the context so httpLink can read them
  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : "",
    },
  };
});

const client = new ApolloClient({
  uri: process.env.REACT_APP_API_URL,
  cache: new InMemoryCache(),
  link: authLink.concat(httpLink),
});

function App() {
  const engine = new Styletron();

  return (
    <ApolloProvider client={client as any}>
      <StyletronProvider value={engine}>
        <BaseProvider theme={theme}>
          <BrowserRouter>
            <Routes />
          </BrowserRouter>
        </BaseProvider>
      </StyletronProvider>
    </ApolloProvider>
  );
}

ReactDOM.render(<App />, document.getElementById("root"));

Customer Form.tsx
import React, { useState, useCallback } from "react";
import { gql, useMutation, useQuery } from "@apollo/client";

const SINGLE_UPLOAD = gql`
  mutation($file: Upload) {
    uploadFile(file: $file)
  }
`;
const AddCustomer: React.FC<Props> = (props) => {
  const [uploadNewFile, { loading, error }] = useMutation(SINGLE_UPLOAD);
function onChange({
    target: {
      validity,
      files: [file],
    },
  }) {
    if (validity.valid) uploadNewFile({ variables: { file } });
  }
return (
                  <Input
                    type="file"
                    name="file"
                    // disabled={!uploadFileName}
                    inputRef={register}
                    onChange={onChange}
                  />
)
}
export default AddCustomer;


Need much more gpu mem vs vllm when large max batch size.

ENV
GPU: 2080Ti * 4（12G mem *4）
Mem：128G
CUDA: 12.2
Pytorch：2.1.0
Transformers：4.31.0
TensorRT：9.1.0.post12.dev4
TensorRT-LLM：0.5.0
Triton-trt-llm-backend：0.5.0
Triton：23.10
VLLM：0.2.7

Description
When i use trt-llm to infer llama-13B vs vllm. I found trt-llm use much more gpu mem than vllm when large batch size.  In my experiment, i use 4 * 2080Ti (12G mem * 4) to deploy llama-13B with trt-llm 4 tp. I can ony set the max batch size to 8 when buiding. If use parallel requests(> 8), the throuput will not increase any more. But vllm will perform ok, and throuput will surpasses trt-llm. Even parallel requests > 32, its throuput can also increase a little.
I know my gpu mem cannot set trt-llm max_batch_size > 8, so have above results. Will trt-llm optimize for large batch size in the future?

parallel client count
1
2
4
6
8
10
16

vLLM
100.35637203966101
175.33636524799965
334.88131962239555
397.3896368771922
491.34020273262286
556.8166653073029
778.7324831232992

TRT-LLM
129.26274339032346
225.27019417811525
357.43462059657065
450.6078057271692
577.647144114447
547.9468736633614
538.0739087909661

vs
+28.80%
+28.48%
+6.73%
+13.39%
+17.57%
-1.59%
-30.90%

@zhaocc1106 Could you clarify more details of your test? Like the prompt input and output length and the paramters of triton backend?
We are also building test environment of  tensorrtllm infilight batching v.s. vllm.
Keep eye on this issue :)

would u please try our latest code base to see if the issue still exists?
And do u still have further issue or question now? If not, we'll close it soon.


New release because of CVE-2019-11358

This CVE: https://nvd.nist.gov/vuln/detail/CVE-2019-11358 resulted in some security alerts in projects which use semantic-ui-css

This is caused by the jquery dependency.
Unfortunately you cannot easily update the depencendies because the dependency is to version x.*
  "dependencies": {
    "jquery": "x.*"
  }

I had to update the yarn.lock files manually in several packages to update this dependency. (see https://github.com/Charterhouse/hush-hush/pull/6/commits/d74266128ccb2aa18fc9f88c097463ac72099b3c )
Can you make a new minor release (even without changes) so people can fix the problem by running: yarn upgrade-interactive?

Because they're specifying x.*, this doesn't actually require another release.
With npm, I've found that the following works:

Remove semantic-ui-css from package.json
npm install
Add semantic-ui-css back
npm install

Doesn't require any manual fiddling with package-lock.json or deleting node_modules. Hopefully a similar approach will work for folks on Yarn :)


Improve checkpoint versioning stability

Use case
In proton, query state management is works via checkpoints. currently we use a strict checkpoint/recover implementation, which is easily broken when there are any modifications about query pipeline,  processors or its header changes.
So we want to improve the stability of checkpoints, and reduce broken scenarios as much as possible
Describe the solution you'd like
Describe alternatives you've considered
Additional context

(Jove Github Bot) added it to the current sprint.


[Communication] tsconfig.json files need not be linted

Related to #13723
This PR removes the tsconfig.json file from the lint script for the communication packages. As described in #10361, we no longer need to lint this file as long as it is extending from the common one.
This resolves about 12 linter errors in each of the communication packages.
Turns out these were the only errors for communication-common package, so removed the || exit 0 part so that future linter errors in this package are caught when they break the build

/azp run js - communication - ci

/azp run js - communication - ci


jasper-dev: Support multiple google speech api keys

In case you wanted to get around the quota on google api.

Coverage decreased (-0.05%) to 49.623% when pulling 5fffefb84fb6511cdced07c8ac9d029b07962da2 on dmbuchta:jasper-dev-google-api into eca07aee192e998e0c63928f0cadfabeb1d327f4 on jasperproject:jasper-dev.


Missing flatMap?

Just wondering if it should be part of the repo :-)

Sounds wonderful, PR welcome :)


Carry #549: Add generator for etl

Description
Carry @ajwann's valuable work forward so we can get it in :)
See original PR for description, motivation and context.
How Has This Been Tested?
rake test
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)

Nice catch on the keys, @tommyschaefer . I'll get a chance to look at that after I get some sleep :)


More extensions for glitter

Fixes #IssueNumber
Changes proposed:

[x] Add
[ ] Delete
[ ] Fix
[ ] Prepare

Not sure what happened with this PR. I'll recreate it and push the changes.

I recreated the PR in #2726


Add method to fhir-client that will load subsequent pages of search request

Is your feature request related to a problem? Please describe.
In the FHIR client API, it isn't obvious how to retrieve the next page of results after processing the initial bundle returned by a search request.
Describe the solution you'd like
I would like for there to be an API (e.g. loadPage) that takes in a bundle and returns a new bundle that is the result of traversing the "next" link in the input.
Describe alternatives you've considered
It is possible to retrieve the next link by retrieving the link from the source bundle and then using getWebTarget().path( linkURL ).request().get(), but it requires you to first retrieve the Link and then to use the low-level JAX-RS client APIs to make the request. It would be clearer and easier for client applications if there was an API directly on the client that provided this function. This is something that the HAPI client provides in their API.
Acceptance Criteria

GIVEN the client has executed a search request
AND the bundle that is returned has a next link
THEN client application can invoke client.loadPage(bundle) and get the next page of results

I think it should support following any of the links in a bundle response...or at least the standard ones.
Something like:
client.previous(Bundle)
client.next(Bundle)
and maybe client.self(Bundle)
I could imagine having client.first(Bundle) and client.last(Bundle) as well, although I don't think we send those links in our responses.
Alternatively, for something a little more versatile, we could support following whatever Bundle.Link the user passes:
client.loadPage(Bundle.Link)
client.load(Bundle.Link)
client.follow(Bundle.Link)
client.resolve(Bundle.Link)
Or, something like this could be much more generic/powerful:
client.resolve(Uri)

We should ensure this works with our new history endpoint as well.


matrix-appservice-irc: 0.38.0 -> 1.0.1

https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.0

This release drops support for Node 16. The minimum required version is now 18+.
Moved from NPM to Yarn

https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.1

Fixes for GHSA-vc7j-h8xg-fv5x.
Fixes for GHSA-3pmj-jqqp-2mj3.
Fixes for GHSA-c7hh-3v6c-fj4q
Update matrix-appservice-bridge to 9.0.1

while there was an effort to make this package with mkYarnPackage, in the end it
was suggested to just use stdenv.mkDerivation instead
nixos/matrix-appservice-irc:

fix path to config.schema.yml directory stucture of the package changed
use remarshal instead of python and pyyaml
to convert the config schema from yaml to json

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

overrides #246116

ps. there's an expectation of a .1 release on monday 31.08.2023, so we can wait for merging for that.

Is there a way to make some smart enough wrapper to replace the bin script that comes with matrix-appservice-irc so that it doesn't say it's running node?
# ./result/bin/matrix-appservice-irc
Usage:

Generating an application service registration file:
/nix/store/5vm8fh4q21xlk7i1y6rqykqar296dglr-nodejs-slim-18.16.1/bin/node -r [-f /path/to/save/registration.yaml] -u 'http://localhost:6789' -c CONFIG_FILE [-l my-app-service]

Running an application service with an existing registration file:
/nix/store/5vm8fh4q21xlk7i1y6rqykqar296dglr-nodejs-slim-18.16.1/bin/node -c CONFIG_FILE [-f /path/to/load/registration.yaml] [-p NUMBER]

That was the same with the buildNpmPackage build.
/nix/store/dz5fsk46vdbydbrdp5x5gshkfkj1irbr-matrix-appservice-irc-0.38.0
❯ ./result/bin/matrix-appservice-irc --help
Usage:

Generating an application service registration file:
/nix/store/y85811fai07h16xqwh99wnql0cwgb17c-nodejs-18.16.1/bin/node -r [-f /path/to/save/registration.yaml] -u 'http://localhost:6789' -c CONFIG_FILE [-l my-app-service]

Running an application service with an existing registration file:
/nix/store/y85811fai07h16xqwh99wnql0cwgb17c-nodejs-18.16.1/bin/node -c CONFIG_FILE [-f /path/to/load/registration.yaml] [-p NUMBER]

Options:
  --help -h
      Display this help message
  --file -f
      The registration file to load or save to.
  --generate-registration -r
      Create a registration YAML file for this application service
  --url -u
      Registration Option. Required if -r is set. The URL where the application service is listening for HS requests
  --localpart -l
      Registration Option. Valid if -r is set. The user_id localpart to assign to the AS.
  --config -c
      The config file to load
  --port -p
      The port to listen on for HS requests

Note: this is security sensitive (fixes GHSA-c7hh-3v6c-fj4q)

I think this can work The roundtrip in the nixos test should be enough to guarantee that.

Thank you!


devspaces API host_suffix property is ignored in API version 2019-04-01

Bug Report

import path of package in question, e.g. .../services/compute/mgmt/2018-06-01/compute
works in: github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces
breaks in: github.com/Azure/azure-sdk-for-go/services/devspaces/mgmt/2019-04-01/devspaces

SDK version e.g. master, latest, 18.1.0

[17:09:43] kt@snowbook:~/hashi/tf/azure/azurerm▸feature/azure-bastion-host$ cat go.mod | egrep -i azure
module github.com/terraform-providers/terraform-provider-azurerm
	github.com/Azure/azure-sdk-for-go v33.2.0+incompatible
	github.com/Azure/go-autorest/autorest v0.9.0
	github.com/Azure/go-autorest/autorest/date v0.2.0

output of go version
go version go1.13.1 darwin/amd64

What happened?
in github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces the host_suffix was user settable. We upgraded to github.com/Azure/azure-sdk-for-go/services/devspaces/mgmt/2019-04-01/devspaces and it doesn't appear to beable to be set anymore as a random FQDN is returned.

testing.go:568: Step 0 error: After applying this step, the plan was not empty:

        DIFF:

        DESTROY/CREATE: azurerm_devspace_controller.test
          data_plane_fqdn:                          "azds-d4a0111e-cb75-45e2-9b14-424a2874f154.weu.azds.io" => "<computed>"
          host_suffix:                              "rwxnnlkqxm.weu.azds.io" => "suffix" (forces new resource)

What did you expect or want to happen?
the host suffix set?

How can we reproduce it?
try and set the host suffix

Anything we should know about your environment.

Please refer to https://github.com/terraform-providers/terraform-provider-azurerm/pull/4288 for more details

Thanks for the feedback - I have routed to the appropriate team for follow up.

Hi @katbyte according to the swagger of devspaces, the hostSuffix is labeled of readOnly: true now, which indicates it is managed by azure now rather than user-provided.

thanks @ArcturusZhang


oData Logic Required for matching records against Accounts and Contacts

Could you please include in this documentation (https://docs.microsoft.com/en-us/dynamics365/customer-service/automatically-create-update-records) the OData logic required to match new records that have been created from incoming emails against Accounts or Contacts already in the system thanks?
I see you've eluded how to map to a specific account or contact, but not generally speaking if wanting to automatically match to an account or contact based on the incoming email sender.
It would be good if you could include something like - "To match records created from an email automatically to an Account or Contact, in the "create case" flow step, to map to the "new_primarycontact" field from an incoming email, the expression will need to look like "contacts(@triggerOutputs()?['body/_new_primarycontact_value'])."
Thanks.
Nathan Blomfield.

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

ID: d83ad84a-1fd8-1d88-d0a4-de345ea01074
Version Independent ID: 5d833dad-ff28-15d2-0236-d363b5efbd8b
Content: Automatically create or update records in Customer Service Hub (Dynamics 365 Customer Service)
Content Source: ce/customer-service/automatically-create-update-records.md
Service: dynamics-365-customerservice
GitHub Login: @neeranelli
Microsoft Alias: nenellim

Thank you for your feedback, @nathanf5 . I am working with the internal team to see how to improve the content.
Please stay tuned.
Best regards,
Neeraja


General Event model

There should be a parent model called "Event" that will have several child models:

Birth
Death
Marriage
Divorce
could be it's own fact, or simply attributes on Marriage
Residence
Census
Burial
Occupation
Other
Trying to define an Event. I think it should have a data, and possibly a place.

Maybe not.


Add HOWTO: Circular Convs

XLA convs natively do not support this, but you can always manually concat a kernel/2 per dim amount of data on the edges to achieve it at some data layout cost.
A minimal example in terms of default Linen nn.Conv and jnp.pad:
class CircularConv(nn.Module):
  features: int
  kernel_size: Union[int, Iterable[int]]
  @nn.compact
  def __call__(self, inputs):
    padding = [(0, 0)] + [(k//2, k//2) for k in self.kernel_size] + [(0, 0)]
    inputs = jnp.pad(inputs, padding, mode='wrap')
    return nn.Conv(self.features, self.kernel_size, padding='VALID')(inputs)

Will this be added as a padding="CIRCULAR" option as in neural-tangents?

Will this be added as a padding="CIRCULAR" option as in neural-tangents?

@VolodyaCO interesting suggestion! If you think this would be generally useful, could you create a feature request issue proposing this?

Hey @marcvanzee I just opened it

Thanks! I'll lower the priority of this HOWTO since it may be possible we (or JAX) will actually add this as a feature.

Closing this since @sgrigory implemented circular padding in #1661. Thanks @sgrigory!


Add build-time and diff-build-time rules

Is your feature request related to a problem? Please describe.
Validate build time and compare validate time with a reference stats
Describe the solution you'd like
Add build-time and diff-build-time rules

Resolved by v5.7


Tcp udp labels

Description of Changes
Ported opentelemetry-log-collection's TCP and UDP attributes to Stanza labels. These labels are optional and disabled by default
config
pipeline:
- type: udp_input
  add_labels: true
  listen_address: <IP_ADDRESS>:5141
  output: out
- type: tcp_input
  add_labels: true
  listen_address: <IP_ADDRESS>:5140
  output: out
- type: stdout
  id: out

netcat
echo hi | nc localhost 5140
echo hi | nc -u localhost 5141

output
{"level":"info","timestamp":"2021-05-18T15:15:40.521-0400","message":"Starting stanza agent"}
{"level":"info","timestamp":"2021-05-18T15:15:40.522-0400","message":"Stanza agent started"}
{
  "timestamp": "2021-05-18T15:15:42.266158-04:00",
  "severity": 0,
  "labels": {
    "net.host.ip": "::1",
    "net.host.port": "5140",
    "net.peer.ip": "::1",
    "net.peer.port": "50310",
    "net.transport": "IP.TCP"
  },
  "record": "hi"
}
{
  "timestamp": "2021-05-18T15:15:56.964956-04:00",
  "severity": 0,
  "labels": {
    "net.host.ip": "::",
    "net.host.port": "5141",
    "net.peer.ip": "::1",
    "net.peer.port": "60017",
    "net.transport": "IP.UDP"
  },
  "record": "hi"
}

Ported from: https://github.com/open-telemetry/opentelemetry-log-collection/pull/108
Resolves https://github.com/observIQ/stanza/issues/301
Please check that the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] Add a changelog entry (for non-trivial bug fixes / features)
[ ] CI passes

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.5518134
-0.13781178
130.75053
+1.3282623

1
5000
5.241426
-0.5516734
136.7923
+1.4780426

1
10000
10.138092
-0.3274908
145.85829
+1.1267395

1
50000
50.861034
+0.7405243
171.1471
-2.2889252

1
100000
97.876114
-3.5347443
230.02774
-3.9418182

10
100
2.327642
+0.37934995
133.79836
+0.7039337

10
500
6.1552663
-0.362051
139.17107
-0.26023865

10
1000
11.913913
+0.13790607
146.74205
+0.67793274

10
5000
55.32369
-0.9713135
186.26144
+0.5569763

10
10000
105.81266
-0.15289307
220.9868
-2.547821


Change the window size for each settings tab

Each settings tabs has a window size, but the window size doesn't resize when the user selects the tabs.

Main pull request: https://github.com/3colorr/Mizuame/commit/58b0bb9bdd8d7852df538125f0353bcd87fde78c

Refactoring: https://github.com/3colorr/Mizuame/commit/b4a7b78140d9fe50c081bf112d996d582a8df74d


decode more model types

note: decoding these types does not mean they've been verified to work with ollama. it's the first step

I think we should hold off on adding the models we don't support for now, unless an upcoming llama.cpp change will mean they are supported


Chore: add some kind of demo to readme

Description
A query one can run against real data sources we have, or a GIF or both.
What This Enables
Demo! Everyone loves demos!
Impacts

Done


Add a "finish" function

When implementing a web service, sometimes you encounter a situation where you detect that some precondition of the service has been violated and you want to terminate the action immediately. A good example is when a resource is missing; you want to produce a 404 response, and skip the rest of the handler.
Doing this with the native ActionT in Scotty isn't really pleasant. Based on https://github.com/scotty-web/scotty/blob/master/examples/exceptions.hs, we've been defining a ScottyError that contains constructors describing the various kinds of HTTP error statuses that our web services might encounter. This is tedious and unnecessary since the space of HTTP statuses is well-known. In fact, you can conceive of the redirect function already in Scotty as a built-in example of this that supports only the 302 status.
Therefore, I'd like to propose a "finish" function, inspired by Snap's finishWith, which terminates the ActionT immediately. The exact API isn't very important -- it could take a Response, or just use whatever response has been built using the status, setHeader, and text functions, or something else entirely. It could be implemented by adding a Finished constructor to the ActionError type. This means using exceptions as flow control, which some people don't like, but we're already doing that using next and redirect. With such a mechanism in place, it would be possible to add a "batteries included" library that includes a complete collection of HTTP statuses (including classics like Forbidden, Not Authorized, Internal Server Error, etc.).
What do you think? If you're short on time, I'd be happy to try to put together a PR.

It's funny, I was about to create an identical issue :).
@glasserc You are right, we already have flow-control verbs in raise, next and redirect. While exceptions as flow control is a style that not everybody likes, short-circuiting implicitly instead of explicitly handling the case is often more convenient. And the API can have both options, just as in monadic code typically you can throw an exception or return a Left and leave the flow control up to the caller.

:+1: this would be really nice to have

this would be really good for my project, as well.

Coming from express.js background (which is similar to Sinatra which Scotty is inspired by), the lack of ability to terminate early is the only inconvenience I've struggled with so far. So this one gets my +1 as well.

I submitted #188 to include a new finish function that should work as described by @glasserc.
Note: also Growler has this feature, see abort function.

It looks like this issue has been resolved via @potomak 's commit? Maybe it should be closed?

finish has definitely made it onto Hackage, this can be closed.


Feature/maven wrapper 3.2.0+ add checksum verification

What's changed?

What's your motivation?
Closes #2996
Anything in particular you'd like reviewers to focus on?
Please advice, whether chosen approach is OK.
In particularly

initially started similar to GradleWrapper + AddGradleWrapper/UpdateGradleWrapper, then realized, that Maven doesn't offer a similar services endpoint (or just couldn't find it) - also since lacking AddMavenWrapper it would be more effort.
fallback to AddProperty-like implementation - if this is the way to go, is there a possibility to chain the Recipies, e.g. replace custom implementation with AddProperty once appropriate (sha256 computed)?

Anyone you would like to review specifically?

Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've added the license header to any new files through ./gradlew licenseFormat
[x] I've used the IntelliJ auto-formatter on affected files
[ ] I've updated the documentation (if applicable)

Hi @coiouhkc, thank you very much for your contribution!
Do you have plans to further work on it or Is it already ready for review?

Hi @coiouhkc, thank you very much for your contribution! Do you have plans to further work on it or Is it already ready for review?

There is still some work to be done, I just wanted to get early feedback regarding chosen implementation (AddProperty vs. AddGradleWrapper style)

Just throwing a comment here real quick, I had started on an UpdateMavenWrapper locally on a branch for fun. I'll see about getting that aligned with current state and pushed out here shortly.

Here's the PR of mine: https://github.com/openrewrite/rewrite/pull/3392.
I think it supports all of this PRs original goals, so may be enough to fully supersede this one. I'll let the group decide that definitely though.

Here's the PR of mine: #3392.
I think it supports all of this PRs original goals, so may be enough to fully supersede this one. I'll let the group decide that definitely though.

Looks great to me

So I personally think that UpdateMavenWrapper is able to completely satisfy the feature set here. Based on what I'm seeing, this recipe only sets the checksums when they're missing. With UpdateMavenWrapper it handles the same and more, including for cases where the version selected is the same as the current and the checksums aren't there presently. Do you see additional value coming from this one in some way that I may have missed?

@timtebeek / @joanvr, what's your opinions?

@coiouhkc 🙏  Thank you for all the effort you put into this first openrewrite PR of yours! I hope that you enjoyed working on it even if it in the end didn't get merged 😿


CLA: fix typo

Thanks @AsciiWolf for spotting this and @Aaron-Junker for validating the PR - have a great day !


run the sudo systemctl status command to query the xrdp service status, the value of Active: activating (auto-restart) is not Active: activating (running).

When I run the sudo systemctl status command to query the xrdp service status, the value of Active: activating (auto-restart) is not Active: activating (running). What can I do? The XRDP version is <IP_ADDRESS>, the ARM architecture is used, and the Openeuler system is used.
Symptom:
[root@localhost /]#systemctl status xrdp
● xrdp.service - xrdp Daemon
Loaded: loaded (/etc/systemd/system/xrdp.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2024-06-14 09:56:50 CST; 12s ago
Process: 847457 ExecStart=/home/spack/opt/spack/linux-openeuler22-aarch64/gcc-10.3.1/xrdp-<IP_ADDRESS>-eqalhp2rldtn7g6geu2zcfi46owhxree/sbin/xrdp (code=exited, status=1/FAILURE)
Main PID: 847457 (code=exited, status=1/FAILURE)
[root@localhost sbin]#systemctl cat xrdp.service
/etc/systemd/system/xrdp.service
[Unit]
Description=xrdp Daemon
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/var/run/xrdp.pid
ExecStart=/home/spack/opt/spack/linux-openeuler22-aarch64/gcc-10.3.1/xrdp-<IP_ADDRESS>-eqalhp2rldtn7g6geu2zcfi46owhxree/sbin/xrdp
ExecReload=
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target

@lillianokok - there are service manifests for both xrdp and xrdp-sesman provided in the source distribution in the instfiles directory. Start with those and modify as appropriate for your OS, referring to systemd.service(5) and systemd.unit(5)
Log files for the services are normally in /var/log/xrdp.log and /var/log/xrdp-sesman.log.


support ulong_long

ulong_long type is represented as long which is not enough for corner values
https://github.com/jruby/jruby/blob/b267aa1e495670edcd0c919d92a4228fd3de7944/core/src/main/java/org/jruby/ext/ffi/AbstractMemory.java#L782
https://github.com/ffi/ffi/blob/1091ff7e7efe7bb49231a4a0107dcd2022ed7642/spec/ffi/struct_spec.rb#L367
  1) Struct tests ulong_long field r/w<PHONE_NUMBER>000000)
     Failure/Error: s[:v] = obj

     RangeError:
       bignum too big to convert into `long'
     # ./spec/ffi/struct_spec.rb:347:in `test_num_field'
     # ./spec/ffi/struct_spec.rb:358:in `block in int_field_test'

  2) Struct tests ulong_long field r/w (ffffffffffffffff)
     Failure/Error: s[:v] = obj

     RangeError:
       bignum too big to convert into `long'
     # ./spec/ffi/struct_spec.rb:347:in `test_num_field'
     # ./spec/ffi/struct_spec.rb:358:in `block in int_field_test'

refs https://github.com/jruby/jruby/pull/6375

I believe these errors are just due to JRuby failing to allow the ulong-ranged values to coerce. We can't represent a ulong directly in Java, but I've modified the related coercion logic in jruby/jruby#6406 to allow those values encoded as a long.