Use dialog to warn users about lack of upload permissions

Summary
Add a popup dialog to notify the user to check access permission when they are restricted to upload.
Relevant Technical Choices
Add a RestrictAccessDialog component
Add a state [hasRestrictAccess] and pass MissingUploadPermissionDialog component under mediaPane component.
Add a onRestrictAccess props function on useMediaPicker, for controlling the dialog show.
To-do
N/A
User-facing changes
Will get a popup warning dialog instead of Snackbar when they click on the upload button and do not have access.
Testing Instructions
The Snackbar should no longer shows up.
The dialog should popup with the accurate instruction test when not permitted user click on the 'Upload' button.
The dialog should close when the user click on 'GOT IT'

Fixes #2481

Dialog screenshot:

Does this supersede #5153 then?

Does this supersede #5153 then?

Right, I create this PR for making things cleaner and easier to read.

Confused about the karma tests failing:

Tried to run karma tests from main branch, it will fail this test as well.
And I don't think the fix on this PR can affect the test.
Can the team help check?

Looks like the test failure was a flake? Try not to force-push if you can help it to preserve history.

Looks like the test failure was a flake? Try not to force-push to preserve history.

Got it!


Support asynchronous sending of chunked responses

@tao-an 这应该是半成品，我不确定如果这样改会不会对框架造成影响，另外sendResponses那个函数似乎也需要改，但是我不确定应该如何改，你能检查一下这个mr吗

In the context of pipelining, it's possible to send multiple responses simultaneously. Subsequent responses need to wait for asynchronous responses to complete before being sent. This is a challenging issue that may require modifying the underlying Trantor interface to prevent data interleaving. @Greisby , what are your thoughts on this?

对于pipelining似乎没有支持chunked的必要吧，无论怎么发最后都要按照顺序排队返回

我得想一下，我之後寫HTTP/2 server會有點難搞。我覺的我們得有一個乾淨的API

I modified your PR a bit to support trantors new API: https://github.com/fantasy-peak/drogon/compare/master...tripleslash:drogon:master

I modified your PR a bit to support trantors new API: fantasy-peak/drogon@master...tripleslash:drogon:master

I modified your PR a bit to support trantors new API: fantasy-peak/drogon@master...tripleslash:drogon:master

You can send a new mr and I will close this mr


refactor: remove card theming

#458  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


SHADOWED_VARIABLE false positive within static functions

Godot version
4.0-beta10
System information
Windows 10, Vulkan
Issue description
The SHADOWED_VARIABLE warning gives a false positive when a variable in a static function scope has the same name as an instance field. This shouldn't be the case since instance fields are not in the same scope as static functions.
Here's a very minimal repro:
class_name StaticFuncShadow
extends RefCounted

static func static_func(x: String) -> void:
    print(x)

var x: String = ""

Steps to reproduce

Create a class with an instance field named x.
Give that class a static function with a parameter named x.
After running the project, the debugger complains that the static function parameter x shadows the instance field x.

Minimal reproduction project
LinterError.zip

It's not exactly the same issue, but I would also advocate for relaxing this warning inside constructor methods. In my experience it's pretty common for instance fields to be assigned directly from constructor parameters, and it's silly to have to change the name just to work around the linter warning.
For example, the following is a very common pattern in other languages (Python, Java, JavaScript, C#, and others) that isn't possible to do in GDScript without getting a warning:
var my_field

func _init(my_field):  # <-- SHADOWED_VARIABLE warning
    self.my_field= my_field

Duplicate of #63120.
@khellste _init is not any different in that aspect, the shadowing warning is correct in that case. That's expected behavior, not a bug. So if anything, what you're suggesting for _init could be a subject for a discussion in Godot Improvement Proposals.


Assorted CMake fixes

Description
Over time I accumulate lots of little fixes that I find while solving other problems. I've collected enough build system improvements to justify a PR now. Each commit explains my rationale and many include extended commit messages further explaining the changes so look at the commit log for more info.

SFMLBuildMaster: Build this please.

SFMLBuildMaster: Build this please.

Thanks for cleaning that up! 🥳


Optimization to avoid re-fetching the node on each resolver call

Note that the node is now guaranteed to always be available.
This is my suggestion from https://github.com/omry/omegaconf/pull/679#discussion_r614137195

Can you explain how you were able to make the node non-optional? was the case for None node only coming from the grammar test?

Yes actually the only place where node was None in the previous code was in these grammar tests, due to not providing the key.


should support nginx-proxy and ssl out of the box

SSL is now default, we should support if out of the box so that everyone can develop applications with SSL by default.

let's disable this by default as nginx-proxy still has lots of problems. Anyone can try this by enabling it via vagrant_config_override.json
I'm trying to see if https://github.com/ehazlett/interlock is a better fit or something that the two can complete each other.


Add "sync" functionality to the client

This adds a "rsync-like" interface, object sync, to the command line client.  Example:
pelican object sync pelican://localhost:8444/tmp/test /tmp/download

This can be called multiple times; partially-downloaded files will be completed and completed files will be skipped (similar behavior on uploads).
The intent for this functionality is to allow someone to do a transfer of a large number of files into the OSDF from a host that might be rebooted or otherwise interrupted.
This includes multiple small bugfixes discovered in the client while testing, including:

Fixed client hang for transfers of empty directories.
Fixed client hang if the transfers finish before the directory walk finishes
Do not consider a zero-sized file an error.
If the director notices a namespace requires authorization -- but the client didn't provide a token -- then don't bother performing a stat (as it's just going to fail immediately).  In this case, the client will retry the director lookup once it's acquired a token.

Good catch!  Indeed, it should to the correct thing when you pass it a file name.
That said, what's the current behavior without the patch?  If the "sync" behavior matches the current behavior, I'd consider the behavior a bug and can be fixed in a separate PR.

@bbockelm What do you mean by current behavior? A pelican object get of a single file works fine.

@turetske - can you redo that last commit with proper git author metadata?  GitHub renders the author as "your name" now.

@turetske - can you redo that last commit with proper git author metadata? GitHub renders the author as "your name" now.

@bbockelm Done


Custom (Additional) Save format for Runtime

Description: Current save format, ScriptableObjects, cannot be created and saved at runtime nor saved externally. So, a new save file format for runtime is needed. It should be optional for the Editor but essential for Runtime.
Maybe Binary, but more likely XML, just like Substance's .sbs.
State: None. Along with it there should be an attribute-based tagging system for extra variables that need to be saved in each Node/NodeKnob subtype. The rest is hardcoded as it is known what to save, obviously.
Please notify me before working on this to discuss some details:)

Hi, before doing of that, need to understand how to load something :). I spent four hours by two days and still don't understand how to open window and create some nodes that I needed after opening windows. How it I can do? Saving something in some format really ease if we have some certain interfaces.

How do you mean that? Do you mean adding nodes through the editor window interface? :D

@WeslomPo, if you need a piece of code to add a Node, refer to this comment I made to another user.

Ah ok, you mean programmatically. There is an even simpler alternative to create nodes:
SomeNodeType node = Node.Create (SomeNodeType.GetID, ScreenToGUIPos (Event.current.mousePosition)) as SomeNodeType;

@Seneral this not working :)
[MenuItem("Tools/VilEditor")] public static void Open() { 	NodeEditorWindow.CreateEditor (); 	Node node = Node.Create ("Vil:Generator", new Vector2(100,100)); }
:(

Make sure you have set the canvas you want to place the node on as the current canvas (NodeEditor.curNodeCanvas) as mentioned before, this will only be done during the drawing phase or if you set it manually. It is not optimal, I know, might change that later on. Also make sure the node with the ID "Vil:Generator" exitsts if that is still not working;)

@Seneral ok, I have done that moment, but it working not properly and some times throw an error that it has not a NodeType of "CalcNode.ID" type for example, and any other types.

@WeslomPo Sorry, missed that the editor of course have to be initialized when you tryto call this directly after loading the window. Initializing is usually only done in the OnGUI function but it is possible elsewhere. Try calling NodeEditor.ReInit (false); which will tell the framework to load all resources and setup everything but the GUI part (which is only possible in OnGUI due to unity constraints)

@Seneral works not perfectly, sometimes showing nothing, sometimes load as expected.
Now I always catch exception when using a object value and that unload all nodes and breaks all progress. I commented code that clear data while catch exception and It began to work more tolerant, but all my node loose object values for some reason. :(

Ok, if your doing it before the framework was initialized (in the Open function f.E.), use this:
NodeEditor.ReInit (false); // Make sure the framework is initiated
_editor.AssureCanvas (); // Make sure a canvas is loaded
NodeEditor.curNodeCanvas = _editor.mainNodeCanvas; // Set the canvas to create the Node on as the current one

// Location is the canvas center (mouse pos won't work in creation)
CalcNode node = Node.Create (CalcNode.ID, Vector2.zero) as CalcNode; // Creating a calc node
Debug.Log (node.name);

if your using it in the GUI of the editor window when it's sure it is initiated and the canvas is existant, use something like this:
if (GUILayout.Button (new GUIContent ("Add my Node")))
{
	NodeEditor.curNodeCanvas = mainNodeCanvas;
	CalcNode node = Node.Create (CalcNode.ID, NodeEditor.ScreenToGUIPos (mainEditorState, Event.current.mousePosition)) as CalcNode;
	Debug.Log (node.name);
}

That should work, maybe the names vary a bit because I changed them in that area on my development copy....

In addition I just noticed something odd, the first node would be a type mismatch in the save file. That's actually because the functionality to add the new node to the save file is done through a callback in NodeEditorWindow, the SetupCacheEvents, which is only called in OnEnable. Sou you would need to call the node creation afterwards, else you get a null node the first time the editor initializes...

** Removed off-topic node creation discussion **

New update: I'm finally working on this:)
State: Aleady far in, most stuff stands and is integrated:)
The goal is to allow fast and easy implementation of own formats, even for custom databases. So as with most systems, it is fully modular, just extend the ImportExportFormat base class and program the IO routines:) Also, you can easily add an interface if you need, say, special access to a custom database to import/export to. No big deal, just a few lines of code in the format declaration itself.
Also, the NodeCanvas is optionally served in a seperate, linked and structured data format which makes it easier to interface with alot of formats like XML. It removes the need for caring about unique IDs, linking and also finding custom node variable data.
Variables are fetched from the nodes just like any other serialization system does, accounting for public/private and the [System.NonSerialized] and [SerializeField] attributes.
So, in the end, most work is lifted off the actual format-specific implementation. As with many systems in the framework, it only needs a single additional class to implement a custom data format, be it as complex as you want:)
I'll finish the custom knob system #74 first though because of the obvious structural changes it comes with. Don't want to modify the format right after implementing it:)
As always, feedback appreciated.
Seneral

Finished this part aswell, import system is now fully functional with an XML format as a base:)
Once again, this can easily be extended to own formats or even custom database access:)
Will create a PR tomorrow...

This too is finally merged and committed, would love to hear your feedback:)
Will keep this open for some days...
Seneral

