Memory leak/Stack corruption when using GDScript await in release_debug builds (GCC specific)

Godot version
4.0.alpha1
System information
Ubuntu 20.04
Issue description
Using the await keyword in GDScript seems to be causing memory leaks/corruption:
I've tried many combination, see below for the most simple test, but it's not just with scene tree timers, other combinations works too.
With a Node timer, I don't get the leak, but still get the list error (see attached project).
Godot Engine v4.0.alpha.custom_build.17d4d3839 - https://godotengine.org

ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
     at: cleanup (core/object/object.cpp:2025)
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:459)

Steps to reproduce
extends Node

func _ready():
	_something_async()

func _something_async():
	await get_tree().create_timer(1).timeout
	get_tree().quit.call_deferred()

Minimal reproduction project
proj_await.zip

It seems that, in release_debug builds (but not in regular debug builds), there is also some stack corruption going on:
func _ready():
	var tname = "test"
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	await _jump1(tname)
	# Enough
	get_tree().quit.call_deferred()

func _jump1(p_var):
	var subvar = p_var + " " + p_var
	print("Var:", subvar)
	await get_tree().create_timer(0.1).timeout

Godot Engine v4.0.alpha.custom_build.17d4d3839 - https://godotengine.org

Var:test test
Var:test test
Var:test test
Var:test test
Var:test test
Unicode parsing error: Invalid unicode codepoint 573cc290.

Var:
Var:
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
     at: cleanup (core/object/object.cpp:2025)
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:459)

For the reference, two duplicate bug reports which confirm the issue: #56587 and #56644 (see those issues for additional MRPs).

Valgrind run for the above stack corruption code:
$ valgrind ../godot-dev/bin/godot.linuxbsd.opt.tools.64 --headless --path proj/proj_san/ res://asan.tscn
==124325== Memcheck, a memory error detector
==124325== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==124325== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==124325== Command: ../godot-dev/bin/godot.linuxbsd.opt.tools.64 --headless --path proj/proj_san/ res://asan.tscn
==124325==
Godot Engine v4.0.alpha.custom_build.17d4d3839 - https://godotengine.org

