The Dockerfile fails at 'npm install'

If I try to docker build --tag=seven23:v1.2.0 -f Dockerfile . on the version of the repo tagged with 'v1.2.0', the build fails at the npm install stage. The building process complains that python is missing. Here is the final section of the log:
Installing Cypress (version: 12.17.4)

✔  Downloaded Cypress
✔  Unzipped Cypress
✔  Finished Installation /root/.cache/Cypress/12.17.4

You can now open Cypress by running: node_modules/.bin/cypress open

https://on.cypress.io/installing-cypress

><EMAIL_ADDRESS>postinstall /app/node_modules/node-sass
> node scripts/build.js

Binary found at /app/node_modules/node-sass/vendor/linux_musl-x64-72/binding.node
Testing binary
Binary has a problem: Error: Error loading shared library /app/node_modules/node-sass/vendor/linux_musl-x64-72/binding.node: Exec format error
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:818:18)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:683:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at module.exports (/app/node_modules/node-sass/lib/binding.js:19:10)
    at Object.<anonymous> (/app/node_modules/node-sass/lib/index.js:13:35)
    at Module._compile (internal/modules/cjs/loader.js:777:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:788:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
Building the binary locally
Building: /usr/local/bin/node /app/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/app/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python3" can be used
gyp verb find Python - executing "python3" to get executable path
gyp verb find Python - "python3" is not in PATH or produced an error
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - "python" is not in PATH or produced an error
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error

<more complaining here that python is missing>

gyp ERR! System Linux 4.4.302+
gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /app/node_modules/node-sass
gyp ERR! node -v v12.7.0
gyp ERR! node-gyp -v v8.4.1
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^2.0.0 || ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^17.0 || ^18.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^2.x || ^3.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^9.0.0 || ^10.0.0 but none is installed. You must install peer dependencies yourself.npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^9.0.0 || ^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of fibers@>= 3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of sass-embedded@* but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^9.0.0 || ^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^9.0.0 || ^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-09-04T21_56_00_719Z-debug.log

In the image I can see that python is indeed missing.
I'm running docker in a linux host machine (Synology NAS).
Do you plan to upload the client on dockerhub? I can only see seven23 server on dockerhub.

Looking at it, Dockerfile seams deprecated, exact same behavior on my machine 🙈.
I'll need a few days to fix it. Working on it, assigned for a release v1.2.1
Also publishing to dockerhub sounds easy as it is just a index.html file. Will do at the same time.

Version 1.2.1 has been released and should fix this issue 🥳.
You can try running docker build locally using docker build -t seven23_app -f Dockerfile . then docker run -p 8000:80 seven23_app to run.
I also published builded version as sebastienbarbier/seven23_app on hub.docker.
Let me know if any issue, will close this ticket for now and many thanks for your feedback 🙇♂

Builded image is corrupted 🙈, reopened will push a fix quickly

Should works now 👍, had some issue with building the Dockerfile now all good.
Closing this ticket, let me know if any issue.

It works perfectly for me now. I'm using the docker hub image: it's very convenient.

It works perfectly for me now. I'm using the docker hub image: it's very convenient.

🥳🥳🥳
Many thanks for your inputs 🙏, happy that I could help.


buildGraalVmNativeImage: enable utf-8 by default

Motivation for this change
The tools built with buildGraalVmNativeImage have broken UTF-8 support
when not properly setting the locale, e.g.
$ bb -e '(prn "bépo àê")'
"b??po ????"

This commit sets the locale to en_US.UTF-8 by default, which fixes that.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/, here I ran nix-build -A babasha and checked its output)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

See also https://github.com/babashka/babashka/issues/359 for the original issue and a fork of nixpkgs that contained the fix before moving to buildGraalVmNativeImage.


Police remote flow control windows.

Resolves #16.

I don't think this is quite done: I need to fix up some names on some methods to add balance between local and remote flow control.


Created loading screen example

Allows the user to select a scene to load, then a loading screen is shown until all assets are loaded, and pipelines compiled.
Objective

Fixes #12654

Solution

Add desired assets to be monitored to a list.
While there are assets that are not fully loaded, show a loading screen.
Once all assets are loaded, and pipelines compiled, show the scene that was loaded.

If anyone is able to help, I'm having trouble figuring out a solution to figuring out if all pipelines are compiled. Currently, I count the pipelines that are ready, but I need to know the target pipelines count beforehand. Is there any way to get this number dynamically. Or for a simpler approach, know if all pipelines are loaded regardless of how many there are?

Could not find a good way to get a total sub-asset count for the sake of having a progress indicator, so just kept it down to a simple "Loading..." screen. Otherwise, the method I used should allow for having a progress indicator if loading multiple individual assets. Other than that, it should work properly as a way to wait for all assets to be loaded and pipelines to be compiled.


[Impeller] Clipping and TileMode issues with saveLayer and blur filters on Impeller.

Run the attached sample program and you should see 3 cloverleaf-y renderings.

The middle cloverleaf is a set of blurred blue rects underneath a set of blurred green rects
The top cloverleaf is the same thing with unclipped blue rects and a clip that barely includes the 4 rects in its bounds for the green set. You should only see a bit of green along the edges and middle of that clip and blue outside of that.
The bottom cloverleaf is similar to the top one, but the rects are just barely outside of the clip. Even though they are outside of the clip, their filtered fringe should be inside the clip and so they should still be rendered, but no green pixels appear with Impeller.
All 3 use TileMode.decal for the ImageFilter

With Skia the middle cloverleaf is all green as expected, and the upper and lower cloverleafs look pretty much the same, but if you zoom in you might see the slight 2 pixel difference in the size of the clipped green area.
With the Impeller renderer, it seems to use repeat or reflect tile mode despite decal being specified, and it includes none of the green pixels - presumably applying the clip to what is rendered inside the saveLayer even though the clip is applied to the blurred output of the saveLayer.

Sample code
import 'dart:ui';

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            CustomPaint(
              painter: _MyPainter(),
              size: const Size(300, 600),
            ),
          ],
        ),
      ),
    );
  }
}

class _MyPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    renderTest(canvas, Offset.zero, const Rect.fromLTRB(129, 129, 171, 171));
    renderTest(canvas, const Offset(0, 150), null);
    renderTest(canvas, const Offset(0, 300), const Rect.fromLTRB(131, 131, 169, 169));
  }

  void renderTest(Canvas canvas, Offset origin, Rect? clipRect) {
    canvas.save();
    canvas.translate(origin.dx, origin.dy);
    renderOps(canvas, Colors.blue);
    if (clipRect != null) {
      canvas.clipRect(
        clipRect,
        clipOp: ClipOp.intersect,
        doAntiAlias: false,
      );
    }
    renderOps(canvas, Colors.green);
    canvas.restore();
  }

  void renderOps(Canvas canvas, Color color) {
    canvas.saveLayer(
      const Rect.fromLTRB(100, 100, 200, 200),
      Paint()..imageFilter = ImageFilter.blur(
        sigmaX: 10.0,
        sigmaY: 10.0,
        tileMode: TileMode.decal,
      ),
    );
    Paint paint = Paint()..color = color;
    canvas.drawRect(const Rect.fromLTRB(140, 110, 160, 130), paint);
    canvas.drawRect(const Rect.fromLTRB(110, 140, 130, 160), paint);
    canvas.drawRect(const Rect.fromLTRB(140, 170, 160, 190), paint);
    canvas.drawRect(const Rect.fromLTRB(170, 140, 190, 160), paint);
    canvas.restore();

  }

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

skia
impeller

Reproducible using the code sample provided above.

flutter doctor -v
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4.1 22F770820d darwin-arm64, locale en-GB)
    • Flutter version 3.10.6 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.4)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9161.14

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9161.38/IntelliJ IDEA.app
    • 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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.4)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9225.16/IntelliJ IDEA.app
    • 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

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.5.1 20F75
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.4.1 22F770820d darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 114.0.5735.198
    ! Error: Nexus is busy: Fetching debug symbols for Nexus. Xcode will continue when Nexus is finished. (code -10)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.13.0-5.0.pre.37, on macOS 13.4.1 22F770820d darwin-arm64, locale en-GB)
    • Flutter version 3.13.0-5.0.pre.37 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e14dcf06c6 (2 hours ago), 2023-07-18 01:23:32 -0400
    • Engine revision 9d018f00d6
    • Dart version 3.1.0 (build 3.1.0-321.0.dev)
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9161.38/IntelliJ IDEA.app
    • 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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.4)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9225.16/IntelliJ IDEA.app
    • 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

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.5.1 20F75
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.4.1 22F770820d darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