Alright, seems to run fine now:)
IO Formats have full support (see XML Format)...
Although I did not get feedback from users implementing custom formats or database accesses yet, I think it should prove fine:)


enable cross zone load balancing by default

While investigating the harmonization performance earlier this week we noticed that the load balancer was not distributing traffic evenly across all nodes.

In the graph above, you can see that the load is only being distributed evenly across the nodes that are in the same availability zone, so nodes are not doing an even amount of work and we are under utilising our fleet. I was surprised that this load imbalance across both ELB's was so pronounced. The AWS docs suggests that they should be sending 50% of load to each ELB instance but this doesn't appear to be the case.
When we flipped the setting to enable cross availability zone load balancing we saw a pronounced improvement as can be seen in the graph below.

I think we would benefit by enabling this across the organization and we should be able to reduce the number of instances we need in production as a result. You can find the AWS docs on this feature here https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html?icmpid=docs_elb_console. It's also worth noting that SumoLogic recommends enabling the feature to stop such load imbalances https://www.sumologic.com/insight/aws-elastic-load-balancers-classic-vs-application.
There is a potential cost to doing this. AWS will charge us $0.01 per GB for regional data transfer. I think this should be small given the type of calls we are making and that it should enable us to reduce the number of instances we need in each service.

FYI, no service is currently passing a value for this.

@mbryzek how do you feel about me merging this today? Wonder if we should leave it until Monday?

Merging as risk is negligible and I am about to release harmonization and want this feature


no certmgr.exe located in Windows 10 and Server 2016. please correct info on this page

Hi,
certmgr.exe does not exist on Windows 10 and Server 2016. please advise if this is in error and please provide clean and disambiguous information.
Thanks

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

ID: d4990dff-7776-9e5e-36e0-7ca122e6b9cc
Version Independent ID: 048b2cdf-c80b-59bf-4f8a-deb812585886
Content: Using CertMgr to Install Test Certificates on a Test Computer - Windows drivers
Content Source: windows-driver-docs-pr/install/using-certmgr-to-install-test-certificates-on-a-test-computer.md
Product: windows-hardware
Technology: install
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

@anon193465     Certmgr.exe is there in windows 10 and windows too, just now i checked on windows 11.

Hi,
Please search your hard drive with this command: dir c:*certmgr.exe /s and let me know where the EXE is.
However, search dir c:*certmgr /s* and you will find:
C:\Windows\System32
04/09/2021  06:49 AM         2,237,440 certmgr.dll
12/07/2019  02:09 AM            63,070 certmgr.msc
2 File(s)      2,300,510 bytes
C:\Windows\SysWOW64
12/07/2019  02:10 AM            63,070 certmgr.msc
Where is your EXE file located?
-Jason

Hi @anon193465 sorry for the delay on this one.
On Windows 11, in PowerShell, when I type gcm certmgr I get:
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     certmgr.msc                                        <IP_ADDRESS>    C:\WINDOWS\system32\certmgr.msc

So maybe we need to change the .exe to .msc on https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-certmgr-to-install-test-certificates-on-a-test-computer?  Let me know if that works for you and I can update the doc page.
Thanks for the report.

Hi @anon193465 sorry for the delay on this one.
On Windows 11, in PowerShell, when I type gcm certmgr I get:
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     certmgr.msc                                        <IP_ADDRESS>    C:\WINDOWS\system32\certmgr.msc

So maybe we need to change the .exe to .msc on https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-certmgr-to-install-test-certificates-on-a-test-computer? Let me know if that works for you and I can update the doc page.
Thanks for the report.

I'm trying to learn about command-line CERTMGR.MSC (or whatever it is) so I hope this info gets corrected and expanded upon. Information like how to add certificates to and from the different trust locations would be great. It's a big topic that I think should be greatly expanded upon with more information.

Closing out for now.  We are planning future updates to the code signing docs but I do not currently have an ETA for that work.


Upon selecting a new template version to update the service, the attribute has been replaced

Describe the bug
The attribute has been replaced when selecting a new template version to update the service.
Steps to reproduce

Use the webservice template, version v0.0.1, to create a new service and include an environment attribute;
After deployment, select the service, make edits, and opt for template version v0.0.2.

Result
The environment attribute has been replaced.
Expected behavior
The environment attribute should not be replaced.
Environment

Walrus version: v0.3.0

Environment

Walrus version: main 7c753a44166934745fe27656a6df6744edfa3473
UI version: dev-d735146

Test Result:

The content of the textarea will still be replaced.

Environment

Walrus version: main 5cf1d9ef1dcb6bd27a686a24454d760fdc19ec22
UI version: dev-5cf1d9e

Test Result: pass


Error when model/user is on softdelete

Package Version
3.1
Laravel Version
11
PHP Version
8.2
Problem description
i have seen another error on the plugin, if the causer->name is on softdelete it will have null error
You can fix it like this
public static function getCauserNameColumnCompoment(): Column
{
return TextColumn::make('causer.name')
->label(__('activitylog::tables.columns.causer.label'))
->getStateUsing(function (Model $record) {
            if ($record->causer_id == null) {
                return new HtmlString('—');
            }

            return $record->causer->name ?? '';
        })
        ->placeholder( 'Record deleted' )
        ->searchable();
}

Expected behavior
Should have placeholder or something
Steps to reproduce
softdelete a model/user or add a deleted_at date
Reproduction repository (issue will be closed if this is not valid)
https://github.com/dharen008/Vendors.git
Relevant log output
No response

