C0103/invalid-name/N815/N806: Allow specifying valid identifier patterns (e.g. as regular expressions)

For it's invalid-name/C0103 rule, pylint allows freely configuring what a legal name for an identifier is using regular expressions.
In particular, for a project, I'd like certain identifiers to use CapWords/PascalCase. (In case the actual use case is relevant: In django, sometimes "Formset" classes are created by factory-methods, and we want to use CapWords naming for them to match the official documentation)
In #970, pylint's invalid-name is checked as "done" and references N815. For me, the following code triggers N806 and I do not find any configuration option that would allow the CamelCase variable. The docs on N806 only list a pep8-naming.ignore-names option, which in turn doesn't seem to support regular expressions.
from some_module import get_some_class

def test():
    my_var = 123
    MyVarSpecial = get_some_class()

$ ruff --version
ruff 0.0.291
$ ruff check --isolated --select=N test.py
test.py:5:5: N806 Variable `MyVarSpecial` in function should be lowercase
Found 1 error.

where I can do this with pylint:
$ pylint --disable=all --enable=C0103 test.py
************* Module test
test.py:5:4: C0103: Variable name "MyVarSpecial" doesn't conform to snake_case naming style (invalid-name)

------------------------------------------------------------------
Your code has been rated at 7.50/10 (previous run: 0.00/10, +7.50)

$ pylint --disable=all --enable=C0103 --variable-rgx="(^[a-z0-9_]+$)|(^[A-Za-z]+Special$)" test.py

-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 7.50/10, +2.50)

Hey, the option ignore-names supports glob patterns (not regular expressions though). I think the documentation needs to be updated to be more clear on that. Also, I would suggest to use the extend-ignore-names to keep the default ones as it is. I hope this helps.

Hey, thanks for your work on ruff!
(Disclaimer, @richardebeling and I both work on the project mentioned in the initial comment)
I feel that globs are not really a satisfying solution in this case. Although #2787 initially asked for glob support, the arguments for it were "only fixed strings currently supported" and "want to allow assert*", both of which would not only be fixed by regex too, but regex would also make an arguably better fix: For assert*, you would probably want something like assert[A-Z][A-Za-z]* to not only allow camel case naming, but also forbid snake case naming for these assert functions.
In general, globs are really meant for matching file paths and their only advantage over regex is the ** feature - other than that, regex appears to be superior in every aspect. So I would suggest to reconsider the decision for ruff to use globs as IdentifierPattern in favor of replacing them with regexes.

We thought about this for some time and also wanted to bring another point up: Maybe the current architecture of the pep8-naming folder in the source code is not the best fit for ruff. As we perceive it, pep8-naming is a checker for pep8 in particular, while ruff is growing to be a full-fledged configurable linter. Therefore, ruff itself shouldn't really care what kind of naming scheme it is enforcing, it's role is just to enforce it. Ruff can even keep a preference towards the pep8 scheme by designing the default configuration to match it.
A symptom of this "problem" is that the current file structure,
camelcase_imported_as_acronym.rs
camelcase_imported_as_constant.rs
camelcase_imported_as_lowercase.rs
constant_imported_as_non_constant.rs
dunder_function_name.rs
error_suffix_on_exception_name.rs
invalid_argument_name.rs
invalid_class_name.rs
invalid_first_argument_name_for_class_method.rs
invalid_first_argument_name_for_method.rs
invalid_function_name.rs
invalid_module_name.rs
lowercase_imported_as_non_lowercase.rs
mixed_case_variable_in_class_scope.rs
mixed_case_variable_in_global_scope.rs
non_lowercase_variable_in_function.rs

already encodes too specialized knowledge of pep8 standards and makes it difficult to introduce features like "check that it matches a regex" (Currently, I think there isn't really a way to enforce that, for example, no snake case assert_something functions are defined, because we can only add ignores, but not tighten the check for not-ignored names). We both think that the current mental model by pylint "check if variable names are valid", "check if class names are valid" is more appropriate and easier to work with than "check that variables are lowercase".
I would really like to hear your thoughts on this :)


Commands referencing packages that share an Id often throw the error message "No installed package found matching input criteria"

