Fix errors while deselecting all tree items; issue #65185

Fixes #65185
The problem is item->deselect(selected_col); where it uses the column id from the selected cell by cursor so not the column from the cell we actually want to deselect. With this fix it correctly iterates through each column to deselect each cell.

Also, in order to link the issue you're fixing, you have to type "fixes #65185" or alternatives you can see here. :)

Also, in order to link the issue you're fixing, you have to type "fixes https://github.com/godotengine/godot/issues/65185" or alternatives you can see here. :)

Thank you, corrected it here and in other PRs.

I changed the commit to only include the fix for #65185
For other changes I will create a new PR as I found more problems with cursor for both selecting and deselecting.

Thanks!

Cherry-picked for 3.5.2.


The latest tag on NPM is wrong

It looks like the latest version is 0.2.0 in the package.json / git tags, but NPM is showing 0.3.0:
$ npm dist-tags ls feathers-authentication-client
latest: 0.3.0

Apparently npm unpublish is not allowed anymore at all. Added the new tag so it should be in sync now.


Compiler errors

Does this code work yet?  i get these issues when compiling.
mcs Program.cs
Program.cs(11,25): error CS1525: Unexpected symbol ;' Program.cs(13,6): error CS1514: Unexpected symbol public', expecting .' or {'
Program.cs(17,24): error CS1525: Unexpected symbol !' Program.cs(234,32): error CS1525: Unexpected symbol .'
Program.cs(234,33): error CS1525: Unexpected symbol .' Program.cs(234,38): error CS1525: Unexpected symbol ]'
Program.cs(249,9): error CS1525: Unexpected symbol using' Program.cs(249,69): error CS1525: Unexpected symbol )', expecting ;' or }'
Program.cs(333,105): error CS1525: Unexpected symbol !' Program.cs(397,37): error CS1001: Unexpected symbol .', expecting identifier
Program.cs(397,42): error CS1001: Unexpected symbol ]', expecting identifier Program.cs(397,66): error CS0136: A local variable named CarriageReturn' cannot be declared in this scope because it would give a different meaning to CarriageReturn', which is already used in a parent or current' scope to denote something else
Program.cs(397,79): error CS1001: Unexpected symbol `)', expecting identifier
Compilation failed: 13 error(s), 0 warnings

mcs Program.cs

Am I right in guessing you're trying to compile this with Mono's compiler? That's not currently supported.

i'm just switching to ubuntu so a bit green.  is there one that does avail?

yes. i'm just switching to ubuntu so a bit green. is there one that does avail?

Yup, you can find instructions over on Microsoft's Ubuntu guide

I was able to fix it with that guide.
the command will look something like this:
dotnet SmsAndMmsMerger.dll -i file1.xml,file2.xml,file3.xml -o output.xml
it would be kind of useful if it would just process an entire folder of XML backups or had that easy option.
dotnet /SmsAndMmsMerger-main/bin/Debug/net6.0/SmsAndMmsMerger.dll -i /<folder with XML file(s) path> *.xml -o output.xml
i had to do something where i just processed by "year" because that other error i brought up with the odd XML tag and the special character issue.

it would be kind of useful if it would just process an entire folder of XML backups or had that easy option.

It wouldn't be too hard to implement but it'd have to make assumptions about the "order" of the files for the merge if there's duplicate SMS/MMS content in any of the files.
In the interim you could probably script something that just repeatedly calls the merge tool with your preferred ordering.


can not use <(less than) or >(greater than) in case condition

mergequery = """
select  distinct *
from mergeTable
where
case when Status='52wkHigh' then strike < lastPrice
else strike > lastPrice end
"""
rr = query(mergequery)

Getting below error

@zbrookle can you please look into this and see if this is a bug or this is an enhancement?


WFLY-16789 - Update resteasy-spring to 3.0.0.Beta1

https://issues.redhat.com/browse/WFLY-16789

@jamezp Thanks for checking!

/retest

Hello, liweinan. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

/ok-to-test


Trigger template pipeline instead of core pipeline for eng/common changes

Summary
Currently, eng/common changes in azure-sdk-tool repo will create PRs for 9 languages. For tier-1 languages(python, net, JS), we trigger core pipeline instead of template.
Proposal
Trigger template pipeline for eng/common PR instead of core pipeline.
Motivation
Core pipeline takes hours to finish the scanning, which consumes more resources than template pipeline.
Template is light weighted testing API package which can reduce burdens of pipeline work. We have all basic checking setting up to template to protect us from making wrong changes to pipelines.
Current status
Java has already made changes to template pipeline for basic checking. We do not receive any error reports which can be potentially caught by core instead of template.

Merged the PR for 4 tier-1 langs. Closed the issue. Will open followup issue if needed.


[Suggestion] Remove hypens in Pokemon identifiers that are not forms

Hello, I don't know if this is a breaking change or not for other things,
but would be nice if there is a more consistent naming pattern for identifiers, like only using hypens when what's behind it is a form name, like diancie-mega, but not using them for example for species names like ho-oh (that will be hooh).
This way we can easily extract the form part of the identifiers, without having to consult extra columns / queries and we'll also have a more consistent naming.
What I am suggesting is to remove the hypen from these Pokemon: nidoran-m, nidoran-f, mr-mime, ho-oh, mime-jr and porygon-z, like I did in a project based on this one.
What do you think?

I'm not too familiar with the whole veekun project, but would it matter? The form names and Pokémon names are in different CSV files, using the IDs as a foreign key. I'm not sure whether the identifiers are actually used in this way, although I do like the idea of a consistent naming system.

Identifiers are opaque.  It would be nice to be a little more consistent here, but you shouldn't be parsing them at all.

Thanks for the suggestion, but i don't see us doing this. To add on to what Farbod and eevee have said, the primary purpose of the identifiers is to be a human-readable id. They exist to make the tables nicer to read, but also so that programs can compare with the identifier instead of the id, making the programs nicer to read. For this second use-case, it is important that the identifiers be stable. We don't want to go changing them willy-nilly. There is already a supported way to get the form identifier: join with pokemon_forms and select the form_identifier field.


metcall/metall.h: No such file or directory

Detailed Description
Hello.  I'm trying out metacall for the first time (very excited) with go on Ubuntu 20.04.  When I call metacall.Initialize() I get an error about a missing header file (metacall/metacall.h).
I'm not sure that this is a "bug" since it's possible that I've botched the install, but I think I've followed the steps outlined and after looking around the Internet I haven't seen mention of this as a common problem.
Many, many thanks in advance for any advice!
Steps to Reproduce
I used the installation instructions and ran:
curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh
That seemed to work. 👍
In my go app, I then imported metacall like so:
import (

	metacall "github.com/metacall/core/source/ports/go_port/source"
)

I then ran go mod tidy.
Then I added the following call:
	if err := metacall.Initialize(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

This is failing with the following error:
# github.com/metacall/core/source/ports/go_port/source
../../../go/pkg/mod/github.com/metacall/core/source/ports/go_port/source@v0.0.0-20220530142231-071efdc7374f/go_port.go:27:10: fatal error: metacall/metacall.h: No such file or directory
   27 | #include <metacall/metacall.h>
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Context (Environment)
I'm running on Ubuntu 20.04 with go1.18.3 linux/amd64
When I search for metacall.h I do find it in this location:
<EMAIL_ADDRESS>Please let me know if I can provide more information that would be helpful.

@patdaburu  please check out this in the documentation
https://github.com/metacall/core/tree/develop/source/ports/go_port/source#building
This section:
https://github.com/metacall/core/blob/071efdc7374f82678a2dcbdb5c8ca4d3481ce190/source/ports/go_port/source/README.md?plain=1#L62-L72

D'oh! Face palm! I completely missed this!  Thank you @giarve!!


Add robots.txt and sitemap.xml file

PR Activity ref: #8
Links to get started

https://www.pythonanywhere.com/forums/topic/2899/

closed via https://github.com/vijay-jaisankar/pandemonium/pull/23


Update savebar design

I want to merge this change because it updates savebar design.
PR intended to be tested with API branch: master
Screenshots

Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[ ] Number of API calls is optimized.
[ ] The changes are tested.
[ ] Data-test are added for new elements.
[ ] Type definitions are up to date.
[x] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: CU-7un556 Implement new floating element

Task linked: CU-7umwen Update background


Increase 'tuxsuite plan' step timeout to eight hours

By default, GitHub Actions limits each step in a workflow to 360
minutes, which would normally be enough but if an all*config build gets
preempted and has to restart, it is possible for the 'tuxsuite plan'
command to exceed 360 minutes. Increase it by two more hours up to a
total of eight hours to see if that is enough to avoid job timeouts.

This might need rebasing due to collision with #463.

We should see how feasible it is to remove this (or tighten down the timeout) in the future.

Sure, that definitely seems reasonable. That will depend on whether or not TuxSuite could do something about the infrastructure error retries that it does, as that appears to be the reason that we need to do this. Thanks for the review!


remove dependency of prometheus

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

closing this one in favor for https://github.com/Azure/acs-engine/pull/1591


GH-152: Use ES-module import syntax

This PR changes the compiler.js to import the bindings using the more modern ES-module syntax. This is supported by all major browsers but Firefox, which will get it in version 111, released March 14th. After we confirm that this works, we should thus merge this PR.
It also changes main.js to have the extension mjs for JavaScript module, needed for support in MacOS.
Resolves GH-152

This does work on Firefox 111.0 (beta) but is locked behind the dom.workers.modules.enabled flag (disabled by default). So, this will require users to change default settings to get it to work. I think we should hold off on changing this for the time being, until it actually has support without changing flags. Closing this PR for now.

Confirmed to still be locked behind that flag on Firefox 111.0 Stable Release


Add documentation on using the interceptor or scaler without other components

The operator exists for convenience, and you can use the interceptor or scaler without the other pieces of the puzzle. It would be nice to have documentation on how to do so.
Use-Case
Some folks might want to use these components in isolation, without the rest of the system, so we should document how to do so

Just curious, when would somebody prefer not to use the operator?

I think it's possible that somebody would want to customize their install, and would rather not use the operator to set things up for them. One possibility is if they have a special requirements for traffic routing between their ingress / service mesh infrastructure into the scaling infrastructure.

This is done


Minor fixes to Spanish translation

Translation files are now in new format, so parameters are %1, %2 ... instead of %s. Could you provide these fixes to new file? :)

Thank you! FYI; I have manually applied the changes to ES file. Closing this PR.

Thanks! I had a busy week and couldn't review it

(FYI) Translations on translatewiki.net now are available, Visit https://translatewiki.net/w/i.php?title=Special:Translate&action=translate&filter=&group=mwgithub-discordnotifications&language=es for details


the name is a bit confusing

Hi
It's really great, thanks for your great work! The name is a bit confusing to me. It seems that this Docker is leveraging ipex-llm, so would it be more appropriate to name the repo and image as ipex-llm-fastchat-docker?

That's a fair point - wasn't particularly attached to the name, and since GitHub happily redirects from the old slug...done :)


alternative results rendering by address

Currently the output is grouped by namespace. To highlight the locality of functionality a mode to group by found address (first location for multiple hits, e.g.).
#991 would help to avoid reprocessing the entire file again, just to show results differently

see also #337


Can't complete when doing batch convert

I tried batch convert with outputVideoDataByReducingFPS . Compression completed successfully when there are 2 instances of FYVideoCompressor or less, when there are 3 or more instances, at least one instance couldn't go to completion block  writer.finishWriting. The failed time as I logged at let cmTime = CMSampleBufferGetPresentationTimeStamp(newSamplePointee) almost reached the end time of the uncompleted video.
Please advise, thanks for your great work.

Thanks for your feedback, I'll have a look at it as soon as possible.


getSocketStream update by steffalon

Issue #30 #31 fixed
This allows users to listen to a constant socket stream. It also allow users to set amount of streaming loops or debug mode when making changes to the code. Switch case "00" isn't getting used but I decided to keep it there for developers who want to make some changes in ARC script.

Thank you very much, this looks great. 👍
The only thing is, that this function should not echo something out. This output is unwanted for the most devs, because ARC runs in the background of their main program.
Another “problem” is your code-style, this library complies with the PSR-2 CS in order to be readable for all devs. And switching the CS is not something preferable 😉
Cheers!

I just remembered, there’s a tool helping you with the style guide: https://github.com/FriendsOfPHP/PHP-CS-Fixer

I have added a new style and made echo only possible via debug.

@schaeferfelix I think it is all done. This method works good and also can work together with other methods for example say or sayglobal if you remove this: $this->disconnect(); // Runs if process is done.. So no reconnects are needed.

@schaeferfelix I have found a solution. Now it is even more efficient. It can handle other methods without reconnecting with an extra boolean added called $closeCon.
For example:
$rcon->getSocketStream(1, false, true);
$rcon->command("say -1 test1");
$rcon->getSocketStream(1, false, true);
$rcon->command("say -1 test2");
$rcon->getSocketStream(1, false, true);
$rcon->command("say -1 test3");
$rcon->getSocketStream(1, false, true);
$rcon->command("say -1 and I didn't even reconnect!");
$rcon->getSocketStream(-1, true, true); // Now keep going without sending any commands.

Very cool! 👍
What do you think about adding a callback closure to the function, which gets called whenever a package is received?
Also Taylor Otwell from Laravel lately has stated in his newsletter, that many boolean arguments for a function should be avoided, in order to keep it user friendly. So instead multiple methods should be used.
So we could do some renaming for the public functions like socketLoop(int $loop, closure $callback) and socketLoopClose(int $loop, closure $callback).
Please let me know what you think and if you can implement it, I am currently on vacation and have limited possibilities to work 😄

Hey @schaeferfelix, is this what you were looking for as 2 seperate functions?
    /**
    * Get socket and continue streaming and disconnect after looping.
    *
    * @author steffalon (https://github.com/steffalon)
    * @link https://github.com/schaeferfelix/arma-rcon-class-php/issues/30 issue part 1
    * @link https://github.com/schaeferfelix/arma-rcon-class-php/issues/31 issue part 2
    *
    * @param integer $loop      Number of loops through this funtion. By default, (-1) for no ending.
    * @param boolean $debug     Useful boolean for debugging. By default, (false).
    *
    * @return boolean
    */
    public function socketLoopClose($loop = -1, $debug = false)
    {
        $end = 0; // Use this varible as sequence and loop ending.
        while ($end !== $loop) {
            $msg = fread($this->socket, 9000);
            if ($debug) {
                echo preg_replace("/\r|\n/", "", substr($msg, 9)).PHP_EOL;
            }
            $timeout = stream_get_meta_data($this->socket);
            if ($timeout['timed_out']) {
                $this->keepAlive($debug);
            } else {
                $responseCode = unpack('H*', $msg); // Make message usefull for battleye packet by unpacking it to hexbyte.
                $responseCode = str_split(substr($responseCode[1], 12), 2); // Get important hexbytes.
                switch ($responseCode[1]) { // See https://www.battleye.com/downloads/BERConProtocol.txt for packet info.
                    case "00": // Login WILL NOT BE USED IN THIS LOOP!
                        if ($responseCode[2] == "01") { // Login successful.
                            if ($debug) {
                                echo "Accepted BERCon login.".PHP_EOL;
                            }
                        } else { // Otherwise $responseCode[2] == "0x00" (Login failed)
                            if ($debug) {
                                echo "Invalid BERCon login details. This process is getting stopped.".PHP_EOL;
                            }
                            break 2;
                        }
                        break;
                    case "01": // Send commands by this client.
                        if (count($responseCode) == 3) {
                            break;
                        }
                        if ($responseCode[3] !== "00") { // This package is small.
                            if ($debug) {
                                echo "This is a small package.".PHP_EOL;
                            }
                        } else {
                            if ($debug) { //This package is multi-packet.
                                echo "Multi-packet.".PHP_EOL;
                            }
                            // if (debug) var_dump($responseCode); //Useful developer information.
                            // if ($responseCode[5] == "00") {
                            //     $getAmount = $responseCode[4];
                            //     if (debug) var_dump($getAmount);
                            // }
                        }
                        break;
                    case "02": // Acknowledge as client.
                        $end = $this->acknowledge($end, $debug);
                        break;
                }
            }
        }
        $this->disconnect();
        return true; // Completed
    }

    /**
    * Get socket and continue streaming and don't disconnect after looping.
    *
    * @author steffalon (https://github.com/steffalon)
    * @link https://github.com/schaeferfelix/arma-rcon-class-php/issues/30 issue part 1
    * @link https://github.com/schaeferfelix/arma-rcon-class-php/issues/31 issue part 2
    *
    * @param integer $loop      Number of loops through this funtion. By default, (-1) for no ending.
    * @param boolean $debug     Useful boolean for debugging. By default, (false).
    *
    * @return boolean
    */
    public function socketLoop($loop = -1, $debug = false)
    {
        static $end; // Use this varible as sequence and loop ending.
        if ($end !== null) {
            $loop = $end + $loop;
        }
        while ($end !== $loop) {
            $msg = fread($this->socket, 9000);
            if ($debug) {
                echo preg_replace("/\r|\n/", "", substr($msg, 9)).PHP_EOL;
            }
            $timeout = stream_get_meta_data($this->socket);
            if ($timeout['timed_out']) {
                $this->keepAlive($debug);
            } else {
                $responseCode = unpack('H*', $msg); // Make message usefull for battleye packet by unpacking it to hexbyte.
                $responseCode = str_split(substr($responseCode[1], 12), 2); // Get important hexbytes.
                switch ($responseCode[1]) { // See https://www.battleye.com/downloads/BERConProtocol.txt for packet info.
                    case "00": // Login WILL NOT BE USED IN THIS LOOP!
                        if ($responseCode[2] == "01") { // Login successful.
                            if ($debug) {
                                echo "Accepted BERCon login.".PHP_EOL;
                            }
                        } else { // Otherwise $responseCode[2] == "0x00" (Login failed)
                            if ($debug) {
                                echo "Invalid BERCon login details. This process is getting stopped.".PHP_EOL;
                            }
                            break 2;
                        }
                        break;
                    case "01": // Send commands by this client.
                        if (count($responseCode) == 3) {
                            break;
                        }
                        if ($responseCode[3] !== "00") { // This package is small.
                            if ($debug) {
                                echo "This is a small package.".PHP_EOL;
                            }
                        } else {
                            if ($debug) { //This package is multi-packet.
                                echo "Multi-packet.".PHP_EOL;
                            }
                            // if (debug) var_dump($responseCode); //Useful developer information.
                            // if ($responseCode[5] == "00") {
                            //     $getAmount = $responseCode[4];
                            //     if (debug) var_dump($getAmount);
                            // }
                        }
                        break;
                    case "02": // Acknowledge as client.
                        $end = $this->acknowledge($end, $debug);
                        break;
                }
            }
        }
        return true; // Completed
    }

What do you think about adding a callback closure to the function, which gets called whenever a package is received?

I think it is better to keep it like this. I don't know how to inplement closures inside those functions.

Yep, a private functions on which the public functions wrap around would be smart. But don’t forget the closure, which gets called with the message as payload $callback($msg).
Cheers! Also happy new year to all contributors 🎉


Update deprecated option key

Any chance the option keys could be updated to reflect changes in 5.5?

Further to this issue …
Using version 1.0.1 of the plugin on WordPress 5.9.4 and 6.0.2 with WP_DEBUG set to true.
Clicking the “Run manual update” button to refresh the blacklist source, results in the following error messaging:
Deprecated: update_option was called with an argument that is deprecated since version 5.5.0!
The "blacklist_keys" option key has been renamed to "disallowed_keys". in
/home3/newtedor/public_html/teachtext/wp/wp-includes/functions.php on line 5607

Warning: Cannot modify header information - headers already sent by (output started at
/home3/newtedor/public_html/teachtext/wp/wp-includes/functions.php:5607) in
/home3/newtedor/public_html/teachtext/wp/wp-includes/pluggable.php on line 1355

Warning: Cannot modify header information - headers already sent by (output started at
/home3/newtedor/public_html/teachtext/wp/wp-includes/functions.php:5607) in
/home3/newtedor/public_html/teachtext/wp/wp-includes/pluggable.php on line 1358

Setting WP_DEBUG to false eliminates the error messaging and the blacklist source is refreshed as expected.


MtApi5: TesterMode ,correct working deinitExpert() ?

I am a bit confused.
In the conversation about issue #16  , the last thing is:
A workaround is built in which simulates deinit after 2 seconds with no quotes.
I press stop in the tester and Matlab gets a connection changed event.
Immediately and not after 2 seconds.
Also the TestClient disconnected immediately.
This shows me a correct behavior.
Nevertheless, the logger fills in entries with timeouts.

2018-03-31 19: 02: 19,710 [4] WARN MTApiService.MtExpert - Mt5Expert has received new tick during 2 sec in testing mode. The possible cause: user has stopped the tester manually in MetaTrader 5.

What is active now?
incorrect Timeout function  or a correct deinitExpert function or both ?

I will investigate it soon. Maybe MetaQuotes changed behavior of stop button.

Fixed it by commit 1a5882b75a784ce42d4154219e317413bc04100b . Now it is working as designed (with delay 2 sec).


Move rules to be on same page as the game

Problem
The rules open on a new tab as its own page but should remain on the same page as the game so that it looks nicer. The rules button is also not easily noticed on the game screen but also easy to accidentally click on when the user is attempting to click the Uno button.
Solution
Make the rules display on another screen in the start menu without leaving the game page.

Moving to be part of #38 instead of in its own Issue


[WIP] Fix wheel not loading bundled cuDNN on Windows

After cupy_backends separation cuDNN bundled in wheels are not loaded on Windows.
The following description only applies for Windows. (Linux behavior is different).
Currently we are copying two DLLs in wheels:

nvToolsExt64_1.dll (used from cupy.cuda.nvtx)
cudnn64_7.dll (used from cupy_backends.cuda.libs.cudnn)

In wheels, DLLs are placed under cupy/cuda/ directory. This is because DLLs are looked up from the same directory as the Python extension module requiring that DLL. This assumption was OK until cupy_backends separation.
This PR changes the path to place shared library to cupy/.data/lib (which is the same as Linux), and add that directory to PATH (for Python 3.7 or earlier) or DLL lookup directory os.add_dll_directory (for Python 3.8+).
TODO: I'm now testing the behavior on Windows.

Jenkins, test this please

Jenkins, test this please

Jenkins CI test (for commit 5377fd9f832accc70bb55fca1fd6b0c0d2c8ed10, target branch master) succeeded!

Jenkins CI test (for commit 5377fd9f832accc70bb55fca1fd6b0c0d2c8ed10, target branch master) succeeded!


Implemented item 7 of the book (linter mode).

Now the program alerts the user when it finds classes that call finalize(). This corresponds to item 7 in the effective Java book.
For now, it only works in the linter mode.

I've added sample classes and tests for the 2 cases that you mentioned.
The code passes the tests. However, I still need to modify it to use the classes of the javaparser that you mentioned before.

Thank you, I think the current solution would cover the 99% of real usages. A couple of other cases that would be not covered:

"finalize()" in a string would be recognized
finalize( ) or finalize () would be not recognized because of the spaces

I am using the java parser now. Please check that everything is OK.

Looks very good, thanks a lot!


[Bug][Doc] Page not found when Business configuration was hit in the website: docs/user_guide module

What happened
Page Not Found : doc of Business configuration part unavailable

What you expected to happen
Most likely, it'd be an erroneous behavior of url jump.
How to reproduce

hit this:   https://inlong.apache.org/docs/user_guide/quick_start

choose 0.11.0

follow the following steps :

you'd see the abnormal page:

Environment
Google chrome :Version 92.0.4515.159 (Official Build) (x86_64)
InLong version : v0.11.0
postscript： v0.11.0 is not choosable in below InLong version part.
InLong version
0.10.0 RC1
InLong Component
Other for not specified component
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

fixed in the next version.


Fix/ipfs dot tech

Proposed changes
ipfs.io -> ipfs.tech - https://github.com/valory-xyz/open-aea/pull/384#pullrequestreview-1146478348
Fixes
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to agents-aea?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[ ] Lint and unit tests pass locally with my changes and CI passes too
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

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

Failures:
macOS 3.10 -> #386
ubuntu 3.8, windows 3.7 & 3.9 -> #383


GetAvailablePurchase return empty array but GetPurchaseHistory does return results

Version of react-native-iap
4.2.2
Version of react-native
0.59.9
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
GetAvailablePurchase should return results
Actual behavior
GetAvailablePurchase returns empty array
Tested environment (Emulator? Real Device?)
Real Device
Steps to reproduce the behavior

Subscribe to test the purchase.
FinishTransaction (Acknowledge the purchase).
calling getAvailablePurchase return empty array

Wow, this is new to me either. queryPurchaseHistoryAsync and queryPurchases are the methods we are using for getPurchaseHistory and getAvailablePurchase.
I am suspecting this might cause a different result in test mode but I hope you can bring us further investigation since I feel you are the closest to the issue.


Locale provider

Summary
Add the ability to attach a locale provider to the client which can be queried by commands for localizations.
Why is this needed?
It would provide a nicer interface for i18n.
Ideal implementation
Ideally a LocaleProvider or something similar would be provided to the client on initialization, and commands that are being added can then query the LocaleProvider to set their locale options. The user should also be able to query localization strings through the provider manually for creating localized responses.
Checklist

[X] I have searched the issue tracker and have made sure it's not a duplicate. If it is a follow up of another issue, I have specified it.

Implemented in 952e572


WernherChecker support

Hi there,
I would like to add CKAN support for my mod WernherChecker.
Here is the .netkan:
{
    "spec_version" : 1,
    "identifier"   : "WernherChecker",
    "$kref"        : "#/ckan/kerbalstuff/91",
    "x_netkan_license_ok": true,
    "resources": {
    	"repository": "https://github.com/Magion/WernherChecker"
  },
}

Thanks!

Here you go: http://ci.ksp-ckan.org:8080/job/PR builder - NetKAN metadata/266/console
The AVC parser is not really happy with your embedded .version file though, you might want to look into this before uploading your next release.


Partner comment notifications

Partners should get notifications for comments on applications they're assigned to & applicants should get notifications when partners comment. There may be more examples of where notifications should be sent too.

going to be a modification to the privileged property:
https://github.com/HyphaApp/hypha/blob/ed2dc3717dfd3bf847471d63e780613016889b6b/hypha/apply/activity/models.py#L202-L205
and
https://github.com/HyphaApp/hypha/blob/ed2dc3717dfd3bf847471d63e780613016889b6b/hypha/apply/activity/adapters/emails.py#L265-L269


Refactor SM2

Up until now, applications had to set the type of SM2 EVP_PKEYs explicitly for SM2 processing to take place, with a call like this:
    if (EVP_PKEY_id(pkey) == EVP_PKEY_EC
        && (eckey = EVP_PKEY_get0_EC_KEY(pkey)) != NULL
        && (group = EC_KEY_get0_group(eckey)) != NULL
        && EC_GROUP_get_curve_name(group) == NID_sm2)
        EVP_PKEY_set_alias_type(EVP_PKEY_SM2);

The goal of this refactoring is to eliminate the need for such extra application side processing, and instead having that happen automatically and an EC_KEY is assigned to an EVP_PKEY.
Furthermore, the functions X509_REQ_verify() and X509_verify() were doing some heavy lifting with SM2 keys, via a function that was almost a straight copy of ASN1_item_verify().  This is replaced with a new function ASN1_item_verify_ctx() that takes an EVP_MD_CTX pointer instead of a EVP_PKEY one, and through which all sorts of parameters can be passed, such as the SM2 identity.
Doing this also prepares for a provider side key adaptation.

Merged
f4e4382cae1fb85fec6e9aa26f65fc729a40a039 EVP_PKEY_assign_EC_KEY(): detect SM2 curve and set EVP_PKEY type accordingly
0943d5dd6179e2e824ec9a38b7ea6caa17a84ebd Add SM2 specific parameter and key generation
bbaddbc0682a4cd3271ee41f58550f7c26e8194e X509: Refactor X509_verify() and X509_REQ_verify() for better streamlining
ef077ba0d2fa28fd1b481f80335bda723d3d1f20 Make SM3 a mandatory hash function for SM2.
3995de2c0356d8e3b34e8fb2ddf22b20210e498d Adapt tests for SM2 changes.
bac1030ae4f93f22b3a81e3a2d9d3c5db363d96f Adapt some 'openssl' commands for SM2 changes.
7f293d9f3b5cee4f4b15624fff15a45e0517334f CHANGES: Add note about the refactoring of SM2 EVP_PKEYs


Inconsistent and unpredictable - Hard to debug

Love the plugin, but it feels inconsistent. Sometimes it'll trigger the notification and for a different message that is seemingly configured the same it won't. Sometimes it'll be delayed or certain variations of the messages won't work at all.
I suspect this has some part to do with #9 but more generally, it'd be really helpful if there was some way to test our message filters. Even something like a debug mode toggle which would highlight the messages in chat that it matched and the name of the rule that matched it. This way we could play around with different patterns and scroll through the chat/notification history and see if it is working as expected. This will be especially valuable if the outcome of #9 is to implement full regex support.
Although this is all really a bandaid for the real problem of the inconsistency and unpredictability. A few of the cases where it seems to behave differently (possibly - hard to test):

I cannot seem to setup Watchdog notifications for Guardians of the Rift "A portal to the huge guardian fragment mine *" but I can setup a notification for the message "A portal has spawned *" from the Guardians of the Rift Helper plugin.
The Guardians of the Rift message "The rift will become active in 5 seconds." isn't matched with a pattern of that exact string. Nor is it matched if I add a * after it. Similarly with The rift becomes active!.
Cannot match the vanilla notification of Valuable drop: with "*drop*"
Possibly deduped notifications (From RuneLite's Chat Filter plugin's Collapse Chat setting)

I cannot seem to setup Watchdog notifications for Guardians of the Rift "A portal to the huge guardian fragment mine *" but I can setup a notification for the message "A portal has spawned *" from the Guardians of the Rift Helper plugin.

The Guardians of the Rift message "The rift will become active in 5 seconds." isn't matched with a pattern of that exact string. Nor is it matched if I add a * after it. Similarly with The rift becomes active!.

Did you try adding a * at the start? If it is related to #9, that should fix the issue. I've never played Guardians of the Rift, but I imagine it could be colored and that's why it's failing similar to #9.

Cannot match the vanilla notification of Valuable drop: with "drop"

That seems to be similar to what #9 was experiencing but having a wildcard * before the text seemed to fix it for them. I'm a little stumped why it's not working for you. I've revamped the glob pattern matching in v2 and I have created a unit test for this example that passes so hopefully it is fixed for you soon.

Possibly deduped notifications (From RuneLite's Chat Filter plugin's Collapse Chat setting)

Can you elaborate here? I'm not entirely sure what you're talking about.
All in all, v2 will be released soon and I think it will probably fix most if not all of your issues. Stay tuned! If you're eager to try it out, you can try out my newest release candidate here https://github.com/adamk33n3r/runelite-watchdog/releases/tag/v2.0.0-rc2

Oh, and I forgot to mention that I really like your "debug mode" idea. I'll have to think about that some more and design something. I do think that's valuable. Probably won't make it into v2 but it's a good idea!

I'll happily test when the new version is out! Currently it's a bit hard to reproduce some of these messages since they aren't easily triggered. I'm excited to try it out! Thanks for your work.

Can you elaborate here? I'm not entirely sure what you're talking about.

I don't know if there's any adverse effects due to this runelite feature. I'm not sure if the number appended to the end of the message needs to be considered in our glob or not. Maybe it's not an issue since this plugin runs on the raw message, but I'm not sure.

Oh ok, I didn't know that was a thing! I'll definitely test it out :)

Good to know! I cannot wait to get some easy ways to test this to create more actionable bug reports in the future. 😛  Thanks for your hard work!

After rereading your original issue, are you using Notification alerts or Chat alerts? Cause you are saying "notification" when referring to getting chat game messages, so I'm wondering if you were accidentally using Notification alerts when you should be using a Chat alert.

Notification alerts. I assumed that default Runescape notifications (eg: not ones that are created by RuneLite) are still categorized as notifications, right? Since no player said them?

Well one way to tell if it's a RuneLite notification vs a RuneScape game message is if you turn off Game message notifications in RuneLite

and the message still shows up in your chat, then it's a RuneScape message.
To be clear, Chat alerts will still work for plugin notifications if they show up in your chat. So if you have Game message notifications turned on, using a Chat alert will still work because that plugin notification is being sent to your chat. So Chat alerts are like the "default" that works generally and you would use Notification Fired really only if you have Game message notifications turned off.
To answer your last questions, I think what I just explained hopefully explains why it doesn't make perfect sense to consolidate them, since Notification Fired is doing a very specific job. "Notifications" in RuneLite aren't necessarily in your chat, so creating a Chat alert only works if it's actually in your chat.
If you can further argue your point though, I'm all ears. From a technical standpoint, consolidating them would be a lot of work because I'd have to make sure I don't break everyone's existing alerts.
I can definitely see where you're coming from, they are similar in function though I think they are distinct enough. But let me know!

Oh I totally get why they are technically different. I'm not arguing that. I'm just wondering what is the use-case where someone would want to setup a notification for one and not the other. I'd argue that unless there's a use-case there, then they should be consolidated to avoid confusion. And not only that, it'd remove the need for redundant alerts in this plugin since one alert could cover both given the similarity.

From a technical standpoint, consolidating them would be a lot of work because I'd have to make sure I don't break everyone's existing alerts.

I'd deprecate Chat Alerts (simply due to the name) so no new chat alerts can be created. But someone who still has it in their JSON will still work.
Make both Chat and Notification alerts an alias for each other. This will grandfather any existing configs in to the new system so they still function as expected. This may result in the alerts being a little more broad than they were previously, but won't lose any functionality. And is probably what the user wanted in the first place.

It looks like the code would actually get a bit simpler as a result. This chunk is the same from both handlers. I'm thinking it could look like:
@Subscribe
public void onChatMessage(ChatMessage chatMessage) {
    // Don't process messages sent by this plugin
    if (chatMessage.getName().equals(this.getName())) {
        return;
    }

    // Filter out player messages
    if (
        chatMessage.getType() == ChatMessageType.PUBLICCHAT
        || chatMessage.getType() == ChatMessageType.AUTOTYPER
        || chatMessage.getType() == ChatMessageType.PRIVATECHAT
        || chatMessage.getType() == ChatMessageType.PRIVATECHATOUT
        || chatMessage.getType() == ChatMessageType.MODCHAT
        || chatMessage.getType() == ChatMessageType.MODPRIVATECHAT
        || chatMessage.getType() == ChatMessageType.MODAUTOTYPER
        || chatMessage.getType() == ChatMessageType.FRIENDSCHAT
        || chatMessage.getType() == ChatMessageType.CLAN_CHAT
        || chatMessage.getType() == ChatMessageType.CLAN_GUEST_CHAT
        || chatMessage.getType() == ChatMessageType.CLAN_GIM_CHAT
    ) {
        return;
    }

    this.fireMatchingAlerts(chatMessage.getMessage());
}

@Subscribe
public void onNotificationFired(NotificationFired notificationFired) {
    this.fireMatchingAlerts(notificationFired.getMessage());
}

public void fireMatchingAlerts(String message) {
    this.getAlerts().stream()
        .filter(alert -> alert instanceof NotificationFiredAlert || alert instanceof ChatAlert)
        .map(alert -> (NotificationFiredAlert) alert)
        .filter(alert -> {
            String regex = Util.createRegexFromGlob(alert.getMessage());
            return Pattern.matches("(?i)"+regex, message);
        })
        .forEach(this::fireAlert);
}

I was actually arguing for the different use cases and not technical differences 😅

"Notifications" in RuneLite aren't necessarily in your chat, so creating a Chat alert only works if it's actually in your chat.

That's a use case.
If we were to go this route, I don't like Notification Fired referring to chat messages either though. I wouldn't say that examining a barrel is "firing a notification". So, I'd have to think of a new alert type that encompasses both.
One thing I noticed about the code, I'm guessing the .map(alert -> (NotificationFiredAlert) alert) would throw a ClassCastException if it was a ChatAlert.
This might have to be something that happens after v2 if it happens at all. I'd really like to get this new stuff out. I told myself I would put it out before the year is over and I'm already running behind on that! 😝 I'm hoping to make the PR tomorrow. Just some final cleanup stuff to do. Anyway, thanks for your feedback!

Appreciate the discussion and I look forward to what you do with it!

In thinking about it more. I didn't realize that things like examines were included in "Chat alerts". I wonder if just the RuneScape built-in notifications can be separated out and categorized as Notification Fired and leave the rest as-is. That'd have to be a breaking change though since it wouldn't be clear from the config if the user wanted to match things like examines or not.

I'm hijacking this thread at this point, but I had to tell you the latest update looks amazing and solves so many problems. Great job @adamk33n3r !

@CreativeTechGuy thanks for the kind words! I'm really happy with it. Looks like I introduced a bug #14 when importing, oops, but at least it's a minor thing.
I really do like your idea of a debug/test mode so that might be the next big thing I'll work on. But I can remove the bug label if it's solved your issues and just leave this for an enhancement (or I can create a new issue for the enhancement and close this one. Might be cleaner)

Yeah feel free to close this or whatever works best for you.

I really do like your idea of a debug/test mode so that might be the next big thing I'll work on.

It seems like the latest release did that. Or at least partially. The "Test whole alert" button seems like the sort of thing I was looking for with a debug mode. A way to run the entire alert on-demand on past messages. (Not sure if that's what it currently does or if it runs it unconditionally.) But anyway, look forward to it. Thanks!

Ya the test whole alert doesn't actually run on messages, it just runs every notification. So, I do think making something that shows past messages getting picked up would be helpful. Could even just be a popup that shows every message in your chat that fits your filter.
I'll close this one and open a new one for that. Thanks!


Running on WSL fails with "protocol unavailable"

Strace shows:
setsockopt(15, SOL_SOCKET, SO_REUSEPORT, [1], 4) = -1 ENOPROTOOPT (Protocol not available)

Solution is probably to not use SO_REUSEPORT.

Fixed with new release of BlueSocket (https://github.com/IBM-Swift/BlueSocket/issues/81)


Version 2 Installed Failed on pfsense 3100 with PHP Error - Crashed WebUI - Server 500 Error

Describe the bug
Attempted install of v2 on my pfsense 3100. Already had working v1.
To Reproduce
Steps to reproduce the behavior:

pkg-static -C /dev/null add https://github.com/jaredhendrickson13/pfsense-api/releases/download/v2.0.0/pfSense-24.03-pkg-RESTAPI.pkg

pfsense then craashes:
The web server encountered an error processing this request. 50x error
Expected behavior
Install cleanly without crashing
Response
Fetching pfSense-24.03-pkg-RESTAPI.pkg: ....... done
Installing pfSense-pkg-RESTAPI-2.0...
Extracting pfSense-pkg-RESTAPI-2.0: .......... done
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Menu items... done.
Writing configuration... done.

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type int
pkg-static: POST-INSTALL script failed

pfSense Version & Package Version:

pfSense Version: 24.03
Package Version 2.0.0

Sadly webui is now hard down.
Tried via SSH:
11 Restart GUI
16 Restart PHP-FPN
15 Restore recent configuration
Sadly GUI is still down with 500 error.
Tried to remove via SSH but stil 500 error and remove failed too:
<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>
Alright managed to get webui back up and removed the package for now. See it removed both v1 and v2.
<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc, Line: 23, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>rm /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc
<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Fields/FloatField.inc, Line: 69, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>rm /usr/local/pkg/RESTAPI/Fields/FloatField.inc
<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Fields/IntegerField.inc, Line: 70, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>rm /usr/local/pkg/RESTAPI/Fields/IntegerField.inc,
rm: /usr/local/pkg/RESTAPI/Fields/IntegerField.inc,: No such file or directory
<EMAIL_ADDRESS>rm /usr/local/pkg/RESTAPI/Fields/IntegerField.inc
<EMAIL_ADDRESS>pfsense-restapi delete

PHP ERROR: Type: 64, File: /usr/local/pkg/RESTAPI/Fields/UnixTimeField.inc, Line: 74, Message: Cannot use float as default value for parameter $maximum of type<EMAIL_ADDRESS>rm /usr/local/pkg/RESTAPI/Fields/UnixTimeField.inc
<EMAIL_ADDRESS>pfsense-restapi delete
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/pkg/RESTAPI/Fields/FloatField.inc
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/pkg/RESTAPI/Fields/IntegerField.inc
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/pkg/RESTAPI/Fields/UnixTimeField.inc
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/pkg/RESTAPI/Validators/NumericRangeValidator.inc
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/www/api/v2/documentation/index.php
pfSense-pkg-RESTAPI-2.0: missing file /usr/local/www/api/v2/schema/index.php
pkg-static: unlinkat(usr/local/www/api/v2/schema/): No such file or directory
pkg-static: unlinkat(usr/local/www/api/v2/): No such file or directory
pkg-static: unlinkat(usr/local/www/api/v2/documentation/): No such file or directory
pkg-static: unlinkat(usr/local/www/api/v2/): No such file or directory
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        pfSense-pkg-RESTAPI: 2.0

Number of packages to be removed: 1

The operation will free 6 MiB.
[1/1] Deinstalling pfSense-pkg-RESTAPI-2.0...
The RESTAPI package is not installed.

Deletion aborted.[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0: ...
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0...
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0....
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0........
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0...
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0...
[1/1] Deleting files for pfSense-pkg-RESTAPI-2.0... done
Restarting webConfigurator... done.

This doesn't seem to occur when installing on an amd64 build of pfSense Plus 24.03 (which is what the package was tested on). Both v1 and v2 install and operate normally. I believe the 3100 has a 32-bit CPU which may not be able to handle some of the larger integers used in the package. To confirm, can you run uname -a from the pfSense command line?

You are correct, has a 32bit ARM CPU.
<EMAIL_ADDRESS>uname -a
FreeBSD pfSense.localdomain 15.0-CURRENT FreeBSD 15.0-CURRENT #1 plus-RELENG_24_03-n256311-e71f834dd81: Fri Apr 19 00:24:55 UTC 2024     root@freebsd:/var/jenkins/workspace/pfSense-Plus-snapshots-24_03-main/obj/armv7/07ElPskS/var/jenkins/workspace/pfSense-Plus-snapshots-24_03-main/sources/FreeBSD-src-plus-RELENG_24_03/arm.armv7/sys/pfSense-3100 arm

I was under the impression that 24.03 would not support 32-bit ARM since it was based on FreeBSD 15 (https://forum.netgate.com/topic/183472/3100-will-reach-end-of-life-in-5-days/6) so it was not considered during development. That was an error on my part.

Friendly suggestion, if not planning to support 32bit arm for version 2, then recommend stating so in the README and tell users to use version 1 instead.
And put a check in the version 2 package that first verifies not running on 32-bit and if it is, stop and give an error.

Short term, I will add some safety checks for this in the next patch and add a warning in the documentation specifically about 32-bit support, there is a general 'Not tested on anything but amd64' warning but I agree this probably warrants more.
Long term, I'm not opposed to making changes to allow the package to install cleanly on 32-bit systems assuming there's enough demand for it and there are enough Netgate 3100 users willing to test it out.

I'll also leave some instructions here in case anybody else runs into this issue or an issue similar where the package can't be removed via pfsense-restapi delete:

Run pkg-static delete pfSense-pkg-RESTAPI. This should remove the package directly without calling PHP to execute any helper functions.

If that doesn't remove the package, you can try the following:

Manually remove the package's PHP code from the PHP include path: rm -rf /usr/local/pkg/RESTAPI
Manually remove files from the web root path: rm -rf /usr/local/www/api/v2
Manually remove the privilege file for the package: rm /etc/inc/priv/restapi.priv.inc
Rerun pkg-static delete pfSense-pkg-RESTAPI, you will likely see lots of errors that expected files were missing, but that's to be expected since they were manually removed.

Sounds good. Much appreciated.
Yea the FeeBSD team decided to keep a little 32bit support going for now. :)
Per https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

FreeBSD is deprecating 32-bit platforms over the next couple of major
releases.  We anticipate FreeBSD 15.0 will not include the armv6,
i386, and powerpc platforms, and FreeBSD 16.0 will not include armv7.
Support for executing 32-bit binaries on 64-bit kernels will be
retained through at least the lifetime of the stable/16 branch if not
longer.  (There is currently no plan to remove support for 32-bit
binaries on 64-bit kernels.)

The pfsense 3100 is armv7 so good for now at least.


[WIP] Doc Updates

Context
The current documentation hasn't been re-run for a while and still references functions that don't exist/have been refactored - #132 , https://github.com/mapbox/carmen-cache/pull/135. This PR updates API.md to reflect the current state of master.
Next Actions

[ ] Review
[ ] Merge

cc @Nmargolis, @apendleton, @miccolis

This contains wrong information which we're not going to update because of work that's moving to replace this project in https://github.com/mapbox/carmen-core


Make lintr workflow error when any ussue has been detected

What should we do regarding the cyclomatic complexity warnings?

I suppresed these for the two function that have this warning currently using # nolint.

@thomas-neitmann , it seems that the lintr warning are no longer displayed in github. Could you check please?

I noticed this as well. Will look into it.

Closing in favor of #789.


Updated KRR OOMkill docs

LGTM. Can you also add a link at the section above where people might look for it? (See bolded text. Don't actually bold it.)

If you are having performance issues, specifically with Prometheus using a lot of memory, reduce max_workers to reduce memory usage. KRR uses 3 workers by default. If the KRR Job is getting OOMKilled adjust its memory requirements (link).


Hide secrets in Debug trait of NetworkState and its subtypes

We have NetworkState.hide_secrets() which will replace secrets(like password) to <_password_hid_by_nmstate>.
Please create implementation of std::fmt::Debug trait for NetworkState(and its subtypes), make sure
we do not print password when user do println!("{:?}", net_state).
If any data type holds no secrets, you can use default derive of Debug.

@cathay4t I'll like to work on this. Thank you.

@cathay4t  I am Maha from outreachy,  If @faraiayokunle becomes unavailable, could you please consider assigning me to this issue? I'm keen to contribute and would be happy to take on the task.


RDS validation check for "AvailabilityZone and MultiAZ" breaks conditional parameters

This validation check in rds.py:195 causes my valid templates to fail:
    if 'AvailabilityZone' in self.properties and \
            self.properties.get('MultiAZ', None):
        raise ValueError("AvailabiltyZone cannot be set on DBInstance if "
                         "MultiAZ is set to true.")

My code, which worked before this validation check was added, sets MultiAz to a Ref of a required boolean parameter and AvailabilityZone to a conditional that may evaluate to AWS::NoValue (meaning CloudFormation disregards the parameter):
database = template.add_resource(
    troposphere.rds.DBInstance(
        ...
        AvailabilityZone=If(
            'DbAvailabilityZoneSpecified',
            Ref(db_availability_zone),
            Ref(AWS_NO_VALUE)),
        ...
        MultiAZ=Ref(db_multi_az),
    )
)

This is the only pattern I know of for handling optional parameters in nested stacks when the resource requires that a parameter be unset to trigger the default.
I think the fix is to simply remove the exclusivity check in validate(), or possibly fail only if the value is not one of the conditional functions.

@sterwill looks like we both provided fixes for this issue. :-) I'll let @phobologic take a look and review.

Your is the better fix (and I made a mess of my branch history in my fork) so feel free to ignore mine.
Thanks for the lightning fast fix.

types.NoneType was removed from Python 3, so the check may have to add some additional "is None" checks.

Merged. Thanks for the bug report.


TracingMessageProducer creates a new span not following current active span

TracingMessageProducer uses TracingMessageUtils.buildAndInjectSpan to build a new span that is supposed to follow any currently active span.
The problem is that TracingMessageUtils.buildAndInjectSpan is using TracingMessageUtils.extract(message, tracer)
to try to extract current span from the message that is about to be sent or the current active span if the message does not include a span.
BraveTracer will return a SpanContext on line 75 in  TracingMessageUtils even if the message does not include any headers for a span.
The if statement on line 77 will then be true and the spanContext is returned.
The spanContext returned by tracer.extract(...) will return null on calling toTraceId() and toSpanId()
The correct solution is to have the if statement on line 77 check
if (spanContext != null && spanContext.toTraceId() != null && spanContext.toSpanId() != null)

@hanson76 would you like to submit PR as you already have a fix?

Sure

fixed via #38


Fancy untagged enum optimizations

Consider this enum:
#[derive(Deserialize)]
#[serde(untagged)]
enum Data {
    Integer(u64),
    Pair(String, String),
}

Currently we buffer up the deserializer content, match it against Integer, and match it against Pair.
Theoretically we could turn this into an ordinary Visitor that knows which case it's in without buffering the input. The situation is a bit more complicated if someone has in their module type u64 = (String, String) but I think we can ignore that.
Another example:
#[derive(Deserialize)]
#[serde(untagged)]
enum Data {
    A { x: u8, y: String },
    B { x: u8, z: Box<Data> },
}

We can optimize the case where the keys are disjoint across all the variants, or keys with the same name have the same type across all the variants.
Unclear how we determine which patterns are worth optimizing for real use cases. Maybe we just leave these to handwritten Deserialize implementations.

If we implement this, could we perhaps even replace the "internally tagged" enum variant with this + constant fields? So the user can just add an explicit type = "foo" constant field to each enum variant, and use the untagged representation, which should be equavilent with this optimization.
Also, I think that this optimization is quite important semantically for the following reason: It allows serde to work better for partly-self-describing formats. Currently, using the "internally tagged" variant requires that all values below that can be deserialized self-describing. With this optimization, in some cases, if a key is unique, you know it's type and can avoid relying on being self describing.

And where is that crate?


<EMAIL_ADDRESS>hash check failed

icu-59.1-1-x86_64.pkg.tar.xz (7.3 MB) [=====>                                                                 ]   9%
Checking hash of icu-59.1-1-x86_64.pkg.tar.xz ... ERROR Hash check failed!
App:         openssh
URL:         http://repo.msys2.org/msys/x86_64/icu-59.1-1-x86_64.pkg.tar.xz
First bytes: FD 37 7A 58 5A 00 00 04
Expected:    d64bbf81b569b322f428cc4a18071991abca4b0d56c2ec2ce74052348d2b2e7a
Actual:      b2c8b353cbac2fa914f17b07eefec6c10464e5b12ae4b93db3ec017fcff3613f
Please try again or create a new issue by using the following link and paste your console output:
https://github.com/lukesampson/scoop/issues/new?title=openssh%407.6p1%3A+hash+check+failed

The hash in the manifest (the “expected” hash above) is correct. Please try again.
d64bbf81b569b322f428cc4a18071991abca4b0d56c2ec2ce74052348d2b2e7a


Apollo module brakes compilation of Element UI library when custom scss variables are used

Version
v4.0.0-rc.1
Reproduction link
https://github.com/AndrewBogdanovTSS/nuxt-apollo-element-ui-test
Steps to reproduce

Add Element UI dependency
Create an element UI plugin to only include specific components
Change theme color by overriding custom scss variables in order to customize default theme
Specify $--font-path variable as required https://element.eleme.io/#/en-US/component/custom-theme
run the project

What is expected ?
Element UI library is building from its source code due to Nuxt 2 new  transpile property that exists in nuxt config
What is actually happening?
× error F:\Projects\Study\Nuxt\nuxt-apollo-element-ui-test\node_modules\element-ui\lib\theme-chalk\fonts\element-icons.woff:1
  (function (exports, require, module, __filename, __dirname) { wOFF

  SyntaxError: Invalid or unexpected token
  at createScript (vm.js:80:10)
  at Object.runInThisContext (vm.js:139:10)
  at Module._compile (module.js:616:28)
  at Object.Module._extensions..js (module.js:663:10)
  at Module.load (module.js:565:32)
  at tryModuleLoad (module.js:505:12)
  at Function.Module._load (module.js:497:3)
  at Module.require (module.js:596:17)
  at require (internal/module.js:11:18)
  at r (F:\Projects\Study\Nuxt\nuxt-apollo-element-ui-test\node_modules\vue-server-renderer\build.js:8341:16)
  at Object.element-ui/lib/theme-chalk/fonts/element-icons.woff (server-bundle.js:3165:18)
  at __webpack_require__ (webpack/bootstrap:25:0)
  at Object../node_modules/css-loader/index.js?!./node_modules/postcss-loader/lib/index.js?!./node_modules/sass-loader/lib/loader.js?!./assets/scss/
index.scss (assets/scss/index.scss:7:0)
  at __webpack_require__ (webpack/bootstrap:25:0)
  at Object../assets/scss/index.scss (assets/scss/index.scss?0905:4:0)
  at __webpack_require__ (webpack/bootstrap:25:0)

Additional comments?
This error is happening only once apollo module is connected to the project. It seems like nuxt/apollo interfere with the build process in is some way that prevents it from working properly.
cc: @dohomi

This bug report is available on Nuxt community (#c126)

I had the same error, solves when adding element-ui/lib/theme-chalk/display.css in css object on nuxt.config.js

Another aproach is doing this thing:
import '../node_modules/element-ui/lib/theme-chalk/index.css';

as I con't use element-ui I'm not sure how to fix it. any PR is welcome

@kavalcante suggested workaround doesn't work for me, but even if it did, I think such workarounds actually brakes the whole purpose of partial Element UI compilation since you have to include all CSS without an ability to modify stuff over SCSS and reduce the bundle size.
@dohomi same is happening with Bootstrap-Vue library: https://cmty.app/nuxt/apollo-module/issues/c125
I wonder how is it possible for apollo module to alter unrelated configs? Does it mutate webpack configs in some way?

@AndrewBogdanovTSS Actually you can import partial stuffs and use SCSS to reduce bundle size, with this:
import '../theme/index.css';

But I do agree that is just a workaround. Maybe is useful for someone until problem be solved.

import '../theme/index.css';

@kavalcante wouldn't it import all css of the theme completely?

I try to debug the problem, the error is happening when using this way:
import 'LIB/relative-path'
And in my reproduction it's happen only with nuxt, and not apollo-module. Maybe this issue and #140 need be moved to nuxt official repository. What do you think @dohomi?
Again, to solve this issue, you can do like this:
import '../node_modules/LIB/relative-path';
Reproduction: https://github.com/kavalcante/nuxt-import-error

In my opinion the problem described here is how to import other component libraries. I don't have experience in element-ui or other mentioned libs (I use vuetify). I needed to enable es5 rules inside of my webpack config to import components. This module is most likely not responsible for the thrown errors but the NuxtJs webpack config

I needed to enable es5 rules inside of my webpack config to import components.
@dohomi and that's exactly what's causing the issue. Right now you current config is written in such a way that it overwrites anything that was previously whitelisted. Instead, it should augment current list of libs that already whitelisted. I was able to fix the problem by changing
node_modules/@nuxtjs/apollo/lib/module.js:64 line from:

whitelist: [/^vue-cli-plugin-apollo/]

to
whitelist: [/^vue-cli-plugin-apollo/, /^element-ui/]

Another way to handle it would be fully comment the use of nodeExternals in the apollo module and handle it manually in nuxt.config by adding:
build: {
        extend (config, { isServer }) {
            if (isServer) {
                config.externals = [
                    nodeExternals({
                        whitelist: [/^vue-cli-plugin-apollo/, /^element-ui/]
                    })
                ]
            }
        }
    }

maybe some config parameter should be added to nuxt/apollo to allow manual whitelisting as a quick fix?
I guess the same will be relevant to a bt-vue issue since new 'transpile' property also uses nodeExternals under the hood.
@Atinux maybe you could suggest on how such issues can be handled from nuxt.config.js ? Maybe transpile property should dominate over libs internal configs?

@AndrewBogdanovTSS I thought that is chained and not overwritten. @Atinux @Akryum do you guys know the right way of setting nodeExternals? I am not sure what would be the right setup.

@dohomi You can use build.transpile with Nuxt.js, see https://github.com/Atinux/nuxt-bt-test/blob/master/nuxt.config.js#L4

@Atinux thanks for the heads up. could somebody with this issue open a PR and see if the use of transpile works to fix the bug with bootstrap/element-ui? I don't have the right setup at the moment and not a lot of time  - work is currently eating me alive

@Atinux @dohomi I can confirm that it's working when transpile option is used. I replaced
if (isServer) {
      config.externals = [
        nodeExternals({
          whitelist: [/^vue-cli-plugin-apollo/]
        })
      ]
    }

with
this.options.build.transpile.push(/^vue-cli-plugin-apollo/)

and it started working properly, at least with element-ui lib (I will try it with bt-vue a bit later). The bonus point in all of this is that specifying additional transpile in the project config for element-ui wasn't even necessary. Though I have some concerns with the behavior of transpile option.
@Atinux if I'll specify additional transpile options in projects config will it overwrite anything that was specified in 3rd party modules or augment to it?

Ok, so I can confirm that the same approach is working flawlessly with bt-vue, now I can specify
build: {
        transpile: ['bootstrap-vue']
    },

and it won't be overwritten by Apollo! Hurrray!
@dohomi when will we be able to push this update to apollo module? I really need this.
Speaking about some additional improvements, using addVendor is no longer necessary with Webpack 4 and can be removed.
// Add vue-apollo and apollo-client in common bundle
  this.addVendor(['vue-apollo', 'js-cookie', 'cookie'])

It looks like we really need an updated version of @nuxtjs/apollo that would be fully compatible with Nuxt 2

@AndrewBogdanovTSS this package is still using Nuxt 1.4.x and not nuxt-edge so I can't remove the vendor (yet). I still wait for the v2 release to add this change.
@AndrewBogdanovTSS would you mind open a PR with your changes? I think this change may affect other open issues as well.

@dohomi I sure can. My only concern - should we keep consistency with Nuxt 1? @Atinux maybe you could recommend a solution that would work for Nuxt 1.4 since transpile option won't be available for this version of Nuxt ?

@dohomi how can I make a PR into your repo? When I try creating a branch and push my changes I get a 403 forbidden error. Should I for it first?

Can you guys try this PR and see if it fixes the issue: https://github.com/nuxt-community/apollo-module/pull/158

@dohomi when will this fix be released? I suppose it should be released under rc2, but when will it be released?

@dohomi yes I've tested it before committing and it works well for me. What exact issues are you facing with it?

@AndrewBogdanovTSS please read the comments of #158
I face an issue with the current beta.25 at the moment thats why rc2 isn't released yet

Now sometimes can not find Vue.extend()

rc2 just released but this won't fix this issue. Still waiting until #158 can be merged

rc3 got released. please check if the issue is resolved for now

I think with either 4.0.0.rc2.2 or rc3 this issue is resolved. But rc3 does not work with async components yet. Will close this now, feel free to reopen if the issue persist


How to dynamic create a FieldLikeTuple

Hi, my last code executes a list of dynamic params and used a std::vector for that on the old code.
Now when I try to execute a statement execution with a vector it gives me a compilation error.
My question is how do I create a dynamic FieldLikeTuple?
I tried with std::tuple_cat with no success because i can't save the new tuple on the same variable...

Hi,
You can't. FieldLikeTuples are std::tuples, which are static.
I'd recommend you using statement::start_execution, which accepts an arbitrary iterator range.
If you're upgrading from 0.2.0 to master, a few things to note:

resultset is now plain in-memory data, rather than an I/O object. When you call statement::execute, you get a resultset by lvalue reference. This is equivalent to execute + resultset::read_all in 0.2.0.
statement::start_execution behave like the old statement::execute: they send the execution request but don't read the rows. They return an execution_state by lvalue reference. An execution_state is similar to the old resultset I/O object.
To read the rows, call connection::read_one_row or connection::read_some_rows. These functions return view objects, which are like std::string_view. You can take ownership of them using the row and rows classes.

Example code:
// prepare the statement
tcp_ssl_statement stmt;
conn.prepare_statement("SELECT * FROM...", stmt);

// execute it
std::vector<field> params; // get it from wherever
execution_state st;
stmt.start_execution(params.begin(), params.end(), st);

// read rows
while (!st.complete()) {
    rows_view batch = conn.read_some_rows(st);
    // batch will contain an indeterminate number of rows. Use it however you want
}

I wasn't expecting a lot of interest in the iterator version of statement execution, so I only implemented it as start_execution, and not as execute. Would you mind answering a couple questions about your use case, so I can direct my implementation efforts?

Does your statement generate any rows? (i.e. is it a SELECT vs an INSERT).
If it does, are you reading them one by one (i.e. with the old resultset::read_one) or all of them at once (i.e.with the old resultset::read_all).
What is the requirement that prevents you from knowing the number of parameters at compile time?

I've also seen that the new docs have -4 of SEO and aren't shown on google searches, so I'll include a link here:
https://www.boost.org/doc/libs/master/libs/mysql/doc/html/index.html
If you have any further question or request regarding migration, I'll be happy to help.
Thanks for using the library!

Hi @anarthal thank you once more for the detailed answer.
Then I will try the iterator version, I come up with a solution yesterday for the FieldLikeTuple way but I really don't like it, is based on a static detection of the size of the vector and build the tuple according to that.
Trying to answer to your questions the best way I can:
> Does your statement generate any rows? (i.e. is it a SELECT vs an INSERT).
yes it normally generates, because normally I have conditions to filter the select, example: getMyUsers(bool filterBySex, std::optionalstd::string country.... etc)
> If it does, are you reading them one by one (i.e. with the old resultset::read_one) or all of them at once (i.e.with the old resultset::read_all).
yes I'm reading all, the old resultset::read_all yes
>What is the requirement that prevents you from knowing the number of parameters at compile time?
is like I said, normally is for using filters in my query's, more generic filters less parameters, more specific filters more parameters..
(thank you for the link, yes is not easy to find the documentation no, thank you)
Thank you again for providing the library,
Best regards,
Nuno

Hi @nesc1,
Thank you for your answers, they will guide me. One more question, how are you handling these filters? Do you have a single different prepared statement for each possible combination of filters, or are you building the prepared statement SQL dynamically depending on whether the fields are present or not?
With the data I have, I'd say that the option I presented you yesterday is the best one. You will have to read rows in batches as I showed you. I've opened #111 to implement the equivalent to FieldLikeTuples, but with iterators.
Regards,
Ruben.

Hi @anarthal
No, for dynamic queries I never use prepared statements, I use prepared statements but not dynamically.
Yes normally I build SQL dynamically depending on whether the fields are present or not, yes.
Yes I will test that code suggestion for my case, thank you.
Regards,
Nuno

Thanks for the info. Closing this as we have #111 to track the feature request.


feature request: remind users to save periodically

Remind users to save after a certain number of edits or a certain amount of time.
We've noticed in our mapathons for http://loggingroads.org that users (especially new users) don't always realize that they need to save periodically and end up with a large number of edits that 1) slows the browser down and 2) are more likely to have conflicts with other mappers in the mapathon.

Suggestion 1 (soft warning): add glow to "Save" button when number of changes (adds/edits/deletions) is over 100/200/other magic number
Suggestion 2 (aggressive warning): add glow to class "layer-layer layer-data" (main edit window in iD) over 1000/2000/... edits
http://jsfiddle.net/XUC5q/1/ - box-shadow
http://codepen.io/NobodyRocks/pen/qzfoc - random css3 variants
UX considerations:

user(s) may be unaware that high number of edits slows their editing process - they should be informed after soft and hard warning that their editor is slow due to unsaved edits.
zooming and panning vast areas without editing/save/unloaded data - may also result is slower iD - how does iD behaves in this scenario? What is suggested to end user?
auto-commit after 3km map swipe might be an option You may also add "autocommit=yes" or "autocommit=hardwarning"  or "autocommit=featurex"   in changeset tags.

I totally agree with you guys, the more time an edit is opened, the more chances there will be for a conflict... I often end up with large edits but not because i'm a beginner. It happens when i'm trying to convert massive of interconnected areas into MP while using other existing elements, such as ways for example.
I do this to :

easier to create complex areas
make areas of multiple elements more clear while keeping its precision (less parallel or interconnected lines)
lowering data usage
since Mapnik changed its Forest & Wood tiles with a transparency, the transparency will over tile the inner element if no relation is defined, many user plotted inner areas without relations, so now proper MP integration will be needed to be set or there will be errors of intersecting lines in OSMi (in my home country Luxembourg, it's often near zero errors)
last but not least, for future edits in those MP i noticed that it's way easier and less time consuming, full beneficial.

Usually I'm between 100 and 224 (today). Large number of edits because in between i do little improvements on other elements i encounter during the main area I'm working on.
I'd recommend a soft warning.
OT
Also... I think there is a bug I'm going to report on a new post. During those +/-224 edits, i got a set of prompt selections for conflicts (22 in total) but some were not for edits that happened at the same time during mine, I believe some were about the former edits that were already in place, other indeed from a user that edited the same elements in between. Also after having compared all prompts, I encountered a second set of prompt selections (3 oft them), which i responded again but at the saving they were endlessly restarting the second set. Had to save the XML... sigh

Soft warning would be useful.  A 'glow' may not alert the user enough.  Maybe a pulsating glow in the number of edits callout to give more attention the action.  I would suggest a the alert have an option of 50/100/200 edits to avoid conflicts in active mapping areas.

If it helps, the way P2 does it is by adding a "minutes elapsed" count to the Save button (when edits have been unsaved after 5 minutes or more). Then, at 20 minutes and at 5-minute intervals thereafter, a non-modal 'floating alert' appears to say "20 minutes since last save - please save regularly".

Every time I think about this issue, I think that if the save button did more and more interesting things the higher the count got, I would probably keep pushing that count as high as I could to see what would happen next.
I'm also one of those people that waits until the gas gauge is way past empty before filling the car back up with gas.

Following, from d1g suggestions, which think is  good and would love to add that ,the save button, preferably the count tooltip could glow green,transit to some other color ,and in extreme case we get an alert, asking the user to save and reasons why they should save their work.I am new to open street map and I would love to work on this given that its labeled get-started.

Following, from d1g suggestions, which I think is good and would love to add that ,the save button, preferably the count tooltip could glow green,transit to some other color ,and in extreme case we get an alert, asking the user to save and reasons why they should save their work.I am new to open street map and I would love to work on this given that its labeled get-started.

Great!  This is an excellent first issue to tackle..
The code to change is around here in save.js.  This is a callback the updates the button state anytime the map is changed.
By default, the buttons are css background: white.  Try to adjust the styling on the button and the count next to it.  The current styling is determined by this css.  iD uses D3.js for managing the DOM, so you'll need to understand how that works.
For now, lets keep it simple and calculate a background color that goes from #fff at 0 edits down to #ff8 at 50 edits and #f88 at 100+ edits.  It'll slowly turn the button yellow, then orange, then red.
No alerts, no glows, no flashing, etc..

This was merged today!  Thanks @tanerochris

It is a nice start contributing to openstreet map .thanks @bhousel


Add short description about Dense and Activation

Add a paragraph to the 'Getting started with the Keras Sequential model' section
explaining how a Dense layer looks like and how it relates to activation
functions.

Thanks for the PR. My feedback:

This seems more like a primer on neural networks, which isn't the purpose of this guide. There are other sources available for that (books, tutorials...).
The terminology is confusing: it uses "node" to mean "unit" (or neuron), but "nodes" are already a term in Keras (nodes in model, which is a graph of layer calls).

We won't merge it.


new organization for custom controls (incompatibility)

Updated the package organization.
Basic Custom Controls which are automatically loaded at startup are in package 02:

Custom Controls with additional functions are collected in package 03:

The view renderer are now independent from the rest (more can be added in the future) and are collected in package number 21, 22 etc:

Therefore it is important that no dependency to specific view renderers exists in package 02 or 03. Created a new wrapper class:
z2ui5_cl_xml_view_cc
That the old wrapper can be deleted in the future:
z2ui5_cl_xml_view_cc_factory
For example, before:
view->_zcc( )->file_uploader( )->control( )

Should be adjusted to:
view->_z2ui5( )->file_uploader( )

@choper725 @WegnerDan etc
All samples are updated, adjust your apps and let me know if this works for you or if there are any problems.

z2ui5_cl_xml_view_cc_factory is deleted now. if you have no time for the actual adjustments, just stay with https://github.com/abap2UI5/abap2UI5/releases/tag/v.1.30.6


Q&A - How to update value of list of maps

Hey mate,
Wondering if you could help out with a question, I am trying to update a value in list in a chart.yaml file and not sure how to do it and wonder if you could shed some light on it for me.
So the chart file looks like this:
apiVersion: v2
name: someservice
home: https://github.com/
version: 0.0.0
appVersion: 0.0.0
type: application
description: A Helm chart for services

dependencies:
  - name: ui
    repository: https://helm.repo.io
    version: 0.0.30
  - name: backend
    repository: https://helm.repo.io
    version: 0.0.1
  - name: someService
    repository: https://helm.repo.io
    version: 0.0.1

I want to just update the version of the dependencies ui, is this possible?
Thanks
Phil

Hey @wonderphil this should be possible with an jsonpath like dependencies[0].version


2D Physics interpolation not working with Y-Sort enabled

Tested versions
Tested in Godot v4.3.beta1
System information
Windows 10.0.22631 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; <IP_ADDRESS>92) - 13th Gen Intel(R) Core(TM) i7-13700F (24 Threads)
Issue description
Just as title describes, with parent Node2D's y-sort enabled, a child node will not be smoothed when its y-sort is enabled.
https://github.com/godotengine/godot/assets/33864304/05cc327a-0831-4c84-82b6-a6ba66d86549
Steps to reproduce

Open and Run MRP
The CharacterBody2D disables y-sort by default. use directional keys to move around and the movement is smooth.
Press SPACE key and move the CharacterBody2D  again, the movement will not be smoothed.

Minimal reproduction project (MRP)
2d_interp_mrp.zip

Any updates on when this may be merged? I've encountered the same issue on my current project.

The seems to be present in 3.6 as well. Deactivating the sorting on a y-sort node made the interpolation work for a few seconds.

If anyone else needs a solution until this issue gets resolved, lawnjelly's smoothing addon thankfully doesn't have the issue with y-sorting.


Error: The following dependencies are imported but could not be resolved:

Describe the bug
this is my code:
import { $ref } from '@vue-macros/reactivity-transform/macros';
and bug:
Error: The following dependencies are imported but could not be resolved:
@vue-macros/reactivity-transform/macros (imported by /Users/michael/www/docms/vue-ma/src/views/archivesManage/archives/boxingModal.vue?id=0)
Are they installed?
at file:///Users/michael/www/docms/vue-ma/node_modules/vite/dist/node/chunks/dep-CzJTQ5q7.js:51147:15
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///Users/michael/www/docms/vue-ma/node_modules/vite/dist/node/chunks/dep-CzJTQ5q7.js:50652:26
Reproduction
import { $ref } from '@vue-macros/reactivity-transform/macros';
System Info
System:
    OS: macOS 14.5
    CPU: (10) arm64 Apple M1 Max
    Memory: 172.97 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.4.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.8.1 - /usr/local/bin/npm
  Browsers:
    Chrome: 126.0.6478.127
    Safari: 17.5

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

The $ref is only a type, so it shouldn't be imported.

Maybe we should add a export {}  to the end of macros.d.ts.

We temporarily close this due to the lack of enough information.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required


AddressView not working in a fresh install.

Navigator just bugs pout and throws a black screen.

Fixed with Get package


[feature] Filter URLs that have errors

Be able to show listing only with URLs having errors.
It would be useful to debug and fix URLs that are having some error. At present it is taking a lot of time scrolling and finding URLs that have errors. We have a URL list that has over 5000 URLs.
Or alternatively, a button to recheck all URLs that have errors.

solved already https://github.com/dgtlmoon/changedetection.io/pull/1886 :)


Update to version 0.3-3, update recipe

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Using toolchain directly in this manner is deprecated.  Consider using the compilers outlined here.


tools: Remove cgroupv1 kernel parameters for kata

Merge Checklist

[x] Followed patch format from upstream recommendation: https://github.com/kata-containers/community/blob/main/CONTRIBUTING.md#patch-format

[x] Included a single commit in a given PR - at least unless there are related commits and each makes sense as a change on its own.

[x] Aware about the PR to be merged using "create a merge commit" rather than "squash and merge" (or similar)
[x] genPolicy only: Ensured the tool still builds on Windows
[x] The upstream/missing label (or upstream/not-needed) has been set on the PR.

Summary

Remove cgroupv1 kernel parameters for kata
Test Methodology
Conformance test result: 585964

Please do not merge :) But thanks. Please take a look at the code in: https://github.com/microsoft/kata-containers/tree/mahuber/uvm-spec-build
I believe this does match your needs?

Please do not merge :) But thanks. Please take a look at the code in: https://github.com/microsoft/kata-containers/tree/mahuber/uvm-spec-build
I believe this does match your needs?

I think it matches your needs but we will also want to set the following, conditionally: DEFSANDBOXCGROUPONLY=true

Why is this needed?

Please do not merge :) But thanks. Please take a look at the code in: https://github.com/microsoft/kata-containers/tree/mahuber/uvm-spec-build
I believe this does match your needs?

Yep this should do. Closing PR now...

Why is this needed?

This is to support cgroupv2 Mariner 3 Kata image. But this code change address the same issue:
https://github.com/microsoft/kata-containers/tree/mahuber/uvm-spec-build
I'll close this PR now.


Data Conversion...

Hey there! I need some help with data conversion. I am learning from your youtube videos to build interpreters but what I found in your interpreter after completing it is that if I take INPUT() it returns as a string which I cant change to integer, can I?

He is probably not gonna respond...
Ive had an issue up for 6 days,
Nobody has responded https://github.com/davidcallanan/py-myopl-code/issues/27
Nobody. For six days

Hmm lets see. Sometimes people dont check their git so it can take some time.

He checking out operating system repo often


Simplify and improve eslint config

Fixes #12065

Codecov Report

Merging #12067 (9696cc5) into main (dcdb592) will decrease coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff           @@
##            main   #12067   +/-   ##
======================================
- Coverage     62%      62%   -1%
======================================
  Files        502      502
  Lines      35927    35927
  Branches    5814     5814
======================================
- Hits       22593    22572   -21
- Misses     11194    11206   +12
- Partials    2140     2149    +9

Impacted Files
Coverage Δ

...otebooks/debugger/controllers/restartController.ts
50% <0%> (-36%)
:arrow_down:

...nels/jupyter/jupyterRemoteCachedKernelValidator.ts
46% <0%> (-7%)
:arrow_down:

...andalone/intellisense/intellisenseProvider.node.ts
76% <0%> (-5%)
:arrow_down:

...otebooks/controllers/controllerPreferredService.ts
72% <0%> (-4%)
:arrow_down:

src/notebooks/debugger/kernelDebugAdapterBase.ts
75% <0%> (-2%)
:arrow_down:

...c/platform/common/process/pythonDaemonPool.node.ts
77% <0%> (-1%)
:arrow_down:

src/notebooks/debugger/debuggingManager.ts
79% <0%> (-1%)
:arrow_down:

...kernels/jupyter/launcher/jupyterConnection.node.ts
83% <0%> (-1%)
:arrow_down:

src/kernels/kernelDependencyService.node.ts
81% <0%> (-1%)
:arrow_down:

src/kernels/execution/helpers.ts
62% <0%> (+<1%)
:arrow_up:

... and 3 more


BUG: Slow addition of CSC (sparse) arrays

Describe your issue.
Adding two CSC arrays should be very fast for the small amount of elements. However, this is not the case. Summing two 2^30 arrays with a total of 3 non-zero elements takes around 5 seconds. Moreover, for larger arrays, it just segfaults.
Reproducing Code Example
a = csc_array((2 ** 30, 1), dtype=np.complex128)
b = dok_array((2 ** 30, 1), dtype=np.complex128)
b[42949672, 0] = b[40257126, 0] = b[18785238, 0] = 0.1j
c = b.tocsc()
a + c

Error message
None
SciPy/NumPy/Python version and system information
1.12.0 1.26.3 sys.version_info(major=3, minor=11, micro=7, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /opt/arm64-builds/include
    lib directory: /opt/arm64-builds/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= SANDYBRIDGE MAX_THREADS=3
    pc file directory: /opt/arm64-builds/lib/pkgconfig
    version: 0.3.21.dev
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /opt/arm64-builds/include
    lib directory: /opt/arm64-builds/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= SANDYBRIDGE MAX_THREADS=3
    pc file directory: /opt/arm64-builds/lib/pkgconfig
    version: 0.3.21.dev
  pybind11:
    detection method: config-tool
    include directory: unknown
    name: pybind11
    version: 2.11.1
Compilers:
  c:
    commands: cc
    linker: ld64
    name: clang
    version: 14.0.0
  c++:
    commands: c++
    linker: ld64
    name: clang
    version: 14.0.0
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 3.0.8
  fortran:
    commands: gfortran
    linker: ld64
    name: gcc
    version: 12.1.0
  pythran:
    include directory: ../../pip-build-env-ewarq4oq/overlay/lib/python3.11/site-packages/pythran
    version: 0.15.0
Machine Information:
  build:
    cpu: aarch64
    endian: little
    family: aarch64
    system: darwin
  cross-compiled: false
  host:
    cpu: aarch64
    endian: little
    family: aarch64
    system: darwin
Python Information:
  path: /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cibw-run-73jfxkej/cp311-macosx_arm64/build/venv/bin/python
  version: '3.11'

I can verify the slow response. It goes away if you sort the indices of the  csc_array. That is, if the csc_array is in canonical format (sorted indices and no duplicate entries) it can use the faster code path. The general code path is apparently slow for all binary operations (e.g. `a < CJ is also slow).
Workaround: try using c.sort_indices() before the addition.
If you have duplicate entries, c.sum_duplicates() is also needed.

