BUG: scipy.sparse.csgraph.laplacian raises AttributeError on sparse arrays

Describe your issue.
Apparently, the scipy.sparse.csgraph submodule has not been updated to accept the new scipy sparse arrays (as a modern alternative to scipy sparse matrices).
Reproducing Code Example
import scipy.sparse as sp
from scipy.sparse.csgraph import laplacian

laplacian(sp.csr_array(np.arange(4) * np.arange(4)[:, np.newaxis]))

Error message
Traceback (most recent call last):
  Cell In[31], line 1
    laplacian(sp.csr_array(np.arange(4) * np.arange(4)[:, np.newaxis]))
  File ~/mambaforge/envs/dev/lib/python3.11/site-packages/scipy/sparse/csgraph/_laplacian.py:354 in laplacian
    lap, d = create_lap(
  File ~/mambaforge/envs/dev/lib/python3.11/site-packages/scipy/sparse/csgraph/_laplacian.py:459 in _laplacian_sparse
    w = m.sum(axis=axis).getA1() - m.diagonal()
AttributeError: 'numpy.ndarray' object has no attribute 'getA1'

SciPy/NumPy/Python version and system information

1.11.1 1.25.0 sys.version_info(major=3, minor=11, micro=0, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /Users/ogrisel/mambaforge/envs/dev/include
    lib directory: /Users/ogrisel/mambaforge/envs/dev/lib
    name: blas
    openblas configuration: unknown
    pc file directory: /Users/ogrisel/mambaforge/envs/dev/lib/pkgconfig
    version: 3.9.0
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /Users/ogrisel/mambaforge/envs/dev/include
    lib directory: /Users/ogrisel/mambaforge/envs/dev/lib
    name: lapack
    openblas configuration: unknown
    pc file directory: /Users/ogrisel/mambaforge/envs/dev/lib/pkgconfig
    version: 3.9.0
  pybind11:
    detection method: pkgconfig
    include directory: /Users/ogrisel/mambaforge/envs/dev/include
    name: pybind11
    version: 2.10.4
Compilers:
  c:
    commands: arm64-apple-darwin20.0.0-clang
    linker: ld64
    name: clang
    version: 15.0.7
  c++:
    commands: arm64-apple-darwin20.0.0-clang++
    linker: ld64
    name: clang
    version: 15.0.7
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 0.29.35
  fortran:
    commands: /Users/runner/miniforge3/conda-bld/scipy-split_1687995684757/_build_env/bin/arm64-apple-darwin20.0.0-gfortran
    linker: ld64
    name: gcc
    version: 12.2.0
  pythran:
    include directory: ../../../_build_env/venv/lib/python3.11/site-packages/pythran
    version: 0.13.1
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: darwin
  cross-compiled: true
  host:
    cpu: arm64
    endian: little
    family: aarch64
    system: darwin
Python Information:
  path: /Users/ogrisel/mambaforge/envs/dev/bin/python
  version: '3.11'

Note that the docstring of this function is phrased in such a way that we might expect sparse arrays to be accepted.
This issue was discovered when attempting to add support for the new scipy sparse array API to scikit-learn estimators:

https://github.com/scikit-learn/scikit-learn/pull/27161

The offending line of the traceback above could probably be rewritten as:
w = np.asarray(m.sum(axis=axis)).ravel() - m.diagonal()

to accept both sparse matrices and sparse arrays without branching on the container type.

Thanks for the report and proposed fix. Your rewrite looks good to me.


Is Micro suitable to write RESTful API?

Which npm packages are recommended to work with Micro to provide RESTful API for database operations? Thanks.

Independent micro services load balanced, SSL-terminated, etc by NginX for example.


[macOS] keyboard Exception on start app while caps lock is on

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

create a Flutter demo app.
add a text field on the demo page.
turn on the caps lock on the keypad.
run the app for the target platform macOS.
try to use the keypad in the text field.
see the logs will find an exception for Caps Lock in app init.

Expected results
FieldText accepts keyboard press buttons and events.
Actual results
An unhandled exception is thrown in App startup and any keyboard events are not listened to.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/services/hardware_keyboard.dart': Failed assertion: line 434 pos 16: '_pressedKeys.containsKey(event.physicalKey)': A KeyUpEvent is dispatched, but the state shows that the physical key is not pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyUpEvent#b48f9(physicalKey: PhysicalKeyboardKey#11708(usbHidUsage: "0x00070039", debugName: "Caps Lock"), logicalKey: LogicalKeyboardKey#e2b15(keyId: "0x100000104", keyLabel: "Caps Lock", debugName: "Caps Lock"), character: null, timeStamp: 3:03:21.546264, synthesized)
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      HardwareKeyboard._assertEventIsRegular.<anonymous closure> (package:flutter/src/services/hardware_keyboard.dart:434:16)
#3      HardwareKeyboard._assertEventIsRegular (package:flutter/src/services/hardware_keyboard.dart:445:6)
#4      HardwareKeyboard.handleKeyEvent (package:flutter/src/services/hardware_keyboard.dart:537:5)
#5      KeyEventManager.handleKeyData (package:flutter/src/services/hardware_keyboard.dart:883:29)
#6      PlatformDispatcher._keyDataListener.<anonymous closure>.<anonymous closure> (dart:ui/platform_dispatcher.dart:452:41)
#7      _invoke1 (dart:ui/hooks.dart:158:13)
#8      PlatformDispatcher._keyDataListener.<anonymous closure> (dart:ui/platform_dispatcher.dart:450:7)
#9      _invoke2 (dart:ui/hooks.dart:174:13)
#10     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:40:5)
#11     _Channel._drainStep (dart:ui/channel_buffers.dart:223:31)
#12     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#13     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

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

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

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

  // This widget is the root of your application.
  @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> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
           _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(

        title: Text(widget.title),
      ),
      body: Center(

        child: Column(

          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(),
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Screenshots or Video

Video demonstration
https://youtu.be/Trrizk7jWQw

Logs
No response
Flutter Doctor output
Doctor output
[!] Flutter (Channel stable, 3.10.5, on macOS 13.4.1 22F82 darwin-arm64, locale en-EG)
    • Flutter version 3.10.5 on channel stable at /Users/mahmoudaraby/development/flutter
    ! Warning: `flutter` on your path resolves to /Users/mahmoudaraby/Development/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at
      /Users/mahmoudaraby/development/flutter. Consider adding /Users/mahmoudaraby/development/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/mahmoudaraby/Development/flutter/bin/dart, which is not inside your current Flutter SDK checkout at
      /Users/mahmoudaraby/development/flutter. Consider adding /Users/mahmoudaraby/development/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (5 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1
    • 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.2)
    • Android SDK at /Users/mahmoudaraby/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_HOME = /Users/mahmoudaraby/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • 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 /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.79.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.4.1 22F82 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 2 categories.

Reproducible using the steps and code sample 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
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutters/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutter. Consider adding /Users/nexus/dev/sdks/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutters/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutter. Consider adding /Users/nexus/dev/sdks/flutter/bin to the front of your path.
    • 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
    • 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.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)
    • Dean’s iPad (mobile) • 00008103-000825C811E3401E • 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: Dean’s iPad is busy: Making Dean’s iPad ready for development. Xcode will continue when Dean’s iPad is finished. (code -10)

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

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.13.0-3.0.pre.91, on macOS 13.4.1 22F770820d darwin-arm64, locale en-GB)
    • Flutter version 3.13.0-3.0.pre.91 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5a866a031f (10 hours ago), 2023-07-16 17:36:30 -0700
    • Engine revision 683087731f
    • Dart version 3.1.0 (build 3.1.0-315.0.dev)
    • DevTools version 2.25.0

[✓] 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)
    • Dean’s iPad (mobile) • 00008103-000825C811E3401E • 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: Dean’s iPad is busy: Making Dean’s iPad ready for development. Xcode will continue when Dean’s iPad is finished. (code -10)

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

• No issues found!

I thought I had seen this happen with other keys as well, but I just tried it, and it only seemed to happen with caps lock (not when I held down some other key while the app started).
FYI @dkwingsmt


no react 18 support

npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^16.0.0" from<EMAIL_ADDRESS>

Were you able to solve this issue? I was psyched to find this package today then my heart sank when I saw your issue. My app is built with React 18.0.0 of course. Any guidance is appreciated!

@sparker888 ,
I apologize that I don't recall what the resolution was, but I do have it working in my React 18 project.

I unfortunately don't have much time to maintain this project :disappointed:
However, I believe that a simple package.json update (+ check that everything works) should be enough here.
If some of you can try and make a pull request, I'll gladly integrate it in the project !

@xurei I can confirm it is working fine with React. 18.0.0 now


Added option to disable group size scaling. Closes 14982.

PDF link: https://github.com/mozilla/pdf.js/files/8829368/Tillamook-Market-Menu-04.04.22.pdf
Addresses this issue: https://github.com/mozilla/pdf.js/issues/14982
Solution context: https://github.com/mozilla/pdf.js/issues/14982#issuecomment-1472232511

Sorry, but I don't think that it's accurate to say that adding a new option actually fixes the referenced issue unfortunately.
The correct solution would be to either debug and fix the actual regression, or possibly even re-factor the relevant code along the lines in https://github.com/mozilla/pdf.js/issues/14982#issuecomment-1466141810.
Hence I really don't believe that it's a good idea to add a new API option to essentially work-around a still existing regression, since disabling this limit altogether may affect memory usage and general performance quite badly for some PDF documents on lower powered hardware.
Furthermore we also try to avoid adding options, which apply even more so to the viewer, which is are (effectively) unused and untested since that adds too much maintenance/support burden.


Ability to silence warnings (e.g. "Param does not appear in signature")

Is your feature request related to a problem? Please describe.
When building mkdocstrings-python with many classes (especially Pydantic classes) I get many warnings for:

Parameter 'param_name' does not appear in the function signature

Describe the solution you'd like
I'd very much like a way to silence this warning in particular. Probably a way to silence other warnings would be nice too.
That way I could run mkdocs in strict mode and check if it fails in CI.
Describe alternatives you've considered
Currently just dealing with it, and getting the console spammed. 😄
One possible other thing is to not create this warning when there are **kwargs, but I think most people would want it there by default anyways.
Additional context
I'd be fine with being able to silence just this warning. I assume Pydantic support isn't something that will be worked on (likely living in an extension to Griffe or something?), which is fine. On a longer-term scale, it would probably be something that would be configured through mkdocstrings.

It's now fixed, you should be able to use warn_unknown_params: false to disable these warnings :slightly_smiling_face:


Update README.md

Fix link to examples folder, make it point inside the sub-crate that matches the inline code.

Thank you!

Wow, you are so fast! I was trying to figure out how to fix the build :)