We need to check this one again on ToT.

@chinmaygarde, below is what I see with master 3.14.0-14.0.pre.93

flutter doctor -v
[✓] Flutter (Channel master, 3.14.0-14.0.pre.93, on macOS 13.4.1 22F770820d darwin-arm64, locale en-GB)
    • Flutter version 3.14.0-14.0.pre.93 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ef9befc9da (13 hours ago), 2023-09-03 11:23:20 -0700
    • Engine revision fbc6f4a540
    • Dart version 3.2.0 (build 3.2.0-131.0.dev)
    • DevTools version 2.27.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/223.8836.35.2231.10406996/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

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

[✓] Android Studio (version 2022.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/223.8836.35.2231.10406996/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/232.8660.185/IntelliJ IDEA.app
    • 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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.1)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/232.9559.62/IntelliJ IDEA.app
    • 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

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

[✓] Connected device (4 available)
    • Pixel 7 (mobile) • 28291FDH2001SA            • android-arm64  • Android 13 (API 33)
    • Nexus (mobile)   • 00008020-001875E83A38002E • ios            • iOS 16.6 20G75
    • macOS (desktop)  • macos                     • darwin-arm64   • macOS 13.4.1 22F770820d darwin-arm64
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 116.0.5845.140

[✓] Network resources
    • All expected network resources are available.

• No issues found!

The fringe near the edges of the "cloverleaf"s are much fainter now, but still more pronounced than they are with Skia.
And the green center portion of the blue "coverleaf"s are missing on Impeller.

At ToT today:
Skia

Impeller

The fringes are gone and the green centers are back. Looks fixed. Closing.


Include DLL in nupkg

As well as tidying up nuget packaging to be in line with VS project-based approach.
Sorry about the drastic changes but I couldn't get the existing nuget spec to build at all. Should be easier going forwards as this is more standard practice as per https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#from-a-visual-studio-project.
Should fix issue #5

Thanks man!


smaller improvements in the component

[ ] Can we make the fingerpint icon white instead of black?:

[ ] Change the explainer text to: "You can now confirm your identity using your passkey or a one-time passcode sent to your email when you log in.”

Fixed with new components


a11y WCAG 2.1 color contrast updates

Critical Changes
Changes
Issues Closed
Community Ideas Delivered
Features Intended for Future Release
Features for Elevate Customers
New Metadata
Deleted Metadata

W-9537095
W-9537133
W-9537117
W-14001172


Uncaught TypeError: $(...).tokenfield is not a function   at start-a-petition.php:254

in header i loaded the files like this
this is included in header.php

my input field is written as

-----------------  start-a-petition.php:254  ------------------
$('#tokenfield').tokenfield({
autocomplete: {
source: ['red','blue','green','yellow','violet','brown','purple','black','white'],
delay: 100
},
showAutocompleteOnFocus: true
});
------- getting error ---------------------
Uncaught TypeError: $(...).tokenfield is not a function   at start-a-petition.php:254

Hi @zarghamirtza, have you solve this issue?
I am facing the same a problem Uncaught TypeError: $(...).tokenfield is not a function with jQuery 2.2.4 or 3.2.1 (nothing changes).


Disable "Virtual Interface" types from displaying in "LLDP Neighbors" tab of device