Var:test test
Var:test test
Var:test test
Var:test test
Var:test test
==124325== Invalid read of size 4
==124325==    at 0xB27882: load (atomic_base.h:419)
==124325==    by 0xB27882: conditional_increment (safe_refcount.h:122)
==124325==    by 0xB27882: CowData<char32_t>::_ref(CowData<char32_t> const&) (cowdata.h:379)
==124325==    by 0x488463F: String (ustring.h:439)
==124325==    by 0x488463F: Variant::reference(Variant const&) (variant.cpp:1057)
==124325==    by 0x16B5348: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:508)
==124325==    by 0x158616C: GDScriptInstance::call(StringName const&, Variant const**, int, Callable::CallError&) (gdscript.cpp:1521)
==124325==    by 0x4AAD1A6: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:816)
==124325==    by 0x48BC89D: Variant::call(StringName const&, Variant const**, int, Variant&, Callable::CallError&) (variant_call.cpp:1021)
==124325==    by 0x16AC260: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:1492)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==    by 0x4878EF3: Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (callable.cpp:62)
==124325==  Address 0x108b6c68 is 8 bytes inside a block of size 48 free'd
==124325==    at 0x821CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x162F13F: clear (variant.h:264)
==124325==    by 0x162F13F: ~Variant (variant.h:707)
==124325==    by 0x162F13F: GDScriptFunctionState::_clear_stack() [clone .part.0] (gdscript_function.cpp:283)
==124325==    by 0x16305B7: _clear_stack (gdscript_function.cpp:280)
==124325==    by 0x16305B7: GDScriptFunctionState::~GDScriptFunctionState() (gdscript_function.cpp:303)
==124325==    by 0xBA321D: memdelete<RefCounted> (memory.h:108)
==124325==    by 0xBA321D: void memdelete<RefCounted>(RefCounted*) (memory.h:103)
==124325==    by 0x488369B: Variant::_clear_internal() (variant.cpp:1302)
==124325==    by 0x4884354: clear (variant.h:264)
==124325==    by 0x4884354: Variant::reference(Variant const&) (variant.cpp:1036)
==124325==    by 0x16B2E8C: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:2173)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==  Block was alloc'd at
==124325==    at 0x821DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x45F6A51: Memory::realloc_static(void*, unsigned long, bool) (memory.cpp:129)
==124325==    by 0x100B030: CowData<char32_t>::resize(int) (cowdata.h:300)
==124325==    by 0x4B1E27A: resize (ustring.h:213)
==124325==    by 0x4B1E27A: String::operator+=(char32_t) (ustring.cpp:575)
==124325==    by 0x1699DAE: GDScriptTokenizer::string() (gdscript_tokenizer.cpp:933)
==124325==    by 0x169AF4B: GDScriptTokenizer::scan() (gdscript_tokenizer.cpp:1385)
==124325==    by 0x1643733: GDScriptParser::advance() (gdscript_parser.cpp:398)
==124325==    by 0x1643A9E: GDScriptParser::match(GDScriptTokenizer::Token::Type) [clone .part.0] (gdscript_parser.cpp:410)
==124325==    by 0x165CF57: match (gdscript_parser.cpp:418)
==124325==    by 0x165CF57: GDScriptParser::parse_variable(bool) (gdscript_parser.cpp:877)
==124325==    by 0x165DD6F: parse_variable (gdscript_parser.cpp:836)
==124325==    by 0x165DD6F: GDScriptParser::parse_statement() (gdscript_parser.cpp:1534)
==124325==    by 0x165E58B: GDScriptParser::parse_suite(String const&, GDScriptParser::SuiteNode*, bool) (gdscript_parser.cpp:1458)
==124325==    by 0x16669C3: GDScriptParser::parse_function() (gdscript_parser.cpp:1351)
==124325==
Var:
==124325== Invalid read of size 4
==124325==    at 0xB27882: load (atomic_base.h:419)
==124325==    by 0xB27882: conditional_increment (safe_refcount.h:122)
==124325==    by 0xB27882: CowData<char32_t>::_ref(CowData<char32_t> const&) (cowdata.h:379)
==124325==    by 0x488463F: String (ustring.h:439)
==124325==    by 0x488463F: Variant::reference(Variant const&) (variant.cpp:1057)
==124325==    by 0x16B8EC2: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:2123)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==    by 0x4878EF3: Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (callable.cpp:62)
==124325==    by 0x487B26E: CallableCustomBind::call(Variant const**, int, Variant&, Callable::CallError&) const (callable_bind.cpp:92)
==124325==    by 0x4878F90: Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (callable.cpp:50)
==124325==    by 0x4ABB604: Object::emit_signal(StringName const&, Variant const**, int) (object.cpp:1104)
==124325==    by 0x4ABC372: Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (object.cpp:1159)
==124325==  Address 0x108b6c68 is 8 bytes inside a block of size 48 free'd
==124325==    at 0x821CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x162F13F: clear (variant.h:264)
==124325==    by 0x162F13F: ~Variant (variant.h:707)
==124325==    by 0x162F13F: GDScriptFunctionState::_clear_stack() [clone .part.0] (gdscript_function.cpp:283)
==124325==    by 0x16305B7: _clear_stack (gdscript_function.cpp:280)
==124325==    by 0x16305B7: GDScriptFunctionState::~GDScriptFunctionState() (gdscript_function.cpp:303)
==124325==    by 0xBA321D: memdelete<RefCounted> (memory.h:108)
==124325==    by 0xBA321D: void memdelete<RefCounted>(RefCounted*) (memory.h:103)
==124325==    by 0x488369B: Variant::_clear_internal() (variant.cpp:1302)
==124325==    by 0x4884354: clear (variant.h:264)
==124325==    by 0x4884354: Variant::reference(Variant const&) (variant.cpp:1036)
==124325==    by 0x16B2E8C: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:2173)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==  Block was alloc'd at
==124325==    at 0x821DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x45F6A51: Memory::realloc_static(void*, unsigned long, bool) (memory.cpp:129)
==124325==    by 0x100B030: CowData<char32_t>::resize(int) (cowdata.h:300)
==124325==    by 0x4B1E27A: resize (ustring.h:213)
==124325==    by 0x4B1E27A: String::operator+=(char32_t) (ustring.cpp:575)
==124325==    by 0x1699DAE: GDScriptTokenizer::string() (gdscript_tokenizer.cpp:933)
==124325==    by 0x169AF4B: GDScriptTokenizer::scan() (gdscript_tokenizer.cpp:1385)
==124325==    by 0x1643733: GDScriptParser::advance() (gdscript_parser.cpp:398)
==124325==    by 0x1643A9E: GDScriptParser::match(GDScriptTokenizer::Token::Type) [clone .part.0] (gdscript_parser.cpp:410)
==124325==    by 0x165CF57: match (gdscript_parser.cpp:418)
==124325==    by 0x165CF57: GDScriptParser::parse_variable(bool) (gdscript_parser.cpp:877)
==124325==    by 0x165DD6F: parse_variable (gdscript_parser.cpp:836)
==124325==    by 0x165DD6F: GDScriptParser::parse_statement() (gdscript_parser.cpp:1534)
==124325==    by 0x165E58B: GDScriptParser::parse_suite(String const&, GDScriptParser::SuiteNode*, bool) (gdscript_parser.cpp:1458)
==124325==    by 0x16669C3: GDScriptParser::parse_function() (gdscript_parser.cpp:1351)
==124325==
==124325== Invalid read of size 4
==124325==    at 0x487E279: CowData<char32_t>::_unref(void*) [clone .isra.0] (cowdata.h:207)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x16ABF47: clear (variant.h:264)
==124325==    by 0x16ABF47: ~Variant (variant.h:707)
==124325==    by 0x16ABF47: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:3354)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==    by 0x4878EF3: Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (callable.cpp:62)
==124325==    by 0x487B26E: CallableCustomBind::call(Variant const**, int, Variant&, Callable::CallError&) const (callable_bind.cpp:92)
==124325==    by 0x4878F90: Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (callable.cpp:50)
==124325==    by 0x4ABB604: Object::emit_signal(StringName const&, Variant const**, int) (object.cpp:1104)
==124325==    by 0x4ABC372: Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (object.cpp:1159)
==124325==  Address 0x108b6c68 is 8 bytes inside a block of size 48 free'd
==124325==    at 0x821CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x162F13F: clear (variant.h:264)
==124325==    by 0x162F13F: ~Variant (variant.h:707)
==124325==    by 0x162F13F: GDScriptFunctionState::_clear_stack() [clone .part.0] (gdscript_function.cpp:283)
==124325==    by 0x16305B7: _clear_stack (gdscript_function.cpp:280)
==124325==    by 0x16305B7: GDScriptFunctionState::~GDScriptFunctionState() (gdscript_function.cpp:303)
==124325==    by 0xBA321D: memdelete<RefCounted> (memory.h:108)
==124325==    by 0xBA321D: void memdelete<RefCounted>(RefCounted*) (memory.h:103)
==124325==    by 0x488369B: Variant::_clear_internal() (variant.cpp:1302)
==124325==    by 0x4884354: clear (variant.h:264)
==124325==    by 0x4884354: Variant::reference(Variant const&) (variant.cpp:1036)
==124325==    by 0x16B2E8C: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:2173)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==  Block was alloc'd at
==124325==    at 0x821DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x45F6A51: Memory::realloc_static(void*, unsigned long, bool) (memory.cpp:129)
==124325==    by 0x100B030: CowData<char32_t>::resize(int) (cowdata.h:300)
==124325==    by 0x4B1E27A: resize (ustring.h:213)
==124325==    by 0x4B1E27A: String::operator+=(char32_t) (ustring.cpp:575)
==124325==    by 0x1699DAE: GDScriptTokenizer::string() (gdscript_tokenizer.cpp:933)
==124325==    by 0x169AF4B: GDScriptTokenizer::scan() (gdscript_tokenizer.cpp:1385)
==124325==    by 0x1643733: GDScriptParser::advance() (gdscript_parser.cpp:398)
==124325==    by 0x1643A9E: GDScriptParser::match(GDScriptTokenizer::Token::Type) [clone .part.0] (gdscript_parser.cpp:410)
==124325==    by 0x165CF57: match (gdscript_parser.cpp:418)
==124325==    by 0x165CF57: GDScriptParser::parse_variable(bool) (gdscript_parser.cpp:877)
==124325==    by 0x165DD6F: parse_variable (gdscript_parser.cpp:836)
==124325==    by 0x165DD6F: GDScriptParser::parse_statement() (gdscript_parser.cpp:1534)
==124325==    by 0x165E58B: GDScriptParser::parse_suite(String const&, GDScriptParser::SuiteNode*, bool) (gdscript_parser.cpp:1458)
==124325==    by 0x16669C3: GDScriptParser::parse_function() (gdscript_parser.cpp:1351)
==124325==
==124325== Invalid read of size 4
==124325==    at 0x487E279: CowData<char32_t>::_unref(void*) [clone .isra.0] (cowdata.h:207)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x162F13F: clear (variant.h:264)
==124325==    by 0x162F13F: ~Variant (variant.h:707)
==124325==    by 0x162F13F: GDScriptFunctionState::_clear_stack() [clone .part.0] (gdscript_function.cpp:283)
==124325==    by 0x16305B7: _clear_stack (gdscript_function.cpp:280)
==124325==    by 0x16305B7: GDScriptFunctionState::~GDScriptFunctionState() (gdscript_function.cpp:303)
==124325==    by 0xBA321D: memdelete<RefCounted> (memory.h:108)
==124325==    by 0xBA321D: void memdelete<RefCounted>(RefCounted*) (memory.h:103)
==124325==    by 0x488369B: Variant::_clear_internal() (variant.cpp:1302)
==124325==    by 0xB4D35C: clear (variant.h:264)
==124325==    by 0xB4D35C: ~Variant (variant.h:707)
==124325==    by 0xB4D35C: _unref (cowdata.h:218)
==124325==    by 0xB4D35C: CowData<Variant>::_unref(void*) (cowdata.h:200)
==124325==    by 0x487B6BE: ~CowData (cowdata.h:386)
==124325==    by 0x487B6BE: ~Vector (vector.h:278)
==124325==    by 0x487B6BE: CallableCustomBind::~CallableCustomBind() (callable_bind.cpp:100)
==124325==    by 0x487984D: memdelete<CallableCustom> (memory.h:108)
==124325==    by 0x487984D: Callable::~Callable() (callable.cpp:308)
==124325==    by 0x4AC5B5F: ~Connection (object.h:482)
==124325==    by 0x4AC5B5F: ~Slot (object.h:507)
==124325==    by 0x4AC5B5F: ~Pair (vmap.h:40)
==124325==    by 0x4AC5B5F: _unref (cowdata.h:218)
==124325==    by 0x4AC5B5F: CowData<VMap<Callable, Object::SignalData::Slot>::Pair>::_unref(void*) (cowdata.h:200)
==124325==    by 0x4ABBC0C: ~CowData (cowdata.h:386)
==124325==    by 0x4ABBC0C: ~VMap (vmap.h:38)
==124325==    by 0x4ABBC0C: Object::emit_signal(StringName const&, Variant const**, int) (object.cpp:1061)
==124325==    by 0x4ABC372: Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (object.cpp:1159)
==124325==  Address 0x108b6c68 is 8 bytes inside a block of size 48 free'd
==124325==    at 0x821CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x48835C4: ~CowData (cowdata.h:386)
==124325==    by 0x48835C4: ~String (ustring.h:180)
==124325==    by 0x48835C4: Variant::_clear_internal() (variant.cpp:1266)
==124325==    by 0x162F13F: clear (variant.h:264)
==124325==    by 0x162F13F: ~Variant (variant.h:707)
==124325==    by 0x162F13F: GDScriptFunctionState::_clear_stack() [clone .part.0] (gdscript_function.cpp:283)
==124325==    by 0x16305B7: _clear_stack (gdscript_function.cpp:280)
==124325==    by 0x16305B7: GDScriptFunctionState::~GDScriptFunctionState() (gdscript_function.cpp:303)
==124325==    by 0xBA321D: memdelete<RefCounted> (memory.h:108)
==124325==    by 0xBA321D: void memdelete<RefCounted>(RefCounted*) (memory.h:103)
==124325==    by 0x488369B: Variant::_clear_internal() (variant.cpp:1302)
==124325==    by 0x4884354: clear (variant.h:264)
==124325==    by 0x4884354: Variant::reference(Variant const&) (variant.cpp:1036)
==124325==    by 0x16B2E8C: GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (gdscript_vm.cpp:2173)
==124325==    by 0x1630B51: GDScriptFunctionState::resume(Variant const&) (gdscript_function.cpp:245)
==124325==    by 0x1631B8E: GDScriptFunctionState::_signal_callback(Variant const**, int, Callable::CallError&) (gdscript_function.cpp:195)
==124325==    by 0x1633804: MethodBindVarArg<GDScriptFunctionState>::call(Object*, Variant const**, int, Callable::CallError&) (method_bind.h:175)
==124325==    by 0x4AAD06E: Object::call(StringName const&, Variant const**, int, Callable::CallError&) (object.cpp:837)
==124325==  Block was alloc'd at
==124325==    at 0x821DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==124325==    by 0x45F6A51: Memory::realloc_static(void*, unsigned long, bool) (memory.cpp:129)
==124325==    by 0x100B030: CowData<char32_t>::resize(int) (cowdata.h:300)
==124325==    by 0x4B1E27A: resize (ustring.h:213)
==124325==    by 0x4B1E27A: String::operator+=(char32_t) (ustring.cpp:575)
==124325==    by 0x1699DAE: GDScriptTokenizer::string() (gdscript_tokenizer.cpp:933)
==124325==    by 0x169AF4B: GDScriptTokenizer::scan() (gdscript_tokenizer.cpp:1385)
==124325==    by 0x1643733: GDScriptParser::advance() (gdscript_parser.cpp:398)
==124325==    by 0x1643A9E: GDScriptParser::match(GDScriptTokenizer::Token::Type) [clone .part.0] (gdscript_parser.cpp:410)
==124325==    by 0x165CF57: match (gdscript_parser.cpp:418)
==124325==    by 0x165CF57: GDScriptParser::parse_variable(bool) (gdscript_parser.cpp:877)
==124325==    by 0x165DD6F: parse_variable (gdscript_parser.cpp:836)
==124325==    by 0x165DD6F: GDScriptParser::parse_statement() (gdscript_parser.cpp:1534)
==124325==    by 0x165E58B: GDScriptParser::parse_suite(String const&, GDScriptParser::SuiteNode*, bool) (gdscript_parser.cpp:1458)
==124325==    by 0x16669C3: GDScriptParser::parse_function() (gdscript_parser.cpp:1351)
==124325==
Var:
Var:
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
     at: cleanup (core/object/object.cpp:2025)
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:459)
==124325==
==124325== HEAP SUMMARY:
==124325==     in use at exit: 88,503 bytes in 81 blocks
==124325==   total heap usage: 389,555 allocs, 389,474 frees, 41,378,192 bytes allocated
==124325==
==124325== LEAK SUMMARY:
==124325==    definitely lost: 3,536 bytes in 9 blocks
==124325==    indirectly lost: 9,460 bytes in 63 blocks
==124325==      possibly lost: 88 bytes in 2 blocks
==124325==    still reachable: 75,419 bytes in 7 blocks
==124325==         suppressed: 0 bytes in 0 blocks
==124325== Rerun with --leak-check=full to see details of leaked memory
==124325==
==124325== For lists of detected and suppressed errors, rerun with: -s
==124325== ERROR SUMMARY: 14 errors from 4 contexts (suppressed: 0 from 0)

I sometimes get these errors:
Unicode parsing error: Invalid unicode codepoint ...

_process: Condition "!_p" is true.
core/variant/dictionary.cpp:244 @ _unref()
my_script.gd:32766 @ my_func()
             ^^^^^

I found another simple test case:
extends Node

class MyRef extends RefCounted:

	func _notification(what):
		if what == NOTIFICATION_PREDELETE:
			print("deleted")

var ref = null

func _ready():
	ref = MyRef.new()
	# Never prints "deleted"
	await get_tree().create_timer(1).timeout
	# Will print "deleted" after 1 second.
	#get_tree().create_timer(1).timeout.connect(_clear)

func _clear():
	ref = null

I could not reproduce the stack corruption issue. I'm investigating the leaks.

@vnen I can confirm the stack corruption issue (https://github.com/godotengine/godot/issues/57126#issuecomment-1022961389) with Godot 4 alpha 7 official linux 64 build.
If you are using your dev build to test, make sure to recompile with target=release_debug (which is not the default) or the issue won't show up.

I tested with release_debug. I wonder if it's tied to OS or compiler (though it shouldn't be), since I tested on macOS. I'll try this on Linux.