I was stuck in a boring meeting, you gave me something more fun to do! :)
As for the build I suppose we have to fix travis configuration to build each sub-crate separately but I haven't had the time to find out how. It's low priority but having "build: failed" in the README is annoying.


Can we listen to Bluetooth connect/disconnect event over a device?

Hello there!
As the title says, I'm asking whether is possible to listen to device connection disconnection event using flutter_blue, like if we were listening to a Stream.
Is it possible to achieve this behavior? I need to call a function when the selected Bluetooth device gets disconnected from the device.
Listening to whether it is in range or not is not ideal because I guess it could create miss triggers.
If is not possible to do it, here is my request.
Thank you!

Hi @sajunt4,
Had you got any solution for this?


make real installer image, as own package

Complete revamp of installer build.
This is a fairly large PR. Unfortunately, I could not really break it into multiple.
In the past, the installer and verifier were heavily duplicated, and did a lot of "ugly hacking" to start the usual rootfs and inject the right installer/verifier container in before others. It was brittle, and made redoing the installer terribly painful and changing a lot of things. Even changing unrelated things could break them.
This PR completely revamps that.
Now we have two main parts:

images/installer.yml.in, which builds a dedicated installer image, just like rootfs.yml.in
pkg/verifier, which is the container that does install and verify. This is included in installer.yml.in just like pkg/uefi or pkg/pillar are included in rootfs.yml.in

If you want to change how install works, or verification, or add a GUI or TUI, or options, or whatever, just change pkg/verifier and rebuild.
The only links between pkg/verifier and the outside are the "debug" options. The installer reads /proc/cmdline to determine if a certain setting is enabled, and if so, runs in debug mode and all of its output to the console. This is set in a grub menu option, which is in pkg/eve/installer/grub_installer.cfg.
Also redoes how grub files include each other. It was necessary to make all of the scenarios work, but is much cleaner.
Rather than getting pkg/eve/installer/grub.cfg to be called sometimes, and maybe accidentally overwrite the main grub.cfg, and worry about duplicate functions, etc., the main grub.cfg always is called, but it knows how to include grub_include.cfg. For installer images, that will be present, injected as part of installer.yml.in. We can expand this facility in the future if we need. But the execution chain is much simpler now. Always the same starting point of grub.cfg (whose source is pkg/grub/rootfs.cfg), and it knows to include others if they are found.
Running net installer locally over qemu, via make run-installer-net, used to extract the installer.net into the $(BUILD_DIR)/installer directory. That could (and did) overwrite existing things by accident, and then you worry about why future things won't run. Instead, it now creates a new dir $(BUILD_DIR)/netboot and boots from there.
Because verification image no longer exists, removed all of the references to it in Makefile.
Added docs, notably to pkg/installer/README.md and detailed the boot chain in docs/BOOT-INSTALLER.md. Hopefully no one will have to go through the weeks I went through to figure it all out.

I would ask no one to approve this until multiple people have commented. I think eden tests are a waste of resources until then.
@jsfakian has commented that he has tried it, and he thinks the installer might work on raw but not iso. Comment here please.

What does this mean in yetus errors?
  ./out has been created
  Modes: GitHubActions Robot InContainer ResetRepo UnitTests
  Processing: GH:4248
  GITHUB PR #4248 is being downloaded from
  https://api.github.com/repos/lf-edge/eve/pulls/4248
    JSON data at Thu Sep 12 11:29:42 AM UTC 2024
    Patch data at Thu Sep 12 11:29:43 AM UTC 2024
  ERROR: Unsure how to process GH:4248. Permissions missing?

@yash-zededa, could you please help to understand, why Yetus failed to run?