Issue type:
Bug
NetBox version:
2.1.2
With the recent integration of NAPALM, LLDP information is displayed on the "LLDP Neighbors" tab of a device.  Currently all interfaces are displayed on the that tab (including "Virtual" interfaces that will never have a neighbor.
This request is to exclude those all "virtual" and "lag" interfaces from being displayed on that tab.

Calling this a bug since the current behavior doesn't really make sense.

--- a/netbox/dcim/views.py
+++ b/netbox/dcim/views.py
@@ -32,6 +32,7 @@ from .models import (
     Manufacturer, InventoryItem, Platform, PowerOutlet, PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack,
     RackGroup, RackReservation, RackRole, Region, Site,
 )
+from .constants import *

 EXPANSION_PATTERN = '\[(\d+-\d+)\]'
@@ -937,8 +938,10 @@ class DeviceLLDPNeighborsView(PermissionRequiredMixin, View):
         interfaces = Interface.objects.order_naturally(
             device.device_type.interface_ordering
         ).filter(
-            device=device
-        ).select_related(
+            device=device,
+       ).exclude(
+           form_factor__in=VIRTUAL_IFACE_TYPES
+       ).select_related(
             'connected_as_a', 'connected_as_b'
         )


[BVC-117] Possible Denial of Service - Application accepts very large payload for diagnosis keys file

Summary | Résumé
The download diagnosis file operation is executed periodically to retrieve the diagnosis keys from the server. It is possible for a malicious server to perform a denial of service attack by returning a large keys file which could potentially consume all of the memory available to the app and would eventually crash the application. Based on code review of the downloadDiagnosisKeysFile in CovidShieldModule.kt, we can confirm that the application isn’t restricting the size of received payload and just blindly saves the diagnosis key files without any validation. We were able to send a diagnosis key file of size 100MB and confirm via the debugger that the data was getting saved to the keys.zip file.
Possible solutions:
Limit the size of the receive payload, it is not clear whether this capability is supported by OKHttpClient.
Not a great solution, but if (1) is not possible, the application should reject the response if the data > 16M or an appropriate maximum payload size as per https://developers.google.com/android/exposure-notifications/exposure-key-file-format#file-format and agreement with the server development team.

Recommended as low priority given attack path, but likely worth bundling with #1181

The easiest way to do this would be to do a HEAD query and extract the content size before doing the actual GET. For simplicity it might make sense to do this in the TypeScript layer vs. in the bridge code. In that case you may want to insert a check here: https://github.com/cds-snc/covid-alert-app/blob/master/src/services/BackendService/BackendService.ts#L53

Same as #1181 . cc @timarney

Same as #1181 . cc @timarney

Given we're mostly doing maintenance work at this point we won't be implementing any changes for this scenario.


why the output.css didn't solve the prop of 'background-repeat'

hi,I'm use this 'postcss-sprites' plugin,but I found that you didn't solve the prop of 'background-repeat',why?

The plugin doesn't handle the background-repeat because most of sprites doesn't need it.
Can you explain your use case?

yeah,you are right,most of sprites doesn't use background-repeat,thank you very much~


Updating readme file im Flipkart clone

Describe the Feature you want to end
re-structing readme file

Expected behavior
It helps in better understanding of the project quickly.

Screenshots (optional)

Additional context (optional )

@MohitGupta121 Kindly,assign this to me under GSSOC'23


Test(repo): Introduce commands for updating E2E tests

refs #DS-1094

Description
Added additional commands to Makefile for updating snapshots and running end-to-end tests.
Additional context

Issue reference
https://jira.lmc.cz/browse/DS-1094

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Follow the PR Title/Commit Message Convention.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 79.629%. remained the same
when pulling 68d71119a49ca20acf211dd7c8596a77f72c32f8 on tests/e2e-add-commands
into 1906e75e5d8720e73a172e0e8695b42af838b6bc on main.


Record Collection Bug

Challenge Record Collection has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
var collection = {
    2548: {
      album: "Slippery When Wet",
      artist: "Bon Jovi",
      tracks: [
        "Let It Rock",
        "You Give Love a Bad Name"
      ]
    },
    2468: {
      album: "1999",
      artist: "Prince",
      tracks: [
        "1999",
        "Little Red Corvette"
      ]
    },
    1245: {
      artist: "Robert Palmer",
      tracks: [ ]
    },
    5439: {
      album: "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
  var identry = id;
  var recordID = collection[identry];
  if(value !==""){
    if(prop === "tracks"){
      recordID[prop].push(value);
    }
    else{
      recordID[prop] = value;
    }
  }
   else{
     delete recordID[prop];
   }
  return collection;
}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

I keep getting this error:

After updateRecords(5439, "tracks", "Take a Chance on Me"), tracks should have "Take a Chance on Me" as the last element.

and when i change the values to test the code i get this error on the console that says: recordID[prop] is undefined

Perhaps you should try chat first. My answer is over here #8962 people are getting stumped on this question for the wrong reasons.

@mav1283 after looking at your code as you can see
5439: {
     album: "ABBA Gold"
   }

has no tracks but you are trying to access it like so
if(prop === "tracks"){
      recordID[prop].push(value);
    }

My issue that was closed which should not of been talks about this

yes because the requirement is push the valu

e if prop is equal to tracks, but since "tracks" is nonexistent on the array, i get this error:  "updateRecords(5439, "tracks", "Take a Chance on Me"), tracks should have "Take a Chance on Me" as the last element."  which is not part of the first intructions the first time i get into this challenge.
so i tried to make one by updating the properties, adding tracks and also update the prop value... i see the console now showing the album, artist and tracks on 5439 but i still get the same message..
please take a look at this screenshot

Duplicate of #8970. Closing in favor of that issue.

try this, it w'll work
function updateRecords(id, prop, value) {
if (prop === "tracks" && value !== "") {
if(collection[id][prop]) {
collection[id][prop].push(value);
}
else {
collection[id][prop]=[value];
}
} else if (value !== "") {
collection[id][prop] = value;
} else {
delete collection[id][prop];
}
return collection;
}

In my code I kept getting the right results but not achieving a pass. Turns out I was not putting a return statement for the collection inside the function. That made it pass. Last detail was getting me!!!!

just create a tracks array in your 5439 property .
it works


boards: xtensa: remove stray CONFIG_BOARD_XTENSA

BOARD_XTENSA was removed for Kconfig but was left in _defconfig, so
remove it.
Signed-off-by: Anas Nashif<EMAIL_ADDRESS>

Kconfig option was removed in fc210ab505580119c97492de9d3faa1293783d14

Codecov Report

Merging #11367 into master will decrease coverage by 4.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11367      +/-   ##
==========================================
- Coverage   53.21%   48.37%   -4.85%
==========================================
  Files         217      265      +48
  Lines       26667    42188   +15521
  Branches     5913    10137    +4224
==========================================
+ Hits        14192    20408    +6216
- Misses      10059    17703    +7644
- Partials     2416     4077    +1661

Impacted Files
Coverage Δ

subsys/net/ip/trickle.c
64.83% <0%> (-12.8%)
:arrow_down:

subsys/net/ip/net_private.h
70.58% <0%> (-12.75%)
:arrow_down:

subsys/logging/log_output.c
72.33% <0%> (-10.03%)
:arrow_down:

subsys/net/ip/6lo.c
70.28% <0%> (-9.14%)
:arrow_down:

subsys/net/ip/net_core.c
65.78% <0%> (-7.35%)
:arrow_down:

subsys/net/ip/net_mgmt.c
74.35% <0%> (-5.1%)
:arrow_down:

subsys/net/lib/config/init.c
57.77% <0%> (-4.73%)
:arrow_down:

subsys/net/l2/ethernet/arp.c
55.22% <0%> (-3.69%)
:arrow_down:

subsys/net/lib/sockets/sockets.c
37.95% <0%> (-3.68%)
:arrow_down:

subsys/net/ip/ipv6.c
53.69% <0%> (-3.58%)
:arrow_down:

... and 122 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f210d11...501ac55. Read the comment docs.


Deprecate haul-integrate.sh

There's CLI_PATH available: https://github.com/facebook/react-native/commit/dcecfa3189d7a71f57f908cc008e26c20a7cb2f5 for quite a few versions.

I was able successfully remove the Haul Integrate build phase and make use of this environment variable by changing the Bundle React Native code and images Build Phase script to:
export NODE_BINARY=node
export CLI_PATH=node_modules/haul/bin/cli.js
../node_modules/react-native/scripts/react-native-xcode.sh


Adding exception for init container resource checks

Although resource requests and limits can sometimes make sense for init containers, they usually do not. Because of that (originally mentioned by #125), we're going to ignore those checks by default for init containers. In the future it may make sense to allow this validation to be optionally enabled.

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


Tag release 1.0.0

Please tag your release for git to pick up 🙏

Thanks, fixed. I've never made a release before so let me know if what I've done is enough.

https://github.com/openupm/openupm/pull/3970

@STARasGAMES I've added this package to OpenUPM :)


Telemetry pattern : cold and hot paths with more backend services

Hi all,
sorry for the long “issue” but I’d like to have a discussion on some architecture aspects : of course, sorry if I’ll make “big” mistakes while I’ll expose my thoughts but architecture misunderstanding on my side are “behind the corner” :-)
I’m thinking about the Telemetry pattern implementation with current rhiot solution. Following my understanding and related thoughts …
In a Telemetry scenario, devices send data to a stream and one or more services can get events from there to process them : we always have to consider a “cold” path and a “hot” path. In the “cold” path, data are stored in a database/storage for processing them later (in batch or at slow pace); in the “hot” path we have to process data in real time to reply in a reactive manner to the devices behavior.
In the current solution I see that the “device-metrics” service is useful to acquire telemetry data from devices and store them into a MongoDB database so it seems to be only a “cold” path. The service listens on a queue with following format “device-metrics.>” : the problem is that if we attach another service on it, we have competing consumer on the queue and it means that only one of them receives each event. I’m thinking about to have a service to get and store data into a db (like the MongoDB one) and a service to get and process same data in real time (or for example another service which saves data in a different db). In that scenario, a topic is more useful than a queue (to have pub/sub feature). Isn’t it ?
If we consider the “device-metrics” and the write operation, the amqp channel (queue) used could have the following format :
device-metrics.write.<deviceId>.<metric>.<value>

if for example an HTTP REST client executes a POST on the following path :
http://x.x.x.x:8080/device-metrics/write/<deviceId>/<metric>/<value>

where the metric could be “temperature” for example.
It means a queues explosion … isn’t it ? Each time the device sends a new telemetry value (even if on the same metric), a new and different queue is created.
I think that the the queue should be bound to the deviceId even if with a huge number of devices there is still a queues explosion.
If we consider the current mapping to amqp queue, more information should travel in the body or header (I know that this option is already available).
However, current “metrics” (telemetry) implementation provides backend services using “beans” with related method invocation (in the above scenario the "write" method on MongoDbDeviceMetricsStore instance) : it seems to be more an RPC implementation. When I approach to telemetry, I think to a stream filled by data/event from devices and backend services which get from the stream (not an invocation of the backend service).
Any thoughts about above considerations ?
Thanks,
Paolo

I'm just thinking that I have misunderstood metrics service after finding the DeviceMetrics enum :-)
However the current issue has still some points to discuss.

In general device metrics service is supposed to keep information about device, like firmware version, current CPU temparature, manufacturer ID, etc. Not necessarily telemetry data. DeviceMetrics enum just contains some sample metrics names (popular in LWM2M usage scenarios).
For telemetry data I would rather use Document Service [1] is a generic service to work with hierarchical data (like JSON-like or map-like messages).

As far as "queue explosion" is concerned. Service binding supports using HTTP/AMQP headers to send the parameters. So instead of calling:
http://.../service/operation/bar/baz

You can (and should) call:
HTTP headers(RHIOT_ARG_0: bar, RHIOT_ARG_0: baz) =>
http://.../service/operation

So you have only one queue per operation type. We can consider enforcing this kind of communication pattern in the future - now it is only recommended to use it.

What is your main concern when it comes to RPC style of sending of telemetry data? Keep in mind that you can just send a message to the AMQP and don't listen to the response queue. RPC style is enforced by the REST protocol adapter, but the AMQP service itself doesn't require you to listen for a response returned for the storing service.

The thing closest to the "hot path" telemetry is our Spark service [3]. It allows you to send a telemetry data to the Spark cluster and execute a Spark job against this data, then return the response back to the AMQP channel. We can also think about Drools-based service similar to Spark Service we have.
What do you think? :)
[1] https://github.com/rhiot/rhiot/tree/master/datastream/consumer
[2] https://rhiot.gitbooks.io/rhiotdocumentation/content/cloudplatform/services/binding.html
[3] https://rhiot.gitbooks.io/rhiotdocumentation/content/cloudplatform/services/spark.html

On metrics I had a misunderstanding ... it's not for telemetry.
Regarding telemetry on the "cold-path" the Document Service can be a good solution but it's important to define what's the data representation to avoid an explotion of documents with telemetry data for each device. Cold path means that another service can read data to analyze them and execute query to extract information.
By the way, IMHO is important that more than one services (side by side with Document Service) can read same telemetry data to store them in a different storage.
This is my concern about using queues instead of topics (with more than one subscriber).
Regarding the hot path always on telemetry pattern, I think that the RPC style with a strong binding with a related "bean" means strongly typing the scenario : I see that devices and related data are strongly coupled with the service which "eat" (process) the telemetry data.
Even in that case telemetry data should be readable from different backend services, in that case it means calling different beans today.
I think that putting telemetry data in a stream (could be Apache Kafka a solution for better performance ?) with backend services that can read from it could be very useful to decouple the actors.
Regarding queue explosion I agree on using the headers solution and in my opinion we should forbid the URL path usage for parameters.
Remember that AMQP is a first class citizen in RHIOT and it provides properties (system and user properties) that you can compare with HTTP headers.
It could be useful to give meaningful names to the HTTP headers because you can do the same in AMQP ... for instance ...
If a device uses AMQP and sends temperature values, it can sends the value in the paylod with JSON encoding of course but it can use a user property too.
Imagine a property named "temp" with value of 27 (°C).
The device can do the same in HTTP putting 27 in a RHIOT_ARG_0 header. What about giving a meaningful name to the header like for example RHIOT_temp for
having headers with the RHIOT_ prefix ?
Finally regarding Apache Spark (I never used it). I understood that it's useful in a scenario with a device who sends data and wait for a processing result on these data. It's not a typical scenario in IoT : in general, devices send telemetry data and a backend services wants to have a result about
a big data processing on them to start an action on devices for example.
Of course If I had other misunderstanding ... please fix me ! :-)