I have had the same problem and notice that it can be solved in theActivityLogResource with a ? on line 229 but I suggest a different approach (I don't want to override an entire class for a single question mark).
There should be a way to include trashed causers if desired. In my case, the causer is a mobile device that we mark deleted to keep the database clean. We want to display the name of this device but the table crashes.
The spatie package includes a config setting of subject_returns_soft_deleted_models and it would be helpful if something similar was added for causer like causer_returns_soft_deleted_models


Upgrade to Fabric v1.4.3

Readme updated and integration/config/configtx.yaml adapts new Fabric version
Signed-off-by: Marcus Brandenburger<EMAIL_ADDRESS>

This PR addresses #149


4.1.0 release

Will 4.1.0 be released soon? There is a fix for the browser platform which I'd like but it's not been released yet. (CB-9852)

Please release new build. Waiting for bubfix:
https://github.com/apache/cordova-plugin-camera/commit/5c23b65af9b11fa3a17bd44513418113dea9b8ed

I am also waiting for a new release because of 5c23b65.
As a workaround I am currently installing the plugin with
cordova plugin add https://github.com/apache/cordova-plugin-camera.git
You can also use
cordova plugin add https://github.com/apache/cordova-plugin-camera.git#COMIIT_ID
if you want a specific commit.

I also would love to see a new version since I need the fix for https://github.com/apache/cordova-plugin-camera/issues/329 🙂 can I help in anyway to get the new release out?
@WIStudent yeah you can specify a commit hash but I don't feel so comfortable with using a not-approved-by-apache version of this plugin 🙂

Okay, seriously the last release was now over a year ago 😄 It nearly seems like this plugin is not really supported anymore by the apache team...

The Apache Cordova team does what it can, and in the last few months the very limited time and resources was focused on CLI and platforms.
Currently we are working on the CI setup for the plugins and rolling that out to the first plugins.
When that is done, and we know what is broken and what is not, we can decide if the current states of the repositories can be released as they are - or if further work is necessary.
So this plugin is still supported, and it will be released as soon as possible.

@janpio Thanks for the update. I didn't want to seem rude. I was just curious for an official statement from the maintainers and wether one can help you guys out.

No worries, I completely understand why these questions are posted - it is frustrating for the maintainers as well that we can't just hit a "Release" button and everything be fine.
You can test the current master version of the plugin and see if everything works as intended, with a focus on the code that was added after the last release. In this case, this would be the list to look at: https://github.com/apache/cordova-plugin-camera/compare/4.0.3...master


Generalize 2D histogram (Ramachandran) code for any two bonded variables

To get more insight into how different bonded parameters are coupled, it would be nice to be able to plot 2d histograms for any combination of bond / angle / torsion types. This shouldn't be too hard since we already have the Ramachandran code in place.

One issue we'll need to deal with for this is making sure there are equal numbers of observables for the different bonded parameters. For example, looking at backbone torsions and backbone bonds, it probably makes sense to choose the central bond, but we may want to look at the first or last bond instead.
The real problem is when we want to look at, say, bb-bb-bb vs. bb-bb-sc angle correlation where there are different numbers of each type. The input on which bonded parameters to look at will have to be quite specific.

This was added in #26


regional filter add request

Energized Protection - block ⚡

Let's make an annoyance free, better open internet, altogether!

Issue Submit Form

  Provide the following infos properly, which will help us to resolve your issue quickly.

Issue(s):
Type x in between [ ] and make sure there isn't any space between brackets. Example; for Your Selected Issue(s), type like this - [x]
You can select more than one category of issues if you need to!

[ ] Whitelist
[ ] Blacklist
[ ] App Broken
[ ] Website Broken
[x ] Request
[ ] Other Issue

Pack(s):
Write the name of the pack(s) you are using.

Pack(s) Name: Ultimate

Extension(s):
Also name the extension(s) if you are using any. If you don't then leave it blank.

Extension(s) Name: none

Domain(s):
If you are submitting this issue for whitelist/blacklist issue, send us the domain(s) for whitelisting/blacklisting here. Kindly use the Code Tag to prevent tracking.

Domain(s):

Your Config:
Just to ensure there is no issues or conflicts with other app/software/magisk module/extension/source list.
Make sure you are running Energized Protection Service only.

Client:

Version:

Details:
Write us a lil bit more about your issue or query. You can attach any screen shot or log of the issue or advert, this will help to highlight it.

Your Issue Detail:
Hello, Could you please add Hungarian regional extension list?
the page for the filter is:
https://github.com/hufilter/hufilter/wiki
https://github.com/hufilter/hufilter
Now i have to manually add to the host file and change the format to replace in notepad.

thank you very much in advance, and keep up your good work!
Pimpa

Thank you for making Energized Protection great, with your kind help!
A project by Ador with ❤

Hufilter's own domains-only list version has been added to Regional Extension by now; and after some problems with two entries were sorted out, thus I feel this is a good time to declare this a closed case.


Shortcuts and Actions should allow detecting synthesized repeats (use new HardwareKeyboard API)

This is regarding synthesized repeats generated by the platform when a key is held down.
There are specific cases where we want Shortcuts to trigger Actions on synthesized repeat, and specific other cases where we don't. It's important for the Shortcuts and Actions system to be able to discern when a keypress is a synthesized repeat.
Specifically, ShortcutActivator.accepts currently receives a RawKeyEvent which is part of the old API. The new KeyEvent from HardwareKeyboard allows us to distinguish if the keypress is a synthesized repeat.
It seems like migrating Actions and Shortcuts to the newer HardwareKeyboard API would allow us to do this.

Example use case:
User holds Command + G to group a selection.
If they keep Command + G held, the selection will keep getting grouped into new groups until the user releases Command + G because the Shortcut will keep triggering the Group action while the synthesized repeats are fired. The user perceives this as a bug.
Instead, if the system could detect the keypress is a synthesized repeat (which the new HardwareKeyboard API supports) we could return false in the ShortcutActivator.accepts method when a non-repeating action finds a synthesized repeat event.
In summary, some shortcuts should trigger actions on synthesized repeat, some should not, we would like to have control over this. We currently do this by using our own Shortcut/Action model on top of our own channel sending keypresses (other issue).
I'll cook up an example to tack on to this issue too shortly.

Here's a small repro example here:
https://github.com/luigi-rosso/flutter-shortcuts-actions-bug-95506
The example fires a "GroupIntent" when the "G" key is pressed. The counter increments whenever a GroupAction is fired. Notice that it keeps repeating when the key is pressed as the system is generating synthesized key repeats (what the new HardwareKeyboard API discerns as KeyRepeatEvent).
The crux of it all boils down to this:
https://github.com/luigi-rosso/flutter-shortcuts-actions-bug-95506/blob/8fd622eac7ed97b8a61ecbcf026505ff45541fec/lib/main.dart#L105-L108

cc @HansMuller @cbracken this is an important issue for Rive.

@gspencergoog thoughts about what Rive might do to work around this issue?

@dkwingsmt Can we switch the Framework over to using the new keyboard KeyEvent yet? That would be the more straightforward solution to this problem (although perhaps not the simplest, given it might still need a bunch of work).

Yes, we definitely want to resolve it by switching. I think it's about time we switch too, probably after https://github.com/flutter/flutter/issues/88021 though.


Add Qt CAN C++ library

The Qt CAN library appears to be fairly robust, and nicely wraps various device/interfaces. Feel free to modify the description as you see fit!

Brian, thanks for your contribution!


13pormax 15.0.1 After connecting AirPodspor Crash restart

13pormax 15.0.1 After connecting AirPodspor
Crash restart

Don't close and and make new issues...


Add array cast to pointer

Also fixes some GEPs that were not entirely correct, it now uses the gep using the array type and not the array element type.
mod Main {
    pub extern fn puts(data: *mut char) -> i32;

    pub fn main() -> i32 {
        let x: [char; 13] = ['h','e','l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'];
        let z: *mut char = x as *mut char;
        puts(z);
        return 0;
    }
}

Codecov Report
Attention: Patch coverage is 78.68852% with 26 lines in your changes are missing coverage. Please review.

Project coverage is 62.00%. Comparing base (aff819d) to head (859afb7).

Files
Patch %
Lines

crates/concrete_codegen_mlir/src/codegen.rs
78.63%
25 Missing :warning:

crates/concrete_ir/src/lib.rs
75.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           ptr_add     #131      +/-   ##
===========================================
+ Coverage    61.78%   62.00%   +0.21%
===========================================
  Files           25       25
  Lines         4394     4472      +78
===========================================
+ Hits          2715     2773      +58
- Misses        1679     1699      +20

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


Response includes output-only fields - Google Ads API v14

Describe the bug:
https://github.com/googleads/google-ads-ruby/blob/main/examples/advanced_operations/add_smart_campaign.rb was used as reference in our implementation, but we've been unable to successfully create a smart campaign. More specifically, we heard from the Google Ads API team that we are passing output-only fields in the request body (primary_status_reasons: [], serving_status::UNSPECIFIED, bidding_strategy_system_status::UNSPECIFIED). While you can see these fields in the response, these fields are not included in our implementation and we are curious if this is a bug specific to the version of the Ads API we are currently using.
Steps to Reproduce:
Create smart campaign
Expected behavior:
Successful creation of a smart campaign
Client library version and API version:
Client library version:
Google Ads API version: 14
Request/Response Logs:

[6] sb-pry [sellbrite:production] [tenant: 637174] [09 Apr 22:28] (main)> api.create_smart_campaign(campaign, channel.google_merchant_center_id) W, [2024-04-09T22:29:09.687486 #121290] WARN -- : CID:<PHONE_NUMBER>, Host: googleads.googleapis.com:443, Method: /google.ads.googleads.v14.services.GoogleAdsService/Mutate, IsFault: yes, Request ID:HV47H4A1DkJpLg8uLbjy-A I, [2024-04-09T22:29:09.690741 #121290] INFO -- : Outgoing request: Headers: {"developer-token":"REDACTED","login-customer-id":"5910183174","x-goog-api-client":"gl-ruby/2.7.8 gccl/23.1.0 gax/0.21.1 gapic/23.1.0 grpc/1.61.0 pb/3.25.2","x-goog-request-params":"customer_id=4897329142"}

Payload: <Google::ads::GoogleAds::V14::Services::MutateGoogleAdsRequest: customer_id: "4897329142", mutate_operations: [<Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_budget_operation: <Google::ads::GoogleAds::V14::Services::CampaignBudgetOperation: create: <Google::ads::GoogleAds::V14::Resources::CampaignBudget: resource_name: "customers/4897329142/campaignBudgets/-1", name: "Test SSC", amount_micros: 15000000, status: :UNSPECIFIED, delivery_method: :UNSPECIFIED, period: :UNSPECIFIED, type: :SMART_CAMPAIGN, aligned_bidding_strategy_id: 0>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_operation: <Google::ads::GoogleAds::V14::Services::CampaignOperation: create: <Google::ads::GoogleAds::V14::Resources::Campaign: resource_name: "customers/4897329142/campaigns/-2", name: "Test SSC", primary_status: :UNSPECIFIED, primary_status_reasons: [], status: :ENABLED, serving_status: :UNSPECIFIED, bidding_strategy_system_status: :UNSPECIFIED, ad_serving_optimization_status: :UNSPECIFIED, advertising_channel_type: :SMART, advertising_channel_sub_type: :SMART_CAMPAIGN, url_custom_parameters: [], labels: [], experiment_type: :UNSPECIFIED, campaign_budget: "customers/4897329142/campaignBudgets/-1", bidding_strategy_type: :UNSPECIFIED, accessible_bidding_strategy: "", frequency_caps: [], video_brand_safety_suitability: :UNSPECIFIED, payment_mode: :UNSPECIFIED, excluded_parent_asset_field_types: [], excluded_parent_asset_set_types: []>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: smart_campaign_setting_operation: <Google::ads::GoogleAds::V14::Services::SmartCampaignSettingOperation: update: <Google::ads::GoogleAds::V14::Resources::SmartCampaignSetting: resource_name: "customers/4897329142/smartCampaignSettings/-2", campaign: "", phone_number: <Google::ads::GoogleAds::V14::Resources::SmartCampaignSetting::PhoneNumber: phone_number: "(602) 815-2760", country_code: "US">, advertising_language_code: "en", final_url: "https://a23349.p3187.c1.store.godaddywp.com/", business_name: "blank">, update_mask: <Google::Protobuf::FieldMask: paths: ["phone_number.phone_number", "phone_number.country_code", "advertising_language_code", "final_url", "business_name"]>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_criterion_operation: <Google::ads::GoogleAds::V14::Services::CampaignCriterionOperation: create: <Google::ads::GoogleAds::V14::Resources::CampaignCriterion: resource_name: "", campaign: "customers/4897329142/campaigns/-2", display_name: "", type: :UNSPECIFIED, status: :UNSPECIFIED>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: ad_group_operation: <Google::ads::GoogleAds::V14::Services::AdGroupOperation: create: <Google::ads::GoogleAds::V14::Resources::AdGroup: resource_name: "customers/4897329142/adGroups/-3", name: "Test SSC ad group #1712701749184", status: :UNSPECIFIED, type: :SMART_CAMPAIGN_ADS, ad_rotation_mode: :UNSPECIFIED, url_custom_parameters: [], campaign: "customers/4897329142/campaigns/-2", optimized_targeting_enabled: false, display_custom_bid_dimension: :UNSPECIFIED, effective_target_cpa_source: :UNSPECIFIED, effective_target_roas_source: :UNSPECIFIED, labels: [], excluded_parent_asset_field_types: [], excluded_parent_asset_set_types: []>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: ad_group_ad_operation: <Google::ads::GoogleAds::V14::Services::AdGroupAdOperation: create: <Google::ads::GoogleAds::V14::Resources::AdGroupAd: resource_name: "", status: :UNSPECIFIED, ad_group: "customers/4897329142/adGroups/-3", ad: <Google::ads::GoogleAds::V14::Resources::ad: resource_name: "", final_urls: [], final_app_urls: [], final_mobile_urls: [], url_custom_parameters: [], type: :SMART_CAMPAIGN_AD, device_preference: :UNSPECIFIED, url_collections: [], system_managed_resource_source: :UNSPECIFIED>, ad_strength: :UNSPECIFIED,action_items: [], labels: []>>>], partial_failure: false, validate_only: false, response_content_type: :UNSPECIFIED> I, [2024-04-09T22:29:09.690928 #121290]

INFO -- : Incoming response (errors): Google::ads::GoogleAds::errors::GoogleAdsError(Google::ads::GoogleAds::errors::GoogleAdsError): The required field was not present.The field attempted to be mutated is immutable. called from: /home/sellbrite/app/lib/requests/google_ads_request_smart_campaign.rb:35:in `create_smart_campaign' Google::ads::GoogleAds::errors::GoogleAdsError: Google::ads::GoogleAds::errors::GoogleAdsError from /home/sellbrite/app/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-23.1.0/lib/google/ads/google_ads/interceptors/error_interceptor.rb:67:in `rescue in request_response' Caused by GRPC::InvalidArgument: 3:Request contains an invalid argument.. debug_error_string:{UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {grpc_message:"Request contains an invalid argument.", grpc_status:3, created_time:"2024-04-09T22:29:09.686892344+00:00"}} from /home/sellbrite/app/vendor/bundle/ruby/2.7.0/gems/grpc-1.61.0-aarch64-linux/src/ruby/lib/grpc/generic/active_call.rb:29:in `check_status'[6] sb-pry [sellbrite:production] [tenant: 637174] [09 Apr 22:28] (main)> api.create_smart_campaign(campaign, channel.google_merchant_center_id) W, [2024-04-09T22:29:09.687486 #121290] WARN -- : CID:<PHONE_NUMBER>, Host: googleads.googleapis.com:443, Method: /google.ads.googleads.v14.services.GoogleAdsService/Mutate, IsFault: yes, Request ID:HV47H4A1DkJpLg8uLbjy-A I, [2024-04-09T22:29:09.690741 #121290] INFO -- : Outgoing request: Headers: {"developer-token":"REDACTED","login-customer-id":"5910183174","x-goog-api-client":"gl-ruby/2.7.8 gccl/23.1.0 gax/0.21.1 gapic/23.1.0 grpc/1.61.0 pb/3.25.2","x-goog-request-params":"customer_id=4897329142"} Payload: <Google::ads::GoogleAds::V14::Services::MutateGoogleAdsRequest: customer_id: "4897329142", mutate_operations: [<Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_budget_operation: <Google::ads::GoogleAds::V14::Services::CampaignBudgetOperation: create: <Google::ads::GoogleAds::V14::Resources::CampaignBudget: resource_name: "customers/4897329142/campaignBudgets/-1", name: "Test SSC", amount_micros: 15000000, status: :UNSPECIFIED, delivery_method: :UNSPECIFIED, period: :UNSPECIFIED, type: :SMART_CAMPAIGN, aligned_bidding_strategy_id: 0>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_operation: <Google::ads::GoogleAds::V14::Services::CampaignOperation: create: <Google::ads::GoogleAds::V14::Resources::Campaign: resource_name: "customers/4897329142/campaigns/-2", name: "Test SSC", primary_status: :UNSPECIFIED, primary_status_reasons: [], status: :ENABLED, serving_status: :UNSPECIFIED, bidding_strategy_system_status: :UNSPECIFIED, ad_serving_optimization_status: :UNSPECIFIED, advertising_channel_type: :SMART, advertising_channel_sub_type: :SMART_CAMPAIGN, url_custom_parameters: [], labels: [], experiment_type: :UNSPECIFIED, campaign_budget: "customers/4897329142/campaignBudgets/-1", bidding_strategy_type: :UNSPECIFIED, accessible_bidding_strategy: "", frequency_caps: [], video_brand_safety_suitability: :UNSPECIFIED, payment_mode: :UNSPECIFIED, excluded_parent_asset_field_types: [], excluded_parent_asset_set_types: []>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: smart_campaign_setting_operation: <Google::ads::GoogleAds::V14::Services::SmartCampaignSettingOperation: update: <Google::ads::GoogleAds::V14::Resources::SmartCampaignSetting: resource_name: "customers/4897329142/smartCampaignSettings/-2", campaign: "", phone_number: <Google::ads::GoogleAds::V14::Resources::SmartCampaignSetting::PhoneNumber: phone_number: "(602) 815-2760", country_code: "US">, advertising_language_code: "en", final_url: "https://a23349.p3187.c1.store.godaddywp.com/", business_name: "blank">, update_mask: <Google::Protobuf::FieldMask: paths: ["phone_number.phone_number", "phone_number.country_code", "advertising_language_code", "final_url", "business_name"]>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: campaign_criterion_operation: <Google::ads::GoogleAds::V14::Services::CampaignCriterionOperation: create: <Google::ads::GoogleAds::V14::Resources::CampaignCriterion: resource_name: "", campaign: "customers/4897329142/campaigns/-2", display_name: "", type: :UNSPECIFIED, status: :UNSPECIFIED>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: ad_group_operation: <Google::ads::GoogleAds::V14::Services::AdGroupOperation: create: <Google::ads::GoogleAds::V14::Resources::AdGroup: resource_name: "customers/4897329142/adGroups/-3", name: "Test SSC ad group #1712701749184", status: :UNSPECIFIED, type: :SMART_CAMPAIGN_ADS, ad_rotation_mode: :UNSPECIFIED, url_custom_parameters: [], campaign: "customers/4897329142/campaigns/-2", optimized_targeting_enabled: false, display_custom_bid_dimension: :UNSPECIFIED, effective_target_cpa_source: :UNSPECIFIED, effective_target_roas_source: :UNSPECIFIED, labels: [], excluded_parent_asset_field_types: [], excluded_parent_asset_set_types: []>>>, <Google::ads::GoogleAds::V14::Services::MutateOperation: ad_group_ad_operation: <Google::ads::GoogleAds::V14::Services::AdGroupAdOperation: create: <Google::ads::GoogleAds::V14::Resources::AdGroupAd: resource_name: "", status: :UNSPECIFIED, ad_group: "customers/4897329142/adGroups/-3", ad: <Google::ads::GoogleAds::V14::Resources::ad: resource_name: "", final_urls: [], final_app_urls: [], final_mobile_urls: [], url_custom_parameters: [], type: :SMART_CAMPAIGN_AD, device_preference: :UNSPECIFIED, url_collections: [], system_managed_resource_source: :UNSPECIFIED>, ad_strength: :UNSPECIFIED,action_items: [], labels: []>>>], partial_failure: false, validate_only: false, response_content_type: :UNSPECIFIED> I, [2024-04-09T22:29:09.690928 #121290] INFO -- : Incoming response (errors): Google::ads::GoogleAds::errors::GoogleAdsError(Google::ads::GoogleAds::errors::GoogleAdsError): The required field was not present.The field attempted to be mutated is immutable. called from: /home/sellbrite/app/lib/requests/google_ads_request_smart_campaign.rb:35:in `create_smart_campaign' Google::ads::GoogleAds::errors::GoogleAdsError: Google::ads::GoogleAds::errors::GoogleAdsError from /home/sellbrite/app/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-23.1.0/lib/google/ads/google_ads/interceptors/error_interceptor.rb:67:in `rescue in request_response' Caused by GRPC::InvalidArgument: 3:Request contains an invalid argument.. debug_error_string:{UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {grpc_message:"Request contains an invalid argument.", grpc_status:3, created_time:"2024-04-09T22:29:09.686892344+00:00"}} from /home/sellbrite/app/vendor/bundle/ruby/2.7.0/gems/grpc-1.61.0-aarch64-linux/src/ruby/lib/grpc/generic/active_call.rb:29:in `check_status'

Additional response examples + code implementation viewable in https://docs.google.com/document/d/1slXm_fk5DK3L3mPJq_cvYgcfQMZxFfL61q6JUBvZ4Pk/edit
Anything else we should know about your project / environment:

Our smart campaign example doesn't require a Google merchant center ID as a parameter. Can you clarify exactly what code you're running to encounter this behavior?

@mcloonan our code can be viewed here

For some reason the error didn't propagate correctly to your side. I looked up what happened on our server logs for this request ID, and the error message there should be more useful:
[{
    error_code: "FieldError.REQUIRED",
    field_path: "mutate_operations[3].campaign_criterion_operation.",
    error_message: "The required field was not present."
  },{
    error_code: "FieldError.IMMUTABLE_FIELD",
    field_path: "mutate_operations[5].ad_group_ad_operation.create.ad",
    error_message: "The field attempted to be mutated is immutable."
  }]

So this means you didn't specify a campaign_criterion_operation that was required, and also that you attempted to mutate the "ad" field which is immutable. So the error isn't actually about the extra fields that appear but you don't specify. I just tested this on my side and they appear in my successful request (using our example as is without modifications) as well.

Hi @mcloonan Thanks for the prompt response and sharing the more helpful error message. I believe I know why the first error (missing a required field) is happening, but would appreciate more information on the immutable "ad" field.
If you see our implementation of def create_smart_campaign_ad_group_ad_operation(campaign) in the previously linked code examples, it closely mirrors that of https://github.com/googleads/google-ads-ruby/blob/main/examples/advanced_operations/add_smart_campaign.rb#L528. Are you able to provide more detail on the discrepancy that you may be seeing between our implementation and the example code that you executed?

Hi @mcloonan just following up in case my previous message got buried. We'd appreciate any further direction you're able to share -- thank you!

Looking at your request compared to the example we have, it looks like you're only specifying the ad's type field, but there are a bunch of other required fields as well. See: https://github.com/googleads/google-ads-ruby/blob/main/examples/advanced_operations/add_smart_campaign.rb#L528
The error message I provided for this is not very clear, but if you supply all of the required fields as demonstrated in the example, it should work.


JwtTokenExtractor.getIdentity:err! FetchError: request to https://login.botframework.com/v1/.well-known/openidconfiguration failed, reason: connect ETIMEDOUT

Hi,
I am getting the error below with the botbuilder 4.15.0:
JwtTokenExtractor.getIdentity:err! FetchError: request to https://login.botframework.com/v1/.well-known/openidconfiguration failed, reason: connect ETIMEDOUT <IP_ADDRESS>:443
at ClientRequest. (/opt/nexos-teams/bot/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:513:28)
at TLSSocket.socketErrorListener (node:_http_client:494:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: 'system',
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT'
}
I am behind a corporate fiewall. I have tried setting the HTTP_PROXY and HTTPS_PROXY variables, but it did not solve the problem.
I have also tries configuring the proxySettings options as below, but it also did not solve the problem.
const botFrameworkAuthentication = createBotFrameworkAuthenticationFromConfiguration(null, credentialsFactory, null, null, {
proxySettings: {
host: "cachesv",
port: 8080
}
});
Does botbuilder supports http proxies?

After some investigation, the problem seems to be in the refreshCache method of the OpenIdMetadata class. More specifically, in the line:
const res = await fetch(this.url);
which does not use the proxySettings provided for the createBotFrameworkAuthenticationFromConfiguration method.

@saulo2 There is a test version on NPM we think addresses this.  The version is: 4.21.4-dev.  Can you try this version and check if it corrects the problem?

This is how we set the proxy settings for testing the fix:

@saulo2 There is a test version on NPM we think addresses this. The version is: 4.21.4-dev. Can you try this version and check if it corrects the problem?

@tracyboehrer and @ceciliaavila thanks for addressing this issue. Right now, I am travelling on vacation. As soon I come back (circa 10 days) I am going to test the fix and give you feedback.

@tracyboehrer @ceciliaavila hi)
We're facing the same issue.
To solve it we've followed your instructions, installed:
{
    "botbuilder": "4.21.4-dev",
}

Also, we have added proxySettings to the botFrameworkAuthentication.
And now the error a bit changed:
FetchError: request to https://login.botframework.com/v1/.well-known/keys failed, reason: connect ECONNREFUSED XX.XXX.XXX.XX:XXX     at ClientRequest.<anonymous> (/node_modules/node-fetch/lib/index.js:1501:11)     at ClientRequest.emit (node:events:517:28)     at ClientRequest.emit (node:domain:489:12)     at TLSSocket.socketErrorListener (node:_http_client:501:9)     at TLSSocket.emit (node:events:517:28)     at TLSSocket.emit (node:domain:489:12)     at emitErrorNT (node:internal/streams/destroy:151:8)     at emitErrorCloseNT (node:internal/streams/destroy:116:3)     at processTicksAndRejections (node:internal/process/task_queues:82:21) {   type: 'system',   errno: 'ECONNREFUSED',   code: 'ECONNREFUSED' }
It started to fail on request to https://login.botframework.com/v1/.well-known/keys.
Could you help us?

@saulo2 and @denisogolubev There is a new test version: 4.21.4-dev2

@tracyboehrer thanks a lot, it fixed the previous issue.
Now we see this error:
[onTurnError] unhandled error: ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.
ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.
    at ClientAuthError.AuthError [as constructor] (/node_modules/@azure/msal-common/src/error/AuthError.ts:49:9)
    at new ClientAuthError (/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:223:15)
    at Function.ClientAuthError.createEndpointDiscoveryIncompleteError (/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:269:16)
    at Function.<anonymous> (/node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts:58:35)
    at step (/node_modules/@azure/msal-common/dist/index.cjs.js:79:23)
    at Object.throw (/node_modules/@azure/msal-common/dist/index.cjs.js:60:53)
    at rejected (/node_modules/@azure/msal-common/dist/index.cjs.js:51:65)
    at processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errorCode: 'endpoints_resolution_error',
  errorMessage: 'Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.',
  subError: '',
  correlationId: 'fddc35e1-2192-4ff5-a8f8-0c196ad8da6d'
}

Is it something with our configurations or is it still the issue with the proxy?
Because I don't see knownAuthorities as a property in any existing configs we use.

Hi @denisogolubev,
This same error was reported by another customer that was using a proxy.
The problem seems to be in a call that the @azure/msal-node library does internally.
Can you try the following?

Check if you can access this URL in a browser or your proxy is blocking it:
https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=https://login.microsoftonline.com/botframework.com/oauth2/v2.0/authorize

There's a proxyUrl property that can be configured in the bot (more info). Here is an example of how to provide this setting:

According to this issue, proxy settings are not globally set in NodeJS, we need to use libraries to manage this.
Using the node-global-proxy package, we can set the HTTP_PROXY and HTTPS_PROXY variables for Node to use.
There's no need to make changes in the SDK, just a simple configuration in the bot's index.js file.

This is a better alternative than setting the proxy host and port values in the BotframeworkAuthentication options. However, for the untrusted_authority error, you should try the workaround proposed by msal-node.

According to this issue, proxy settings are not globally set in NodeJS, we need to use libraries to manage this. Using the node-global-proxy package, we can set the HTTP_PROXY and HTTPS_PROXY variables for Node to use. There's no need to make changes in the SDK, just a simple configuration in the bot's index.js file.

This is a better alternative than setting the proxy host and port values in the BotframeworkAuthentication options. However, for the untrusted_authority error, you should try the workaround proposed by msal-node.

@ceciliaavila it looks like this configuration solves the issue)
Thanks a lot)