Not sure why this one was closed, here is latest master:
>>> import timeit
>>> import numpy as np
>>> from scipy.sparse import dok_array, csc_array
>>> def f():
...     a = csc_array((2 ** 30, 1), dtype=np.complex128)
...     b = dok_array((2 ** 30, 1), dtype=np.complex128)
...     b[42949672, 0] = b[40257126, 0] = b[18785238, 0] = 0.1j
...     c = b.tocsc()
...     a + c
...
>>> timeit.timeit(f, number=5)
116.97953541204333

The ticket referenced in that commit is https://github.com/scipy/scipy/issues/1385

So the comment https://github.com/scipy/scipy/issues/1385#issuecomment-17023020
says the addition was slow due to sorting but it seems to be the other way around? Maybe it depends on sparsity? If so we could add a heuristic that decides by default whether to sort or not?

For addition, the addition is (significantly) faster with sorting at all sparsity levels:
import timeit
import numpy as np
from scipy.sparse import dok_array, csc_array
def sum(a,b):
    return a+b
def f(sort=False, sz=2 ** 30, cnt = 3):
    a = csc_array((sz, 1), dtype=np.complex128)
    b = dok_array((sz, 1), dtype=np.complex128)
    for i in np.random.randint(0, sz, cnt):
        b[i, 0] = 0.1j
    c = b.tocsc()
    if sort:
        c.sort_indices()
    return timeit.timeit(lambda : sum(a,c), number=5)