@yash-zededa, could you please help understand why Yetus failed to run?
Upd. Just restarting the workflow does not help =(

Just checked. GHA throws an error
ERROR: Unsure how to process GH:4248. Permissions missing?

@yash-zededa, could you please help understand why Yetus failed to run?
Upd. Just restarting the workflow does not help =(

Just checked. GHA throws an error
ERROR: Unsure how to process GH:4248. Permissions missing?

@yash-zededa, could you please help understand why Yetus failed to run?
Upd. Just restarting the workflow does not help =(

Just checked. GHA throws an error
ERROR: Unsure how to process GH:4248. Permissions missing?

@yash-zededa, could you please help understand why Yetus failed to run?
Upd. Just restarting the workflow does not help =(

Just checked. GHA throws an error
ERROR: Unsure how to process GH:4248. Permissions missing?

Yep, we saw it... But how come?

@yash-zededa, could you please help understand why Yetus failed to run?
Upd. Just restarting the workflow does not help =(

Just checked. GHA throws an error
ERROR: Unsure how to process GH:4248. Permissions missing?

Yep, we saw it... But how come?

Permission shouldn't be a problem. I've never encountered this error before. I'm looking into it to get more details.

The new docs and README files would be helpful to put into https://github.com/lf-edge/eve/blob/master/docs/mkdocs/mkdocs.yml, as the team members use it for easier documentation exploration.

Permission shouldn't be a problem. I've never encountered this error before. I'm looking into it to get more details

I think we saw it once before, but don't rely on my memory

Of course, now that I split it into 10 distinct commits, to make it easier to review and understand each one, lint commit complains about the short commit messages. If you put it together, like the original single commit, it is quite large and detailed. Now it is 10 small and detailed.
I am ignoring that complaint.

Is it ok? I ran make pkg/installer eve

I will check it.

Yup, CI caught the same thing. That is what it is there for 😄

Is it ok? I ran make pkg/installer eve

Yeah, good catch. The eve build is fine, but still assumes some older stuff is there. I will update it.

OK, this is going to take some work to get working with make eve. Just when you thought you were out of the woods!
It turns out that pkg/eve/runme.sh not only has lots of duplication of stuff from other builds, but assumes a lot about the internal structure.
Probably a day or so to figure this out.

OK, this is going to take some work to get working with make eve. Just when you thought you were out of the woods!
It turns out that pkg/eve/runme.sh not only has lots of duplication of stuff from other builds, but assumes a lot about the internal structure.
Probably a day or so to figure this out.

Ok, could we mark the PR as a draft for now? I review it with a lower priority then. Ok?

All of the relevant tests passed. Just the yetus (which we don't know what is wrong with it) and the commitlint (which is being difficult about ten distinct commits). This can go on to Eden, if someone wants to approve it.
I still want people to test it manually.

@deitch, FWIW, I could run make mini-yetus locally, there are some errors and lots of warnings (probably many of them were already there):
home/rene/eve-aux/pkg/grub/Dockerfile:66:5:hadolint: unexpected '-' expecting '\', at least one space, or only the --chown flag, the --chmod flag or the src and dest paths
home/rene/eve-aux/pkg/installer/Dockerfile:71:0:blanks:end of line
home/rene/eve-aux/pkg/installer/install:184:22:shellcheck: error: Argument mixes string and array. Use * or separate argument. [SC2145]
home/rene/eve-aux/pkg/installer/install:193:22:shellcheck: error: Argument mixes string and array. Use * or separate argument. [SC2145]
home/rene/eve-aux/pkg/installer/install:220:1:shellcheck: warning: IMGA_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/installer/install:221:1:shellcheck: warning: IMGB_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/installer/install:222:1:shellcheck: warning: CONF_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/installer/install:224:1:shellcheck: warning: INSTALLER_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/installer/install:225:1:shellcheck: warning: INSTALLBITS_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/installer/install:247:13:shellcheck: note: Use $(...) notation instead of legacy backticks `...`. [SC2006]
home/rene/eve-aux/pkg/installer/install:247:18:shellcheck: note: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. [SC2002]
home/rene/eve-aux/pkg/installer/install:259:9:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/install:260:22:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/install:260:47:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/install:293:0:blanks:end of line
home/rene/eve-aux/pkg/installer/spec.sh:117:15:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/spec.sh:117:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:121:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:122:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:125:15:shellcheck: warning: In POSIX sh, string indexing is undefined. [SC3057]
home/rene/eve-aux/pkg/installer/spec.sh:127:17:shellcheck: warning: In POSIX sh, string indexing is undefined. [SC3057]
home/rene/eve-aux/pkg/installer/spec.sh:146:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:281:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:292:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:294:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:301:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:306:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:307:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:308:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:309:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:311:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:313:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:316:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:318:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:320:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:322:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:324:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:325:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:336:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:338:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:344:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:347:9:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:57:19:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/spec.sh:57:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:71:19:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/spec.sh:71:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:72:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:90:19:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/spec.sh:90:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:91:23:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/installer/spec.sh:91:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:92:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:93:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/spec.sh:94:5:shellcheck: warning: In POSIX sh, 'local' is undefined. [SC3043]
home/rene/eve-aux/pkg/installer/src/tpmmgr/tpmmgr.go:895:2:revive: redundant if ...; err != nil check, just return error instead. https://revive.run/r#if-return
home/rene/eve-aux/pkg/installer/verify:105:9:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-iso-efi/Dockerfile:16:0:blanks:end of line
home/rene/eve-aux/pkg/mkimage-iso-efi/initrd.sh:12:19:shellcheck: note: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. [SC2002]
home/rene/eve-aux/pkg/mkimage-iso-efi/initrd.sh:19:18:shellcheck: note: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. [SC2002]
home/rene/eve-aux/pkg/mkimage-iso-efi/make-efi:84:88:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-iso-efi/README.md:11:0:blanks:end of line
home/rene/eve-aux/pkg/mkimage-iso-efi/README.md:11:9:markdownlint:MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
home/rene/eve-aux/pkg/mkimage-iso-efi/README.md:42:0:blanks:end of line
home/rene/eve-aux/pkg/mkimage-iso-efi/README.md:42:1:markdownlint:MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 4]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:291:9:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:292:13:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:292:40:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:293:5:shellcheck: note: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. [SC2181]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:310:13:shellcheck: note: Use $(...) notation instead of legacy backticks `...`. [SC2006]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:310:9:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:318:13:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:318:21:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:319:8:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:329:9:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:345:21:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:410:13:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:414:22:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:420:11:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:425:45:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:440:10:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:440:17:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:444:15:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:444:23:shellcheck: warning: Quote this to prevent word splitting. [SC2046]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:449:15:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:449:23:shellcheck: warning: Quote this to prevent word splitting. [SC2046]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:454:28:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:455:11:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:455:31:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:455:42:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:461:18:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:461:28:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:461:39:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:462:23:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:462:33:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:466:11:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:466:28:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:468:10:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:468:17:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:472:13:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:480:13:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:503:22:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:510:28:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:512:41:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:519:10:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:608:49:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:613:19:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:616:28:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:617:19:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:617:22:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:620:33:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:620:7:shellcheck: warning: CUR_SEC appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:621:38:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:622:37:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:628:25:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:633:25:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:642:36:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:643:29:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:644:34:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:645:29:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:646:29:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:647:28:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:648:29:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:649:32:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:650:38:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:651:33:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:659:11:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:699:35:shellcheck: warning: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. [SC2166]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:699:38:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:699:66:shellcheck: warning: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. [SC2166]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:699:6:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:700:12:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:701:37:shellcheck: warning: Don't use ls | grep. Use a glob or a for loop with a condition to allow non-alphanumeric filenames. [SC2010]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:702:15:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:702:9:shellcheck: warning: Remove surrounding $() to avoid executing output (or use eval if intentional). [SC2091]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:718:11:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:81:1:shellcheck: warning: VERIFICATION_IMG appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/mkimage-raw-efi/make-raw:91:1:shellcheck: warning: INITRD_IMG appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/mkrootfs-ext4/make-rootfs:33:26:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-ext4/make-rootfs:33:53:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:28:3:shellcheck: warning: ROOTFS_UUID appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:33:26:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:33:53:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:34:24:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:34:46:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:35:30:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:36:27:shellcheck: note: $/${} is unnecessary on arithmetic variables. [SC2004]
home/rene/eve-aux/pkg/mkrootfs-squash/make-rootfs:36:3:shellcheck: warning: ROOTFS_PART_SECTORS appears unused. Verify use (or export if used externally). [SC2034]
home/rene/eve-aux/tools/makenet.sh:16:21:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/tools/parse-pkgs.sh:15:8:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/tools/parse-pkgs.sh:64:8:shellcheck: note: Useless echo? Instead of 'echo $(cmd)', just use 'cmd'. [SC2005]
home/rene/eve-aux/tools/parse-pkgs.sh:64:8:shellcheck: warning: Quote this to prevent word splitting. [SC2046]
home/rene/eve-aux/tools/parse-pkgs.sh:74:14:shellcheck: note: Use $(...) notation instead of legacy backticks `...`. [SC2006]
home/rene/eve-aux/tools/parse-pkgs.sh:74:9:shellcheck: warning: Declare and assign separately to avoid masking return values. [SC2155]
home/rene/eve-aux/tools/parse-pkgs.sh:84:10:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/tools/parse-pkgs.sh:92:16:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]
home/rene/eve-aux/tools/parse-pkgs.sh:92:8:shellcheck: note: Double quote to prevent globbing and word splitting. [SC2086]

FWIW, I could run make mini-yetus locally, there are some errors and lots of warnings (probably many of them were already there

You are correct. My focus on this PR is moving everything that existed into a single location (install is copied over, spec.sh, etc.) and fixing the infrastructure and process for generating an installer image. To do so, I had to rework ipxe and grub in multiple places, etc.
All of those other things, 100% I can fix in this PR if issues comes up, even just lint-style.
I had to make changes to make-raw, make-efi, install, etc. just to get it to work. But minimal as I could.
So for any of those, as long as it works, I don't care too much. I certainly am not optimizing any of it in this PR. I am happy to put in a bit of effort to see if I can fix any of those, but that is it.
In any case, @jsfakian is planning on replacing them all.

I fixed about half of those Rene.

Am I right that no changes were introduced in the first two commits? Only moving files from different directories to a new one? I still cannot open the diff properly to understand what is happening there...

Sorry about that. I split it into 10 commits to make it readable. I'm not sure how to do it better.
The second commit just removes those two pkg/ directories: mkverification-raw-efi and verification
The first commit moves everything that was installer or verifier related out of those directories, as well as out of mkimage-raw-efi (had install script) and into the new pkg/installer/.
In principle, nothing changed in there, ie no functional changes. In practice, I had to change a few things:

Some script assumptions about where it was running to get it to work, ie fix what I broke by moving things
copy spec.sh into pkg/installer
copy the tpmmgr utility out of pillar into pkg/installer, and then simplify it so that it can run standalone and only has the needed functionality. Since the installer image has no pillar, it cannot reference those directly. And it was assuming a lot of brittle things about paths.

I think those were it.
So functionally not changed, but some moving around to make it work.
The best approach to the installer itself is to do actual testing. Right before closing down Friday, I ran the iso installer, raw installer, and net installer, each generating a new .img on a target install. I'll be checking those soon. I also believe @jsfakian is doing similar.
Finally, do Eden tests exercise installation?

Thanks for the clarification! I'll try to review it again now))

The second commit just removes those two pkg/ directories: mkverification-raw-efi and verification
The first commit moves everything that was installer or verifier related out of those directories, as well as out of mkimage-raw-efi (had install script) and into the new pkg/installer/.
In principle, nothing changed in there, ie no functional changes. In practice, I had to change a few things:

Some script assumptions about where it was running to get it to work, ie fix what I broke by moving things
copy spec.sh into pkg/installer
copy the tpmmgr utility out of pillar into pkg/installer, and then simplify it so that it can run standalone and only has the needed functionality. Since the installer image has no pillar, it cannot reference those directly. And it was assuming a lot of brittle things about paths.

I think those were it.
So functionally not changed, but some moving around to make it work.

I would be very grateful if you could include it in the respective commit messages =)

You mean for those two commits? Yeah that's a good idea

You mean for those two commits? Yeah that's a good idea

Yes, exactly)

Done. Good idea @OhmSpectator , thanks for suggesting it.

I rebased on latest master, that cleaned up the SPDX license complaint issue.
Yetus: still failing to run properly. I did run mini-yetus locally, the only thing it really complained about is that it does not recognize ADD --keep-git-dir in pkg/grub/Dockerfile, which indicates that yetus's dockerfile rules are out of date, so ignoring.
lint commit: still complaining about these commits, when some of them really are one-liners

Just for you, I made all of the commit messages extended and detailed.

Just for you, I made all of the commit messages extended and detailed.

Thanks a lot! ) From me and from the developers who will learn the code later =)

And me, when I look back in three months and ask, "what did it do?!?"

I have tested the RP with the latest changes and do not see issues with RAW, ISO, or NET installer images.

Can we get some more comments on it? And if none, then an approval so eden runs?

How do I get the eden tests to run again?

How do I get the eden tests to run again?

I reapproved to trigger the tests again.

I don't understand this part:

pkg/verifier, which is the container that does install and verify. This is included in installer.yml.in just like pkg/uefi or pkg/pillar are included in rootfs.yml.in

What is the impact on the verifier image? Will that be included in the installer image?
The verifier might include  guest VM images, hence can be significantly larger than the EVE installer image.

I'm not sure what that means.  Tons of duplication. I dug into the code and that's what I saw. So I merged them.
What does "verification image plus guest VMs" mean? It didn't fit with anything I saw?

I'm not sure what that means.  Tons of duplication. I dug into the code and that's what I saw. So I merged them.
What does "verification image plus guest VMs" mean? It didn't fit with anything I saw?

@eriknordmark, @deitch, Initially, with the verifier, I wanted to include various tests with guest VMs with different parameters. To achieve that, I included a small Ubuntu image (~250 MB) in the verifier. This caused some problems with the verification process, and I temporarily removed that Ubuntu image. So, Erik asks what we are going to do if we decide to add guest images to the verifier in the future (which is now the same as the installer). Are we okay with having a huge installer image?
My idea was to add a very small Alpine VM (~10MB), which would be okay. What do you think?

My idea was to add a very small Alpine VM (~10MB), which would be okay. What do you think?

To my mind, that would be fine. Minimal impact.
We aren't going to start having dozens of different verifier images, nor one with 20 VMs in it, making it many GBs of size. So either it will be static and small with no VMs (or 1-2 really small ones, like @jsfakian said), or dynamic, which will pull things down from somewhere (Internet? attached drive?), which means a whole new design for verifier than what we have today.
Either way, we should be fine with this.

@OhmSpectator it doesn't look to me like eden tests ran?

@OhmSpectator it doesn't look to me like eden tests ran?

strange... @yash-zededa, can you check, please?

I tried rerunning it manually by selecting, "run all jobs" (i.e. those that were skipped), it does another run, but immediately says, "this job was skipped", not clear why, though.

I tried rerunning it manually by selecting, "run all jobs" (i.e. those that were skipped), it does another run, but immediately says, "this job was skipped", not clear why, though.

I think that's because of Yetus failure....

@deitch , have you opened the ticket on LF's Jira for the creation of pkg/installer at dockerhub? We need to have this repository in place before merging.....

installer booting and overall process is much clear now

and documented. Funny, that is what I am most proud of.

and I hope it can solve the installation for RPi (didn't test it yet)

If not, we can focus on fixing it just on a small part.

have you opened the ticket on LF's Jira for the creation of pkg/installer at dockerhub?

Yup, all done yesterday. Docker Hub repo in place.

Rate pull limits!

eden is happy! Can we get request for changes, or approval (written) so we can merge?

@deitch , thanks for this hard work, the installer booting and overall process is much clear now... and I hope it can solve the installation for RPi (didn't test it yet)....

@rene will you test the RPi installation before we merge this?

@deitch , thanks for this hard work, the installer booting and overall process is much clear now... and I hope it can solve the installation for RPi (didn't test it yet)....

@rene will you test the RPi installation before we merge this?

@eriknordmark , we will test it tomorrow, if you want to wait, I can merge it if everything works....

Yeah let's wait the extra day.

Tested on:

Pollux board
Raspberry Pi 4

Thanks @christoph-zededa for the help :+1:


Use of the term "temporal geometry"

I did a search on "temporal geometry". Basically, all the top results have to do with music. For example, Temporal Geometry is a manufacturer of Royalty Free sample libraries for use in film, games, motion graphics and computer based music ...
The next set of "hits" was related to deep learning and facial recognition.
Yes, "temporal geometry" is used in 19108 and GML. After also searching mathematics and temporal geometry, what the heck is temporal geometry and is this the correct term we should be using? Or is it some strange OGC/ISO twist resulting in things like: A common way to store temporal points in PostGIS is to represent them as geometries of type LINESTRING M and abuse the M dimension to encode timestamps as seconds since 1970-01-01 00:00:00. These time-enhanced geometries, called trajectories, can be validated with the function ST_IsValidTrajectory to verify that the M value is growing from each vertex to the next.
At the very least, the use of the term in JSON-FG should be well defined. Or, perhaps, the correct usage is that time is a property of a geometry?

The use of "temporal geometry" is mainly driven by Topic 2 where a CRS can be spatial, temporal or a combination. A geometry in ISO 19107, e.g. a Point or a Curve, is also no longer restricted to spatial axes, but can also include a temporal axis. And - as pointed out - ISO 19108 and GML also use the terminology of geometry and topology for time.
But even if the use would be correct with respect to the OGC baseline, it should not be confusing to readers that are not familiar with the OGC and ISO standards. Maybe we should use "geometry" only for spatial, drop the use of "temporal geometry" and include definitions for the temporal terms/concepts that we use?

Meeting 2022-01-22: Agreement to not use "temporal geometry". @cportele will create a PR and also look for other terms that are very "OGCish".
What should we do with "feature"? The term is at least known by everyone that is familiar with GeoJSON.


Refactor the email regular expression and test.

So that email addresses with .online on the end are valid.

@Rocks360 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Looks perfect! Now let's wait for CI to build it and I'll merge that. Thanks a lot @Rocks360 and congratulations on your contribution !! :D

Yes, it is my first one :)

Remember to sign the Contributor License Agreement!

I think your changes broke some other tests...
ERROR] org.springframework.cloud.contract.verifier.dsl.WireMockGroovyDslSpec.should generate stub properly resolving GString with regular expression(org.springframework.cloud.contract.verifier.dsl.WireMockGroovyDslSpec)
[ERROR]   Run 1: WireMockGroovyDslSpec.should generate stub properly resolving GString with regular expression:1360<EMAIL_ADDRESS>=~ /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/)]]
Expected: a JSON object
     but none found