@tracyboehrer and @ceciliaavila I confirm version 4.21.4-dev2 fixes the matter. However, I have tested 4.21.4 and it seems it does not contain the fix. Also, it seems the fix is not in the main branch. For example, the constructor of the class OpenIdMetadata (https://github.com/microsoft/botbuilder-js/blob/main/libraries/botframework-connector/src/auth/openIdMetadata.ts) does not receive a ProxySettings instance as it second argument.

Hi @saulo2, we discarded the fix from 4.21.4-dev2 because we found a simpler solution by adding to the bot the node-global-proxy package. Can you try this solution to see if it fixes the issue on your side?

@ceciliaavila the solution around node-global-proxy also fixed the issue, but it caused undesirable side effects. My bot access APIs on other intranet servers, which the corporate proxy does not have access to because it only access servers on the internet. Thus, with node-global-proxy my bot is able to access https://login.botframework.com/v1/.well-known/openidconfiguration but it does not work, because it is not able to access the othe intranet servers. Could you reintroduce your fix in a new botbuilder-js version?

@saulo2, thanks for your input.
@tracyboehrer, we re-opened the PR with the fix, if you think it's correct, you can merge it. Thanks!

@ceciliaavila @saulo2 @denisogolubev Can we clarify what does work?  denisogolubev reported that 4.21.4-dev2 (which was built from the PR branch) caused a subsequent problem, but that node-global-proxy worked.  Is the final solution this PR and possibly node-global-proxy?
BTW, the actual 4.21.4 release done recently does NOT have that PR fix.

@tracyboehrer and @ceciliaavila I am happy to confirm that the fix has been successfully incorporated into the codebase. I tested version 4.22.1 and it is working as expected.


Order connectors alphabetically in "Bring Your Own Node"

Feature description
It's a minor thing, but the current order looks chaotic.

Describe the solution
These could be ordered by most popular or alphabetically
Describe alternatives
No response
Additional context
No response
Are you working on this?
None

It generally shows most common used ones at the top (although not fully, as Umbrel and StartOS are probably more popular than LNbits and NWC)
I am open to this idea, but I don't know if this is such improvement


[WIP] Targz zkeys

This commit edits the frontend to download zipped chunked zkeys, unzip them in the frontend, and use them. Unfortunately, it doesn't work -- here is a summary of the issue.

Fixed in different PR.


Minor wording fixes in /movesearch

I didn't recreate the whole fork - should I do that?

aowijfoaijqeoawefjioa
"don't open a new pull request to make a change to an old pull request" is like our number one rule
also squash these


strip-option changes column value parsing logic and throws wacky TODO errors

As we see here clearly one does not need to quote columns containing spaces:
CSV.parse <<~CSV
id field
   my id
CSV
=> [["id field"], ["   my id"]]

However, we don't want that annoying leading whitespace... maybe quoting the values would magically drop it.. not exactly.
CSV.parse <<~CSV
id field
   "my id"
CSV
CSV::MalformedCSVError: Illegal quoting in line 2.
from /Users/timok/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/csv-3.1.2/lib/csv/parser.rb:923:in `parse_quotable_robust'

Luckily we have this strip option.. which should do exactly what we want
CSV.parse <<~CSV, strip: true
id field
   my id
CSV
CSV::MalformedCSVError: TODO: Meaningful message in line 1.
from /Users/timok/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/csv-3.1.2/lib/csv/parser.rb:931:in `parse_quotable_robust'

Whoops, I guess I need to quote that value to be able to "strip" it. Also gotta <3 these meaningful error messages :)
CSV.parse <<~CSV, strip: true
id field
   "my id"