Brief description of your issue
When upgrading programs that share an Id (ex: PostgreSQL.PostgreSQL and Microsoft.DotNet.SDK.6), the upgrade fails with an error message of No installed package found matching input criteria. Other commands such as uninstall can also fail when referencing packages by name. Them sharing an Id is an observation on my end for the packages that continually fail to perform winget actions, but this could be a larger issue or package specific issues.
Steps to reproduce
Install PostgreSQL 11 and PostgreSQL 15. Run winget upgrade to view that there are two entries for postgresql updates that both point to the latest version (16 at the time of writing this).
Expected behavior
I would expect that if I reference one of the available postgresql versions by their names during a command (ex: winget upgrade --name "PostgreSQL 11), that it would install PostgreSQL 16 and that the "available" upgrades for PostgreSQL 11 and PostgreSQL 15 would not appear anymore. I would also expect that winget upgrade --id "PostgreSQL.PostgreSQL", winget upgrade --name "PostgreSQL 11", and winget upgrade --name "PostgreSQL 15" would all succeed regardless of which one I ran whether I reference them by name or Id.
Actual behavior
References to the Id work for upgrades but references to the package name only sometimes work. Also, after upgrading to PostgreSQL 16, winget upgrade still shows the other postgresql versions as having an "available" upgrade but fail to "upgrade" when I try again. I'll list the steps for testing that I went through to verify that below:
I started with only versions 11 and 15 of PostgreSQL installed.
Listing available upgrades:
> winget upgrade
Name                                                               Id                           Version       Available     Source
----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11                                                      PostgreSQL.PostgreSQL        11            16.0          winget
PostgreSQL 15                                                      PostgreSQL.PostgreSQL        15            16.0          winget

Trying to update PostgreSQL 11 specifically by name (fails):
> winget upgrade --name "PostgreSQL 11"
No installed package found matching input criteria.

Trying to update PostgreSQL 15 specifically by name (succeeds):
> winget upgrade --name "PostgreSQL 15"
Found PostgreSQL 16 [PostgreSQL.PostgreSQL] Version 16.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
Successfully installed

Note: I uninstalled PostgreSQL 16 before the next step but I had to do it through the windows GUI under Add or remove programs since if I tried to do it via winget with the command winget uninstall --name "PostgreSQL 16", it failed with the error No installed package found matching input criteria..
Trying to update postgresql via the Id PostgreSQL.PostgreSQL (succeeds):
> winget upgrade --id "PostgreSQL.PostgreSQL"
Found PostgreSQL 16 [PostgreSQL.PostgreSQL] Version 16.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://get.enterprisedb.com/postgresql/postgresql-16.0-1-windows-x64.exe
  ██████████████████████████████   391 MB /  391 MB
Successfully verified installer hash
Starting package install...
Successfully installed

Even though PostgreSQL 16 is installed now, winget upgrade still lists the previous PostgreSQL versions as needing an upgrade. If I run any of the upgrade commands above again, they all display the error No installed package found matching input criteria.
> winget upgrade
Name                                                               Id                           Version       Available     Source
----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11                                                      PostgreSQL.PostgreSQL        11            16.0          winget
PostgreSQL 15                                                      PostgreSQL.PostgreSQL        15            16.0          winget
>
> winget upgrade --name "PostgreSQL 11"
No installed package found matching input criteria.
>
> winget upgrade --name "PostgreSQL 15"
No installed package found matching input criteria.
>
> winget upgrade --id "PostgreSQL.PostgreSQL"
No installed package found matching input criteria.

Environment
`Windows Package Manager v1.6.2771`
`Windows: Windows.Desktop v10.0.22621.2283`
`Package: Microsoft.DesktopAppInstaller v1.21.2771.0`

**Note:** This is the output from `winget --info` but I do have Windows 11, not 10 so I'm not sure why it shows 10 as my desktop version.

Related to:

https://github.com/microsoft/winget-cli/issues/2995

I'm seeing similarly:
 winget upgrade --include-unknown
Name                                                   Id                            Version        Available     Source
------------------------------------------------------------------------------------------------------------------------
Google Chrome                                          Google.Chrome                 117.0.5938.150 118.0.5993.71 winget
Windows Terminal                                       Microsoft.WindowsTerminal     1.18.2681.0    1.18.2822.0   winget
OBS Studio                                             OBSProject.OBSStudio          29.0.2         29.1.3        winget
Google Chrome                                          Google.Chrome                 117.0.5938.150 118.0.5993.71 winget
Microsoft ASP.NET Core 3.1.32 - Shared Framework (x64) Microsoft.DotNet.AspNetCore.6 < 6.0.5        6.0.23        winget
5 upgrades available.

I then perform:
Winget upgrade --disable-interactivity --force --id google.chrome
Found Google Chrome [Google.Chrome] Version 118.0.5993.71
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
  ██████████████████████████████   103 MB /  103 MB
Successfully verified installer hash
Starting package install...
Successfully installed

and then going back to:
winget upgrade --include-unknown
Name                                                   Id                            Version        Available     Source
------------------------------------------------------------------------------------------------------------------------
Google Chrome                                          Google.Chrome                 117.0.5938.150 118.0.5993.71 winget
Windows Terminal                                       Microsoft.WindowsTerminal     1.18.2681.0    1.18.2822.0   winget
OBS Studio                                             OBSProject.OBSStudio          29.0.2         29.1.3        winget
Microsoft ASP.NET Core 3.1.32 - Shared Framework (x64) Microsoft.DotNet.AspNetCore.6 < 6.0.5        6.0.23        winget
4 upgrades available.

You can see it upgraded one of them. If I do the the upgrade command again, I get this:
Winget upgrade --disable-interactivity --force --id Google.Chrome
No available upgrade found.
No newer package versions are available from the configured sources.

And if I issue this command, this is the result:
Winget upgrade --disable-interactivity --force --name "Google Chrome"
Multiple installed packages found matching input criteria. Please refine the input.
Name          Id
---------------------------
Google Chrome Google.Chrome
Google Chrome Google.Chrome

... you can see the IDs are identical.
Using the --exact flag doesn't help.
I'm also experiencing this issue with Microsoft.DotNet.AspNetCore.6


Units and settings for Schnet inference

Currently we just have Schnet_score as the tag, we should use the proper units and/or audit the settings we use for the input.
@kaminow do you have an idea of what settings we should be using for the model? We can always do more than one.

Should use pred_r="pIC50" to get the output not in eV

@kaminow I am adding this to 0.1.0 as we should probably fix units ASAP


Adding e2e openvpn support for Simply Secure

Which issue this PR addresses:
FEATURE 12563373
Simply Secure is introducing zero trust network policies within nonprod environments that E2E / CI pipelines deploy to.
What this PR does / why we need it:
Adding e2e openvpn support for Simply Secure.
Test plan for issue:
VPN and Simply Secure policies will be tested using E2E. Additional details in FEATURE 12563373.
Is there any documentation that needs to be updated for this PR?
Not at this point in time.

PR not required, please see https://github.com/Azure/ARO-RP/pull/2300


Add multiple users UX is confusing

Describe the issue:
How to reproduce:

Goto user management section in the console
Add new user -> select multiple useres
Enter a email for the user and proceed

Issue 1

Message is confusing as I did not intended to import a user from anywhere

Issue 2

What is the purpose of this user search?

Issue 3

Even there is a default set of roles and groups nothing is listed under the roles and groups step

Issue 4

state that the user creation ends up is different for creating individual users and multiple users

Issue 5

you have to press enter to properly add a user, otherwise, the user won't be created even if you proceed. There is no indication about how to add multiple users to the screen.

https://github.com/wso2/product-is/assets/5061791/eeb30298-c8a7-4463-a0a9-0700bcb580b6
Expected behavior:

user creation wizard should be self-explanatory and intuitive to use.

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

Issue 1

Message is confusing as I did not intended to import a user from anywhere

The summary view is common to both Manual and File-based approaches. We can update the messaging of the success alert to be more specific for the Manual View.
Issue 2

What is the purpose of this user search?

We can hide the user search when the list is empty
Issue 3

Even there is a default set of roles and groups nothing is listed under the roles and groups step

The role assignment is done as a later improvement and tracked with https://github.com/wso2/product-is/issues/17284.
Issue 4

state that the user creation ends up is different for creating individual users and multiple users

Since we are adding multiple users in this wizard, we implemented a summary view to represent the successful and failed creations. Hence we cannot end the user in the user profile view similar to the single user creation.
Issue 5

you have to press enter to properly add a user, otherwise, the user won't be created even if you proceed. There is no indication about how to add multiple users to the screen.

We identified that pressing enter is not intuitive here and discussed about including it in the underneath the email input.

Action items

[ ] Update the success/failed alert messaging from Import Successful to User Creation Successful for Manual option.

[ ] Disable the Invite button when the email field is empty or when the user enters an invalid email.

[ ] Update the hint text for the emails field Add the email address of the user you wish to invite and press enter.

Design Improvements
cc: @jeradrutnam

[ ] Update the title and descriptions to avoid the invite term

[ ] Add the info box to indicate that the newly created user receives the email to set the password.

[ ] Update the emails hint

let's make the email sending information similar to add user modal design. Remove the info icon and make to fluid.

Instead of showing that warning "Manual invite multiple users features can only be ..." message should show before coming to this page, if the email as username is disabled only, as a tip.
Primary user store input should change to a information instead.

A discussion need to done on following points

Instead of showing that warning "Manual invite multiple users features can only be ..." message should show before coming to this page, if the email as username is disabled only, as a tip.
Primary user store input should change to a information instead.

Primary user store input should change to a information instead. will be covered with https://github.com/wso2/product-is/issues/17681

Instead of showing that warning "Manual invite multiple users features can only be ..." message should show before coming to this page, if the email as username is disabled only, as a tip.

This will be addressed with https://github.com/wso2/product-is/issues/17613


:robot: Package update

Automated package update

Rejecting this until https://github.com/mandiant/VM-Packages/pull/903 is merged to avoid unnecessary conflicts


ISPN-7540 Calling getCache(String, String) - template overrides cache

definition

Throw exception when redefining a cache

https://issues.jboss.org/browse/ISPN-7540

Need to verify this doesn't break other modules, core was passing for me at least though.

Have a lot of tests in other modules that need to be looked at.


Provide easy way to globally DISABLE FORCED ALL CAPS

It would be super convenient to easily disable the forced all caps globally for MahApps.Metro.
I know about the TitleCharacterCasing property of the MetroWindow class, but it seems to only affect that one control. I've also seen a few examples of ways of doing this on other controls, but as far as I can tell, you have to do a fairly involved "restyling" of each control individually to make this happen - it's a lot of XAML code just to turn this one thing off and avoid having your app yell at your users.
If this already exists, apologies in advance. I swear, I really did look pretty extensively and didn't find it!

Hi @larrye11ison
what exactly do you mean by "easy"? There is the mah:ControlsHelper.ContentCharacterCasing- Property which controls this. And you can set this for each control separately or by defining your own Style.
Here is an example:
<!-- In your App.xaml -->

<Application
    [...]
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
    [...] >
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <!--  MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive!  -->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" />
            </ResourceDictionary.MergedDictionaries>

             <!-- Repeat this for each control-->
            <Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
                <Setter Property="mah:ControlsHelper.ContentCharacterCasing" Value="Normal" />
            </Style>

             <!-- OR if you want to base on another Style than the default -->
            <Style TargetType="{x:Type Button}" BasedOn="{StaticResource MahApps.Styles.Button.Flat}">
                <Setter Property="mah:ControlsHelper.ContentCharacterCasing" Value="Normal" />
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>

I think this is easy enough and the way MahApps and WPF works.
Happy coding
Tim

First off, I really appreciate the project! If someone does not want forced-upper-case, I think it’s incredibly likely they would want that across all controls, not mix-n-match per control type. So it would be really nice if there was one way to opt out of ALL CAPS across the board with one simple "statement” (chunk of XML in app.xaml, or whatever). Another way of putting it – this bit from your info below is what I’m saying makes it “not easy” (or perhaps I should say: “not as easy as my lazy a$$ would like it to be”!):             From: TimSent: Monday, June 14, 2021 1:22 AMTo: MahApps/MahApps.MetroCc: Not Larry Ellison; MentionSubject: Re: [MahApps/MahApps.Metro] Provide easy way to globally DISABLE FORCED ALL CAPS (#4126) Hi @larrye11isonwhat exactly do you mean by "easy"? There is the mah:ControlsHelper.ContentCharacterCasing- Property which controls this. And you can set this for each control separately or by defining your own Style.Here is an example:                                                                                I think this is easy enough and the way MahApps and WPF works.Happy codingTim—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.

@larrye11ison ¿ ?
Can you please review your answer? Thx

Holy crap, I replied to the email and there seems to be some "interesting" additions... Let's try this again, this time directly in Github.
First off, I really appreciate the project!
If someone does not want forced-upper-case, I think it’s incredibly likely they would want that across all controls, not mix-n-match per control type. So it would be really nice if there was one way to opt out of ALL CAPS across the board with one small/simple "statement” (chunk of XML in app.xaml, or whatever).
Another way of putting it – this bit from your info below is what I’m saying makes it “not easy” (or perhaps I should say: “not as easy as my lazy a$$ would like it to be”!):
    <!-- Repeat this for each control-->

Hi @larrye11ison
So yeah I think all developers are lazy a$$es, how else would you come to the idea that the computer should do most stuff? But anyway, having to write a few more lines of code IS easy. It may not be convinient but it IS easy. I think to provide a one liner to you there must be much more done on MahApps side. And this is a free time project, so I think for now you have to live with the code how it works...
Thank you for your understanding
Tim


[camera] CameraPreview is too big

Hello, I'm using the camera plugin, version 0.8.1
The CameraPreview is too big for both the rear and front cameras. The preview, on its natural 1.0x zoom level, seems to be more zoomed-in than 1.0x.
I've recorded a video of me taking a picture of my keyboard using a Motorola One Hyper so you can see it more clearly: you can access it here.
When previewing, right before taking the picture, you can only see the letters from T to I. Once the picture is taken, you can see that it actually captured the R and O letters too.
When using the system's camera app, the picture looks exactly like it was in its preview. This should be the behavior of this plugin too. Currently, not only the preview is bigger, but its usability is also compromised since the preview looks way more sensitive than it should be due to the higher zoom level.
I've also tried to use the exact same example code as stated in the docs but the problem persists.
I've tested on two devices:
Moto G4: working perfectly, no zoom problem
Motorola One Hyper: zoom problem as described above

@guilhermeagostinelli
Thanks for reporting this. It seems to be related to the aspect ratio due to which the cameraPreview may be resulting like that. Currently it is set to 16:9.  Please see below related issue and confirm if they resemble yours.
https://github.com/flutter/flutter/issues/15953
https://github.com/flutter/flutter/issues/80393

Hello @darshankawar,
I don't know if it is the same problem because I haven't been able to solve it not even after playing with Transform.scale and AspectRatio as suggested in https://github.com/flutter/flutter/issues/15953

Verified this on Samsung S10 using latest stable version and camera plugin example, but didn't notice the said issue, maybe it's device specific ?
Keeping this issue open for further insights.

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.5, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.0.5 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision adc687823a (3 days ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3

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

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

[✓] Android Studio (version 4.1)
    • 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
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (3 available)
	  • SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 10 (API 29)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 14.4.1
    • macOS (desktop)           • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

Hi @darshankawar , thanks for the response.
It's indeed device-specific, I've tested it on a Moto G4 and it works fine while in a Motorola One Hyper it doesn't.

I've tried changing the method CameraUtils::computeBestPreviewSize to return new Size(1024, 768) as suggested in https://github.com/flutter/flutter/issues/80393 but that didn't work for me either.

I've tried changing the method CameraUtils::computeBestPreviewSize to return new Size(1024, 768) as suggested in https://github.com/flutter/flutter/issues/80393 but that didn't work for me.

i've also noticed this in cases where the capture resolution is not 16:9.
for example, if we use ResolutionPreset.low, then we expect 320x240 (4:3) capture.
the preview will appear correctly at a 4:3 aspect ratio, but it will be zoomed in to the captured image.
it appears that an extra 16:9 conversion is happening somewhere. the preview image can be reconstructed from the saved image:
1- saved image is 320x240 (4:3)
2- crop saved image to 320x180 (16:9)
3- crop image from #2 to 240x180 (4:3)
the image from 3 looks identical to the preview image

@guilhermeagostinelli Revisiting this issue to check if it still exists using latest stable and camera plugin versions on the affected device ? It is not replicable on the device I verified using latest versions.


Trouble with ListenTradeEndpoint

I have integrated the Binance.API.Csharp.Client and can get the following listener to work
binanceClient.ListenTradeEndpoint("ethbtc", AggregateTradesHandler3)
So it works in principle.
However, when I try to implement user data it does not initialize:
binanceClient.ListenUserDataEndpoint(AccountHandler, TradesHandler, OrdersHandler);
(I copied the code + the three callback functions from the documentation.)
It fails silently on this line.   I can step through it and can see the line where it loses control.
It gets to the following function
public async Task CallAsync(ApiMethod method, string endpoint, bool isSigned = false, string parameters = null)
and does not make it through this line.
var response = await _httpClient.SendAsync(request).ConfigureAwait(false);
I downloaded the API a few days ago and have not made any changes to the wrapper code.
Any ideas as to how to approach this?  Does this part of the api work for others?
Thanks

In ConnectToUserDataWebSocket change these lines,
string data = eventData.e;
switch (data)
Then you will need to fix the account model which this will best reflect it
public class AccountUpdatedMessage
{
[JsonProperty("e")]
public string EventType { get; set; }
[JsonProperty("E")]
public long EventTime { get; set; }
[JsonProperty("m")]
public int MakerCommission { get; set; }
[JsonProperty("t")]
public int TakerCommission { get; set; }
[JsonProperty("b")]
public int BuyerCommission { get; set; }
[JsonProperty("s")]
public int SellerCommission { get; set; }
[JsonProperty("T")]
public bool CanTrade { get; set; }
[JsonProperty("w")]
public bool CanWithdraw { get; set; }
[JsonProperty("d")]
public bool CanDeposit { get; set; }
[JsonProperty("B")]
public IEnumerable Balances { get; set; }
}


In app chat support

Feature Description
We want to introduce in-app chat support ( both software based + human) in Keeper.
Details: https://bithyve-workspace.slack.com/archives/C02P2JWALJZ/p1707705534756269
**Pre-requisites/ dependencies

We need to have a clear idea of what the tool we're exploring for the software, would provide in terms of frontend design (thus hopefully reducing Summi's work)

https://xd.adobe.com/view/f1543c84-c25a-4ad6-81ca-1e0c540e956e-a407/screen/a33939bb-643b-496e-a406-94e55204b7f7/


Error from Switching Files

A note: program seemingly functions normally, except for climbing error count. Essentially, this is the issue: When running Brackets and switching between files (also on  initial loading of file during program start), new errors populate the error indicator. This is occurs even when running without extensions. The error from the console (love the new in-program console, by the way) reads as follows:
Exception in 'activeEditorChange' listener on Object TypeError: Cannot read property 'addModeClass' of undefined TypeError: Cannot read property 'addModeClass' of undefined
at eval (/view/ThemeManager.js:268:54)
at j (file:///D:/Program%20Files%20(x86)/Brackets/www/thirdparty/thirdparty.min.js:559:26860)
at Object.k.add [as done] (file:///D:/Program%20Files%20(x86)/Brackets/www/thirdparty/thirdparty.min.js:559:27169)
at refresh (/view/ThemeManager.js:260:45)
at eval (/view/ThemeManager.js:357:9)
at Object.trigger (/utils/EventDispatcher.js:222:40)
at _notifyActiveEditorChanged (/editor/EditorManager.js:165:17)
at _handleCurrentFileChange (/editor/EditorManager.js:182:9)
at Object.trigger (/utils/EventDispatcher.js:222:40)
at eval (/view/MainViewManager.js:1057:29)
It is also followed by this error, which is not counted (maybe due to apparent connection):
/utils/EventDispatcher.js:225 Assertion failed:/utils/EventDispatcher.js:225 trigger
Anyway, not a fatal issue, but persistent after reinstall of the program, so appears to be in Brackets proper (Version: Release 1.1 build 1.1.0-15558 (release ea908cae5) [with Extract]).

Yeah, this was my fault and was already fixed in https://github.com/adobe/brackets/pull/10236.
You won't see that error message in Brackets 1.2 any longer, and you can safely ignore it until then.

Closing as fixed (in next release, 1.2).  Note that the exception is harmless in the meantime.

Great, thanks guys!


Simple template vars

Gonna merge the first 4 then resubmit this separately and more focused - they were mostly cleanups.

Whoops, deleted it accidentally.

I'm happy to re-push without the commit/revert, but I think that code (or something like it) may prove useful to someone else maybe, and this doesn't affect our ability to move forward.


Model.findInStore needs to be updated to accept ref values.

Model.findInStore needs to be updated to accept ref values.

Fixed in https://github.com/feathersjs-ecosystem/feathers-vuex/commit/c8c2f7f4075e95419dfd38cdcbd39dd0ba6ef2cc

Just for information, vue-next implement a  unref utility function.

That should be part of the Vue Composition API’s exports.

On Apr 29, 2020, at 1:04 PM, J3m5<EMAIL_ADDRESS>wrote:
Just for information, vue-next implement a unref utility function https://github.com/vuejs/vue-next/blob/a0e2c1287466567d945e87496ce2f922f3dc6d8c/packages/reactivity/src/ref.ts#L84.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/feathersjs-ecosystem/feathers-vuex/issues/469#issuecomment-621403824, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA7OWLMTW5ZBSM4WJUJYCTRPB25HANCNFSM4MSNHCNQ.

There is isRef
so we can re-implement it or propose it to composition-api repo.

Well, it has been done but I don't see how it ended up.

We should totally implement it ourselves, the same as that link.  I’ve opened https://github.com/feathersjs-ecosystem/feathers-vuex/issues/471 https://github.com/feathersjs-ecosystem/feathers-vuex/issues/471 as a reminder.

On Apr 29, 2020, at 1:15 PM, J3m5<EMAIL_ADDRESS>wrote:
There is isRef https://github.com/vuejs/composition-api/blob/d1715e4985401fe62714cbea051219269454b5d6/src/reactivity/ref.ts#L139
so we can re-implement it or propose it to composition-api repo.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/feathersjs-ecosystem/feathers-vuex/issues/469#issuecomment-621409315, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA7OWOEXOJFBLUNJL7AXODRPB4GDANCNFSM4MSNHCNQ.


[Bug]: Group Folders are created in root for databases with a dataview query as source data.

Contact Details
<EMAIL_ADDRESS>What happened?
For a database with a dataview query as source data:

If we define a group folder as follows:

To map the "status" column:

Folders are created in the root of the vault.
Video:
https://user-images.githubusercontent.com/70922426/189695546-b5fd0122-d495-4539-95b7-196bf723a2b7.mp4
Would suggest that folder would be created under same folder as set in the destination folder:

What platform were you using?
Desktop
Version of the plugin
2.5.3.
Relevant log output
No response

Hi @cesarpereira904 , yeah I found this problem with your other issue https://github.com/RafaelGB/obsidian-db-folder/issues/367
Already resolved for the next version

Thank you Rafael,
You’re faster coding that me writing :)


[question] Seeing ConnectionClosed PeerClosed warning

Hi,
I am using Rediscala for some really simple key-value persistence operations.
During the server lifetime, we see a lot of r.a.RedisClientActor - ConnectionClosed PeerClosed.
These are logged at the warning level.
Is this something to be concerned about? We have some connection issues as well, and I am wondering if they are related.
We are running a Play server with an akka ActorSystem running on Heroku.
Can provide more information if this is domain specific.

I am seeing the same issue. Is there any update?
In my case I see the following:
[INFO] [02/19/2019 16:54:50.543] [testing-rediscala.rediscala-client-worker-dispatcher-6] [akka://testing/user/RedisClient-$a] Connect to localhost/<IP_ADDRESS>:6400
[INFO] [02/19/2019 16:54:50.554] [testing-rediscala.rediscala-client-worker-dispatcher-6] [akka://testing/user/RedisClient-$a] Connected to localhost/<IP_ADDRESS>:6400
[WARN] [02/19/2019 16:54:50.563] [testing-rediscala.rediscala-client-worker-dispatcher-6] [akka://testing/user/RedisClient-$a] ConnectionClosed PeerClosed
[INFO] [02/19/2019 16:54:50.564] [testing-rediscala.rediscala-client-worker-dispatcher-6] [akka://testing/user/RedisClient-$a] Trying to reconnect in 2 seconds
[INFO] [02/19/2019 16:54:52.583] [testing-rediscala.rediscala-client-worker-dispatcher-9] [akka://testing/user/RedisClient-$a] Connect to localhost/<IP_ADDRESS>:6400
[INFO] [02/19/2019 16:54:52.584] [testing-rediscala.rediscala-client-worker-dispatcher-9] [akka://testing/user/RedisClient-$a] Connected to localhost/<IP_ADDRESS>:6400
[WARN] [02/19/2019 16:54:52.593] [testing-rediscala.rediscala-client-worker-dispatcher-9] [akka://testing/user/RedisClient-$a] ConnectionClosed PeerClosed
[INFO] [02/19/2019 16:54:52.594] [testing-rediscala.rediscala-client-worker-dispatcher-9] [akka://testing/user/RedisClient-$a] Trying to reconnect in 2 seconds
[info] MyRedisStoreSpec
[info]      The RedisStore should
[info]          when calling get
[error]            x return an empty list if the key doesn't exist


Add RTL Style Support

The pushed branch need enhancements, right now fixing icons spacing.
Wait for a future commit fixing these issues.

RTL added #16


README: Update recommended jedis version

Now that jedis has released version 2.8.1, please update the README to reflect this.

Done, thx for reporting.


publishConfig property note should be improved

Please change "The build does not support using the publishConfig property" to something like "The build will fail, potentially with unrelated authentication errors, if you include the publishConfig property in your package.json config file" since this more closely describes the reality of this build system bug and the workaround required to avoid hitting it.

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

ID: d4cb48a1-d0bf-40b7-4645-910d4006fee9
Version Independent ID: 9bddd101-2bc2-f65c-6a12-e395b76a2b98
Content: Publishing npm packages - Azure Pipelines and TFS
Content Source: docs/pipelines/artifacts/npm.md
Product: devops
Technology: devops-cicd
GitHub Login: @thomps23
Microsoft Alias: amullans

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


Verify BLS Wallet contracts

As a BLS Wallet contract consumer
I would like to have the contracts uploaded & verified
So I can trust that the deployed contracts match what is in source code
Notes
https://ethereum.org/en/developers/docs/smart-contracts/verifying/
At a bare minimum, we should have a script that is capable of doing this process. Etherscan and/or Sourcify would be good first targets
In addition, it would be good to run this automatically on contract bytecode changes after:

Merges to main and/or
Release tags

Can you assign this issue to me

@ViharGandhi done

@ViharGandhi That sounds great to me :+1: If the hardhat config script is very long, might be worth breaking out to a new file.
Feel free to message me if you want more direct contact, or jump into the web3well discord
Discord: jacque006#2825
Telegram: @jacque006

@ViharGandhi Were you still interested in working on this? Otherwise I will close


Pane Events

Added event for pane openings (pane:open) and closes (pane:close)
Added an event for when an invisible component list is generated for the Component Pane

👍


Error on Foundry v11

Describe the bug
The module don't let the world start.
To Reproduce
Steps to reproduce the behavior:
Just start the world with the module active on Foundry v11.
Expected behavior
The world to initiate.
Screenshots

Please update to v0.6.3 where this is fixed


IE11 STATE_ENCRYPTION_KEY decode error

Sign on to test.ucom.gv.at failing with "ValueError: Error 65537 while instatiating the CBC mode" when calling _load_state() in satosa.base. (Being then generalized into satosa.exception.SATOSAUnknownError)
I observed that IE11 includes and empty STATE_ENCRYPTION_KEY cookie , causing the decrypt code in cookie_to_state() to fail with an exception that is not catched in _load_state.
...
return CbcMode(cipher_state, iv)
File "/opt/satosa/lib/python3.5/site-packages/Cryptodome/Cipher/_mode_cbc.py", line 101, in init
% result)
ValueError: Error 65537 while instatiating the CBC mode

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/opt/satosa/lib/python3.5/site-packages/satosa/proxy_server.py", line 113, in call
resp = self.run(context)
File "/opt/satosa/lib/python3.5/site-packages/satosa/base.py", line 277, in run
raise SATOSAUnknownError("Unknown error") from err
satosa.exception.SATOSAUnknownError: Unknown error

This is only IE11?

We have not done cross-browser testing yet. The client is only using IE11 and FF.

asking for a bit of review of this...

@rhoerbe Can you clarify if this is only observed with IE11 or if it is observed with browsers in addition to IE11? Also, can you specify a particular version or IE11? Thanks.

This was IE11 only. I tested with FF and Safari as well.

I tried to reproduce this with an IE11-vagrant-vm but couldn't. Either way, I changed the PR and I think it can be merged. If you have any comments, let me know soon; otherwise I will merge it towards the end of the week.

Thanks for your clean up, now this is quite shiny code :-)
Please go ahead with the merge


wrong characters returned

Hello I'm Alessandro, I was doing some test and I found out some problem with "particular" chars:
please provide the version of installed library and RN project.
"react-native": "0.64.3"
"react-native-blob-util": "^0.15.0"
a sample code snippet/repository is very helpful to spotting the problem.
import React, {Node, useState} from 'react';
import { SafeAreaView, ScrollView, StatusBar, TextInput,Button, useColorScheme, View,} from 'react-native';
import ReactNativeBlobUtil from 'react-native-blob-util'

const App: () => Node = () => {
  const [text,setText] = useState("")
  return (
    <SafeAreaView>
    <Button title="test" onPress={()=>{downloadFile("https://www.i18nqa.com/debug/utf8-debug.html","mm.txt")}}></Button>
    <TextInput defaultValue={text} multiline={true}></TextInput>
    </SafeAreaView>
  );
  async function downloadFile(url,fileName) {
    const { config, fs } = ReactNativeBlobUtil;
    const downloads = fs.dirs.DownloadDir;
    let status = 0;
    try {
      const res = await config({
        fileCache: true,
      }).fetch('GET', url);
      status = res.info().status;
      if (status == 200) {
        // the conversion is done in native code
        let base64Str = res.base64().then((d)=>{console.log("done base64")});
        // the following conversions are done in js, it's SYNC
        res.text().then((t)=>{console.log("done text");setText(t);});
      } else {
        // handle other status codes
        console.log("EROR", status);
      }
    } catch (errorMessage) {
      // error handling
      console.log(errorMessage, status);
    }
  }
};
  export default App;

For example € appears as "â�¬"
Can you please take a look?
Thanks
Alessandro

This is actually the correct behaviour.
Based on the implementation and standard for base64 only characters in the range U+0000 to U+00FF are supported. This does not include the € sign.
A workaround would e.g. be to first convert it to html representation, or to not relay on the base64 but e.g. use JSON to transport the data.

Just to understand: res.text()  imply a base64 conversion of the downloaded content?

Yes exactly.
See: https://github.com/RonRadtke/react-native-blob-util/blob/d52ba2ba5155252fd8a8e797dffd7684c59fcd17/class/ReactNativeBlobUtilBlobResponse.js#L79

solved by changing the response type before to request the text


What I need to do, if I want use CC with webhook (needed for GitHub Actions)

You have a check for webhooks, maybe better to add setting "Ignore webhooks"?
https://github.com/jonas747/yagpdb/blob/2e558b68509e0de9adf33635ae1ab08accfe4350/customcommands/bot.go#L299-L323

For example, I want to send command with webhook
curl -X POST -H 'Content-Type: application/json' -d '{\"content\": \"!delete_prev_release\", \"embeds\": null}' https://discord.com/api/webhooks/someNumbers/someLetters
This will delete previous release, what posted with webhook
Then I will post new release by using webhooks
curl -X POST -H 'Content-Type: multipart/form-data' -F 'file=@Release Linux (${{ needs.linux-discord-upload.outputs.run_id }}).tar.gz https://discord.com/api/webhooks/someNumbers/someLetters

Or maybe someone has better idea how to delete previous release and publish new with GitHub Actions, without creating any bots and another shit
Of course its possible to create new CC with GitHub API requests and scheduled updating, but its harder and IDK Golang


[BUG] - Styling tooltip Arrow

Describe the bug
When I change the css of the tooltip, the arrow stays the same color as the primary color.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
    <Tooltip
      content={content}
      css={{
        color: "gray",
        background: "#FFFBF1",
        border: "2px solid gray",
      }}
      placement="top"
      {...props}
    >
      {children}
    </Tooltip>

Expected behavior
The css should style the arrow as well.
Screenshots or Videos

Operating System Version
macOS
Browser
Chrome

Hey @landmann  sorry for the delay please upgrade to V2.
Override styles: https://nextui.org/docs/customization/override-styles
Tooltip Arrow Slot: https://nextui.org/docs/components/tooltip#slots


pull request for e2e test at 02/03/2017 16:56:08

:white_check_mark: Validation status: passed
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.


created a people page

I added a simple "people" page which loads the details from a yml data file. Let's get as many names on here as possible!
cc: @jhamman, @mcgibbon, @pwolfram, etc...

Thank you for implementing this! Would you like our information to get it in your initial PR (this might be more efficient), or should each of us be submitting separate PRs with our information once this one is merged?
This is my information, for one (with I hope the right formatting):
first_name: Jeremy
last_name: McGibbon
institution: University of Washington Department of Atmospheric Sciences
website: http://www.jeremymcgibbon.com/
email<EMAIL_ADDRESS>github: mcgibbon
twitter: jeremy_mcgibbon
orcid: 0000-0003-4955-9772
tags:

atmospheric science
climate

Thanks @mcgibbon! I was thinking people would add their individual details via PRs, but I have added yours manually for now.
I will merge this. Then we can notify the pangeo list.


[german] de/welcome/links-documentation.md

German reviewer roulette: @qznc would you have time to quickly review this translation?


increased latency with multi camera in the same process

We're using RS415 with FW <IP_ADDRESS>. librealsense 2.8.3, Windows 10 1709.
When using one RS415 we're seeing low latency, but when we connect 3 cameras we see a very obvious increase in latency. We can reproduce the issue in the multi-cam example app.
I'm attaching links to 2 videos showing the issue:
one camera: https://drive.google.com/open?id=1eTAxBEujdxrIbn6UgkqmwUVRpPiCoJNx
three cameras: https://drive.google.com/open?id=1Aqve0U4FBlgJPOMnHyQRbiwyz5tRMMor
We also ran an experiment where we run each camera in a separate process at the same time, and the latency was low, just like in one cameras case.
We have a dedicated USB controller per cameras.
We are seeing increased latency with DS430 when running 3 in parallel as well.

Hi @svensht2
Thanks for reporting, we will try to reproduce and localize the source of the latency.
Just to clarify, are you seeing this on just Windows 10 1709 or also on Linux?
In the meantime, can you please change the boolean at image.cpp:846 from true to false and see if it has any effect?
I suspect that since depth frames are provided to the application without being copied to a dedicated buffer, and the main-loop is running much slower, we don't return depth frames to the underlying subsystem (be it Media Foundation or V4L2) fast enough, introducing latency.

@dorodnic sorry, copy paste error. The system we're using is Ubuntu 16.04, we did not test this on windows.
we will try it out

Tried your suggestion, seem to improve things a bit, but issue is still there. You suspicion didn't quite made sense to me for our application (in which we still see latency) since we hold the frame for a very short time, however we do run at a slightly slower FPS than 30. I looked into the user space queue/dequeue and I did find that you allow for a queue of size QUEUE_MAX_SIZE = 10; When I set this number to 1 the issue goes away, even without your suggestion.
In a previous iteration of your API you allowed the user to set the queue depth, but I don't see the option for that anymore.

Hi
I tried to reproduce this issue locally, can you make sure you build the library with CMAKE_BUILD_TYPE=Release ?

I have localized the problematic queue to pipeline.h:19. When main is taking too long, this queue was reaching its maximum capacity.
Please disregard the comment about image.cpp.
I was only able to reproduce the problem in Debug.

@aangerma you're right, I think I was running multi-cam example in Debug, but my application was running in Release.
What is the expected behavior if my application is running at 25 FPS and the stream is set to 30? currently I think it will build up a 10 frames latency.

nm I see #938

The PR should improve the situation, even in Debug. Please close the issue if you have no additional questions on this topic


Remix uses the wrong CREATE2 opcode

Since I cannot find "CREATE2" into solc-js I have no idea what compiler remix uses so please point me to the right direction. I used the 0.5.0-nightly.2018.10.9+commit.4ab2e03b.Emscripten.clang compiler.
Issue: Per EIP 1014 the CREATE2 opcode is 0xf5 yet remix appears to implement this at 0xfb.
Hence change 0xfb -> 0xf5.
I manually changed 0xfb to 0xf5 and got my transaction which used create2 mined on geth (which uses Constantinople)

Solidity 0.5.0 will update this. It is an experimental opcode, which got changed over the months.


normal generation

It would be really great if the library could generate normals, based on the smoothing groups, if the model itself doesn't contain any normals.

I can compute smooth vertex normal, but don't know to compute normal using the smoothing groups. Do you have any idea?

Hi, thanks for your reply. Smoothing groups work like this -> http://i.imgur.com/YHxnW9d.png
Normals are only averaged together with faces that share the same smoothing group. It's so you can give models hard edges, instead of everything being rounded. Final result looks like -> http://img.photobucket.com/albums/v224/elbazo/minitut.jpg
http://www.3dmax-tutorials.com/graphics/il_smoothing_groups.jpg
Lib3ds has a function that does something very similar to what we want.
void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float (*normals)[3])
https://code.google.com/p/lib3ds/source/browse/trunk/src/lib3ds_mesh.c

Thanks. I think I understand how smoothing groups works and how to implement it, but may need some time. And I highly appreciate if you give us test .obj models which uses smoothing groups.

Hi,
The spec for OBJ has some examples

 Cube with group names

The following example is a cube with each of its faces placed in a
separate group.  The
squares are placed in a smoothing group to ensure that their common
edge will be smoothed when rendered with Image.
v 0.000000 2.000000 0.000000
v 0.000000 0.000000 0.000000
v 2.000000 0.000000 0.000000
v 2.000000 2.000000 0.000000
v 4.000000 0.000000 -1.255298
v 4.000000 2.000000 -1.255298
# 6 vertices

g all
s 1
f 1 2 3 4
f 4 3 5 6
# 2 elements

 Two adjoining squares with vertex normals

This example also shows two squares that share a common edge. Vertex
normals have been added to the corners of each square to ensure that
their common edge will be smoothed during display in Model and PreView
and when rendered with Image.
v 0.000000 2.000000 0.000000
v 0.000000 0.000000 0.000000
v 2.000000 0.000000 0.000000
v 2.000000 2.000000 0.000000
v 4.000000 0.000000 -1.255298
v 4.000000 2.000000 -1.255298
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.276597 0.000000 0.960986
vn 0.276597 0.000000 0.960986
vn 0.531611 0.000000 0.846988
vn 0.531611 0.000000 0.846988
# 6 vertices

# 6 normals

g all
s 1
f 1//1 2//2 3//3 4//4
f 4//4 3//3 5//

If you need any more let me know and I'll try and dig out some

@syoyo, @dukeeeey, any update on this issue? It would very useful feature indeed.

Still no one is working on this. You can contribute a patch!

Here is an example implementation for flat shading. It can be placed before the final return statement of LoadOBJ(...)  and by adding generateNormals as another optional boolean parameter to LoadOBJ(,,,). The method used for surface normal calculation is described here: https://support.microsoft.com/en-us/kb/131130 and the result is then scaled to a unit vector.
   if(generateNormals) {
	  // Ensure there are no normals loaded
	  vn.clear();
	  for (size_t i = 0; i < shapes.size(); i++) {
		  assert((shapes[i].mesh.positions.size() % 3) == 0);
		  float nx, ny, nz = 0.0f; // normal for current triangle
		  float vx1, vx2, vx3 = 0.f; // vertex 1
		  float vy1, vy2, vy3 = 0.f; // vertex 2
		  float vz1, vz2, vz3 = 0.f; // vertex 3
		  for (size_t v = 0; v < shapes[i].mesh.positions.size() / 3; v++) {
			  float x = shapes[i].mesh.positions[3.f*v];
			  float y = shapes[i].mesh.positions[3.f*v+1];
			  float z = shapes[i].mesh.positions[3.f*v+2];
			  switch(v % 3) {
			  case 0:
				  // Defining first point in triangle
				  vx1 = x;
				  vy1 = y;
				  vz1 = z;
				  break;
			  case 1:
				  // Defining second point in triangle
				  vx2 = x;
				  vy2 = y;
				  vz2 = z;
				  break;
			  case 2:
				  // Defining third point in a triangle
				  vx3 = x;
				  vy3 = y;
				  vz3 = z;
				  float qx, qy, qz, px, py, pz;
				  // Calculate q vector
				  qx = vx2 - vx1;
				  qy = vy2 - vy1;
				  qz = vz2 - vz1;
				  // Calculate p vector
				  px = vx3 - vx1;
				  py = vy3 - vy1;
				  pz = vz3 - vz1;
				  // Calculate normal
				  nx = py * qz - pz * qy;
				  ny = pz * qx - px * qz;
				  nz = px * qy - py * qx;
				  // Scale to unit vector
				  float s = sqrt(nx*nx + ny*ny + nz*nz);
				  nx /= s;
				  ny /= s;
				  nz /= s;
				  // Add the normal 3 times (once for each vertex)
				  for(int j=0; j<3; j++) {
					  shapes[i].mesh.normals.push_back(nx);
					  shapes[i].mesh.normals.push_back(ny);
					  shapes[i].mesh.normals.push_back(nz);
				  }
				  break;
			  }
		  }
	  }
  }

*Some modifications will be necessary to support non-triangular meshes.

Yeah, simple flat or smooth normal calculation is rather easy. How about getting smooth shading normal using smoothing groups, @chrisliebert ? (We need to add support for parsing smoothing groups tag firstly, though)

This is the approach I had in mind, might take while to get right.

calculate normals with flat shading (or preserve values from .obj)
iterate over each smoothing group (with tag) and perform the following:

construct a list of triangle edges (an edge contains two indices that represent the shared vertices)
iterate through the edges and recalculate the normal for each vertex by taking the sum of the two flat normal vectors and dividing by the length of their sum to produce a "smooth" unit vector

Thoughts:
*Updating the normals in-place could cause issues on vertices that intersect multiple edges so those vertices with n edges need to be smoothed n-1 times
*The entire process should be re-entrant since each edge will have two vertices with the same normal already, so recomputing their average will not change the values after the algorithm is applied initially.

The entire process should be re-entrant

I guess you can simply allocate another buffer for smooth normal(its OK to consume moderate memory amount in tinyobjloader)

Smoothing group  support and smoothing normal calculation is now  in master branch based on @gopalss 's PR(smoothing normal calculation is done inviewer example).
I have at least confirmed it works well with this test set: https://github.com/syoyo/tinyobjloader/blob/master/models/smoothing-group-two-squares.obj
So I close this issue.


Chore: Upgrade nns-js and update CODEOWNERS

@mstrasinskis please review
I'd rather not bother anyone else at the moment, hehe.


Feature: Multi-server improvements for destination Monitoring

Rudimentary multi-server support using Cachestore and heartbeat
Supports a LockID and heartbeat time
Runs a task every X seconds looking for an active monitor

Codecov Report

Merging #112 (d2719c0) into master (4c6cb98) will decrease coverage by 0.19%.
The diff coverage is 19.64%.

@@            Coverage Diff             @@
##           master     #112      +/-   ##
==========================================
- Coverage   51.02%   50.82%   -0.20%
==========================================
  Files         108      108
  Lines       11633    11712      +79
==========================================
+ Hits         5936     5953      +17
- Misses       5295     5355      +60
- Partials      402      404       +2

Flag
Coverage Δ

unittests
50.82% <19.64%> (-0.20%)
:arrow_down:

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

Impacted Files
Coverage Δ

chainstate/monitor_client.go
0.00% <0.00%> (ø)

client_internal.go
80.18% <0.00%> (+8.40%)
:arrow_up:

monitor.go
0.00% <0.00%> (ø)

tasks.go
0.00% <0.00%> (ø)

model_destinations.go
59.07% <59.25%> (+0.01%)
:arrow_up:

client_options.go
79.22% <100.00%> (+0.05%)
:arrow_up:

Continue to review full report at Codecov.

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


Unable to install angular-cli

Details:

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 7 Enterprise /  64 bit

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:
node: v6.7.0
npm : 3.10.8
git: 2.10.1.Windows.1

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

I have a project successfully running locally:  Angular2 / Typescript / npm
I did setup proxy for npm using command, so so npm install for other packages work fine
Now to deploy I wanted to use angular-cli
tried command: npm install -g angular-cli and got bunch of errors
I thought may be angular-cli is not able to get webpack, so ran command npm install -g webpack and it worked fine
I googles and lot of ppl said, its because of proxy, so ran following:
set HTTP_PROXY=http://[proxy user name]:[URL encoded password]@[proxy server]:[proxy port]

set HTTPS_PROXY=%HTTP_PROXY%
setx HTTP_PROXY %HTTP_PROXY%
setx HTTPS_PROXY %HTTP_PROXY%
npm config set proxy %HTTP_PROXY%
npm config set https-proxy %HTTP_PROXY%
npm config set strict-ssl false
npm set registry https://registry.npmjs.org/
git config --global https.proxy %HTTP_PROXY%
git config --global http.proxy %HTTP_PROXY%
git config --global url."https://".insteadOf git://
git config --global url."https://github.com/".insteadOf<EMAIL_ADDRESS>

The log given by the failure.
c:\work\projects\gitRepo\AngularProjects\angular2-click>npm install -g angular-cli
npm WARN addRemoteGit Error: Command failed: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit
npm WARN addRemoteGit     at ChildProcess.exithandler (child_process.js:206:12)
npm WARN addRemoteGit     at emitTwo (events.js:106:13)
npm WARN addRemoteGit     at ChildProcess.emit (events.js:191:7)
npm WARN addRemoteGit     at maybeClose (internal/child_process.js:877:16)
npm WARN addRemoteGit     at Socket. (internal/child_process.js:334:11)
npm WARN addRemoteGit     at emitOne (events.js:96:13)
npm WARN addRemoteGit     at Socket.emit (events.js:188:7)
npm WARN addRemoteGit     at Pipe._handle.close [as _onclose] (net.js:493:12)
npm WARN addRemoteGit  webpack/compression-webpack-plugin#7e55907cd54a2e91b96d25a660acc6a2a6453f54 resetting remote C:\Users\sd40040\AppData\Roaming\npm-cache
_git-remotes\git-github-com-webpack-compression-webpack-plugin-git-7e55907cd54a2e91b96d25a660acc6a2a6453f54-ec76b2fe because of error: { Error: Command faile
d: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit
npm WARN addRemoteGit     at ChildProcess.exithandler (child_process.js:206:12)
npm WARN addRemoteGit     at emitTwo (events.js:106:13)
npm WARN addRemoteGit     at ChildProcess.emit (events.js:191:7)
npm WARN addRemoteGit     at maybeClose (internal/child_process.js:877:16)
npm WARN addRemoteGit     at Socket. (internal/child_process.js:334:11)
npm WARN addRemoteGit     at emitOne (events.js:96:13)
npm WARN addRemoteGit     at Socket.emit (events.js:188:7)
npm WARN addRemoteGit     at Pipe._handle.close [as _onclose] (net.js:493:12)
npm WARN addRemoteGit   killed: false,
npm WARN addRemoteGit   code: 1,
npm WARN addRemoteGit   signal: null,
npm WARN addRemoteGit   cmd: 'git -c core.longpaths=true config --get remote.origin.url' }
npm ERR! git clone --template=C:\Users\sd40040\AppData\Roaming\npm-cache_git-remotes_templates --mirror git://github.com/webpack/compression-webpack-plugin.
git C:\Users\sd40040\AppData\Roaming\npm-cache_git-remotes\git-github-com-webpack-compression-webpack-plugin-git-7e55907cd54a2e91b96d25a660acc6a2a6453f54-ec7
6b2fe: Cloning into bare repository 'C:\Users\sd40040\AppData\Roaming\npm-cache_git-remotes\git-github-com-webpack-compression-webpack-plugin-git-7e55907cd54
a2e91b96d25a660acc6a2a6453f54-ec76b2fe'...
npm ERR! git clone --template=C:\Users\sd40040\AppData\Roaming\npm-cache_git-remotes_templates --mirror git://github.com/webpack/compression-webpack-plugin.
git C:\Users\sd40040\AppData\Roaming\npm-cache_git-remotes\git-github-com-webpack-compression-webpack-plugin-git-7e55907cd54a2e91b96d25a660acc6a2a6453f54-ec7
6b2fe: fatal: unable to access 'https://github.com/webpack/compression-webpack-plugin.git/': SSL certificate problem: self signed certificate in certificate chain

Sometimes the proxy login doesn't work well, and you need a proxy that does not need login. Many people use something called CNTLM for that (you set it as proxy, and enter the real proxy details inside it).
This happens when downloading one of the packages via git not npm registry, which is now changed (as of https://github.com/angular/angular-cli/pull/2709), but the change isn't released yet (will be part of beta-18, since it's in repo already).
The fastest way would be to install from a network that doesn't require the proxy if this is possible.
At home for example of this a laptop.  At my current customer they have a "Guest" network that cannot access email or anything but doesn't require the proxy, so some developers switch to it to install stuff and go to main network after done.
Another workaround is to fiddle with CNTLM as the proxy, or something similar.

Thanks for the reply Meligy, I have proxy that does not require login.
As I work for a bank, everything is very secure for the right reasons, so I can not download without proxy or run it using home network.
Seems like I'll have to wait for beta-18, I'll use some other tool (than cli) for now for my lil POC; unless somebody else here gives any other solution.
Thanks again.

Someone have any idea for the beta 18 release date?

@skdhir beta.18 was released with https://github.com/angular/angular-cli/pull/2709, which fixes this issue.

@filipesilva and @Meligy ...
Thanks for the replies but I'm lil confused.
So GIT beta 18 is released already? I couldn't find link to download beta 18, can you please post teh link here.
Thanks in Advance and Sorry for posting this on Sunday night.

https://git-scm.com/download/win says last release was 19 days ago.

after re-reading all teh messages several times, I understand it was fixed as part of #2709, but until and unless users are not able to download that version and test it, I think closing pre-release is little too early.
Appropriate status should be released to QA / Waiting for Prod-release or something similar.

@skdhir https://github.com/angular/angular-cli/pull/2709 was released in beta.18 of angular-cli, which is out now.

oh ok, my bad; I was under impression that I need newer git.
BTW I was able to install angular-cli now
Thanks again.


Create an MPI example

It would be good if we had an MPI example for our users.

It turns out the horovod example covers this!


Make Preview Downloadable/Installable

The only reason I create a VM on azure is to then download the .\NAVDVD and .\Demo to my PC and do a local install.
The azure VM's are bugy to deploy and if you forget to turn them off, expensive.
Can you put the bits somewhere to download? Even partnersource would be acceptable. ;-)

I guess we have to wait for the VS Code extension to become publicly available.
There are some other options though:
Option 1: use a cheaper VM (you need to create your own template, fairly easy)
Option 2: download the whole VM harddisk and create a Hyper-V VM (download takes a while)
Option 3: use docker (attend the session about that at Directions / NAVTechDays)

Thanks for trying to answer my question but I hope you are not offended if it is a Microsoft answer I am looking for.
I don't think we have to wait until it is publicly available. I am already running everything local for several months.

Just trying to help, I have used the first two options myself and played with option 3.
Of course it is possible to install local, it's just not the official method because it is still a beta product. The official method would be, in my opinion, to have it available as a VS Code extension.
No offense at all...

I know you are trying to help.
The compiler already is a VS Code extension, it is just not yet downloadable like CRS's. The compiler is included in the .\Demo folder and the PowerShell script installs it. To update your existing system you need to first manually uninstall the extension.
All extremely easy to do by hand, just a few steps.

Sure, I now the procedure. Like you, I just don't like it to manually install it every time an update comes out. That's why I use a my own Azure template with a (slightly) cheaper VM and a PowerShell script to create, start and stop it (which is just a click away). Put the code on GitHub and you can just throw away and recreate a new machine in a breeze. That's for the time being of course.

I seem to remember a post (didn't find it though) where @StanislawStempin mentioned Microsoft was working on a new way to distribute updates.. specifically stating that setting up a new VM wouldn't be necessary.
But again - didn't find it. So if not, it must have been a dream that I obviously share with you ;-).

Closing the thread based on two new ways that we distribute the bits:

Docker images
VS Marketplace for the VSIX + Online Sandbox for the runtime


PR: Add new toolbar plugin

Description of changes

A new ToolBar plugin in charge of managing the application toolbars, and toolbar sections sections.
Plugins that need to add a toolbar or add items (Actions/Widgets) to the main application toolbar area bar will require this plugin.
The API of toolbars now lives in this plugin instead of the global spyder.api since the plugin is in charge of those specifics.

Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @goanpeca

Hello @goanpeca! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/app/mainwindow.py:

Line 1014:52: E127 continuation line over-indented for visual indent
Line 1016:53: E127 continuation line over-indented for visual indent
Line 1018:49: E127 continuation line over-indented for visual indent
Line 1020:53: E127 continuation line over-indented for visual indent

In the file spyder/plugins/help/plugin.py:

Line 111:5: E303 too many blank lines (2)

@juanis2112, @steff456, please give a manual review to this PR.

Thanks @goanpeca!
On my manual review I found out that everything looks/works fine for me except for one thing:
There is something weird going on with the hovering over the first three buttons (from left to right). It seems like hovering state is only activated when the cursor is not on top of the icon. If I put my cursor on the center of the button, it doesn't seem to change to the hover state and it doesn't work when pressing the button, however putting it closer to the edges works. Here is a gif that hopefully will make this clearer:

(This only happens locally, I tested it on Binder and it looks fine)

HI @goanpeca, I'm having the same behavior than Juanita and also as you can see in her gif, there's no tooltip on those buttons.

It seems like hovering state is only activated when the cursor is not on top of the icon. If I put my cursor on the center of the button, it doesn't seem to change to the hover state and it doesn't work when pressing the button, however putting it closer to the edges works.

Thanks for the feedback @juanis2112 and @steff456 , will take a look.

@steff456 I do see a tooltip but I think it takes a while to load so that's why it is not shown in the gif. But that might be something to check too @goanpeca cause it might be taking longer than usual.

Hi @juanis2112, there was indeed an issue. I believe is now solved, could you and @steff456 test again?
Thanks!

In case the gif is not displaying the tooltips.

A suggestion for future PR reviews is to take a look at the  section so that you can provide the review using the Review changes buttons

In here you can either:

Comment if you need to have more information have questions on something on the Pull Request to either Approve or Request further changes.
Approve  if all looks fine and you agree with the current state of the Pull Request
Request changes if this specific Pull Request introduced an issue or regression. If the problem is reproducible in 4.x or/and master then opening a separate new issue for the problems found may be a better choice, since the changes on the Pull request did not introduce the problem.

By doing that the Reviewer state

will go from pending (yellow dot) to reviewed and waiting for answers or changes (double arrow icon).
And the cycle can then be repeated as requested changes are made from the PR author.
Also by doing this, when a PR is finally approved by 1 or more developers, the PR state can go from

to ready for review.
Cheers!

\show binder

/show binder

Hi @goanpeca, that issue was fixed in the last commit!


Re-enable check-unused-dependencies in CI

Objective
Fixes #5155. This should work now that the semver breaking dependency of the CI crate got yanked, but we'll see what CI has to say about it.

bors r+


[✨] useVisibleTask$ rootMargin option

Is your feature request related to a problem?
Hello!
I'm creating a lazy loaded section that needs to fetch data client side only, and I was able to achieve that by using useVisibleTask$.
Now, the rendering of this section might vary depending on the data, so to prevent CLS issues I would like to set the rootMargin option to the intersection observer used under the hood.
Describe the solution you'd like
I'm imagining the useVisibleTask$ taking an optional parameter for the observer:
  useVisibleTask$(() => {
     ...
    },
    { strategy: 'intersection-observer', observerOptions: { rootMargin: '200px' } }
  )

Describe alternatives you've considered
I was poking around the code, and looks like all useVisibleTask$ are sharing the intersection observer instance here, so it's not clear to me how can we pass this option without creating an observer per each hook, which would be a performance disaster.
Additional context
No response

Thanks for this proposal. I close it because we have #5031


Support server-side encryption options

It would be useful if s3cli could be configured to use server-side encryption, pulling options like ServerSideEncryption, SSECustomerAlgorithm, etc. from the config file and passing them to PutObject. I'm interested in this feature for use with bosh (https://github.com/cloudfoundry/bosh/pull/1278). If you all would be open to it, I'd be happy to submit a pull request.

@jmcarp i think it makes sense as long as we make it work optionally. s3cli also works for s3 compatible blobstores and gcp's blobstore (https://main.bosh-ci.cf-app.com/pipelines/s3cli).

tricky part is probably making sure that we expose configuration properties for this in the Director and the AWS CPI.


Closes #1238: Agent mappings are pushed to remote git repository on config server initialization

This change is

Sorry, forgot one test case. Need to adjust.


GUI Alaram Clock In Python

update project_doc.md file with the description of your project or add another readme file in your project folder and raise another PR.


haskell.packages.ghc94.gio: fix pkgconfigDepends

Description of changes
The haskell.packages.ghc94.gio fails to build, affecting packages that relies on it.
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

hold on, building .#haskell.packages.ghc94.gtk still fails... let me see if I can piggyback this in.

@hellwolf When you figure out your problem, make sure to also base this on the haskell-updates branch, not master, by doing the "draft -> rebase -> undraft" dance as described in https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging

@hellwolf When you figure out your problem, make sure to also base this on the haskell-updates branch, not master, by doing the "draft -> rebase -> undraft" dance as described in https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging

Sure done.
I am wondering, if there is already other attempt of fixing the gtk package? It seems an important one?

fwiw:
$ nix build .#haskell.packages.ghc94.gtk
error: builder for '/nix/store/cx9kb62aiaj2mkhq8d3df27ndwwd0c41-gtk-0.15.7.drv' failed with exit code 1;
       last 10 log lines:
       > [2 of 2] Linking Setup
       > configuring
       > configureFlags: --verbose --prefix=/nix/store/nr8lgwjhglxjvwmpbcpzc1805bm7h15c-gtk-0.15.7 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --datadir=/nix/store/lg9fycpx9pmcrwvxpq2k2gw9xxvzgym4-gtk-0.15.7-data/share/ghc-9.4.5 --docdir=/nix/store/rmv7hnlg7lzlr82y2nz9lzrkjhsj5d9k-gtk-0.15.7-doc/share/doc/gtk-0.15.7 --with-gcc=gcc --package-db=/build/tmp.yFVlNFYoqu/package.conf.d --ghc-options=-j12 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --ghc-options=-haddock --extra-lib-dirs=/nix/store/q5mhssfls6iych80439511vz7539gd95-ncurses-6.4/lib --extra-lib-dirs=/nix/store/zi3wndir89vvbly8fkdwvq9v17vrpw8h-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/q7ax2400mx46afnkcbfxfjddzgl4ck44-gmp-with-cxx-6.2.1/lib --extra-include-dirs=/nix/store/82mg5carpqkrsvkq3mwzm8lzjl7hai2g-gtk+-2.24.33-dev/include --extra-lib-dirs=/nix/store/82mg5carpqkrsvkq3mwzm8lzjl7hai2g-gtk+-2.24.33-dev/lib --extra-include-dirs=/nix/store/39y7z1csp1gwbv4kapxf9kxx3rj29403-glib-2.76.1-dev/include --extra-lib-dirs=/nix/store/39y7z1csp1gwbv4kapxf9kxx3rj29403-glib-2.76.1-dev/lib --extra-include-dirs=/nix/store/lf6arf2qj94qs6bkzfl2y75chb7awmx9-zlib-1.2.13-dev/include --extra-lib-dirs=/nix/store/lf6arf2qj94qs6bkzfl2y75chb7awmx9-zlib-1.2.13-dev/lib --extra-lib-dirs=/nix/store/2ldgh1qis9p4zf8bgsdm7897gw8vv36g-zlib-1.2.13/lib --extra-include-dirs=/nix/store/5nl887dh4mi80dm1m243bzxng81glc8i-libffi-3.4.4-dev/include --extra-lib-dirs=/nix/store/5nl887dh4mi80dm1m243bzxng81glc8i-libffi-3.4.4-dev/lib --extra-lib-dirs=/nix/store/zi3wndir89vvbly8fkdwvq9v17vrpw8h-libffi-3.4.4/lib --extra-include-dirs=/nix/store/rvw19191b3w7z0q99r0qnl5gwp3jr8n2-gettext-0.21/include --extra-lib-dirs=/nix/store/rvw19191b3w7z0q99r0qnl5gwp3jr8n2-gettext-0.21/lib --extra-include-dirs=/nix/store/c4rbjkvlwcicy0z0v85h4lbi6qxk2m31-glibc-iconv-2.37/include --extra-lib-dirs=/nix/store/pdg7ljsallvykhjwdh8193i2s4p3a4k4-glib-2.76.1/lib --extra-include-dirs=/nix/store/byd60fgkicd0fl5fvpds96jx6qq1rf3d-cairo-1.16.0-dev/include --extra-lib-dirs=/nix/store/byd60fgkicd0fl5fvpds96jx6qq1rf3d-cairo-1.16.0-dev/lib --extra-include-dirs=/nix/store/fwx7acy9cjyxirbpni63v5l9qg681skh-fontconfig-2.14.0-dev/include --extra-lib-dirs=/nix/store/fwx7acy9cjyxirbpni63v5l9qg681skh-fontconfig-2.14.0-dev/lib --extra-include-dirs=/nix/store/8k1k5skz60xawzy4v3b5wdazq2ps8r6c-freetype-2.13.0-dev/include --extra-lib-dirs=/nix/store/8k1k5skz60xawzy4v3b5wdazq2ps8r6c-freetype-2.13.0-dev/lib --extra-include-dirs=/nix/store/n0hk7kbmiy9glz7jvx6zycfbbcdq735n-bzip2-1.0.8-dev/include --extra-lib-dirs=/nix/store/n0hk7kbmiy9glz7jvx6zycfbbcdq735n-bzip2-1.0.8-dev/lib --extra-lib-dirs=/nix/store/by4gv37sharnf370ki60zam5s7qklqqh-bzip2-1.0.8/lib --extra-include-dirs=/nix/store/fsl89imqn7glm4wivnl772d2h849rhdc-brotli-1.0.9-dev/include --extra-lib-dirs=/nix/store/fsl89imqn7glm4wivnl772d2h849rhdc-brotli-1.0.9-dev/lib --extra-lib-dirs=/nix/store/9gka2mj1hm3s8m21xln47is1529ir6ny-brotli-1.0.9-lib/lib --extra-include-dirs=/nix/store/gyzxvvpriv3cl40a2b6zaxnwd5xkhlmj-libpng-apng-1.6.39-dev/include --extra-lib-dirs=/nix/store/gyzxvvpriv3cl40a2b6zaxnwd5xkhlmj-libpng-apng-1.6.39-dev/lib --extra-lib-dirs=/nix/store/87ss2z65fh1vn052jlzbp51vwpair2ws-libpng-apng-1.6.39/lib --extra-lib-dirs=/nix/store/qbazz3n06qgvm0ima7rh27mk67yiwdc8-freetype-2.13.0/lib --extra-lib-dirs=/nix/store/5cd778rq3ykjpirdwi16wvblkskhj264-fontconfig-2.14.0-lib/lib --extra-include-dirs=/nix/store/ikvk5h1wy3sc3vaf4ccych0xrkhp6w1p-expat-2.5.0-dev/include --extra-lib-dirs=/nix/store/ikvk5h1wy3sc3vaf4ccych0xrkhp6w1p-expat-2.5.0-dev/lib --extra-lib-dirs=/nix/store/si8ypl8afi2s301wwxrrcvirz05x022r-expat-2.5.0/lib --extra-include-dirs=/nix/store/jcqpapaplsfp91nc656mv44jmbp0m2gl-pixman-0.42.2/include --extra-lib-dirs=/nix/store/jcqpapaplsfp91nc656mv44jmbp0m2gl-pixman-0.42.2/lib --extra-include-dirs=/nix/store/8zzg2w8plb7ax4zjfbyl50wv86dd8bz1-libXext-1.3.4-dev/include --extra-lib-dirs=/nix/store/8zzg2w8plb7ax4zjfbyl50wv86dd8bz1-libXext-1.3.4-dev/lib --extra-include-dirs=/nix/store/qjlpy5db17yzcari5qgrw4wazf63vp0q-xorgproto-2021.5/include --extra-include-dirs=/nix/store/f8ssajgv1qpcibs503jacsfd7wgmww4g-libXau-1.0.9-dev/include --extra-lib-dirs=/nix/store/f8ssajgv1qpcibs503jacsfd7wgmww4g-libXau-1.0.9-dev/lib --extra-lib-dirs=/nix/store/k3ryz9pc069qvd8q4r8pk8jlgycmbvcc-libXau-1.0.9/lib --extra-lib-dirs=/nix/store/f5nqkykqapg20r60f3dad6pn9yb45p37-libXext-1.3.4/lib --extra-include-dirs=/nix/store/snhvz53gwr9acfpwa7yl92qzc0ji6l4k-libXrender-0.9.10-dev/include --extra-lib-dirs=/nix/store/snhvz53gwr9acfpwa7yl92qzc0ji6l4k-libXrender-0.9.10-dev/lib --extra-include-dirs=/nix/store/f525j4v68yl89l93iz0wjq0gkxrhx70z-libX11-1.8.4-dev/include --extra-lib-dirs=/nix/store/f525j4v68yl89l93iz0wjq0gkxrhx70z-libX11-1.8.4-dev/lib --extra-include-dirs=/nix/store/fafw3wb5wvamqaqdjlabqyrypapl1xd8-libxcb-1.14-dev/include --extra-lib-dirs=/nix/store/fafw3wb5wvamqaqdjlabqyrypapl1xd8-libxcb-1.14-dev/lib --extra-lib-dirs=/nix/store/fxdjjfnh9csd8sl6w26c49pbirh0ialr-libxcb-1.14/lib --extra-lib-dirs=/nix/store/xrk3b8djcgivyjy7v9hs0w8abn245382-libX11-1.8.4/lib --extra-lib-dirs=/nix/store/4vfw1575jw6h9srk32zb5r568md3gd7f-libXrender-0.9.10/lib --extra-include-dirs=/nix/store/w13591a7q160s7025a80xdjcbcshq2k0-xcb-util-0.4.0-dev/include --extra-lib-dirs=/nix/store/w13591a7q160s7025a80xdjcbcshq2k0-xcb-util-0.4.0-dev/lib --extra-lib-dirs=/nix/store/245pfnlkah0qdm2w098918pp6rigib1q-xcb-util-0.4.0/lib --extra-include-dirs=/nix/store/sr9gwxbdmpi3lb1bz0v5dvgck95fcv58-libGL-1.6.0-dev/include --extra-lib-dirs=/nix/store/sr9gwxbdmpi3lb1bz0v5dvgck95fcv58-libGL-1.6.0-dev/lib --extra-lib-dirs=/nix/store/qbr2f598v05wn3wkxghk1rvd2ds1rmb0-libGL-1.6.0/lib --extra-lib-dirs=/nix/store/0c35qnpznypfc6jdw26kasdbfz39s3if-libglvnd-1.6.0/lib --extra-include-dirs=/nix/store/whgh6f2vlyv980fbip076wsnjca34r1r-libglvnd-1.6.0-dev/include --extra-lib-dirs=/nix/store/whgh6f2vlyv980fbip076wsnjca34r1r-libglvnd-1.6.0-dev/lib --extra-lib-dirs=/nix/store/6vbjx9vvc1gjbc9mdz6lwrwr7z3px9vz-cairo-1.16.0/lib --extra-include-dirs=/nix/store/j9cgl2qpfjyrgqlf9rbr1i5w2z8b2gqx-pango-1.50.14-dev/include --extra-lib-dirs=/nix/store/j9cgl2qpfjyrgqlf9rbr1i5w2z8b2gqx-pango-1.50.14-dev/lib --extra-include-dirs=/nix/store/8y4q81sliddcdg4kiigvs23f3p1a5axy-harfbuzz-7.1.0-dev/include --extra-lib-dirs=/nix/store/8y4q81sliddcdg4kiigvs23f3p1a5axy-harfbuzz-7.1.0-dev/lib --extra-include-dirs=/nix/store/1qqjmcq93hc7qsshvzyrnc9s1fh5a3q5-graphite2-1.3.14/include --extra-lib-dirs=/nix/store/1qqjmcq93hc7qsshvzyrnc9s1fh5a3q5-graphite2-1.3.14/lib --extra-lib-dirs=/nix/store/cj1992h929iymzvbaj15s4hpli5yb1xq-harfbuzz-7.1.0/lib --extra-include-dirs=/nix/store/fvvw0pw4ypmdchsp1w2bjh5lgchcfqwf-libXft-2.3.6-dev/include --extra-lib-dirs=/nix/store/fvvw0pw4ypmdchsp1w2bjh5lgchcfqwf-libXft-2.3.6-dev/lib --extra-lib-dirs=/nix/store/r045y00m78c5r0d2nx0y7cc61xvlqb4m-libXft-2.3.6/lib --extra-lib-dirs=/nix/store/v47jn4xsjb3wnc1yz5bagigr2brzv36g-pango-1.50.14/lib --extra-include-dirs=/nix/store/4jgr65if55lvw95q62yqapkqim13fcrp-gdk-pixbuf-2.42.10-dev/include --extra-lib-dirs=/nix/store/4jgr65if55lvw95q62yqapkqim13fcrp-gdk-pixbuf-2.42.10-dev/lib --extra-include-dirs=/nix/store/q83r3c2c0ziw2kch7iaygpqw9hq0lbjk-libtiff-4.5.0-dev/include --extra-lib-dirs=/nix/store/q83r3c2c0ziw2kch7iaygpqw9hq0lbjk-libtiff-4.5.0-dev/lib --extra-include-dirs=/nix/store/vl5x6vail0czk8s5s8jz81wwb3l1wdrp-libjpeg-turbo-2.1.4-dev/include --extra-lib-dirs=/nix/store/vl5x6vail0czk8s5s8jz81wwb3l1wdrp-libjpeg-turbo-2.1.4-dev/lib --extra-lib-dirs=/nix/store/qk1bkdd3p3d7cyw97v6q882a3557lwh9-libjpeg-turbo-2.1.4/lib --extra-include-dirs=/nix/store/b76imzrhblhnaardsvcg0id3arykczlk-xz-5.4.2-dev/include --extra-lib-dirs=/nix/store/b76imzrhblhnaardsvcg0id3arykczlk-xz-5.4.2-dev/lib --extra-lib-dirs=/nix/store/5533i5qzsxysjf38p1nlza9g9wvh09wk-xz-5.4.2/lib --extra-lib-dirs=/nix/store/pxhxaw32p49l573mnsswb5dfykjxk3zq-libtiff-4.5.0/lib --extra-lib-dirs=/nix/store/fxz9jb5rks0qjsb0vgz6bpmpd1dk8yqn-gdk-pixbuf-2.42.10/lib --extra-include-dirs=/nix/store/3m8yx39r5g8w5pj21q2yc0js0q1pdsj9-at-spi2-core-2.48.0-dev/include --extra-lib-dirs=/nix/store/3m8yx39r5g8w5pj21q2yc0js0q1pdsj9-at-spi2-core-2.48.0-dev/lib --extra-include-dirs=/nix/store/rcywra0lbhi0716kfk8pbgj2fwi3y38s-dbus-1.14.6-dev/include --extra-lib-dirs=/nix/store/rcywra0lbhi0716kfk8pbgj2fwi3y38s-dbus-1.14.6-dev/lib --extra-lib-dirs=/nix/store/nza07njlr2d8yapmbyp9yvckkm79fsm2-dbus-1.14.6-lib/lib --extra-lib-dirs=/nix/store/w2865s7kqhll9x3d7pn7i9pvzp3yqxn2-dbus-1.14.6/lib --extra-lib-dirs=/nix/store/8ds9pxpx50bvg5r298d81dyxl1vqpav9-at-spi2-core-2.48.0/lib --extra-include-dirs=/nix/store/yy0cxffvvxxk646jnb8qvp9jwik9f5qx-libXrandr-1.5.2-dev/include --extra-lib-dirs=/nix/store/yy0cxffvvxxk646jnb8qvp9jwik9f5qx-libXrandr-1.5.2-dev/lib --extra-lib-dirs=/nix/store/lvwnnpp96r61mzgngh134n19jiifmfh5-libXrandr-1.5.2/lib --extra-include-dirs=/nix/store/x3b9h3kxh4rmasax4fmzz7gj6x58xa26-libXcomposite-0.4.5-dev/include --extra-lib-dirs=/nix/store/x3b9h3kxh4rmasax4fmzz7gj6x58xa26-libXcomposite-0.4.5-dev/lib --extra-include-dirs=/nix/store/h0pd23286hq328h9h9f9dwrvc0qv9kk8-libXfixes-6.0.0-dev/include --extra-lib-dirs=/nix/store/h0pd23286hq328h9h9f9dwrvc0qv9kk8-libXfixes-6.0.0-dev/lib --extra-lib-dirs=/nix/store/r0cam1k92j19aw745pygsmk1hz7fj5v1-libXfixes-6.0.0/lib --extra-lib-dirs=/nix/store/4204zdw9mxzjdy9dsfm2j36ampk0gslm-libXcomposite-0.4.5/lib --extra-include-dirs=/nix/store/n8b68g22dj1r16dkcmxxpikp44162b78-libXi-1.8-dev/include --extra-lib-dirs=/nix/store/n8b68g22dj1r16dkcmxxpikp44162b78-libXi-1.8-dev/lib --extra-lib-dirs=/nix/store/d4fs71sh9jgigbnmxy3wjcf4gbkm37zl-libXi-1.8/lib --extra-include-dirs=/nix/store/zn7i0qiy414vb1anbsv4cfp8zlfb7rf5-libXcursor-1.2.0-dev/include --extra-lib-dirs=/nix/store/zn7i0qiy414vb1anbsv4cfp8zlfb7rf5-libXcursor-1.2.0-dev/lib --extra-lib-dirs=/nix/store/klvj220q7hsgh2jxk9aqa4bv79xhxfw8-libXcursor-1.2.0/lib --extra-include-dirs=/nix/store/a469ccjiwam7013bvbhzcvmk73cn90sx-libXinerama-1.1.4-dev/include --extra-lib-dirs=/nix/store/a469ccjiwam7013bvbhzcvmk73cn90sx-libXinerama-1.1.4-dev/lib --extra-lib-dirs=/nix/store/wjxyrh84l046y26y1i7xvz6nd7z3r48w-libXinerama-1.1.4/lib --extra-include-dirs=/nix/store/kngmlgd46bl7v7lj6b26p24f151gq9bl-cups-2.4.2-dev/include --extra-lib-dirs=/nix/store/kngmlgd46bl7v7lj6b26p24f151gq9bl-cups-2.4.2-dev/lib --extra-include-dirs=/nix/store/xzvwh5cqhya45wr83lv0n15alyrz08pm-gmp-with-cxx-6.2.1-dev/include --extra-lib-dirs=/nix/store/xzvwh5cqhya45wr83lv0n15alyrz08pm-gmp-with-cxx-6.2.1-dev/lib --extra-lib-dirs=/nix/store/q7ax2400mx46afnkcbfxfjddzgl4ck44-gmp-with-cxx-6.2.1/lib --extra-lib-dirs=/nix/store/2jaclr2mrwkwhpgqs7l77k9z38kkvg4l-cups-2.4.2-lib/lib --extra-lib-dirs=/nix/store/fqszskyf5vshwj2nl1f7r5dykvbcxpnd-cups-2.4.2/lib --extra-lib-dirs=/nix/store/g7d4cpds94p4jr9lihnj8njw0a62bq14-gtk+-2.24.33/lib --extra-include-dirs=/nix/store/82mg5carpqkrsvkq3mwzm8lzjl7hai2g-gtk+-2.24.33-dev/include --extra-lib-dirs=/nix/store/82mg5carpqkrsvkq3mwzm8lzjl7hai2g-gtk+-2.24.33-dev/lib
       > Using Parsec parser
       > Configuring gtk-0.15.7...
       > CallStack (from HasCallStack):
       >   withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:370:14 in Cabal-<IP_ADDRESS>:Distribution.Simple.Utils
       > Error: Setup: Encountered missing or private dependencies:
       > text >=<IP_ADDRESS> && <1.3
       >
       For full logs, run 'nix log /nix/store/cx9kb62aiaj2mkhq8d3df27ndwwd0c41-gtk-0.15.7.drv'.

Found a way to fix gtk.

@ofborg build haskellPackages.gio haskellPackages.gtk

Would be nice if you could split the refactoring and the change into separate commits for review.
Also commit message of haskellPackages.gio: … etc. is more appropriate since this change affects all package sets. I also hope you have tested this in other (at least the main) package set(s).

Done.
Separated in two two commit, and all tested with ghc92, ghc94. With ghc96, they fail.

This looks good to me, and building .#haskell.packages.ghc9{2,4}.g{io,tk} works.

You haven’t actually split converting into pipe and adding one override into different commits, like sterni asked.
You have unneccessary parentheses around doJailbreak
The jailbreak should have a comment with a link to an upstream issue about the restrictive text bound or a link about the unreleased fix or something. If neccessary you need to open an issue like that.

This looks good to me, and building .#haskell.packages.ghc9{2,4}.g{io,tk} works.
* You haven’t actually split converting into pipe and adding one override into different commits, like sterni asked.

* You have unneccessary parentheses around doJailbreak

* The jailbreak should have a comment with a link to an upstream issue about the restrictive text bound or a link about the unreleased fix or something. If neccessary you need to open an issue like that.

check it out again.

Sorry, forgot this earlier, but I have one last change request. The doJailbreak does not belong in this file but into configuration-ghc-9.4.x.nix if you move it into a separate override there I will merge this.

Sorry, forgot this earlier, but I have one last change request. The doJailbreak does not belong in this file but into configuration-ghc-9.4.x.nix if you move it into a separate override there I will merge this.

done!

Excellent!

Just realized that this PR breaks eval on darwin because of the selinux dependency.

oh shoot, would disable selinux for gtk on darwin work?

I fixed it with https://github.com/NixOS/nixpkgs/pull/227288/commits/f7e7809ad57126f8f33a2d289b01fedf662ccbf4 but this feels a bit fishy. It’s unclear to me whether all those overrides are needed on all plattforms.

I fixed it with f7e7809 but this feels a bit fishy. It’s unclear to me whether all those overrides are needed on all plattforms.

Agreed. I had to manually add them because of the builds fail on my x86_64-linux environment.


Add autorecover-alarm action

Pairs nicely with the singleton filter.

I realize these changes bled into the singleton filter a bit. I realized there was an error in the filter, so took the opportunity to correct and allow the action to use the same logic.

Thanks for the review. I've utilized the ValueFilter to do the ASG filtering, and it's pretty obvious that was a better solution. Thanks for your help!

Any more thoughts here @kapilt ? Thanks!


Fuzz test: fuzz_failover_mito_regions fails

What type of bug is this?
Incorrect result
What subsystems are affected?
Other
Minimal reproduce step
See https://github.com/GreptimeTeam/greptimedb/actions/runs/9731119264/job/26855350465
2024-06-30T10:56:40.7542618Z artifact_prefix='tests-fuzz/artifacts/fuzz_failover_mito_regions/'; Test unit written to tests-fuzz/artifacts/fuzz_failover_mito_regions/timeout-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
2024-06-30T10:56:40.7543574Z Base64: Cg==
2024-06-30T10:56:40.7543870Z ==43558== ERROR: libFuzzer: timeout after 1672 seconds
2024-06-30T10:56:40.7544254Z SUMMARY: libFuzzer: timeout
2024-06-30T10:56:40.7749506Z
2024-06-30T10:56:40.7750467Z ────────────────────────────────────────────────────────────────────────────────
2024-06-30T10:56:40.7751159Z
2024-06-30T10:56:40.7751327Z Failing input:
2024-06-30T10:56:40.7751581Z
2024-06-30T10:56:40.7752384Z    tests-fuzz/artifacts/fuzz_failover_mito_regions/timeout-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
2024-06-30T10:56:40.7753254Z
2024-06-30T10:56:41.5361650Z Output of `std::fmt::Debug`:
2024-06-30T10:56:41.5362449Z
2024-06-30T10:56:41.5362813Z    FuzzInput {
2024-06-30T10:56:41.5363186Z        seed: 10,
2024-06-30T10:56:41.5363665Z        columns: 20,
2024-06-30T10:56:41.5364113Z        rows: 1185,
2024-06-30T10:56:41.5364539Z        tables: 55,
2024-06-30T10:56:41.5364986Z        inserts: 2,
2024-06-30T10:56:41.5365430Z    }
2024-06-30T10:56:41.5365866Z
2024-06-30T10:56:41.5366077Z Reproduce with:
2024-06-30T10:56:41.5366329Z
2024-06-30T10:56:41.5367641Z    cargo fuzz run --fuzz-dir tests-fuzz -D --sanitizer=none fuzz_failover_mito_regions tests-fuzz/artifacts/fuzz_failover_mito_regions/timeout-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
2024-06-30T10:56:41.5368488Z
2024-06-30T10:56:41.5368762Z Minimize test case with:
2024-06-30T10:56:41.5368955Z
2024-06-30T10:56:41.5369780Z    cargo fuzz tmin --fuzz-dir tests-fuzz -D --sanitizer=none fuzz_failover_mito_regions tests-fuzz/artifacts/fuzz_failover_mito_regions/timeout-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
2024-06-30T10:56:41.5370589Z
2024-06-30T10:56:41.5370904Z ────────────────────────────────────────────────────────────────────────────────
2024-06-30T10:56:41.5371252Z
2024-06-30T10:56:41.5371396Z Error: Fuzz target exited with exit status: 70
2024-06-30T10:56:41.5384310Z ##[error]Process completed with exit code 1.
2024-06-30T10:56:41.5429659Z ##[group]Run kubectl describe nodes
2024-06-30T10:56:41.5430061Z kubectl describe nodes
2024-06-30T10:56:41.6471568Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}

What did you expect to see?
Should pass
What did you see instead?
Failed
What operating system did you use?
Not relevant
What version of GreptimeDB did you use?
Not relevant
Relevant log output and stack trace
No response

I reduced the inserting data size of test in 94e24fe870e47ebeb2717aeecded1252b45842a8.
It seems like it takes too much time due to too much compaction and flushing.

Another case
https://github.com/GreptimeTeam/greptimedb/actions/runs/9846576576/job/27184816015
@WenyXu


Diffing.image(precision:) should be scale aware

While working with snapshot-tests on a large scale, we resorted to lowering the snapshot resolution in some cases to improve performance. This was achieved by reducing the displayScale of the trait collection passed to the Snapshotting.image() method.
While the results are as expected, when the snapshot-test fails, the attached diff is incorrect.
Example
Notice the plus icon in the corner, which has the correct size while the i icon is scaled up.

Solution
I noticed that the image diffing strategy uses the UIScreen.main.scale constant to load the reference snapshot from disk (Sources/SnapshotTesting/Snapshotting/UIImage.swift#L16).
This causes the reference image being a different size the new snapshot when creating the diff, which results in a pretty much useless XCTestAttachment.
I suggest to resolve this by passing the displayScale from the trait collection through to the image diffing strategy. I prepared the necessary changes and would like to open a PR as soon as possible if nobody finds anything wrong with my approach.

This sounds good to us! Thanks for exploring the solution.

@moritzsternemann This also appears to be a dupe of #243, right? I'm going to close this, but feel free to reopen if you think the issues are distinct.

@stephencelis yes, I totally missed that!


Don't require the serde feature of url

Ends up meaning that in full crate compiles that url doesn't wait for
serde to finish, which in turn enables crates like git2 to start
sooner!

r? @nrc
(rust_highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit 2f79b202ee2a7bc51834705b81cd76aed9a6307d has been approved by ehuss

:hourglass: Testing commit 2f79b202ee2a7bc51834705b81cd76aed9a6307d with merge cdf7f6380a7a23a5bffc26ab35fc434200f30ad6...

:sunny: Test successful - checks-azure
Approved by: ehuss
Pushing cdf7f6380a7a23a5bffc26ab35fc434200f30ad6 to master...


[SPARK-41417][CORE][SQL] Rename _LEGACY_ERROR_TEMP_0019 to CANNOT_PARSE_VALUE_TO_DATATYPE

What changes were proposed in this pull request?
This pr aims rename _LEGACY_ERROR_TEMP_0019 to CANNOT_PARSE_VALUE_TO_DATATYPE
Why are the changes needed?
Proper names of error classes to improve user experience with Spark SQL.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions

friendly ping @MaxGekk

+1, LGTM. Merging to master.
Thank you, @LuciferYang.

Thanks @MaxGekk


Use custom envvar CARGO_MACHETE_LOG as log filter

This makes it more project-specific and avoid spamming unintended logs for users having RUST_LOG=debug in their development environment.

Thanks for the PR, but is this common practice? I've never seen anything like this in any other tool, and I'd suspect you could tweak the RUST_LOG line easily to avoid getting spammed by cargo-machete's log (even if, arguably, this doesn't scale with the number of exclusions you want to set up):
RUST_LOG=debug,cargo_machete=warn

is this common practice?

I didn't find any documentation explicitly saying which one is better. It would be good if you can find some existing discussion. In my own experience, the name RUST_LOG is overly generic and can easily affect wrong programs when you have many Rust-written tools.

RUST_LOG=debug,cargo_machete=warn

This mostly works, but it requires awareness of cargo-machete, thus is not suitable to commit into the repository as a default direnv setup. Another big issue is that RUST_LOG syntax may not always be compatible, for example, tracing-subscriber has a slightly extended syntax.
You could also argue that user could change to use their own env var instead. But cargo-machete is a development tool whose goal, I believe, is to ease and improve user's development experience. And users hardly really mean to enable cargo-machete's logging.

(The poll has now been deleted, due to my aggressive self-deletion policy, uh, but) The poll's result was that most people don't care, because they don't run cargo-machete at the same time as another program; running cargo-machete as part of another command at the same time would be a great justification to have a separate log env variable, though.
So since this is not the most common use case, let's find another way: do you think it'd make sense to have a way to configure what the env variable with a runtime switch? By default it'd use RUST_LOG as the env logger env variable, and if you pass e.g. --with-custom-log, it'd use CARGO_MACHETE_LOG?

because they don't run cargo-machete at the same time as another program

Maybe my previous comment is not clear enough, but my use case is NOT a program running at the same time, but having RUST_LOG set for the whole development environment. Because I need them most of time during prototyping. And when occasionally run cargo machete in that environment, it unexpectedly (in my perspective) also print logs.

By default it'd use RUST_LOG as the env logger env variable, and if you pass e.g. --with-custom-log, it'd use CARGO_MACHETE_LOG?

My need is to make cargo-machete easier to NOT print logs in my use case, so this does not fix the issue for me, nor making it easier. Because I still need to cargo machete --with-custom-log NO, which is even longer than RUST_LOG= cargo machete.
If the final decision is to not changing the envvar to use, I'm fine to use my own patched version or add a shell wrapper for it, and it does not take too long the compile.

Sounds good, let's keep it that way then. Thanks for opening a discussion and PR though!