size=2**23
for cnt in np.linspace(1,size,10):
    icnt = int(cnt)
    sparsity = icnt/size
    t1, t2 = f(True, size, icnt), f(False, size, icnt)
    print(f'sparsity={sparsity:.4f} time (sort vs no sort): {t1:.4f} vs {t2:.4f}; ratio={t2/t1:.2f}')

gives:
sparsity=0.0000 time (sort vs no sort): 0.0002 vs 0.0001; ratio=0.67
sparsity=0.1111 time (sort vs no sort): 0.0160 vs 0.6279; ratio=39.30
sparsity=0.2222 time (sort vs no sort): 0.0290 vs 1.0709; ratio=36.88
sparsity=0.3333 time (sort vs no sort): 0.0428 vs 1.4814; ratio=34.60
sparsity=0.4444 time (sort vs no sort): 0.0533 vs 1.8648; ratio=35.02
sparsity=0.5556 time (sort vs no sort): 0.0654 vs 2.4387; ratio=37.27
sparsity=0.6667 time (sort vs no sort): 0.0757 vs 2.6051; ratio=34.39
sparsity=0.7778 time (sort vs no sort): 0.0862 vs 2.9658; ratio=34.39
sparsity=0.8889 time (sort vs no sort): 0.0890 vs 3.0277; ratio=34.03
sparsity=1.0000 time (sort vs no sort): 0.0998 vs 3.7318; ratio=37.39

