How to get second proprety

[
{"name":"NY","zipcode":"125487"},
{"name":"DC","zipcode":"625412"}
]
how can use both name and zip in autocomplete

@daudintact Do you mean something like that: http://easyautocomplete.com/example/users-with-email ?

Hi,
Actually I am thinking about
{
"city": "New York",
"zip": "1234"
},
Name and email both available in autocomplete list. Not in description or link template. Like
getValue: ["city", "zip"]
User can enter either city or zip and he get suggestions.
Is there is a way to do so.
Thank you.
From: Łukasz Pawełczak<EMAIL_ADDRESS>Sent: Thursday, May 26, 2016 4:49 PM
To: pawelczak/EasyAutocomplete
Cc: Daud Khan; Mention
Subject: Re: [pawelczak/EasyAutocomplete] How to get second proprety (#209)
@daudintacthttps://github.com/daudintact Do you mean something like that: http://easyautocomplete.com/example/users-with-email ?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com/pawelczak/EasyAutocomplete/issues/209#issuecomment-221844472

@daudintact Try to use this:
getValue: function(element) {
    return $(element).find("city").text() + " " + $(element).find("zip").text();
}

Let me know if this is what you are looking for.

@daudintact, @pawelczak, hi. I had faced the same problem and I have a quick-hand implementation.
With this implementation, in a case of multiple parameters selector, we should use new option displayValue (default: false) to select parameter we want to show in our autocomplete list.
If we would use single parameter, displayValue should be disabled.
To perform described functionality we need to modify code in 3 places:
First place (new option in  the defaults at the 16+ line) :
'displayValue: false'
Second place (function at  the line №620) :
function findMatch(list, phrase) {
 			var preparedList = [],
 				value = "";
 			if (config.get("list").match.enabled) {
 				var comparer = config.get("getValue");
 				if(Array.isArray(comparer)){
 					comparer.forEach(function(entry) {
 						for(var i = 0, length = list.length; i < length; i += 1) {
 							value = list[i][entry];
 							if (match(value, phrase)) {
 								preparedList.push(list[i]);
 							}
 						}
 					});
 				}else{
 					for(var i = 0, length = list.length; i < length; i += 1) {
 						value = config.get("getValue")(list[i]);
 						if (match(value, phrase)) {
 							preparedList.push(list[i]);
 						}
 					}
 				}
 			} else {
 				preparedList = list;
 			}
 			return preparedList;
 		}

Third place ( line №1126):
var j = i, itemCounter = counter;
 if(config.get("displayValue")){
	var elementsValue = listBuilders[builderIndex].data[i][config.get("displayValue")];
 }else{
	var elementsValue = listBuilders[builderIndex].getValue(listData[j]);
 }

Best regards,
Andrii Yaremych
jquery.easy-autocomplete.js.zip

@rdrill I must say that is an interesting feature. I need to think how to add your implementation to plugin code.

following seems to work fine for me:
getValue: function (element) {                     return $(element).prop("title") + " "                             + $(element).prop("date") + " "                             + $(element).prop("location");

I have the same question like daudintact.
Have you find an answer?
Thank you.

Would be great to have something like this.  Where we could search for tags and names but only return the name value or something similar

@51dario51 That worked for me! I needed to hide everything but the first prop value though. So mine ended up looking like this: getValue: function (element) { return $(element).prop("title") + "" + $(element).prop("date") + " " + $(element).prop("location") + "";
},
However, when highlighting is turned on, the  tag it creates breaks this. Is there way I can keep this code or something similar with highlighting turned on?

To add on to this, if you do not want all of the values from getValue to be displayed in the input box after click (e.g. you may only want title instead of title, date, and location), you can do this:
list: {
	match: {
		enabled: true
	},
	onClickEvent: function() {
		var newvalue = jQuery( "#searchselector" ).getSelectedItemData().name;
		jQuery( "#searchselector" ).val( newvalue );
	}
},


get remote address add judgement of "Host"

Add a judgement of "Host" for getting remote address in WebKit

Thank you for your PR.


USUM Update

Thanks to @HoeenCoder and @Marty-D for helping

Where's rockruffdusk's template which says its ability is Own Tempo?
Why is rockruffdisk event only if lycanrocdusk has an egg group?
If you have both multiple kyurems and necrosma formes, should you get all the errors at once?

Where's rockruffdusk's template which says its ability is Own Tempo?
is rockruffdisk event only if lycanrocdusk has an egg group?

I was told by Zarel to handle Rockruff-Dusk like this, it doesn't work but USUM comes out/is out already so it'll be fixed later. You can at the very least use both.

If you have both multiple kyurems and necrosma formes, should you get all the errors at once?

no....

If you have both multiple kyurems and necrosma formes, should you get all the errors at once?

That would be marginally useful: I'd do it if it didn't complicate the code, but it does, so this is fine.


Build error when a static OpenIGTLink library is used.

When the ROS-IGTL-Bridge is built with a static OpenIGTLink library, the following error occurs:
[ 37%] Linking CXX shared library /home/junichi/catkin_ws/devel/lib/libros_igtl_bridge_lib.so
/usr/bin/ld: /home/junichi/igtdev/igtl/OpenIGTLink-build/lib/libOpenIGTLink.a(igtlClientSocket.cxx.o): relocation R_X86_64_32 against `_ZTVN4igtl12ClientSocketE' can not be used when making a shared object; recompile with -fPIC
/home/junichi/igtdev/igtl/OpenIGTLink-build/lib/libOpenIGTLink.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:546: recipe for target '/home/junichi/catkin_ws/devel/lib/libros_igtl_bridge_lib.so' failed
make[2]: *** [/home/junichi/catkin_ws/devel/lib/libros_igtl_bridge_lib.so] Error 1
CMakeFiles/Makefile2:670: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/all' failed
make[1]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j1 -l1" failed

I got same error, how to solve it?

You can avoid this error by building the OpenIGTLink library as a shared object. You need to turn the BUILD_SHARED_LIBS option ON when you configure the OpenIGTLink library with CMake. This instruction works for my environment.

I am still getting the same error, even after following the instructions carefully.
[ 90%] Built target ros_igtl_bridge_generate_messages
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/ros_igtl_bridge.cpp: In member function ‘virtual void ROS_IGTL_Bridge::IGTLThread()’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/ros_igtl_bridge.cpp:245:87: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
rs = this->socket->Receive(headerMsg->GetPackPointer(), headerMsg->GetPackSize());
^
In file included from /home/abhi/igtl/OpenIGTLink/Source/igtlServerSocket.h:35:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/include/ros_igtl_bridge.h:21,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/ros_igtl_bridge.cpp:16:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_point.cpp: In member function ‘virtual int RIBConverterPoint::onIGTLMessage(igtl::MessageHeader*)’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_point.cpp:46:78: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
socket->Receive(pointMsg->GetPackBodyPointer(), pointMsg->GetPackBodySize());
^
In file included from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_base.h:20:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter.h:22,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_point.h:17,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_point.cpp:14:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_transform.cpp: In member function ‘virtual int RIBConverterTransform::onIGTLMessage(igtl::MessageHeader*)’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_transform.cpp:49:78: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
socket->Receive(transMsg->GetPackBodyPointer(), transMsg->GetPackBodySize());
^
In file included from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_base.h:20:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter.h:22,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_transform.h:17,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_transform.cpp:14:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_image.cpp: In member function ‘virtual int RIBConverterImage::onIGTLMessage(igtl::MessageHeader*)’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_image.cpp:47:74: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
socket->Receive(imgMsg->GetPackBodyPointer(), imgMsg->GetPackBodySize());
^
In file included from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_base.h:20:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter.h:22,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_image.h:17,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_image.cpp:14:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_string.cpp: In member function ‘virtual int RIBConverterString::onIGTLMessage(igtl::MessageHeader*)’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_string.cpp:49:80: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
socket->Receive(stringMsg->GetPackBodyPointer(), stringMsg->GetPackBodySize());
^
In file included from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_base.h:20:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter.h:22,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_string.h:17,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_string.cpp:14:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:254: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/ros_igtl_bridge.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/ros_igtl_bridge.cpp.o] Error 1
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_polydata.cpp: In member function ‘virtual int RIBConverterPolyData::onIGTLMessage(igtl::MessageHeader*)’:
/home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_polydata.cpp:62:84: error: no matching function for call to ‘igtl::Socket::Receive(void*, igtl_uint64)’
socket->Receive(polyDataMsg->GetPackBodyPointer(), polyDataMsg->GetPackBodySize());
^
In file included from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_base.h:20:0,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter.h:22,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_polydata.h:17,
from /home/abhi/catkin_ws_igtl/src/ROS-IGTL-Bridge/src/rib_converter_polydata.cpp:14:
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note: candidate: igtlUint64 igtl::Socket::Receive(void*, igtlUint64, bool&, int)
igtlUint64 Receive(void* data, igtlUint64 length, bool& timeout, int readFully=1);
^~~~~~~
/home/abhi/igtl/OpenIGTLink/Source/igtlSocket.h:92:14: note:   candidate expects 4 arguments, 2 provided
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:230: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_transform.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_transform.cpp.o] Error 1
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:110: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_image.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_image.cpp.o] Error 1
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:158: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_point.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_point.cpp.o] Error 1
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:206: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_string.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_string.cpp.o] Error 1
ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/build.make:182: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_polydata.cpp.o' failed
make[2]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/src/rib_converter_polydata.cpp.o] Error 1
CMakeFiles/Makefile2:553: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/all' failed
make[1]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_lib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:479: recipe for target 'ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_test.dir/all' failed
make[1]: *** [ROS-IGTL-Bridge/CMakeFiles/ros_igtl_bridge_test.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

I fixed the code to make it work with the latest OpenIGTLink library. @abhiazadz let us know if you still see the same errors.

I fixed the code to make it work with the latest OpenIGTLink library. @abhiazadz let us know if you still see the same errors.

Can you please help with the upcoming error?

Sorry for my delayed response. I'm not 100% sure, but I would try without -j and -l options.


Fix database-backup/improve metadata/add database-zap (cache) icon

database-zap is cache from Octicons.

What about making the strokes in zap all the same length?

This would be the 5th different zap shape in the library, I really think we ought to have these as consistent as possible.

battery-charging (shape 1)
smartphone-charging (shape 1)
cloud-lightning (shape 1)
plug-zap (shape 2)
plug-zap-2 (shape 3)
server-crash (shape 4)

I really think we ought to have these as consistent as possible.

@karsa-mistmere @jguddas Yeah, thought about that, and agree in general. Actually smartphone-charging is also not strictly the same either… battery-charging and cloud-lightning are the only 2 that are identical.


[Bug] Fix inconsistent return types in selector values

Description
Previously if you've specified the options of a selector as a List[Dict] inside a Parameter, the value was returned as a List[Dict] when "ALL" was selected (introduced by us), but would return a List of values only when selecting other values from the multi selector (dash default). This could lead to issues when using custom charts, as it's not immediately transparent for the user what the return type is, see https://github.com/mckinsey/vizro/issues/557.

Fixes inconsistent return types in selectors by always returning a List (similar to Dash)

FYI: @lingyielia @petar-qb @antonymilne
Screenshot
Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and/or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not directly or indirectly referenced individuals, products or companies in any commits.
I have not added data or restricted code in any commits, directly or indirectly.

Just to check: @huong-li-nguyen does the new test fail before your fix?

Yes, of course! That's how I checked that the test was working 😄


plsql debugger

Vorax needs a pl/sql debugger interface.
Leader-t create a test script
Leader-d (:VoraxDebug) debug - start debugging
Leader-s step
Leader-o over
Leader-i into
Leader-r run/continue
Leader-w watch variable under cursor
Thanks!

Thanks! I'll add this on the features list, though I don't expect to be ready too soon... Maybe in Vorax5.

I half expected you to have it completed by the time I woke up this morning!
Vorax4 is great.  Looking forward to V5.

yes, this feature will be very useful, looking forward for v5 too


[Event Request] Item Tracking Lines Page 6510

Hello, we are creating an app that needs to be able to override the Serial No. code that limits the quantity to one.  We were happy to see that in nearly all places where this is done in the system, there is already an event providing an "IsHandled" variable to override the serial quantity checking.  There are a few places where this has not been provided though, and I will be making requests to add events for them.
Event Request:
Item Tracking Lines Page 6510
Function TestTempSpecificationExists
This page function checks to ensure that no other record in the temporary recordset has the same serial number as the current record.  We would like to be able to enter multiple lines with the same serial number, but different lot numbers.  An event to override the default handling of this function is requested.
Thank you,
David Podjasek

Hi @dpodjasek .
Please check the latest version. The code was changed/updated in the area and there are new events appeared. So let me know if fits for you or not.

Hi @dpodjasek . Any update from your side?

Sorry for the delay, looking into it... will respond after testing

Ok, after some testing I can see what the issue is.  Using the OnTestTempSpecificationExistsOnAfterSetFilters event, I can override so that the lines are filtered by both serial and lot, which prevents the error when trying to define multiple lines with same serial but different lots.  However, during serial validate this code occurs on P6510:

This causes it to look at the other tracking lines with the same serial, and retrieve the first one.  It then passes back the lot numebr of that line, and fills it to the current line lot number.  This then causes TestTempSpecificationExists to run again, and this time it is looking for a match of both serial and lot, which it just created and erros.
So it would appear that what I really need is an event that lets me skip over the Serial validtion code on the page that calls

@dpodjasek , just let me know where and what event you need in terms of new code. We will implement it.

For clarity, I have created a new issue thread, with a simplified explanation of the new event I would like. (https://github.com/microsoft/ALAppExtensions/issues/11985)
This thread can now be closed.
Thank you!


Master branch compilation error.

I usually use master branch because I want receive latest fastest.
But today, It has lots errors. So I rollback it.
Please check and test before commit on master.
Warning and errors.
../node_modules/native-mate/vendor/base-minimal/src/base/bind.h:499:18: warning: typedef ‘p7_is_refcounted_type_and_needs_scoped_refptr’ locally defined but not used [-Wunused-local-typedefs]
Error: 404 status code downloading tarball
gyp ERR! stack     at Request. (/usr/local/src/atom/apm/node_modules/atom-package-manager/node_modules/npm/node_modules/node-gyp/lib/install.js:230:14)

Well be aware that the master branch is not the official live version! It's fluid and often breaks momentarily before being fixed shortly afterward.
The official releases are what you can expect have been tested more thoroughly.

@joowh85, yeah there is a build warning on our master branch, but there are no errors. The error you reported is not a compilation error; a download failed. This might have been a temporary server outage.


Updated cartfile to point to a specific MSAL version (0.1.3)

Please let me know if I should also commit all the updated Carthage checkouts. I think those shouldn't be committed.

This solves the problem in issue #11 .

Closing this PR as we are archiving this repository. Please see https://github.com/microsoftgraph/msgraph-training-ios-objectivec for an Objective-C sample.


HDDS-4354. Avoid spamming of logs because of deleted transactions.

What changes were proposed in this pull request?
Avoid spamming of logs because of deleted transactions.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4354
How was this patch tested?
MiniOzoneChaosCluster

/pending Pending on the minor comments from @lokeshj1703


serde_as does not process enum variant attributes

In my attempt to update to<EMAIL_ADDRESS>I noticed that nested JSON support is gone, with a changelog stating that:

json::nested can be replaced with #[serde_as(as = "json::JsonString")].

It doesn't seem quite as simple as that though, as I can't figure out a way to achieve what worked with json::nested using JsonString.
Minimal example which contains example JSON files and tests: https://github.com/ljoonal/serde_with_nested_json

running 4 tests
test enum_nested_json ... ok
test struct_json_string ... ok
test enum_json_string ... FAILED
test struct_nested_json ... ok
failures:
---- enum_json_string stdout ----
thread 'enum_json_string' panicked at 'called Result::unwrap() on an Err value: Error("invalid type: string "{\"id\":\"R-5c5d3057-bb97-4c31-a2e0-26ea055b2bcf\"}", expected struct MessagePayload", line: 6, column: 2)', src/lib.rs:32:70

My expectation is that JsonString should work just like json:nested did, but instead it fails for a reason that is beyond my debugging skills. But I've at least narrowed it down to working with the structs but breaking with the enums in the linked example repo.
As to why support for this would be nice, a real world usecase is de-serializing an external JSON API's responses that contain nested json of different types, but also sometimes just plain strings.

I think I identified the issue. The problem is that the serde_as macro does not recognize the attribute in this position. Currently, I think it only supports attributes on fields, but not on enum variants.
Since the attribute  is not recognized, it will not be translated into something serde understands.
    #[serde_with::serde_as]
    #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
    #[serde(tag = "messageType", content = "content")]
    /// The contents of a message combined with the `MessageType`
    pub enum MessageContentJsonStringEnum {
        /// A normal message
        Text(String),
        /// Fancy object message
        #[serde_as(as = "serde_with::json::JsonString")]
        Object(crate::MessagePayload),
    }

Instead, you can write this.
/// Fancy object message
Object(
	  #[serde_as(as = "serde_with::json::JsonString")]
	  crate::MessagePayload
),

It might be worthwhile to extend the macro to support variant attributes too.

Instead, you can write this.
...

Ah that makes sense, than you 👍

It might be worthwhile to extend the macro to support variant attributes too.

If that basically achieves the same result, a simpler alternative might just be to add an example of the attribute being used "within" the enum definitions to the docs? :)

I decided not to support serde_as on enum variants for now. But instead, an error will be issued when this happens. Your idea of showing an example how to use it with enums is good. So I changed one of the examples in the README to use an enum.
The updated example is in #502.


Wide icon in Pop!_OS 20.04 tab switcher

Godot version
3.3.3.stable
System information
Pop!_OS 20.04 (GNOME 3.36.8)
Issue description
Hardly a critical issue, but the Godot icon displayed on the Alt+Tab switcher be lookin kinda thicc:

My guess is that it's expecting icons with a 1:1 aspect ratio, and for some reason the icon the editor has provided to the WM isn't 1:1, so this could probably be solved by adding padding to the icon for the X11 editor build.
Edit: I actually can't find any icons within the 3.3 branch that aren't 1:1, so maybe something else is going on here?
Steps to reproduce
Boot up the editor, press Alt+Tab.
Minimal reproduction project
n/a

@snoopdouglas do you use png as icon?
here is mine PopOS 21.04

here how looks my godot.desktop entry, using svg.
[Desktop Entry]
Name=Godot
Comment=Free and open source 2D and 3D game engine
GenericName=Game Engine
Icon=/opt/godot/godot.svg
Type=Application
Keywords=godot;
Exec=/opt/godot/godot

@boruok I've not chosen an icon myself; this is the stock 3.3.3 X11 build.


按 method 1 ，并没有成功

作者可以重新理一次步骤顺序吗？

按照method1，结果是可行的，你试着再试一次，如果还没有成功的话，可以把截图贴上来，你这么问有些笼统了，作者也不能把所有细节再捋一遍。

Error
It seems Resilio Sync is not able to get sync.conf from fake server.
ENV
MacOS 10.13.4
Resilio Sync: 2.5.6 (1043)
(venv) ➜  sync-over-the-wall git:(master) ✗ pip freeze
PySocks==1.6.8
(venv) ➜  sync-over-the-wall git:(master) ✗

(venv) ➜  sync-over-the-wall git:(master) ✗ ls
LICENSE.md         config_server.py   patch_hosts.py     resilio.crt        sync.conf          tcptee_proxy.py    venv
README.md          do_not_trust.crt   patch_hosts.pyc    resilio.key        sync.method2.conf  tcptee_proxy.pyc
bin                doc                proxy.conf         setup.py           sync.original.conf tracker_proxy.py

(venv) ➜  sync-over-the-wall git:(master) ✗ cat sync.conf
{
  "trackers" :
  [
    {"addr" : "<IP_ADDRESS>:4000"},
    {"addr" : "<IP_ADDRESS>:4001"}
  ],
  "relays" :
  [
    {"addr" : "<IP_ADDRESS>:3000"},
    {"addr" : "<IP_ADDRESS>:3001"}
  ],
  "mobile_push_proxies" :
  [
  ]
}

(venv) ➜  sync-over-the-wall git:(master) ✗ cat proxy.conf
{
  "gfw_proxy": {
    "type": "socks5",
    "server": "<IP_ADDRESS>",
    "port": 1080
  }
}

Reproduction Steps
(venv) ➜  sync-over-the-wall git:(master) ✗ sudo python config_server.py
Password:
Please refer to README.md for detailed instructions.
Fake server started.
After Sync has requested the config file, this program should go on automatically.
If this program blocks here, please refer to README.md

*****************************
* Now, please restart Sync. *
*****************************

Now restart "Resilio Sync".
It did not see the script progressing.
Then I stopped the script. And import the do_not_trust.crt into Keychain. Choose 'Always Trust'.
Re-run the script.
(venv) ➜  sync-over-the-wall git:(master) ✗ sudo python config_server.py
Password:
Please refer to README.md for detailed instructions.
Fake server started.
After Sync has requested the config file, this program should go on automatically.
If this program blocks here, please refer to README.md

*****************************
* Now, please restart Sync. *
*****************************

The script still did not progress.
'No tracker connection available' was shown in Resilio Sync.


Updated installation instructions for macos, closes #206

Hi Visen, thanks for sending in this PR. After some thought I made the conclusion that having zig.guide host instructions for building from source isn't currently a good idea for a few reasons:

zig.guide follows major releases; the vast majority of users wanting to use the latest major version have little use for building from source (the latest major version isn't useful for users looking to contribute, and also isn't useful for the typical zig user).
increased maintenance churn, requiring us to test building from source upon every new major version (which often changes the build non-trivially) for all of our targets.
the zig repo's wiki already ha up to date and detailed information for building from source for those interested
Apologies for not making #206 clearer.


Bug Report: Account Entries

No account entry information exists for entries made in the Tea Consumption Ledger.
I added two expenses, one for teaspoons and one for Oolong tea to the Tea Consumption ledger.  The amounts (201, and 30 respectively) were added to the Trial Balance Ledger, but I can not find entries under the Tea Consumption ledger.
I started on main accounting page, clicking on Tea Consumption (which shows an expense):

There is no sub-ledger information listed.  Clicked on Accounts:

Accounts for ledger shows an expense.  Clicked on Show:

Clicked on Account entries:

There are no entries listed for this account:

Currently I can't reproduce this issue.

I added two expenses, one for teaspoons and one for Oolong tea to the Tea Consumption ledger. The amounts (201, and 30 respectively) were added to the Trial Balance Ledger, but I can not find entries under the Tea Consumption ledger.

If you want to do a manual transaction you have to create a new journal entry(under General Ledger -> Journal Entries) and choose the accounts you want to credit and debit.
Just to double check: As the balance for account "Tea" shows a balance of 201 did you created that account with an initial balance?
If yes, there will be no account entry as the initial balance is set right on the account itself without generating an account entry.


#10127: Move reduce op from tt_lib to ttnn part 1

Replaced usage of tt_dnn reduced ops in C++ with
ttnn analog.
Replace usage in Python of tt_lib reduce ops with ttnn analog. Remove tt_lib bindings and entries from docs.
Moved cpp code from deprecated/tt_dnn to operations/reduction/generic. Tweaked reduce_scatter to use ttnn.ReduceType enum as input.
Remaining: Code organization in ttnn/cpp/ttnn/operations/reduction/generic/device/
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

T3k frequent test:  https://github.com/tenstorrent/tt-metal/actions/runs/10367119174
All post commit: https://github.com/tenstorrent/tt-metal/actions/runs/10367076268
Model perf regression: https://github.com/tenstorrent/tt-metal/actions/runs/10367076268
Device perf regressions and output report: https://github.com/tenstorrent/tt-metal/actions/runs/10367099635
All of the above are green.
t3k demo tests: https://github.com/tenstorrent/tt-metal/actions/runs/10367105501
Falcon 40B is failing but same failure is happening on main.


Why the model return 7 outputs but loss have inputs for 2 only

Hi;
First, thank you very much for implementing this in Tensorflow. I just have a confusion, I notice the return for the model have 7 outputs as expected:
model = models.Model(inputs=[x_in], outputs=[d_stage_1, d_stage_2, d_stage_3, d_stage_4, d_stage_5, d_stage_6, bridge])
However, the loss have input for 2, I was expecting also 7:
def ssim_loss(y_true, y_pred):
Because in Basenet implementation in  Pytorch:
def muti_bce_loss_fusion(d0, d1, d2, d3, d4, d5, d6, d7, labels_v):

	loss0 = bce_ssim_loss(d0,labels_v)
	loss1 = bce_ssim_loss(d1,labels_v)
	loss2 = bce_ssim_loss(d2,labels_v)
	loss3 = bce_ssim_loss(d3,labels_v)
	loss4 = bce_ssim_loss(d4,labels_v)
	loss5 = bce_ssim_loss(d5,labels_v)
	loss6 = bce_ssim_loss(d6,labels_v)
	loss7 = bce_ssim_loss(d7,labels_v)
	#ssim0 = 1 - ssim_loss(d0,labels_v)

	# iou0 = iou_loss(d0,labels_v)
	#loss = torch.pow(torch.mean(torch.abs(labels_v-d0)),2)*(5.0*loss0 + loss1 + loss2 + loss3 + loss4 + loss5) #+ 5.0*lossa
	loss = loss0 + loss1 + loss2 + loss3 + loss4 + loss5 + loss6 + loss7#+ 5.0*lossa
	print("l0: %3f, l1: %3f, l2: %3f, l3: %3f, l4: %3f, l5: %3f, l6: %3f\n"%(loss0.data[0],loss1.data[0],loss2.data[0],loss3.data[0],loss4.data[0],loss5.data[0],loss6.data[0]))
	# print("BCE: l1:%3f, l2:%3f, l3:%3f, l4:%3f, l5:%3f, la:%3f, all:%3f\n"%(loss1.data[0],loss2.data[0],loss3.data[0],loss4.data[0],loss5.data[0],lossa.data[0],loss.data[0]))

	return loss0, loss

I think I'm missing something here.

Hi,
Thanks for the acknowledgement.
There is nothing wrong here, In TensorFlow/Keras we can apply multiple loss functions to multiple outputs.
Basically what happens here is that each loss function(loss=[iou_loss, bce_loss, ssim_loss] line 288) is gonna be applied to each model output.
Search how can we apply multiple loss functions to multiple outputs, then you can understand the flow.

Thank you.... just more question ... is there a difference between this and averaging the loss in the model like this:
nestnet_output_all = keras.layers.Average()([d1, d2, d3, d4, e5])

Assuming d1 is the loss calculated on stage 1 and so on...
This is still different because in Keras it takes the sum of all loss functions, you are taking average so that will be different.

Thank you ... but does it practically makes a difference, because in both cases it will just minimize the output.

It does, it will change the magnitude of loss value which then propagated into network using back propagation. That's why researcher use different weight's value to increase or decrease the effects of some particular loss value.


Nginx Ingress Controller - Default Backend when using HTTPS

NGINX redirects all HTTP traffic for undefined hosts to the default backend. But when using HTTPS the traffic all goes to the first defined TLS host in the generated nginx.conf.
By default NGINX should direct all traffic regardless of HTTP or HTTPS to the default backend. When using HTTPS NGINX should serve a default self-signed certificate.
What do you think?

Same issue here. I think @aledbf is looking into a solution for that :)


Implementing design system

This pull request implements a significant refactor of the current user interface architecture. It systematically removes all the individual UI components from our codebase and replaces them with imports from a newly established external component library.
Changes:

Removing local instances of UI components
Adding @pppaaattt/goodui as a dependency https://github.com/goodeats/goodui
Importing UI components from the external library to app/components directory
Exporting across all views from there so any changes are centrally located and don't need to change multiple files

Reasoning:

Consistency: Centralizing UI components ensures that our applications have a uniform look and feel across the board
Maintainability: Updates to UI components can be rolled out across all projects by updating a single library, reducing duplication of effort and potential for errors
Development Speed: By abstracting the UI components, "our team" can focus on business logic and features rather than reinventing common UI patterns
Collaboration: This approach facilitates "shared ownership" and easier collaboration with "teams" that may use or contribute to the UI component library
Version Control: Handling UI components as a package allows "us" to version control design changes more effectively

Deleting the primitives seems to be causing problems in consistency of the UI
A button, field, etc is supposed to look identical from the component library as it does locally
Somehow deleting the primitives has an affect even though they are not being imported anywhere
Tough bug to figure out, going to set this down again


cpu-flex: Remove untested MIPS-specific code

Change-Id: Iafc8ba8c88d6bfe9b0e65c3f15d455231e0dcc46
Signed-off-by: Jason Lowe-Power<EMAIL_ADDRESS>

This makes sense to me. Compiled and worked as well.


NO-ISSUE: Refactor the docs into user and contributor directories

Used HTTP/s and relative link checker VSCode plugin for checking the link validity after moving the files.

/lgtm


Map/List.constructor vs merge vs. set and ReactElements

I'm a bit unclear about the expected behavior with Map/List.merge when the values are ReactElements (or nested non-function Objects in general).
var div = React.createElement('div', null);
var span = React.createElement('span', null);
var map = Immutable.Map({ reactElement: div });

map = map.set("reactElement", span);

React.render(map.get("reactElement"), document.body);

The above works fine...but if we use merge:
var div = React.createElement('div', null);
var span = React.createElement('span', null);
var map = Immutable.Map({ reactElement: div });

map = map.merge({ reactElement: span });

React.render(map.get("reactElement"), document.body);
//(Throws an error...this isn't a proper reactElement anymore);

So it seems like the Map.constructor assigns the key 'reactElement' to the object reference, and set update the existing reference a new one, but merge is (I assume) recursively serializing the updated key-values with fromJS?  Is this expected, or is there no way to say merge shallow object references?

Nevermind I see that the problem is because I should be doing:
map = map.merge(Immutable.Map({ reactElement: span }));

This actually seems like a real issue to me, so I'm going to re-open. merge should be a shallow operation, mergeDeep needs to be used explicitly to do deeper merges.

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.

Merging this into #1293 which specifically highlighted the remaining issue


[EventRequest] Report 7052 " Suggest Sales Price on Wksh.", Sales price - OnAfterGetRecord() [External]

Please add a new publisher event OnBeforeModifyOrInsertSalesPriceWksh in report 7304 on trigger Sales price - OnAfterGetRecord() and call it as shown in the picture below in the end of the function

Please add the corresponding Integration Event In the bottom of the report

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Refactor riak trafficvault interface

What does this PR (Pull Request) do?
This PR refactors the existing Riak-based Traffic Vault integration in Traffic Ops into an interface-based implementation, making it easier to add support for new Traffic Vault backends (such as PostgreSQL).
Which Traffic Control components are affected by this PR?

Documentation
Traffic Ops
Traffic Vault

What is the best way to verify this PR?
 So, I had to manually test each of these API endpoints after converting them.
Fortunately, starting CIAB does test several of these endpoints, so that can test the functionality a bit. However, I plan to add TO API tests for these endpoints once we've added support for PostgreSQL as a Traffic Vault backend, because it will be easier to support that in the TO API tests since they already require a running PostgreSQL database.
The following criteria are ALL met by this PR

[x] This PR includes tests
[x] This PR includes documentation
[x] This PR includes an update to CHANGELOG.md
[x] This PR includes any and all required license headers
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Files changed: 45

Docs and code both LGTM

This PR should be subjected to a bit more scrutiny than that IMO.

I looked through every single line of code. Found nothing to comment on.

I will say, even though this touches 45 files, it is actually deceptively smaller than it looks. The underlying Riak functionality is mostly unmodified, but I had to touch every single call site to use the TrafficVault interface and move some things around. I also privatized the underlying Riak functions so that the interface is the only way to do anything w/ Riak. I tried to put those "non-changes" into their own commits if it helps review -- e.g. https://github.com/apache/trafficcontrol/pull/5721/commits/29b1263d02337ec43571c0fc67e7cf6f0ef02277.

I looked through every single line of code. Took me about two hours. Found nothing to comment on.

Fair enough, that makes more sense. And as @rawlinp explained, it's a lot of this is moving things around. Don't hold up this PR on my account.


MBP Intel, Sonoma: only main display selected (external), but Aerial always starts on both displays (internal AND external)

General troubleshooting tips
Before logging an issue please check that:

[X] You have the latest version installed (There may be a beta version that fixes your issue), see here for the latest releases and bug fixes: https://github.com/JohnCoates/Aerial/releases
[X] Your issue isn't already mentioned in our issues. You may find a workaround there or a similar request already made.
[X] Your problem isn't mentioned in the troubleshooting page.

If none of this fixes your issue, tell us about the problem you are experiencing or the feature you'd like to request.
Required information
In order to help us sort your issue, we ask that you provide the following information:

[X] Mac model: Macbook Pro, 13-inch, 2018, Four Thunderbolt 3 Ports
[X] macOS version: Sonoma 14.1.1
[X] Monitor setup: internal + 1 external (LG 38" HDR WQHD)

If appropriate, please enable Debug mode and Log to disk in Advanced tab and replicate your bug, then attach the AerialLog.txt file (You can access this file through the Advanced tab).
Description of issue / Feature request
I know this bug from early Ventura times ... on the recent versions it was fixed. Now the bug reappears on Sonoma.
Declared the external Display to primary and want to play Aerial only on the this display, if its connected.
The selection dialog shows the correct preview, but the videos always are played on both displays (independent mode), and the fans are spin up, because its intel.

Hi @p3P4
First, can you check the steps on this post, to make sure Sonoma didn't disable Aerial for you ? Pay particular attention on the "show on all screens/spaces" :  https://github.com/JohnCoates/Aerial/issues/1345#issuecomment-1801799563
If all that is good, can you go into System Settings, displays, and make a screenshot of how you have aligned your screens ?
Right now there's an issue where you don't have much vertical overlap between your screens. It's very annoying and the workarounds we found don't work in some specific situations because of this.

Aerial is enabled and settings see screenshots below:
￼
￼

Am 12.11.2023 um 20:33 schrieb Guillaume Louel @.***>:
Hi @p3P4 https://github.com/p3P4
First, can you check the steps on this post, to make sure Sonoma didn't disable Aerial for you ? Pay particular attention on the "show on all screens/spaces" : #1345 (comment) https://github.com/JohnCoates/Aerial/issues/1345#issuecomment-1801799563
If all that is good, can you go into System Settings, displays, and make a screenshot of how you have aligned your screens ?
Right now there's an issue where you don't have much vertical overlap between your screens. It's very annoying and the workarounds we found don't work in some specific situations because of this.
—
Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/1346#issuecomment-1807218246, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6NCHJU53N3WPXGLWI6FYLYEEQCFAVCNFSM6AAAAAA7IGZMKSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBXGIYTQMRUGY.
You are receiving this because you were mentioned.

Thanks, that does look fine.
Because the workaround works on delaying stuff, it's possible I missed something around the screen disabled thing, I'll try to have a look tomorrow, see if I can replicate/fix and get back to you !

Hi again @p3P4
I found the bug, for some reason it "kinda" worked if enabled for main display only (but not correctly) and I think that's why it wasn't reported earlier.
Thanks for the heads up, I'll let you confirm it works for you but I'm fairly confident it's fixed in 3.3.5 : https://github.com/JohnCoates/Aerial/releases/tag/v3.3.5

Wow - this was quick! Thank you, good work! :)

Am 13.11.2023 um 17:33 schrieb Guillaume Louel @.***>:
Hi again @p3P4 https://github.com/p3P4
I found the bug, for some reason it "kinda" worked if enabled for main display only (but not correctly) and I think that's why it wasn't reported earlier.
Thanks for the heads up, I'll let you confirm it works for you but I'm fairly confident it's fixed in 3.3.5 : https://github.com/JohnCoates/Aerial/releases/tag/v3.3.5
—
Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/1346#issuecomment-1808514987, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6NCHMRE2X3WEWBOVQY43TYEJDVZAVCNFSM6AAAAAA7IGZMKSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBYGUYTIOJYG4.
You are receiving this because you were mentioned.

Aerial does not span on multiple displays? Any way to fix this?


Faster temperature change perf + reliability fix on some boards

Two commits:

Fix: BLE parameters: 90ms window works much-much better at least for me on two different cheap boards. With 60ms kept on disconnecting daily, which was bad. With 90ms stays really nicely connected and have not noticed any negative affects.
Improvement: After changing target temperature on UI, it takes about 1-2min after the relay on Ensto-wall thermostat was turned on/off and other ~8 seconds to show this on UI. => With this use case optimization this now happens near real time in seconds. Tried to do it so that does not mess the usual state machine timings.

Feel free to poimia kirsikat etc...

Looks good, thanks!


mlat-client errors to console

I just did a completely fresh install of jessie and a fresh clone of this project. I just happened to have a monitor hooked up to my raspberry pi. After a final reboot, I am getting an mlat-client error spit out to the console roughly once every 30 seconds. Here is the output:
mlat-client: error: argument --user: expected one argument
It then prints the entire mlat-client usage. It doesn't appear to be getting caught in other logs. Grepping through the clone, I think the only place mlat-client is called with --user is in adsbexchange.sh and adsbexchange-mlat_maint.sh. I think the problem is that during adsbexchange setup, I didn't set a receiver name because it said (NOT REQUIRED). It appears that one needs to be set in order to avoid this error, so if a user doesn't enter a receiver name I would argue that adsbexchange-mlat_maint.sh should not pass the user argument to mlat-client in adsbexchange-mlat_maint.sh, or should pass a default value.

Update: it appears user is required so the install script needs to assign a default value to avoid this error.

Will fix this to require that bit of data.
It was my understanding this was not a requirement but apparently it is.

Receiver name is now required.
commit 74b77e78555ad15a9dc9bda0829f15cbcaf2e3e3


Fix support for Winter v1.2

Fixes #25

@LukeTowers Does your fix work for 1.1.x ?

Yep

@skripteria are you interested in merging this?


Add extension targets

The issue with SwiftPM complaining about files that are in the target path but not in the sources folders is not going away. I posted this bug on feedback assistant 3 or 4 years back and then in the SwiftPM repo last year https://github.com/swiftlang/swift-package-manager/issues/6440 and there doesn't seem to be any movement on it. In actual fact now it has got worse as it is being reporting for users of soto and not just those compiling soto. See #730
This PR would get around this by add new extension targets SotoS3Extension SotoSTSExtension etc but it is a breaking change and would require a soto v8.

I'm curious to know what is the breaking change 🙂

To use the multipart extension code you would need to import SotoS3Extension.

So ... a @_exported wouldn't salvage the situation?

That'd produce a weird dynamic where SotoS3Extension is dependent on SotoS3 but is imported into SotoS3Extension, so SotoS3 becomes dependent on SotoS3Extension. Not sure that is possible.
I guess you could have a SotoS3Service target that holds the generated code, SotoS3Extension that holds the extension code and then SotoS3 that imports both with @_exported.

Honestly I don't see how that's horrible 😅
Makes a fine sense to me, specially to avoid a new major version.
I do see the difference but generally speaking, "umbrella modules" aren't rare. NIO for example.
Not that I'll be bothered with a new major version, but it feels awkward to have a new major version just for this, so I thought I take my shot to see if we can avoid that.
It's fine either way, for me.


Rename o macro

Since macro names aren't namespaced, and can clash, this is too short/common a name for a library to be using, I feel. Maybe it could be slog_o or slogo though. :-)

I guess slog_o as a backup alternative name, wouldn't hurt. :) :+1:

Done.

Thanks!


Lag on Windows 10 in mc

Lags in Midnight commander on Windows systems.

I am not using MC but I've noticed quite a bit of lag on Windows 10 regardless of theme or other settings.   Using htop for example is very slow rendering compared to the stock PS terminal.  Log scrolling is terribly slow if there's a lots going (e.g. tailing an access log).


Form field state is linked to main app state

In Atomic Browser, edit a resource (cmd+e), e.g. make some changes to the title
Don't save the changes
The UI state reflects the new input, but the server state does not know this new state

This is confusing to the end-user, as it may give the false impression that state changes have been properly saved.
This happens because the various input fields use useValue, which uses and updates the resource.propvals map directly.
How should we prevent this from happening?
Form fields use some local Context
Instead of updating the real store, the forms just use some react context that's locally scoped. This would probably be a large refactor.
Add a useLocalValue hook which uses CommitBuilder

resource.set does not directly update the resource.propval values, but resource.commitbuilder.set
resource.getLocalValue is added, this reads from resource.propval and apply the current changes in CommitBuilder.
this function is used in a new useLocalValue hook
This hook is used in all components

A problem with this approach, is that it would break the useValue hook. This would no longer reflect updates as you type, because .set no longer updates the values. It would not work well for a form.
Inform the user that changes are not saved
Render an icon next to the resource (which does show the new title / propvals) to indicate "warning, some changes have not yet been saved"
The user should have a way to reset the state back to the current one. This can be done by simply refreshing the resource.
However, we don't really know how to accurately ask if a resource has any changes. We have a hasUnsavedChanges function, but that also says true if the value is set to the same as current value. Not horrible.

Closing. Fixed in #900


Feature: Create a CI Pipeline

This adds the necessary files for building a container image on Google's Cloud Build service:

cloudbuild.yaml - defines the entire build pipeline
known_hosts.github - defines the Github host key for SSH connections

I don't think this code belongs to the main Data Commons repo?

@shifucun Oh my goodness, you are correct! Thanks for the heads up - I've close the PR now.


devdocs typos

Summary of the Pull Request
Fixes simple typo/grammar error.

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[X] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language

Validation Steps Performed
Used a dictionary ;)

Thanks


is_on_floor() with KinematicBody2D stops working correctly when the character runs automatically

Godot version: 3.2.3.stable.official
(Regular and Mono Editions, Official Download)

OS/device including version: Personal 64-bit Home Computer (Tower) with
Linux Mint Debian Edition 4 64-bit (More specifications)

Issue description: I am making an Autorunner.
When implementing the Jump by itself (you cannot run), the floor detection works perfectly as expected.
Only after adding the single line that makes Autorunning work, is_on_floor() rapidly alternates between true and false when it should constantly output true.

Steps to reproduce in the minimal reproduction project:
Simply enable the Player node's Running Mode in the Inspector.
You'll see that the bug happens only when it's enabled.

Steps to reproduce in a new project:

Create a 2D Scene with Tiles
(it doesn't matter if it's a Tilemap or Individual Blocks)
(a long floor, and a scrolling camera or screen wrap, are recommended to observe the player character for a longer time)
Create a KinematicBody2D, then add a Sprite and CollisionShape2D as children
Add this script to the KinematicBody2D
(It turns the body into a player which falls with gravity,
and has the ability to jump but Not the ability to run):

extends KinematicBody2D

const UP_DIRECTION = Vector2(0,-1)
var motion = Vector2.ZERO
	#Making this 2 standalone variables, motion_x and motion_y,
	#doesn't change anything. I have tried.

func _physics_process(_delta):
	gravity()

	to_jump()

	move_and_slide(motion, UP_DIRECTION)

	print( is_on_floor() ) #This line makes it much easier to verify the bug

const GRAVITY = 200

func gravity():
	if is_on_floor():	motion.y = 0
	else:	            motion.y += GRAVITY

var JUMP_FORCE = -2000

func to_jump():
	if Input.is_action_just_pressed("jump"):
		if is_on_floor():	motion.y = JUMP_FORCE

Extend the Script (Add the ability to Run):

extends KinematicBody2D

[...]
var motion = Vector2.ZERO
	#[...]

const RUN_SPEED = 800

func _physics_process(_delta):
	#The order of the lines in the function actually doesn't matter.
	#The bug happens either way.

	gravity()

	motion.x = RUN_SPEED

	to_jump()

	[...]
[...]

Minimal reproduction project: is_on_floor().zip

Really Fast, I managed to fix the bug in my own project with advance from TwistedTwigleg on the Forums.
But this doesn't necessarily mean that it's fixed in the engine itself.
I personally think that actually fixing this is not the only viable strategy, but making it more well-known is also very viable since it could be very easy for the game creator to avoid when ze's aware of this.

Looking at the forum post, I see @TwistedTwigleg said:

What is strange with this, in my opinion, is that jumping even works with this solution! I thought move_and_slide_with_snap made jumping hard because the snapping code would force the character to stick to the ground, but I guess this is not the case.

I would have expected this as well. Are these docs no longer accurate? https://docs.godotengine.org/en/stable/classes/class_kinematicbody.html#class-kinematicbody-method-move-and-slide-with-snap:

As long as the snap vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting snap to (0, 0, 0) or by using move_and_slide instead.

The "bug" is that is_on_floor() returns true when there is no motion. is_on_floor() should only return true if the KinematicBody collided with a floor in the last call to move_and_slide or move_and_slide_with_snap() The description in the documentation has been recently updated to make this clearer: #42696.
As explained by @TwistedTwigleg, to ensure is_on_floor() consistently returns true, there needs to be a downward motion into the floor on every call to move_and_slide() or use move_and_slide_with_snap().

What is strange with this, in my opinion, is that jumping even works with this solution! I thought move_and_slide_with_snap made jumping hard because the snapping code would force the character to stick to the ground, but I guess this is not the case.

The snap suggested is in the wrong direction. The snap vector should point down. So it's not actually snapping, it's just coincidentally colliding with the floor, for the same reason it collides with the floor when there is no motion.
However, I put "bug" in inverted commas, because the user expectation is that if the KinematicBody was on the floor, and there is no motion, that is_on_floor() should continue to return true as it does now. "It's not a bug, it's a feature." ;-)
Closing, because this is not a bug, and the documentation has already been updated.


[MM-34415, MM-34808, MM-34572, MM-34385, MM-32445, MM-31525] Handle user and channel provider from the app parser

Summary
Sync Command parser with the changes for adding the channel provider and user provider to the app command provider, to have a better control of the flows.
Most of the changes in app_command_parser.ts are just copy paste from the webapp version. The rest of the files have specific details for the mobile version.
Ticket Link
https://mattermost.atlassian.net/browse/MM-34415
https://mattermost.atlassian.net/browse/MM-34808
https://mattermost.atlassian.net/browse/MM-34572
https://mattermost.atlassian.net/browse/MM-34385
https://mattermost.atlassian.net/browse/MM-32445
https://mattermost.atlassian.net/browse/MM-31525
Related PR
Webapp: https://github.com/mattermost/mattermost-webapp/pull/8148
Screenshots
None
Release Note
Better support for channel and user selection from withing apps commands.

/update-branch

Building app in separate branch.

Sorry @larkox this PR was not appearing on my work queue as the Dev review label is still applied.
cc @amyblais I have bumped the milestone version. One the Jira tasks is resolved but the remainder of the command parser improvements have missed the 1.46 release.

Building app in separate branch.

Building app in separate branch.


Internationalization support

I want to propose/discuss a possibility to add an i18n support for python-social-auth
Here's my patch with some notes
I just want to be sure, that I'm moving in right direction and there's a possibility for merge it with base project.
What I did:
I discovered a Strategy class and subclasses for each web framework, and decided to put internationalization stuff in this class. And these strategies are injected everywhere in library core
In base class I created a method ugettext, which, by default, just return a string, that was passed as only argument
In Django subclass (I have no much experience with other supported frameworks) I overrode it with Django's own ugettext function
I wrapped each message (all messages, that I could find) with backend.strategy.ugettext (or similar), so they are translated
For default django app I manually created django.po file with translations for Russian language
Other frameworks should provide their ugettext implementation and translation resources
And it all works as expected

Fixed tests

I'll close this since the split to https://github.com/python-social-auth a solution that's framework independent seems like a more suitable solution.
Thanks!


Rather than keeping a registry, search github for repos prefixed with "atomar -"

Allow customizing the tool to search by a particular user or globally. The default user could be changed by running a config command. This would make it easy for people to fork their own modules and use them either as private repos or public repos.

a utility that does this has can be very handy for other purposes outside of Atomar so we should probably spin this off at a separate module that is simply utilized by the cli.


[Bug]: Validator regularly OOMs on Kusama

Bug Summary
Validator regularly runs out of memory on Kusama
Bug Description
If in active set, Kusama validator regularly runs out of memory.
This happens both on current master (153ed85bcc3dda1f6e1fc2cb0efcca33e8e49aa1) and on the refactor/notifications (b5834724b3f18b1d694051cae1afff06d1ee7652, PR #2269) branches, although it happens less regularly on the former  (~ every hour or two) than the latter (~ every 10 minutes), but it also accumulates far fewer era points on the former (~ dozens per era), than on the latter (~ hundreds per era), so this may be due to the latter resolving networking issues and thereby enabling the validator to engage in consensus more actively.
This happens on a host with 64 GB RAM. If this is insufficient for operating a Kagome validator, please close this issue.
Steps to Reproduce
Mode: Validator
number of nodes: 1
Command: kagome --chain kusama -d [...] --validator --listen-addr [...] --public-addr [...] --name [...]  --rpc-port [...] --telemetry-url [...] --telemetry-url [...] --node-key-file [...]
Effects of the Bug
The node gets culled by the OOM killer.
An example log from current master (153ed85bcc3dda1f6e1fc2cb0efcca33e8e49aa1):
Nov 17 06:44:37 v1-oslo kagome[557803]: 24.11.17 06:44:37.445020  worker.4         Info      BlockStorage  Added block #25815332 (0x17f2…2868) as child of #25815331 (0x2280…3aec)
Nov 17 06:44:38 v1-oslo kagome[557803]: 24.11.17 06:44:38.301360  main_runner      Info      BlockExecutor  Imported block #25815332 (0x17f2…2868) within 1159 ms. (lag 2301 ms.)

Nov 17 06:45:08 v1-oslo kagome[557803]: 24.11.17 06:45:08.030263  statement-distr  Info      StatementDistribution  Send my view. (peers_count=903)
Nov 17 06:45:10 v1-oslo kagome[557803]: 24.11.17 06:45:10.150924  main_runner      Warning   SyncProtocolObserver  cannot find a requested block with id 25398643
Nov 17 06:45:10 v1-oslo systemd[1]: kagosama.service: A process of this unit has been killed by the OOM killer.
Nov 17 06:45:12 v1-oslo systemd[1]: kagosama.service: Main process exited, code=killed, status=9/KILL
Nov 17 06:45:12 v1-oslo systemd[1]: kagosama.service: Failed with result 'oom-kill'.
Nov 17 06:45:12 v1-oslo systemd[1]: kagosama.service: Consumed 1h 7min 16.322s CPU time, received 35.8G IP traffic, sent 2.5G IP traffic.
Nov 17 06:45:42 v1-oslo systemd[1]: kagosama.service: Scheduled restart job, restart counter is at 10.

An example log from current refactor/notifications (b5834724b3f18b1d694051cae1afff06d1ee7652):
Nov 15 13:55:25 v1-oslo kagome[518209]: 24.11.15 13:55:25.777435  statement-distr  Info      StatementDistribution  Fetch attested candidate success. (relay parent=0x8eeb…7431, candidate=0xe3e0…9547, group index=38, statements=4)
Nov 15 13:55:25 v1-oslo kagome[518209]: 24.11.15 13:55:25.777466  statement-distr  Info      StatementDistribution  Not importable. (relay parent=0x8eeb…7431, candidate=0xe3e0…9547, group index=38)
Nov 15 13:55:25 v1-oslo kagome[518209]: 24.11.15 13:55:25.778373  main_runner      Info      ParachainProcessorImpl  Candidate backed.(candidate=0xe3e0…9547, para id=11, relay_parent=0x8eeb…7431)
Nov 15 13:55:27 v1-oslo kagome[518209]: 24.11.15 13:55:27.379774  main_runner      Info      BlockTree  Finalized block #25791090 (0xb5c5…9ce1)
Nov 15 13:55:29 v1-oslo kagome[518209]: 24.11.15 13:55:29.378418  grandpa          Info      GrandpaEnvironment  Found best chain is longer than approved: #25791092 (0x8eeb…7431) > #25791090 (0xb5c5…9ce1); truncate it
Nov 15 13:55:31 v1-oslo kagome[518209]: 24.11.15 13:55:31.269221  worker.9         Info      BlockStorage  Added block #25791093 (0xcb20…2797) as child of #25791092 (0x8eeb…7431)
Nov 15 13:55:35 v1-oslo kagome[518209]: 24.11.15 13:55:35.104468  main_runner      Info      BlockExecutor  Imported block #25791093 (0xcb20…2797) within 4589 ms. (lag 5103 ms.)
Nov 15 13:55:37 v1-oslo kagome[518209]: 24.11.15 13:55:37.459163  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:38.246090  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:39.634165  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:41.287427  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:43.217174  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:44.695502  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:45.461195  main_runner      Info      BlockTree  Finalized block #25791091 (0xd078…f4c2)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:46.080193  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:55:47 v1-oslo kagome[518209]: 24.11.15 13:55:46.866109  grandpa          Info      GrandpaEnvironment  Found best chain is longer than approved: #25791093 (0xcb20…2797) > #25791091 (0xd078…f4c2); truncate it
Nov 15 13:55:49 v1-oslo kagome[518209]: 24.11.15 13:55:48.796014  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:50.125748  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:52.024332  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:52.081410  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:55.035874  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:57.375167  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:55:58.591698  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:00.915122  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:02.325781  statement-distr  Info      StatementDistribution  Fetch attested candidate returned an error. (relay parent=0xcb20…2797, candidate=0x5ac1…f9fc, group index=45, error=N6libp2p10connection6Stream5ErrorE(10) Stream: reset by remote peer)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:05.281818  main_runner      Info      ApprovalDistribution  Sending an approval to peers. (block=0xcb20…2797, num peers=4)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:06.386996  statement-distr  Info      StatementDistribution  Fetch attested candidate returned an error. (relay parent=0xcb20…2797, candidate=0x7ded…3ca9, group index=47, error=N6libp2p10connection6Stream5ErrorE(10) Stream: reset by remote peer)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:08.579577  main_runner      Info      BlockTree  Finalized block #25791092 (0x8eeb…7431)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:09.463514  grandpa          Info      GrandpaEnvironment  Found best chain is longer than approved: #25791093 (0xcb20…2797) > #25791092 (0x8eeb…7431); truncate it
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:11.829982  statement-distr  Info      StatementDistribution  Fetch attested candidate returned an error. (relay parent=0xcb20…2797, candidate=0xb80f…dd69, group index=54, error=N6libp2p10connection6Stream5ErrorE(10) Stream: reset by remote peer)
Nov 15 13:56:28 v1-oslo kagome[518209]: 24.11.15 13:56:18.836390  statement-distr  Info      StatementDistribution  Fetch attested candidate returned an error. (relay parent=0xcb20…2797, candidate=0xf22e…772f, group index=48, error=N6libp2p10connection6Stream5ErrorE(10) Stream: reset by remote peer)
Nov 15 13:56:31 v1-oslo systemd[1]: kagosama.service: Main process exited, code=killed, status=9/KILL
Nov 15 13:56:31 v1-oslo systemd[1]: kagosama.service: Failed with result 'signal'.
Nov 15 13:56:31 v1-oslo systemd[1]: kagosama.service: Consumed 7min 144ms CPU time, 57.8G memory peak, 0B memory swap peak, read 30.5G from disk, written 18.8G to disk, received 1.7G IP traffic, sent 1.0G IP traffic.

Expected Behavior
The validator does not OOM? ^^
System Information
NixOS 24.5 with kernel 6.11.5
Compiler: gcc 13.2.0
CMake: cmake version 3.25.3
Built using flake from https://github.com/qdrvm/kagome/pull/2257
Relevant for this issue: host has 64 GB RAM.
Additional Context
Issue does not occur when running without --validator flag.

Thanks for reporting! We have few ideas what to check

Hey @Lederstrumpf can you please check if https://github.com/qdrvm/kagome/pull/2278 improves situation?

Hey @Lederstrumpf can you please check if #2278 improves situation?

related: To debug #2278, I'm currently resyncing from a db backup that's trailing by 14 days atm.
Nov 19 14:11:52 v1-oslo systemd[1]: kagosama.service: Main process exited, code=killed, status=9/KILL
Nov 19 14:11:52 v1-oslo systemd[1]: kagosama.service: Failed with result 'oom-kill'.
Nov 19 14:11:52 v1-oslo systemd[1]: kagosama.service: Consumed 12min 29.566s CPU time, received 3.1G


Allow defining custom FS route configuration

Describe your motivation
Custom menu building logic would benefit from a way of defining custom metadata in the route configuration. As an example, you might want to manually define a hierarchy or provide an additional row of text that should be shown separately from the view title.
Describe the solution you'd like
The initial FS router design suggested that unknown properties from export const config would just be passed through as-is so that they could be used in various parts of the system (not only for generating the menu). This does currently not seem to work as it was defined in the design.
After further consideration, I think it might be better to designate a specific property for this purpose since that makes the type definitions less unruly and removes concerns for backwards compatibility if we introduce new properties in ViewConfig. There would thus be a detail?: unknown property in ViewConfig and a corresponding property in MenuItem. createMenuItems could have a type parameter for asserting the detail type.
I could then do something like this in my view:
export const config: ViewConfig = {
  title: 'Foo',
  detail: { description: 'Bar'} as MyViewDetails
 };

And render the menu like this:
{createMenuItems<MyViewDetails>().map(({ to, title, icon, detail}) => (
  <SideNavItem path={to} key={to}>
    {icon ? <Icon src={icon} slot="prefix"></Icon> : <></>}
    {title}{detail.description}
  </SideNavItem>
))}

Describe alternatives you've considered
The icon string can be abused to pass arbitrary data as long as you properly extract values out of the value when rendering the menu item.
Additional context
No response

We can define a generic detail key on ViewConfig which also presents on the MenuItem object and is accessible from the createMenuItems. Under this key, the user would be able to define any arbitrary data they need for building a menu.

Usage examples with combined suggestions from the team discussion:
export type MyViewDetails = Readonly<{
  description: string;
}>;

export const config: ViewConfig<MyViewDetails> = {
  title: 'Foo',
  detail: { description: 'Bar'},
 };

{createMenuItems<MyViewDetails>().map(({ to, title, icon, viewConfig}) => (
  <SideNavItem path={to} key={to}>
    {icon ? <Icon src={icon} slot="prefix"></Icon> : <></>}
    {title}{viewConfig.detail.description}
  </SideNavItem>
))}

👍 this would solve my use-case.
Is it possible that the Developer doesn't have to specify the Type when using the createMenuItems function - can the type be inferred from the viewConfig that the function already holds? That way the MyViewDetails-Type could stay local.
Currently if someone changes ViewConfig<MyViewDetails> to something else e.g. ViewConfig<FoobarViewDetails> would createMenuItems have an typescript error?

There's a bit of weak typing here that I don't see how to avoid. TypeScript doesn't have any way of knowing that createMenuItems has anything to do with export const config in some completely different file that isn't even directly imported in the file using createMenuItems. It's up to the diligence of the developer to keep those two in sync with each other and failing to do so will lead to runtime errors.
If you don't define any type parameter for the view config but just do export const config : ViewConfig = { ... }, then the type of the detail field will default to unknown which means that it's fully valid to assign anything to it. The example would thus not give any type error if written like this without a type parameter:
export const config: ViewConfig = {
  title: 'Foo',
  detail: { description: 'Bar'},
};

On the receiving end, a plain createMenuItems() call will also default to using unknown as the type of the returned viewConfig.detail property. All the actual values will still be passed through but TypeScript will insist that you define what type you expect them to be before you can access them.
This would thus be a TypeScript error because unknown doesn't have a property named description:
createMenuItems().map(({viewConfig}) => console.log(viewConfig.detail.description));

This would compile and work as expected:
createMenuItems().map(({viewConfig}) => console.log((viewConfig.detail as MyViewDetails).description));

The  createMenuItems<MyViewDetails> is basically just a shorthand for this approach.
It's the developer's responsibility to use the same type in export const config as they use in createMenuItems. There would be no TypeScript error but instead a runtime error if you'd do like this with the above export const config example:
type MyAltViewDetails = Readonly<{
  foo: string;
}>;
createMenuItems<MyAltViewDetails>().map(({viewConfig}) => console.log(viewConfig.detail.foo));

Alternatively, you could just go wild with any:
createMenuItems<any>().map(({viewConfig}) => console.log(viewConfig.detail.description));


entities should support tap/hold actions

entities
picture-glance
which will align them with glance

Duplicate of
https://github.com/home-assistant/ui-schema/issues/189


Gabrielalao/fence 1339 upgrade flutter sdk to latest ios and android radar sdk

Bump iOS version from 3.5.9 to 3.8.9
Bump android version from 3.5.9 to 3.8.12
remove setAdIdEnabled
rename sendEvent to logConversion and add revenue param
add trackVerified
add trackVerifiedToken
add isUsingRemoteTrackingOptions
update autocompleteQuery with param add expandUnits
add validateAddress
add App Attest to ios example
add Play Integrity API to android example
update example project

@tjulien fixed all please review again

Looks good - except MIGRATION.MD is empty - can you copy the content from here: https://github.com/radarlabs/radar-sdk-ios/blob/master/MIGRATION.md#36x-to-370. except translate the code to flutter?

@tjulien I updated migration.md I thought I pushed the commit.


ci/docs: debug links

Before submitting

[ ] Was this discussed/agreed via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
Did you make sure to update the docs?
[ ] Did all existing and newly added tests pass locally?

What does this PR do?
debugging https://readthedocs.org/projects/lit-utilities/builds/23859566/
seems like https://pytorch.org/docs/stable/objects.inv is not the same as https://pytorch.org/docs/1.26/objects.inv even this is the latest at this time
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in GitHub issues there's a high chance it will not be merged.

📚 Documentation preview 📚: https://lit-utilities--245.org.readthedocs.build/en/245/

interesting that the build does not have any separation between PR and normal run but in PR ut does not replace stable even on the main branch it does... :/


WalletConnect QR Code cannot be shown again after dismissing

The WalletConnect QR code does not appear again after dismissing it. Clicking on the WalletConnect icon the first time successfully shows the QR code. After dismissing it and clicking "Try Again" in the "Login and Authorize your Wallet Modal", only a spinner is shown. If all modals are closed and an attempt to connect to WalletConnect occurs again, only a spinner is shown. See GIF for more details:

This appears to a bug with WalletConnect. Have created an issue in the repo: https://github.com/WalletConnect/walletconnect-monorepo/issues/243

Bug still not fixed, have re-raised the issue; see comment.

This is a WallletConnect issue, waiting for them to resolve see comment above 👆🏾


Plot results with intercept

As far as I can see plotting the results with intercept is commented out and the commented code seems to have a mistake. I fixed it up quickly by comparing to the R package and it seems to work:

function plot_outcomes2(res::Dict; overlay::Float64 = 0.0, save::Bool=false, dir::String="", format::String="png")

    if !(format in ["png", "pdf", "ps", "svg"])
        throw(ArgumentError("keyword argument `format` must be \"png\", \"pdf\", \"ps\", or \"svg\", got $format"))
    end

    t_span = res["t_span"]
    tyears = res["tyears"]
    N0 = size(res["weights"]["omega"], 1)
    plots = Dict()

    for year in tyears
        year_str = string(year)
        T0 = res["year_params"][res["year_params"].treat_year.==year, "T0"][1]
        T0 = Int(T0)
        T1 = res["year_params"][res["year_params"].treat_year.==year, "T1"][1]
        T1 = Int(T1)
        N1 = res["year_params"][res["year_params"].treat_year.==year, "N1"][1]
        N1 = Int(N1)
        # get weights
        omega_hat = res["weights"]["omega"][:, year_str]
        lambda_hat = res["weights"]["lambda"][year_str]

        # create matrices to calculate trajectory
        Y_year = copy(res["Y"][year_str])
        Y_pre_c = Y_year[1:N0, 1:T0]
        Y_post_c = Y_year[1:N0, T0+1:end]
        Y_pre_t = mean(Y_year[N0+1:end, 1:T0], dims=1)
        Y_post_t = mean(Y_year[N0+1:end, T0+1:end], dims=1)
        Y_t = [Y_pre_t Y_post_t]
        Y_c = [Y_pre_c Y_post_c]
        Y = Y_year #vcat(Y_c, Y_t)
        # calculate synth outcome trajectory
        n_features = size(Y_c, 1)
        start_w = fill(1 / n_features, n_features)
        omega_hat = res["weights"]["omega"][:, year_str]
        lambda_hat = res["weights"]["lambda"][year_str]
        lambda_synth = vcat(lambda_hat, zeros(T1))
        lambda_target = vcat(zeros(T0), fill(1 / T1, T1))

        # Create the omega.synth and omega.target vectors
        omega_synth = vcat(omega_hat, zeros(N1))
        omega_target = vcat(zeros(N0), fill(1 / N1, N1))

        println(size(omega_synth))
        println(size(omega_target))
        println(size(Y))
        println(size(lambda_synth))
        _intercept = overlay .* ((omega_target .- omega_synth)' * Y * lambda_synth)
        Y_sdid_traj = omega_hat' * Y_c  .+ _intercept;

        # plot parameters for scaling/offsets
        plot_y_min = minimum([Y_sdid_traj; Y_t])
        plot_y_max = maximum([Y_sdid_traj; Y_t])
        plot_height = plot_y_max - plot_y_min

        p = Plots.plot(t_span, Y_sdid_traj', label="Control", ls=:dash)
        plot!(t_span, Y_t', label="Treatment")
        plot!(t_span[1:T0], lambda_hat .* plot_height' / 3 .+ plot_y_min, label="", fillrange=plot_y_min, lw=0)
        vline!([year], label="")
        xlabel!("Year")
        title!("Adoption: " * year_str)
        plots[year_str] = p
        if save
            savefig(p, "$dir/outcomes_$year_str.$format")
        end
    end
    return plots
end


Re-implement rules engine (or pick new) in Go or other language

Re-implement the rules engine (currently written in Java using Drools) in Go.  Alternatively, pick a package and language implementation that offers the same or similar capability but in a smaller footprint (memory, CPU), smaller executable size, and starts up faster than current Java implementation.

Current candidate: https://github.com/Comcast/rulio
If considering implementation, Mainflux rules engine can be a good start: https://github.com/MainfluxLabs/rules-engine

In addition to those above, also looking at https://github.com/hopkinsth/go-ruler, https://github.com/huttotw/grules, https://github.com/myntra/roulette, https://github.com/zhouzhuojie/conditions, https://github.com/utk1369/infer-go.  May expand to other languages with small footprint, and option to use something like NodeRed

Also explore C-based, RUST or other small and compiled rules engines
http://www.clipsrules.net/
https://sourceforge.net/projects/clipsrules/

Also exploring JSON Logic as suggested by @andresrinivasan

While doing some research into the various tools that are available, I had a crazy thought I wanted to get out there. Would we be able to introduce Functions as a service(FaaS) here to accomplish what we need? My initial thought is that going this route could possibly give us more flexibility as far as the language(s) and possibly runtime which the logic/rules are operating under. This is a crazy idea since we are planning to go the opposite direction with footprint size as this would most likely add to the size of the system and needed resources. Any thoughts to my madness?

James - FaaS was part of the consideration for application services.  Current Application Functions SDK is based on the idea (but the existing form) of FaaS.  From my perspective and based on the decision made for application services - not there yet and not edge ready (size, server, etc.).  Having said that, I am always open to a Missouri approach - "show me"
On Friday, June 14, 2019, 9:01:35 AM CDT, Anthony M. Bonafide<EMAIL_ADDRESS>wrote:

While doing some research into the various tools that are available, I had a crazy thought I wanted to get out there. Would we be able to introduce Functions as a service(FaaS) here to accomplish what we need? My initial thought is that going this route could possibly give us more flexibility as far as the language(s) and possibly runtime which the logic/rules are operating under. This is a crazy idea since we are planning to go the opposite direction with footprint size as this would most likely add to the size of the system and needed resources. Any thoughts to my madness?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

Closing this issue.  Applications WG is taking on rules engine replacement.  See https://github.com/edgexfoundry/app-functions-sdk-go/issues/252


feat:enhance test coverage for 'Tokenize a String with Escaping'

Description
This pull request updates the tokenize function to correctly handle escaping in string splitting, based on the challenge specifications. It introduces logic to split a string at each non-escaped occurrence of a separator character, while preserving empty fields and handling escape sequences.
Changes Made

Implemented the tokenize function in JavaScript to parse strings with separators (|) and escape characters (^).
Added logic to correctly identify escaped characters and preserve them in the output.
Ensured that empty fields are properly handled and included in the resulting array.
Included comprehensive test cases to validate the function's behavior across various input strings, covering edge cases such as multiple separators, leading/trailing separators, and sequences of escape characters.

Checklist

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes issue #54687
Additional Notes

The tokenize function leverages a functional programming approach to ensure clarity and maintainability.
The test suite covers a wide range of scenarios to validate robustness and correctness.
This change is designed to enhance the functionality of string parsing within freeCodeCamp's platform, supporting improved user experience in handling complex input formats.

new tests go under hints, each with its own hint text
can you explain the changes to the solution?

Also you should really avoid using AIs to write the PR description, it rarely makes sense

I've added new test cases to ensure the tokenize function handles different separators, escape characters, and edge cases. These tests validate its robustness and accuracy across various inputs, ensuring it correctly processes multiple separators, leading/trailing separators, and escape sequences.

again, new tests go under hints, each one with its own hint text

"
tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^') should return ['one|uno', '', 'three^^', 'four^|cuatro', '']
assert.deepEqual(tokenize(testStr1, '|', '^'), res1);

tokenize('a@&bcd&ef&&@@hi', '&', '@') should return ['a&bcd', 'ef', '', '@hi']
assert.deepEqual(tokenize(testStr2, '&', '@'), res2);

tokenize('a@&bcd&ef&&@@hi', '&', '@') should return ['a&bcd', 'ef', '', '@hi']
assert.deepEqual(tokenize(testStr2, '&', '@'), res2);

tokenize('hello^|world^|how^are^you^|', '|', '^') should return ['hello|world', 'how^are^you|']

assert.deepEqual(tokenize(testStr3, '|', '^'), res3);

tokenize('^|^|^^^|^|^^', '|', '^') should return ['', '', '^|', '', '^']
assert.deepEqual(tokenize(testStr4, '|', '^'), res4);

tokenize('one|two|three|four|', '|', '^') should return ['one', 'two', 'three', 'four', '']
assert.deepEqual(tokenize(testStr5, '|', '^'), res5);

" should i modify in this way ???

That would be better, be careful with the backticks tho


Modal is closing when moving mouse selection outside container

🐛 Bug Report
Modal box is closing unexpectedly when moving mouse selection outside container.
To Reproduce
Open modal box, select some text and with active selection move mouse pointer outside of modal's container, then release mouse button. See:

Expected behavior
Selection should persist and modal should remain open. It is frustrating especially when selecting text on the input box and modal suddenly closes.
## System:
 - OS: Linux 4.19 Manjaro Linux
 - CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
 - Memory: 5.16 GB / 15.51 GB
 - Container: Yes
 - Shell: 3.0.2 - /usr/bin/fish
## Binaries:
 - Node: 11.14.0 - /usr/bin/node
 - Yarn: 1.15.2 - /usr/bin/yarn
 - npm: 6.9.0 - /usr/bin/npm

Hello @pippo111, hmm yes I think it should not be the behaviour, it is actually a bug.

Modal is gone in new release, please use Reakit Dialog instead.


OpenGL fails on Windows tests

Describe the bug
OpenGL doesn't load properly on the Windows VM.
To Reproduce
make a pull request.
Expected behavior
OpenGL should run headless on the Windows VM's on github but doesn't. This has been problematic. We don't need the visualization results for Windows since our documentation is generated on the Linux VM run. Turn this off for Windows so no calls to Vis are made in the tests.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows
Julia version [e.g. 1.5.2]
OpticSim.jl version [e.g. 0.3.1]

Additional context
Add any other context about the problem here.

This is a duplicate of #72.


V2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

61 of 70 (87.14%)  changed or added relevant lines in 31 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.5%) to 94.089%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Languages/JavaScript/JsDocLanguage.php
0
1
0.0%

src/Languages/Php/PhpDocCommentLanguage.php
0
1
0.0%

src/Languages/Php/PhpTypeLanguage.php
0
1
0.0%

src/Languages/Twig/TwigEchoLanguage.php
0
1
0.0%

src/Languages/Twig/TwigTagLanguage.php
0
1
0.0%

src/Languages/Text/TextLanguage.php
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/CommonMark/CodeBlockRenderer.php
1
81.82%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
1337

Relevant Lines:
1421

💛  - Coveralls


Add setGuzzleConfig to allow setting timeout

We were having issues where our $geckoboardClient->push($widget); call would fail, but without a timeout would sit for a very long time. This PR allows setting the timeouts on Guzzle which has solved our issue.

Thanks! Could you add some information to the README, so anyone interested in changing Guzzle config can do it? Just a comment :)

It would be nice if you can write a Test to keep 100% coverage :)


bluetooth: shell: Fix warnings about unsigned is negative check

It is hard for unsigned to be negative. Fixes build warnings.

Codecov Report

Merging #53854 (50446af) into main (18ab7eb) will decrease coverage by 0.16%.
The diff coverage is 11.56%.

:exclamation: Current head 50446af differs from pull request most recent head eb36e33. Consider uploading reports for the commit eb36e33 to get more accurate results

@@            Coverage Diff             @@
##             main   #53854      +/-   ##
==========================================
- Coverage   45.74%   45.59%   -0.16%
==========================================
  Files         544      544
  Lines       68070    68315     +245
  Branches    16649    16691      +42
==========================================
+ Hits        31142    31149       +7
- Misses      31373    31612     +239
+ Partials     5555     5554       -1

Impacted Files
Coverage Δ

drivers/eeprom/eeprom_simulator.c
64.91% <ø> (ø)

include/zephyr/drivers/can.h
87.93% <ø> (ø)

lib/os/reboot.c
0.00% <ø> (ø)

subsys/fs/fcb/fcb_priv.h
71.42% <ø> (ø)

subsys/net/ip/net_if.c
62.84% <0.00%> (ø)

subsys/net/lib/lwm2m/lwm2m_engine.c
9.06% <0.00%> (+0.02%)
:arrow_up:

subsys/net/lib/lwm2m/lwm2m_message_handling.c
10.02% <0.00%> (-0.07%)
:arrow_down:

subsys/net/lib/lwm2m/lwm2m_obj_firmware.c
17.08% <0.00%> (ø)

subsys/net/lib/lwm2m/lwm2m_rd_client.c
1.00% <0.00%> (+<0.01%)
:arrow_up:

subsys/net/lib/lwm2m/lwm2m_observation.c
3.20% <3.57%> (-0.03%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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

@finikorg Sorry to bother again, but you seem to be using fixup commits.
As described in the commit guidelines:

Each commit must address a single identifiable issue and must be logically self-contained. Unrelated changes should be submitted as separate commits.

Please squash the fixup commits

@finikorg Sorry to bother again, but you seem to be using fixup commits. As described in the commit guidelines:

Each commit must address a single identifiable issue and must be logically self-contained. Unrelated changes should be submitted as separate commits.

Please squash the fixup commits

squashed everything

@finikorg Sorry to bother again, but you seem to be using fixup commits. As described in the commit guidelines:

Each commit must address a single identifiable issue and must be logically self-contained. Unrelated changes should be submitted as separate commits.

Please squash the fixup commits

squashed everything

Looks like you managed to remove most of your changes :(

@finikorg Sorry to bother again, but you seem to be using fixup commits. As described in the commit guidelines:

Each commit must address a single identifiable issue and must be logically self-contained. Unrelated changes should be submitted as separate commits.

Please squash the fixup commits

squashed everything

Looks like you managed to remove most of your changes :(

Yes, I made it simple

Yes, I made it simple

So you intentionally discarded the original changes you wanted to make, and only left these 2 lines left? If so, that's fine, but your PR description no longer matches the changes

Yes, I made it simple

So you intentionally discarded the original changes you wanted to make, and only left these 2 lines left? If so, that's fine, but your PR description no longer matches the changes

PR description is OK, it is about removing unsigned is negative check.


cleanup fails when kubectl is not present

I am using oc cluster up to run my openshift which means I don't have kubectl command in the VM.
gofabric8 cleanup fails with
failed to delete Deployments: exec: "kubectl": executable file not found in $PATH

Could you add check for kubectl existance in https://github.com/fabric8io/gofabric8/blob/master/cmds/cleanup.go#L224 and use oc if it is not available.
Not sure if it's worth the work as that function is just workaround for https://github.com/fabric8io/gofabric8/issues/248, but if the workaround sticks around longer, it would be nice.

Yeah there is an assumption that gofabric8 was used to install and setup minishift / minikube.  We can catch the error and just download kubectl instead by programatically running the gofabric8 install instead.

My workaround is ln -s /usr/bin/oc /usr/bin/kubectl, but that's pretty dirty:)


Showing the text while cursor is on the concelead text

Currently in normal mode everything is concealed but I don't want text to be concelead where my cursor is. Is there a setting for that? I messed with the conceallevel but that didn't make any change.
Edit:
Better to say that I want to see the raw text where my cursor is.

Hmm, so this depends on what you mean.
Currently the conceal level is applied to the buffer as a whole. So only the things concealed by NeoVim (which I think has to do with tree sitter setting the Conceal highlight group on certain queries) change depending on where the cursor is. An example of this would be links which will have the following states:

Insert Mode = Raw Text = [link](https://example.com)
Normal Mode with cursor not on line = Concealed Text = link
Normal Mode with cursor on line  = Raw Text = [link](https://example.com)

If that is the behavior you're referring to then it should work and I'd need to see some examples to help debug. But if you're referring to the virtual text added by this plugin, like headings and bullet points, we do not a apply a conceal level so where the cursor is has no impact.
From your wording it seems like your expecting the latter behavior, where anything this plugin does goes away if your cursor is on a particular line for that line.
That seems like an interesting feature, I have no idea whether I'd be able to add it.
My first thought is this would NOT be practically possible since we effectively need the ability to do the opposite of a conceal.
Meaning normally conceal:

Cursor on line = show
Cursor not on line = hide

Whereas here we would need:

Cursor on line = hide
Cursor not on line = show

Let me know if that makes sense. I could be missing something in the virtual text options that does this or some other neovim feature that would let us do this easily. But anything that involves running some function every time the cursor moves would be non viable IMO.

Yes, you've got my point.
I thought the headings and lists were being concealed, not that virtual text was being added. So that explains why the behavior is different from Neovim's conceals. Upon further research, I figured out that the behavior I was looking for is controlled with concealcursor option, but that only affects concealed text, not virtual text.
Personally, I don't know whether Neovim offers the mentioned option for virtual text. If there's none, I understand the complexity of its implementation from your explanation, but I think it would be a cool feature to add since it makes editing files easier.

Moving this to a separate issue: https://github.com/MeanderingProgrammer/markdown.nvim/issues/15


Elevate warnings to errors to trigger failure on static analyzer

Requested in #780

Working as expected, causes gcc to throw an error on the one remaining static analysis output. Will be resolved by #780


Continuous speech recognition

How to continuous speech to text without google dialog?
Is it possible ?
If yes please share code>
Thanks

Not possible. This wraps Google Voice Search system service, which do not support this. You have to use another engine.

@gotev
Thank to replay.
Can you help me with another solution?
Can you provide another solution source code list?
Thanks

Nothing that I'm aware of

Okay
Thanks @gotev


fix: case insensitivity for postcss-normalize-repeat-style

Coverage remained the same at 99.45% when pulling 4515bc917732105c781767dc998e25122ed77898 on evilebottnawi:fix-case-insensitivity-postcss-normalize-repeat-style into c65808ea0bcb46844b17406d972c01817677d3b9 on ben-eb:master.