<EMAIL_ADDRESS>=~ /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/)]]
Unexpected: a JSON object

[INFO]
[ERROR]   WireMockGroovyDslSpec.should generate stub without optional parameters:1441<EMAIL_ADDRESS>=~ /([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})?/)]]
Expected: a JSON object
     but none found
<EMAIL_ADDRESS>=~ /([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})?/)]]
Unexpected: a JSON object

Yes I see I only run the test of the spring-cloud-contract-spec. I will update the failing test as well. But have still some errors project setup errors in STS.

Yeah :/ @dsyer do you have any hints on how to use STS and Spring Cloud Contract (groovy) ?

I will use IntelliJ IDEA. I guess it is less complicated than set up the project with STS.

Done in https://github.com/spring-cloud/spring-cloud-contract/pull/371


Line chart value's color is not applying.

I am trying to add different colors at different value points of the bar chart. It gives me below chart ``

It is working fine and give different bar colors with the following code
var PptxGenJS = require("pptxgenjs");
var pptx = new PptxGenJS();
pptx.setLayout('LAYOUT_WIDE');
var slide = pptx.addNewSlide();
var MONS = ['Jan','Feb','Mar','Apr','May','Jun'];
var dataChartLine = [{ name: 'Proj Sales', valAxisTitleRotate:50, labels: MONS, values: [1000, 2600, 3456, 4567, 5010, 6009] }];