It could be GCC specific (affects official Linux and Windows builds).

It could be GCC specific (affects official Linux and Windows builds).

Just saw this, but I confirmed that it crashes with GCC but not with Clang (which I normally use).

I meant to write up a report here yesterday but in the process I ended up figuring out more about it, so I'm still investigating. I think I know how to solve this properly (both the crash and the leak), I'm just testing more to make sure of it.
In general I believe my initial hunch is correct (I mentioned on a call once faless pointed out this issue to me), which is that the GDScriptFunctionState is freeing the stack after it has already been freed. I have no idea why this wouldn't crash with other compilers though.
The leak seems to be related to the change we made in addressing modes in the VM, putting the instance and the script in the stack so they don't need different addressing modes. So now they are being saved in the state after await. The solution is simply to skip those special stack addresses (and don't forget to clear them as the function exits).
I still see the SceneTreeTimer leaking in this case, but I think it's related to something else. I'm now trying to make sure it's unrelated. It still needs to be fixed but it's not as urgent as this one.

Still not sure if the SceneTreeTimer leak is related, but I pushed a fix anyway since at least it doesn't leak the function states anymore and it fixes the crash.


Icons

There must be a bug in icons on mobile. They are not rendering visible:
￼

Fixed in https://github.com/AgnosticUI/agnosticui/commit/c951db18d309e626a272672d6edeba197165fe3d


Codegen for an C structure that stores pinmux definitions

Is your feature request related to a problem? Please describe.
This proposes a small integration to allow codegen create a C structure to store small data about pins. The end result can be used by gpio/pinmux/pinctrl drivers.
The discussion about the API can be followed at #22748. The intention here is not solve all the problems but give perspective and maybe give a option to store the data.
Describe the solution you'd like
This will try to solve the storage information for the SAMR21 device. It have a pinmux implementation but there isn't pinctrl definitions.

Device Tree Example

/ {
	...
	pioA: pinctrl@0 {
		compatible = "atmel,samd21-pinctrl";
		reg = <0x0 0x200>;

		usart0_default {
			pinmux = <&pinmux_a pin_number_TX function>,
				 <&pinmux_b pin_number_RX function>;
			bias-disable;
		};
	};
};

&sercom0 {
	status = "okay";
	compatible = "atmel,sam0-uart";
	current-speed = <115200>;
	rxpo = <1>;
	txpo = <0>;

	pinctrl-0 = &usart0_default;
};

At run time system need access GPIO, Pinmux and Pinctrl DT definitions. To help with that, a C structure can handle most of definitions. This proposal consists in describe a way to simple store on flash the some pins definitions.

Add <platform>-pinfunc.h file for any platform

This file include/dt-bindings/pinctrl/<platform>-pinfunc.h will store macros and definitions for codegen. A good example is stm32_pinmux.h
It will be necessary create a C structure, define pin muxing names, a prolog and an epilog.

C structure

struct atmel_samd21_pinmux_struct {
	u8_t	pinmux_id,
	u8_t	pin_number,
	u8_t	function_id,
	u8_t	pin_flags,
};

Pin Mux function definitions

#define	Fgpio		0
#define	FA		1
#define	FB		2
#define	FC		3
#define	FD		4

prolog

Will be called by codegen to create basic header for the C structure instance. As an simple example it could be:
#define PROLOG "static atmel_samd21_pinmux_struct atmel_samd21_pinmux_inst[] = {\n"

Macro definition

Define a macro that will be called at codegen and will be responsible to fill up the C structure.
#define PINMUX_EMIT "\t{ %d, %d, %d, %d},\n"

epilog

Will be called by codegen to finish the C structure instance.
#define EPILOG "}\n"

Concept proof

The codegen will process normally all device tree nodes. The last step can create a new file to store the struct instance. The codegen will go through all DT nodes searching for "pinctrl-x" property. For every match, it will get the property value and store on a list to avoid duplicate and process other possible checks. For the current example, the node is "usart0_default". Codegen need then evaluate the node and emit all entries on pinmux property plus a number that will represent all GPIO flags.
For the example:
/* The snip below */
usart0_default {
	pinmux = <&pinmux_a 1 FA>,
		 <&pinmux_e 2 Fgpio>;
		bias-disable;
	};
&sercom0 {
	pinctrl-0 = &usart0_default;
};

/* became this */
static struct atmel_samd21_pinmux_struct atmel_samd21_pinmux_inst[] = {
	/* sercom0/pinctrl-0/usart0_default */
	{0, 1, FA, 0x80},	/* pinmux_a index = 0, pin = 1, function = FA, bias-disabled = 0x80 */
	{4, 2, Fgpio, 0x80},	/* pinmux_e index = 4, pin = 2, function = Fgpio, bias-disabled = 0x80 */
}

New Pinmux Driver

Before
static int board_pinmux_init(struct device *dev)
{
	struct device *muxa = device_get_binding(DT_ATMEL_SAM0_PINMUX_PINMUX_A_LABEL);
	struct device *muxb = device_get_binding(DT_ATMEL_SAM0_PINMUX_PINMUX_B_LABEL);

	ARG_UNUSED(dev);

#if DT_ATMEL_SAM0_UART_SERCOM_0_BASE_ADDRESS
	/* SERCOM0 on RX=PA11, TX=PA10 */
	pinmux_pin_set(muxa, 11, PINMUX_FUNC_C);
	pinmux_pin_set(muxa, 10, PINMUX_FUNC_C);
#endif

	...
	return 0;
}

Became
#include <init.h>
#include <drivers/pinmux.h>

static int board_pinmux_init(struct device *dev)
{
	struct device *pinmux_ctrl[DT_ATMEL_SAM0_PINMUX_IDX_END - DT_ATMEL_SAM0_PINMUX_IDX_START];
	struct atmel_samd21_pinmux_struct *pin_inst;
	u32_t idx;

	ARG_UNUSED(dev);

	for(idx = DT_ATMEL_SAM0_PINMUX_IDX_START; idx < DT_ATMEL_SAM0_PINMUX_IDX_END; idx++)
	{
		pinmux_ctrl[idx] = device_get_binding_by_index(idx);
	}

	for(idx = 0; idx < ARRAY_SIZE(atmel_samd21_pinmux_inst); idx++)
	{
		pin_inst = atmel_samd21_pinmux_inst[idx];
		pinmux_pin_set(pinmux_ctrl[pin_inst->pinmux_id], pin_inst->pin_number, pin_inst->function_id);
	}

	return 0;
}

SYS_INIT(board_pinmux_init, PRE_KERNEL_1, CONFIG_PINMUX_INIT_PRIORITY);

Additional context
I think this structure can store the data to be used for gpio/pinmux/pinctrl in the smallest possible value. The GPIO/pinmux driver can simple run over that structure and initialize the pins. To accomplish that will be need some additional API.

device_get_binding_by_index return a device driver by the index of storage. It is very fast because is just a dereference pointer. The codegen need emit 3 new informations:

1: For any "LABEL" that exists an equivalent INDEX exists. The user can used both and may replace the label since the index is a valid info and can be used.

2/3: Any group need the START and END definition to allow loop instructions. Since we don't store "compat" string we can't dynamically discover the indexes.

Benefits

We start to store an important and indispensable information.
We can define the standard as Linux and use the Linux DT too when appropriated.
User and SoC developers can start to populate DT with all Pinmux/Pinctrl information. I like Linux idea that say "even we are not using right now we need add the information for future use". This will enable things automatically in future.
Drop all GPIO definitions on dts_fixup files
Give free option to user define and use how many pins the board really need. Ex. If we define dts_fixup for 4 pin usart but user need only 2 we will initialize that anyway. With this user can define their own pinmux definition.

@galak @ulfalizer @tbursztyka


added few projects

👷 Deploy Preview for virtualrealitylab processing.

Name
Link

🔨 Latest commit
738625fb0bfb8a391377b1b6d36acc42d87435ba

🔍 Latest deploy log
https://app.netlify.com/sites/virtualrealitylab/deploys/6675636779e10400081c446f


Fail to rename one attached file share/queue/table with a valid name

Storage Explorer Version: 1.27.0-dev
Build Number: 20221111.1
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Ventura 13.0 (Apple M1 Pro)
Architecture: ia32/x64
How Found: From running test cases
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Tables.
Select one table -> Attach the table.
Right click the attached table -> Click 'Rename connection...'.
Type a valid name into the 'Table connection name' field-> Click 'Rename'.
Check whether succeeds to rename the connection.

Expected Experience
Succeed to rename connection.
Actual Experience
Fail to rename the connection.

Verified this issue on the build main 20221113.2. Fixed.
So, we are going to close it.


curl:x64-windows-static with http2 requires nghttp2.dll when using curl.

Describe the bug
When building libcurl with curl[http2] option and using it in my executable windows is yelling me that it could not find nghttp2.dll. I checked that somebody has added a patch (0004_nghttp2_staticlib.patch) to remove bin/nghttp2.dll from build but I think that is not the correct way to solve this issue as this needs some build time flags when compiling IMHO.
How to build the nghttp2 with curl statically so that it won't need the dll?
Environment

OS: Windows 10
Compiler: Microsoft (R) C/C++ Optimizing Compiler Version 19.23.28106.4 for x64

To Reproduce
Steps to reproduce the behavior:

./vcpkg install curl[http2]
build app and link it against curl and try starting it.
windows is saying that it needs nghttp2.dll

Expected behavior
nghttp2 should not be needed as a separate dll when using curl statically.
Additional context

Hi @anluoma, thanks for reporting this issue!
curl[http]:x64-windows-static should not use nghttp2.dll because we already defined NGHTTP2_STATICLIB in pre-definitions. You can find this macro in nghtt2/nghttp2.h line 57:
#ifdef NGHTTP2_STATICLIB
#  define NGHTTP2_EXTERN

So when linking curl with nghttp2, curl will link the nghttp2 static library and add all the code belonging to nghtttp2 to the curl static library.
Curl has been update to 7.68.0, can you update vcpkg and try again?
If this issue still repro, please provde sample code.
Thanks.

I've ran into the same issue, and I'm able to reproduce it on windows.
Running the following command still produces dynamic .lib file on windows:
.\vcpkg.exe install nghttp2:x86-windows-static
Running the application linked with the nghttp2.lib built this way prompts for nghttp2.dll even tho it is supposed to be a static lib.


