Proposal: remove bash formatter (e.g. --format=bash)

Removing support for the --format=bash outputter recently came up during a product design discussion. I am opening this for feedback and discussion.
Reasons in Support

Desire to produce more complex, nested data-structures in Terminus output
maturity of command-line json parsing tools for use with --format=json

Reasons  in Opposition

Loss of grep-ability in output

At first blush, I am against this idea. Many of our users use the bash formatter (as we can tell whenever there's a bug with it), and it doesn't cause any trouble.
What sort of complex, nested data structures are unsuitable for the bash formatter, but are still suitable for the interactive (pretty) formatter?

The requested complex structure is something like this:
| ID          | Description    | Operations                      | Result |
|-------------|----------------|---------------------------------|--------|
| abc-123-xyz | Deploying Code | 1. Pre-Deploy Code - Succeeded  | Failed |
|             |                | 2. Deploy Code - Succeeded      |        |
|             |                | 3. Post-Deploy Code - Failed    |        |

We could deliver this data in bash format by comma-delineating arrays. Since the users are splitting the data at line break, then at tab, I don't think a third kind of delineation that is easily comprehensible would be trouble.

If I were to pick one data structure to support I would pick JSON. The less supported formatters the simpler it is to support.

csv or tab-deliminated lines of records would be a reasonable way to render complex tables.
Note that the Drush output formatters have been factored into a separate library, consolidation/output-formatters. It doesn't contain all of the features from Drush's formatters yet, but I believe it has most of the formats needed by Terminus. It's easy to add new formats, e.g. bash.
This project is also currently in use in Robo, so there will be shared maintenance and output uniformity between those projects, at least. I'm also working on getting this into Drupal Console, but am uncertain whether it will be accepted there.

The bash formatter is to be abandoned as part of the switch to Symfony Console in Terminus 1.0. Closing this issue.


Use correct feature naming for SQL Server Always On Availabiity Groups

@telmosampaio Please review - thanks!

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference-architectures/virtual-machines-windows/images/multi-region-application-diagram.png
:white_check_mark:Succeeded
View

docs/reference-architectures/virtual-machines-windows/multi-region-application.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference-architectures/virtual-machines-windows/images/multi-region-application-diagram.png
:white_check_mark:Succeeded
View

docs/reference-architectures/virtual-machines-windows/multi-region-application.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Android] Dialog aligns left in landscape (tablet)

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
Just use showDialog in a new project (on tablet)
Expected results
A centered dialog appears
Actual results
the dialog appears aligned to the left
Code sample
Code sample
class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: const Center(
        child: Text(
          'Test',
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => showDialog(
          context: context,
          builder: (context) => AlertDialog(
            title: const Text('Alert Dialog'),
            content: const Text('This is an alert dialog'),
            actions: [
              TextButton(
                onPressed: () => Navigator.of(context).pop(),
                child: const Text('Cancel'),
              ),
              TextButton(
                onPressed: () => Navigator.of(context).pop(),
                child: const Text('Ok'),
              ),
            ],
          ),
        ),
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
Screen_recording_20230905_155442.webm

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.13.2, on Microsoft Windows [Versione 10.0.22621.2134], locale it-IT)
    • Flutter version 3.13.2 on channel stable at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ff5b5b5fa6 (12 days ago), 2023-08-24 08:12:28 -0500
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at C:\Users\emanu\AppData\Local\Android\sdk
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

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

[!] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.6.3)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.6.33801.468
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

[√] Android Studio (version 2022.3)
    • Android Studio at C:\Program Files\Android\Android Studio1
    • 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-b2043.56-10027231)

[√] VS Code (version 1.81.1)
    • VS Code at C:\Users\emanu\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (4 available)
    • sdk gphone x86 64 (mobile) • emulator-5554 • android-x64    • Android 13 (API 33) (emulator)
    • Windows (desktop)          • windows       • windows-x64    • Microsoft Windows [Versione 10.0.22621.2134]
    • Chrome (web)               • chrome        • web-javascript • Google Chrome 116.0.5845.141
    • Edge (web)                 • edge          • web-javascript • Microsoft Edge 116.0.1938.69

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

! Doctor found issues in 2 categories.

Hi @EmanueleVinci. Thanks for filing this. I'm unable to reproduce this on my end with a tablet in landscape mode. Can you provide more information on the device you are experiencing this issue on??


add optional title tag to ImageNode.tsx

A optional title tag on images is useful for accessibility, SEO and UX.

Mind checking the failing integrity check please before we can merge? You might have to handle nullish values on the ImageNode

Although this change makes sense, I wonder if it's needed given ImageNode is not exposed from any package and used purely as a demo in the playground. These playground nodes might be copied as a reference by users and adjusted based on their specific app needs


12318 - Specify OFFLINE in rosetta docker-standalone-start.sh

!ci-build-me

!ci-build-me

It is not really needed but since Rosetta uses online and offline port, I thought it would be better to explicitly define them.
If it is a breaking change, we can just close this PR.


Add Node.js example how to acknowledge IoT Hub file upload notifications

This page has following Node.js code example:
        receiver.on('message', function (msg) {
          console.log('File upload from device:')
          console.log(msg.getData().toString('utf-8'));
        });

There is also a sibling page that has example for .NET:
        var fileUploadNotification = await notificationReceiver.ReceiveAsync();
        if (fileUploadNotification == null) continue;
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.WriteLine("Received file upload notification: {0}",
          string.Join(", ", fileUploadNotification.BlobName));
        Console.ResetColor();
        await notificationReceiver.CompleteAsync(fileUploadNotification);