CSV
CSV::MalformedCSVError: TODO: Meaningful message in line 1.
from /Users/timok/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/csv-3.1.2/lib/csv/parser.rb:931:in `parse_quotable_robust'

Still no good. What could be the problem? It seems I can't have any fields with spaces in them if I intend to use this strip feature.. so I would need to provide the data like this:
CSV.parse <<~CSV, strip: true
"id field",foo   ,   bar
   "my id",   ugh,gah
CSV
=> [["id field", "foo", "bar"], ["my id", "ugh", "gah"]]

Yet, even unquoted values get the whitespaces stripped, but somehow a whitespace inside the column value is not acceptable when using strip option, unless also quoting, which you normally wouldn't need to be doing.
In my opinion the expected and correct behaviour would be that this should work just fine:
CSV.parse <<~CSV, strip: true
id field,foo   ,   bar
   my id,   ugh,gah
CSV

And also produce: [["id field", "foo", "bar"], ["my id", "ugh", "gah"]]
It's should be simple. You respect the column separator and treat everything inside of them as column value and then invoke the stripping on it, whether or not it contains some spaces shouldn't matter one bit.
Now it's a different matter then if you need to have commas or line breaks inside your columns then of course you must resort to quoting
CSV.parse <<~CSV, strip: true
id field, "this, that or other", aaaa
   my id,   other,blah
CSV

Could you try again the latest release?

Hah, sorry for the unnecessary issue report. It seems this was already fixed in version 3.1.3


Invalid JSON serialization of dates in v0.1.4+

Since version v0.1.4 and onward through the current (v0.1.7) release, JSON serialization of objects that include a Date property result in improperly formatted JSON, with duplicate rendering of keys.
Using v0.1.7-beta release on MacOS ARM64 (and confirmed in Lambda ARM64):
date-test.js
const value = {
  date: new Date()
}

console.log(JSON.stringify(value))

Expected output: {"date":"2024-02-20T17:13:17.908Z"}
Received output: {"date":"date":"2024-02-20T17:14:06.578Z"} which is invalid JSON (note the doubling of the "date")
Tested backwards and this appears to work correctly in v0.1.3, and to be broken in subsequent versions
% ./llrt-0.1.3 -v && ./llrt-0.1.3 date-test.js
LLRT (darwin arm64) 0.1.3-beta
{"date":"2024-02-20T17:15:41.779Z"}
% ./llrt-0.1.4 -v && ./llrt-0.1.4 date-test.js
LLRT (darwin arm64) 0.1.4-beta
{"date":"date":"2024-02-20T17:15:51.029Z"}
% ./llrt-0.1.5 -v && ./llrt-0.1.5 date-test.js
LLRT (darwin arm64) 0.1.5-beta
{"date":"date":"2024-02-20T17:15:57.396Z"}
% ./llrt-0.1.6 -v && ./llrt-0.1.6 date-test.js
LLRT (darwin arm64) 0.1.6-beta
{"date":"date":"2024-02-20T17:16:03.466Z"}
% ./llrt-0.1.7 -v && ./llrt-0.1.7 date-test.js
LLRT (darwin arm64) 0.1.7-beta
{"date":"date":"2024-02-20T17:16:08.797Z"}

And just for comparison, how it works in node:
% node -v && node date-test.js
v20.11.0
{"date":"2024-02-20T17:19:23.854Z"}

Thanks for the detailed report and reproducible. Will take a look!


BFF add health endpoint

@sla-bot

@sla-bot check

@cla-bot check

Codecov Report

Merging #875 (116e53d) into main (9883e8a) will increase coverage by 4.42%.
The diff coverage is 73.46%.

@@            Coverage Diff             @@
##             main     #875      +/-   ##
==========================================
+ Coverage   60.42%   64.85%   +4.42%
==========================================
  Files          15       17       +2
  Lines         235      276      +41
  Branches       20       24       +4
==========================================
+ Hits          142      179      +37
+ Misses         88       85       -3
- Partials        5       12       +7

Impacted Files
Coverage Δ

...api-dh/source/DataHub.WebApi/SwaggerHostFactory.cs
0.00% <0.00%> (ø)

.../dh/api-dh/source/DataHub.WebApi/SwaggerStartup.cs
0.00% <0.00%> (ø)

apps/dh/api-dh/source/DataHub.WebApi/Startup.cs
91.33% <84.61%> (-4.82%)
:arrow_down:

...urce/DataHub.WebApi/ServiceCollectionExtensions.cs
100.00% <100.00%> (ø)

...aHub.WebApi/Controllers/MeteringPointController.cs
66.66% <0.00%> (+66.66%)
:arrow_up:

...ataHub.WebApi/Controllers/ChargeLinksController.cs
100.00% <0.00%> (+100.00%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Message labs leaders about new weekly checking method

This issue can be completed once the following is complete:

[x] https://gist.github.com/MaxWofford/b617a6d2953b176dfb59 is sent out to each of the labs leaders.
[ ] Confirmations are received from each of the labs leaders.

@MaxWofford could you make it so that it's easy to tell which club leaders have agreed to doing this and which ones haven't yet?

Resolved this with @jonleung in person.

I've removed the second requirement from the issue


How to set meta data tags on overview page, but not blog post details page?

When setting up a blog, both Blog Overview and Blog Post Details pages share the same DNN page.
For SEO purposes, we need to add certain meta data tags to the Blog Overview page, but not the Blog Post Details pages.
When we add meta data using the "Page Header Tags" field in the DNN page, the meta tags show up on both the Blog Overview page and the Blog Post pages which is invalid and a problem for SEO.
How can we add Meta data only to the Overview page? Is there something in the Template engine we can use?

@Swimburger are we talking about the title and description or other tags. This module modifies the page tags in a few ways (title, description, social networks, etc.). There is another open issue for duplication of these tags when set both on the page and by the module that needs to be taken care of. So can you elaborate a bit on the story behind this need so that we can think better on how to fix both of these related issues, the other issues related to this are #89 and #85

Our customer wants to have the canonical tag on the blogoverview page, but not the blogpost details page.


Fix FocusScope StrictMode issues

Closes
An alternative refactor for FocusScope has been started in focusscope_strict_refactor_all_things that changes how the focusscope tree is constructed. This branch should serve as a new baseline
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
Note: test off the branch locally for strictmode. You'll have to pull in the changes in https://github.com/adobe/react-spectrum/pull/3870 (provides a strictmode checkbox toggle) or from https://github.com/adobe/react-spectrum/pull/3837 in order to test the storybook with strict mode. Without either of those changes, the strict mode storybook always crashes with  the Rendered more hooks than during the previous render. error.
Turn on StrictMode and do a test sweep. There shouldn't be anymore FocusScope related crashes (aka TypeError: Cannot read properties of undefined (reading 'parent')). Components that render collections may rendering issues still
Running the strict mode tests will yield a mixed bag of passes/fails due to other strict mode bugs.
🧢 Your Project:
RSP

I managed to get the simplification we were hacking on before break to work: #3898


Gracefully handle black formatter with new "Format modified text" option in vscode 1.49

VSCode version 1.49 introduces a new "Only format modified text" option which only formats code that has been modified as reported by the version control system. Details of this change can be found on the official vscode release page.
However, users of the python extension cannot utilize this feature if they choose black as their code formatter, and attempts to do so result in an annoying prompt popping up after every save which states Black does not support the "Format Selection" command. This appears to be a somewhat long running issue and was previously reported in #1883 , but up to this point had not effected many people as it only pops up the message when using the format selection command directly.
However, with this new VSCode change this error message pops up on every save unless you disable the feature entirely, which means you loose it for all other file types where it does function correctly. Regardless of the validity of the arguments from the black developers (as found in 134, 142, 245, 370, 511, 830) this is a very annoying popup to have displayed repeatedly and could be handled better.
There are several things that could be done to better handle this in my opinion. The first and simplest method is to provide the ability to disable this popup as discussed in #1883. However, there are some other options to fix the behavior entirely.
One option would be to use something like akaihola/darker which essentially does the same thing as the "Only format modified text" option in vscode, but is black specific and has some additional features. This tool seems to work quite well in my experience, and does achieve the desired behavior, but still prevents using the only format modified text option for all other file types, which makes the solution suboptimal.
Another alternative is wbolster/black-macchiato which does similar things to the darker project, but is a bit more focused on black specifically and does not contain the extra features. I do not have any specific experience with this project, but it seems to perform the desired task.
I understand that this is an odd use case, and that the intent of black is to be run against all files all the time, however, there are many cases where one may wish to leave unmodified portions of the code base alone and not re-format them. the linked black issues above include many examples of cases where this behavior is desired, and at the end of the day, this feature was important enough to enough people that it was included in the main VSCode editor.
I'm personally unsure of the best path forward, and am not confident in declaring this as a bug since the behavior is technically desired, however, I see it as more significant due to the 1.49 changes as the error message will now be printed on every single save command (and if you have save on focus change enabled, every time you switch away from a file). That being said, I see this as something many people would use if implemented (look no further than 830 to see this for yourself).

You can turn this setting off just for Python so you can leave it on globally for those formatters that do have support:
"[python]": {
    "editor.formatOnSaveMode": "file"
}

Otherwise this is basically a duplicate of #1883.


Server URLs

Title
This PR aims to add structs to easily access the public server URLs as listed there:
https://xrpl.org/docs/tutorials/public-servers#public-servers
Changes
Adds different structures to represent the mainnet, testnet and devnet urls.
Notes (optional)
NA

Alright, thanks @GuillemGarciaDev , I added it originally because I really miss it in xrpl.js. It's annoying to always have to find the right URL on xrpl.org. I also wanted to copy the Solana SDK which has those URLs.
I will close the PR then.


Fix archweb url to follow new redirection

www.archlinux.org now redirects to archlinux.org.
Reflect that in the the curl command since it does not follow the redirect.

Could you also replace -Gs with -LGs so that curl will follow redirects in case the main domain is changed again in the future?

Done.

Thanks! The primary contributor @falconindy has a busy status. Maybe we need to wait for some more time.


vue3 computed not triggerd

Vue version
3.3.4
Link to minimal reproduction
..
Steps to reproduce
the 'params' is a ref
computed(() => {
       const originalArgs = toRaw(unref(params))
      const storeKey = JSON.stringify(originalArgs)
       return storeKey
})

What is expected?
computed be called
What is actually happening?
computed not be called
System Info
No response
Any additional comments?
No response

Please provide a runnable minimal reproduction.

Vue.createApp({
    setup() {
      function test(){
        params.value.x++;
      }

      const params = Vue.ref({ x: 1 })

      const label = Vue.computed(() => {
        const originalArgs =Vue.toRaw(Vue.unref(params))
        const storeKey = JSON.stringify(originalArgs)
        return storeKey
      })

      return {
        label,
        test
      }
    },
    template: `  {{ label }}
    <button @click='test' >button</button>`
  })

if u click button . the label not chaneg .  Is this your question ? @mnm1001
The reason why the label cannot be changed is u use the toRaw
when the computed invoke .  u use toRaw to get value .
check the source code in L102-L105. it only return the target . not track(target, TrackOpTypes.GET, key) .
https://github.com/vuejs/core/blob/a3dddd62059f4a7a762046c1e7f01485b96e737d/packages/reactivity/src/baseHandlers.ts#L94C1-L156
maybe that's why

yes, it is my question
i know maybe if i called 'params.value.a' in computed like this
Vue.computed(() => {
        params.value.a
        const originalArgs =Vue.toRaw(Vue.unref(params))
        const storeKey = JSON.stringify(originalArgs)
        return storeKey
      })

when 'params.value.a' be set new value, the computed will be called,
but in my scenarios, I wanted to listen all deep changes for "params" in computed,
may be the changed value is 'params.value.a', or 'params.value.b', or 'params.value.b.c.d',
That means, if the result of 'JSON.stringify(Vue.toRaw(Vue.unref(params)))' be changed, I expect the computed will be called.
Is there any solution for this scenarios?

try to delete toRaw
https://play.vuejs.org/#eNqNUstO5DAQ/BXLFzJilIjlNpuJdrLisKwEq2Vvaw4h6QSDY1t+DEFR/p22wzwkHuISxV1VrerqHulG63Trga5obmvDtSMWnNcFk7zXyjgyklr12jtolsRAu/QSv2QirVE9OUHpCZNMtl7WjitJasHrx9I7p+QmWYxMEqIrU/U23VbCQzqcnn5ncvpIU76j+c/oHaO3a3L27fxVymStpHWvNLIOzpJxWJ1NiwPYVK5CaGc/SRbrIjafYWV4x2UlNqbDDnGsZO6HPXYk65SB3/CMfS5vrq9S6wyXHW+fk2N5FBjMzciDAq1GM3k2B4uR4sNBr0XlAF+5LsYxmJymPAuJY6nh2yK/i1GQHzGXNaPHmTJKivje5NnMK/IsqL4kLxmd1eUbdZ7trdEldRbnb3mXPlgl8ThibtgKs+QCzLUOi7OMrkhEAlYJoZ4uY80ZD8tdvb6H+vGd+oMdQo3RPwYsmC0wusdcZTpwM3xxcwUD/u/BXjVeIPsT8C9YJXzwONNKLxu0fcSLbn/FE8eF/rMXgwNpd0MFo4E5RT6jeOY/Pxn9YPc8xRNFHS6fTi8WkSnJ

That is works!
Is this because JSON.stringify called all the "params" propety by recursion?

@mnm1001 this is because Vue does not track a raw value.


Server-side new id seed should not reset after new objects are committed

The reply of "initNew" events, etc. keeps the new id seed consistent, until those new objects are committed, at which point the seed may revert back to zero or some other lower value. This can cause confusion/conflicts in a client session if it results in new ids being reused when additional new objects are created.
NOTE: Because client-side ids are scoped to a type, this would only cause problems if new ids collide on the sequence number AND the type, which may be somewhat unlikely to happen.

Fixed by 3e6d3859ce3b8da4c00a3b22ac9514f3310fb458 - "Avoid ID collisions by tracking maximum used ID instead of potentially reusing ids for objects that may still exist client side"


Difference w/ cached_network_image

Hello devs, i'm trying to migrate from cached_network_image to this package, so i got curious what makes this faster..?
did you have any problem with that package that motivated you to develop this?
also is the API Interface similar to the cached_network_image..?

This package uses hive DB which is much faster than SQL DB (which CNI uses). This package supports all 6 platforms of flutter where as CNI supports 3 platforms. This package provides function to delete a canced image, set cache clearing date and many other functions.

do you have any benchmarks that show how big the difference to CNI is?


"too big" messages get dropped silently

Describe the bug
A message that is considered "too big" is getting dropped silently. Only in the logs you see the following message:
{"level":"warn","ts":"2020-12-15T17:08:21.169Z","logger":"kafkachannel-dispatcher","caller":"dispatcher/dispatcher.go:278","msg":"Got","error":"kafka: Failed to produce message to topic knative-messaging-kafka.drogue-iot.iot-channel: kafka server: Message was too large, server rejected it to avoid allocation error."}

The HTTP request to the sink still reports:
[2020-12-15T17:42:44Z DEBUG drogue_cloud_endpoint_common::downstream] Content-Type: Some("audio/vnd.wave;codec=1")
[2020-12-15T17:42:44Z DEBUG drogue_cloud_endpoint_common::downstream] Payload size: 1753132 bytes
[2020-12-15T17:42:44Z DEBUG hyper::client::pool] reuse idle connection for ("http", iot-channel-kn-channel.drogue-iot.svc.cluster.local)
[2020-12-15T17:42:44Z DEBUG hyper::client::pool] pooling idle connection for ("http", iot-channel-kn-channel.drogue-iot.svc.cluster.local)
[2020-12-15T17:42:44Z DEBUG reqwest::async_impl::client] response '202 Accepted' for http://iot-channel-kn-channel.drogue-iot.svc.cluster.local/

Expected behavior
Either the message should be accepted, or the return value of the sink should indicate an error.
To Reproduce
Post a message that is "too big" to a KafkaChannel.
Knative release version
0.19.1
Additional context
Add any other context about the problem here such as proposed priority

On one hand, I should point out that CloudEvents payloads are meant to carry small data payloads https://github.com/cloudevents/spec/blob/v1.0.1/spec.md#size-limits
Given that, this error is weird, because the message should be rejected... Did you checked your Kafka config for some "maximum record size" conf or something like that?

On one hand, I should point out that CloudEvents payloads are meant to carry small data payloads https://github.com/cloudevents/spec/blob/v1.0.1/spec.md#size-limits

True, however: if a message gets rejected, then it shouln't return 202.
The kafka channel is pretty standard:
apiVersion: messaging.knative.dev/v1alpha1
kind: KafkaChannel
metadata:
  name: iot-channel
spec:
  numPartitions: 3
  replicationFactor: 1

The kafka channel is pretty standard:

I'm talking about the actual kafka instance used by the KafkaChannel, does it has a record limit?

The kafka channel is pretty standard:

I'm talking about the actual kafka instance used by the KafkaChannel, does it has a record limit?

No special settings.

Also, are you using the latest kafka channel 0.19.3?

We using 0.19.1.

I feel like you're using an old version that doesn't contain this fix #181

From the commit of this PR I cannot see in which version this landed. So is 0.19.1 too old?

@ctron yes 0.19.1 is too old for your particular use case. The fix landed in 0.19.3, which was cut 3 days ago.
We could definitively do better with the release notes. Today is really hard to know what is fixed in patch releases. Pinging @n3wscott for help.


Intermittent ZeroDivisionError: division by zero

This is a fantastic library, thanks very much for your great work. Periodically though, I'm getting a ZeroDivisionError: division by zero while building a UMAP projection. My data doesn't change, nor does the way I call the UMAP constructor:
model = umap.UMAP(n_neighbors=25, min_dist=0.00001, metric='correlation')
fit_model = model.fit_transform( np.array(image_vectors) )

Once in a while (maybe 5% of runs) this throws the following trace (umap version 0.1.5):
File "imageplot.py", line 278, in <module>
    Imageplot(image_dir=sys.argv[1], output_dir='output')
  File "imageplot.py", line 30, in __init__
    self.create_2d_projection()
  File "imageplot.py", line 148, in create_2d_projection
    model = self.build_model(image_vectors)
  File "imageplot.py", line 175, in build_model
    return model.fit_transform( np.array(image_vectors) )
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 1402, in fit_transform
    self.fit(X)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 1361, in fit
    self.verbose
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 385, in rptree_leaf_array
    angular=angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
    angular)
  File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 301, in make_tree
    rng_state)
ZeroDivisionError: division by zero

I took a quick look at the make_tree function but that didn't show much--the real problem seems to be swallowed in the stacktrace by the recursion. Do you have an idea what might cause this? I'll upgrade to the latest master and see if the problem continues.

Thanks for detailed bug report! This may be the same as issue #33. I believe the latest master version should have fixed this, but I haven't put out a release on pip yet (waiting to roll a few more bug fixes and features together). If you have time to clone the master branch from github and install it (after removing the old pip version) and try that instead I would appreciate it. I believe it should fix the issue you are seeing, and if it doesn't then I clearly have a little more work to do.

@lmcinnes thanks for your quick response. It seems the problem has been resolved on master. I've run several dozen runs since reinstalling and haven't hit the division by zero error, so I think it should be safe to close this issue. Thanks again for this great work!

Thanks for checking that out so fast.

I'm now getting this error with the inverse_transform method.  I'm using the code in the repo's master branch, at the 0.4rc1 tag (lmcinnes/umap@fc59aa78f14b10e5eafc19b18fc135de1c5382ea)
Code:
import numpy as np
from umap import UMAP

to_reduce = np.vstack(data)        # shape: (1137, 25); dtype: 'float64')

np.random.seed(0)
reducer = UMAP(random_state=0).fit(to_reduce)
embeddings = reducer.transform(to_reduce)

# create a 2D grid over the embedding space
resolution = 50
x_min, y_min = embeddings.min(axis=0) // 1
x_max, y_max = embeddings.max(axis=0) // 1 + 1
x_step = (x_max - x_min) / resolution
y_step = (y_max - y_min) / resolution
xs = np.arange(x_min, x_max, x_step)
ys = np.arange(y_min, y_max, y_step)

X, Y = np.meshgrid(xs, ys)
xy_grid = np.empty((resolution, resolution, 2), dtype=np.float64)
for (x_ix, y_ix), X_val in np.ndenumerate(X):
    xy_grid[x_ix, y_ix] = (X_val, Y[x_ix, y_ix])

# recover vector in original space for each gridpoint
vertices = xy_grid.reshape(resolution**2, 2)
np.random.seed(0)
high_dim_vertices = reducer.inverse_transform(vertices)
high_dim_grid = high_dim_vertices.reshape(resolution, resolution, 25)

Traceback:
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-127-93accc0c2718> in <module>
      1 # recover vector in original space for each gridpoint
      2 np.random.seed(0)
----> 3 high_dim_vertices = reducer.inverse_transform(vertices.astype(np.float32))#.reshape(resolution, resolution, n_topics)
      4 high_dim_grid = high_dim_vertices.reshape(resolution, resolution, 25)

/opt/conda/lib/python3.7/site-packages/umap/umap_.py in inverse_transform(self, X)
   2203             _input_distance_func,
   2204             tuple(self._metric_kwds.values()),
-> 2205             verbose=self.verbose,
   2206         )
   2207

ZeroDivisionError: division by zero

At first I thought it was related to #33 because I can get the error to go away by setting min_dist sufficiently high (~.5), which makes the 2D grid points spread out enough that they wouldn't get rounded off to the same value as float32's.  But now I'm not so sure, because I still get the error if I do
vertices += np.random.uniform(-10, 10, vertices.shape)
before inverse_transforming them.  Any help would be greatly appreciated!!
Additional info:
numpy==1.16.5
sklearn==0.21.3
scipy==1.2.1
numba==0.45.1
tbb==2020.0.133

This is somewhat disconcerting, and it is non-obvious to me where exactly this could be occurring. One thing you could try, presuming the compute isn't too expensive, is turning of the numba compilation of the inverse transform related functions and running again -- that way we can get a stack trace to the exact location of the error.

So the actual error is coming from here, in optimize_layout_inverse.  At least for me, it's happening when more data points are  inverse transformed than were used to fit the model.  To compute grad_coeff, the jth item from sigmas is used.  But is sigmas is the distance to the kth nearest neighbor for each data point used to fit the model, so it has self._raw_data.shape[0] entries.  Meanwhile j is row indices of the adjacency matrix for the 1-skeleton of the inverse_transformed data.

I think the problem is that that should be sigmas[k] instead, but I'll have to trace through the whole thing to be sure.

That did it!  And that makes sense based on how grad_coeff is computed just below that...  Thanks so much!

Can I assume that this will arrive with your upcoming PR, or should I fix it and push it myself?

I changed it on my fork, so it'll get included in my PR.  I'm ready to submit that today btw -- just want to confirm about what I commented on #367

Excellent -- I'm looking forward to it. Thanks for all your hard work on this!

Any update on this?  I have a dataset that seems to be throwing it when the size of the data is large.


Misleading termination criteria "And" and "Or"

The naming of the termination criteria "And" and "Or" is quite misleading.
When I think of a criterion that terminates the training, I expect an Or operator to decide to stop if one of its criteria decides to stop and vice versa for the And operator. Since you name them TerminationCriterion while using any and all to accumulate their continue_learning responses, the above terminology is pretty confusing. (I think it's really the Termination vs. continue part).

See #1405 for a solution.


[website] Allow linking pricing FAQ

Make it possible to link the FAQ directly https://mui.com/pricing/#faq from https://mui.com/store/items/mui-x-pro/.
https://deploy-preview-32845--material-ui.netlify.app/pricing/#faq

can mean a step back on the "purchase funnel"

@joserodolfofreitas Ah, right, happy to simply remove the link from the FAQ in https://mui.com/store/items/mui-x-pro/. I think that we could even keep this page description close to empty as eventually, it will be (considering how Unity, Vaadin, etc. are doing fulfilment).


Use new ADO credential type for connections over azure credentials

Backround workers are persistent and hold a reference to a Processor.
Processors hold VssConnections and VssConnections hold a reference to a credential.  When that credential is baked around a token, the whole token -> credential -> connection -> processor -> worker chain needs to be recreated when the token expires.
We weren't doing this and the service would throw vss unauthorized exceptions when the token expired after 24 hours.  Rather than reconstruct the whole chain or shim factories in the mix, we can use the preview version of the ado client libraries that support Azure Identity credentials and dynamic token requests.

/check-enforcer override


Doesn`t work properly :(

Hi!
I have a small project based on node-webkit with 2 external node modules (for ssh and mikrotik api).
When I run it by

nodewebkit .

everything works fine.
Now I need to packed it in exe for using on Windows 7.
I tried build it using nw-builder (https://github.com/nwjs/nw-builder) with command bellow:

nwbuild -p win32 my_app_dir

but I got an error :

{ [Error: ENOENT: no such file or directory, lstat
'/Users/scorpio/01/0.15.0/win32/ffmpegsumo.dll']   errno: -2,   code:
'ENOENT',   syscall: 'lstat',   path:
'/Users/scorpio/01/0.15.0/win32/ffmpegsumo.dll' }

Please help me

@scorpioRED Greetings. nwjs/nw-builder only works with 0.12.x. Use https://www.npmjs.com/package/nwjs-builder if you are interested.

I ran into the same issue and added a pull request to add the latest version, 0.15.1 here: https://github.com/nwjs/nw-builder/pull/326
If you want to add support for a version you're using, it's pretty easy. Download the zip files of the version you want from http://dl.nwjs.io/, go into this file: https://github.com/nwjs/nw-builder/blob/master/lib/platforms.js and add your version along with an array of all of the files that it requires.

Sorry about this. We'll get this fixed ASAP.
Hey @evshiron, I've sent you an email (the email address on your npm account) :email: :eyes:

Closing this in favour of #327. Thanks for reporting.


Max fee

Pull Request Test Coverage Report for Build 126

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.889%

Totals

Change from base Build 123:
0.0%

Covered Lines:
52

Relevant Lines:
60

💛  - Coveralls

Thanks, @NemTechCN for the PR! Please, review the comments added.

Hi @NemTechCN @dl-nice, the PR looks good. As you can see in the following commit, I have tested some additional invalid tests scenarios to make sure that the max fee validator is working properly: https://github.com/nemtech/nem2-cli/pull/62/commits/c3611b194d70089bd456a238a91f673d35dcba05
Would you like to add the missing test scenario validations? We could use this PR to close #53 as well. Thanks!

yes ,I will improve the test plan

@dgarcia360 Are command line parameters lowercase?

Closes #62 #53

Closes #64


Mobile display bugged

Displaying small charts on small canvas on mobile causes the data points to render out of order and dissorted.

Expected Behavior
Work properly, display properly

Current Behavior
This:
https://goo.gl/photos/T5NYbZjJKrCgwdHD6

Possible Solution
Calculate the point position scaled by the canvas width.

Steps to Reproduce (for bugs)
Set up a chart with multiple datasets and large amount of data to be displayed. Set the canvas size to something small similar size like the attached picture.

Context
I am trying to get this working or get away from chartjs in the worst case i am going to write my own chart library that works properly with mobile devices.

I am using this library to compare different datasets and time series.

Environment

Chart.js version: latest from npm
Browser name and version: chrome
Link to your project: private

@azarus do you have a fiddle that reproduces this? I've never seen this before and it's hard to debug from a photo. It doesn't have to be your full project just a minimal reproduce.

QJust got the same issue on desktop. Probably an update caused it.

Closing due to lack of test case

@etimberg The case is easily reproductable with the description above. I'll try to create an example html for you as soon as i have time.  The same scenario works fine on desktop with the same settings but not on mobile. Even in responsive view.

@azarus I tested all of the samples at chartjs.org/samples/latest using Chrome 60 on Android 6 and noticed no issues

I got the error in chrome and not in firefox. I used the same code & dataset to render the chart.
In chomre:

In Firefox:

@azarus What versions of Chrome/Firefox and OS? Also, can you update the description of your issue with the exact Chart.js and browser version(s) (it's not obvious what is the "latest from npm").
And since we are not able to reproduce this issue on our side, can you provide a jsfiddle (or similar) that could help to investigate further this issue, for example the code that generates the screenshots above?

Idk what samples did you test but for me the samples dont work in chrome either:
https://i.imgur.com/1NBPKhv.png
Theres a random line being drawn in the middle, is this the proper behavior for time series datasets?

Yes it is, that's fill + origin: http://www.chartjs.org/samples/latest/charts/area/line-boundaries.html

@azarus if you want further support, please provide all the requested information, thanks!

Sorry i mean in the bottom left corner.  In the mean time i am trying to reproduce my errors on jsfiddle without any success.

Ok, then I can't say if it's the normal behavior without the code that generates the chart (data + options).

It was one of the samples on chart.js samples page:
http://www.chartjs.org/samples/latest/scales/time/line.html

Yes, that's normal because some data are given using {x, y} and the last dataset doesn't have the same number of data, leading in a shorter line.


Unhandled Exception: System.IO.FileNotFoundException

Hello,
I successfully built native application with /t:LinkNative . Unfortunatelly I got below exception when I try to run application. What should I do ?
tablonzo@coco:~/Desktop/DJ_PRAWDZIWY_NATIVE/bin/Release/netcoreapp1.1/native$ ./DJCompositeFeedSrv_NETCore
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Xml.XmlDocument'. The system cannot find the file specified.
File name: 'System.Xml.XmlDocument'
at DJCompositeFeedSrv_NETCore!+0x49af62
at DJCompositeFeedSrv_NETCore!+0x496f7d
at DJCompositeFeedSrv_NETCore!+0x48457d
at DJCompositeFeedSrv_NETCore!+0x48378d
at DJCompositeFeedSrv_NETCore!+0x47ac5a
Aborted (core dumped)

The problem is that we do have good builds of System.Xml.* in CoreRT yet.
You can try to add following to
https://github.com/dotnet/corert/blob/master/src/packaging/packages.targets#L168 to workaround it (one test is likely going to fail) and see whether it makes your app work:
System.Private.Xml.Linq
System.Xml.ReaderWriter
System.Xml.XDocument
System.Xml.XmlDocument


utf8_slice_codeunits produces invalid unicode sequence

Describe the bug, including details regarding any error messages, version, and platform.
pa.compute.utf8_slice_codeunits(f"AB{chr(127917)}C{chr(127917)}ㇱD", start=2, stop=None, step=4).as_py()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyarrow\scalar.pxi", line 632, in pyarrow.lib.StringScalar.as_py
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 4: invalid start byte
>>>

The result of utf8_slice_codeunits produced an invalid unicode sequence.
Component(s)
Python

It gets even better in debug mode:
>>> import pyarrow.compute as pc
>>> import pyarrow as pa
>>>
>>> pa.compute.utf8_slice_codeunits(f"AB{chr(127917)}C{chr(127917)}ㇱD", start=2, stop=None, step=4)
/home/antoine/arrow/dev/cpp/src/arrow/compute/kernels/scalar_string_internal.h:109:  Check failed: (output_ncodeunits) <= (max_output_ncodeunits)

@rok Would you like to take a look?

Even a trivial identity slice fails:
>>> s = f"AB{chr(127917)}C{chr(127917)}ㇱD"
>>> a = pa.array([s])
>>> pc.utf8_slice_codeunits(a, start=0, stop=None)
Traceback (most recent call last):
  Cell In[11], line 1
    pc.utf8_slice_codeunits(a, start=0, stop=None)
  File ~/arrow/dev/python/pyarrow/compute.py:261 in wrapper
    return func.call(args, options, memory_pool)
  File pyarrow/_compute.pyx:367 in pyarrow._compute.Function.call
    result = GetResultValue(
  File pyarrow/error.pxi:144 in pyarrow.lib.pyarrow_internal_check_status
    return check_status(status)
  File pyarrow/error.pxi:100 in pyarrow.lib.check_status
    raise ArrowInvalid(message)
ArrowInvalid: Negative buffer resize: -4
/home/antoine/arrow/dev/cpp/src/arrow/memory_pool.cc:931  buffer->Resize(size)
/home/antoine/arrow/dev/cpp/src/arrow/compute/kernels/scalar_string_internal.h:88  ctx->Allocate(max_output_ncodeunits)
/home/antoine/arrow/dev/cpp/src/arrow/compute/exec.cc:920  kernel_->exec(kernel_ctx_, input, &output)
/home/antoine/arrow/dev/cpp/src/arrow/compute/function.cc:276  executor->Execute(input, &listener)

@felipecrv @benibus Perhaps one of you is interested as well.

I can try taking a look ...might be nice to do some unicode debugging again

I can take a look but need to complete something else first. Will ping if I start work.

@pitrou should this be a blocker?

I don't think it needs to.

Fix for this is in progress, but it seems the default value for SliceOptions::stop (which is INT64_MAX) isn't handled in a few calculations, resulting in overflows.
Seems kinda crazy that this hasn't come up before actually... since the specific uinicode sequence doesn't appear to be relevant.


store ordered list start index from cmark

Bug/issue #, if applicable: rdar://73847907
Summary
While cmark-gfm stores the start index for an ordered list, swift-markdown currently discards this information. This PR is part of a set to use this start index when handling ordered lists.
I also added license headers to the markdown in the doc bundle so that bin/check-source can pass.
Dependencies
None
Testing
With the following markdown test file, ensure that the debug tree properly contains the start index of the list.
2. this is a test
3. this is a test
4. this is a test

Steps:

swift run markdown-tool dump-tree test.md
Compare the output to the below sample and ensure that the start index is preserved:

Document
└─ OrderedList start: 2
   ├─ ListItem
   │  └─ Paragraph
   │     └─ Text "this is a test"
   ├─ ListItem
   │  └─ Paragraph
   │     └─ Text "this is a test"
   └─ ListItem
      └─ Paragraph
         └─ Text "this is a test"

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

@swift-ci Please test

I've rebased this onto the latest main (and dropped the commit that added copyrights to the doc markdown files, since that was added separately). I've also updated the doc comment for OrderedList.start to better reflect the default value, and updated the implementation to allow ordered lists to start with zero (since cmark and HTML allow this).

@swift-ci Please test

Had to update a test after reverting the change to the markup formatter.
@swift-ci Please test

@swift-ci Please test

@swift-ci Please test


Is there an idiots guide on how to use this tool.. mac

can someone please provide a step by step for mac user on how to use this tool?

Can you please clarify what you've tried and where did you fail?
Basically, you should:

download program
write your configuration based on example-mapping.yaml (it has a lot of comments inside)
execute ch57x-keyboard-tool upload < your-config.yaml


Cannot Build MP Starter on Maven 3.6.0+

The MP Starter cannot be built on Maven 3.6.x due to an issue with the current version of Thorntail that is used. (2.2.1.Final)
https://github.com/thorntail/thorntail/pull/1195
Upgrading to Thorntail 2.5.0.Final solves this issue and allows the MP Starter to be build with newer versions of Maven.

@davidsalter  Why do you want to build the Starter your self and not using the start.microprofile.io?
This change doesn't affect the generated projects for the users.
We can't do this upgrade until Eclipse Foundation vetted Thorntail 2.5.0.

Hi. The reason for building the starter myself was so I could look at some of the issues and try to write fixes for them. I could downgrade my local maven if this version of Thorntail is not ok?

Locally you can update the Thorntail version if it is for testing, but the version we use in the repository can't be changed that simple.

Thanks @rdebusscher.
I'll leave this issue open (unlesss you want to close it) for future reference in case Thorntail 2.5.0 gets correctly vetted.

Will be fixed in #262


double spend a single input

Right now we have the ability to cancel a transaction with a double spend of the same inputs (UTXO's) somewhere else, or increase the fee with a double spend to the same inputs and outputs. This is nice, but if we have a large transaction with many inputs with a very low fee rate, we may want to just double spend a single input with a larger fee rate and have a much lower overall fee. It would be nice to be able to select individual UTXO's when doing a cancel double spend and not be required to select all of the original inputs (UTXO's). If the fee rate for the original transaction was way to low, it's very possible the original transaction is wiped out of most node's mempools and a miner will prefer to first process the smaller transaction with the higher fee rate.

It's possible to remove UTXOs from a created RBF transaction by clicking on the X icon that appears next to them when hovering over the UTXO in the transaction diagram.

Okay, so right now if I try to do a replace by fee, it brings up the send screen. The transaction diagram does not come up. The Amount and Fee are red and it says insufficient funds. Also, the fee slider is in a place that is not matching the original fee. If I slightly move the slider, then the Amount jumps down and the Fee jumps up, then the transaction diagram comes up and I can try to do what I want with it.
However, it's hard to always force the same input UTXO's to stay. It's a bit finicky. As you change sending parameters, the UTXO's selected seem to automatically adjust (it might be nice to have a lock an input UTXO option). With some trial and error with the GUI, I was able to successfully do a double spend selecting only a single input UTXO that I wanted (getting rid of the other input UTXO's). However, in the Transactions tab, the label for the replaced double spent transaction is attached to the replacing double spend transaction, whereas the UTXO's tab does actually show the label I put in for the double spend.

The behaviour you have described has been fixed in https://github.com/sparrowwallet/sparrow/commit/af9fb8694efafde6c7d0acea503a8ab48f797fee (and others). The minimum required fee for relay is now set, and the proposed transaction that appears immediately on selecting the RBF function can be broadcast.


ISPN-12267 Make CacheIgnoreManager use a scoped key in the global CON…

https://issues.redhat.com/browse/ISPN-12267

Merged, thanks!


Card not shown even when manually typing the yaml everything fails

Checklist:

[ x] I updated to the latest version available
[ x] I cleared the cache of my browser

Release with the issue: v0.0.5
Last working release (if known): not known
Browser and Operating System: Home Assistant OS / MacOS + Chrome

Description of problem:
It seems like that the card itself is not working at all in the current vertsion of HA (just downloaded a new install on thursday (so running
Home Assistant 2022.11.5
Supervisor 2022.11.2
Operating System 9.3
Frontend-versie: 20221108.0 - latest

Javascript errors shown in the web inspector (if applicable):

Additional information:

This was due to a breaking change in a recent HA update. It has been resolved in release v0.0.6.


Upgrade Master branch as 1.3 version

We need to upgrade current master branch with V1.3 documentation

@JulienGuo , this issue should be resolved already, please check