var optsChartBar = { x:1, y:1, w:12, h:6,
  showCatAxisTitle: true,
  valAxisTitleRotate: 60,
  catAxisLabelColor   : 'CC0000',
  catAxisLabelRotate   : 60,
  catAxisTitle: "Housing Type",
  catAxisTitleRotate: 60,
  showLabel:true,
  showLegend: true,
  chartColors:['653328','8DA20D','312A28','4F64A5','030818','0088CC']
}
slide.addChart( pptx.charts.BAR, dataChartLine, optsChartBar);
pptx.save('Demo-Chart');

But when I change chart type to LINE using pptx.charts.LINE it doesn't add different colors of different value points(like bar chart) but shows only one color to all value point. Like this :-

Looking through the code it seems like it is some how of an intended behavior. Seems like different color of different values is designed to work for bar charts only:
PptxGenJS/dist/pptxgen.js
Lines 2691 to 2695 in e4c4602
// Color chart bars various colors
// Allow users with a single data set to pass their own array of colors (check for this using != ours)
if ( chartType == 'bar' && ( data.length === 1 || opts.valueBarColors ) && opts.chartColors != BARCHART_COLORS ) {
// Series Data Point colors
obj.values.forEach(function(value,index){
......
..
Where as for line chart it does not allow array to set colors,
PptxGenJS/dist/pptxgen.js

Please check this and let me know if any other information is needed.

Does PowerPoint support varying colors along a single line like what you're asking for?

Does PowerPoint support varying colors along a single line like what you're asking for?

yes, i think it does. Is there a way to do so through this lib?


Adds units to rule messages

Which issue, if any, is this issue related to?

Closes #42

Is there anything in the PR that needs further explanation?

Added units to the message output upon rule breaking.

Super helpful, thank you! 🥳


Telegram TdLib Auto Logout After Login

I logged in to telegram via Telegram.td.dll. I didn't make any transaction/request after logging in. And telegram logged out/destroyed session on all my devices in less than 30 seconds. Does anyone know the problem and solution based on the log I got?
[ 3][t 5][1725784552.887528896][ConnectionCreator.cpp:958][#1][!PingActor<[<IP_ADDRESS>:80] to DcId{1} from [<IP_ADDRESS>:65093]>][&connections]	Ready connection (checked) 0000019A02A02390 [rtt:284.4ms] [<IP_ADDRESS>:80] to DcId{1} from [<IP_ADDRESS>:65093]
[ 3][t 5][1725784552.887563228][ConnectionCreator.cpp:1011][#1][!ConnectionCreator][&connections]	Add ready connection 0000019A02A02390 for [client:0xc50dc335]
[ 3][t 5][1725784552.887570381][ConnectionCreator.cpp:820][#1][!ConnectionCreator][&connections]	In client_loop: [client:0xc50dc335]
[ 3][t 5][1725784552.887576341][ConnectionCreator.cpp:836][#1][!ConnectionCreator][&connections]	Send to promise [connection:0000019A02A02390]
[ 3][t 5][1725784552.887584686][Session.cpp:1298][#1][!Session:1:main]	Finished to open connection Session:1:main::Connect::TCP::[<IP_ADDRESS>:80] to DcId{1} from [<IP_ADDRESS>:65093]
[ 3][t 5][1725784552.887591361][SessionConnection.cpp:853][#1][!Session:1:main]	Set need_destroy_auth_key to true
[ 4][t 5][1725784552.887596368][SessionConnection.cpp:782][#1][!Session:1:main]	Set online to true
[ 4][t 5][1725784552.887615680][AuthData.cpp:122][#1][!Session:1:main]	Create identifier for message 0x66dd61e6dc1176dc at<PHONE_NUMBER>69
[ 4][t 5][1725784552.887627840][AuthData.cpp:122][#1][!Session:1:main]	Create identifier for message 0x66dd61e6dc11954c at<PHONE_NUMBER>81
[ 4][t 5][1725784552.887634992][AuthData.cpp:122][#1][!Session:1:main]	Create identifier for message 0x66dd61e6dc193bb4 at<PHONE_NUMBER>89
[ 4][t 5][1725784552.887641668][AuthData.cpp:122][#1][!Session:1:main]	Create identifier for message 0x66dd61e6dc193c7c at<PHONE_NUMBER>95
[ 4][t 5][1725784552.887696504][BufferedFd.h:215][#1][!Session:1:main]	Flush write: +156B[left:0B]
[ 4][t 5][1725784552.887703895][SessionConnection.cpp:1141][#1][!Session:1:main]	Last pong was in 0.000090/433192.027258, last read was in 0.000090/433192.027258, RTT = 2.000000, ping timeout = 5.000000, read timeout = 7.000000, flush packet in 1.999911, wakeup in 1.999911
[ 4][t 5][1725784552.906661510][BufferedFd.h:206][#1][!PingActor<[<IP_ADDRESS>:443] to DcId{1} from [<IP_ADDRESS>:65092]>]	Flush read: +184B[total:184B]
[ 4][t 5][1725784552.906736850][BufferedFd.h:140][#1][!PingActor<[<IP_ADDRESS>:443] to DcId{1} from [<IP_ADDRESS>:65092]>]	Nothing to write to [fd:000000000000074C]
[ 3][t 5][1725784552.906759977][ConnectionCreator.cpp:958][#1][!PingActor<[<IP_ADDRESS>:443] to DcId{1} from [<IP_ADDRESS>:65092]>][&connections]	Ready connection (checked) 0000019A02A02050 [rtt:288.7ms] [<IP_ADDRESS>:443] to DcId{1} from [<IP_ADDRESS>:65092]
[ 3][t 5][1725784552.906905174][ConnectionCreator.cpp:1011][#1][!ConnectionCreator][&connections]	Add ready connection 0000019A02A02050 for [client:0xc50dc335]
[ 3][t 5][1725784552.906922101][ConnectionCreator.cpp:820][#1][!ConnectionCreator][&connections]	In client_loop: [client:0xc50dc335]
[ 3][t 5][1725784552.906929016][ConnectionCreator.cpp:996][#1][!ConnectionCreator][&connections]	[client:0xc50dc335] set timeout in 9.999998
[ 4][t 5][1725784553.040274858][BufferedFd.h:206][#1][!PingActor<[<IP_ADDRESS>:5222] to DcId{1} from [<IP_ADDRESS>:65094]>]	Flush read: +116B[total:116B]
[ 3][t 5][1725784553.040396213][RawConnection.cpp:95][#1][!PingActor<[<IP_ADDRESS>:5222] to DcId{1} from [<IP_ADDRESS>:65094]>]	Send handshake packet:
00000000 00000000 00000001 00000000 00000020 be7e8ef1 08d3df6e 93a967bb ca36545f 4f2c9783 2dc10e76 e5fabebd b4087389
[ 4][t 5][1725784553.040448665][BufferedFd.h:215][#1][!PingActor<[<IP_ADDRESS>:5222] to DcId{1} from [<IP_ADDRESS>:65094]>]	Flush write: +56B[left:0B]
[ 4][t 5][1725784553.040464401][BufferedFd.h:140][#1][!PingActor<[<IP_ADDRESS>:5222] to DcId{1} from [<IP_ADDRESS>:65094]>]	Nothing to write to [fd:0000000000000708]
[ 4][t 5][1725784553.169119358][BufferedFd.h:206][#1][!Session:1:main]	Flush read: +8B[total:8B]
[ 4][t 5][1725784553.169243574][RawConnection.cpp:124][#1][!Session:1:main]	Close raw connection 0000019A02A02390
[ 2][t 5][1725784553.169302225][Session.cpp:643][#1][!Session:1:main]	Session connection was closed, because main auth_key has been successfully destroyed
[ 2][t 5][1725784553.169392585][AuthDataShared.cpp:118][#1][!Session:1:main]	DcId{1} [auth_key_id:0][state:Empty][created_at:0][last_used:1725901401]
[ 3][t 5][1725784553.169437408][SessionProxy.cpp:192][#1][!SessionProxy:1:main]	Close session from update_auth_key_state
[ 4][t 5][1725784553.169460535][RawConnection.cpp:36][#1][!Session:1:main]	Destroy raw connection 0000019A02A02390
[ 4][t 5][1725784553.169472694][SessionConnection.cpp:1127][#1][!Session:1:main]	Close session because of an error
[ 2][t 5][1725784553.169489145][Td.cpp:3312][#1][!Td]	Destroy Td in state 1
[ 3][t 1][1725784553.169491767][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#0]	Close session from update_auth_key_state
[ 4][t 5][1725784553.169512033][Session.cpp:351][#1][!Session:5:main]	Set logging out flag to true
[ 3][t 1][1725784553.169577598][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#1]	Close session from update_auth_key_state
[ 3][t 1][1725784553.169656515][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#2]	Close session from update_auth_key_state
[ 3][t 5][1725784553.169658184][TdDb.cpp:260][#1][!Td]	Flush all databases
[ 3][t 1][1725784553.169668197][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#3]	Close session from update_auth_key_state
[ 3][t 1][1725784553.169740438][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#4]	Close session from update_auth_key_state
[ 3][t 1][1725784553.169751405][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#5]	Close session from update_auth_key_state
[ 3][t 1][1725784553.169763088][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#6]	Close session from update_auth_key_state
[ 3][t 5][1725784553.169770002][Session.cpp:506][#1][!Session:1:main]	Close session (external)
[ 4][t 5][1725784553.169830560][Td.cpp:3158][#1][!Td]	Decrease request actor count to 0
[ 3][t 5][1725784553.169849157][Td.cpp:3187][#1][!Td]	Clear Td
[ 3][t 5][1725784553.169865369][NotificationManager.cpp:1391][#1][!Td][&notifications]	Flush all pending notification updates with delayed chats from destroy_all_notifications
[ 3][t 1][1725784553.169774532][SessionProxy.cpp:192][#1][!SessionProxy:1:upload#7]	Close session from update_auth_key_state
[ 3][t 5][1725784553.169944286][NotificationManager.cpp:1407][#1][!Td][&notifications]	Flush pending updates in 0 notification groups
[ 3][t 2][1725784553.169879674][MessageDb.cpp:1180][#1][!MessageDbActor]	MessageDb flushed
[ 3][t 1][1725784553.170035362][SessionProxy.cpp:192][#1][!SessionProxy:1:download#0]	Close session from update_auth_key_state
[ 3][t 5][1725784553.170039892][NotificationManager.cpp:4302][#1][!Td][&notifications]	Update unreceived notification count with diff -1 to 0 from group 0 and destroy_all_notifications
[ 3][t 1][1725784553.170188426][SessionProxy.cpp:192][#1][!SessionProxy:1:download#1]	Close session from update_auth_key_state
[ 3][t 5][1725784553.170218706][NotificationManager.cpp:4279][#1][!Td][&notifications]	Send updateHavePendingNotifications { have_delayed_notifications = false have_unreceived_notifications = false }
[ 3][t 1][1725784553.170227289][SessionProxy.cpp:192][#1][!SessionProxy:1:download_small#0]	Close session from update_auth_key_state
[ 3][t 2][1725784553.170170783][DialogDb.cpp:429][#1][!DialogDbActor]	DialogDb flushed
[ 4][t 5][1725784553.170249223][Td.cpp:3201][#1][!Td]	Handlers were cleared in 387.4us
[ 3][t 1][1725784553.170257329][SessionProxy.cpp:192][#1][!SessionProxy:1:download_small#1]	Close session from update_auth_key_state
[ 3][t 2][1725784553.170301437][StoryDb.cpp:512][#1][!StoryDbActor]	StoryDb flushed
[ 4][t 5][1725784553.170357704][Session.cpp:532][#1][!Session:5:main]	HANGUP
[ 3][t 5][1725784553.170373678][Session.cpp:506][#1][!Session:5:main]	Close session (external)

The server decided that your account was stolen. There is no way to avoid this from the app side.

I use a Telegram account on my mobile phone. If I use TdLib, is it that I can't use it on my mobile phone or Telegram Web? I checked that the devices connected to Telegram are only from my mobile phone and the TdLib application or Web, there are no other devices besides the one I use.
If I use the development environment telegram server this problem does not occur.

recently i have got automatically logged out from one of my account from all sessions ( desktop, mobile app ) unfortunately i dont have access to phone number i lost my account forever. Telegram team is helpless on such issues.

@FlexAmigo You can use Telegram on multiple devices simultaneously. There are no restirctions.

recently i have got automatically logged out from one of my account from all sessions ( desktop, mobile app ) unfortunately i dont have access to phone number i lost my account forever. Telegram team is helpless on such issues.

Try logging back in 24 hours after being banned. Previously I also felt that my account was banned because of testing TdLib in a production environment where my application was not ready. The next day I tried to log in and it worked.

@FlexAmigo You can use Telegram on multiple devices simultaneously. There are no restirctions.

@levlam So the session disconnection on all devices that I experienced before means it is not because my account was used / hacked by someone. But maybe there is something lacking in the application. And I think the TdLib (Debug) log does not provide clear information why my application can automatically log out on all devices. While in the development environment it runs smoothly and there are no obstacles. Are there any other ideas / solutions to find out the cause of my account being automatically logged out after the TdLib I use is online and experiences obstacles?

There is no way to find the cause of the account being logged out.

@levlam What is the difference between development environment and production environment? Why does the application run well in the development environment while in the production environment it always logs out? I have not found a solution to this problem. What I am worried about is that the problem is not in my application, but in the TdLIb compilation results where I cannot debug. I am using C# Net Core version 8 (Windows Form) and C# Net Framework 4.8.1. I have tried using TdLIb version 1.8.33 and 1.8.36 and found the same issue.

Server logs out or bans account if a suspicious behavior was detected. There is no way to avoid this.

@levlam What is the difference between development environment and production environment? Why does the application run well in the development environment while in the production environment it always logs out? I have not found a solution to this problem. What I am worried about is that the problem is not in my application, but in the TdLIb compilation results where I cannot debug. I am using C# Net Core version 8 (Windows Form) and C# Net Framework 4.8.1. I have tried using TdLIb version 1.8.33 and 1.8.36 and found the same issue.

@FlexAmigo  have you found any solution to this problem? Did changing any specific configuration or implementation details help resolve the issue?
I've noticed this only happens in the production environment, which aligns with your experience. Would be great to know if you've discovered any workarounds or if there's any specific setting that needs to be adjusted when moving from development to production.


Add support for UNION sql

Which issue does this PR close?
Closes #998
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

Some tests may be not passed, I will fix them tomorrow. And maybe I also need to add a test for UNION.

@xudong963 thanks for opening this PR! I have some comments on the current approach / direction, let me know what you think.

thanks for opening this PR! I have some comments on the current approach / direction, let me know what you think.

@Dandandan  Dan Dan, I agree with your idea https://github.com/apache/arrow-datafusion/issues/998#issuecomment-922975719. After I finished the current approach, I also feel it badly. Thanks for your comments and guides, I will try the PR with  https://github.com/apache/arrow-datafusion/issues/998#issuecomment-922975719.  💪🏻

thanks for opening this PR! I have some comments on the current approach / direction, let me know what you think.

@Dandandan Dan Dan, I agree with your idea #998 (comment). After I finished the current approach, I also feel it badly. Thanks for your comments and guides, I will try the PR with #998 (comment). 💪🏻

No problem! Thanks for trying and looking forward to the next iteration 👍

I ended my disgusting 24-hour on-call. My one-week holiday is coming, I'll be absorbed in this PR!

Close the PR, the new is https://github.com/apache/arrow-datafusion/pull/1068


It would be nice to pretty-print a Wallaby.Element

Right now I can do this if I pipe it and get the outerHTML:
some_element
|> Element.attr("outerHTML")

but it's not so pretty :) Would be neat to get a nice output of "what exactly did I grab here?" for debugging purposes. Only added this issue because @PragTob suggested it, otherwise I'd feel like I was piling on personal wishlist features :)

This issue helped me a lot with debugging.
I had a test with assert_has(css("some_selector")) that was failing, and I wanted to figure out why.
I tried using take_screenshot/1 to see the page, but it appeared that the element I wanted had been rendered.
I tried using page_source/2 to see the HTML, but that showed me the page before JavaScript did any DOM manipulation, and I was looking for something it would create.
Finally, I stumbled on this issue and figured out I could see the DOM as modified by JavaScript by using:
File.write("/tmp/the_page.html", Element.attr(find(session, css("body")), "outerHTML"))

Inspecting that output showed me what I was asserting incorrectly.
I'm going to hang on to this trick, but it might be nice to have a more straightforward way to inspect the current DOM.

One solution for this would be to use the inspect protocol. I'm not sure how I feel about having side-effects in there or if the results would end up being surprising to folks. Otherwise we could have something like Element.inspect/1. What do y'all think?

Definitely no side effects in the inspect protocol please. A separate function to inspect elements is highly preferred to my mind :)

@keathley Not sure if this fits within take_screenshot/1 or not, but it would be great to have an option to save the output as an HTML file. The image works well for visually seeing if the elements are there, but there are many times when I want to inspect the HTML structure.

@johnmosesman I think it should be a different function call, like dump_html or whatever. I have a helper function somewhere to at least print it for myself :)

I've added this to my FeatureCase:
using do
  quote do
    use Wallaby.DSL

    alias Mealthy.Repo
    import Ecto
    import Ecto.Changeset
    import Ecto.Query

    import Mealthy.Factory
    import Mealthy.Web.Router.Helpers

    def dump_html_to(session, filename) do
      File.write(
        filename,
        Wallaby.Element.attr(
          find(session, Wallaby.Query.css("html")),
          "outerHTML"
        )
      )
      session
    end
  end
end

I use it like:
session
    |> dump_html_to("/tmp/awesome.html")
    |> assert_has(css("h1", text: "Something Awesome"))

@keathley That would be great to have both the HTML and image screenshot on error so that debugging is easier.

I'm going to take a look at this. Was there a direction that was settled on? I feel like the Element.inspect path is a solid choice.

Lets start there and get the functionality working. We can always update the name later if need be.


Fix #322 Make camel-attachments an optional dependency of platform-http

7dce10b Added the since versions fix

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/311/

d0e1398 a dummy change to restart the CI

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/312/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/310/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/313/

The PR https://builds.apache.org/job/camel-quarkus-pr/313/
passed

@lburgazzoli is this good to merge now?

Spotted a couple of missing license headers.

My understanding is that as long as the PR CI does not enforce the license headers they are optional for common commits. They are only required for releases.

Spotted a couple of missing license headers.

My understanding is that as long as the PR CI does not enforce the license headers they are optional for common commits. They are only required for releases.

Please add the ASF license headers. They are optional if nobody spotted them, someone spotted them (thanks @jamesnetherton ) and it's better to add them, instead of having to add a bunch of license headers during the release process.

So, when we find codestyle or missing headers, it always better to fix the situation at the moment, otherwise we could forget about it

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/314/Build result: FAILURE[...truncated 1.05 MB...]    at java.lang.reflect.Method.invoke (Method.java:498)    at hudson.maven.Maven3Builder.call (Maven3Builder.java:139)    at hudson.maven.Maven3Builder.call (Maven3Builder.java:70)    at hudson.remoting.UserRequest.perform (UserRequest.java:212)    at hudson.remoting.UserRequest.perform (UserRequest.java:54)    at hudson.remoting.Request$2.run (Request.java:369)    at hudson.remoting.InterceptingExecutorService$1.call (InterceptingExecutorService.java:72)    at java.util.concurrent.FutureTask.run (FutureTask.java:266)    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624)    at java.lang.Thread.run (Thread.java:748)[ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :camel-quarkus-docschannel stoppedAdding one-line test results to commit status...Setting status of da06f3fb9d4221a7bcc15bbcc056b605ee12798b to FAILURE with url https://builds.apache.org/job/camel-quarkus-pr/314/ and message: 'FAILURE 123 tests run, 4 skipped, 0 failed.'Using context: default

Fixed the missing license headers and added more platform-http tests in d391f4f

I cannot stand the feeling that checking the style manually is wasting of time of both reviewers and PR authors. Yes, I can alias my maven to do the checks locally, but due to that, I'll just end up fixing someone else's style violations, because non-compliant code is commonly committed. I vote for everybody fixing these little things before submitting and the default Maven build and CI enforcing them. That would be less work for both PR authors and reviewers.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/315/Build result: FAILURE[...truncated 1.40 MB...]    at sun.reflect.GeneratedMethodAccessor220.invoke (Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke (Method.java:498)    at io.quarkus.deployment.ExtensionLoader$1.execute (ExtensionLoader.java:940)    at io.quarkus.builder.BuildContext.run (BuildContext.java:415)    at org.jboss.threads.ContextClassLoaderSavingRunnable.run (ContextClassLoaderSavingRunnable.java:35)    at org.jboss.threads.EnhancedQueueExecutor.safeRun (EnhancedQueueExecutor.java:2011)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask (EnhancedQueueExecutor.java:1535)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run (EnhancedQueueExecutor.java:1426)    at java.lang.Thread.run (Thread.java:748)    at org.jboss.threads.JBossThread.run (JBossThread.java:479)[ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :camel-quarkus-integration-test-corechannel stoppedAdding one-line test results to commit status...Setting status of 7dce10b73b996e297c703b652c57b640b8f32aa8 to FAILURE with url https://builds.apache.org/job/camel-quarkus-pr/315/ and message: 'FAILURE 70 tests run, 2 skipped, 0 failed.'Using context: default

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/316/Failed Tests: 1camel-quarkus-pr/org.apache.camel.quarkus:camel-quarkus-integration-test-platform-http: 1org.apache.camel.quarkus.component.http.server.it.PlatformHttpIT.encoding

0f30536 fixed the failing encoding test in the native mode.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/319/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/320/

The Jenkins nodes without Maven feel like Russian roulette :-/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/323/Build result: FAILURE[...truncated 1.39 MB...]    at sun.reflect.GeneratedMethodAccessor219.invoke (Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke (Method.java:498)    at io.quarkus.deployment.ExtensionLoader$1.execute (ExtensionLoader.java:940)    at io.quarkus.builder.BuildContext.run (BuildContext.java:415)    at org.jboss.threads.ContextClassLoaderSavingRunnable.run (ContextClassLoaderSavingRunnable.java:35)    at org.jboss.threads.EnhancedQueueExecutor.safeRun (EnhancedQueueExecutor.java:2011)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask (EnhancedQueueExecutor.java:1535)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run (EnhancedQueueExecutor.java:1426)    at java.lang.Thread.run (Thread.java:748)    at org.jboss.threads.JBossThread.run (JBossThread.java:479)[ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :camel-quarkus-integration-test-corechannel stoppedAdding one-line test results to commit status...Setting status of c13bf454d3bc0b00d5bb861ae4d402e7fd1958bc to FAILURE with url https://builds.apache.org/job/camel-quarkus-pr/323/ and message: 'FAILURE 76 tests run, 3 skipped, 0 failed.'Using context: default

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/324/

The CI passed finally. Is this good to merge?

5a40b6f addressed the comments of @lburgazzoli

ok to test


Block edge 4.4.29

4.4.29 needs to be disabled:
2 clusters currently failing (18%),  1 gone ( 9%),and  8 successful (73%), out of 11 who attempted the update over 7d
Currently failing classification:
* UPI router degraded: 1
* Untriaged: 1

4.4.29 can be enabled again:
1 clusters currently failing (11%),  0 gone ( 0%),and  8 successful (89%), out of  9 who attempted the update over 7d
Currently failing classification:
* UPI router degraded: 1

4.4.29 can be enabled again:
1 clusters currently failing (11%),  0 gone ( 0%),and  8 successful (89%), out of  9 who attempted the update over 7d
Currently failing classification:
* UPI router degraded: 1


Pipeline Support datagen node

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.03 seconds
load time: 433 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221205142118_clickbench_pr_58086.html


Create Advanced Template

Template should have correct transitions, when using the join or create room button, and the basic video page should be improved, with more efficient spacing.

issued #8 addressed. + 100 pts.


Can we open an issue for implementing in-build autosuggest with redux-form

In my recent project I had a need for implementing one of the fields as auto suggest.
While Redux-form is superbly good with other form related actions, integrating a plain auto-suggest with a simple validation  requires importing a couple of 3rd part modules / or if you want to integrate your know auto-suggest then that too comes at a cost of 100s of healthy hair.
My suggestion is why not implement an in-build autosuggest with Redux-form

Visual components do not belong into Redux Form core project.
Thanks for using Redux Form!


Custom Functions not working from yo office script.

Expected behavior
Custom functions to successfully calculate.
Current behavior
#BUSY never goes away.  Excel eventually produces an Add-In Error claiming:
"This Add-in could not be started.  Close this dialog to ignore the problem, or click "Restart" to try again."
Restarting
Steps to Reproduce
Please provide detailed steps for reproducing the issue.

yo office
Select Custom functions, JavaScript
npm run build
npm run start
Attempt to run a CONTOSO function

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Operating System: Win 10
Node version: 14.10
Excel version: 2011 (Build 13426.20332 Click-to-Run)
Tool version:

Failure Logs
RuntimeLog.txt

I believe this issue spans more than just the Office-Addin-Scripts.  The scripts themselves seem to be working, however this seems more of an issue with Office-JS or Excel itself.  I'll close this with the intention of opening a new issue there.


Download from Dashboard to allow download of source Query in some form [Enhancement]

When downloading from a table in a dashboard, it would have value to allow a user to specify that the source query for the table to be also downloaded in the 'Download Options' selection pop-up. The benefit is that if such data is offered to a external party, the search criteria is also offered at the same time in the same file.
In the case of exporting to Excel file type, it's recommended one export the query in some human readable form to a second tab of the excel file.
In the case of exporting to CSV/TSV file type, it's recommended one export to the query in some human readable form to a set of lines at the start of the CSV/TSV file with each line prefixed by a '#' character inferring the query is a 'comment'.

@burnalting  in v6 you can download the Query as JSON by pressing the download icon on the Query pane.
Is this enough to close this issue?

The preference is to have a single download process, rather than three steps which  I believe you are suggesting

Download data
Download query
Merge two manually

That said, if the Excel/CSV/TSV export function being used does not support downloading into multiple tabs, then so be it.


Travis CI broken again?

@yurydelendik looks like Travis doesn't run npm test anymore again, for example see https://travis-ci.org/github/wasdk/wasmparser/builds/696495499 from my latest PR.

I think it fixed itself. Please confirm.

Doesn't seem to be fixed, for example see https://travis-ci.org/github/wasdk/wasmparser/builds/696721647 from my latest push.

Interestingly Travis logs this line
Skipping the script step, as specified in the configuration.

:tada: This issue has been resolved in version 2.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Narrows return type for sign and signAsync in definition file

Follow-up to 7f4621331086e915b440a1d8d06cc734d3ceabaf (#101)

commited manually


[Issue]: Code executor Documentation Error

Describe the issue
In this doc:  https://microsoft.github.io/autogen/docs/tutorial/code-executors
This code below failed with error attached:
import os
print(os.listdir(temp_dir))
We can see the output scatter.png and the code file generated by the agent.

Simple fix:
print(os.listdir(temp_dir.name))
Steps to reproduce
No response
Screenshots and logs
No response
Additional Information
No response

Thanks! Would you like to submit a PR to fix it?

I experienced same issue. Replace temp_dir with temp_dir.name

Interested in submitting a PR?

You have my support.

This is fixed already, I cant link to the line because its a ipynb file, but I just checked the source:
https://github.com/microsoft/autogen/blob/main/website/docs/tutorial/code-executors.ipynb
Can we close this ticket now please. cc @ekzhu @peteryxu

Thanks and will do.
On Fri, May 17, 2024, 11:11 AM jtoy @.***> wrote:

This is fixed already, I cant link to the line because its a ipynb file,
but I just checked the source:
https://github.com/microsoft/autogen/blob/main/website/docs/tutorial/code-executors.ipynb
Can we close this ticket now please. cc @ekzhu https://github.com/ekzhu
@peteryxu https://github.com/peteryxu
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/autogen/issues/2136#issuecomment-2118145846,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALUME6T55A6ZTHKJCG7LMVTZCZB3TAVCNFSM6AAAAABFGBWYYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJYGE2DKOBUGY
.
You are receiving this because you commented.Message ID:
@.***>


PyInstaller error 'escpos' has no attribute 'constants'

When creating a distributable using PyInstaller, the resulting app on Mac emits an error about not being able to find constants. May be related to #97 not sure. Its a simple 4 line app
from escpos import *
Epson = printer.Dummy()
Epson.cut()
print(Epson.output)

I just pyinstaller simple_app.py
then executed with dist/simple_app/simple_app
$ dist/simple_app/simple_app
Traceback (most recent call last):
  File "simple_app.py", line 3, in <module>
    from escpos import *
AttributeError: module 'escpos' has no attribute 'constants'
[79419] Failed to execute script simple_app

Packaging my real app also results in this exact same error, so this is a good repro case.
python-escpos version: 3.0a3  python version: 3.6  operating system: OSX High Sierra  P.S. to install PyInstaller pip install pyinstaller

Looks like hidden imports are a common problem with PyInstaller.  The solution is to create a .spec file and add entries to the hiddenimports list:
...
a = Analysis(['app.py'],
             pathex=['/Users/User123/Devel/myproject'],
             binaries=[],
             ...
             hiddenimports=[
                'escpos.constants',
                'escpos.escpos',
                'escpos.exceptions',
                'escpos.printer',
             ],
             runtime_hooks=[],
             excludes=['numpy','cryptography', 'django', 'PyQt5'],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
...


Creation of dynamic property Nordigen\NordigenPHP\API\RequestHandler::$authentication is deprecated in /home/.../public/vendor/nordigen/nordigen-php/src/API/RequestHandler.php on line 17

Describe the bug
After updating to PHP 8.3, I started to get this error:
Creation of dynamic property Nordigen\\NordigenPHP\\API\\RequestHandler::$authentication is deprecated in /.../.../public_html/.../public/vendor/nordigen/nordigen-php/src/API/RequestHandler.php on line 17
To Reproduce
Steps to reproduce the behavior:

Use the library using PHP 8.3

Expected behavior
I expected it to work, to authenticate properly.
Additional context
The warning is occurring because PHP 8.2 and later versions have deprecated the creation of dynamic properties. To resolve this, we should explicitly declare the $authentication property in the class.
If you're having general trouble with your Nordigen integration or bank related issue, please reach out to our support via email<EMAIL_ADDRESS>

I really need to have any fix for this. I already contacted using e-mail and everything.


Fallback when intl is missing

This implements a mechanism to replace the locale aware part of the function with differrent formatter classes.
For now it simply implements a fallback to a non-locale aware formatting using DateTime->format() when the intl extension is missing. Future extension could implement making use of strftime() if it still exist or implement locale formatting in pure PHP.
For testing a environment variable STRFTIME_NO_INTL can be set to force using the fallback.
Currently the test for the gregorian calendar jump fails, but I don't understand the issue well enough to fix it.

That's not what the intention of this formatter is. It is not meant to replace the IntlFormatter, it is meant as a last resort. Instead of the whole application fatally failing when intl isn't available, a user will see the proper date and time, but in English. So the goal would be that this class passes the tests for the en (or possibly C) locale only.

Interesting take, but splitting the code in multiple files/classes is missing what was intended here, to have a single file/function to drop in any legacy project (not everyone uses Composer, here I'm not using it because all third party code must be read and validated before being deployed in production) to replace strftime.
If you begin to split the code and use autoloading, that no longer works. Not saying that it's a bad idea, just that it restricts the original scope I wrote this code for :)