On metrics I had a misunderstanding ... it's not for telemetry.

Well, LWM2M really uses the metrics to poll information from sensors, so you could use it for this purpose. However I personally prefer using pure messaging for sending telemetry. For example MQTT or AMQP. So I think that we agree here :) .

Regarding telemetry on the "cold-path" the Document Service can be a good solution
but it's important to define what's the data representation to avoid an explotion of documents
with telemetry data for each device.

Exactly. I was thinking about creating schema and Java DTO object that will be used to specify the format of the telemetry document. The cools stuff about using document service for telemetry is that then you can execute operations like searchByQuery against your historical telemetry data, so you have a kind of telemetry CRUD out of the box, for example to browse your historical data using REST API.
Maybe you would like to propose a representation for a telemetry data and commit appropriate Java DTO class? Actually I have a task for it - #424.

By the way, IMHO is important that more than one services (side by side with Document Service) can read same telemetry data to store them in a different storage.
This is my concern about using queues instead of topics (with more than one subscriber).

Regarding the hot path always on telemetry pattern, I think that the RPC style with a strong binding with a related "bean" means strongly typing the scenario : I see that devices and related data are strongly coupled with the service which "eat" (process) the telemetry data.
Even in that case telemetry data should be readable from different backend services, in that case it means calling different beans today.
I think that putting telemetry data in a stream (could be Apache Kafka a solution for better performance ?) with backend services that can read from it could be very useful to decouple the actors.
Regarding queue explosion I agree on using the headers solution and in my opinion we should forbid the URL path usage for parameters.
Remember that AMQP is a first class citizen in RHIOT and it provides properties (system and user properties) that you can compare with HTTP headers.
It could be useful to give meaningful names to the HTTP headers because you can do the same in AMQP ... for instance ...
If a device uses AMQP and sends temperature values, it can sends the value in the paylod with JSON encoding of course but it can use a user property too.
Imagine a property named "temp" with value of 27 (°C).
The device can do the same in HTTP putting 27 in a RHIOT_ARG_0 header. What about giving a meaningful name to the header like for example RHIOT_temp for
having headers with the RHIOT_ prefix ?
Finally regarding Apache Spark (I never used it). I understood that it's useful in a scenario with a device who sends data and wait for a processing result on these data. It's not a typical scenario in IoT : in general, devices send telemetry data and a backend services wants to have a result about
a big data processing on them to start an action on devices for example.
Of course If I had other misunderstanding ... please fix me ! :-)

By the way, IMHO is important that more than one services
(side by side with Document Service) can read same telemetry data to store them in a
different storage.
This is my concern about using queues instead of topics (with more than one subscriber).