Konsole theme colors in incorrect order

Konsole theme has colors in incorrect order and that leads to a failed rendering as different issues of the project show:
https://github.com/dracula/konsole/issues/3
https://github.com/dracula/konsole/issues/2
The issues are supposed to be corrected by this pull request:
https://github.com/dracula/konsole/pull/4
But no response from the maintainer ( @rishabhsrao ) received.
Is there any way to get the changes merged or at least reviewed?
PS: I don't mind to be the new maintainer of the project if needed.

Hi! Sorry, I couldn't get back to you sooner. I've merged your pull request. I'll close this issue for now. Please feel free to reopen if you'd like to discuss something else. Thanks!


Fixed Issue : grid_319_by_rahulchanumolu

#319
fixed issue grid 319 by rahul chanumolu

I will fix all these issues by the end of the day
Thank you

I am unable to delete all the unnessary files. I will be closing this PR and open an other PR.
Thank you,
Rahul C


A functional equal Spread<L, R> implementation is not accepted

The definition of Spread<L, R> works with this function:
function merge<T, U>(x: T, y: U): Spread<T, U> {
  return { ...x, ...y };
}

But a functional equivalent definition does not work:
type Spread<L, R> = {
  [P in keyof L | keyof R]: P extends keyof L
    ? P extends keyof R
      ? undefined extends R[P]
        ? L[P] | Diff<R[P], undefined>
        : R[P]
      : L[P]
    : P extends keyof R
      ? R[P] : never
}
function merge<T, U>(x: T, y: U): Spread<T, U> {
  return { ...x, ...y }; // Error: Type 'T & U' is not assignable to type 'Spread<T, U>'.
}

Why?
Is this wrong? The example works:
type A = {
    a: boolean;
    b: number;
    c: string;
};

type B = {
    b: number[];
    c: string[] | undefined;
    d: string;
    e: number | undefined;
};

type AB = Spread<A, B>;
// type AB = {
//     a: boolean;
//     b: number[];
//     c: string | string[];
//     d: string;
//     e: number | undefined;
// }

The conditional return type is deferred while inside the function, so you can't assign to it (return is effectively an assignment).

I still don't have the answer, why one definition works and mine not? I see them almost identical.


Make storage file extensions case insensitive

If you can give me a good reason to merge this I'll merge it, but I don't think Lukkit should modify things and instead leave it to the user.

@jammehcow Bukkit allows files with uppercase file extensions, so why shouldn't Lukkit?


repo maintaining

Hi, thanks for your contribution.
is this repo still being maintained ?  @guilyx
Thanks

Hey @TachikakaMin
Been a while since I've touched this, it's not maintained...
Got some new algorithms to implement, but definitely don't have the time to take care of this repo as of now


Account/Profile icons settings

Checklist

[X] I have used the search function to see if someone else has already submitted the same feature request.
[X] I will describe the problem with as much detail as possible.
[X] This issue only contains a request for one single feature, not multiple (related) features.

App version
6.100
Problem you are trying to solve
Hello everyone,
I think K9-Mail should implement a settings menu where the user can choose a custom account/profile icon, instead of trying to import the icon from contacts (feature which could be used alongside the custom picture)
Suggested solution
(Implement menu described above)
For example, we could have a settings menu in the specific account/profile, with the setting described above, and the user's going to be able to choose to either have no profile picture, import it from contacts (if the email is found in a contact), or to choose a custom picture.

I don't know how this would work with providers like gmail, yahoo, etc., but for people like me who have their own mail server this would be a great addition to this mail client of yours.

Duplicate of #5509


Integrate check style plugin

To omit code formatting comments in code review.

https://github.com/diffplug/spotless/tree/main/plugin-maven


Front-matter template (extra linebreak)

Browser: Opera
System: Mac Os
Extension: 2.4
This is my front-matter template:
---

__Source:__ {baseURI}
__Author:__ {byline}
__Language:__ English
__Type:__ Web

---

#eng

---

[[Index]] <

---

This is what appears in downloaded md file:
---

__Source:__ Link
__Author:__
__Language:__ English
__Type:__ Web

---

#eng

---

[[Index]] <

---

The line-break is doubled for some reason.

I can look into this. My guess is that it will be something to do with the difference between Mac and Windows new lines

This turned out to be a bit different than I imagined.
I was getting the front/back matter textboxes to auto-grow by making them a contenteditble span, which for some reason on opera inserted a bunch of unnecessary divs which got translated as extra newlines when I grabbed the text.
I've changed it to be an actual textarea now, with a different mechanism for auto-resizing, and that should resolve the issue.

One thing to note: when this version is released, you're going to have to update your frontmatter template, as it will have saved with the extra lines in there, and you'll want to remove them.

Sure! I will test it and report here!


[skwasm] Wonderous demo freezes when playing Youtube Video

Steps to Reproduce:

Open: https://wonderous-kevmoo.web.app/#/home
Scroll down in the Machu Picchu section
Try to play the national geographic youtube video

Results:
Application freeze. The following dumps to console:

Note: This seems to be skwasm specific, and doesn't reproduce on CanvasKit

@ditman ?

This is skwasm specific, so probably not actually directly related to renderer-agnostic platform view logic or anything like that

We don't even have a YouTube plugin or anything, it must be homebrew to Wonderous :P

fwiw, Wonderous is using the youtube_player_iframe pkg here
https://pub.dev/packages/youtube_player_iframe

I'm fairly certain this is fixed by this change here: https://github.com/flutter/engine/pull/51991

I'm watching the engine roll for https://github.com/flutter/engine/pull/51991 – once it's in the framework I'll rebuild so we can confirm!

Deployed with https://github.com/flutter/engine/pull/51991
... and patched in https://github.com/sarbagyastha/youtube_player_flutter/pull/932 fixed things!


Cannot go back to Home on mobile

Describe the bug
On desktop and tablet screens, the user can click the EM icon to go back to the home screen and then create a new network or open another recent one:

On mobile screens, the EM icon is hidden, because the network name and left/right drawer buttons take the whole header space--e.g. iPhone X:

The user can also use the browser's back button to go back to the home page but only if they started there. That's not possible if they got to the network page directly through a link.
Expected behavior
It should be easy or at least possible for a user to go to the home page from the network editor, no matter the screen size.

We could still add the EM icon to the header, but I'm afraid it would look too cramped, specially on very narrow screens:

Another option is to add the EM icon to the mobile menu:

I don't think the icon in the menu is clear as to what it does. I'd say its better to put it in the header even though it takes up some space. Its consistent with the way it works on desktop and its more obvious.


Broken code block parsing

In a code block like this:
c f a b = a `f` b

Remarkjs swallows the backticks to highlight the second f.
GitHub doesn't do that, so if the name is faithful, GitHub Flavored Markdown shouldn't do that either.
It should output the backticks verbatim.
All of these fail:
ŒfŒ
``f``
\`f\`

Also, because backtick cannot be escaped, there is no way to illustrate a code block inside a code block.
\```
wrong
\```

I'm using Remarkjs to present Haskell to beginners. This is fatal.
There is a workaround:
<script>
    /* WORKAROUND */
    window.onload = function () {
        document.getElementsByTagName('pre').forEach(function (e) {
            e.innerHTML = e.innerHTML.replace(/\\\`/g, '`');
        });
    };
</script>

As of version 0.11, via #192, this behavior is configurable and disabled by default.

Version 0.11 which fixed this has now been released.


Return timing data in response header(s)

Seeks to implement #357

[x] Minimal implementation that seeks to measure "the interval between when Seafowl finished reading the HTTP request body, and when it started writing the HTTP response body".
[x] Return that number inside X-Seafowl-Runtime (currently hardcoded)
[x] Do we want the user to be able to customize (e.g. full control of header name and it's contents?) UPDATE 20230619: not at this time
[x] Decide how that should be configurable e.g. via env var/seafowl.toml, or at the INFO/DEBUG level, or some other way
[x] Add test for uncached flow
[x] Add test for cached flow
[x] Assuming we want to generalize this, consider which, if any existing standards [1][2] might make sense for Seafowl UPDATE 20230619: not intending to generalize in this PR, but in future maybe

[1] https://www.w3.org/TR/server-timing/
[2] https://arrow.apache.org/datafusion/user-guide/sql/explain.html

Fwiw, I don't think this should be configurable (not for now at least); there are more pertinent knobs that still aren't customizable (e.g. see #50), and I'm wary of bloating up the config with less important items.
I think just extending the existing tests should be sufficient to merge this.

Fwiw, I don't think this should be configurable (not for now at least); there are more pertinent knobs that still aren't customizable (e.g. see #50), and I'm wary of bloating up the config with less important items.
I think just extending the existing tests should be sufficient to merge this.

Thanks Marko, yes probably too soon to add new config options. In the future depending how we want to allow user customization e.g. once we return >1 timing measurement, it will presumably be time to consider.
I will switch to X-Seafowl-Query-Time, unless anyone objects, thanks!
In terms of answering "when should Seafowl return this header", it seems to me we have two options:

Always
Return only in certain conditions, e.g. if the user-agent passes e.g. Seafowl-Trace: true in the request

IIUC I think @mildbyte prefers option 1, and @milesrichardson prefers option 2. (at least, I had that impression based on MM chats.)
What do you think @gruuya?

I would prefer option 1 (always) too. But just note that it won't always be available to client code in a cross-origin browsing context unless the header is included in the csv value of Access-Control-Expose-Headers.
But I'm hesitant to always return Access-Control-Expose-Headers. Perhaps that could be opt-in via a request flag. Or perhaps it's not a problem to always include it anyway, since any problem it would cause for someone running a proxy in front of seafowl, would only be relevant when they wanted the header, anyway - at which point they could add it to their own code where they specify allowed headers (that is, the relatively harmless failure case would be their own headers overriding a seafowl header that's meant to be opt-in anyway).
I had originally said that this shouldn't go into the Content-Type header alongside the schema. And it certainly feels like it would be overloading the semantic purpose of that header. But, after thinking more on it, I'm not convinced it's a problem to include timing data in addition to the schema. At first I thought it would be wrong because you don't want to cache it, but actually it makes sense to cache it, because it's timing how long it took to answer the original query, i.e. the one with the cached result. So it's totally sensible for the timing data to be included in the cached response that's served by Cloudflare, or even from your browser, since neither of those are re-executing the query, and the time it took when the query originally executed is still a relevant metric.
So another question would be: what response headers does Cloudflare save in its cached objects? We know that it saves Content-Type, which is maybe a point in favor of including timing data there too. But I don't know what it does with other response headers (I assume it defaults to saving them?)
@gruuya @mildbyte What do you think about including the timing data in the Content-Type header along with the schema?

I think just extending the existing tests should be sufficient to merge this.

Is this what you had in mind? Wasn't sure if you meant literally extending some already existing test, or adding to the existing test suite.
If there's some recommended way to hit both cached_.../uncached_ paths from one single test, that seems nice to avoid what would likely otherwise be code duplication.
I noticed certain macros e.g. #[case::uncached_post("POST", "/q")] that suggest maybe we could use uncached_get and cached_get to test both paths from a single test? Not sure if I'm understanding that correctly though.

One thing I just learned is that apparently even default CORS safelisted headers have some prerequisites:

For Content-Type: needs to have a MIME type of its parsed value (ignoring parameters) of either application/x-www-form-urlencoded, multipart/form-data, or text/plain.

In our case we have application/json so it seems we won't gain any benefit from shoehorning the timing data into content-type anyway.

@onpaws you could also simply extend the last test in that module; it hits both GET and POSTS endpoints. In addition to presence, I'd test that the value of the header is as expected (i.e. something that can be parsed as a float, between 0 and 1).

@gruuya

One thing I just learned is that apparently even default CORS safelisted headers have some prerequisites:

Read that a bit more carefully: those restrictions are for the request content-type header and do not apply to the response. (I made the same mistake the first two times I read it in the original issue 😸)

Oh damn, good catch :D

@onpaws you could also simply extend the last test in that module; it hits both GET and POSTS endpoints. In addition to presence, I'd test that the value of the header is as expected (i.e. something that can be parsed as a float, between 0 and 1).

Ended up doing this approach, cheers.
Now we append it to the existing test hopefully in the way you desired. While I was at it I renamed it to test_http_type_conversion_and_timing_header which is perhaps a bit long but hopefully makes things clear for future us/contributors.
Agreed checking the header is "as expected" and added a second test for that.
I wasn't initially sure the lines of responsibility/best ways to handle weird edge cases when parsing floats from strings. Along the way learned Rust core now uses Eisel-Lemire. Infinity and NaN scenarios were first a concern but IIUC it seems like .is_finite() handles both, which I believe should cover us. If I missed any cases please lmk.
Verified the tests work by temporarily commenting out the header injection code, and re-running, and got the expected result.

before/after
the "before" test run, expected to fail b/c I commented out the header code
running 2 tests
test frontend::http::tests::test_http_type_conversion_and_timing_header::case_2_uncached_post ... FAILED
test frontend::http::tests::test_http_type_conversion_and_timing_header::case_1_cached_get ... FAILED

failures:

---- frontend::http::tests::test_http_type_conversion_and_timing_header::case_2_uncached_post stdout ----
thread 'frontend::http::tests::test_http_type_conversion_and_timing_header::case_2_uncached_post' panicked at 'assertion failed: resp.headers().contains_key(QUERY_TIME_HEADER)', src/frontend/http.rs:1596:9

---- frontend::http::tests::test_http_type_conversion_and_timing_header::case_1_cached_get stdout ----
thread 'frontend::http::tests::test_http_type_conversion_and_timing_header::case_1_cached_get' panicked at 'assertion failed: resp.headers().contains_key(QUERY_TIME_HEADER)', src/frontend/http.rs:1596:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    frontend::http::tests::test_http_type_conversion_and_timing_header::case_1_cached_get
    frontend::http::tests::test_http_type_conversion_and_timing_header::case_2_uncached_post

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 188 filtered out; finished in 0.04s

the "after" run
running 2 tests
test frontend::http::tests::test_http_type_conversion_and_timing_header::case_2_uncached_post ... ok
test frontend::http::tests::test_http_type_conversion_and_timing_header::case_1_cached_get ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 188 filtered out; finished in 0.04s

     Running unittests src/main.rs (target/debug/deps/seafowl-49a42c42648f96f5)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/main.rs (target/debug/deps/main-084a7a60e84333ec)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 56 filtered out; finished in 0.00s

CI passed and it seems we've probably reviewed this PR sufficiently. Any objections to merging?

I haven't reviewed the code (and don't intend to), but once you merge it, can you update the docs in the marketing repo to reference the header?

Sure! How do you feel about e.g. this

with some basic X-Seafowl-Query-Time example similar to the other ones on this page?

Thanks Marko! Merging now


Support host path volumes

I use onechart a lot for setting up local integration test environments. Sometimes I need to mount test data from the host but it seems onechart doesn't allow that, unless I'm missing something.

We can add hostpath, it is not a big thing, and a common usecase.
It will take a week or so due to things.. but I will be back.
In the meantime you can postprocess with Kustomize perhaps?

Fixed in https://github.com/gimlet-io/onechart/releases/tag/v0.39.0


Proposal for removing locations from py-nepali and creating a new repository for maintaining locations.

Problem Statement
The APIs for the locations don’t seem right in this py-nepali project. Nepali locations are data, not functional code, and this data should be able to be used by any other programming language or project.
Proposed Solution
Let’s create a new repository nepali-locations. This repository will be fully responsible for maintaining the nepali locations, whether it is a typo, incorrect information,  or updates from the government.
Advantages

Remains as a central database.
Can be used in multiple projects, regardless of its programming language or technology.
Versions can be maintained if the data gets updated.
The data can be served via Github pages.

Disadvantages

Projects cannot directly integrate with the data.

We will have to download the data and integrate it into their project manually
Or, we can use the data URL, but the cost of HTTPS requests is too high in terms of performance and time.

If there is any issue with the data, we will have to download the new version data and replace the existing data.

Directory Structure
|---src/
|   |---main.yaml
|
|---dist/
|   |---provinces.json
|   |---districts.json
|   |---municipalities.json
|
|---scripts/
|
|---Makefile
|---README.md
|---LICENSE

The most practical approach for distributing the data in this case would be to provide downloadable .json files(possibly as releases), rather than having an actual API endpoint that serves the data.


Support PDF and TIFF

This script is so cool! I would really appreciate support for printable files like PDF or/and TIFF

PDF is now supported as of 2.3.0!


Convert to Plugin

Embla has a plugin system now.
Convert this to use the new plugin API.

We also need to add it to the documentation website!

We should also remember to add an example to the examples page on the documentation website 🙂.
My second child was born a week ago so I’m going to be pretty busy for a period of time 😅. @xiel, do you want me to add you to the embla-carousel CodeSandbox group?
Thank you for your awesome work on this package.
Cheers,
David

@davidcetinkaya Wow, congrats! Take your time 👼
I'll try to convert it into a plugin the next few days and use your Autoplay plugin as an implementation guide.
I will definitely notify you if I run into any problems, but please do not feel pressured to answer swiftly, there are more important things in life.
I have not worked with CodeSandbox Groups yet, do you have a link to it? If I can add examples there, sure add me 👍

Thanks @xiel,
I've invited you to the team now. I used your GitHub profile email. Feel free to change and/or update other sandboxes if you want, I trust you 🙂.

Hello again Felix (@xiel),
I've created a page for the Wheel Gesture plugin here. Feel free to add content to it if you want 🙂.
Cheers,
David

Awesome, the conversion to a proper plugin is released as version v2.0.0. It was a pretty easy transformation and really cool that you only destroy & re-init when options change :)
I'll send you a PR for the page in the docs tomorrow evening.
Cheers,
Felix


New test scenario for configuration binding - strings

Improve testig.

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (8484c3f) 0.00% compared to head (308d7a3) 0.00%.

Files
Patch %
Lines

...ron/configuration/DefaultConfigurationBinding.java
0.00%
2 Missing :warning:

Additional details and impacted files
@@          Coverage Diff          @@
##            main     #15   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          7       7
  Lines        237     239    +2
  Branches      24      24
=====================================
- Misses       237     239    +2

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


Added timestamp to temp folders for secrets related checks

Context
Added a timestamp to the checks. When running prowler in parallel for multiple zones, the SECRETS_TEMP_FOLDER file is overwritten"
Description
The five checks have been changed to include a timestamp in the file name to avoid race conditions:

Before: SECRETS_TEMP_FOLDER="$PROWLER_DIR/secrets-$ACCOUNT_NUM"
After: SECRETS_TEMP_FOLDER="$PROWLER_DIR/secrets-$ACCOUNT_NUM-$PROWLER_START_TIME"

License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks @sectoramen


Error about 'mmdet'

Good work for 6D object pose estimation!
However, an error occurred, when I was running 'python tools/test.py --config configs/bop/r50_ycbv_pbr.py --checkpoint checkpoints/radet_ycbv_pbr.pth --format-only --eval-options jsonfile_prefix=work_dirs/results/radet_ycbv_pbr'. It seems to relate to the 'mmdetection' package. Could you please tell me how to install the correct 'mmdetection' package or some other solutions? Thank you!
Detailed information:
Traceback (most recent call last):
File "/data3/tantao/my_projects/RADet-main/test.py", line 13, in
from radet.apis import multi_gpu_test, single_gpu_test
File "/data3/tantao/my_projects/RADet-main/radet/apis/init.py", line 1, in
from .inference import (async_inference_detector, inference_detector,
File "/data3/tantao/my_projects/RADet-main/radet/apis/inference.py", line 10, in
from radet.core import get_classes
File "/data3/tantao/my_projects/RADet-main/radet/core/init.py", line 7, in
from .post_processing import *  # noqa: F401, F403
File "/data3/tantao/my_projects/RADet-main/radet/core/post_processing/init.py", line 1, in
from .bbox_nms import fast_nms, multiclass_nms, multiclass_vote
File "/data3/tantao/my_projects/RADet-main/radet/core/post_processing/bbox_nms.py", line 3, in
from mmdet.ops import vote_nms
ModuleNotFoundError: No module named 'mmdet.ops'
Pip list:
Package             Version  Editable project location

addict              2.4.0
certifi             2023.5.7
contourpy           1.1.0
cycler              0.11.0
Cython              0.29.35
fonttools           4.41.1
importlib-metadata  6.8.0
importlib-resources 6.0.0
Jinja2              3.1.2
kiwisolver          1.4.4
markdown-it-py      3.0.0
MarkupSafe          2.1.3
matplotlib          3.4.3
mdurl               0.1.2
mkl-fft             1.3.1
mkl-random          1.2.2
mkl-service         2.4.0
mmcv                1.3.18
mmcv-full           1.3.18
mmdet               3.1.0    /data3/xx/download/mmdetection-main
mmengine            0.8.2
mmpycocotools       12.0.3
numpy               1.24.3
opencv-python       <IP_ADDRESS>
packaging           23.1
Pillow              10.0.0
pip                 23.1.2
platformdirs        3.9.1
pycocotools         2.0.6
Pygments            2.15.1
pyparsing           3.0.9
pyproject           1.3.1
python-dateutil     2.8.2
PyYAML              6.0.1
RADet               1.0.0    /data3/xx/my_projects/RADet-main
rich                13.4.2
scipy               1.11.1
setuptools          67.8.0
shapely             2.0.1
six                 1.16.0
termcolor           2.3.0
terminaltables      3.1.10
tomli               2.0.1
torch               1.10.0
torchaudio          0.10.0
torchvision         0.11.0
tornado             6.3.2
typing_extensions   4.7.1
wheel               0.38.4
yapf                0.40.1
zipp                3.16.2

Hi, sorry about the problem, and thanks for your interest in our work. There are some minor issues in the code, and I will fix them ASAP.

Sorry about the delay. The code has been fixed. Please check again.

Hi, @YangHai-1218
I have met the same problem. I am not sure which version of the mmdet should I install.
Thank you for your time and consideration.


Cell three dot button not working

Environment data

VS Code version: c3f12631

Jupyter Extension version (available under the Extensions sidebar): v2021.8.1013163132

Python Extension version (available under the Extensions sidebar): v2021.6.944021595

OS (Windows | Mac | Linux distro) and version: Pop!_OS 20.04 LTS x86_64

Python and/or Anaconda version: Python 3.8.5

Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda

Jupyter server running: Local

Expected behaviour

Would expect to be able to right-click on the three dot button.
XXX
Actual behaviour
deletes the cell
XXX
Steps to reproduce:
Just trying to use the notebook in an usual manner, after the new UX update.

Fixed it by tinkering my setting.json :
{
    "workbench.iconTheme": "material-icon-theme",
    "workbench.colorTheme": "Tinacious Design",
    "editor.minimap.enabled": false,
    "workbench.editorAssociations": {
        "*.ipynb": "jupyter-notebook"
    },
    "ponicode.token": "91920adf-24aa-4b70-9f87-c263c0c30e84",
    "workbench.startupEditor": "none",
    "notebook.cellToolbarLocation": {
        "default": "right",
        "jupyter-notebook": "left"
    },
    "editor.inlineSuggest.enabled": true,
    "notebook.lineNumbers": "on",
    "jupyter.experiments.optOutFrom": [

    ],
    "notebook.cellFocusIndicator": "border",
    "notebook.cellToolbarVisibility": "hover",
    "notebook.consolidatedRunButton": true,
    "jupyter.addGotoCodeLenses": false,
    "jupyter.enableNativeInteractiveWindow": true,
    "jupyter.themeMatplotlibPlots": true,
    "jupyter.useDefaultConfigForJupyter": false,
    "jupyter.exportWithOutputEnabled": true,
    "notebook.compactView": false,
    "notebook.insertToolbarLocation": "notebookToolbar",
    "notebook.outline.showCodeCells": true,
    "notebook.showFoldingControls": "always"
}

Not exactly sure, what fixed the issue. However, the run cells above and the run cells below buttons are gone and compacted within the execute cell button as a drop-down.

@appledora The setting that controls whether run above/below appears in the dropdown or cell toolbar is notebook.consolidatedRunButton. To put those buttons back into the toolbar, you'll want to change that setting to false.

@appledora The setting that controls whether run above/below appears in the dropdown or cell toolbar is notebook.consolidatedRunButton. To put those buttons back into the toolbar, you'll want to change that setting to false.

Thanks @joyceerhl . I had totally missed that option!


XXX Unknown Currency when importing accounts from GNUCash desktop

Steps to reproduce the behaviour

from GNUCash desktop, export accounts
from gnucash-android, import GNUCash XML

Expected behaviour
Currency for all imported accounts should be the same as te currency in the original (i.e. desktop) accounts configuration; it should be consistent with the default currency setting in the gnucash-android app.
Actual behaviour
All accounts have XXX Unknown currency.
Manually adjusting currency setting for all accounts is a pain, there is no way to propagate the change to all subaccounts.
Software specifications

GnuCash Android version: 2.3.1
System Android version: Android 7,0
Device type: Galaxy A5 2016

Duplicate #764 which is fixed in develop branch and in 2.4.0-beta1


Difference between cask 2 and cask 3

Bro whats the difference between the 2 both work fine should i uninstall cask 2?

Cask 3 is for iOS 14 and up while Cask 2 is for iOS 12 and 13. Cask 2 or 3 should be used based off of the appropriate iOS version

Thanks Ryan


🐛 [cloud_firestore] Pagination bug on web release mode only

Bug report
Describe the bug
query.startAfterDocument(lastDocSnapshot); is not working some time on release mode only. In my app, there are five pages in my firestore which can be fetched on dev mode correctly, but on release mode, there are only two pages.
Steps to reproduce
'''
firebase_core: ^1.19.2
firebase_auth: ^3.4.2
cloud_firestore: ^3.3.0
'''
Seems like latest V9.8.1 js sdk is buggy, similar issues :
#8235
#9089
I fixed #9089 by set persistence manually as #9117 mentioned. But after found this issue, the right thing is to roll back to previous version.

I passed around by roll back to previous version in both pubspec.yaml and index.html
'''
dependencies:
flutter:
sdk: flutter
firebase_core: ^1.19.2
firebase_core: 1.19.1
#https://github.com/firebase/flutterfire/issues/9166
firebase_core_web: 1.6.6
firebase_auth: any
cloud_firestore: any
cloud_functions: any
firebase_storage: any
firebase_analytics: any
firebase_messaging: 11.4.4
firebase_crashlytics: any
firebase_performance: any
firebase_app_check: any
'''
'''

'''

@LiangHuangBC
Can you provide a complete minimal reproducible code sample alongwith actual vs expected results ?
Also please provide your index.html where you are using latest V9.8.1 js sdk.

My JS SDK is injected by dart, there is nothing in my index.html.

Can you provide a complete minimal reproducible code sample alongwith actual vs expected results ?

We have a release to fixing web persistence coming out today. Thanks.


convert uniqueIdOfCurrentPattern to string  and fix bug of simple pattern return more than 9 digits

fix this bug
https://github.com/freesuraj/SPPatternLock/issues/8

Hi Ahmed,
Thanks for touching the issue.
However, it appears that the solution does not produce a unique ID for a given pattern. Case in point: say for a 4x4 pattern. I touch points 1, 0 and 4 the uniqueID (String) generated is 104. I get the same uniqueID when I touch points 10 and 4.
If you could review this, I would be glad to merge your pull request.
Thank you,
Suraj

ok i can add any separator character between each number like "1,0,4" and other "10,4"
i try to convert it because i don't know
how i can get the sequence of touched nodes from your unique ID ?

That's a good question Ahmed.
When it was designed, the pattern is translated into an unique code. Technically it won't be possible to know the exact sequence of the numbers you selected. The way it would work is like encrypted password. Instead of decrypting the password and checking if it is equal to the input value, you encrypt the input and see if it matches with the existing value. I would think this should be suffice for a pattern lock style password protection.
Is there any particular reason you need to get the sequence of the numbers used in the pattern? If it does indeed make sense, I guess you can define a parameter ( or a function) to get back the sequences of the input.

i will make this

@freesuraj  can you check now

This looks good. Looks like the LockScreen already had a parameter to hold the cells in order.


Added a Web dev project.

Here I added a web dev project that I made, which is a responsive webpage made using just html and css.

okay sure


Fixed [connextion] typo in documentation page

Changes proposed in this pull request:

Fixes a small typo in the documentation (request.rst) and in the README.md where connexion was typed as connextion.

Thanks!

:+1:


Create isRoleEditable.js

Type

[x] Bug Fix
[ ] Functions: $isRoleEditable
[ ] Callbacks: <Callback Name>
[ ] Handlers: <Handler Type>
[ ] Others: ______

Dependencies (Third Party Modules) needed: <Name | Github Link> (Maximum: 20MB~ size)
Want a credit? Discord tag or other social media link: BEAST#0001
Referenced Issue: #NaN (Answer for an issue, if any)
Description
Pull Request Description Here

can u add new functions and make it into 1 pr

Ok


Misleading header in sample_sheet.csv

Description of the bug
In https://github.com/kherronism/rewarewaannotation/blob/master/test-datasets/kniExce/samplesheet.csv#L1
file_1 and file_2 should be file1 and file2
Command used and terminal output
No response
Relevant files
No response
System information
No response

Thank you @kherronism


panic: Font not found: Times New Roman

运行示例的时候总出现字体错误，安装了之后也不行，不知道啥原因

what os is it?

If your os is windows, please update spx and try again.


adding a illustration for MaxSumForNonAdjacentElements

I added another implementation on your MaxSumForNonAdjacentElements, which is a same idea but easier to understand.

Great. I will look at it Sent from Yahoo Mail for iPhoneAt Jun 27, 2015, 5:14:59 PM, Ethan Wang wrote:I added another implementation on your MaxSumForNonAdjacentElements, which is a same idea but easier to understand.
You can view, comment on, or merge this pull request online at:
https://github.com/mission-peace/interview/pull/2
Commit Summary
adding a illustration for MaxSumForNonAdjacentElements
File Changes
A
src/com/interview/dynamic/MaxSumForNonAdjacentElements.class
(0)

M
src/com/interview/dynamic/MaxSumForNonAdjacentElements.java
(24)

Patch Links:
https://github.com/mission-peace/interview/pull/2.patch
https://github.com/mission-peace/interview/pull/2.diff
—Reply to this email directly or view it on GitHub.

I like your recursive approach. But since you are doing doing memoization it will be exponential time algorithm. Can you put that in the comment?

Updated the code with this solution. Closing the pull request.


Add feature to stop every other lighting effect when sound is detected

Hello.
It would be nice if you can add an option to fully turn off all the other lighting effects while music is playing, not dim them. It would be really usefull on music eq, but if you can add it to all effets it would be even better.
I don't any programming knowledge, but I can help you beta test your builds.

Well that could be great but there must be a control for windows sounds. I wanted to share that point for implementing it. Maybe an if control for longer 3 sec or maybe a control for sound source


Another reply exhaustion scheme.

Replies are exhausted in order unless there is a keep flag. I'm proposing a method to bring back all the replies only after they have all been exhausted. This is like turning the card deck discard pile back over when the cards are all gone.
I'm not sure how this would be implemented as it applies to the entire reply set or gambit.  Perhaps like this..
+ {reload replies} test input
- reply one
- reply two
- reply three

Good idea, what about this:
+ test input
- {reload} reply one
- {reload} reply two
- reply three

Makes for a more logical syntax and also allows to select which replies are reloaded. Same with {keep} but they are reloaded once all replies have been exhausted.

This issue is loosely related to GH-234 and really boils down to how replies are exhausted and used. This was the idea we are looking at implementing:
  // keep = ['keep', 'exhaust']
  // order = ['random', 'ordered']

  // verbose
  + {keep=keep, order=random} test random

  // shorthand
  + {exhaust, random} test random
  + {keep, ordered} test random

  // shorthand separate syntax
  + {exhaust} {random} test random
  + {keep} {ordered} test random

  // parser error
  + {keep, ordered, random} test random

This should also be available on the topic and by global option to set the default values.

This is now in for v1


Simplify the database layer

Simplify the database calls and logic.  Use dynamodbav to help marshaling and umarshaling responses.  https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/dynamodbattribute/#Marshal
Use more PutItem to simplify logic and reduce the amount of update functions

@kddejong this can be closed now, yea?

Closing as we have implemented the new DB layer with this simplified logic.


python312Packages.publicsuffixlist: <IP_ADDRESS>41216 -> <IP_ADDRESS>41217

Changelog: https://github.com/ko-zu/psl/blob/v<IP_ADDRESS>41217-gha/CHANGES.md

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365807

x86_64-linux

:fast_forward: 4 packages marked as broken and skipped:

python311Packages.parsedmarc
python311Packages.parsedmarc.dist
python312Packages.parsedmarc
python312Packages.parsedmarc.dist

:white_check_mark: 15 packages built:

parsedmarc
parsedmarc.dist
pretalx
pretalx.dist
pretalx.static
python311Packages.checkdmarc
python311Packages.checkdmarc.dist
python311Packages.publicsuffixlist
python311Packages.publicsuffixlist.dist
python312Packages.checkdmarc
python312Packages.checkdmarc.dist
python312Packages.publicsuffixlist
python312Packages.publicsuffixlist.dist
trustymail
trustymail.dist


[Extensions] Consider use of JSON Schema for representation of Component capabilities

Current Behavior
Reflect upon - https://github.com/AZaitzeff/cytoscape_js_schema/blob/main/cytoscape_schema.json
Desired Behavior

Implementation

Acceptance Tests

Mockups

Contributor Guides and Handbook

📚 Meshery Build and Release Strategy
🎨 UI Design For Meshery Extensions Figma in Figma (open invite)
📚 Meshery Extensibility Providers
⌨ Meshery API Docs
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@aabidsofi19 @captain-Akshay @Yashsharma1911


new stable release

Hi,
Is it possible to get new stable release in the near future?
Best regards,
Michal

Hi Michal,
is there anything missing or wrong?

I was asking for a new stable release, because right now in project we need to block this bundle on certain commit
"hampe/zurb-ink-bundle": "dev-master#3dc9f659d11f5d1003f2c89c3c30afbd6df0bcd2",
We need latest master, because it fixes dependency problem https://github.com/thampe/ZurbInkBundle/commit/3dc9f659d11f5d1003f2c89c3c30afbd6df0bcd2 with new phpcollection/phpcollection.
It would be great if you would tag a new release and update package informations on https://packagist.org/packages/hampe/zurb-ink-bundle
Best regards,
Michal

Hi,
now everything should be correctly tagged and updated.
Thanks for your help,
Thomas

@thampe
Thank you!


Expose the ability to configure the SCC attachment schedule in the SCC DA

Configuring the schedule is a common use case (it is actually explicitly asked in the SCC UI when creating an attachment).
So we should expose 1 more variable for this in the SCC DA instead of always creating a daily schedule (default it to daily schedule though).

Probably adding a simple value parameter for "default schedule" would be a good starting point.
Having a full structure for the attachment configuration (with parameters, exclusions, scheduling, etc) would be a long term goal, but if all the new attachments are created with the supplied default (e.g. set to 30 days) that would be enough to avoid higher cost of multiple daily scans.

yep agree, thats the plan


Get rid of SoftDelete in Threads and Participants

How can I get rid of the SoftDelete in Threads and Participants?
In my case it does not make sense and I think if a user deletes something privat it really should be deleted physically...

forceDelete();

Well, it seems I have to rewrite many of the code (and then i am unable to upgrade if a newer version is release).
eg. a user leaves a thread:
$thread->removeParticipant(Sentinel::getUser()->id);

Heres my quick and dirty workaround when a user leaves a thread:
    	$thread->removeParticipant(Sentinel::getUser()->id);

    	// Workaround:

    	Participant::where('deleted_at', '>', Carbon::create(2000, 1, 1, 0, 0, 0))->forceDelete();

    	$participants = $thread->participantsUserIds();

    	if (!count($participants))
    	{
    		$thread->messages()->delete();
    		$thread->forceDelete();
    	}

@sugo23 to increase the overall speed of your app and decrease the amount of queries in one request I suggest to put the "clear" queries in a job.
This way you can dispatch this job if a user leaves a thread but don't have to do this in the request.

@sugo23 it looks like your solution will work fine, but I'll second @Gummibeer's suggestion to run this in a separate job queue. I'd also take a look at TightenCo's Quicksand, which might be able to help you out as well.


[MNT] Distance module cleanup

Reference Issues/PRs
#2161

What does this implement/fix? Explain your changes.
This PR is the first PR of a series that aim to clean up and improve the test coverage of the distance module. To begin this PR adds an 'elastic' directory for all the elastic distances to sit inside. In addition all the elastic specific tests have been moved inside this directory. Furthermore, the distance module "_utils.py" file has been removed and the utils functions have been placed into the appropriate directory inside aeon/utils. Furthermore, these utils functions now have through testing greatly improving their coverage.

Move all the elastic distances inside their own directory with their own specific tests
Removed the utils file and moved these functions to aeon/utils with extended testing
Add new flags to the distance module to better categorise them

Does your contribution introduce a new dependency? If yes, which one?

Any other comments?

PR checklist

For all contributions

[x] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

For new estimators and functions

[x] I've added the estimator to the online API documentation.
[x] (OPTIONAL) I've added myself as a __maintainer__ at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.

For developers with write access

[x] (OPTIONAL) I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

Since begining this PR we have had further discussion in the slack channel talking about adding a pointwise directory and potentially a cross-correlation. I will add these in a follow up PR so this isn't overwhelming in scope.


reset() does not clear private (i.e. _ ) attributes

Describe the bug
reset() clears the state of public attributes but the private attributes continue to keep their values.
This happens when calling the reset of all substates from a single state using
"await self.get_state" and then calling the reset on the result.
Print statements before and after the reset show the public attributes are cleared but the private ones are not.
Expected behavior
both private and public state attributes should be cleared when reset is called
Specifics (please complete the following information):

Python Version: 3.12.3
Reflex Version:  0.6.2a1
OS: Ubuntu
Browser (Optional):

Interested in submitting a PR? This is a good first issue

Have you tried on 0.5.10? Is this a regression? Does it only apply to get_state, or do you also see this when calling self.reset()

Currently it's buried in my project code so I'll create a separate testcase.
Is there a good way to do that so it can be included as a regression test for you or should I just make a github repo for it?
I can also try doing a PR...

To answer your questions:

It fails in both 0.5.10 and 0.6.1
It does not require get_state to fail. I fails in the simplest possible scenario.

Here is a quick test case that illustrates the issue:
https://github.com/bertbarabas/reflex_4065

we have tests/units/test_state.py::test_reset, but i don't think it tests backend vars, so that could probably be updated to include resetting at least one backend var
diff --git a/tests/units/test_state.py b/tests/units/test_state.py
index 2bb690247..f6dd04659 100644
--- a/tests/units/test_state.py
+++ b/tests/units/test_state.py
@@ -105,6 +105,7 @@ class TestState(BaseState):
     complex: Dict[int, Object] = {1: Object(), 2: Object()}
     fig: Figure = Figure()
     dt: datetime.datetime = datetime.datetime.fromisoformat("1989-11-09T18:53:00+01:00")
+    _backend: int = 0

     @ComputedVar
     def sum(self) -> float:
@@ -706,6 +707,7 @@ def test_reset(test_state, child_state):
     # Set some values.
     test_state.num1 = 1
     test_state.num2 = 2
+    test_state._backend = 3
     child_state.value = "test"

     # Reset the state.
@@ -714,6 +716,7 @@ def test_reset(test_state, child_state):
     # The values should be reset.
     assert test_state.num1 == 0
     assert test_state.num2 == 3.14
+    assert test_state._backend == 0
     assert child_state.value == ""

     expected_dirty_vars = {

This seems to reproduce the issue on my end.


Update php-sdk-binary-tools base URL

Change
From: https://github.com/OSTC/php-sdk-binary-tools
To: https://github.com/Microsoft/php-sdk-binary-tools

Already updated.


Update rhel readme

Resolves: https://github.com/toolbx-images/images/pull/87#issuecomment-1625402576

Thanks!


sensor_msgs/msg/Image topic not bridged

Hi @TommyChangUMD
Should this package be able to bridge image topics of type sensor_msgs/msg/Image  (ros2)<-> sensor_msgs/Image (ros1) without any additional configuration/setup (e.g. no custom packages)?
I'm not seeing any bridged when I try: ros2 run ros1_bridge dynamic_bridge, but I noticed that there is a pairing between sensor_msgs/msg/Image <-> sensor_msgs/Image when I run ros2 run ros1_bridge dynamic_bridge --print-pairs

It should, if you see the pair listed when you run ros2 run ros1_bridge dynamic_bridge --print-pairs .
Let me try it myself later this week and get back to you.

Okay thanks @TommyChangUMD .
For context, the bridge I'm trying to form is between the following:

Jetson Orin with ROS2 Humble running zed-ros2-wrapper (https://github.com/stereolabs/zed-ros2-wrapper) and ros-humble-ros1-bridge-builder
Raspberry PI with ROS1 Noetic
PC with ROS1 Noetic

I'm pretty sure I have the networking configured correctly as I see a few basic topics bridged such as /rosout.
Ultimately, I want to see all topics shared among all machines.
But my immediate goal is to be able to see the zed wrapper's image topics on the rpi and laptop.

Hi @TommyChangUMD
I was able to bridge sensor_msgs/msg/Image (ros2)<-> sensor_msgs/Image (ros1)  (by default) by specifying the following flag (the images are being published from my ROS2 machine):
ros2 run ros1_bridge dynamic_bridge --bridge-all-topics or ros2 run ros1_bridge dynamic_bridge --bridge-all-2to1-topics

Hi @TommyChangUMD
I was able to bridge sensor_msgs/msg/Image (ros2)<-> sensor_msgs/Image (ros1)  (by default) by specifying the following flag (the images are being published from my ROS2 machine):
ros2 run ros1_bridge dynamic_bridge --bridge-all-topics or ros2 run ros1_bridge dynamic_bridge --bridge-all-2to1-topics


UCX Support

This PR is just for review. This can be merged once buffer header is reverted once UCX fix the recvSize issue.

Getting the following error
configure: WARNING: doxygen not found - will not generate any doxygen documentation
/tmp/ucx.Uuhc5l/contrib/../configure: line 18697: doxygen: command not found
configure: WARNING: doxygen version  is bad. Required version: 1.8.6 and above
configure: error: NUMA headers not found. Please reconfigure with --disable-numa.  Warning: this may have negative impact on library performance. It is better to install libnuma-devel package
/tmp/ucx.Uuhc5l
/home/skamburu/.cache/bazel/_bazel_skamburu/4ac6bfc6a03fe8309a249edc97dfd73c/execroot/main/bazel-out/k8-fastbuild/bin/external/ucx

Another error
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
autoreconf: configure.ac: tracing
fatal: not a git repository (or any of the parent directories): .git
autoreconf: running: libtoolize --copy
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
autoreconf: running: /usr/bin/autoconf
fatal: not a git repository (or any of the parent directories): .git
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
fatal: not a git repository (or any of the parent directories): .git


[Feature]: No Stamina Consumed option for Zip Lines

Request Description
This is pretty self-explanatory; a Zip Line option to not consume the player's stamina when using the entity.
Target Date
No response

Added in 1.6.5


Function call argument leak

Cause: When Selene obtains parameters from Lua to call a registered function it uses sel::detail::_check_get. If parameter types don't match Lua raises an exception resulting in a longjump. That in turn skips the destructors of already unpacked parameters.

Two solutions come to mind:

Drop the checking part and fall back to default values as other places in Selene do which use sel::detail::_get or sel::detail::_get_n.

This conflicts with using references to registered types as there is no way to make a null reference on error. Dropping support for those references seems not attractive.
2. Do the type checking within Selene instead of relying on Lua.  The exception will then be caught within sel::detail::_lua_dispatcher an handed cleanly to Lua's error handling.
Currently sel::detail::_check_get is only called through sel::detail::_get_args within overloads of sel::BaseFun::Apply(...) which in turn is protected by sel::detail::_lua_dispatcher. But I see other places where use of the checked variant could be beneficial that are not protected by a try statement, such as sel::Selector::GetTuple() and sel::Selector::operator T&(). There it seems desirable to being able to safely obtain references to objects of previously registered classes. The breaking change is then that Selene would let exceptions escape.

Like the other PR, do you mind squashing these commits as well? Fix looks good

Squashed.


glb, gltf model viewer on create

As a User, I want to see the (3D) preview of what I'm going to mint
small package if possible or reuse google/model-viewer

similar to this #3273?

Oops!


⚠ ClamAV has degraded performance

In a41cf5f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 532 ms

Resolved: ClamAV performance has improved in 4b615d0.


Added Option to edit an existing file

I added the option to edit an existing file in the text edit app

Sorry, there were a few errors in this code.


proposal for issue #1577

To allow to have default app_labels in the GRAPH_MODELS:

added option --app-labels accepting one or more arguments
get default for app-labels from GRAPH_MODELS["app-labels"]
support both --app-labels and positional arguments for app_label

Coverage decreased (-71.3%) to 0.0% when pulling d4d9ebd7fe1b59de42fae4dbac1feb5ae7be379c on sdementen:master into 9bc21b07d97a82344c63f2e762dbe3df081e45bf on django-extensions:master.

Coverage decreased (-71.3%) to 0.0% when pulling d4d9ebd7fe1b59de42fae4dbac1feb5ae7be379c on sdementen:master into 9bc21b07d97a82344c63f2e762dbe3df081e45bf on django-extensions:master.

Could you make this simpler ?
Thinking that some thing like this would be enough:
diff --git a/django_extensions/management/commands/graph_models.py b/django_extensions/management/commands/graph_models.py
index 8cb4a57..6da4a08 100644
--- a/django_extensions/management/commands/graph_models.py
+++ b/django_extensions/management/commands/graph_models.py
@@ -195,7 +195,11 @@ class Command(BaseCommand):
     def handle(self, *args, **options):
         args = options['app_label']
         if not args and not options['all_applications']:
-            raise CommandError("need one or more arguments for appname")
+            default_app_labels = getattr(settings, 'GRAPH_MODELS', {}).get("APP_LABELS")
+            if default_app_labels:
+                args = default_app_labels
+            else:
+                raise CommandError("need one or more arguments for appname")

         # Determine output format based on options, file extension, and library
         # availability.

Also we need to update the docs as well..

you're right, much simpler!
what do you want me to do? another PR ? or you convert your patch in a PR ?
On Tue, Dec 8, 2020 at 3:06 PM trbs<EMAIL_ADDRESS>wrote:

Could you make this simpler ?
Thinking that some thing like this would be enough:
diff --git a/django_extensions/management/commands/graph_models.py b/django_extensions/management/commands/graph_models.py
index 8cb4a57..6da4a08 100644--- a/django_extensions/management/commands/graph_models.py+++ b/django_extensions/management/commands/graph_models.py@@ -195,7 +195,11 @@ class Command(BaseCommand):
def handle(self, *args, **options):
args = options['app_label']
if not args and not options['all_applications']:-            raise CommandError("need one or more arguments for appname")+            default_app_labels = getattr(settings, 'GRAPH_MODELS', {}).get("APP_LABELS")+            if default_app_labels:+                args = default_app_labels+            else:+                raise CommandError("need one or more arguments for appname")
     # Determine output format based on options, file extension, and library
     # availability.

Also we need to update the docs as well..
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/django-extensions/django-extensions/pull/1610#issuecomment-740639588,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ6S5TAWSV7JKSTJ2QMLTTSTYXG3ANCNFSM4UQLB3TA
.

is this better ? I used app_labels instead of APP_LABELS to be consistent with the casing of the other options

Thanks !


[terra-form-input] Numeric Input Behaves Incorrectly in MS Edge and IE 11

Bug Report
Description
In Microsoft browsers, the numeric input seems to behave like a clearable text input.
Steps to Reproduce

Use a numeric input.
Observe the behavior.

Additional Context / Screenshots

Expected Behavior
See screenshot.
Environment

Component Name and Version: terra-form-input v2.35.0
Browser Name and Version: Microsoft Edge, IE 11
Operating System and version (desktop or mobile): Windows

This is native behavior to Edge.  We can't fix this unless (and until) we get a first class numeric component.


Feature Request: Cross session command history

Apparently there are community-provided solutions for this, but it would be nice to have a built-in solution for saving command history across sessions, similar to Bash.
@jpsnover https://twitter.com/jsnover/status/919145208255799296

Unless I'm doing something special I'm aware of, doesn't PSReadLine do this by default in Core?
Can you provide what specific bash-like functionality you are looking for?

Yes, PSReadLine does this by default.

So, i downloaded PowerShell 6.0.0-beta.7. The desired functionality would be that the history command would show the history from the previous session, without any additional work

@CarltonSemple Correct. Assuming you don't have something in your profile that is disabling PSReadLine, and assuming you are not making any modifications to the default install 6.0.0-beta.7 and 6.0.0-beta.8 should maintain CLI history between sessions.

@markekraus I deleted my profile files just now, and tried 6.0.0-beta.8 .... history and Get-History still don't show CLI from the previous session for me

I'm using Windows 10

@CarltonSemple ah Get-History only provides commands for the current session. However you can use the up arrow to access the commands from the previous session. and there are more options such as searching and such. I'm not a PSReadLine expert.

You can search backwards with Ctrl+r. If you go too far, use Ctrl+s to move forward through the matching history list.

@markekraus I guess maybe I should change the title to specifically reference the Get-History command, then.

Possibly but the point, I think, is that PSReadline (inspired by GNU Readline), was created to provide such features.  Get-History is legacy command that is still useful IMO as more of "audit" trail for the current session.  Back in the older days, I use to save the Get-History history to files by adding this to my profile:
$historyPath = Join-Path (Split-Path $profile) "history-$(Get-Date -f o).clixml"
Register-EngineEvent -SourceIdentifier powershell.exiting -SupportEvent -Action {
    Get-History | Export-Clixml $historyPath
}.GetNewClosure()

I'm not sure if this will work on PowerShell Core.  I also had find functions I had defined that could search these history files.  I don't use these so much anymore because PSReadline scratched that itch pretty nicely.

I think some parity with bash's history from PSReadLine would be nice to have. I definitely have done history | more  a million times trying to trace back the command history to see where things went wrong or when I'm trying to remember a command I don't recall enough of the syntax to make keyword searching the history useful.

@SteveL-MSFT @daxian-dbw Could you please make a conclusion - should we enhance Get-History cmdlet in the repo (change label to Area-Cmdlets-Core) or PSReadline (in the case please move the issue in PSReadline repo)?


frontend: improve translations with crypto, bitcoin or coincode

In some languages Bitcoin or crypto can have special ending depending
on the context, so translating crypto does not work in all cases.
Added Bitcoin and crypto context with option to show coinCode,
if needed.
The buy title will now use coin code instead of coinname, this is
so that we do not need a different translation key for each altcoin.
With that the buy workflow can show 'Buy Bitcoin' or 'Buy crypto',
and once an account is selected it will show the coin code of the
altcoin (unless it is Bitcoin), i.e. 'Buy LTC'.
For simplicity the guide is just using crypto or bitcoin.
Also buy.info.disclaimer keys need to be updated with coinCode.
Related https://github.com/BitBoxSwiss/bitbox-wallet-app/commit/b617b15427ffac7e0c0e9e1b7c2a8d01b59cefd0

CI isn't happy that I renamed the keys, this is expected and good that it reports this.