The key difference is that the .NET example has the CompleteAsync that acknowledge to IoT Hub that the file upload notification is handled. The equivalent function call is missing from the Node.js example.
Could the Node.js example be augmented with information about how to acknowledge the notification?

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

ID: e6526ec7-ffd0-78da-b1f8-e5577a8c0c66
Version Independent ID: b0bd1eff-f666-822b-1b01-5fb42f7dfbb6
Content: Upload files from devices to Azure IoT Hub (Node) - Azure IoT Hub
Content Source: articles/iot-hub/file-upload-node.md
Service: iot-hub
GitHub Login: @kgremban
Microsoft Alias: kgremban

Hi @vjrantal Thank you for providing the feedback. We will look into the node.js sample and update the document as needed.

Hi @vjrantal , I have done some investigation on this request. While the Node.js sample receives messages from the Azure IoT Hub storage container after the blob has been updated, it is missing the acknowledgement as you mentioned.
The primary difference between the Node.js and .Net code sample is that later is using Microsoft.Azure.Devices while the Node.js sample refers to azure-iothub instead of azure-iot-device
The Client class of Azure IoT Device package has a method notifyBlobUploadStatus which sends IoT Hub the result of a blob upload.
You can find a code sample with the implementation at the repository link upload_to_blob_advanced.js
Hope this answers your question. Please let me know if you have any additional questions or need further clarification.

@LeelaRajesh-Sayana Thank you for your investigation and the information you provided.

You can find a code sample with the implementation at the repository link upload_to_blob_advanced.js

This sample is not about the same scenario as what this issue relates to. This sample is the upload from device perspective, but this issue is about acknowledgment from the service perspective.
device <-> IoT Hub <-> service

Hi @vjrantal Thank you for your response. The service client created using azure-iothub does not have a similar implementation as the azure-iot-device. The Service Receiver created using the azure-iothub Client does not have a built-in supported mechanism to notify the IoT Hub once the update is done. However, it has a complete(Message, Callback<MessageCompleted>) method which lets the service client know once the upload is complete.
Please find the below sample snippet for reference
        receiver.on('message', function(msg) {
          console.log('File uploaded: ');
          console.log(msg.data.toString());
          receiver.complete(msg, function(err) {
            if (err) {
              console.error('Could not finish the upload: ' + err.message);
            } else {
              console.log('Upload completed');
            }
          });
        });

I understand this isn't what you are ideally looking for. If this does not work, I appreciate it if you can rise this issue under the Azure IoT Hub Node GitHub repository where the underlying source code is maintained.
Here is a reference for the Service Receiver documentation that is created using the azure-iothub Client which has the supported methods.
Please let us know if you have any additional questions on this.

@LeelaRajesh-Sayana Above code snippet has the call to receiver.complete which I believe would acknowledge towards IoT Hub from the service side. It looks like this is what I was looking for and I think the documentation page should also contain this snippet to make the functionality comparable to the .NET implementation.
If the service doesn't acknowledge the notification, IoT Hub would keep retrying as defined in the IoT Hub configuration under "Maximum delivery count":

Hi @vjrantal, I have created a PR item to update the document. The change will be reflected on the document after the build release. We will now proceed to close this issue.
Thank you for your feedback and inputs.


chore(master): release 1.1.10

:robot: I have created a release beep boop
1.1.10 (2023-06-07)
Miscellaneous

deps: update dependency phpstan/phpstan to v1.10.17 (6752a39)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-cycle-event-sourcing/releases/tag/v1.1.10 :sunflower:


Async node_helper start()

If a node_helper uses an async method for start(), it appears that MagicMirror declares the system ready as soon as the function returns the initial Promise.  It would be nice if MM would collect the promises from the various modules, then await Promise.all(...) of them.
Steps to Reproduce: Use the async/await pattern within a node_helper's start() method
Expected Results: Initialization completes when all node_helpers are done initializing
Actual Results: MagicMirror reports ready while node_helper is still printing loading status to console

Is there a module you can point to that uses async start?

I've been trying to use it in my own module, MMM-Powerwall.  I borrowed logic from MMM-RemoteControl that reads config files off the disk, and I'd already used the async file access methods elsewhere.

but u only need to use async functions if u intend to use await. which  is similar to using sync calls.
there are a few different approaches to using async and await without doing it with start.
you can start a timer, or use the notification  call from module to node helper.

Hi @MikeBishop finally came around to look at some old issues, and whipped up a PR for your suggestion. Seems to work on my local setup but I want to get a little feedback first before I proceed.

Fixed with #2928

So there's apparently an issue with waiting for modules that take a long time.  It looks like if initialization of the modules gets pushed out past a certain point in electron's loading process, electron will display a blank screen locally.  Accessing with a browser works fine, because everything initialized by then.
I think I have a clean repro of the issue in https://github.com/MikeBishop/MMM-asyncdeath – the synchronous start function produces this in the logs and loads normally:
[21.01.2023 14:55.02.692] [LOG]   Synchronous start-up -- all is well
[21.01.2023 14:55.02.693] [LOG]   Sockets connected & modules started ...
[21.01.2023 14:55.03.235] [LOG]   Launching application.

The async start function produces this in the logs and fails:
[21.01.2023 14:52.54.143] [LOG]   About to break by using await
[21.01.2023 14:52.54.884] [LOG]   Launching application.
[21.01.2023 14:52.56.512] [LOG]   Sockets connected & modules started ...