We definitely should support multicast in service binding. I created a ticket for it (#466) so we can think about how we can achieve it.

Regarding the hot path always on telemetry pattern, I think
that the RPC style with a strong binding with a related "bean" means strongly typing the
scenario : I see that devices and related data are strongly coupled with the service
which "eat" (process) the telemetry data.
Even in that case telemetry data should be readable from different backend services, in
that case it means calling different beans today.

We can create a multicast channel for telemetry data, where document service will be just on of the consumer of the messages coming to this service. This way we can have all the benefits of storing telemetry in document service (like CRUD REST API for collected data), but you can also consume data using any other consumer you want.
What do you think about this approach?

I think that putting telemetry data in a stream (could be Apache Kafka a solution for
better performance ?) with backend services that can read from it could be very useful
to decouple the actors.

Let's discuss Kafka usage in Skype conversation soon, OK? :)

Remember that AMQP is a first class citizen in RHIOT and it provides
properties (system and user properties) that you can compare with HTTP headers.
It could be useful to give meaningful names to the HTTP headers
because you can do the same in AMQP ... for instance ...
If a device uses AMQP and sends temperature values, it can sends the value in the paylod
with JSON encoding of course but it can use a user property too.
Imagine a property named "temp" with value of 27 (°C).
The device can do the same in HTTP putting 27 in a RHIOT_ARG_0 header. What about giving a > meaningful name to the header like for example RHIOT_temp for
having headers with the RHIOT_ prefix ?

Agreed - we should refactoring service binding to operate on AMQP data structures directly and apply your suggestions. I created a dedicated ticket for it - #468.

Finally regarding Apache Spark (I never used it). I understood that it's useful in a scenario
with a device who sends data and wait for a processing result on these data. It's not a
typical scenario in IoT : in general, devices send telemetry data and a backend services
wants to have a result about
a big data processing on them to start an action on devices for example.

This scenario is still possible with Camel Spark component. SparkService is just a way to make it easier for devices and other systems to receive answer from a particular Spark job.

Just regarding the Spark, you can have a job that analyzes your telemetry data and return the results of the computation. So for example backend service Foo can call SparkService to easily get the answer from the job using AMQP cloud.

I think that #468 is the most important task for the moment. Maybe we should take a look at this in a first place? What do you think?


Update docs for release

Another update pass on the Java client docs. Mostly updating version numbers.

Thank you for the PR, @mikaelm12!


Add ability to clear Search field in Patches etc Panels

i'll add some design for this tomorrow

Sketch file ref Clear panel search_160215
Wasn't quite tomorrow, sorry :)

@gmarinov are you feeling up for this? would be neat.


get rid of RemovedInDjango19Warning in 'runjobs'

Previously, python manage.py runjobs gave three RemovedInDjango19Warning errors:
[...]/py3env/lib/python3.4/site-packages/django_extensions/management/commands/runjobs.py:51: RemovedInDjango19Warning: django.db.models.get_apps is deprecated.
  for app in models.get_apps():

[...]/py3env/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: The utilities in django.db.models.loading are deprecated in favor of the new application loading system.
  return f(*args, **kwds)

[...]/py3env/lib/python3.4/site-packages/django/db/models/__init__.py:56: RemovedInDjango19Warning: [a.models_module for a in get_app_configs()] supersedes get_apps().
  return getattr(loading, function_name)(*args, **kwargs)

Coverage remained the same at 29.45% when pulling 7a2c1519cec6a06b1cf6c8769aa8de9926c4ea6c on flesser:patch-1 into bcc2ebe1c13528cfe0c94ea93690a492381a5caa on django-extensions:master.

Coverage remained the same at 29.45% when pulling c5f47fe614d656f14553c6e6bf8cea4c070581d0 on flesser:patch-1 into bcc2ebe1c13528cfe0c94ea93690a492381a5caa on django-extensions:master.

Coverage remained the same at 29.45% when pulling c5f47fe614d656f14553c6e6bf8cea4c070581d0 on flesser:patch-1 into bcc2ebe1c13528cfe0c94ea93690a492381a5caa on django-extensions:master.

Coverage remained the same at 29.45% when pulling c5f47fe614d656f14553c6e6bf8cea4c070581d0 on flesser:patch-1 into bcc2ebe1c13528cfe0c94ea93690a492381a5caa on django-extensions:master.

I don't think this is backwards compatible right ?
If not could you please make it so that it will work on all officially supported Django versions ?

Implemented this via django_extensions.compact.get_apps() so that it will work on old and new versions of Django.


Roman fix slicing uploads handle promise and retry

Jira: KBC-XXX
Before asking for review make sure that:
Checklist

[x] New client method(s) has tests
[x] Apiary file is updated

Release

[x] I gave the PR a proper label:

major (BC break)
minor (new feature)
patch (backwards compatible fix)
no release (just test changes)

tag presiel tu https://dev.azure.com/keboola-dev/Connection build/_build/results?buildId=24746&view=logs&j=ae13dfb3-00c3-5552-9b00-63e26024fcba&t=48e25ff6-be86-558e-50b2-b8f91a4d5f0f

pridal jsem testik, jen co projde build tak to mergnu a vydam. cc @ErikZigo

@jirkasemmler ok super, diky za zpravu


Integration into Nextjs

Nextjs is pretty awesome, and I Iove Jumpstate's nice clean abstraction. Any idea about integration with Nextjs? Currently redux is provided with next-redux-wrapper. Maybe it could be extended?

@jimmyjamieson  I don't think this library still mantainable.


ENH: clean up sparse._sputils.getdtype

The docstring of getdtype is very hard to understand. Provide proper parameter descriptions, and ensure the functionality matches the docstring (it does not currently, but might after #20754).

I tried adding the following :
specified (is None), returns a.dtype. If 'dtype' and 'a'
are both None, return a numpy data type using the 'default' parameter.
Furthermore, 'dtype' must not be a np object and must be in supported_dtypes.
if newdtype not in supported_dtypes:
raise ValueError("given datatype is not supported")


vunnel: 0.21.1 -> 0.21.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vunnel is: Tool for collecting vulnerability data from various sources
meta.homepage for vunnel is: https://github.com/anchore/vunnel
meta.changelog for vunnel is: https://github.com/anchore/vunnel/releases/tag/v0.21.2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.21.2 with grep in /nix/store/gkp4fln98a3pqxacacmn4r1i5d1mm60n-vunnel-0.21.2
found 0.21.2 in filename of file in /nix/store/gkp4fln98a3pqxacacmn4r1i5d1mm60n-vunnel-0.21.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vunnel

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gkp4fln98a3pqxacacmn4r1i5d1mm60n-vunnel-0.21.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vunnel https://github.com/r-ryantm/nixpkgs/archive/70c539f695c9eff7b674e3791589d37f69d8ec12.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/70c539f695c9eff7b674e3791589d37f69d8ec12#vunnel

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gkp4fln98a3pqxacacmn4r1i5d1mm60n-vunnel-0.21.2
ls -la /nix/store/gkp4fln98a3pqxacacmn4r1i5d1mm60n-vunnel-0.21.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

vunnel
vunnel.dist

Maintainer pings
cc @fabaff for testing.

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

2 packages built:

vunnel
vunnel.dist


Add possible weather model options to readme and to help message for raiderDelay

@jlmaurer Can we capture in a Juypter Notebook the changes that needs to be made to add in a new weather model?

data download?
the model class?
where in the code do users need to make changes?

e.g. argparse, some checks in the code.

Suggest to do this while we add in ERA5T, MERRA-2, GMAO etc.
Note that notebooks are to be stored into the RAiDER-docs folder.


Update index.html

<!- Thanks for submitting a PR! Please ensure the following requirements are met in order for us to review your PR -->
Checklist

[ ]Tests written for new code (and old code if feasible)
[ ] Linter and other Ci checks pass
[x] Sign-off given on the changes

So I have gone through your issue and done something that will help you out !!
So, if you are satisfied approve my pull request..

Thanks for submitting a PR, however it is not entirely clear what code you are contributing, as index.html is a generated file. Further changes to index.pug will override any manual changes you may have done.
If you help us understand this, then we can review your PR/


chore: remove unused heightsByQuery function

Description
Please add a description of the changes that this PR introduces and the files that
are the most critical to review.
If this PR is non-trivial/large/complex, please ensure that you have either
created an issue that the team's had a chance to respond to, or had some
discussion with the team prior to submitting substantial pull requests. The team
can be reached via GitHub Discussions or the Cosmos Network Discord server in
the #cometbft channel. GitHub Discussions is preferred over Discord as it
allows us to keep track of conversations topically.
https://github.com/cometbft/cometbft/discussions
If the work in this PR is not aligned with the team's current priorities, please
be advised that it may take some time before it is merged - especially if it has
not yet been discussed with the team.
See the project board for the team's current priorities:
https://github.com/orgs/cometbft/projects/1
-->

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use
unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments

[non-blocking] golangci-lint has unused which should be enabled by default. It is explicitly enabled here. This unused function is flagged along with a bunch of other lint warnings if we run lint with an increased timeout:
$ golangci-lint run --timeout 10m
state/execution_test.go:624:21: Error return value of `eventBus.Stop` is not checked (errcheck)
	defer eventBus.Stop()
	                   ^
mempool/cat/cache.go:125: File is not `gofmt`-ed with `-s` (gofmt)
			peers: map[uint16]struct{}{peer: struct{}{}},
pkg/trace/flags.go:7:2: G101: Potential hardcoded credentials (gosec)
	FlagInfluxDBTokenDescription = "Token to use when writing to the InfluxDB instance. Must be specified if 'influxdb-url' is specified"
	^
mempool/cat/reactor.go:323:27: G404: Use of weak random number generator (math/rand instead of crypto/rand) (gosec)
	time.Sleep(time.Duration(rand.Intn(10)*10) * time.Millisecond)
	                         ^
types/block_test.go:895:3: `descripton` is a misspelling of `description` (misspell)
		descripton string
		^
node/node.go:839:48: `arbitary` is a misspelling of `arbitrary` (misspell)
	// create an optional influxdb client to send arbitary data to a remote
	                                              ^
libs/pubsub/query/empty.go:8:22: unused-parameter: parameter 'tags' seems to be unused, consider removing or renaming it as _ (revive)
func (Empty) Matches(tags map[string][]string) (bool, error) {
                     ^
libs/autofile/cmd/logjack.go:81:11: superfluous-else: if block ends with call to os.Exit function, so drop this else and outdent its block (revive)
			} else {
				fmt.Println("logjack errored")
				os.Exit(1)
			}
p2p/upnp/upnp.go:384:68: unused-parameter: parameter 'internalPort' seems to be unused, consider removing or renaming it as _ (revive)
func (n *upnpNAT) DeletePortMapping(protocol string, externalPort, internalPort int) (err error) {
                                                                   ^
rpc/jsonrpc/test/main.go:18:17: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func HelloWorld(ctx *rpctypes.Context, name string, num int) (Result, error) {
                ^
libs/clist/clist.go:255:2: redefines-builtin-id: redefinition of the built-in function len (revive)
	len := l.len
	^
libs/strings/string.go:41:26: empty-block: this block is empty, you can remove it (revive)
		if 32 <= b && b <= 126 {
			// good
		} else {
libs/rand/random_test.go:77:31: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func TestRngConcurrencySafety(t *testing.T) {
                              ^
libs/rand/random.go:165:11: superfluous-else: if block ends with a continue statement, so drop this else and outdent its block (revive)
			} else {
				chars = append(chars, strChars[v])
				if len(chars) == length {
					break MAIN_LOOP
				}
				val >>= 6
			}
libs/cli/setup.go:141:45: empty-block: this block is empty, you can remove it (revive)
	if err := viper.ReadInConfig(); err == nil {
		// stderr, so if we redirect output to json file, this doesn't appear
		// fmt.Fprintln(os.Stderr, "Using config file:", viper.ConfigFileUsed())
	} else if _, ok := err.(viper.ConfigFileNotFoundError); !ok {
libs/cli/setup.go:128:45: unused-parameter: parameter 'args' seems to be unused, consider removing or renaming it as _ (revive)
func bindFlagsLoadViper(cmd *cobra.Command, args []string) error {
                                            ^
libs/cli/setup.go:151:21: unused-parameter: parameter 'cmd' seems to be unused, consider removing or renaming it as _ (revive)
func validateOutput(cmd *cobra.Command, args []string) error {
                    ^
p2p/conn/secret_connection_test.go:312:30: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func createGoldenTestVectors(t *testing.T) string {
                             ^
p2p/conn/connection.go:660:2: empty-block: this block is empty, you can remove it (revive)
	for range c.pong {
		// Drain
	}
rpc/jsonrpc/server/http_json_handler_test.go:198:11: superfluous-else: if block ends with a continue statement, so drop this else and outdent its block (revive)
			} else {
				// we were expecting an error here, so let's unmarshal a single response
				var response types.RPCResponse
				err = json.Unmarshal(blob, &response)
				if err != nil {
					t.Errorf("#%d: expected successful parsing of an RPCResponse\nblob: %s", i, blob)
					continue
				}
				// have a single-element result
				responses = []types.RPCResponse{response}
			}
libs/json/helpers_test.go:48:35: unused-parameter: parameter 'bz' seems to be unused, consider removing or renaming it as _ (revive)
func (c *CustomPtr) UnmarshalJSON(bz []byte) error {
                                  ^
libs/json/helpers_test.go:63:36: unused-parameter: parameter 'bz' seems to be unused, consider removing or renaming it as _ (revive)
func (c CustomValue) UnmarshalJSON(bz []byte) error {
                                   ^
libs/bits/bit_array_test.go:146:16: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func TestBytes(t *testing.T) {
               ^
libs/bits/bit_array_test.go:191:28: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func TestUpdateNeverPanics(t *testing.T) {
                           ^
libs/bits/bit_array_test.go:213:45: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func TestNewBitArrayNeverCrashesOnNegatives(t *testing.T) {
                                            ^
rpc/jsonrpc/jsonrpc_test.go:74:17: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoResult(ctx *types.Context, v string) (*ResultEcho, error) {
                ^
rpc/jsonrpc/jsonrpc_test.go:78:19: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoWSResult(ctx *types.Context, v string) (*ResultEcho, error) {
                  ^
rpc/jsonrpc/jsonrpc_test.go:82:20: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoIntResult(ctx *types.Context, v int) (*ResultEchoInt, error) {
                   ^
rpc/jsonrpc/jsonrpc_test.go:86:22: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoBytesResult(ctx *types.Context, v []byte) (*ResultEchoBytes, error) {
                     ^
rpc/jsonrpc/jsonrpc_test.go:90:26: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoDataBytesResult(ctx *types.Context, v cmtbytes.HexBytes) (*ResultEchoDataBytes, error) {
                         ^
rpc/jsonrpc/jsonrpc_test.go:94:22: unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
func EchoWithDefault(ctx *types.Context, v *int) (*ResultEchoWithDefault, error) {
                     ^
p2p/mock/reactor.go:23:27: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (r *Reactor) AddPeer(peer p2p.Peer)                             {}
                          ^
p2p/mock/reactor.go:24:30: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (r *Reactor) RemovePeer(peer p2p.Peer, reason interface{})      {}
                             ^
p2p/mock/peer.go:46:33: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (mp *Peer) TrySendEnvelope(e p2p.Envelope) bool { return true }
                                ^
p2p/mock/peer.go:47:30: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (mp *Peer) SendEnvelope(e p2p.Envelope) bool    { return true }
                             ^
p2p/mock/reactor.go:25:35: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (r *Reactor) ReceiveEnvelope(e p2p.Envelope)                    {}
                                  ^
p2p/mock/reactor.go:26:27: unused-parameter: parameter 'chID' seems to be unused, consider removing or renaming it as _ (revive)
func (r *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {}
                          ^
p2p/peer_set_test.go:22:37: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (mp *mockPeer) TrySendEnvelope(e Envelope) bool { return true }
                                    ^
p2p/switch_test.go:68:32: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (tr *TestReactor) AddPeer(peer Peer) {}
                               ^
p2p/peer_set_test.go:23:34: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (mp *mockPeer) SendEnvelope(e Envelope) bool    { return true }
                                 ^
p2p/switch_test.go:70:35: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (tr *TestReactor) RemovePeer(peer Peer, reason interface{}) {}
                                  ^
p2p/switch_test.go:110:21: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func MakeSwitchPair(t testing.TB, initSwitch func(int, *Switch) *Switch) (*Switch, *Switch) {
                    ^
p2p/switch_test.go:116:21: unused-parameter: parameter 'i' seems to be unused, consider removing or renaming it as _ (revive)
func initSwitchFunc(i int, sw *Switch) *Switch {
                    ^
p2p/switch_test.go:722:33: unused-parameter: parameter 'c' seems to be unused, consider removing or renaming it as _ (revive)
func (et errorTransport) Accept(c peerConfig) (Peer, error) {
                                ^
p2p/switch_test.go:771:34: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (r *mockReactor) RemovePeer(peer Peer, reason interface{}) {
                                 ^
p2p/base_reactor.go:84:29: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (*BaseReactor) AddPeer(peer Peer)                             {}
                            ^
p2p/base_reactor.go:85:32: unused-parameter: parameter 'peer' seems to be unused, consider removing or renaming it as _ (revive)
func (*BaseReactor) RemovePeer(peer Peer, reason interface{})      {}
                               ^
p2p/base_reactor.go:86:37: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (*BaseReactor) ReceiveEnvelope(e Envelope)                    {}
                                    ^
p2p/base_reactor.go:87:29: unused-parameter: parameter 'chID' seems to be unused, consider removing or renaming it as _ (revive)
func (*BaseReactor) Receive(chID byte, peer Peer, msgBytes []byte) {}
                            ^
p2p/test_util.go:34:39: unused-parameter: parameter 'other' seems to be unused, consider removing or renaming it as _ (revive)
func (ni mockNodeInfo) CompatibleWith(other NodeInfo) error { return nil }
                                      ^
p2p/test_util.go:186:2: unused-parameter: parameter 'network' seems to be unused, consider removing or renaming it as _ (revive)
	network, version string,
	^
p2p/test_util.go:299:56: unused-parameter: parameter 'src' seems to be unused, consider removing or renaming it as _ (revive)
func (book *AddrBookMock) AddAddress(addr *NetAddress, src *NetAddress) error {
                                                       ^
test/fuzz/p2p/pex/reactor_receive.go:83:34: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (fp *fuzzPeer) SendEnvelope(e p2p.Envelope) bool    { return true }
                                 ^
test/fuzz/p2p/pex/reactor_receive.go:84:37: unused-parameter: parameter 'e' seems to be unused, consider removing or renaming it as _ (revive)
func (fp *fuzzPeer) TrySendEnvelope(e p2p.Envelope) bool { return true }
                                    ^
p2p/pex/pex_reactor.go:221:38: unused-parameter: parameter 'reason' seems to be unused, consider removing or renaming it as _ (revive)
func (r *Reactor) RemovePeer(p Peer, reason interface{}) {
                                     ^
abci/types/application.go:48:29: unused-parameter: parameter 'req' seems to be unused, consider removing or renaming it as _ (revive)
func (BaseApplication) Info(req RequestInfo) ResponseInfo {
                            ^
types/block_test.go:200:5: var `emptyBytes` is unused (unused)
var emptyBytes = []byte{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8,
    ^
rpc/core/blocks.go:474:6: func `heightsByQuery` is unused (unused)
func heightsByQuery(ctx *rpctypes.Context, query string) ([]int64, error) {
     ^
light/proxy/routes.go:112:6: type `rpcSignedBlockFunc` is unused (unused)
type rpcSignedBlockFunc func(ctx *rpctypes.Context, height *int64) (*ctypes.ResultSignedBlock, error)
     ^
light/proxy/routes.go:114:6: func `makeSignedBlockFunc` is unused (unused)
func makeSignedBlockFunc(c *lrpc.Client) rpcSignedBlockFunc {
     ^
light/proxy/routes.go:144:6: type `rpcDataCommitmentFunc` is unused (unused)
type rpcDataCommitmentFunc func(
     ^
light/proxy/routes.go:150:6: type `rpcDataRootInclusionProofFunc` is unused (unused)
type rpcDataRootInclusionProofFunc func(
     ^
light/proxy/routes.go:157:6: func `makeDataCommitmentFunc` is unused (unused)
func makeDataCommitmentFunc(c *lrpc.Client) rpcDataCommitmentFunc {
     ^
light/proxy/routes.go:167:6: func `makeDataRootInclusionProofFunc` is unused (unused)
func makeDataRootInclusionProofFunc(c *lrpc.Client) rpcDataRootInclusionProofFunc {
     ^
mempool/cat/store_test.go:94:4: S1000: should use for range instead of for { select {} } (gosimple)
			for {
			^
mempool/cat/pool_test.go:730:5: testinggoroutine: call to (*T).Fatalf from a non-test goroutine (govet)
				t.Fatalf("failed to receive all txs (got %d/%d)", i+1, txs)
				^
rpc/core/events.go:49:5: SA4023: this comparison is never true (staticcheck)
	if sub == nil {
	   ^
rpc/core/events.go:45:2: SA4023(related information): the lhs of the comparison is the 1st return value of this function call (staticcheck)
	sub, err := env.EventBus.Subscribe(subCtx, addr, q, env.Config.SubscriptionBufferSize)
	^
types/event_bus.go:75:20: SA4023(related information): (*github.com/tendermint/tendermint/types.EventBus).Subscribe never returns a nil interface value (staticcheck)
func (b *EventBus) Subscribe(
                   ^
mempool/cat/pool_test.go:725:2: SA2002: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (staticcheck)
	go func() {
	^
mempool/cat/reactor.go:285:7: SA1019: p2p.SendEnvelopeShim is deprecated: Will be removed in v0.37. (staticcheck)
			if p2p.SendEnvelopeShim(e.Src, p2p.Envelope{
			   ^
mempool/cat/reactor.go:341:3: SA1019: peer.Send is deprecated: entities looking to act as peers should implement SendEnvelope instead. Send will be removed in v0.37. (staticcheck)
		peer.Send(MempoolStateChannel, bz)
		^
mempool/cat/reactor.go:374:6: SA1019: peer.Send is deprecated: entities looking to act as peers should implement SendEnvelope instead. Send will be removed in v0.37. (staticcheck)
		if peer.Send(mempool.MempoolChannel, bz) {
		   ^
mempool/cat/reactor.go:398:13: SA1019: peer.Send is deprecated: entities looking to act as peers should implement SendEnvelope instead. Send will be removed in v0.37. (staticcheck)
	success := peer.Send(MempoolStateChannel, bz)
	           ^
state/execution_test.go:6:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^


[WFLY-16828] Upgrade RESTEasy to 4.7.7.Final

https://issues.redhat.com/browse/WFLY-16828
Signed-off-by: James R. Perkins<EMAIL_ADDRESS>
Tag: https://github.com/resteasy/resteasy/releases/tag/4.7.7.Final
Diff: https://github.com/resteasy/resteasy/compare/4.7.6.Final...4.7.7.Final

Thanks, @jamezp


Output seperately every 1s to catch the  reason of CPU spike

to catch the reason of CPU spike, i hope to  output the profiling result every 1 second.
now, i write a shell script to loop it
async-profiler. sh -d 1 ${PID}>${DATE_TIME}_result.log
but if the system busy, 10:30:01's result would finish writing at 10:30:03, so 10:30:02 missed.
so i hope the profiler can try to continue collect data and output separately every 1s.

As a follow up for easier spotting of spikes the heatmap representation can be used, like here:
https://github.com/Netflix/flamescope

Yes, there are plans to implement continuous profiling. Not in the nearest release though.
Note that currently profiler can be attached only at safepoint pause - that's the limitation of HotSpot Attach mechanism. So, for example, if JVM is busy with Garbage Collection, the profiler will start only after GC is over. I guess something similar happens in your case. Increasing profiling duration might help in this case.

JFR output (-o jfr) should solve the problem, as it records all timing data with the collected samples.
The support for flamescopes has been recently added in #248.


Turkish translation is not being served

So I'm interested in contributing a Dutch translation of the website and was looking at how this works. I see there's a Turkish translation already, but when I set my browser's preferred language to Turkish, the site is still being served in English. I do get Google.com and the Play Store in Turkish, so I think the fault is not on my end. How does the site decide which language to serve? I'd like to know it's actually working before I put in the effort...
Using Firefox 102.0.1 on Linux, connecting from a... Dutch? IP address.
(I hope we're not deciding the page language based on the client IP; as a VPN user I'm used to websites switching to all kinds of languages, depending on where they think my IP address lives on that particular day.)

I didn't have time yet to activate the translation. It is mentioned in zola's docs.

Ah, we can also update the file config.toml ourselves (and submit a pull request), I see! That solves that 👍🏻


Add targets for Win32/COFF to win64.mak

This adds targets phobos32mscoff and unittest32mscoff to win64.mak.
The 32-bit compiler is derived from the setting for the 64-bit compiler, but can be overwritten on the make command line with CC32=
The usual conditions for VCDIR and SDKDIR apply, though the default is improved by using $(ProgramFiles). As for Win64 since the -conf= setting, it is necessary to set LINKCMDand LIB in the environment to link the unittests.

The build fails because the tester tries to patch the makefile instead of passing changed variables as command line arguments.

Auto-merge toggled on


fix windows bug

There is some random windows typing issue appearing in the conda-forge CI pipeline...

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@10ee7c4). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #72   +/-   ##
=======================================
  Coverage        ?   96.45%
=======================================
  Files           ?       15
  Lines           ?      875
  Branches        ?        0
=======================================
  Hits            ?      844
  Misses          ?       31
  Partials        ?        0

Flag
Coverage Δ

unittests
96.45% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


svg crash preview

Description
when the preview is open clicking on svg file crache the program
Steps To Reproduce

open the files
enable preview
click on svg file

Requirements

e.g. the file should be displayed in preview

Files Version
2.5.21
Windows Version
win 11 kb5030310
Log File
no log file

Thanks for the report,

Can you please upload (Do not copy and paste content) the debug.log file directly to GitHub (email attachments don't work) . You can get it in Files settings > About > Open log folder.
Can you give your Windows OS build number. You can type winver into the start menu to get it.

Is this still an issue in the preview version? https://files.community/download/preview

turns out I had to update the microsoft webview 2 runtime, and it solved the problem


Blind accessibility: the buttons are not labeled, not usable with screen reader

Blind accessibility: the buttons are not labeled on the chatgpt app it makes it hard to blind person to use screen reader to use it

Hey @007vasy thank you for flagging this, I passed this along to the team so we can investigate further. I am going to close the issue since this repo is unrelated to ChatGPT but appreciate the feedback nonetheless!


pulumi, pulumiPackages.pulumi-language-python: 3.48.0 -> 3.49.0

Description of changes

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

9 packages built:

pulumi
pulumiPackages.pulumi-language-python
python310Packages.pulumi
python310Packages.pulumi-aws
python310Packages.pulumi-aws-native
python310Packages.pulumi-azure-native
python310Packages.pulumi-random
python39Packages.pulumi
python39Packages.pulumi-aws

some tests are failing on x86_64-darwin, you might want to check that out

Weird, builds just fine on my machine:
nix build .#legacyPackages.x86_64-darwin.pulumi -L

hmmm, the ofborg build is failing (log)
maybe its a good idea to skip the flaky tests


External link icon

Please add external link icon
reference

Yes please, I was in need of this today, would LOVE to see one added to heroicons

I think it already exists: It's called external-link

yup
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z"></path><path d="M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z"></path></svg>

yup
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z"></path><path d="M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z"></path></svg>

It's called external-link for others looking for it:
https://heroicons.dev/?query=external

It looks like this icon was removed in v2 of heroicons, for anyone else running into this.

It looks like this icon was removed in v2 of heroicons, for anyone else running into this.

It's been renamed to arrow-top-right-on-square (quite the mouthful). I'd recommend using the official heroicons site bc it has better searching rather than the .dv one


Multilevel logistic regression

Are there any examples of using BayesPy to do multilevel logistic regression? This seems like it'd be straightforward to do if you could define a variable as an arbitrary function of another, like
p[i] <- 1 / (1 + exp(-z[i]))

but I don't know whether that's possible.

Nope, it's not currently possible to use arbitrary functions. BayesPy is currently limited to the conjugate exponential family. I have plans to add support for non-conjugate nodes but we'll see when that happens.
I added a separate general issue for that: https://github.com/bayespy/bayespy/issues/54 in case you want to follow the progress by subscribing to the issue. But it will probably take some time until I find the time to implement it. So I guess my suggestion would be to take a look on Stan.


Publications disappear when multilingual support is added

Description of the bug
I have made a website with Academic hugo theme, with two languages (english and spanish). If I put the publications section only in the content/publication/ folder. However, when I copy it to content/es/publication, some publications disappear. Which publications disappear seems pretty random. The index.xml file seems to not have all the publications, although they are in the public/ folder. Notice this is happening with R blogdown package, although I don't think it is related to that.
To Reproduce
Steps to reproduce the behavior:

Create a few publications (in my case, some of the have the same first author and year, a total of ~8).
Build the site.
See that all the publications are there.
Copy the publications to the Spanish version of the web (content/es/publication). content/es/publication/_index.md is adaptaded to spanish
Build the website.
Click in "Quickly discover relevant content by filtering publications. "
You will only find that some of the publications, not all (4-5 out of the 8).

Expected behavior
One would expect all the publications to appear.
Technical details:

Academic Version: 1.0.0 (accoding to package.json file)
Hugo Version: 0.74.3
Browser/OS: Firefox in GNU/Linux (but I guess it happens in any browser).

If publications are disappearing, then the issue is likely related to Blogdown or Hugo. Wowchemy/Academic relies on Hugo to generate the files. Blogdown wraps Hugo, so any issue in Blogdown can be propagated down. Consider raising the issue there.


node sdk timeout is too short

we periodically run into timeouts - even though I can't find a 408 in the CTP logs, and no specifically long running processes. This concludes that the Node SDK timeout is kicking in - it should either be configurable or be more flexible so that impex jobs can run more reliably
examples:
statusCode: 500,
  message: 'ESOCKETTIMEDOUT'

or
{ statusCode: 500,
  message: 'connect ETIMEDOUT',
  originalRequest: { endpoint: '/product-projections?where=masterVariant(sku%20in%20(%22I020151_1%22))%20or%20variants(sku%20in%20(%22I020151_1%22))&limit=0&sort=id%20asc&staged=true' } }

The request timeout is fully configurable. The client using the sdk has to take care of this. Please open the issue in the specific project.


Vim scrolls up when I use my mouse

Information
VIM version
VIM - Vi IMproved 8.1 (2018 May 17, compiled May 28 2018 16:29:16)
Included patches: 1-26
Operating System: Debian 8.10
:ALEInfo
 Current Filetype: python
Available Linters: ['flake8', 'mypy', 'prospector', 'pycodestyle', 'pyflakes', 'pylint', 'pyls', 'pyre']
  Enabled Linters: ['flake8', 'mypy', 'pylint']
 Suggested Fixers:
  'add_blank_lines_for_python_control_statements' - Add blank lines before control statements.
  'autopep8' - Fix PEP8 issues with autopep8.
  'black' - Fix PEP8 issues with black.
  'isort' - Sort Python imports with isort.
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
  'yapf' - Fix Python files with yapf.
 Linter Variables:

let g:ale_python_flake8_change_directory = 1
let g:ale_python_flake8_executable = 'flake8'
let g:ale_python_flake8_options = ''
let g:ale_python_flake8_use_global = 0
let g:ale_python_mypy_executable = 'mypy'
let g:ale_python_mypy_ignore_invalid_syntax = 0
let g:ale_python_mypy_options = ''
let g:ale_python_mypy_use_global = 0
let g:ale_python_pylint_change_directory = 1
let g:ale_python_pylint_executable = 'pylint'
let g:ale_python_pylint_options = ''
let g:ale_python_pylint_use_global = 0
 Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = ['pylint']
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_lint_on_insert_leave = 0
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_linters_explicit = 0
let g:ale_list_window_size = 10
let g:ale_list_vertical = 0
let g:ale_loclist_msg_format = '%code: %%s'
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 1
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_statusline_format = v:null
let g:ale_type_map = {}
let g:ale_use_global_executables = v:null
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(executable check - success) flake8
(finished - exit code 0) ['/usr/bin/zsh', '-c', '''flake8'' --version']
(executable check - failure) mypy
(executable check - success) pylint
(finished - exit code 1) ['/usr/bin/zsh', '-c', 'cd ''/home/jo'' && ''pylint''  --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}" --reports n ''/home/jo/test.py''']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 1) ['/usr/bin/zsh', '-c', 'cd ''/home/jo'' && ''flake8'' --format=default --stdin-display-name ''/home/jo/test.py'' - < ''/tmp/vwZ7SeA/5/test.py''']

<<<OUTPUT STARTS>>>
/home/jo/test.py:1:27: E999 SyntaxError: invalid syntax
/home/jo/test.py:39:1: E303 too many blank lines (4)
/home/jo/.local/lib/python3.7/site-packages/pycodestyle.py:113: FutureWarning: Possible nested set at position 1
  EXTRANEOUS_WHITESPACE_REGEX = re.compile(r'[[({] | []}),;:]')
<<<OUTPUT ENDS>>>

What went wrong
Since updating ALE this morning, Vim constantly scrolls up whenever I move my mouse over the Vim window (running in tmux). When I set mouse=, this stops, but I like mouse support.
Reproducing the bug

I updated ALE and all other plugins (using vim-plug; I've set it to autoload ALE only when I open a Python file)
I opened a Python file.
While my mouse moves, Vim scrolls up the file.

The problem stops when I disable ALE. The problem persists when I disable all other plugins.
Apart from the plugin itself, the only other line in my .vimrc referencing ale is let g:ale_fixers = ['pylint']. I notice from the ALEInfo output that ALE didn't seem to notice that (it also thinks flake8 and mypy are enabled).

I notice from the ALEInfo output that ALE didn't seem to notice that (it also thinks flake8 and mypy are enabled).

You're reading it wrong.

Enabled Linters: ['flake8', 'mypy', 'pylint']
let g:ale_fixers = ['pylint']

This is a duplicate of #1631, you can leave your comments there.


Cannot create pado dataset from open tg-gates

Hi there, thanks for the nice library helping with the byzantine task of accessing histopathological data 🙌
I have downloaded the Open TG-GATEs dataset and tried to create a pado dataset from it, but run into issues. Here's what I've tried:

I've updated the serialised image provider from https://github.com/bayer-int/pathdrive-pado-tggates using:

from pado.dataset import PadoDataset
from pado.images.providers import ImageProvider
from pado.images.providers import update_image_provider_urlpaths

img_provider_parquet = "./data/tggates.image.parquet"
tg_gates_directory = "..."
updated_img_provider_parquet = "./updated_tggates.image.parquet"

ip = ImageProvider.from_parquet(old_img_provider_path)
update_image_provider_urlpaths(
    tg_gates_directory,
    search_glob="**/*.svs",
    provider=ip,
    inplace=True,
    progress=True,
)
ip.to_parquet(updated_img_provider_parquet)

This worked, and then I tried to create new pado dataset:

ds = PadoDataset("./my_tggates_dataset/", mode="w")
ip = ImageProvider.from_parquet(updated_img_provider_parquet)
ds.ingest_obj(ip)
print(ds[0].image)

which fails with:
Traceback (most recent call last):
    print(ds[0].image)
          ~~^^^
  File "workspace/pado/pado/dataset.py", line 274, in __getitem__
    self.images[image_id],
    ~~~~~~~~~~~^^^^^^^^^^
  File "workspace/pado/pado/images/providers.py", line 149, in __getitem__
    return self.__getitem_cached__(image_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "workspace/pado/pado/images/providers.py", line 157, in __getitem_uncached__
    return Image.from_obj(row)
           ^^^^^^^^^^^^^^^^^^^
  File "workspace/pado/pado/images/image.py", line 158, in from_obj
    md = _SerializedImage.parse_obj(obj)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "miniconda3/envs/pado/lib/python3.12/site-packages/pydantic/main.py", line 1072, in parse_obj
    return cls.model_validate(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "miniconda3/envs/pado/lib/python3.12/site-packages/pydantic/main.py", line 509, in model_validate
    return cls.__pydantic_validator__.validate_python(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for _SerializedImage
  Input should be a valid dictionary or instance of _SerializedImage [type=model_type, input_value=urlpath                  ...tggates'), dtype: object, input_type=Series]
    For further information visit https://errors.pydantic.dev/2.6/v/model_type

Any ideas of how to work around this? Cheers!

Hey @wolny,
I wrote pado back in pydantic v1.x times, and the current version is not compatible with v2.x
python3.10 -m venv venv310
source venv310/bin/activate
pip install pado"[cli,create]" \
  git+https://github.com/bayer-science-for-a-better-life/pathdrive-pado-tggates \
  rich pydantic"<2"

should get you started

Ah breaking changes.
@wolny It seems that no other dependency keeps us from bumping pado to use pydantic v2 in our environments. I personally would favor adapting pado and pinning to pydantic >=2,<3 to requiring <2.
From pado's dependencies, at least the latest geojson-pydantic also updated before going stable).
It seems there might be a couple of easy routes to migrate or at least be able to work with pydantic v2 installation with minimal changes:
https://docs.pydantic.dev/latest/migration
@ap-- would you accept a PR bumping pydantic?


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
13 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
23 seconds
deprecated-base-image-check

✅ Succeeded
22 seconds
inspect-image

✅ Succeeded
20 seconds
clair-scan

✅ Succeeded
57 seconds
clamav-scan

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
11 seconds
label-check

✅ Succeeded
11 seconds
optional-label-check

✅ Succeeded
6 seconds
show-summary


Attempt to clean up PCHs as we build to leave more Hosted Agent disk space

This cleans up PCHs on CI machines only as builds continue to attempt to mitigate the 10GB maximum scratch space limitation.

/azp run


Scare command

with https://vignette.wikia.nocookie.net/spookys-house-of-jump-scares/images/6/69/SCARE_01.png/revision/latest?cb=20150722184310 as an image
from Ace

This is done on local build, pushing today.


feat(esl-carousel): add handler for 'esl-show-request'

Added require squash just in purpose to clarify public release note message a bit

:tada: This PR is included in version 5.0.0-beta.15 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket: