valueMost followed by a valueLeast wrongly aggregated to the same measurement

The text: Before the 1920s the number of stages was usually 15 at most and the riders enjoyed at least one day of rest after each stage.
is labeled (correctly) as

1920s is the valueMost
15 at most. is also valueMost
one day is valueLeast

and this is the labeled result:
Before	before	B	Be	Bef	Befo	e	re	ore	fore	INITCAP	NODIGIT	0	NOPUNCT	Xxxx	Xx	0	0	<other>
the	the	t	th	the	the	e	he	the	the	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
1920	1920	1	19	192	1920	0	20	920	1920	NOCAPS	ALLDIGIT	0	NOPUNCT	dddd	d	0	0	I-<valueMost>
s	s	s	s	s	s	s	s	s	s	NOCAPS	NODIGIT	1	NOPUNCT	x	x	1	0	<valueMost>
the	the	t	th	the	the	e	he	the	the	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
number	number	n	nu	num	numb	r	er	ber	mber	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
of	of	o	of	of	of	f	of	of	of	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	<other>
stages	stages	s	st	sta	stag	s	es	ges	ages	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
was	was	w	wa	was	was	s	as	was	was	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
usually	usually	u	us	usu	usua	y	ly	lly	ally	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
15	15	1	15	15	15	5	15	15	15	NOCAPS	ALLDIGIT	0	NOPUNCT	dd	d	0	0	I-<valueMost>
at	at	a	at	at	at	t	at	at	at	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	<other>
most	most	m	mo	mos	most	t	st	ost	most	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
and	and	a	an	and	and	d	nd	and	and	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
the	the	t	th	the	the	e	he	the	the	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
riders	riders	r	ri	rid	ride	s	rs	ers	ders	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
enjoyed	enjoyed	e	en	enj	enjo	d	ed	yed	oyed	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
at	at	a	at	at	at	t	at	at	at	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	<other>
least	least	l	le	lea	leas	t	st	ast	east	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
one	one	o	on	one	one	e	ne	one	one	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	1	I-<valueLeast>
day	day	d	da	day	day	y	ay	day	day	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	1	0	I-<unitLeft>
of	of	o	of	of	of	f	of	of	of	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	<other>
rest	rest	r	re	res	rest	t	st	est	rest	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
after	after	a	af	aft	afte	r	er	ter	fter	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
each	each	e	ea	eac	each	h	ch	ach	each	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
stage	stage	s	st	sta	stag	e	ge	age	tage	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
.	.	.	.	.	.	.	.	.	.	ALLCAPS	NODIGIT	1	DOT	.	.	0	0	<other>

However, the measurements are not correctly reconstructed as 15 and one are aggregated to the same measurement...
I have no idea how we can threat this case to be honest...

The way the interval measurements are built when we have one most and one least value following is very basic currently, we just attached both to the same measurement. One way to tackle this would be to introduce "barrier" to indicate that we move to another close. Here for instance, the fact that we have a and between two VP clauses could be exploited as a syntactic barrier, forcing two distinct measurements.
In DeLFT I am thinking about having a sentence tokenizer and a predicate/clause tokenizer within the sentence - without going through a complete sentence parsing which would be very expensive.

@kermitt2 thanks! I've been thinking on a way or another to do it. The easiest component to be added is indeed the sentence tokeniser, which would avoid fairly big mistakes.
However I'm not sure how we can define the barrier, in this case and would work, however normal  cases of intervals have and in the middle (e.g. the temperature was between 10 and 11 celsius).
I've tried to search for already made predicate - clause tokenizer and not much is around. Quick tests using a complete dependency parser wasn't successful (https://lindat.mff.cuni.cz/services/udpipe/ for example).

[] First task is then to plug in the sentence tokenizer

I've used the NLP4J sentence parser which, being rule base, doesn't perform well of out text, introducing more bugs than benefits...

	ALLCAPS	NODIGIT	1	DOT	.	.	0	0	<other>
High	high	H	Hi	Hig	High	h	gh	igh	High	INITCAP	NODIGIT	0	NOPUNCT	Xxxx	Xx	0	0	<other>
T	t	T	T	T	T	T	T	T	T	ALLCAPS	NODIGIT	1	NOPUNCT	X	X	1	0	<other>
c	c	c	c	c	c	c	c	c	c	NOCAPS	NODIGIT	1	NOPUNCT	x	x	1	0	<other>
(	(	(	(	(	(	(	(	(	(	ALLCAPS	NODIGIT	1	OPENBRACKET	(	(	0	0	<other>
up	up	u	up	up	up	p	up	up	up	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	0	0	<other>
to	to	t	to	to	to	o	to	to	to	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	0	0	<other>
15	15	1	15	15	15	5	15	15	15	NOCAPS	ALLDIGIT	0	NOPUNCT	dd	d	0	0	I-<valueMost>
K	k	K	K	K	K	K	K	K	K	ALLCAPS	NODIGIT	1	NOPUNCT	X	X	1	0	I-<unitLeft>
for	for	f	fo	for	for	r	or	for	for	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	0	0	<other>
a	a	a	a	a	a	a	a	a	a	NOCAPS	NODIGIT	1	NOPUNCT	x	x	1	0	<other>
Re	re	R	Re	Re	Re	e	Re	Re	Re	INITCAP	NODIGIT	0	NOPUNCT	Xx	Xx	0	0	<other>
content	content	c	co	con	cont	t	nt	ent	tent	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
ranging	ranging	r	ra	ran	rang	g	ng	ing	ging	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
from	from	f	fr	fro	from	m	om	rom	from	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
25	25	2	25	25	25	5	25	25	25	NOCAPS	ALLDIGIT	0	NOPUNCT	dd	d	0	0	I-<valueLeast>
to	to	t	to	to	to	o	to	to	to	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	0	0	<other>
62	62	6	62	62	62	2	62	62	62	NOCAPS	ALLDIGIT	0	NOPUNCT	dd	d	0	0	I-<valueMost>
at	at	a	at	at	at	t	at	at	at	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	I-<unitLeft>
%	%	%	%	%	%	%	%	%	%	ALLCAPS	NODIGIT	1	NOPUNCT	%	%	0	0	<unitLeft>
)	)	)	)	)	)	)	)	)	)	ALLCAPS	NODIGIT	1	ENDBRACKET	)	)	0	0	<other>
has	has	h	ha	has	has	s	as	has	has	NOCAPS	NODIGIT	0	NOPUNCT	xxx	x	1	0	<other>
been	been	b	be	bee	been	n	en	een	been	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
reported	reported	r	re	rep	repo	d	ed	ted	rted	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>
in	in	i	in	in	in	n	in	in	in	NOCAPS	NODIGIT	0	NOPUNCT	xx	x	1	0	<other>
literature	literature	l	li	lit	lite	e	re	ure	ture	NOCAPS	NODIGIT	0	NOPUNCT	xxxx	x	0	0	<other>

Here another example from a paper with the following DOI: 10.1002_adma.201202328
There is a lower than 1 T and, in a separate sentence larger than 1 T which are merged together.
Figure 8 shows the initial‐magnetization curves of these composite thin films. The two‐step magnetization process can be clearly observed in the film with N = 0; such a step behavior gradually diminishes with larger N due to the presence of a soft‐magnetic phase and degraded microstructures as seen in Figure 6. By correlating the Lorentz images with the intial‐magnetization curve of the thin film with N = 14, it is clear that, when the extermal field is lower than 1 T, the high slope of the initial‐magnetization curve is due to the presence of the movable domain walls as observed in Figure 7. There is a resemblance of a step‐behavior on the initial‐magnetization curve when the external field is larger than 1 T in the thin film with N = 14, consistent with the presence of the pinned domain walls in Figure 7. The depinning field can be determined from the initial‐magnetization curves, and the coercivity dependence of the stack number is shown in the inset of Figure 8. Both the coercivity and the depinning field decrease with an increase in the stack period N. In the thin film with N = 0, the depinning field is lower than the coercivity. However, the depinning field becomes higher than the coercivity in other nanocomposite thin films. Such a change in the initial‐magnetization curves associated with the gradually diminished step‐behavior on the initial‐magnetization curves for the higher fraction of the soft phase indicates that the high coercivity of the DP‐Nd‐Fe‐B film (N = 0) decreases as the pinning force at the Nd‐rich grain bounary decreases by increasing the fraction of the soft‐magnetic phases.

In this case closing the quantities at the end of the sentence, could solve the problem.


panel of normals step always requires e.g. pure_cn config

… because the get_log_file mechanism does not return a function but actual file paths (and these require config.purecn.enrichment_kit_name and config.purecn.genome_name to be defined) and/or rules are included even though they will definitely not be needed and/or the workflow.get_result_files function reports the incorrect files.
This also holds for other places in snappy_pipeline.

@ericblanc20 here are some ideas to deal with this:

ensure outputs/params/logs are always obtained via input functions, as these are only evaluated when needed
tool specific rules could go into their own {tool}.smk, and be conditionally included in the main Snakefile
skip substep registration for tools that are not configured and not mentioned in the tools: […] section of the config (but this can also lead to issues)

or any combination thereof.
What do you think?

I stumbled on similar issues too.
To me, input functions are the cleanest solution, especially for params.
I like the conditional inclusion of rules in the main Snakefile, but I wonder if it can cover all situations. For example, suppose that there is a cohort with WES & WGS data (such as the DKTK MASTER), and different tools are used for calling variants (wes: [mutect] & wgs: [scalpel]. Depending on the contents of the samplesheet, you may have only WES in your samplesheet, and scalpel doesn't need to be configured. Is that possible with option 2? The same restrictions might also apply if sub-step registration is done conditionally.
For the first option, I just wonder about get_output_files & get_log_file: except for a limited number of complex steps, these methods return dict of strings with wildcards (such as work/{mapper}.thetool.{library_name}/out/{mapper}.thetool.{library_name}.theext), and making functions for those simple opeartions unnecessarily complicates the code (in my opinion).
In most cases, the methods don't access the configuration, so they should not suffer if the tool isn't configured.
In the case where the configuration is indeed required, starting the method with a statement such as if self.name not in self.config.tools: return {} should be enough.
I don't know what to think. What I propose is not as clean as forcing input function for everything, but in the end, I am not sure that it is detrimental to the readability of the code.


Compilation issues

In ubuntu20.04
Hello, I have downloaded this program and Unitree_ Legged_ Msgs, install dependency sudo apt-get install ros noitic controller interface ros noitic Gazebo ros control ros noitic joint state controller ros noitic effort controllers ros noitic joint trajectory controller and modify the corresponding path to modify Unitree_ Gazebo/worlds/stairs. world file, and then I perform catkin_ During the make compilation process, the following issues were encountered
225 |   ::google::protobuf::internal::InternalMetadataWithArena internal_metadata;
|                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
|                                 InternalMetadata
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:121:23: error: ‘ignition::msgs::WorldModify* ignition::msgs::WorldModify::New() const’ marked ‘final’, but is not virtual
121 |   inline WorldModify* New() const final {
|                       ^~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:136:8: error: ‘bool ignition::msgs::WorldModify::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’ marked ‘final’, but is not virtual
136 |   bool MergePartialFromCodedStream(
|        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:138:8: error: ‘void ignition::msgs::WorldModify::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const’ marked ‘final’, but is not virtual
138 |   void SerializeWithCachedSizes(
|        ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:140:30: error: ‘google::protobuf::uint8* ignition::msgs::WorldModify::InternalSerializeWithCachedSizesToArray(bool, google::protobuf::uint8*) const’ marked ‘final’, but is not virtual
140 |   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
|                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::clear_world_name()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:296:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘ClearToEmptyNoArena’; did you mean ‘ClearToEmpty’?
296 |   world_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|               ^~~~~~~~~~~~~~~~~~~
|               ClearToEmpty
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘const string& ignition::msgs::WorldModify::world_name() const’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:300:22: error: ‘const struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘GetNoArena’
300 |   return world_name_.GetNoArena();
|                      ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_world_name(const string&)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:304:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
304 |   world_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_world_name(std::string&&)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:310:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
310 |   world_name_.SetNoArena(
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_world_name(const char*)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:318:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
318 |   world_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_world_name(const char*, size_t)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:323:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
323 |   world_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘std::string* ignition::msgs::WorldModify::mutable_world_name()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:330:22: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘MutableNoArena’
330 |   return world_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|                      ^~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘std::string* ignition::msgs::WorldModify::release_world_name()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:335:22: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘ReleaseNoArena’
335 |   return world_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|                      ^~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_allocated_world_name(std::string*)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:343:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetAllocatedNoArena’; did you mean ‘SetAllocated’?
343 |   world_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), world_name);
|               ^~~~~~~~~~~~~~~~~~~
|               SetAllocated
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::clear_cloned_uri()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:391:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘ClearToEmptyNoArena’; did you mean ‘ClearToEmpty’?
391 |   cloned_uri_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|               ^~~~~~~~~~~~~~~~~~~
|               ClearToEmpty
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘const string& ignition::msgs::WorldModify::cloned_uri() const’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:395:22: error: ‘const struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘GetNoArena’
395 |   return cloned_uri_.GetNoArena();
|                      ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_cloned_uri(const string&)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:399:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
399 |   cloned_uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_cloned_uri(std::string&&)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:405:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
405 |   cloned_uri_.SetNoArena(
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_cloned_uri(const char*)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:413:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
413 |   cloned_uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_cloned_uri(const char*, size_t)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:418:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetNoArena’
418 |   cloned_uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
|               ^~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘std::string* ignition::msgs::WorldModify::mutable_cloned_uri()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:425:22: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘MutableNoArena’
425 |   return cloned_uri_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|                      ^~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘std::string* ignition::msgs::WorldModify::release_cloned_uri()’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:430:22: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘ReleaseNoArena’
430 |   return cloned_uri_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|                      ^~~~~~~~~~~~~~
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h: In member function ‘void ignition::msgs::WorldModify::set_allocated_cloned_uri(std::string*)’:
/usr/include/ignition/msgs5/ignition/msgs/world_modify.pb.h:438:15: error: ‘struct google::protobuf::internal::ArenaStringPtr’ has no member named ‘SetAllocatedNoArena’; did you mean ‘SetAllocated’?
438 |   cloned_uri_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cloned_uri);
|               ^~~~~~~~~~~~~~~~~~~
|               SetAllocated
make[2]: *** [unitree_ros/unitree_gazebo/CMakeFiles/unitreeDrawForcePlugin.dir/build.make:76：unitree_ros/unitree_gazebo/CMakeFiles/unitreeDrawForcePlugin.dir/plugin/draw_force_plugin.cc.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:3419：unitree_ros/unitree_gazebo/CMakeFiles/unitreeDrawForcePlugin.dir/all] 错误 2
make: *** [Makefile:146：all] 错误 2
Invoking "make -j20 -l20" failed
I suspect it's an issue with my protobuf version. Can you provide some assistance

Hello, I have the same problem as you, can I ask you how to solve it?


RYA-149 Updating pom to make the release easier

looks good.  I won't be able to merge this today, but I don't see why you couldn't merge it since this change was already discussed on the dev list.

LGTM, I can merge this in too if necessary (if you don't have the karma)


ItemLookup with SKU

Hi!
Is it possible to do itemLookup by SKU with your package?
Like it is described here: http://docs.aws.amazon.com/AWSECommerceService/latest/DG/ItemLookup.html.
"Type of item identifier used to look up an item. All IdTypes except ASINx require a SearchIndex to be specified.
Type: String
Default: ASIN
Valid Values: SKU | UPC | EAN | ISBN (US only, when search index is Books). UPC is not valid in the CA locale."
Thank you!

Please try the new version.
1.0.9
https://www.nuget.org/packages/Nager.AmazonProductAdvertising/


Vim split bar is broken in ConEmu

Hello. When I run vim with this minimal config in cmd, powershell or gvim, everything is ok (except windows shells don't support Nerd fonts), but in ConEmu (no matter cmd or ps inside) vertical split bar is broken with unexpected indent against rows with glyphs.

Seems to be a ConEmu issue. Closing.


Any plan to release it on pypi?

I am interested in using PredPatt on my project. Do you plan to release this library on PyPI?
It would be very helpful if you do that because it simplifies the installation workflow.

There's a long-term plan for this but no exact ETA, sorry. The original main contributors have moved on to other things but we are eventually aiming to move it into the decomp org and continue maintaining it there, with a more standard release as one of the main things on the list.
For simplified installation, it should still be possible to install it directly from this repository using a one-line pip command. For an example of this you can see how we did it in the requirements.txt file for the decomp library.


Dataloader error in training

I'm following the examples as close as possible, even using dumpsters in the preparation example script (stable_txt2img.py). But when I'm running the main.py I'm getting an error message:
File "main.py", line 832, in <module>
    trainer.fit(model, data)
...
pytorch_lightning.utilities.exceptions.MisconfigurationException: Total length of `Dataloader` across ranks is zero. Please make sure that it returns at least 1 batch.

I assume that the --reg_data_root should be pointing to the files generated from the stable_txt2img.py files and the --data_root is the output dir? I set --class_word dumpster. Not sure what I'm missing.
Thanks!

I assume that data_root is not the output_dir, it's like the training set of other models. You can download some images online and put it in the data_root. I hope it will help you.


krb5 should support the kernel keyring

In an ideal world, this would be as simple as adding the following
    ++ optionals (stdenv.hostPlatform.isLinux) [ keyutils ]

to the buildInputs. Unfortunately, krb5 seems to be a dependency of curl which causes an infinite recursion bug during the Linux stdenv bootstrapping. I'm pretty familiar with bootstrapping on Darwin, but am less confident around the Linux one. Anyone have any hints for how to disable keyutils support during the bootstrap with minimal mess?

If you set fetchurl = fetchurlBoot for keyutils I think it will break this cycle.

Oh cool, thanks! I wonder if I should do that on this side though? Something like this:
    ++ optionals (stdenv.hostPlatform.isLinux) [ (keyutils.override { fetchurl = fetchurlBoot; }) ]

I'd imagine it has something to do with kerberos being an optional dependency of curl, and curl being involved in the bootstrap, but I haven't unraveled it enough to be more precise than that.

I ended up doing what you suggested on keyutils, @matthewbauer


pumba docker and netem commands fail with zero matching containers

Docker kill, pause, remove and stop commands and netem commands corrupt, delay, duplicate, loss, loss_state, loss_ge and rate now raise errors when they find no containers to harass. Consequently, the pumba command will exit 1. This makes it easier to handle error/unexpected cases Pumba programmatically. I think it is quite rare that Pumba is executed "speculatively" in a way that it would be an acceptable outcome that zero containers are targeted.
Fixes #145.

@bittrance thank you for PR! I will review it and merge soon.

@bittrance hello, sorry for PR review delay.
After a review, I've decided to reject this PR.
Not reporting an error when no target container found is a design decision.
Currently, pumba supports running chaos command on a recurrent interval, and not finding a target container is not considered an error, probably it will be found during the next run. So pumba reports this as a warning.


Really slow after last update

Type: Bug
This has been just updated but everything is toooooooooo slow now. Not able to use right now!
VS Code version: Code 1.73.0 (8fa188b2b301d36553cbc9ce1b0a146ccb93351f, 2022-11-01T15:38:50.881Z)
OS version: Darwin x64 21.6.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 x 2200)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
6, 7, 6

Memory (System)
32.00GB (0.02GB free)

Process Argv
--crash-reporter-id 294faef8-4a6a-4bc0-931f-7d0000ca47bc

Screen Reader
no

VM
0%

Extensions (56)

Extension
Author (truncated)
Version

simple-react-snippets
bur
1.2.7

doxdocgen
csc
1.4.0

vscode-markdownlint
Dav
0.48.1

vscode-eslint
dba
2.2.6

githistory
don
0.6.19

EditorConfig
Edi
0.16.4

vsc-material-theme-icons
equ
2.4.0

terraform-autocomplete
erd
0.0.8

prettier-vscode
esb
9.9.0

go
gol
0.35.2

cloudcode
goo
1.20.3

vscode-graphql
Gra
0.8.1

vscode-graphql-execution
Gra
0.1.5

vscode-graphql-syntax
Gra
1.0.4

terraform
has
2.24.3

better-cpp-syntax
jef
1.16.3

cmake-language-support-vscode
jos
0.0.7

file-downloader
min
1.0.12

mindaro
min
1.0.120221031

vscode-docker
ms-
1.22.2

vscode-dotnet-runtime
ms-
1.6.0

vscode-kubernetes-tools
ms-
1.3.10

playwright
ms-
0.2.13

isort
ms-
2022.4.0

python
ms-
2022.18.1

vscode-pylance
ms-
2022.11.10

jupyter
ms-
2022.9.1202862440

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.12

vscode-jupyter-cell-tags
ms-
0.1.6

vscode-jupyter-slideshow
ms-
0.1.5

remote-containers
ms-
0.262.3

remote-ssh
ms-
0.90.1

remote-wsl
ms-
0.72.0

cmake-tools
ms-
1.12.27

cpptools
ms-
1.12.4

cpptools-extension-pack
ms-
1.3.0

vscode-typescript-next
ms-
5.0.20221102

vscode-typescript-tslint-plugin
ms-
1.3.4

vscode-ginkgo
ons
0.0.1

java
red
1.12.0

vscode-commons
red
0.0.6

vscode-yaml
red
1.10.1

markdown-preview-enhanced
shd
0.6.5

vscode-stylelint
sty
1.2.3

cmake
twx
0.0.17

intellicode-api-usage-examples
Vis
0.2.6

vscodeintellicode
Vis
1.2.29

vscode-java-debug
vsc
0.46.0

vscode-java-dependency
vsc
0.21.1

vscode-java-pack
vsc
0.25.6

vscode-java-test
vsc
0.37.1

vscode-maven
vsc
0.39.2

vscode-icons
vsc
12.0.1

vscode-todo-highlight
way
1.0.5

vscode-proto3
zxh
0.5.5

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848:30577860
nodejswelcome1cf:30587006
fc301958:30595537
282f8724:30602487
gswce1:30602634
iaj6b796:30602301

Please give some more details about exactly what you are doing

Not many details here, but I noticed this as well. 1.73.0 introduced really high latency when working with TypeScript, across the board. Input latency, speed of autocomplete, refactoring and navigation operations, etc. Downgrading to 1.72.2 restored the previous performance profile for me.

I also experienced problems when saving TS files w/ 1.73.0. The editor would go into a what seemed like infinite loop of eslint import / indentation tweaks and saving files would either take several seconds or never finish. Tried to disable various extensions with no luck. Downgrading to 1.72 fixed the issue.
I spent an hour trying to find any log or debug messages relating to the issue and tweaking settings and extensions, found nothing and didn't figure out anything but the downgrading that helped.

Closing as we need more info about the issue from the original poster


Build for windows

Attempt to fix #1.
@conda-forge-admin, please rerender

@dougalsutherland
This is green - could you please merge it? :)

@conda-forge-admin, please rerender

@conda-forge/core, I pinged the maintainer twice over more than a week on an all-green PR with no response. Have now added myself to maintainers, which is what @scopatz usually asked me to do for merging similar PRs for other repos.
Please merge if you're happy with that. :)

I am pretty sure @dougalsutherland won't mind

Thanks @h-vetinari!


Adding recognition of Walloon (wa) language

Hello,
I'm working on adding Walloon language to LanguageTool, which itself requires proper language detection from language-detector.
I don't see any clear instructions on how to generate a profile; so, as suggested, I'll attach some text files:  http://chanae.walon.org/walon/wa.zip
It's a small zip file with some random pages from Wikipedia and rifondou.walon.org (for that last one, I only took texts more than 70 years old); it's about 2MB of text.
The zip include plain text dumps, as well as the html pages (which most often include, lang=... tags, in case it may be useful for you)
Another thing to know about Walloon, is that there are actually two ways of writting it.
A "unified orthography", called "rifondou" (which is the one used in those texts).
And a traditional "feller" one; which does a lot of emphasis on local accent and phonetic, with the consequence that is actually not one orthography, but a group of orthographies (at a very least there are four main groups: western, central, easter and south).
What would be the best thing to do:

only focus on "rifondou"
dump together all ways of writing the language
create several profiles (wa@rif, wa@ch, wa@na, wa@lg, wa@ba) ?

Thanks
wa.zip

Ok, I managed to create it thanks to the help from rmtheis.
I did a pull request ( #50 )  with it.

Thank you! Walloon is in now.
Can you tell us which way you went? Is the language profile only rifondou, or more?

Thanks,
The pull request I did is only for normalized orthography ("rifondou").
Currently all the walloon language tools (like spell checker, the start of work in grammar tool LT), are in normalized orthography.
However, maybe having a tool to easily and automatically tell in which variant/dialect a text is written could be handy.
I'll a have a meeting this month and bring the topic to see what other people think about it.

RE creating language profiles, instructions are at https://github.com/optimaize/language-detector/wiki/Creating-Language-Profiles


pip installation

Hi,
I'm trying to install a barebone version of gemini, so I can leverage the python API in a webapp (atm I just need the queryfunctionality`.
Would it be possible to update the requirements and setup file to enable a pip install using the github URL? Or even better, would it be possible to update the version on PyPi, so it supports Py3.X
Thanks
M

I know the recommended way is to use conda, but a conda install results in waaaaaaaaaay too many dependency downloads and a huge env as result.


chore: refactor TwitchIrcServer

This PR aims to remove all direct uses of getApp()->twitch, ensuring we can add tests for anything adjacent to TwitchIrcServer
The class and its inheritance is ugly, so this refactor PR is also pretty ugly. To achieve the goal of this PR without making too many changes, I've added getTwitchAbstract() alongside getTwitch() which returns the IAbstractIrcServer of the TwitchIrcServer.

Small testing shows everything works as expected - I've done a full self-review, ensuring I haven't c-v-pasted anything incorrectly.


Fix inconsistently cased pipeline sha

Added in https://github.com/xanzy/go-gitlab/pull/493 the capitalization of SHA is inconsistent with the rest of the Pipelines methods.
There is also inconsistency in other files Sha appears to be used more frequently. I can open a more comprehensive merge request to update this elsewhere if desired. Both this and a sweeping change would be a breaking change.

Hi @jamesramsay, according to the Go review guidelines it should be SHA. So if we want to make this consistent (which I like!), we should update any occurences of Sha to SHA.


Feature Request: closable droplet window

A nice feature for a Droplet-Interface-App would be to make the droplet window closable. In the "Edit Drop Settings" there should appear a new tickable menu item: "Enable closing the droplet window quits your application". A droplet application with this setting would have the red closing button in the droplet window enabled. Pressing that red button would quit the application, like "⌘Q".
Up to now the red closing button is always disabled.

What you are asking for is non-standard Mac OS X app behaviour. OS X apps generally don't quit when their windows are closed.

... except System Preferences, Disk Utility, Contacts, Activity Monitor, Calculator, AirPort Utility, Digital Color Meter, Network Utility, ODBC Manager, Screen Sharing, System Information, Reminders, Notes and some others. For smaller Utilities it seems quite common and I think this is what Platypus is just made for.

Fair enough. I decided against making minor behaviour like this yet another option so now all droplet apps quit when window is closed. Now in latest master.


Auto-configure inflections with Syntax Tree

This was a really cool idea/implementation by @paracycle to automate the autoload config using a custom inflector, powered by Syntax Tree. https://github.com/paracycle/zeitwerk/compare/main...paracycle:zeitwerk:uk-add-syntax-tree-inflector.
Compare with #19... wow. It just works.

Opened this PR on the wrong repo. Please disregard 😅


How to properly integrate with amazon-connect-chatjs?

According to the documentation, in order to use the chat functionality, you'll need to include amazon-connect-chatjs. So far, here's how my code looks:
import "amazon-connect-streams";
import "amazon-connect-chatjs";

connect.contact(contact => {
  if (contact.getType() !== connect.ContactType.CHAT) {
    return;
  }

  contact.onAccepted(async () => {
    const cnn = contact
      .getConnections()
      .find(c => c.getType() === connect.ConnectionType.AGENT);

    if (!cnn) {
      return;
    }

    const { controller } = await cnn.getMediaController();

    // I had to examine the internals of `ChatSession` to figure this out
    // See: https://github.com/amazon-connect/amazon-connect-chatjs/blob/1.0.6/src/core/chatSession.js#L67-L69
    //
    // This works, but I would love to use the publicly documented `.onMessage()` API
    // See: https://github.com/amazon-connect/amazon-connect-chatjs/blob/1.0.6/README.md#connectchatsessioncreate
    controller.subscribe("INCOMING_MESSAGE", data => {
      // do something with `data`
    });
  });
});

This works just fine, however controller is an instance of ChatController instead of an instance of ChatSession. There are two problems with this:

The documentation of amazon-connect-streams is misleading by indicating chatConnection.getMediaController() obtains a ChatSession object.
ChatController is an internal class and implementation detail of amazon-connect-chatjs. The only publicly exposed and documented API is ChatSession.

It seems it's trivial to obtain a ChatSession from a ChatController instance. You just pass it to the constructor as an argument. Unfortunately, this constructor is not publicly exposed. You can only create instance of ChatSession by using the ChatSession.create() method.

Given this information, what's the appropriate way to integrate with amazon-connect-chatjs?

After discussing offline with @marcogrcr, looks like the use of getMediaController was confusing in our internal implementation, as we assign the return object of ChatSession.create() to a variable named controller. HOWEVER, this variable represents a ChatSession object, not a ChatController object. This is definitely misleading, apologies. In summary, getMediaController DOES return a ChatSession. Your usage is correct, if you replace const { controller } = await cnn.getMediaController(); with const session = await cnn.getMediaController();.


ExperimentLauncher

ExperimentLauncher was made to simplify the process of experimnets setup. The results of experimnets produced with this launcher are saved in format that required for ExperimentAnalyzer.

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

In the file examples/experiment_launcher/experiment_launcher.py:

Line 4:1: F401 'experiments.experiment_launcher.ExperimentLauncher' imported but unused

In the file experiments/experiment_launcher.py:

Line 6:1: F401 'pathlib.Path' imported but unused
Line 50:13: F841 local variable 'file_name' is assigned to but never used

Codecov Report

Merging #213 (45b339d) into main (3e29ad5) will increase coverage by 0.03%.
Report is 1 commits behind head on main.
The diff coverage is n/a.

:exclamation: Current head 45b339d differs from pull request most recent head 882c86e. Consider uploading reports for the commit 882c86e to get more accurate results

@@            Coverage Diff             @@
##             main     #213      +/-   ##
==========================================
+ Coverage   73.72%   73.76%   +0.03%
==========================================
  Files         131      131
  Lines        7828     7828
==========================================
+ Hits         5771     5774       +3
+ Misses       2057     2054       -3

see 5 files with indirect coverage changes

@YamLyubov посмотри пж на предмет того, универсально ли это дело, и будет ли тебе удобно запускаться так с молекулами, например


more manual triage

Signed-off-by: Weston Steimel<EMAIL_ADDRESS>

@oliverchang , any ideas why PYSEC-2019-217 is failing to parse: https://github.com/pypa/advisory-db/runs/4224234712?check_suite_focus=true#step:4:71

Ah, so it seems the analysis tool doesn't think ARTICLE is a valid type for OSV reference link:
google.protobuf.json_format.ParseError: Failed to parse type field: Invalid enum value ARTICLE for enum type osv.Reference.Type.

I created https://github.com/google/osv/issues/260 to address this


feat: input validation & sanitization [EP-3004]

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


Generating a plot world, no terrain

[x] This issue isn't duplicated - you can check if it is by using the search bar located at the top left hand corner and select "Issues" on the left.
[x] This issue includes appropriate markdown for sections - e.g. code blocks for crash dumps.
[x] This issue is understandable - feel free to use your native language to write issues if you are not comfortable with English.

Issue description

Reproducing the issue

generate plot world
join server
There will be no terrain and you will fall into the void

Client information
PocketMine-MP Version: PocketMine-MP 1.6.2dev-#60 「Unleashed」 implementing API version 3.0.0-ALPHA1 for Minecraft: PE v<IP_ADDRESS> (protocol version 100)
Plugin Version: the latest on GitHub
PHP version: 7.0.13 (default)

Optional information

Does this happen on 0.16.2 also?

We have not tested on 0.16

This plugin is not currently available for the 1.0.0 pocketmine-MP beta. We will be updating very soon once dktapps completes how levels are being saved

sorry we thought it was ready to use with v1.0.0 since they set the api: [1.13.1, 2.0.0, 3.0.0-ALPHA1]

sorry we thought it was ready to use with v1.0.0 since you set the api: [1.13.1, 2.0.0, 3.0.0-ALPHA1]

I'm glad others are experiencing this! I've had such a tough time with 1.0 so far lol. I'm glad I found this fork and that someone will be updating plots eventually. Thanks for all the hard work :)

Has the API3 branch been tested yet?

Not yet.. do you want me to test it?

@Aericio please do

probable fix for generation 2b3069c


no LICENSE file?

Repo is missing a LICENSE file. We are evaluating using this library as part of a paid commercial training. We would like to understand the licensing terms

Closed by: #116


GH-2497: Add a function to retrieve the userId according to the configuration.

closes GH-2497

Won't fix, the solution evolved.  See GH-1092.


Referenced package conflict with window component

Version 2.5.6 works like a charm with my VS 2019
But when i switch to 2.6, there are many errors in my project. Windows components are no longer recognized. There is a conflict with the namespace from MathNet.Numerics. That is a package installed by Nuget with NPOI.
How can i fixed those conflicts please ?
I am using c# with XAML

conflict with MathNet.Nuermics? What's the conflict about?


"gosop verify" emits the wrong fingerprint when a subkey signature is created

My OpenPGP certificate C29F8A0C01F35E34D816AA5CE092EB3A5CA10DBA has a signing-capable subkey 2DB5491C9DF0DC8F432863CF3E9D717371DE565C.  When validating a signature from the subkey, gosop verify should produce a verification line like:
2023-11-06T00:18:31Z 2DB5491C9DF0DC8F432863CF3E9D717371DE565C C29F8A0C01F35E34D816AA5CE092EB3A5CA10DBA

instead, it produces:
2023-11-06T00:18:31Z C29F8A0C01F35E34D816AA5CE092EB3A5CA10DBA C29F8A0C01F35E34D816AA5CE092EB3A5CA10DBA

this is with:
$ gosop version --extended
gosop 0.1.0
GopenPGP 2.7.3
Compiled using go1.21.3
$

Yeah. This is a known issue, as the fingerprint is simply taken from the verification key. There's a TODO about it, here: https://github.com/ProtonMail/gosop/blob/30dd70b0383eb3d1c510ac6d2cfd6361ddb26f27/cmd/verify.go#L62-L63
Even worse, if you pass multiple verification keys, it simply prints the fingerprint of the first one, rather than the one that signed the message.
GopenPGP doesn't really return the information we need for this; though we could use go-crypto to get it instead, of course. Thanks for the report!

The new gosop  based on GopenPGP v3 addresses this issue.


Export Rules to JSON does not work

Clicking on Export Rules to JSON causes an error message on Web client GUI and in the CLI terminal.
To Reproduce

Start the Web client GUI:
...\ASA_win_2.3.290> .\asa gui

In the Web client, navigate to Author page:
http://localhost:5000/author

Click on the button Load Embedded Rules
--> Embedded rules have been loaded successfully.

Click on the button Export Rules to JSON
-->
A) The message
An error has occurred. This application may no longer respond until reloaded. _Reload_
appears in the Web client GUI,
B) and this message appears in the CLI terminal:

fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'p4BsKfPK25Bu9LGOEuXw8ilCX45HWStSLsQm5VXtCco'.
Microsoft.JSInterop.JSException: Could not find 'FileSaveAs' ('FileSaveAs' was undefined).
Error: Could not find 'FileSaveAs' ('FileSaveAs' was undefined).
at http://localhost:5000/_framework/blazor.server.js:1:497
at Array.forEach ()
at i.findFunction (http://localhost:5000/_framework/blazor.server.js:1:465)
at E (http://localhost:5000/_framework/blazor.server.js:1:2606)
at http://localhost:5000/_framework/blazor.server.js:1:3494
at new Promise ()
at kt.beginInvokeJSFromDotNet (http://localhost:5000/_framework/blazor.server.js:1:3475)
at http://localhost:5000/_framework/blazor.server.js:1:72077
at Array.forEach ()
at kt._invokeClientMethod (http://localhost:5000/_framework/blazor.server.js:1:72063)
at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
at Microsoft.CST.AttackSurfaceAnalyzer.Cli.Pages.Author.DownloadRules() in D:\a\1\s\Cli\Pages\Author.razor:line 84
at System.Threading.Tasks.Task.<>c.b__128_0(Object state)
at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteSynchronously(TaskCompletionSource`1 completion, SendOrPostCallback d, Object state)
at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.<>c.<.cctor>b__23_0(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteBackground(WorkItem item)

Note: If you click on the Reload, the same issue is coming.
Expected behavior
A working feature of exporting rules to a JSON file (with a possibility of specifying the output file name and location).
System Configuration:

OS: Windows
OS Version: Windows 10 Pro 21H2
Application Version: ASA_win_2.3.290
CLI or GUI: GUI

Thanks for the report. I have a fix that is working locally in #673 which I expect to merge shortly.

Should be fixed in the latest for the zip releases.

After repeating the steps described above,
at the step "4. Click on the button Export Rules to JSON",
the result is a small file named "Asa-Rules.json" containing only the text "data:text/plain;charset=utf-8,".
Thus, it seems the function FileSaveAs gets the filename only and an empty fileContent, even the Rules were loaded before in step 3.


I have issue with "Wars do not need to be justified to other countries."

Because to me the issue is that I do not think wars can be justified at all. So I cannot agree or disagree with this.

It seems like you'd Strongly Disagree - I'm not sure I see the issue. Even if you think no wars are justified, it's better to justify it than to not, right?

No, the whole concept that you can justify wars is problematic. It is not OK if they are justified (strongly disagree) or if they are not (strongly agree).

I understand the current wording presenting a problem to the pacifist side of the spectrum. Choosing "Strongly Disagree" might be read as "Wars DO need to be justified to other countries.", which sounds as beligerant as the "Strongly Agree" option.
Maybe "Wars are sometimes justifiable" achieves the same effect in the quiz?

Tbh, if I were a pacifist, I would have just selected neutral/unsure for this question.

If the question was "Raping 5 years old children does not need to be justified." you would be neutral on that question?

I'm assuming neutral/unsure results in no effect on my overall score. If that's the case, then things which my opinion does not fit within the agree/disagree binary, I would do that. That would be the case for the 5 year olds question because I don't think it is acceptable, nor do I think it is justifiable. Isn't that precisely where you stand on wars?

Hm, I am not sure if negation of the question means that it is acceptable? To me it is: Does war has to be justified or does it not? And to me the answer is that it is not the question if it has to be justified or not, but that it cannot be justified at all.

But I am assuming that the "Unsure" option is the less desirable one to predict axes values, since it gives zero weight. Basically the algorithm works the best the less "unsure" the person is (which is why I would not mix it with the "Neutral" option, but that is another topic).

For the purposes of the axes values, Strongly Disagree is probably what you should answer here. You can think of it in the sense that wars should absolutely require justification combined with the thought that there will never be sufficient justification in the first place. Unsure sounds like it means that you think there are cases where war is ok without justification and that it just depends entirely on each situation's circumstances alone and I'm pretty sure there's no way for the quiz to distinguish between the two. ;-)
Also note that when something is justified, it does not necessarily mean it is acceptable. It may mean that all other possible alternatives just happen to be worse.

I think the fact that different people are suggesting that pacifists should select different answers is showing how tricky is to answer this question as a pacifistic.

The different suggestions are due to the fact that we are looking at this from the scoring perspective. And scoring these is certainly tricky. The unfortunate nature of quizzes like this, is that your situation will always come up. And as gus-morales said, the less Unsure answers you provide, the better these quizzes work. This is addressed by asking the respondent to answer with the closest answer. It seems that Strongly Disagree is the closest. That said, Unsure is the safer option because it doesn't affect any axis at all, and non-Unsure answers may affect more than just one. Your uncompromising (for lack of a better word atm) view on war makes me think that it is more important to reflect this on the Diplomacy axis than it is to prevent other possible effects related to the question.


Limit the metrics data to max of 6hours

fixed by https://github.com/argoproj-labs/argocd-extension-metrics/pull/42


🐛 Bug: infinite loop in parallel tests with uncaught error containing circular dependency

Bug Report Checklist

[x] I have read and agree to Mocha's Code of Conduct and Contributing Guidelines
[x] I have searched for related issues and issues with the faq label, but none matched my issue.
[x] I have 'smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, my usage of Mocha, or Mocha itself.
[ ] I want to provide a PR to resolve this

Expected
Test should report uncaught error (even with circular dependency) as failure and stop execution.
Actual
Test runs in infinite loop until configured timeout.
Minimal, Reproducible Example
describe("Test", () => {
  it("throw circular dependency error object", async () => {
    const errorA = {};
    const objectB = {toA: errorA};
    errorA.toB = objectB;

    const d = new Error();
    d.error = errorA;
    throw d;
  });
});

Run npx mocha not in parallel mode, output is correct:

  Test
    1) throw circular dependency error object

  0 passing (7ms)
  1 failing

  1) Test
       throw circular dependency error object:

  Error
      at Context.<anonymous> (test\asset-design-service.test.js:7:15)
      at processImmediate (node:internal/timers:483:21)

Run npx mocha --parallel, infinite loop happens (nothing in console)

Versions
mocha: 10.7.3
node: v20.16.0
Additional Info
Issue is introduced in this commit: https://github.com/mochajs/mocha/commit/d7013ddb1099cfafe66a1af9640370998290e62c which changed the passed object to breakCircularDeps
Using v10.7.0, the uncaught error is reported correctly in parallel mode:
  Test
    1) throw circular dependency error object

  0 passing (858ms)
  1 failing

  1) Test
       throw circular dependency error object:

  Error
      at Context.<anonymous> (test\asset-design-service.test.js:7:15)
      at processImmediate (node:internal/timers:483:21)

In my actual project, this pairs array grows infinitely as a result of the circular dependency:

I am seeing the same thing with
Mocha: 10.7.3
Node: 20.11.1
At the end of a parallel test run it hangs.   This does not matter if being run by Instanbul or not.  I do have --require mochawesome/register and have not tried running without it but it appears what was stated in the bug seems to be unrelated to mochawesome.


Support for Biotech Expansion mods

It would be amazing if support was added for Lennoxicon's Biotech Expansion mods, or at the very least, the Insectoid mod.

Oops, did not see that there was a patch for those two already! I'll see if I can figure out implementing Insectoid myself, thank you!

Is there something I have to add or do other than the xml patch?
I've made a new file called "PatchInsectoid.xml", and basically copy-pasted the mammalia patch over to that and changed it so that it should add ovipositor genes to the Insectoid xenotypes. However, when I load the game with that, it hits me with a "Verse.PatchOperationFindMod failed" error in the startup log.


Unable to uninstall docker-registry RPM

I have installed docker-registry 0.9.0 using yum on CentOS 6.x. I am trying to remove it using yum remove -y docker-registry but it fails, here's some output:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Error in PREUN scriptlet in rpm package docker-registry
docker-registry-0.9.0-1.el6.noarch was supposed to be removed but is not!

Hi! thanks for the report.
As we don't maintain the CentOS package ourselves, I'm not sure how we can help here.
Also, the output log is quite terse...
I would be glad to fix whatever is causing this to fail, however I would need a pointer.
If on the other hand the rpm itself is faulty, probably you can report this here? https://bugs.centos.org/


RE3 Soft lock unless you skip and hard locks clock tower

Version
3.0.0 (fafcdd5)
Seed
R730-QTAW-XQHHHHM79Y000N9K89K0ZZZZZZZZZZZZZZZ
Scenario
RE 3 (Jill)
What happened?
games progresses fine until clock tower library room after the train crashes cutscene with Carlos ( Richard ) crashes the game, unless you skip the cutscene. after that game hard locks and crashes after the fight with nemesis the game keeps crashing when it fades to black.

I think the library crash may have been fixed in v3.0.1


destreamer v3.0 (aria2c as download manager): temp folder for download

Hi,
I'd like to propose a command switch that allows to set the temporary folder for the aria2c download manager. Right now, those temp files are stored in the same folder as the output file, which usually is not a problem, unless that path is some cloud destination, such as OneDrive. In that case the client is starting to upload all those smart files into the Cloud, only to delete them again once destreamer has finished.

Thanks for this. Tracked via https://github.com/snobu/destreamer/projects/2#card-59603704


Fast Yahoo seems to be breaking very often :/

Not able to figure this out it keeps breaking, let me know i just made sure all packages were up to date using the pip pur package
I am unable to find a personal fix this time i am supplying the errors I am seeing.
Traceback (most recent call last):
  File "scheduled_tasks/stocks/get_short_volume.py", line 103, in <module>
    main()
  File "scheduled_tasks/stocks/get_short_volume.py", line 99, in main
    get_daily_data_finra()
  File "scheduled_tasks/stocks/get_short_volume.py", line 89, in get_daily_data_finra
    stats_df = fast_yahoo.download_quick_stats(highest_shorted["Symbol"].to_list(), quick_stats)
  File "scheduled_tasks/stocks/../../scheduled_tasks/reddit/stocks/fast_yahoo.py", line 129, in download_quick_stats
    for retrieved_stats_dict in response_list:
TypeError: 'NoneType' object is not iterable

current fast_yahoo code:
import scheduled_tasks.reddit.stocks.shared as shared
import requests
import numbers
import multitasking as multitasking
import time
import math
import pandas as pd

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) '
                         'Chrome/50.0.2661.102 Safari/537.36'}

def download_advanced_stats(symbol_list, module_name_map, threads=True):
    """
    Downloads advanced yahoo stats for many tickers by doing one request per ticker.
    """
    num_requests = len(symbol_list)
    if threads:
        num_threads = min([num_requests, multitasking.cpu_count() * 2])
        multitasking.set_max_threads(num_threads)

    # get raw responses
    for request_idx, symbol in enumerate(symbol_list):
        if threads:
            get_ticker_stats_threaded(symbol, symbol, module_name_map)
        else:
            shared.response_dict[symbol] = get_ticker_stats(symbol, module_name_map)

    if threads:
        while len(shared.response_dict) < num_requests:
            time.sleep(0.01)

    # construct stats table from responses
    stats_table = []
    for symbol, retrieved_modules_dict in shared.response_dict.items():
        stats_list = [symbol]

        for module_name, stat_name_dict in module_name_map.items():
            retrieved_module_dict = None
            if retrieved_modules_dict is not None and module_name in retrieved_modules_dict:
                retrieved_module_dict = retrieved_modules_dict[module_name]

            if retrieved_module_dict is not None:
                for stat_name in stat_name_dict.keys():
                    stat_val = 'N/A'
                    if stat_name in retrieved_module_dict:
                        stat = retrieved_module_dict[stat_name]
                        if isinstance(stat, dict):
                            if stat:  # only if non-empty otherwise N/A
                                if stat_name == "shortPercentOfFloat":
                                    stat_val = stat['fmt']
                                else:
                                    stat_val = stat['raw']
                        elif isinstance(stat, str) or isinstance(stat, numbers.Number):
                            stat_val = stat
                        else:
                            raise TypeError('Expected dictionary, string or number.')
                    stats_list.append(stat_val)
            else:
                stats_list.extend(['N/A'] * len(stat_name_dict))

        stats_table.append(stats_list)

    # reset for future reuse
    shared.response_dict = {}

    columns = ['Symbol']
    for stat_name_dict in module_name_map.values():
        columns.extend(list(stat_name_dict.values()))

    financial_data_df = pd.DataFrame(stats_table, columns=columns)
    financial_data_df.set_index('Symbol', inplace=True)

    return financial_data_df

def download_advanced_stats_multi_thread(symbol_list, params, num_threads=100):
    df = pd.DataFrame()
    current_index = 0
    while current_index < len(symbol_list):
        quick_stats_df = download_advanced_stats(symbol_list[current_index:current_index + num_threads],
                                                 params, threads=True)
        df = pd.concat([df, quick_stats_df])
        current_index += num_threads
    return df

def download_quick_stats(symbol_list, quick_stats_dict, threads=True):
    """
    Downloads select ("quick") stats for many tickers using minimal number of http requests. Splits the ticker list
    into groups of 1000 and performs one request per group. eg if list has 2350 tickers, will split into 2 groups of
    1000 tickers and one group with the remaining 350 tickers, and will get quick stats with only 3 http requests. Only
    returns those tickers that are valid, thus can be used to validate tickers efficiently.
    """
    # through trial and errors, 1179 was the max without returning an errors, but that number feels too arbitrary
    max_params = 1000
    num_requests = math.ceil(len(symbol_list)/max_params)
    last_request_size = len(symbol_list) % max_params
    if last_request_size == 0:
        last_request_size = max_params

    if threads:
        num_threads = min([num_requests, multitasking.cpu_count() * 2])
        multitasking.set_max_threads(num_threads)

    # get raw responses
    for request_idx in range(num_requests):

        if request_idx == num_requests - 1:
            num_symbols = last_request_size
        else:
            num_symbols = max_params

        request_symbol_list = symbol_list[request_idx * max_params:request_idx * max_params + num_symbols]

        if threads:
            quick_stats_request_threaded(request_idx, request_symbol_list, list(quick_stats_dict.keys()))
        else:
            shared.response_dict[request_idx] = quick_stats_request(request_symbol_list, list(quick_stats_dict.keys()))

    if threads:
        while len(shared.response_dict) < num_requests:
            time.sleep(0.01)

    # construct stats table from responses
    stats_table = []
    for response_list in shared.response_dict.values():
        # each iteration is one symbol; (eg SIGL, AAPL)
        for retrieved_stats_dict in response_list:
            symbol = retrieved_stats_dict['symbol']
            stats_list = [symbol]
            if retrieved_stats_dict is not None:
                for quick_stat_name in quick_stats_dict.keys():
                    stat_val = 'N/A'
                    if quick_stat_name in retrieved_stats_dict:
                        stat = retrieved_stats_dict[quick_stat_name]
                        if isinstance(stat, dict):
                            if stat:  # only if non-empty otherwise N/A
                                if quick_stat_name == "floatShares":
                                    stat_val = stat['fmt']
                                else:
                                    stat_val = stat['raw']
                        elif isinstance(stat, str) or isinstance(stat, numbers.Number):
                            stat_val = stat
                        else:
                            raise TypeError('Expected dictionary, string or number.')
                    stats_list.append(stat_val)
            else:
                stats_list.extend(['N/A'] * len(quick_stats_dict.keys()))

            stats_table.append(stats_list)

    # reset for future reuse
    shared.response_dict = {}

    # construct dataframe
    columns = ['Symbol'] + list(quick_stats_dict.values())
    stats_df = pd.DataFrame(stats_table, columns=columns)
    stats_df.set_index('Symbol', inplace=True)

    return stats_df

@multitasking.task
def get_ticker_stats_threaded(request_idx, symbol, module_name_map):
    shared.response_dict[request_idx] = get_ticker_stats(symbol, module_name_map)

def get_ticker_stats(symbol, module_name_map):
    """
    Returns advanced stats for one ticker
    """

    url = 'https://query2.finance.yahoo.com/v10/finance/quoteSummary/' + symbol
    module_list = list(module_name_map.keys())
    params = {
        'modules': ','.join(module_list),
    }
    result = requests.get(url, params=params, headers=headers)
    if result.status_code != 200 and result.status_code != 404:
        result.raise_for_status()

    json_dict = result.json()
    if not "quoteSummary" in json_dict:
        return None
    if json_dict['quoteSummary']['result'] is None:
        return None
    module_dict = json_dict['quoteSummary']['result'][0]

    return module_dict

@multitasking.task
def quick_stats_request_threaded(request_idx, request_symbol_list, field_list):
    shared.response_dict[request_idx] = quick_stats_request(request_symbol_list, field_list)

def quick_stats_request(request_symbol_list, field_list):
    """
    Returns quick stats for up to 1000 tickers in one request. Only returns those tickers that are valid, thus can be
    used to validate tickers efficiently.
    """
    params = {
        'formatted': 'True',
        'symbols': ','.join(request_symbol_list),
        'fields': ','.join(field_list),
    }
    result = requests.get("https://query1.finance.yahoo.com/v6/finance/quote", params=params, headers=headers)
    if result.status_code != 200 and result.status_code != 404:
        result.raise_for_status()

    json_dict = result.json()
    if not "quoteResponse" in json_dict:
        return None
    data_list = json_dict['quoteResponse']['result']
    return data_list

sorry for all the issues just need some direction here i was able to fix prior

I am going to make the switch to current version and do a full update and transfer over my custom params

I totally agree with you.. fast_yahoo is very unstable nowadays. I have just swapped data vendor to FMP instead. Please pull the latest commit and try again. You would need to sign up for a free FMP API at https://site.financialmodelingprep.com/

I believe this issue is now solved. Will be closing it now.


New option nbf tolerance allows to add time to current time.

…lows to add time to the current time of the server to tolerate difference in clocks between the IdP and the SP.

Looks good, can you add some verbiage to the README? Once that is done i'll accept and put together a release. Thanks!

Ok, I've added an usage example to the README. Suggestions are welcome.


Fix display direction of context sub-menu

This PR includes #3744 - adding a fix for the positioning of the menu caret icon for dropdown menus that pull left.

Coverage remained the same at 68.311% when pulling 241b47fe1991c49e8a3cc3b858df6b0f2541222f on pr_3744 into e308e02f9dbd519b1d79b02145c9a3e1c17c18d5 on master.

Hi Nick, do you want me to test this out and submit a review or are you happy to go with it?

If you can take a quick look, please do. I've manually checked all the different menus in the main editor to check no unexpected side-effects.


[Bug]: Response object not support field links

Describe the bug
Response object not support field links
TSP
import "@typespec/http";

using TypeSpec.Http;

@service({
  title: "Operation Docs"
})
#suppress "@typespec/http/no-routes"
namespace OperationDocs;
model user {
  username?: string;
  uuid?: string;
}

@route("/2.0/users/")
@get op getUserByName(@path username: string): user;

Actual Specification
https://typespec.io/docs/getting-started/typespec-for-openapi-dev#response-object

openapi: 3.0.0
info:
  title: Operation Docs
  version: 0.0.0
tags: []
paths:
  /2.0/users/{username}:
    get:
      operationId: getUserByName
      parameters:
        - name: username
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
components:
  schemas:
    user:
      type: object
      properties:
        username:
          type: string
        uuid:
          type: string

Expected Specification
https://spec.openapis.org/oas/v3.0.0#response-object

openapi: 3.0.0
info:
  title: Link Example
  version: 0.0.0
paths:
  /2.0/users/{username}:
    get:
      operationId: getUserByName
      parameters:
      - name: username
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
          links:
            userRepositories:
              $ref: '#/components/links/UserRepositories'
components:
  links:
    UserRepositories:
      # returns array of '#/components/schemas/repository'
      operationId: getRepositoriesByOwner
      parameters:
        username: $response.body#/username
  schemas:
    user:
      type: object
      properties:
        username:
          type: string
        uuid:
          type: string

Reproduction

git clone https://github.com/skywing918/typespec-workaround.git
tsp compile response.tsp
Open /tsp-output/@typespec/openapi3 to get the result

Checklist

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

Dup of https://github.com/microsoft/typespec/issues/713
@skywing918 please look for duplicate issues before filing new ones as the checklist ask you to

@skywing918 suggest add the description here to the dulplicate issue and add the link of dulplicate issue to the epic issue.


[EventRequest] Page 344 "Navigate" - OnBeforeNoOfRecords

Hi, please add this event in Page 344 "Navigate" into protected procedure NoOfRecords:
protected procedure NoOfRecords(TableID: Integer): Integer
    begin
        Rec.SetRange("Table ID", TableID);
        OnBeforeNoOfRecords(Rec, TableID)
        if not Rec.FindFirst() then
            Rec.Init();
        Rec.SetRange("Table ID");
        exit(Rec."No. of Records");
    end;

Requested event:
[IntegrationEvent(false, false)]
local procedure OnBeforeNoOfRecords(var Rec: Record; var TableID: Integer)
begin
end;

Thanks in advance, best regards.

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. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 42366.


Hopefully the CarPlay issue gets some future attention.

Hopefully the CarPlay issue gets some future attention. It seems fully broken (wired and wireless) on taurine above 14.5 or so.

Unlikely to be addressed. Requirements for testing CarPlay with Taurine:

A CarPlay Receiver (don't have this)
An iPhone on 14.5 - 14.8 (I only have an iPod touch 7 here)

Will likely close this issue soon as I don't have the necessary hardware, and have no intention of acquiring it.

It would be perfect if the CarPlay bug could be fixed!


can't ignite new app on windows11

Describe the bug
I ran the create new app command as suggested on my terminal, but after the installation of the cli, there are no follow up prompt. The whole procedure is suddenly stopped with no extra warnings or anything.
Ignite version
8.3.0
Additional info
somthing wrong with my network, can't upload the image. It goes like this:
C:\Users\Raytine>npx ignite-cli@latest new PizzaApp
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y

C:\Users\Raytine>

@MirGhojam Hey! Sorry you're having trouble. A couple of questions:

Add the --debug flag for verbose logging, maybe at least something will show up in the terminal
Does npx normally work for you on this machine or is this a new machine? If unsure, could you try npx with another package?
Maybe it's a privileges issue? Try running the shell (VSCode or PowerShell) as admin?
Check Windows EventViewer for any logs that might show up near the timestamp you are running the commands if things are failing silently.

@MirGhojam Hey, just following up - are you still having issues?

@MirGhojam so adding --debug to the install command displays no output?
You searched EventViewer and there are no errors?


feat(TDI-40828): upgrade cxf version to newest one

What is the current behavior? (You can also link to an open issue here)
CXF version 3.2.4
What is the new behavior?
Newest CXF version 3.2.6
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...


docs: update quickstart to use latest release

Resolves: https://github.com/envoyproxy/gateway/issues/594
Signed-off-by: bitliu<EMAIL_ADDRESS>

Codecov Report

Merging #595 (d28a5eb) into main (5f118ec) will increase coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #595      +/-   ##
==========================================
+ Coverage   60.37%   60.42%   +0.04%
==========================================
  Files          46       46
  Lines        5593     5657      +64
==========================================
+ Hits         3377     3418      +41
- Misses       2006     2023      +17
- Partials      210      216       +6

Impacted Files
Coverage Δ

internal/xds/translator/listener.go
81.42% <0.00%> (-4.40%)
:arrow_down:

internal/provider/kubernetes/gatewayclass.go
73.91% <0.00%> (-1.45%)
:arrow_down:

internal/xds/translator/translator.go
72.13% <0.00%> (+0.08%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Now edit in HomeController.cs:
[Route("/")] // Add this line
public IActionResult Index()
{
  return View();
}

dotnet run

Navigating to "/counter" in the address bar no longer works (HTTP 404).

Your [Route("/")] annotation is preventing that action from handling requests for any other URL, even if the SPA fallback route points to it. So this behaviour is as expected.
I'm assuming there's some reason why you want to put [Route("/")] on that action, but to provide useful guidance, could you let us know why it's necessary to do that? Perhaps then we can suggest an alternative.
In the meantime I'll mark this closed since it is as designed.


Newly added Hotspots have their challenges/sum endpoint returning 2

info in discord: https://discord.com/channels/404106811252408320/733699201887764511/859542385431937034

If the bucket is changed to day, it shows that the Hotspot initiated 2 challenges on 6/28 20:44 UTC which is 6/28 1:44 PM PST. Hotspot was actually onboarded 6/29.

To find a hotspot that does this: go to https://explorer-beta.helium.com/hotspots, look at the Latest Hotspot section in the infobox, click on it, and scroll to 7D avg beacons.


clarify that entities configs are not needed if users only use entity_uri

Hey @pbalm thanks for your review. I actually didn't realize that we haven't included the dataplex related information there!
I added the relevant columns. PTAL.


feat: add unlink command

This commit adds the unlink command, which removes all symlinks defined in bombadil.toml. It also adds a corresponding section to the README.
Also a link to another example dotfiles repository is added to the README.
Fixes #17

@DSpeckhals  I forgot to mention, you can add your github handle to the author list in cog.toml :
authors = [
    { signature = "Paul Delafosse", username = "oknozor" },
    { signature = "Dustin Speckhals" = "DSpeckhals" },
]

This will be used to generate a link to your github profile in the next changelog.

Well done @DSpeckhals :champagne: !


WIP Build wrapper using the same constructor interface

A lot of things to do but this is the API I'm aiming for
type = Dry::Types['coercible.integer'].constructor { |input, t|
  t.(input + '0') + 10
}.constrained(gt: 300)

👆 it already works in this branch

@flash-gordon what problems will this solve?

@solnic this and that and possibly a bunch of others not yet reported :)

@flash-gordon ah OK, I had a hunch it was about this but wanted to make sure I understand it correctly. It's great you're working on it!

@pyromaniac adding a new type won't bring anything to the table. Adding new types is hard because it touches a lot of places, even with this one I spent > 10 hrs aligning all the things. Making a new type would be even more work. Function is a private API, it can be re-done as needed and it's a really minor concern.

I'm pretty sure you know what you are doing. Just expressing my general concerns basing on my experience. Ultimately, a new type going to be very similar to the Constructor type so I believe you made it right. It just looks a bit hacky you know :) Does not fit the existing concept naturally. But yeah, it might be addresses during the further refactorings.


Link to Storage innovations in Windows Server 2022

https://techcommunity.microsoft.com/t5/storage-at-microsoft/storage-innovations-in-windows-server-2022/ba-p/2714214
[Enter feedback here]

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

ID: 3e900bb3-e55a-2175-818b-79bee86bd8d2
Version Independent ID: 78f66ffe-6ee1-5adc-34f7-c36ef717d392
Content: What's new in Windows Server 2022
Content Source: WindowsServerDocs/get-started/whats-new-in-windows-server-2022.md
Product: windows-server
Technology: getting-started
GitHub Login: @dknappettmsft
Microsoft Alias: daknappe

@stephc-msft Please provide the details for documentation improvement.

I have added a couple of items from the blog article to the What's New article as they were missing. This should be live in a couple of hours.
#please-close


Use Register-ArgumentCompleter when possible.

This changes makes z register its tab completion by using the built-in Register-ArgumentCompleter cmdlet when it is available (PowerShell 5.0 and later), falling back to previous tab completion registration on earlier versions.

Thank you for this contribution! Will review shortly.

Thanks Chris for your contribution.
Change has been published to the PowerShell module repository as a .14 release version.
On Friday, 17 May 2024 at 4:12 AM, Chris Donnelly @.***> wrote:

This changes makes z register its tab completion by using the built-in Register-ArgumentCompleter cmdlet when it is available (PowerShell 5.0 and later), falling back to previous tab completion registration on earlier versions.

You can view, comment on, or merge this pull request online at:
https://github.com/badmotorfinger/z/pull/66
Commit Summary

10251db Use Register-ArgumentCompleter when possible.

File Changes
(1 file)

M z.psm1 (10)

Patch Links:

https://github.com/badmotorfinger/z/pull/66.patch
https://github.com/badmotorfinger/z/pull/66.diff

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Web Export - Unable to adjust AudioServer volume

Tested versions
Godot v4.3.beta2
System information
Godot v4.3.beta2 - macOS 14.5.0 - GLES3 (Compatibility) - Apple M1 - Apple M1
Issue description
After exporting for Web and uploading to Itch.io or using Godot Editor "Run in Browser", you can't change the AudioServer volume.
I have tested this in Safari, Firefox, and Chrome.
Steps to reproduce
This is a simple Node2D scene with a AudioStreamPlayer that auto plays crickets and a HSlider that allows you to adjust the AudioServer volume.
Minimal reproduction project (MRP)
audiovolumetest.zip

@mr-dreich Thanks for your bug report!


Has anyone tried using this with yarn?

I wasn't able to, I got some errors I didn't understand. Would anyone like to try to get this to work with yarn and then explain here how to get that working?

Never mind, I just saw #82.


Auto-coerce self as table type in method definitions

(This may have already been reported but I couldn't find it anywhere)
Right now, when you define a method using the function t:k() syntax, the implicit self variable will not assigned a type. This creates issues in a few places
Issue number 1: self is any which means no autocompletes (Doesn't need a code example)
Issue number 2: When creating the type using typeof (because metatables), the functions do not assign correctly.
local t = {}

function t:foo()
  print("bar")
end

type self = typeof(t) --> <a>(a) -> () instead of (self) -> ()

The only work around right now is to create a line inside the function that coerces the type,
function t:k()
  self = self :: T
end

or, if you need metatables, using this gross typehack which should fix the issue with typeof
type self = typeof(setmetatable({} :: {
  k: (self) -> ()
}, {} :: {
  __index: self
}))

Or fallback to the more convential function t.k(self: T) syntax.

I've run into a similar issue that is also only resolved by coercing the type of self.
It seems that self can not be called by different functions that take a @metatable (getmetatable, rawget, rawset, etc.) type within the same scope, besides some exceptions.
rawget and rawset play nicely, as shown below
function t:k()
    local ex1 = rawget(self, "ex1")
    local ex2 = rawget(self, "ex2")
    rawset(self, "ex3", "ex3")
end

However, if setmetatable accesses self within the same scope, whatever function is used after the other receives a type error.
function t:k()
    local ex1 = rawget(self, "ex1") -- no type error
    local ex2 = rawget(self, "ex2") -- no type error
    rawset(self, "ex3", "ex3") -- no type error
    local contents = getmetatable(self) -- type error on self
end

Reversed:
function t:k()
    local contents = getmetatable(self) -- no type error
    local ex1 = rawget(self, "ex1") -- type error on self
    local ex2 = rawget(self, "ex2") -- type error on self
    rawset(self, "ex3", "ex3") -- type error on self
end

It can be worked around using self = self :: any or casting it as a generic, as you mentioned before, but surely this isn't intended to error at all, right?

We have an open RFC for tackling this problem: https://github.com/Roblox/luau/pull/863


Does TensorRT apply only to high-performance GPUs

Does TensorRT apply only to high-performance GPUs?

TensorRT works perfectly well for TX1 e.g. see this Jupyter notebook.


[error] Platform.executable couldn't be retrieved

Platform:

[ ]  Dart
[X]  Flutter Android or iOS
[ ]  Flutter Web

IDE:

[X]  VSCode
[ ]  IntelliJ/AS
[ ]  XCode
[ ]  Other, which one?

split-debug-info and obfuscate (Flutter Android or iOS) or CanvasKit (Flutter Web):

[ ]  Enabled
[X]  Disabled

Platform installed with:

[X] pub.dev
[ ] GitHub

Output of the command flutter doctor -v below:
$ flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on Artix Linux 5.18.12-artix1-1, locale en_US.UTF-8)
    • Flutter version 3.0.5 at /opt/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (7 days ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/david/Android/Sdk
    • Platform android-33, build-tools 30.0.3
    • ANDROID_HOME = /home/david/Android/Sdk
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /usr/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 14.0.6
    • cmake version 3.23.2
    • ninja version 1.11.0
    • pkg-config version 1.8.0

[✓] Android Studio (version 4.1)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Connected device (3 available)
    • KB2003 (mobile) • cf476e43 • android-arm64  • Android 12 (API 31)
    • Linux (desktop) • linux    • linux-x64      • Artix Linux 5.18.12-artix1-1
    • Chrome (web)    • chrome   • web-javascript • Chromium 103.0.5060.114 Arch Linux

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

The version of the SDK (See pubspec.lock):
sdks:
  dart: ">=2.17.5 <3.0.0"
  flutter: ">=3.0.0"

I have the following issue:
[sentry] [error] Platform.executable couldn't be retrieved.
[sentry] _TypeError (type 'Null' is not a subtype of type 'String')
[sentry] #0      _Platform.executable (dart:io/platform_impl.dart:36:30)
#1      _Platform.executable (dart:io/platform_impl.dart)
#2      Platform.executable (dart:io/platform.dart:179:45)
#3      IoEnricherEventProcessor._getDartContext
package:sentry/…/enricher/io_enricher_event_processor.dart:81
#4      IoEnricherEventProcessor.apply
package:sentry/…/enricher/io_enricher_event_processor.dart:47
#5      SentryClient._processEvent
package:sentry/src/sentry_client.dart:345
           <asynchronous suspension>
#6      SentryClient.captureEvent
package:sentry/src/sentry_client.dart:85
           <asynchronous suspension>
#7      Hub.captureEvent
package:sentry/src/hub.dart:91
           <asynchronous suspension>
#8      FlutterErrorIntegration.call.<anonymous closure>
package:sentry_flutter/src/default_integrations.dart:103
           <asynchronous suspension>

Steps to reproduce:
Future<void> main() async {
  await SentryFlutter.init(
    (options) {
      options
        ..dsn = 'https://[REDACTED]'
        ..environment = (kDebugMode ? 'debug' : 'release') + (kProfileMode ? '_profile' : '')
        ..debug = kDebugMode
        ..enableAppLifecycleBreadcrumbs = true
        ..enableAutoNativeBreadcrumbs = true
        ..enableAutoPerformanceTracking = true
        ..enableAutoSessionTracking = true
        ..enableOutOfMemoryTracking = true
        ..reportPackages = true
        ..sendClientReports = true
        ..sendDefaultPii = true
        ..beforeSend = (event, {hint}) {
          final t = event.throwable;
          final ts = t.toString();

          if (t is NoNetworkException) return null;
          if (ts.contains("Failed host lookup: ")) return null;

          return event;
        };
    },
    appRunner: () async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();

      runApp(
        DefaultAssetBundle(
          bundle: SentryAssetBundle(),
          child: App(),
        ),
      );
    },
  );
}

Actual result:

Observed exception
App runs fine, but the exception is printed to the console

Expected result:

Expected the app to without exceptions

That's normal and not a Sentry's SDK issue https://github.com/getsentry/sentry-dart/blob/4ec11a97eba5207c93cb1dc14103770a0dc2e3f7/dart/lib/src/enricher/io_enricher_event_processor.dart#L79-L88


No divider drawn using ItemAnimator

Hi,
I'm using an ItemAnimator with an Horizontal LinearLayoutManager. When I call notifyItemRemoved or notifyItemInserted the drawers are not drawn until I scroll to new items. It seems related to this issue https://code.google.com/p/android/issues/detail?id=100653
Could it be possible to fix it?
Thanks !

@JulienDev
I believe this should not be happened.
I'll check this behaviour as soon as possible, thanks

@JulienDev
I checked, but could not see the problem.
Can u show ur sample project having this issue?

@JulienDev I had a similar issue, and I fixed it by calling invalidateItemDecorations() on my RecyclerView when adding items. Hope this helps.

@jvbreen1 Thank you so much !


discord-ptb: 0.0.44 -> 0.0.45

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for discord-ptb is: All-in-one cross-platform voice and text chat for gamers
meta.homepage for discord-ptb is: https://discordapp.com/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.0.45 with grep in /nix/store/5hq5g6065gc4wqw7c71h56919n805h1r-discord-ptb-0.0.45
found 0.0.45 in filename of file in /nix/store/5hq5g6065gc4wqw7c71h56919n805h1r-discord-ptb-0.0.45

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
discord-ptb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5hq5g6065gc4wqw7c71h56919n805h1r-discord-ptb-0.0.45 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A discord-ptb https://github.com/r-ryantm/nixpkgs/archive/afec397bef443421ec993f3ca7e93b02935febef.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5hq5g6065gc4wqw7c71h56919n805h1r-discord-ptb-0.0.45
ls -la /nix/store/5hq5g6065gc4wqw7c71h56919n805h1r-discord-ptb-0.0.45/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

discord-ptb

Maintainer pings
cc @MP2E @Scrumplex @Artturin @Infinidoge @jopejoe1 for testing.

Result of nixpkgs-review pr 251296 run on x86_64-linux 1

1 package built:

discord-ptb


Add username copy to clipboard for Windows

Since the app will support Windows it would make it easier if the entire command to message other users could be copy to clipboard when clicked on.

Closed in 753938527ad94db3f9d9d64cfffdf1e28bb368bf


Perform a full rebuild when a hot reload is not possible

The CLI currently tries to hot reload changes to your Cargo.toml even though it is not used as an asset in the application. It should trigger a full rebuild because it is not linked as an asset. Other build time assets like an external lalrpop grammar that drives a build script should also trigger a full rebuild

I feel like we should special case certain files for this... I've much preferred the flow where r performs the manual rebuild rather than the CLI always attempting full rebuilds when it can't autodetect the reloads.
We could parse the .d files which contain information about files the rust compiler is tracking itself, or frequently poll cargo check or something and listen to the rebuild information.
Also, FWIW, whenever the cargo.toml and dioxus.toml files change, we're not rebuilding our "understanding of the world" so our cargo metadata is out of date.


Unexpected WordPress.WP.AlternativeFunctions.file_system_read_fopen warning

[PHPCS 3.1, WPCS 0.13.1, PHP 5.6.30]
I'm using fopen() with a stream, and WPCS is now flagging this as filesystem usage:
<?php
Header( 'HTTP/1.1 200 OK' );
Header( 'Content-Type: text/csv' );
Header( "Content-Disposition: attachment; filename={$filename}" );

$output_stream = fopen( 'php://output', 'w' );

fputcsv( $output_stream, $output_columns );
foreach ( self::$metadata as $row ) {
	fputcsv( $output_stream, $row );
}

fclose( $output_stream );

I get this error:

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen()

WP_Filesystem doesn't seem appropriate here.
Do you recommend a different way of writing the above code?

This is related to #295, though that is for a different sniff.

Very relevant: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/pull/1265#issuecomment-405143028

Closing as fixed by #1655 which was included in WPCS 2.1.0.


Remove slug from codecov workflow

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.51%. Comparing base (060b01b) to head (7bdbc1d).

Additional details and impacted files
@@             Coverage Diff             @@
##              main      #22      +/-   ##
===========================================
- Coverage   100.00%   99.51%   -0.49%
===========================================
  Files            9        9
  Lines          889     1443     +554
===========================================
+ Hits           889     1436     +547
- Misses           0        7       +7

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


ISPN-16674 Flaky test: org.infinispan.client.hotrod.retry.TopologyUpd…

…ateRetryTest#testTopologyChangeWithQueuedOperations

Wait until channel is fully configured before blocking event loop

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

The test is explicitly blocking the event loop. But unfortunately, the channel may not be setup properly yet. And if it blocks it can't be setup and the initial pings will timeout and the test fails for different reasons.

Rebased as it died/failed from other flaky tests that are now fixed.

Thanks, @wburns!


Please add maximum entry setting for log file

Please add an option to limit the size of a log text file by specifying the maximum number of entries, after which new entries will make older ones "spool off."  Thanks for the 64-bit version!

Resolved in 7d96ef06bd3f34c7f772ac95744f867d98fec9ec.


net/http: provide an option to access /index.html directly without 301 redirect

What version of Go are you using (go version)?

$ go version
go1.18, go1.17, ...(may be all versions)

What did you do?
I found that https://github.com/golang/go/blob/master/src/net/http/fs.go#L590 will  redirect /index.html to / with 301 status code.
This 301 action may cause some problems for service worker's cache(https://stackoverflow.com/questions/40476938/service-worker-breaking-301-redirects)

In order to stop 301 redirect, I had to hack official GONIC code

What did you expect to see?
PWA(web app) could cache the start_url:"/index.html" (301 redirect)
What did you see instead?
Since Service Worker breaking 301 redirects, my PWA app can't cache the start_url:"/index.html"
I think it's better to have an option an option to access /index.html directly without 301 redirect. (If possible, I could submit a PR)

CC @neild

you could just use start_url: "/" ?

you could just use start_url: "/" ?

@seankhliao Modifying the official code in https://github.com/mdn/pwa-examples  is neither acceptable nor reasonable.

I think it's reasonable to want an http.FileServer that doesn't redirect .../index.html requests, but I'm not sure what the API for it should be.
One thought might be to only redirect an .../index.html request if the index.html file doesn't exist. That is, try opening the file, and only consider redirecting the request if the open fails.

I think the easiest way to do this is to provide an optional chained method like this:
	fileServer := http.FileServer(fs)

	//// I think it is better to let http.FileServer return Struct instead of interface
	// fileServer := http.FileServer(fs).SkipPermanentRedirect()

	// skip 301 redirect
	fileServer.(*http.FileHandler).SkipPermanentRedirect()

https://github.com/golang/go/commit/8a1fd333f8b82053bbc8dc04ecfd160ce8230b72#diff-334dd14b9fe9d920086cc14ef1a9f13ac90972a7b289b944d00d4a9be6891a98R28

In the spirit of http.StripPrefix, this could just be an http middleware layer (untested):
func StripIndex(h http.Handler) http.Handler {
    return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request {
        r.URL.Path = strings.TrimSuffix(r.URL.Path, "index.html")
        h.ServeHTTP(rw, r)
    })
}

This is some like what I did in hack GONIC code:
	fileServer := http.FileServer(fs)
	return func(c *gin.Context) {
		.....
		// Replace `/index.html` with `/` to stop 301 redirect
		if strings.HasSuffix(c.Request.URL.Path, "/index.html") {
			c.Request.URL.Path = strings.TrimSuffix(c.Request.URL.Path, "index.html")
		}

		fileServer.ServeHTTP(c.Writer, c.Request)
        }

It works well, but I think injecting logic into every request is not so KISS———
If I can't modify the default redirection action at the begin of initialize http.FileServer(fs),
it may be no so easy to inject this logic to http handler if a project do not expose this http handler.


dpaint paint modes like matte, color/smear/shade etc

Hi, dpaint js is awesome!
I trick I remember from my youth was combining color cycling wiht the cycle mode (F7) , so that you could just paint in long strokes, hit tab, and get animation very quickly. Would it be possible to include this in dpaint js?
Blend was also really useful for setting up quick gradient and edge fx, I've included screen recordings from dpaint3 on an amiga emulator to show what I mean.
Thanks!
-matt
https://github.com/steffest/DPaint-js/assets/2536174/6bfa8b2d-870c-44a0-8e8f-4b513c1b1a1a
https://github.com/steffest/DPaint-js/assets/2536174/20f6c249-0cad-4d4f-9850-267027cfcc47
https://github.com/steffest/DPaint-js/assets/2536174/53a9a042-59be-4d28-9865-7c7397acdbfa

Hey Matt!
Goog timing, look at the name of the commit I did yesterday:

So yeah: smears and blurs (that stay in the palette) are coming.
For cycle mode: good point.
Currently, if a range is active, you can cycle through all the colors of that range with the left/right cursor keys,
But I see the point that it would be cool to do that automatically in the middle of a brush stroke.
The expercise would be not to overload the app with crypting features that might seem confusing to users so I'll have to give ot some thoughs on how to implement that nicely.
Thanks for the videos!
Awesome that you took the tile to record these. 👍

Eyyy supercool! Looking forward to playing with that!
Yeah I get what you mean, one path forward is to replicate every feature of the original deluxe paint exactly as it was, but it was hardly a bastion of user friendliness, much as I love it. When I recorded those videos I hovered over some of the tools expecting tooltips to appear, then remembered 'oh yeah.... 1986... tool tips... that's not a thing...'
No worries re the recordings. I was chatting with some friends about why I got into animation/vfx, and realised it was colour cycling on an amiga when I was 12, and felt suddenly compelled to recreate it. :)

By the way: for a way more faithfull replication of Deluxe Paint, check out https://github.com/mriale/PyDPainter
That even has those wonderful gradient fills and all.
Dpaint.js is by no means meant as a Deluxe Paint clone, more like a spiritual successor that still can handle all those old file formats, while at the same time offer modern features that Deluxe Paint never had, runnng on any device with a modern web browser.

Ah nice, thanks for the tip!


Idea: Add Relaunch option on menu

Very often, updating nodes through the Palette requires restarting Node-RED.
The View menu offers the Reload command to refresh the screen.
The idea is to add a command to relaunch the underlying Node-RED service.

It is a good idea.
I also want it.
I will add this option.
Regards,
sakazuki

In v0.9.0-beta.2., a relaunch menu was added.
Regards,

Great, thanks!