Note the reversed order of “Launching application” and “modules started”. Seems feasible this could also happen with a synchronous module startup that takes a long time, but I haven’t tested that.
Seems like there's an additional step needed here to delay Electron's startup until the modules are done loading.

A quick look before bedtime makes me think the problem only occurs when starting MM with electron and not when in servermode?

Seems like electron.js calls createWindow (when the electron app is "ready") but config isnt yet set (in the start callback at the end) due to the async nature....

A quick look before bedtime makes me think the problem only occurs when starting MM with electron and not when in servermode?

Correct -- web browsers connecting once everything finishes startup are fine.  I think it's probably that electron launch fails (or fails to connect) and then never retries.  If so, perhaps rather than delaying electron start-up, we could kick electron to retry once the backend is ready.

I dont like delaying stuff arbitrarily since we dont know how long some modules might take. Maybe my PR solution is enough and a little more future-proof

@MikeBishop did you have time to check out the fixed develop branch?


chore: project addition by Ayan-Joshi

Add a new project to the list
I want to add a new project Sorting Visualizer ,
Assign me this issue so I can start my work @priyankarpal
Record

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue

duplicate of #2211


Disallow How to add BlankLine

Hi, first of all thank you for this wonderful module
i want to ask you this
robots: {
   rules: {
      UserAgent: '*oo',
      Disallow: ['/auth/', '/settings', 'BlankLine', '/search']
    }
  },

i wrote something like this
it is not very important but is it possible for me to add blankline between settings and search?
Disallow: /auth/
Disallow: /settings/
Disallow: /search*

ok i get it i need to add
rules
{
UserAgent: '*oo',
Disallow: ['/auth/', '/settings', '/search', 'BlankLine'],
BlankLine: true
},
{
UserAgent: '*oo',
Disallow: ['/auth/', '/settings', '/search', 'BlankLine'],
}
something like this i guess


Unable to Connect the HCA's through the link

I deployed the rdma device plugin in HCA mode in kubernetes cluster. When I tried to make a connection test using "ib_read_bw", the output is as follows:

                RDMA_Write BW Test

Dual-port       : OFF		Device         : mlx5_0
Number of qps   : 1		Transport type : IB
Connection type : RC		Using SRQ      : OFF
TX depth        : 128
CQ Moderation   : 100
Mtu             : 1024[B]
Link type       : Ethernet
GID index       : 0
Max inline data : 0[B]
rdma_cm QPs	 : OFF
Data ex. method : Ethernet

local address: LID 0000 xxx
GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
remote address: LID 0000 xxx
GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
The commands I used are simply ' ib_write_bw -d mlx5_0 [target_ip]' and 'ib_read_bw -d mlx5_0
'.  Could anyone please help with this issue? I appreciate your help.

I ran into the same problem as you. Did you finally solve this problem, please?
@solielpai

I also have this issue when using OFED 5.2 on the underlying host, but not when using the in-box driver which works perfectly.
I was expecting OFED to work better but support appears to be missing here?

+1
I'm using connectx-5.  all ib_ commands work fine in host to host communication, but failed in containers.

@huide9 @solielpai @goversion
+1
I'm using connectx-5. all ib_ commands work fine in host to host communication, but failed in containers,
my k8s cluster network plugin calico， The Infiniband card works in Ethernet mode, which cause problems. If the Infiniband card works in IB mode, it is working properly

Link type is Ethernet:
Server: ib_write_bw -d [RDMA_DEVICE] -F -R --report_gbits
Client: ib_write_bw -d [RDMA_DEVICE] [SERVER_IP] -F -R --report_gbits
Link type is IB:
Server: ib_write_bw -d [RDMA_DEVICE] -F --report_gbits
Client: ib_write_bw -d [RDMA_DEVICE] [SERVER_IP] -F --report_gbits

