Collection checkboxes always wrapperd

Hello,
It seems that wrapper_html option is not functioning at the moment. Take this case for instance :
= sr.collection_check_boxes :model_checkboxes, [[true, 'Test 1'], [true, 'Test 2'], [true, 'Test 3']], :last, :last, item_wrapper: false
Still wraps each checkbox and label into an element (span). But this works:
= sr.collection_check_boxes :model_checkboxes, [[true, 'Test 1'], [true, 'Test 2'], [true, 'Test 3']], :last, :last, item_wrapper_class: 'test'
It adds the test class to each checkbox wrapper. It seems there is no way of getting rid of this wrapper for each checkbox + label. Is this a bug?

@c0mrade for that I believe you can use collection_check_boxes with a block, like in this example.
This will yield a "builder" where you can call

Before updating to the latest version of simple_form, this code:
= f.input_field :time_of_day,
            collection: [:all, :morning, :afternoon, :evening, :night],
            checked: params[:events][:time_of_day],
            as: :radio_buttons, item_wrapper_class: 'button secondary small'

Generated this:
<label class="radio button secondary small">
  <input class="radio_buttons required" id="events_time_of_day_business_hours" item_wrapper_class="button secondary small" name="events[time_of_day]" type="radio" value="business_hours"> Business Hours
</label>

Now the same code generates:
<span class="radio button secondary small">
  <label for="events_time_of_day_business_hours">
    <input item_wrapper_class="button secondary small" class="radio_buttons required" type="radio" value="business_hours" name="events[time_of_day]" id="events_time_of_day_business_hours"> Business Hours
  </label>
</span>

How do I override this to get the old behaviour?


Explicitly set upb repo to avoid gcc 10 build error in old version of…

This PR tries to address the issue raised in #39467 where
upb library will trigger stringop-truncation error for gcc 10+
The issue comes from the protobuf/upb library which use strncpy with equal
length.
To upgrade upb is not straightforward as upb repo was packaged as part of the
grpc. Protobuf will try to implicitly add upb repo if it is not present already:
https://github.com/grpc/grpc/blob/6640651bcff343c905d6fefa7ecab0eb1ba5f984/bazel/grpc_deps.bzl#L266
For that in order to patch upb without updating grpc, we will need to explicitly
include upb repo (so that grpc's upb repo (old version) will not be introduced instead.
This PR fixes #39467.
This PR is related to https://github.com/protocolbuffers/upb/issues/262
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

OK. The fix is not possible, as grpc still uses repository_defs.bzl in upb which has been removed https://github.com/protocolbuffers/upb/blob/d7d72f00753767ae639c12f2a7618c56ccb2425a/bazel/repository_defs.bzl
Will need to patch grpc repo first.

Is there any chance you can attempt this fix again while also accounting for the grpc changes required? It would make downstream packaging would of tensorflow in modern distros quite a bit less taxing if we don't have to rely on old gcc versions.


WFLY-6882 Backup singleton ejb deployments should still be included in ejb client cluster topology

https://issues.jboss.org/browse/WFLY-6882

The fix resolve the issue and the client is working as expected like this:

client connect one node of the cluster, no matter whether the connected node run the singleton the client invocation will be routed to the correct node
if the node with the application went down the application is started on a different node and the client will 'follow'


edit listing

Pull request 8 attempts an action other than adding files in the 'packages/' folder.
This pull request has been marked for manual review. Please either wait for an R-multiverse moderator to review, or close this pull request and open a different one which passes automated checks.


BirdNet License

Hey!
Could you clarify the license, please? It's stated to be Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, however, in the paper for BirdNet, you mentioned that you use Macaulay Library, and it has a more strict license.
So I guess it's a 2-fold question:

Is the license really Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International?
If so, how does that relate to Macaulay Library data? Maybe you only used it for testing, and not for training?

The license for this repo is for the code and model, and since we are not sharing audio, the Macaulay Library licenses do not apply. Additionally, the Macaulay Library has separate internal licenses that allow us to use the data within the Lab of Ornithology, and thus allow us to use this data for training. However, the main reason for the current license of this repo is the non-commercial clause. However, the terms "commercial" and "non-commercial" are not always clear-cut, and we definitely want people to be able to use BirdNET for education and research, non-profit work, and private projects. So we may update the license in the near future to make it more permissive.

Hm, I see.
Then could you help me figure out whether it's legal to use BirdNet in the recent BirdCLEF competition on Kaggle? The competition desired license is BY-NC-SA, which is also the license for training data. This is exactly the license we have for this repo.
So, is it okay to use BirdNet in the BirdCLEF competition on Kaggle and select it as final submission?

Oh, I see where this is coming from. And the answer is no, definitively not. BirdCLEF awards price money and since we are also the organizers of BirdCLEF we would view this as violation of the "non-commercial" clause in our license which would lead to disqualification in submission review. So please, do not use BirdNET in this competition. I will also talk to the other organizers and we will make this known to all the teams.

All right, I see.
Btw, I guess nobody mentioned this, but your BirdNet actually scores top-1 on private in the previous BirdCLEF competition

Interesting, well I guess years of optimization might eventually lead to the number 1 score :)
Thanks for understanding.

Ok, as an update: We talked about your case and might be able to relax the license restriction. I can't promise anything, but you might want to hold back with your final submissions. I will let you know within a few hours.

Oh, that's interesting. All right, thanks, I'll be waiting. Thanks for letting me know

Alright, good news. We decided that the primary use case of BirdCLEF is research, and we want BirdNET to be freely available for any kind of science. This means, we won't enforce the "non-commercial" clause in the license for BirdCLEF, and you can use BirdNET in your submissions. It would still be cool to see other solutions though, so maybe consider submitting a working note :)


[web] Picture.toImage throws an error on flutter web

I have been using this solution to generate my own BitmapDescriptor from an icon: https://gist.github.com/jbxbergdev/5238bb78b03a2a4e6f24e55f442d2b70
It worked perfectly until it suddenly stopped working a few days ago! And the strage thing is that I did not change anything! I did not change flutter version or anything like that.
It fails only in web, it works fine on android and ios. It fails on the line
final image = await picture.toImage(_markerSize.round(), _markerSize.round());
and the error looks exactly like:
https://github.com/flutter/flutter/issues/71848
I am using:
flutter --version

Flutter 1.25.0-8.3.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 5d36f2e7f5 (3 months ago) • 2021-01-14 15:57:49 -0800
Engine • revision 7a8f8ca02c
Tools • Dart 2.12.0 (build 2.12.0-133.7.beta)

which is newer than https://github.com/flutter/flutter/issues/66622#issuecomment-729979016 so it should work.
I tried:

revert to a commit that previously worked fine
flutter clean
delete the build directory

but nothing helps.
flutter doctor -v

[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [Version 10.0.18363.1440], locale he-IL)
    • Flutter version 1.25.0-8.3.pre at C:\src\flutter-beta
    • Framework revision 5d36f2e7f5 (3 months ago), 2021-01-14 15:57:49 -0800
    • Engine revision 7a8f8ca02c
    • Dart version 2.12.0 (build 2.12.0-133.7.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\USER\AppData\Local\Android\sdk
    • Platform android-30, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

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

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

[√] VS Code (version 1.54.3)
    • VS Code at C:\Users\USER\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.21.0

[√] Connected device (3 available)
    • Redmi Note 4 (mobile) • 1bf7ce869804 • android-arm64  • Android 7.0 (API 24)
    • Chrome (web)          • chrome       • web-javascript • Google Chrome 89.0.4389.114
    • Edge (web)            • edge         • web-javascript • Microsoft Edge 89.0.774.63

• No issues found!

In the console I don't see any indicative error other than [object Event]
flutter run -d chrome -v

[  +79 ms] executing: [C:\src\flutter-beta/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +90 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 5d36f2e7f5387b6c751449258ade8e4e6edf99be
[   +1 ms] executing: [C:\src\flutter-beta/] git tag --points-at 5d36f2e7f5387b6c751449258ade8e4e6edf99be
[ +107 ms] Exit code 0 from: git tag --points-at 5d36f2e7f5387b6c751449258ade8e4e6edf99be
[   +2 ms] 1.25.0-8.3.pre
[  +58 ms] executing: [C:\src\flutter-beta/] git rev-parse --abbrev-ref --symbolic @{u}
[  +71 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [C:\src\flutter-beta/] git ls-remote --get-url origin
[  +56 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +111 ms] executing: [C:\src\flutter-beta/] git rev-parse --abbrev-ref HEAD
[  +64 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[ +103 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.
[  +11 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.
[  +98 ms] executing: C:\Users\USER\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +72 ms] List of devices attached
           1bf7ce869804           device product:mido model:Redmi_Note_4 device:mido transport_id:1
[  +12 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.
[   +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.
[ +132 ms] Skipping pub get: version match.
[  +38 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.11\
[  +15 ms] Found plugin google_maps_flutter at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter-1.2.0\
[   +6 ms] Found plugin google_maps_flutter_web at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter_web-0.1.1\
[ +165 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.11\
[   +5 ms] Found plugin google_maps_flutter at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter-1.2.0\
[   +7 ms] Found plugin google_maps_flutter_web at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter_web-0.1.1\
[  +72 ms] Generating C:\Users\USER\Desktop\Wingman\test_app\test_app\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +143 ms] This application is not configured to build on the web.
[   +1 ms] To add web support to a project, run `flutter create .`.
[   +3 ms] Launching lib\main.dart on Chrome in debug mode...
[ +163 ms] Updating assets
[ +114 ms] Waiting for connection from debug service on Chrome...
[  +15 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.11\
[   +4 ms] Found plugin google_maps_flutter at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter-1.2.0\
[   +2 ms] Found plugin google_maps_flutter_web at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter_web-0.1.1\
[  +52 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.11\
[   +6 ms] Found plugin google_maps_flutter at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter-1.2.0\
[   +3 ms] Found plugin google_maps_flutter_web at C:\Users\USER\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\google_maps_flutter_web-0.1.1\
[ +126 ms] <- reset
[  +18 ms] C:\src\flutter-beta\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\src\flutter-beta\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\src\flutter-beta\bin\cache\flutter_web_sdk/
--incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata --output-dill
C:\Users\USER\AppData\Local\Temp\flutter_tools.8a4feaa7\flutter_tool.98efb097\app.dill --libraries-spec
file:///C:/src/flutter-beta/bin/cache/flutter_web_sdk/libraries.json --packages C:\Users\USER\Desktop\Wingman\test_app\test_app\.dart_tool\package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\USER\AppData\Local\Temp\flutter_tools.8a4feaa7\flutter_tools.4b05c501 --filesystem-scheme org-dartlang-app --initialize-from-dill
build\fbbe6a61fb7a1de317d381f8df4814e5.cache.dill.track.dill --platform file:///C:/src/flutter-beta/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
--no-sound-null-safety
[  +17 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+23488 ms] Waiting for connection from debug service on Chrome... (completed in 23.7s)
[   +4 ms] Synced 32.0MB.
[  +47 ms] <- accept
[  +39 ms] Caching compiled dill
[ +733 ms] Using פתיחה בסשן קיים של הדפדפן.

[+1184 ms] [CHROME]:
[   +1 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:59565/devtools/browser/99539232-f553-4668-b2f0-8ba3f693ed66
[+1900 ms] DwdsInjector: Received request for entrypoint at http://localhost:59536/main_module.bootstrap.js
[  +22 ms] MetadataProvider: Loading debug metadata...
[  +41 ms] MetadataProvider: Loaded debug metadata
[  +18 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:59536/main_module.bootstrap.js
[+7959 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:59597/vce2M6vPsIc=/ws

[  +13 ms] Debug service listening on ws://<IP_ADDRESS>:59597/vce2M6vPsIc=/ws
[        ] Running with unsound null safety
[   +1 ms] For more information see https://dart.dev/null-safety/unsound-null-safety
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[   +1 ms] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[   +1 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".
[+1002 ms] [object Event]

@dvdlg
You are on older version of beta. Current is 2.1.0, so try to upgrade to latest and see if it helps.
If not, looking at the similar issue, does the documentation added helps to understand how the images are rendered on web ? https://github.com/flutter/website/pull/5061/files

@darshankawar my project is too big for migration, Flutter 2.0.0 introduced so many issues that it just became impossible.
Having said that, https://github.com/flutter/flutter/issues/66622 shows that exactly the same code worked on Nov 18, which is earlier than Flutter 1.25.0-8.3.pre. The strange thing is that it did work for me too until a few days ago.

@dvdlg
Is that the complete reproducible code in the gist ? I am getting few compile errors while running it.
Can you update it to have so that we can simply copy paste and run to verify this issue ?
Thanks.

@darshankawar
You can copy paste this. I removed the part that depended on the google maps library because it was irrelevant.
thanks
import 'dart:async';

import 'package:flutter/material.dart';
import 'dart:math';
import 'dart:typed_data';
import 'dart:ui' as ui;

class MarkerGenerator {
  final _markerSize;
  double _circleStrokeWidth;
  double _circleOffset;
  double _outlineCircleWidth;
  double _fillCircleWidth;
  double _iconSize;
  double _iconOffset;

  MarkerGenerator(this._markerSize) {
    // calculate marker dimensions
    _circleStrokeWidth = _markerSize / 10.0;
    _circleOffset = _markerSize / 2;
    _outlineCircleWidth = _circleOffset - (_circleStrokeWidth / 2);
    _fillCircleWidth = _markerSize / 2;
    final outlineCircleInnerWidth = _markerSize - (2 * _circleStrokeWidth);
    _iconSize = sqrt(pow(outlineCircleInnerWidth, 2) / 2);
    final rectDiagonal = sqrt(2 * pow(_markerSize, 2));
    final circleDistanceToCorners = (rectDiagonal - outlineCircleInnerWidth) / 2;
    _iconOffset = sqrt(pow(circleDistanceToCorners, 2) / 2);
  }

  /// Creates a BitmapDescriptor from an IconData
  Future<Uint8List> createBitmapDescriptorFromIconData(
      IconData iconData, Color iconColor, Color circleColor, Color backgroundColor) async {
    final pictureRecorder = ui.PictureRecorder();
    final canvas = Canvas(pictureRecorder);

    _paintCircleFill(canvas, backgroundColor);
    _paintCircleStroke(canvas, circleColor);
    _paintIcon(canvas, iconColor, iconData);

    final picture = pictureRecorder.endRecording();
    final image = await picture.toImage(_markerSize.round(), _markerSize.round());
    final bytes = await image.toByteData(format: ui.ImageByteFormat.png);
    return bytes.buffer.asUint8List();
  }

  /// Paints the icon background
  void _paintCircleFill(Canvas canvas, Color color) {
    final paint = Paint()
      ..style = PaintingStyle.fill
      ..color = color;
    canvas.drawCircle(Offset(_circleOffset, _circleOffset), _fillCircleWidth, paint);
  }

  /// Paints a circle around the icon
  void _paintCircleStroke(Canvas canvas, Color color) {
    final paint = Paint()
      ..style = PaintingStyle.stroke
      ..color = color
      ..strokeWidth = _circleStrokeWidth;
    canvas.drawCircle(Offset(_circleOffset, _circleOffset), _outlineCircleWidth, paint);
  }

  /// Paints the icon
  void _paintIcon(Canvas canvas, Color color, IconData iconData) {
    final textPainter = TextPainter(textDirection: TextDirection.ltr);
    textPainter.text = TextSpan(
        text: String.fromCharCode(iconData.codePoint),
        style: TextStyle(
          letterSpacing: 0.0,
          fontSize: _iconSize,
          fontFamily: iconData.fontFamily,
          color: color,
        ));
    textPainter.layout();
    textPainter.paint(canvas, Offset(_iconOffset, _iconOffset));
  }
}

void main() {
  runZonedGuarded(() {
    runApp(MyApp());
  }, (dynamic error, dynamic stack) {
    print(error);
    print(stack);
  });
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Uint8List im;

  @override
  void initState() {
    super.initState();
    MarkerGenerator(50)
        .createBitmapDescriptorFromIconData(
            Icons.access_alarm, Colors.blue, Colors.red, Colors.green)
        .then((value) => setState(() => im = value));
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Test'),
        ),
        body: Container(
          alignment: Alignment.center,
          child: im == null ? Text('Wait for it') : Image.memory(im),
        ),
      ),
    );
  }
}

@dvdlg Thanks for the complete sample. I tried it on latest beta (2.1.0-12.2.pre) which didn't throw the error and loaded image properly I guess.

With canvaskit:

With html:

 flutter doctor -v

[✓] Flutter (Channel beta, 2.1.0-12.2.pre, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.1.0-12.2.pre at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision 5bedb7b1d5 (4 weeks ago), 2021-03-17 17:06:30 -0700
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)

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

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

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • Mac OS X 10.15.4 19E2269
      darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

Thanks, @darshankawar, did you try it on Flutter 1.25.0-8.3.pre? It did work for me on that version of flutter a week ago, but then stopped working. I didn't try yet 2.1.0-12.2.pre, but when 2.0.0 was published I just couldn't migrate because of so many issues that arised.

@dvdlg
I couldn't go back to 1.25, but verified on Channel beta, 1.26.0-17.6.pre, on which too, it works as expected.

Thank you @darshankawar, with your help I found the bug.
Because of https://github.com/flutter/flutter/issues/64904#issuecomment-714614807 I made all the TextStyle objects in my project to have wordSpacing: 0. If you add wordSpacing: 0 to the TextStyle object in the code above, the problem appears (at least on 1.25.0-8.3.pre, don't know about other releases).

@dvdlg
Thanks for identifying the root cause. That seemed to be a workaround / temporary fix per the comment, but per my verification, the issue isn't replicable on 1.26 and latest 2.1 beta versions and on latest stable (2.0.4).
I believe this issue is fixed and you get this error since you happen to be on 1.25. Upgrading to latest should resolve this, but you seem to have some limitations to upgrade.
I am going ahead and closing this as not replicable on latest versions. If you disagree, write in comments and I'll reopen it.


fix: better typings for EventEmitter inheritance (Fix #104)

When using these typings TypeScript is able to build when ftp-srv is a dependency.
Fixes #104.

Thanks @TimLuq! I should have left this to the typescript professionals!

https://github.com/trs/ftp-srv/releases/tag/v2.19.4


failed to request: no Auth Provider found for name "gcp"

$ k version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.9", GitCommit:"a17149e1a189050796ced469dbd78d380f2ed5ef", GitTreeState:"clean", BuildDate:"2020-04-16T11:44:51Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.10-gke.8", GitCommit:"fd29f95f189cb16dd8fe0bd5dc8b485dfd049d2c", GitTreeState:"clean", BuildDate:"2020-06-23T23:44:30Z", GoVersion:"go1.13.9b4", Compiler:"gc", Platform:"linux/amd64"}

@steinbrueckri
Thanks for the bug report.
I have released a new version that fixes what I believe to be the problem.
Can you try again, please?
https://github.com/d-kuro/kubectl-fuzzy/releases/tag/v1.5.2

@d-kuro works now, that was 🚀 fast! :D


Bug: bash failed: error executing AppleLipo command (from target @@rules_xcodeproj//tools/swiftc_stub:universal_swiftc_stub)

Description
ERROR: /private/var/tmp/_bazel_jiangchao/11a172fb0b7bb90e1ea6fdb4f5a93109/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/tools/swiftc_stub/BUILD:37:23: AppleLipo external/rules_xcodeproj/tools/swiftc_stub/universal_swiftc_stub [for tool] failed: (Exit 1): bash failed: error executing AppleLipo command (from target @@rules_xcodeproj//tools/swiftc_stub:universal_swiftc_stub)
(cd /private/var/tmp/_bazel_jiangchao/11a172fb0b7bb90e1ea6fdb4f5a93109/rules_xcodeproj.noindex/build_output_base/execroot/main &&
exec env -
APPLE_SDK_PLATFORM=MacOSX
APPLE_SDK_VERSION_OVERRIDE=14.2
PATH=/bin:/usr/bin
XCODE_VERSION_OVERRIDE=<IP_ADDRESS>C500b
/bin/bash -c 'mkdir -p '''bazel-out/darwin_x86_64-opt-exec-applebin_macos-ST-6d839b844199/bin/external/rules_xcodeproj/tools/swiftc_stub''' && /usr/bin/lipo -create '''bazel-out/darwin_arm64-opt-exec-macos-arm64-min12.0-applebin_macos-ST-9a51b9282f9b/bin/external/rules_xcodeproj/tools/swiftc_stub/swiftc_stub_binary''' '''bazel-out/darwin_x86_64-opt-exec-macos-x86_64-min12.0-applebin_macos-ST-a9a3e02ffc9c/bin/external/rules_xcodeproj/tools/swiftc_stub/swiftc_stub_binary''' -output '''bazel-out/darwin_x86_64-opt-exec-applebin_macos-ST-6d839b844199/bin/external/rules_xcodeproj/tools/swiftc_stub/universal_swiftc_stub'''')
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: bazel-out/darwin_arm64-opt-exec-macos-arm64-min12.0-applebin_macos-ST-9a51b9282f9b/bin/external/rules_xcodeproj/tools/swiftc_stub/swiftc_stub_binary and bazel-out/darwin_x86_64-opt-exec-macos-x86_64-min12.0-applebin_macos-ST-a9a3e02ffc9c/bin/external/rules_xcodeproj/tools/swiftc_stub/swiftc_stub_binary have the same architectures (arm64) and can't be in the same fat output file
Reproduction steps
bt
Expected behavior
work
rules_xcodeproj version
1.16.0
Xcode version
15.2
Bazel version
7.0.2
rules_apple version
3.3.0
rules_swift version
1.16.0
Additional information
No response

Can you please provide a reproduction case to help us understand your issue?

Can you please provide a reproduction case to help us understand your issue?

change bazel version from 7.0.2 to 6.1.1, then it work.   i don't know why...

It looks like you are using the rules from source instead of the release archive (which has precompiled binaries in it). That's not an officially supported way of using rules_xcodeproj.
But it looks like you somehow have your platform or cpu overridden in a way that causes the universal_binary rule to produce two same-cpu slices. I would look into fixing that if you require using the project from source.

It looks like you are using the rules from source instead of the release archive (which has precompiled binaries in it). That's not an officially supported way of using rules_xcodeproj.
But it looks like you somehow have your platform or cpu overridden in a way that causes the universal_binary rule to produce two same-cpu slices. I would look into fixing that if you require using the project from source.

current using method:
git clone https://github.com/MobileNativeFoundation/rules_xcodeproj.git
cd rules_xcodeproj & git checkout 1.16.0
then modify WORKSPACE:
local_repository(
name = "rules_xcodeproj",
path = "build-system/bazel-rules/rules_xcodeproj",
)
what's the supported ay of using rules_xcodeproj?

The snippet in the release notes, which points to a release archive attached to the release. That archive has an optimized version of the ruleset, including precompiled binaries.

But it looks like you somehow have your platform or cpu overridden in a way that causes the universal_binary rule to produce two same-cpu slices. I would look into fixing that if you require using the project from source.

I need using rules_xcodeproj from source, thanks very much。

But it looks like you somehow have your platform or cpu overridden in a way that causes the universal_binary rule to produce two same-cpu slices. I would look into fixing that if you require using the project from source.

because history reason, our project deps a custom rules_apple version, so we require using rules_xcodeproj from source.
i want to know what cause the issue (platform or cpu overridden), would you help me?

I would recommend creating a release archive for your rules_xcodeproj and use that instead of from source: https://github.com/MobileNativeFoundation/rules_xcodeproj?tab=readme-ov-file#installation
As for the cpu or platform issue, I would look at any overrides you are doing for those flags. It's just a guess based on seeing errors like that before.

Thank you so much. I would like to know more about the detailed working principle of rule_xcodeproj. Can you recommend some? Like this https://www.youtube.com/watch?v=B__SHnz3K3c

I'm not sure I understand what you are requesting.


Deploying TaskBoard on Azure Web App

Prerequisites

[x] Are you running Taskboard with the same requirements as describe in README.md?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?
[ ] Are you sure your problem come from the Taskboard project and not your environment ? Google is your friend :)

Description
Hello,
I am trying to deploy TaskBoard on an Azure Web App instance.  I already have it running but when trying to login with the admin/admin creds, doesn't work.
How can you help me?
Steps to Reproduce

Go to https://osboard.azurewebsites.net
Login with default admin/admin creds

Expected behavior:
Login to configure the environment.
Actual behavior:
Loads for a few minutes then displays API Error.

IIS/Azure compatible build committed at https://github.com/Opzet/TaskBoard


Fix broken spec with Rails 7.0.5

Since Rails 7.0.5, Timestamp columns use precision 6 by default. We need to specify the same precision to work CURRENT_TIMESTAMP correctly.
Ref: https://github.com/rails/rails/pull/46110

coverage: 97.059%. remained the same when pulling 8907f866c3bc1d1b104c2ae3b28fe72d4d2c643e on y-yagi:fix-broken-test-with-ar705 into 22d17057e6284f4303e3e7964d881925b2a114d1 on ridgepole:1.2.

Thank you for the pull request!
Sorry for the late merging.


why does it look like this

Describe the Bug

Reproduction Steps
place it
Expected Result
normal cog
Screenshots and Videos
No response
Crash Report or Log
No response
Operating System
windows 10
Mod Version
0.5.1d
Minecraft Version
1.20.1
Other Mods

Additional Context
No response

Install Indium.

when i install indium and use copper on a wood it crashes

attach the crash report

it dosent apear

i play on a server with freands

without a crash report, we can't do anything for you.  sorry, you'll just have to find it or close this issue

is this good. its log that i got after the crash
tl-logger4870432541432499458.txt

downgrade fabric api to 0.88.1

THANKS SO MUSH
I LOVE YOU HABIBI

is this good. its log that i got after the crash tl-logger4870432541432499458.txt

Yo dude, what does tl stand for


do not maintain .d.ts files manually

Right now we are maintaining a number of .d.ts files which mostly could be generated by the TypeScript compiler with its --declaration switch.
This could also eliminate the need for the typescriptSpecDecl rules.

Being addressed as part of require-ification:
https://github.com/uProxy/uproxy/issues/363


phpPackages.composer: 2.6.5 -> 2.6.6

Description of changes
This PR updates composer to its latest version: https://github.com/composer/composer/releases/tag/2.6.6
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

@GrahamcOfBorg build phpPackages.composer


Use integer offsets on /published endpoints (SEAB-3979)

Description
Updates offset query parameter in /container/published and /workflows/published endpoints to be an integer.
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-3979
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] Check the Snyk dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future

(oh, and do submit that paired ui pr)

Self note: rebased and pushed to rerun CI/CD, stuck on circle-ci pipeline.


Add kedro-boot to list of plugins in kedro documentation

Update https://github.com/kedro-org/kedro/blob/9b0195bb223a261f7ea1af3eed311ded85932e01/docs/source/extend_kedro/plugins.md?plain=1#L175

Absolutely yes 👍🏼
There's a bit of uncertainty around that list https://github.com/kedro-org/kedro/issues/2291 but that shouldn't stop us from including kedro-boot.


Support for esp01_1m or esp32dev

Hi,
At this moment I have a own build working setup which I made some years ago and wanted to upgrade to the S0Tool code/interface so I have all the nice sensors and stuff.
But the current hardware is a ESP8266 with board type: esp01_1m.
Alternatively I have esp32 modules available with board type esp32dev.
How can I get the S0tool code running on one of these devices?
I only need the watermeter only configuration.
Thanks in advance,

The board is a wemos d1 v1 / v3 /v4
because this one still handles the 5v from the npn most esp32 cant handel 5v on there input


Fixed missing prefix "L"

The given example doesn't compile without the "L" prefix to the string.

Ah, good catch. Thanks!


Stop on NaN hooks.

closes #111

(implemented while the id-ocr datasets are compiled, not wasting time :) )

Coverage increased (+0.4%) to 84.349% when pulling 6def597448cfd318c9cc6ed1175781d2ddb1c840 on nan-hook into 9ac9cf5e2b99937fb6be17220ec680464f0e0406 on dev.

Coverage increased (+0.4%) to 84.349% when pulling 4d55b0a69545fd18f4ebb1786fa34a228686205a on nan-hook into 4612ca6b73de82a8571283e7bd2fce8ca3b0f700 on dev.

Coverage increased (+0.4%) to 84.42% when pulling b8488d1846df5ccec418f32895929afe0398e112 on nan-hook into 4612ca6b73de82a8571283e7bd2fce8ca3b0f700 on dev.

Coverage increased (+0.4%) to 84.42% when pulling 8ecf2cfef8ededd15789d0700e664725581b919a on nan-hook into 4612ca6b73de82a8571283e7bd2fce8ca3b0f700 on dev.


Adds planner roster member get, Closes #4488

This PR adds the planner roster member get command.
Closes #4488

Great! We'll have a look at it ASAP!

Merged manually, thank you!


Create logo for RAPID

Simple logo R[API]D would be good starting point
Something like:

A fun alternative.

I like the rabbit.  Here are two more that use the rabbit.

And some new with the old.

Don't hide the rabbit behind the OData logo, put him above RAPID

Bunny facing right over RAPID:

Voted 2021/2/25 to use above logo.

It might be important to be a bit more specific about that logo. It is very easy to copy, move distort such a logo and end up with something that looks quite different.
my suggestions/questions :

colors are black #000000 for letters R and D, orange #C55A11 for the letters A,P,I
rabbit outline is black and filled white
rabbit is facing right
rabbit is composed of four contiguous parts (left ear, tail, front paw, remainder (body, head, ...) ) the pieces do not touch and have a visible gap in-between
both the text and rabbit outline fit in a rectangular outline box .

the width of the rabbit is equal to the width of the text
the ratio between height and width is roughly  3.3 : 3.0


Footer of Trip Package page fixed

Title and Issue number
Title : Footer of Trip Package page fixed
Issue No. : #1105
Code Stack :
Description

Added Social media icons.
Added google translator.
Map for address location.
Alignment issue of text.
Responsive footer for all screen size.

Video/Screenshots (mandatory)

Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[X]  I have performed a self-review of my code.
[X]  I have commented my code, particularly in hard-to-understand areas.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have gone through the  contributing.md file before contributing

##Are you contributing under any Open-source programme?

[X] I am contributing under GSSOC'24
[ ] I am contributing under VSOC'24

@apu52 @KrishnenduDG ,
Please review this PR. Thank You!

@TBorundia this PR has some merge conflicts .please try to resolve the conflicts so that I can review the codes & be able to merge the PR

@apu52 Sir, Please check it now.
I have resolved conflicts.

@apu52 Sir, please check it now, I have made the changes.

@apu52 Sir, please check it now, I have made the changes.

@apu52 Sir, please check it now, I have made the changes.


axt header returns leading comment lines in file

This adds functionality to read the header of a file (all lines at the start of the file that begin with the pound sign).  This is so that other GoReadToChan functions can follow the style of the one in the sam package.  As an example, I have done it for axt.

One suggestion I have is instead of using a slice of strings, save header data as string.Builder{} or bytes.Buffer{} which optimizes memory allocation for copying and append operations

I agree with you that something like Builder would could be useful.  It is going to really shine when we have a string that is being added on to.  For example, if we were returning the header as one long string.  However, here we are returning each line as a string, so as we add on more lines to the header, we don't need to touch the memory already allocated for previous lines.  One option would be to use Builder (or Bytes) and return the header as one long string, but my thought is that one of the first things most programmers will do when parsing the header will be to break it into lines.


[WIP][SPARK-30873][CORE][YARN]Handling Node Decommissioning for Yarn cluster manger in Spark

What changes were proposed in this pull request?
In many public cloud environments, the node loss (in case of AWS SpotLoss,Spot blocks and GCP preemptible VMs) is a planned and informed activity.
The cloud provider intimates the cluster manager about the possible loss of node ahead of time. Few examples is listed here:
a) Spot loss in AWS(2 min before event)
b) GCP Pre-emptible VM loss (30 second before event)
c) AWS Spot block loss with info on termination time (generally few tens of minutes before decommission as configured in Yarn)
This PR tries to make spark leverage the knowledge of the node loss in future, and tries to adjust the scheduling of tasks to minimise the impact on the application.
It is well known that when a host is lost, the executors, its running tasks, their caches and also Shuffle data is lost. This could result in wastage of compute and other resources.
The focus here is to build a framework for YARN, that can be extended for other cluster managers to handle such scenario.
The framework must handle one or more of the following:-

Prevent new tasks from starting on any executors on decommissioning Nodes.

Clear the shuffle data entry from MapOutputTracker of decommission node hostname to prevent the shuffle fetchfailed exception.The most significant advantage of unregistering shuffle outputs when Spark schedules the first re-attempt to compute the missing blocks, it notices all of the missing blocks from decommissioned nodes and recovers in only one attempt. This speeds up the recovery process significantly over the scheduled Spark implementation, where stages might be rescheduled multiple times to recompute missing shuffles from all nodes, and prevent jobs from being stuck for hours failing and recomputing.
Prevent the stage to abort due to the fetchfailed exception in case of decommissioning of node. In Spark there is number of consecutive stage attempts allowed before a stage is aborted.This is controlled by the config spark.stage.maxConsecutiveAttempts. Not accounting fetch fails due decommissioning of nodes towards stage failure improves the reliability of the system.

Main components of change

Get the ClusterInfo update from the Resource Manager -> Application Master -> Spark Driver.
DecommissionTracker, resides inside driver, tracks all the decommissioned nodes and take necessary action and state transition.
Based on the decommission node list add hooks at code to achieve
a) No new task on executor
b) Remove shuffle data mapping info for the node to be decommissioned from the mapOutputTracker
c) Do not count fetchFailure from decommissioned towards stage failure

On the receiving info that node is to be decommissioned, the below action needs to be performed by DecommissionTracker on driver:

Add the entry of Nodes in DecommissionTracker with termination time and node state as "DECOMMISSIONING".
Stop assigning any new tasks on executors on the nodes which are candidate for decommission. This makes sure slowly as the tasks finish the usage of this node would  die down.
Kill all the executors for the decommissioning nodes after configurable period of time, say "spark.graceful.decommission.executor.leasetimePct". This killing ensures two things. Firstly, the task failure will be attributed in job failure count. Second, avoid generation on more shuffle data on the node that will eventually be lost.  The node state is set to "EXECUTOR_DECOMMISSIONED".
Mark Shuffle data on the node as unavailable after "spark.qubole.graceful.decommission.shuffedata.leasetimePct" time. This will ensure that recomputation of missing shuffle partition is done early, rather than reducers failing with a time-consuming FetchFailure. The node state is set to "SHUFFLE_DECOMMISSIONED".
Mark Node as Terminated after the termination time. Now the state of the node is "TERMINATED".
Remove the node entry from Decommission Tracker if the same host name is reused.(This is not uncommon in many public cloud environments).

Why are the changes needed?
Add the support to handle the Node Decommissioning for Yarn cluster manger in Spark
Does this PR introduce any user-facing change?
NO
How was this patch tested?
Added the Unit Test

Can one of the admins verify this patch?

@SaurabhChawla100  Will start looking into this PR... thanks.

Can one of the admins verify this patch?

cc @holdenk @vanzin @itskals @tgravescs

This PR is inspired from the work done by @holdenk  in https://github.com/apache/spark/pull/26440 and Juan Rodriguez Hortala PR https://github.com/apache/spark/pull/19267

I'll take a look at this sometime this week (hopefully by Saturday) :)

Thanks for working on this PR. I'm not super familiar with the YARN code path, so we should get some folks with more YARN background to look at this. That being said I'm a little confused with some elements of the design:

Why do we exit the executors before the shuffle service? I know we want to keep the blocks, but leaving the shuffle service probably blocks the maintaince or decom task so it seems not ideal.
Is there a way we could just track the executors for decom like the we have basic infra for?
The task fetch retry logic I don't think I understand what the expected case is here and how it is going to help.

Thanks for reviewing this PR . Can you kindly add other experts for this , whom you consider valuable in reviewing this PR. Below I have tried to answer your queries

Why do we exit the executors before the shuffle service? I know we want to keep the blocks, but leaving the shuffle service probably blocks the maintaince or decom task so it seems not ideal - This is for Spark using External Shuffle Service.There are 2 reasons why we are exiting the executors before the shuffle service
a) As per the current logic whenever we recived the node decomissioning we stop assiging the new task to the executor running on that node. We give some time to the task already running on that executor to complete before killing the executors. If we keep the excutors running till the end, there are chances of generating more shuffle data which will be eventually lost, triggering a recompute in future. This approach minimizes the recomputation of the shuffle data and maximise the usage of that shuffle data on the node by increasing the avilability of it till the end.
b) We want to keep the shuffle data till the time where the node is about to be lost, So if there are some task that is dependent on that shuffle data can complete and we dont have to recompute the shuffle data if none of the task required the shuffle data.

If the user is not using the External Shuffle Service than in that scenario we have to keep spark.graceful.decommission.executor.leasetimePct and spark.graceful.decommission.shuffedata.leasetimePct with same value to prevent fetch failure exceptions

Is there a way we could just track the executors for decom like the we have basic infra for? - The entire logic is for decommission of nodes . So the decommission tracker has the information about the decommissioned nodes.

The task fetch retry logic I don't think I understand what the expected case is here and how it is going to help. - As per the existing code this is the logic to check the  abortStage

val shouldAbortStage = failedStage.failedAttemptIds.size >= maxConsecutiveStageAttempts || disallowStageRetryForTest
There are chances that some of reason for the failure of stage is getting the fetch failed execption due to the decommissioned nodes,so we need to handle the abort stage gracefully here by dicounting the shuffle fetch failure due to decommissioned nodes to some extent.
val shouldAbortStage = failedStage.failedAttemptIds.size >=
              (maxConsecutiveStageAttempts + failedStage.ignoredFailedStageAttempts) ||
              disallowStageRetryForTest ||
              failedStage.ignoredFailedStageAttempts > maxIgnoredFailedStageAttempts

This ignoredFailedStageAttempts will be considered if there is fetch failed due to node decommissioning. By this way we are making the spark application more relaible towards such failures which cannot be controlled

Maybe @vanzin @tgravescs have some thoughts on the YARN side?

test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24300/
Test PASSed.

Test build #119569 has started for PR 27636 at commit 5072edb.

Test build #119569 has finished for PR 27636 at commit 5072edb.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119569/
Test FAILed.

@SaurabhChawla100 just checking, is this ready for another review?  Wasn't sure if you had time to address all my comments

@SaurabhChawla100 just checking, is this ready for another review? Wasn't sure if you had time to address all my comments

Yes the code is ready for another review. I have most of your comments related to design and also refactored the code suggested in the review comments.

Note, I want to look more at https://github.com/apache/spark/pull/26440 to make sure this fits in with that and we aren't duplicating functionality.  If we can commonize things we should.

@tgravescs @SaurabhChawla100 .. I am wondering if you guys are still pushing for this PR to get into Spark master ? Are you also thinking of targeting to Spark 3.0 branch ?
I like the shuffle block handling bit in this PR and I was wondering when this might go in. Thanks !

sorry I haven't had time to look at this more. It will not go into spark 3.0 as that is very close to shipping.

@tgravescs @SaurabhChawla100 .. I am wondering if you guys are still pushing for this PR to get into Spark master ? Are you also thinking of targeting to Spark 3.0 branch ?
I like the shuffle block handling bit in this PR and I was wondering when this might go in. Thanks !

@agrawaldevesh - We are planning to merge this in the master branch of spark.
@tgravescs @holdenk - Handle all the review comments, Can we start second round of review on this PR.

@SaurabhChawla100 , can you briefly update the PR description to reflect how work relates to the recently merged in https://github.com/apache/spark/pull/27864 ? Perhaps you can leverage or enhance the abstractions added in that PR a bit ?
I also don't fully understand the relationship b/w this PR and the original decommissioning PR https://github.com/apache/spark/pull/26440.
I am trying to get a sense of the end state with all these multiple decommissioning PR's trying to stretch the framework in different ways.
@holdenk or @prakharjain09, you recently (greatly) enhanced Spark's decommissioning story and I am curious on your thoughts on this PR and how you see it fitting it in with the work that you have done.
From what I can tell:

https://github.com/apache/spark/pull/26440 improved the decommissioning for Compute: by not scheduling work on the executors that will be removed soon. It seemed to be a bit k8s oriented.
While https://github.com/apache/spark/pull/27864 improves this further by eagerly replicating the cached blocks but not like regular shuffle blocks.
This PR https://github.com/apache/spark/pull/27636 has a bit of YARN focus and it clears the shuffle state to force an eager re-computation and has special handling for ignoring the fetch failures. But it does not seem to be building on top of the previous two PR's.

Thank you for working on this.

Made the code change to make use of https://github.com/apache/spark/pull/27864 in this PR.


Functions should not have to return to be valid

Given:
    protected function getDefaultFormatter(): FormatterInterface
    {
        throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\Formatter\FlowdockFormatter to function correctly');
    }

I get this:
PhanTypeMissingReturn Method \Monolog\Handler\FlowdockHandler::getDefaultFormatter is declared to return \Monolog\Formatter\FormatterInterface but has no return value

Obviously it's correct, but it's also something I can not possibly fix even with adding more type info AFAICS, so it'd be nice if it would go away :) Basically if you throw unconditionally the function will never return, but it has to be marked as returning as the interface dictates it. It's not a useful function, but it is valid code IMO.

I think it would be difficult to fix this for anything other than the most trivial case, and even if we could, I fear that it could hide real issues. This seems like one of those edge-cases where a /** @suppress PhanTypeMissingReturn */ is an ok workaround.

Oh I wasn't aware of the @suppress, that is fine yeah. I can see that it's edge casey. Thanks for the pointer (sorry for double-post.. accidentally sent this with a test account in the wrong window)


Clearly document the fact that CPE strings could be made up

What would you like to be added:
Upon reviewing the code, it is clear that the tool is simply making up CPEs as it goes when there is no hit on the cpe-index.json file.
A search on issues for "wrong cpe" or "incorrect package name" shows additional reports across ecosystems.
Why is this needed:
The information about CPE correctness is not clearly communicated to the end user. Many tools, including the official NTIA benchmark tools, are treating these values as correct without enough validation.
Where the confidence of a given identity is low, it must be represented in the resulting SBOM. For example, in CycloneDX use component.evidence.identity with field cpe, appropriate methods.technique and confidence. For SPDX, which lacks support for evidence, an alternative solution may need to be found.
In the long term, consider adopting PURL which has an higher precision and is often easier to construct, compared to CPEs, for multiple ecosystems.
Additional context:

Hi @prabhu, thanks for the report. We are definitely familiar with the shortcomings of CPE generation and CPE matching and we're interested in including some kind of confidence score when we generate a CPE not found in the index. We have some work to do figuring out the method for scoring.
If you haven't already, please take a look at an SBOM generated in syft-json format. You will see all of the source of the CPEs we generated or were declared, as well as the PURLs for the artifacts found by the Syft scan.
This sounds like a good topic for our community meeting if you are interested in discussing it with the team live -- feel free to join the next one if you like! https://github.com/anchore/syft/?tab=readme-ov-file#join-our-community-meetings
We'll move this issue into backlog but we definitely need to do some more design work before we can implement any solutions. Thanks again!


[webpack] css-loader v4.2 breaks svg-mixer

I use a postcss-move-props-to-bg-image-query plugin.
After upgrade css-loader from 3.6 to 4.2 the plugin doesn't work anymore.
css-loader v3.6: Ok!

css-loader v4.2: Fail!

Noticing this as well.
data:image/svg+xml;base64,PHN2...dmc+#fff

Same here :/

After several hours, I've found a workaround:

don't use the # symbol in your css:

.img {
  background-image: url('./img.svg?fill=fff');
}

Include the svg-transform-loader like this:

{
  loader: 'svg-transform-loader',
  options: {
    transformQuery(query) {
      if (query.fill) {
        query.fill = `#${query.fill}`;
      }
    },
  },
},

Hope it helps.

Looks like its ok in css-loader v5.0.2
https://github.com/webpack-contrib/css-loader/pull/1261


✅ Improve coverage for pydantic/main.py

Change Summary
Improve coverage for pydantic/main.py to 100%
Related issue number
None
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Overall 97.26% -> 97.34%

please review


[bazel] Change clang-tidy rules into test rules

This enables targets instantiated by the clang-tidy rules to depend on test targets.
Issue #18726

That looks great.
I just have a quick question: running clang-tidy on a file is really like a test in some sense. With the current code (and your fix), the test itself is a dummy and the output of clang-tidy is an artifact. Is there a reason this method was chosen compared to the test actually running clang-tidy and therefore the output being recorded like a normal test output? Is this so that clang-tidy runs on build instead of test?

That looks great. I just have a quick question: running clang-tidy on a file is really like a test in some sense. With the current code (and your fix), the test itself is a dummy and the output of clang-tidy is an artifact. Is there a reason this method was chosen compared to the test actually running clang-tidy and therefore the output being recorded like a normal test output? Is this so that clang-tidy runs on build instead of test?

Thanks!
Running clang-tidy as a test instead of a build step would add a small amount of complexity, which I just wanted to avoid in this PR. I think we'd need to accumulate each build command into a shell script rather than immediately dispatching to ctx.actions.run.
I've been thinking of the Bazel aspect as a shadow of the build graph, so I just wanted to mirror the C compilation actions with clang-tidy actions. (Now that I'm making these rules into test rules, maybe I should reevaluate this position that clang-tidy is more like a build step than a test.)
I chose not to repurpose the *.clang-tidy.out artifacts because I'm using them in #18719.

I'm testing it now.  Appears to be fixed.

I spoke too soon.  I see this failure now:
source /tools/Xilinx/Vivado/2022.2/scripts/updatemem/main.tcl -notrace
Command: update_mem -meminfo external/bitstreams/cache/f8b3c19a27f0559c091c4a41ce8efd50731f8bef/otp.mmi -data bazel-out/k8-fastbuild/bin/hw/bitstream/gcp_spliced_rom_otp_test_locked1.update.mem -proc dummy -bit bazel-out/k8-fastbuild/bin/hw/bitstream/gcp_spliced_rom_otp_test_locked1.tmpsrc.bit -out bazel-out/k8-fastbuild/bin/hw/bitstream/gcp_spliced_rom_otp_test_locked1.spliced.bit -force
Loading bitfile bazel-out/k8-fastbuild/bin/hw/bitstream/gcp_spliced_rom_otp_test_locked1.tmpsrc.bit
Loading data files...
Updating memory content...
Creating bitstream...
Writing bitstream bazel-out/k8-fastbuild/bin/hw/bitstream/gcp_spliced_rom_otp_test_locked1.spliced.bit...
0 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered.
update_mem completed successfully
update_mem: Time (s): cpu = 00:00:24 ; elapsed = 00:00:26 . Memory (MB): peak = 997.262 ; gain = 514.625 ; free physical = 174 ; free virtual = 9496
INFO: [Common 17-206] Exiting updatemem at Wed May 31 08:56:16 2023...
INFO: From UpdateUsrAccessValue hw/bitstream/gcp_spliced_rom_otp_test_locked1.bit:
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Bitstream file old USR_ACCESS value: 0x5785f455
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Bitstream file new USR_ACCESS value: 0x0
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Replaced WRITE_CRC_REG command at 0xf23f68 with NOOP
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Replaced WRITE_CRC_REG command at 0xf24140 with NOOP
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Bitstream file old USR_ACCESS value: 0x0
[2023-05-31T15:56:16Z INFO  opentitanlib::util::usr_access] Bitstream file new USR_ACCESS value: 0x7577ba7a
[2023-05-31T15:56:16Z INFO  opentitantool] Command result: success.
INFO: From Running clang tidy on sw/device/silicon_creator/rom/boot_policy.c:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/boot_policy.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20506/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
INFO: From Running clang tidy on sw/device/silicon_creator/rom/rom_epmp.c:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/rom_epmp.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20505/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
5 warnings generated.
./sw/device/lib/base/memory.h:88:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:88:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:120:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(&val, ptr, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:120:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(&val, ptr, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:146:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(ptr, &value, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:146:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(ptr, &value, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:172:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(ptr, &value, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:172:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(ptr, &value, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20505/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom/rom_epmp.c:89:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memset(&epmp_state, 0, sizeof(epmp_state));
^~~~~~
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20505/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom/rom_epmp.c:89:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11
memset(&epmp_state, 0, sizeof(epmp_state));
^~~~~~
INFO: From Running clang tidy on sw/device/silicon_creator/rom/keys/fake/sigverify_rsa_keys_fake.c:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/keys/fake/sigverify_rsa_keys_fake.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20509/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom/keys/fake or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
INFO: From Running clang tidy on sw/device/lib/base/memory.c:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/lib/base/memory.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
5 warnings generated.
./sw/device/lib/base/memory.h:88:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:88:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:88:3: warning: Null pointer passed as 2nd argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base/memory.c:149:10: note: Assuming 'end' is <= 'tail_offset'
for (; end > tail_offset; --end) {
^~~~~~~~~~~~~~~~~
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base/memory.c:149:3: note: Loop condition is false. Execution continues on line 157
for (; end > tail_offset; --end) {
^
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base/memory.c:157:10: note: Assuming 'end' is > 'body_offset'
for (; end > body_offset; end -= sizeof(uint32_t)) {
^~~~~~~~~~~~~~~~~
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base/memory.c:157:3: note: Loop condition is true.  Entering loop body
for (; end > body_offset; end -= sizeof(uint32_t)) {
^
/home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20503/execroot/lowrisc_opentitan/sw/device/lib/base/memory.c:160:27: note: Calling 'read_32'
uint32_t word_right = read_32(&rhs8[i]);
^~~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:86:3: note: Null pointer value stored to 'ptr'
ptr = __builtin_assume_aligned(ptr, alignof(uint32_t));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:88:3: note: Null pointer passed as 2nd argument to memory copy function
__builtin_memcpy(&val, ptr, sizeof(uint32_t));
^                      ~~~
./sw/device/lib/base/memory.h:120:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(&val, ptr, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:120:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(&val, ptr, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:146:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(ptr, &value, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:146:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(ptr, &value, sizeof(uint32_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:172:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
__builtin_memcpy(ptr, &value, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
./sw/device/lib/base/memory.h:172:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
__builtin_memcpy(ptr, &value, sizeof(uint64_t));
^~~~~~~~~~~~~~~~
INFO: From Running clang tidy on sw/device/silicon_creator/rom/keys/fake/spx/sigverify_spx_keys_fake.c:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/keys/fake/spx/sigverify_spx_keys_fake.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20511/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom/keys/fake/spx or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
INFO: From Running clang tidy on sw/device/silicon_creator/rom/sigverify_keys_spx.h:
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/sigverify_keys_spx.h"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20512/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
ERROR: /home/dbeitel/rivos/org.lowrisc.opentitan/sw/device/silicon_creator/rom/BUILD:107:11: Running clang tidy on sw/device/silicon_creator/rom/rom.c failed: (Exit 1): clang_tidy.py failed: error executing command rules/scripts/clang_tidy.py .clang-tidy.lock bazel-out/k8-fastbuild-ST-2cc462681f62/bin/sw/device/silicon_creator/rom/rom.c.rom_common.clang-tidy.out external/lowrisc_rv32imcb_files/bin/clang-tidy ... (remaining 62 arguments skipped)
Use --sandbox_debug to see verbose messages from the sandbox
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "sw/device/silicon_creator/rom/rom.c"
No compilation database found in /home/dbeitel/.opentitan/69b6c25f90ef784e2d66915c4f35fe18/sandbox/linux-sandbox/20507/execroot/lowrisc_opentitan/sw/device/silicon_creator/rom or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory

@dbeitel-opentitan Thanks for pointing that out. The //quality:clang_tidy_check target is very new. Rather than incrementally chiseling away at the failures, I'll just remove clang-tidy's warnings-as-errors behavior for now.


Update Posts “a-post-with-figures-and-video”

Automatically generated by Netlify CMS

👷 Deploy Preview for anatidaephobia processing.

Name
Link

🔨 Latest commit
6925778648e3e9b996e8556e588d7a530453a211

🔍 Latest deploy log
https://app.netlify.com/sites/anatidaephobia/deploys/62460a621cb2090008ed8947


"This channel has been deleted" message when trying to select incident in TEOC main page

While at the main page view of TEOC and selecting the "TEST 3.0-1" incident, I receive the message, "This channel has been deleted" How can I remove this incident from this main page?

@IFIT-BruceG ,
Since you've deleted the channel, and you want to remove incident from TEOC app. For this you need to navigate to "TEOC-IncidentTransaction" List in TEOC SharePoint site. Search for that item and delete it from the list.

@v-ajaysahu It took a little research to find the "TEOC-IncidentTransaction" List in the TEOC SharePoint site location, but once I did, that did the trick.


Competitor card download nor working

I'm getting an error while trying to download the competitor cards. If you can hijack any competition the one I'm trying to use is "Macedonian Nationals 2019". Is there something I'm doing wrong?

I figured out it's because some new competitors registered after you created groups, so they had no groups assigned at all. To fix it I went to Group manager, cleared tasks and assigned them again. You should be able to print the cards now. This bug is already tracked by #2 so I'm gonna close it.

Registration is still open, so I only needed the file to plan for printing etc, but it's good to know what the issue was and how to fix it. Maybe a friendly message of the issue should be included in the app itself - although apart from me testing right now, I would assume almost everyone uses groupifier after registration is closed, so it's a rare issue.
Thanks for the quick answers.


Statically link C++ Runtime into ChakraCore.dll.

(Request from TypeScript team.)
This enables us to support running applications developed against
ChakraCore.dll even if the C++ Runtime is not installed on the machine.
Add this to Build/Chakra.Build.Default.props to set the flag for the entire
build. If the user wishes to dynamically link the C++ Runtime, build with e.g.
msbuild ... "/p:RuntimeLib=dynamic_library"
(or any other value for RuntimeLib) to disable the static linking.
Confirmed that ch.exe is now able to run a hello.js file on a machine without
the C++ Runtime installed. (Dynamically linked ChakraCore.dll fails on the same
machine complaining of missing DLLs.)
(Note: Increases ChakraCore.dll size by about 1MB.)

@curtisman @paulvanbrenk Review please?

LGTM

(Note: Increases ChakraCore.dll size by about 1MB.)

@MikeHolman Any idea why compiling the C++ Runtime statically into ChakraCore would cause a test failure in asm.js?
http://dotnet-ci.cloudapp.net/job/Microsoft_ChakraCore/job/master/job/x64_debug_prtest/1761/console
15:12:19 1>ERROR: Test failed to run correctly: diffs from baseline (D:\j\workspace\x64_debug_prtest4a3ea965\test\AsmJs\invalidIntLiteral.baseline):
15:12:19 1>    ch.exe    -DumpOnCrash -WERExceptionSupport -ExtendedErrorStackForTestHost -forceNative -off:simpleJit -bgJitDelay:0 -dynamicprofileinput:profile.dpl.UnnamedTest1886  -testtrace:asmjs -simdjs -force:deferparse D:\j\workspace\x64_debug_prtest4a3ea965\test\AsmJs\invalidIntLiteral.js >testout1443 2>&1
15:12:19 1>ERROR: name of output file: D:\j\workspace\x64_debug_prtest4a3ea965\test\AsmJs\testout1443; size: 278; creation: Tue Jul 26 15:13:04 2016, last access: Tue Jul 26 15:13:04 2016, now: Tue Jul 26 15:13:04 2016
15:12:19 1>ERROR: bad output file follows ============
15:12:19 1>Var declaration with integer literal outside range [-2^31, 2^32)
15:12:19 1>Asm.js compilation failed.
15:12:19 1>
15:12:19 1>invalidIntLiteral.js(25, 3)
15:12:19 1>	Asm.js Compilation Error function : None::f
15:12:19 1>	Int literal must be in the range [-2^31, 2^32)
15:12:19 1>
15:12:19 1>Asm.js compilation failed.
15:12:19 1>-2147483649
15:12:19 1>-137438953473
15:12:19 1>ERROR: end of bad output file  ============
15:12:19 3>Summary: AsmJs had 76 tests; 1 failures

No idea. Possibly some timing issue with flushing output? Possibly -force:deferparse isn't being respected for some reason?

@dotnet-bot
test Windows arm_debug please
test Windows x64_debug please


chore(syy-utils-internal): 新增syy通用方法

Checklist

Contains unit tests ✅ ❌
Contains breaking changes ✅ ❌
Contains Atlas changes ✅ ❌
Compatible with: MX 7⃣, 8⃣, 9⃣

Web specific

Contains e2e tests ✅ ❌
Is accessible ✅ ❌
Compatible with Studio ✅ ❌
Cross-browser compatible ✅ ❌

Native specific

Works in Android ✅ ❌
Works in iOS ✅ ❌
Works in Tablet ✅ ❌

Feature specific

Comply with designs ✅ ❌
Comply with PM's requirements ✅ ❌

Please remove unnecessary emojis and sections and this comment before proceeding
This PR contains

[ ] Bug fix
[ ] Feature
[ ] Refactor
[ ] Documentation
[ ] Other (describe)

What is the purpose of this PR?
...
Relevant changes
Please add a high level explanation of what was changed and how the initial problem was solved
What should be covered while testing?
...
Extra comments (optional)
Please add extra comments or delete the section if not required

新增syy通用方法


Didn‘t Get The Binning Result

Hello, I did not obtain the binning result files during usage. Please check the log and inform me of the result. I would greatly appreciate it if you could help me resolve this issue.
apptainer run ~/00.Software/01.Docker/BASALT.sif BASALT -a Tibet_lake_finally.fa  -hf ./Tibet_lake_finally.fa -t 30 -m 256 >log  2>&1

log.txt

Hi,
It looks like you used an assembly file as an input of raw reads, at "-hf ./Tibet_lake_finally.fa". Please have another try by changing this into raw fastq reads.
BASALT team


Screen reader announcement for chat response is too verbose

Have a response that contains references to code, e.g. :

Start screen reader and click on the response. Notice how the full URLs are being read out aloud which are very long.
Verbatim text:
The [`IPositionList`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A14%2C%22character%22%3A4%7D%5D "Game.ts") interface you've defined in TypeScript extends from a base interface [`Base.IList`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2Flib%2FBase.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A0%2C%22character%22%3A0%7D%5D "lib/Base.ts"). This means that [`IPositionList`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A14%2C%22character%22%3A4%7D%5D "Game.ts") inherits all the properties and methods of [`Base.IList`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2Flib%2FBase.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A0%2C%22character%22%3A0%7D%5D "lib/Base.ts") and adds some more specific ones.

Here are the additional properties and methods in [`IPositionList`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FGame.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A14%2C%22character%22%3A4%7D%5D "Game.ts"):

- `data: Position;` This is a property of type [`Position`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A46%2C%22character%22%3A4%7D%5D "Position.ts"). It's not clear from the provided code what [`Position`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A46%2C%22character%22%3A4%7D%5D "Position.ts") is, but it's likely a custom type or interface defined elsewhere in your code.
- `push(pos: Position);` This is a method that takes a [`Position`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A46%2C%22character%22%3A4%7D%5D "Position.ts") object as an argument. The implementation of this method is not provided in the interface, it's expected to be provided in any class that implements this interface.
- `pop(): Position;` This is a method that doesn't take any arguments and returns a [`Position`](command:_github.copilot.openSymbolFromReferences?%5B%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22external%22%3A%22file%3A%2F%2F%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22path%22%3A%22%2FUsers%2Fbpasero%2FDocuments%2Fticino-playground%2FPosition.ts%22%2C%22scheme%22%3A%22file%22%7D%2C%7B%22line%22%3A46%2C%22character%22%3A4%7D%5D "Position.ts")

I think this stems from the fact that we just take the response as string here:
https://github.com/microsoft/vscode/blob/ffb2581f0866e2ec33d2853e593955e3e8535796/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.ts#L35

@alexdima made a good point in our standup today: why are we not leveraging the HTML screen reader support for chat items but use aria.alert?
https://github.com/microsoft/vscode/blob/ffb2581f0866e2ec33d2853e593955e3e8535796/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.ts#L41

The HTML screen reader support requires users to enter different modes to navigate - browse/focus mode. Feedback from screen reader users suggested this is not user friendly.
Users will examine content in detail in the chat accessible view, not here. Providing an overview of the response with aria alert is desired. This is similar to how sighted users see the response streaming in. Screen reader users press escape if they don't wish to hear the content.

I agree it's not good that it's reading the full URLs. A similar problem is here https://github.com/microsoft/vscode/issues/210665 and my solution to that will be to remove those links and provide an alternate way of setting any keybindings which are undefined.

LGTM now. I might've forgotten to update something.

A screenshot of the text that was announced would help to know if this was fixed or not @rzhao271

nvm. The symbols are good but the URLs still expand

unclear how this could be happening as I'm using renderStringAsPlaintext https://github.com/microsoft/vscode/blob/122174250208c93bf9a8ebee92b4e414719444dc/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.ts#L42

figured it out

@meganrogge It is still reading the complete path for me.

@rzhao271 and @sandy081 the complete path is expected. what's not expected is these chars 5B%7B%22%24m

going to see if I can repro on windows

does not reproduce for me on windows either 😭 . It makes no sense that this would happen - @rzhao271 , we literally parse that stuff out. could you pls debug in oss here?
https://github.com/microsoft/vscode/blob/2ed875cb65b53d5bd14b087e8adc99e869bfb806/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.ts#L43

I believe the issue is fixed now.
I notice that when the announcement is read out that the links are now announced correctly. ✅
When I click on the response, the links are read with the Markdown formatting again, but I believe that this behaviour is out of scope of the issue.


Version 4.7.0

Happy with the performance testing
https://github.com/maciejw/logger-perf-tests/issues/1#issuecomment-591066913

We need to "sync" the csproj changelog I guess, maybe after #3821


Smilies issue with quotes

It seems some smilies are getting replaced when you use a quote ( ' or " ) before them.
example:
"D: = ";D:
also words are affected:
"Do = ";Do

This also happens with other special symbols, like >.
My assumption is that there's some kind of HTML escaping going on, converting say " to ", and from then on &quot goes in limbo, and ; remains, followed by the rest of the message, causing it to get parsed as a smiley.

It should also be noted that special HTML characters are not being escaped.
This means that if you type " in chat, you'll see " as the output.

Other characters that cause this:
', &, <

An idea would be to fully escape the text (using _.escape) before emojifying it.

_.emojify is bugged
I just replicate the VIP feature for non VIP messages.
If you are VIP and enter the same text without GSX enabled, it will show the same result

For me it's a wontfix

I should also note that messages from VIP members are not emojified by GSX.


Fixes #531

Fixes https://github.com/BBC-News/wraith/issues/531

Thanks for the PR. This has now been released in v4.2.3.


Add feature to render it as a React Fragment with the element prop

I'm using mui and it breaks my ui, really need to render it as a react fragment

Also voting for this change


Get video extension

I have a route which receives a video through an http post, basically what I want is to validate the extension of this video to only work with mp4 videos. Can I do this?

The library does not support downloading videos on the web. It only works with video files in your file system.
You could download the mp4 video and then use this library to check that it is valid.
// Some other code downloads the video via http post and saves as "video.mp4".

// Read the downloaded video.
video, _ := vidio.NewVideo("video.mp4")

// Get metadata from video and check to see if it's what you expected.
width := video.Width();
height := video.Height();
fps := video.FPS();
// ...

Let me know if that answers the question.


Release Google.Cloud.BinaryAuthorization.V1Beta1 version 1.0.0-beta04

Changes in this release:

Commit ac367e2: feat: Regenerate all APIs to support self-signed JWTs
Commit e711ab9: docs: Replace "global policy" with "system policy" in Binary Authorization documentation

Created release for Google.Cloud.BinaryAuthorization.V1Beta1-1.0.0-beta04


add prestop hook to prevent logging issue

There is an issue in EKS where pods are deleted too quickly.
This preStopHook gives fluentd time to flush all logs before the
pod dies

Issue link: WILL BE INSERTED BY boring-cyborg
Make sure to mark the boxes below before creating PR: [x]

[x] Description above provides context of the change
[x] Commit message/PR title starts with [AIRFLOW-NNNN]. AIRFLOW-NNNN = JIRA ID*
[x] Unit tests coverage for changes (not needed for documentation changes)
[x] Commits follow "How to write a good git commit message"
[ ] Relevant documentation is updated including usage instructions.
[ ] I will engage committers as explained in Contribution Workflow Example.

* For document-only changes commit message can start with [AIRFLOW-XXXX].

In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.

@ashb @schnie can I please have travis turned on for my PRs on this repo?

@dimberman looks like they are. Travis was just being Travis.

Working on this PR here https://github.com/astronomer/airflow/pull/472


findUserByURL exposes Google tokens

A call to findUserByURL returns the Google access tokens, which is a severe security issue.
The Google tokens must not be exposed to the client at any time.

Fixed with f03fcec / #21.


Deprecate datasets with '.' in their names

As mentioned in #10 snake case is preferred according to our style guidelines. Some of the datasets are already used in other projects therefore the datasets are kept for now and can be removed once the dependent projects are updated.

Done with #15


Allow using alternate sources of files

It would be useful to abstract the filesystem API so that, for example, in-memory files can be served.
I have a proof-of-concept (or even solution?) at 6c87c364d33e0c52c996e08576edd15913a33fae. It adds an fs property to the options which requires fs.stat and fs.createReadStream functions. Set the environment variable USE_MEMFS before running tests and the test will use memfs. memory-fs doesn't work because the fs.Stats objects it creates only has functions attached and not all of the usual properties.
Related: expressjs/serve-static#83

That PoC seems to effectively be a duplicate of #149 and would have the same concerns. The OP of #149 never followed back up on the asks. Would you be able to incorporate them into your implementation?

memory-fs doesn't work because the fs.Stats objects it creates only has functions attached and not all of the usual properties.

This sounds like my main concern with just accepting fs as an option: how do users know what works and what does not and how can we prevent accepting a fs option that will suddenly blow up later in the implementation after the initial construction?

Documentation is easy, the hard part is deciding on the requirements.
The concern about having to increase the major version if more of fs is used is valid. I can think of two solutions:

Mark the feature as experimental and therefore may change between minor versions.

Just accept the possibility of major version changes. I looked at the library history and even in 0.0.2 only those two functions were being used. There hasn't been any change for six years (maybe, I didn't check everywhere), so is it reasonable to think this problem won't happen?

So we are intending to implement #122 to resolve a race condition which is definitively a planned change to the fs API usage currently. I think there is another open issue to use another new part of the fs API as well.
When a new major version gets cut, that becomes a larger burden because the Express.js project exposes this module as a core piece. That would that Express.js would also have to bump the major to use it and of course would mean maintaining the prior major version of this module for the LTS lifetime of the corresponding Express (which is that the prior major version of Express is supported for 1 year after a new major is released). Obviously this will happen, but it would be awesome if it doesn't require the frequency of majors to be more than one per year (which is how Node.js itself functions).
As for marking as experimental, I'm not quite sure I'm following there. Should we match how Node.js does it and make it inaccessible unless node is started with a specific command line flag?

By experimental I meant like Node.js which enables some experimental features without a flag (e.g. currently fs.promises does this). The docs get marked with a big orange warning which is described as:

This feature is still under active development and subject to non-backwards compatible changes, or even removal, in any future version. Use of the feature is not recommended in production environments. Experimental features are not subject to the Node.js Semantic Versioning model.

There's also the third option which is probably the easiest for everyone involved. Since having an in-memory version of send and serve-static are the only the outcome that people have actually wanted from this, I could just fork the projects and make my own send-memfs and serve-memfs. Sometimes code duplication is better than parameterization.

@LynnKirby So is there any progress on that?

@hinell As in prior discussion I think it would be safer to create forks of these projects instead of parameterizing them or adding a switch for memory-fs. I rarely use them so I have no interest in maintaining such forks; I just use my own privately.

I have a similar use case: I want to serve a Buffer via HTTP, with proper support for Range, ETag, Last-Modified-Since, etc.
One could argue that this is different enough to justify an entirely separate package (there's not fs.open, fs.stat and no streaming response after all), but then again send correctly implements all of these headers already and much of its complexity is about them (and not about fs).
From my perspective, an API like this would be ideal:
const buf = Buffer.from('data i want to serve', 'utf8')

send(req, '/some-data', {
  getStat: (path, cb) => cb(null, {mtime: 1234}),
  getData: (offset, bytes) => {
    const readable = new require('stream').Readable()
    readable.push(buf)
    readable.push(null)
    return readable
  }
})

I can understand though that, from the Express perspective, this is not worth maintaining.

@derhuerst If you are interested, I developed a package send-stream that can do it this way for express:
const express = require("express");
const stream = require("stream");

const sendStream = require("send-stream");

const buf = Buffer.from('data i want to serve', 'utf8');
const modificationTime = 1234;

class CustomStorage extends sendStream.Storage {
    async open(_reference, _requestHeaders) {
        return {
            attachedData: buf,
            mtimeMs: modificationTime,
            size: buf.byteLength
        };
    }
    createReadableStream(storageInfo, range, autoClose) {
        const buffer = !range
            ? storageInfo.attachedData
            : storageInfo.attachedData.subarray(range.start, range.end + 1);
        return new stream.Readable({
            autoDestroy: autoClose,
            read() {
                this.push(buffer);
                this.push(null);
            }
        });
    }
    async close(_storageInfo) {
        // noop
    }
}

const storage = new CustomStorage();

const app = express();

app.get('/some-data', async (req, res, next) => {
    try {
        const result = await storage.prepareResponse(req.url, req);
        result.send(res);
    }
    catch (err) {
        next(err);
    }
});

app.listen(3000, () => {
    console.info('listening on http://localhost:3000');
});

@nicolashenry Oh damn, we implemented basically the same twice.
I ended up wrapping and monkey-patching (instead of forking) send: serve-buffer.

@derhuerst My main objective with the send-stream package was to implement some features missing in send like https://github.com/pillarjs/send/issues/160 , https://github.com/pillarjs/send/issues/122  or https://github.com/pillarjs/send/issues/176 . I also added pre-compressed file serving, multi range and http2/multi framework support. It miss some documentation and it is a bit harder to use compared to send but I hope this will be useful to somebody else :)


feat: eth_accounts with an empty vector for now!

Wait wut:
Closing because ->
    async fn accounts(&self) -> Result<Vec<Address>> {
        Ok(Vec::new())
    }

We apparently already have?
@ClementWalter why did you have a bug before?