The comment #1385-comment just a few comments down from the one you point to says that the OP reported falsely that addition was slow. In fact it was multiplication that was slower than in Matlab. Addition was faster than matlab.
I don't see any comments about comparing speeds of sorted vs nonsorted implementations. (until here)
I wonder if the general (unsorted and duplicates OK) method is always slower than using both A.sum_duplicates() (which also sorts) and the canonical (needs sorted and no duplicates) method.

I don't see any significant differences in matmul too


NioEventLoopTest.testChannelsRegistered test failure

Motivation:
NioEventLoopTest.testChannelsRegistered sometimes fails due a race which is related to how SelectionKey and Selector is implemented in the JDK. In the current implementation it will "lazy" remove SelectionKeys from the Set which means we may still have these included sometimes when we use size() to get the number of SelectionKeys.
Modifications:
Just retry to read the number of registered Channels if we still see 2
Result:
Fixes https://github.com/netty/netty/issues/9895

@netty-bot test this please


[vault-secrets-webhook] Draft of namespaced service accounts

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
fixes #929

License
Apache 2.0

What's in this PR?

Add a new authentication method that uses a token from the same namespace as the resource.
Why?

Non-pod resources are mutated with access privileges of the mutating webhook container. This doesn't allow for least privilege principles.
Additional context

This is just a first draft to gather some feedback on the general direction.
Checklist

[ ] Code meets the Developer Guide
[ ] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

To Do

[ ] Validate general idea
[ ] Add tests

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

Hey @bonifaido - thanks for the feedback, that sounds doable :) I'll see what I can get working tomorrow :)

Please format the code according to the CI check messages.

Please not this currently doesn't work, I'll be back to testing why today.

We still have lint issue here, otherwise LGTM! :)
https://github.com/banzaicloud/bank-vaults/pull/1401/checks?check_run_id=3410442298#step:7:13