Hi @krembu
Server:
[root@mofed-test-cx6-pod-1 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1440
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
ether 36:bd:a0:74:97:5b  txqueuelen 0  (Ethernet)
RX packets 26  bytes 2068 (2.0 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 19  bytes 1490 (1.4 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet <IP_ADDRESS>  netmask <IP_ADDRESS>
loop  txqueuelen 1000  (Local Loopback)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 0  bytes 0 (0.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@mofed-test-cx6-pod-1 /]# ib_write_bw -d mlx5_2 -F -R --report_gbits

Waiting for client to connect... *

kubectl exec -it mofed-test-cx6-pod-1 bash^C
[root@mofed-test-cx6-pod-1 /]# ib_write_bw -d mlx5_2 -F -R --report_gbits

Waiting for client to connect... *

Client:
[root@mofed-test-cx6-pod-2 /]# ib_write_bw -d mlx5_2 <IP_ADDRESS> -F -R --report_gbits
Received 10 times ADDR_ERROR
Unable to perform rdma_client function
Unable to init the socket connection
[root@mofed-test-cx6-pod-2 /]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=63 time=0.070 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=63 time=0.047 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=63 time=0.047 ms
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2048ms
rtt min/avg/max/mdev = 0.047/0.054/0.070/0.013 ms
[root@mofed-test-cx6-pod-2 /]# ib_write_bw -d mlx5_2 <IP_ADDRESS> -F -R --report_gbits
Received 10 times ADDR_ERROR
Unable to perform rdma_client function
Unable to init the socket connection
[root@mofed-test-cx6-pod-2 /]# ib_write_bw -d mlx5_2 <IP_ADDRESS> -F -R --report_gbits
Received 10 times ADDR_ERROR
Unable to perform rdma_client function
Unable to init the socket connection

can you share pod spec and MacvlanNetowrk?

The Link type is IB, and the cni is calico or macvlan. Both work properly。
Link type is Ethernet, cni is calico, the test is abnormal. cni is macvlan and the test is normal

Sorry getting you working out, this project is deprecated you can use https://github.com/mellanox/k8s-rdma-shared-dev-plugin
or https://docs.nvidia.com/networking/display/COKAN10/Network+Operator

https://github.com/mellanox/k8s-rdma-shared-dev-plugin ,That's what I'm using

use image: mellanox/k8s-rdma-shared-dev-plugin

the issue are on https://github.com/Mellanox/k8s-rdma-sriov-dev-plugin

@krembu Thank you for your reply

@huide9  ，we meet the same problem


Static analysis results of Catch-2

martinmoene/Catch-2 Static Analysis.
Contains

PVS-Studio
Resharper-C++
VC-CppCoreCheck-released.txt

Went through PVS-Studio:
V690 The '=' operator is declared as private in the 'MatcherUntypedBase' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. SelfTest catch_matchers.hpp 23
V690 The 'ExpressionLhs' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. SelfTest catch_expression_lhs.hpp 26
V690 The 'BinaryExpression' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. SelfTest catch_expression_lhs.hpp 105

This is intentional, copy assignment is disabled and the default copy constructor works properly. Hopefully explicitly deleting operator= and defaulting the copy constructor makes this go away.
V690 The '=' operator is declared as private in the 'AssertionPrinter' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. SelfTest catch_reporter_compact.cpp 70
V690 The '=' operator is declared as private in the 'AssertionPrinter' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. SelfTest catch_reporter_console.cpp 99
V690 The '=' operator is declared as private in the 'AssertionPrinter' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. SelfTest catch_reporter_tap.hpp 63

I ended up explicitly forbidding both, there is no reason to copy construct it either.
V690 The 'Colour' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. SelfTest catch_console_colour.hpp 15

Since this is a scope guard kinda class, I deleted copy constructor and implemented move constructor/assignment instead (interestingly, they aren't used anywhere anyway).
V690 The 'ScopedMessage' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. SelfTest catch_message.h 49

Deleted explicit copy constructor, the compiler generated one works fine.
V524 It is odd that the body of 'compare' function is fully equivalent to the body of 'applyEvaluator' function. SelfTest catch_evaluate.hpp 98

Going to pass this one over, the entire evaluator layer is bit of a mess.
V730 Not all members of a class are initialized inside the constructor. Consider inspecting: macroName, capturedExpression, resultDisposition. SelfTest catch_assertionresult.h 43

I think this is some weird false positive, macroName defaults to nullptr and the default constructor should initialize it that way. The exception is resultDisposition, which should now be properly initialized in the default constructor. Non default constructor also looks correct.
V730 Not all members of a class are initialized inside the constructor. Consider inspecting: m_mode, m_exclusion, m_start, m_pos. SelfTest catch_test_spec_parser.hpp 33

These now have default values.
V690 The 'ScopedElement' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. SelfTest catch_xmlwriter.hpp 83

Again, scope guard kinda class, implemented both moves and removed copy constructor.
V690 The 'NotImplementedException' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. SelfTest catch_notimplemented_exception.h 15

Deleted explicit copy constructor, the compiler generated one works fine.
V690 The '=' operator is declared as private in the 'Version' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. SelfTest catch_version.h 16

I ended up explicitly deleting both copy operations, there is no reason to copy version around.
V667 The 'throw' operator does not possess any arguments and is not situated within the 'catch' block. SelfTest catch_exception_translator_registry.cpp 59

This will have to be explicitly disabled as FP.
V565 An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. SelfTest catch_run_context.cpp 238
This is also likely going to end up explicitly disabled as FP.
???? V601 The result of '-' operator is implicitly cast to the bool type. Inspect the second argument. SelfTest catch_reporter_junit.cpp 109

I have absolutely no idea what this one is trying to say.

Thanks for the extensive report(s).

???? V601 The result of '-' operator is implicitly cast to the bool type. Inspect the second argument. SelfTest catch_reporter_junit.cpp 109

I gazed at this for some time; it seems to be produced by some deep thought, but in the end is double Dutch even to me, hence the ???.

@horenmar I've updated the results for PVS-Studio and Resharper-C++ (now 91 lines).

@martinmoene
Are you using latest PVS Studio? Because if so, this might actually be worth reporting as a bug:
V690 The 'Colour' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. SelfTest catch_console_colour.hpp 15
V690 The 'ScopedElement' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. SelfTest catch_xmlwriter.hpp 37

Colour implements move assignment operator and move constructor. This disables autogeneration of copy operations and thus this is completely bogus. It also might not be a bug, just limitation of their parser, because these 2 are also fun and proper code model should not hit them:
V803 Decreased performance. In case 'm_refs' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. SelfTest catch_stringdata.h 33
V803 Decreased performance. In case 'm_refs' is iterator it's more effective to use prefix form of decrement. Replace iterator-- with --iterator. SelfTest catch_stringdata.h 38

(they are atomic unsigned ints).
Anyway, I think I addressed those that are part of Catch (not Clara) and aren't just a FP. I don't want to start marking up Catch's code with suppressions for all different static analyzers just yet.
To not be completely down on PVS, I actually liked some of the warnings like V820 (variable is unused after being copied, consider move), it just goes dumb bit too much for my liking.

virtual void foo() override

+1

@horenmar, ref. comment above
I was using the latest version, PVS Studio 6.16 and I've contacted viva64 with approximately the following message (safe cordiality):

PVS Studio 6.16 unexpectedly reports V690, lack of copy constructor, on a move-only type. It appears to interpret the move-assignment operator as a copy-assignment operator.
Could this be a bug or is it a limitation of the tool?

struct move_only
{
    move_only();
    move_only( move_only&& other );
    move_only& operator=( move_only&& other );
    ~move_only();

    bool f = false;
};

V690 The 'move_only' class implements the '=' operator, but lacks a copy constructor.

viva64 recognises above as a false positive and they'll investigate it and try to fix it.

I went through the VC cppcorecheck briefly, but I don't think it is quite ready for production yet:
reporters\catch_reporter_junit.cpp(26): warning C26496: Variable 'timeStampSize' is assigned only once, mark it as const.
reporters\catch_reporter_bases.cpp(28): warning C26496: Variable 'maxDoubleSize' is assigned only once, mark it as const.

the referred to places:
const size_t timeStampSize = sizeof("2017-01-16T17:06:45Z");
const size_t maxDoubleSize = DBL_MAX_10_EXP + 1 + 1 + 3 + 1;

Some of the other reports are obviously true (Catch codebase isn't exactly const-nazi about variables in functions), but this doesn't fill me with great confidence.
Some of the reports I couldn't find at all:
reporters\catch_reporter_compact.cpp(39): warning C26493: Don't use C-style casts that would perform a static_cast downcast, const_cast, or reinterpret_cast.
reporters\catch_reporter_console.cpp(38): warning C26493: Don't use C-style casts that would perform a static_cast downcast, const_cast, or reinterpret_cast.
... many others I tried

And even when it isn't wrong, some of the messages are downright cryptic:
reporters\catch_reporter_bases.cpp(38): warning C26485: Expression 'buffer': No array to pointer decay.
...

All in all, I am going to ignore cppcorecheck reports and close this issue.


New version: VSCodium.VSCodium.Insiders version <IP_ADDRESS>65

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/109775&drop=dogfoodAlpha

@wingetbot run


Don’t expand TypeScript union types

I just gave this project a try for estree-util-value-to-estree (not committed). valueToEstree returns a type Expression. remark-api expands this to:
(`ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | ... 21 more ... | JSXFragment`).

I don’t think it should be expanded.

Transfered!

Especially the | ... 21 more ... | feels weird in API documentation.

Sure.

I don’t think there’s a solution. There are cases for Expression (first type alias name), there are cases for EstreeExpression (if it was your local type alias name), cases for ExpressionMap[keyof ExpressionMap] (source code), and cases for the expanded actual enum.

I think there is most to say for showing the thing that TS also shows, so: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | ... 21 more ... | JSXFragment.
If you don’t want that in the docs, you probably also don‘t want to show it to users that hover over your function in their IDE.
So, perhaps the solution to this is for authors to control this somewhere in TS?

I just tried this on monaco-languageserver-types. This works fantastic. The API surface has so many exports I didn’t even bother documenting it fully in the readme before.
This also made me feel even stronger that the types should be displayed as written, not as resolved. It’s common to not have control over the types you return. This is true for estree-util-value-to-estree (returns import('estree').Expression) as well as monaco-language-server-types (returns types from both monaco-typesandvscode-languageserver-protocol`).
I’m seeing that types defined as type = and enums are expanded, but interfaces are not. I think this makes sense when hovering over a type, as you would otherwise just show the same text you’re hovering over, but not when documenting the return or parameter type.
I.e. export function fromInlayHint(inlayHint: monaco.languages.InlayHint): lsp.InlayHint yields:
###### Returns

The inlay hint label part as an LSP inlay hint label part
(`{   value: string   tooltip?: string | lsp.MarkupContent | undefined   location?: lsp.Location | undefined   command?: lsp.Command | undefined }`).

But export function fromHover(hover: monaco.languages.Hover): lsp.Hover yields:
###### Returns

The hover as an LSP hover (`lsp.Hover`).

This works fantastic

yayyy!!

I’m seeing that types defined as type = and enums are expanded,

Can you show exactly what is happening?

This also made me feel even stronger that the types should be displayed as written, not as resolved

Hmm,
a) “as written” is ambiguous, so not sure what you mean. Some meanings of “as written” I definitely disagree with, such as the ExpressionMap[keyof ExpressionMap] in the Expression case
b) the more I think about this, I think this current behavior is perfect, but there needs to be an adjacent, new feature: If a type of a parameter / field / return is also in the exposed API, use the name of that API export, and link to it.
To illustrate, say an API of collapse(value: string, style?: 'html' | 'css') => string, and then an exported type Options = 'html' | 'css', that would result in: * `style` ([`Style`](...), optional).
The same would happen for your estree API. You just need to expose Expression from typescript in your own API surface. Whether you call it Expression or Result, and then that label + link would be used?

I also think that big return/parameter types should instead be something along the lines of:
###### Returns

The inlay hint label part as an LSP inlay hint label part.

```ts
{
  value: string
  tooltip?: string | lsp.MarkupContent | undefined
  location?: lsp.Location | undefined
  command?: lsp.Command | undefined }
```

Which sidesteps some of this OP issue too

I generated https://github.com/remcohaszing/monaco-languageserver-types/tree/remark-api using remark-api.
fromMarkerTag and toMarkerTag return an enum. Both functions are defined in https://github.com/remcohaszing/monaco-languageserver-types/blob/remark-api/src/markerTag.ts. They accept an enum, and they return an enum. In the parameters the type is emitted as it is written in the source code, this is what I expect. The return type is emitted as a union of numbers that the enum represents. These numbers are fairly meaningless.
fromHover returns a type that is defined using the interface keyword. fromInlayHint returns a type that is defined using the type keyword. This is an implementation detail. I expect them both to yield the same result.
By “as written” I mean as it is written in the function declaration. So in case of fromInlayHint, I expect the return type in the readme to be lsp.InlayHint, because that’s how it’s authored in the source code, and also how interfaces are treated.
So in case of returning an ESTree expression, I expect the readme to contain Expression, not ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | ... 21 more ... | JSXFragment, nor ExpressionMap[keyof ExpressionMap].
Perhaps an example a bit closer to you: I expect mdast-util-from-markdown#fromMarkdown() to be documented as returning Root (as it is now). I don’t expect the readme to show a return value of {  type: 'root'; children: RootContent[], position?: Position; data?: RootData }.

I also think that big return/parameter types should instead be something along the lines of:

I like this idea only if the return type is a multiline value. If a type is defined, I wouldn’t want this. However, if a function is authored like this:
export function getUser(): {
  name: string;
  id: string
} {
  // …
}

Then I agree it would be nice to render the type in a code block. The same goes for parameter types.

fromMarkerTag and toMarkerTag return an enum.

Don’t use TS only features 🤷♂
module-exports also warns if enums are exposed directly from the API.
It’s a non-goal for me, I don’t think APIs should include TS-only features, I think APIs should be JS.
And well, JavaScript users have to pass 1 and 2?

In the parameters the type is emitted as it is written in the source code, this is what I expect. The return type is emitted as a union of numbers that the enum represents. These numbers are fairly meaningless.

It looks the other way around to me?
I’m not exactly sure why TS is/isn’t choosing to expand monaco.MarkerTag / lsp.DiagnosticTag. Perhaps one is bigger than the other.

This is an implementation detail.

I think I can see why TypeScript does not show type alias names: they’re aliases to some value.
My main point is that it’s an implementation detail/design in TS. It’s chosen there, not here.

By “as written” I mean as it is written in the function declaration. So in case of fromInlayHint, I expect the return type in the readme to be lsp.InlayHint, because that’s how it’s authored in the source code, and also how interfaces are treated.

You’re asking to drop the type awareness from this project.
There are many JSDoc tools out there that don’t understand types.
I think it’s a benefit that this project actually understands types and doesn’t just look at a string.

So in case of returning an ESTree expression, I expect the readme to contain Expression, not ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | ... 21 more ... | JSXFragment, nor ExpressionMap[keyof ExpressionMap].

I roughly agree with this result you are after but not due to your reasoning.
I don’t think choosing the names of type aliases is good (Expression, or theoretically you called it EstreeExpression or Expression_).
I don’t think choosing the source code is that good (ExpressionMap[keyof ExpressionMap]).
In APIs, we want to tell people how to access types.
If you don’t want to expose this type in your API (which is probably fine for something from estree and also mdast and similar),
we could say generate something along the lines of [`Expression`](#) from [`estree`](#).
For many cases I do think packages should put return types / parameter types in their own APIs.
Think, rehype-raw accepting Options from hast-util-raw, I think Options should also be exposed in rehype-raw’s own API.

Perhaps an example a bit closer to you: I expect mdast-util-from-markdown#fromMarkdown() to be documented as returning Root (as it is now). I don’t expect the readme to show a return value of {  type: 'root'; children: RootContent[], position?: Position; data?: RootData }.

I think it should be [`Root`](#) from [`mdast`](#).
Also Root is an interface not a type alias.

If a type is defined, I wouldn’t want this. However, if a function is authored like this: […]

I don’t understand, which types are not defined?
Are you suggesting to look at whether people put line endings inside their code between parameters?
Or are you saying to treat TS source (types in code) different than JSDoc (types in comments)?


Missing and Mismatch Tags in metric

Describe the bug
We observe the tag list mismatch in RequestStatusCode meter.
In the new micrometer version > 1.6.1, if such cases happens, it ignores the meter second time, but in older version, we do get such kind of exceptions.
Exception or Stack Trace
16:42:20.886 [reactor-http-nio-4] ERROR c.w.s.d.b.s.config.CosmosConfig - [DEBUG REGISTRY] FAILED TO REGISTER THIS Meters: MeterId{name='cosmos.client.req.gw.requests', tags=[tag(ClientCorrelationId=00002),tag(Container=4.53.2-hotfix),tag(RequestStatusCode=408/10002),tag(cloud_zone=unknown)]} with message {Prometheus requires that all meters with the same name have the same set of tag keys. There is already an existing meter named 'cosmos.client.req.gw.requests' containing tag keys [ClientCorrelationId, Container]. The meter you are attempting to register has keys [ClientCorrelationId, Container, RequestStatusCode].}
To Reproduce
Steps to reproduce the behavior:
Code Snippet
private Tags createQueryPlanTags(
EnumSet metricTagNames
) {
List effectiveTags = new ArrayList<>();
if (metricTagNames.contains(TagName.RequestOperationType)) {
    effectiveTags.add(QUERYPLAN_TAG);
}
return Tags.of(effectiveTags);

}
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: [e.g. iOS]
IDE: [e.g. IntelliJ]
Library/Libraries: [e.g. com.azure:azure-core:1.16.0 (groupId:artifactId:version)]
Java version: [e.g. 8]
App Server/Environment: [e.g. Tomcat, WildFly, Azure Function, Apache Spark, Databricks, IDE plugin or anything special]
Frameworks: [e.g. Spring Boot, Micronaut, Quarkus, etc]

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please check out Troubleshoot dependency version conflict article first. If it doesn't provide solution for the problem, please provide:

verbose dependency tree (mvn dependency:tree -Dverbose)
exception message, full stack trace, and any available logs

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Bug Description Added
[ ] Repro Steps Added
[ ] Setup information Added

@kushagraThapar could you please assist in routing this?

Thanks @JJ-WM - will take a look at this.

@JJ-WM - I am trying to understand this issue. Are you suggesting that Cosmos Java SDK should throw an error in case if the same tag is added twice?
Also, the code snippet you have added is for RequestOperationType tag and for query plan. I don't understand how it is related to RequestStatusCode tag. Can you please explain more?


filter static and empty effect operators in the operator-based score

…functions for grammar search
also  switch from inf to epsilon greedy in lookahead score function

this currently appears to be a step in the wrong direction, so going to close for now.


[Feature] Adding an automation of issuing a pr template

Whenever the contributor will raise a pr he needs to fill certain criteria.
So a template will be automatically added in the comment section with the following fields
Issue id
Previous issue
Screenshots/video/urls

Hey, I want to work on this issue.

I am assigning this issue to @Akib-Vijapura
Please keep updating us within every 3days


Alertmanager probes should use dedicated endpoints

What is missing?
Currently, /api/v1/status is used for both readiness and liveness probes.
Why do we need it?
Dedicated /-/healthy and /-/ready endpoints should be used instead.

#2600 was merged.


Updated to match indy crypto

This is to correspond to Pull Request #105 at indy crypto
Signed-off-by: Michael Lodder<EMAIL_ADDRESS>

I will remove the docket file. This is the one I use for testing my builds. I also have an android one but I’ll submit that in a different PR.

@mikelodder7 last CI failed for:

libindy tests on ubuntu, amazonlinux and windows
iOS, python and java wrappers


fusion 360 linux "protein assets to a local file on disk"

Describe the bug
After a while of using Fusion 360, you can't save anything to disk.
To Reproduce
Steps to reproduce the behavior:
Using Fusion 360 and then after a while you can't write to disk and save progress.
Screenshots

Desktop (please complete the following information):

Don't know how to view Fusion 360 version since clicking on about will just open nothing.  Often I need to use keyboard commands like Ctrl-S to save or Ctrl-O to open files.
Vega 56 Mesa 23.2.1 - kisak-mesa PPA
Linux Mint 21.1
Cinnamon
using OpenGL-Mode

Hi @dukenukemx, try wine-staging 8.20 and reinstall fusion from latest installer. Error with saving perished for me.

Hi, I'm on 8.20 and I installed that today but this didn't resolve the issue for me :(

Hi @dukenukemx, try wine-staging 8.20 and reinstall fusion from latest installer. Error with saving perished for me.

I'm on wine-staging 8.21 and this still happens.  Does this use the system wide wine or a wine that it comes with?

Not sure if this works but an issue came up for Battle.net working and the solution was to use WINE_SIMULATE_WRITECOPY=1 while using the latest version of GE-Proton.  What I did because I'm lazy, is put export WINE_SIMULATE_WRITECOPY=1 in .profile then rebooted my PC.  I had to make a Christmas tree adapter and so far no issues with saving.

Fresh install w/installer worked for me. so far.

Fresh install w/installer worked for me. so far.

Not for me a week ago.
And you can save also after some time and some work on a project ?
Van you share your config ? (wine version for example)
Maybe it can be helpful to have a working configuration

I continuously saw this issue with the latest wine-staging which is now at 9.0. I switched over to bottles to see if that would help and using the latest soda runner offered by bottles also had the issue. When i downgraded the running in bottles to soda 7.0-9 the issue went away. If I have time ill test to see if downgrading wine-staging fixes my non-flatpak instance.
I am running Ubuntu 22.04

I have testing in the Network-Settings of Fusion360 directly "no proxy" and  "Server verification " i have changed to "No warning when accessing via an intermediate server".
I hope, this is the correct english Translation (in German:  "Serververifizierung:  Beim Zugriff über einen Zwischenserver keine Warnung ausgeben").
An that is the solution for me, on two different computers, even after a restart.  I was working over 1 hour, with no crash and i can always save and export my work.
I have Zorin OS 16.3 (Ubuntu-based)

I've followed @Howy-1's suggestion. So far, it's working after 40 mins of saving every few mins! That's longer than it's  ever worked for me since this problem started.
If others can confirm that this is working, that leaves 2 questions:

Why does this fix the problem?
How can we make this friendly for new users?

In regards to making it new-user friendly, perhaps:

Documentation:  a panel can appear at the end of the install process recommending that new users make these setting changes. The wiki/readme can be updated to reflect this post-install fix required.
Find some way to automatically change set these options for new installations.
See if there is a way to resolve the cause of this networking issue in Wine or the Host OS.

Anyone got any suggestions for those last 2 points?

The best is to fix wine itself this bug is not expected to exists as it never happen on Windows
As a workaround/hotfix, maybe we can add this at end of install but without being a main solution or default solution
Thats my pov
I'll try that and make a feedback in this thread

I can confirm the solution work ! I've tested this morning and i've let F360 opened for the entire morning and saved multiple times without issue, also when switching networks, or after resuming my laptop
Thank you @Howy-1

Seems to work for me as well.  I was able to use Fusion 360 without ever getting that error.  Doesn't make sense that changing Network-Settings fixes this.

With wine 9.1 Fusion sometimes won't open files and most of time won't upload them to server even with no proxy and ignored cert checking.

I disabled data colection and until now is working

Network settings.

Hi @ricardojlrufino, does also creating Drawing from Design works for You?

I have this same issue and was not able to resolve it by changing the network settings to no proxy/do not warn.  I already had all the data collection turned off.
This is on a fresh install from the script installer as of yesterday.

Thank you

I double checked that I had do not warn/no proxy
set offline mode
exited fusion by closing the window
checked running processes and noted the wine exe processes listed
ran kill -9 $(ps aux |grep -i '\.exe' |awk '{print $2}'|tr '\n' ' ')
confirmed there were no exe processes running
launched fusion
confirmed that it started again in offline mode
set it to online mode
made a test file and saved it successfully

Boom!

Thank you all! I'm currently reviewing some configuration files in Fusion. Once I identify the correct line to address this issue, I'll update the installer to include the fix, so users won't need to perform these steps manually in the future.

So I have found the part in the NMachineSpecificOptions.xml in the section "NetworkOptionGroup":
This line for Proxy-Settings:
<WindowsProxyOptionId ToolTip=" Windows-Netzwerk-Proxy - Einstellung" UserName="Windows-Netzwerk-Proxy - Einstellung" Value="No Proxy"/></NetworkOptionGroup>
... and this line for the server verification:
<SSLVerifyPeerOptionId ToolTip="Stellen Sie sicher, dass der Autodesk Fusion 360-Client das Server-SSL-Zertifikat validieren kann." UserName="Serververifizierung" Value="TrustAllServers"/></NetworkOptionGroup>

And now I just have to patch these settings into the file where the graphics card driver settings are loaded and then this bug is fixed.
Incidentally, this bug also exists under Windows and macOS and this workaround is shown by you as described above.
So this bug is not a Linux specific bug!

See: https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/commit/50dc2ef91562246ac0249365dbc5e17f2d90b6cf


simple-bar-spaces crashes if the folder is not called "simple-bar".

If the Übersicht widget folder is not called simple-bar, simple-bar-spaces crashes early.
It's due to this line, expecting the folder to be called simple-bar:
https://github.com/Jean-Tinland/simple-bar/blob/1f0be505fea98bb5c88384738e1a49d6a797114d/spaces.jsx#L20
If this can't be fixed, I think a warning in the README would be useful for new people :)

Indeed, I'll amend the readme with this note. I hadn't thought about custom installs!

It's okay! :)
The only reason I had a different folder name was for comparing master with the version I was running before, in order to give feedback to some issues, so I had to rename the folder.

I just added a warning about this in the "Installation" section of the REAME.
I also wanted to thank you for your sponsorship, it really means a lot and encourage me to keep improving & fixing things here!


Add VerifyInvoke assertion methods to JSRuntimeInvocationHandler

The VerifyInvoke and VerifyNotInvoked extension methods currently only target BunitJSInterop, but it would be useful if they were also available for JSRuntimeInvocationHandler, so it is possible to verify only for invocation for specific handlers.
The code will be more or less identical, since both JSRuntimeInvocationHandler and BunitJSInterop has a Invocation list that contains the same type, and is the one we are verifying against. So adding the appropriate overrides to JSRuntimeAssertExtensions should be all thats needed.

Will be part of the #288 PR.


fix(localizer): changed over references

Changed over hard coded locale.en values

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


Add my hello-world file

Simple hello-world html file with minor styling.

Thank you for participating  in hacktoberfest ❣ if you liked working on this repo you can share it with friends and star this project for helping others


Can this algorithm load the historical features into memory first, so that the matching speed is improved, but I don't know how to modify your basic code

Can this algorithm load the historical features into memory first, so that the matching speed is improved, but I don't know how to modify your basic code

It does that.

My idea is to extract the hash, time (also the so-called eigenvalues) from the historical audio, and then load the eigenvalues into the memory. Users can match in the memory through wav and MP3 through match, and the search speed of tens of millions of songs will be improved.

I wouldn't call the peaks "eigenvalues" (although sinusoids are the eigenfunctions of LTI systems so .. maybe?) but otherwise your description seems to cover what audfprint currently does.

Hello, but, adding 100,000 songs to the library (most songs are 2 to 3 minutes long), I simulate a song of the user to match the matching speed is very slow, how to tune it, and get the result within 4 seconds? , or results in a shorter time

For example, in this case, I use three songs to load into the database, and then use one song to match, the result is 4.3 seconds, this speed is too slow, how to optimize this logic, I originally wrote a version myself , that is, use your program to get the time and hash, then write to mysql, load the memory when searching for match, and then use the dichotomy algorithm to search for the same hash to get the song id

There is another question, hello, is the algorithm of match a simhash idea?

Hello, I don't understand something about the match logic in the audfprint part, or what the specific algorithm logic is. I want to rewrite it into the Java version of the match logic.


Use log files in testing

This is a good idea to prevent our plugin from unnecessarily weighing. We also have to replace nexus files by its log files.
Readme file also needs to updated.