Zen Mode

So... After trying Zulip a bit I find it more complicated then most other chat programs. Its complexity may even be seen as a deterrent to it's use/adoption.
I propose a Zen-Mode view of the Zulip interface. Where the most recent posts for a given stream are all shown in one chat. Where one can click on a relevent thread's summary and see the more specific replies to a given topic.
I appreciate what you all are trying to do with this, but I think having the option or even a default "Zen" like interface could be really helpful. Not everyone wants the level of granularity offered by Zulip I think.
Anyways - my 2 cents.

If you click on a stream in the left sidebar, we currently show you all recent posts for the stream.  Have you tried that?
Another option we are working on is Recent Topics, which will be more of a summary.

I have come to the same conclusion - the UI for Zulip is too obscure for new users. I'm about to launch it on 600 people and all of the initial reactions are that it's too complicated. By far the biggest problem is the existence of non-default streams which users don't know exist. I believe the left side of the UI where streams are shown should have a displayed field for unsubscribed (but non-private) streams. The "Add streams" terminology sounds like someone is creating a stream rather than subscribing to it. One possible solution is to show a section with unsubscribed streams with their message counts:

On a related note, I just installed 2.1.4 and was unable to create any default streams. Trying to add a stream simply says "Failed: Invalid stream name 'offsites'". I could find no documentation that says what a valid stream name is.

After searching through the thousand issues, I found that this is related to #10369

@caseykneale and @kmccurley Thanks for your feedback here.  I am closing this issue, since I think it's a little too broad to be actionable.  We obviously appreciate that new users can be overwhelmed by Zulip's interface, but supporting a completely different mode for new users is probably off the table.
What we can do is address more specific hurdles that users might have, such as the example that @kmccurley gave -- users don't even know that they can subscribe to new streams, much less how.  Feel free to open specific issues for things like that (and note that I refreshed that issue a bit).
For kind of broad, open-ended feedback, it's also useful to talk on https://chat.zulip.org/#narrow/stream/137-feedback, where you'll find lots of developers and users.


Add Support for 1.16.3+

Add Support for Spigot 1.16.3 and above

Due to an issue with electron locally, I have been unable to build the new releases. I will add more versions when it is fixed.


Could not find a version that satisfies the requirement curses-windows

When running pip install -r requirements.txt on Windows 11 I get the following error:
ERROR: Could not find a version that satisfies the requirement curses-windows (from versions: none)
ERROR: No matching distribution found for curses-windows
Updating the line in requirements.txt from curses-windows; sys_platform == 'win32' to windows-curses; sys_platform == 'win32' fixes the issue and pip install -r requirements.txt completes without errors.
https://github.com/TheBlewish/Automated-AI-Web-Researcher-Ollama/pull/8/commits/b60ee52947d39d9659e1856fd9258ab5c63a6765

This might help: https://stackoverflow.com/questions/77423447/cant-install-curses-package

This might help: https://stackoverflow.com/questions/77423447/cant-install-curses-package

Thanks mate! i've been busy with Uni please let me know if it fixes it!

It did seem to fix it for me, however after completing installation i get the same error but for a different python module i think? (I unfortunately dont have programming experience so im kind of winging it as usual) Error:
PS X:\AI Models\System AI\Automated-AI-Web-Researcher-Ollama> python Web-LLM.py
Traceback (most recent call last):
File "X:\AI Models\System AI\Automated-AI-Web-Researcher-Ollama\Web-LLM.py", line 12, in
from research_manager import ResearchManager
File "X:\AI Models\System AI\Automated-AI-Web-Researcher-Ollama\research_manager.py", line 17, in
import termios
ModuleNotFoundError: No module named 'termios'
PS X:\AI Models\System AI\Automated-AI-Web-Researcher-Ollama> pip install termios
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement termios (from versions: none)
ERROR: No matching distribution found for termios

@TheBlewish hahahah! I have left it running too for some research. Great work on the project mate, I love opensource and this is amazing!
Also I am updating it as i come across any errors. So if something doesn't work, add issues, check the repo out as well, as it might be updated!

@lascimmia the issue is most probably with the python version. 3.13 is still not compatible with many libraries. I'd recommend you to create a virtual env and install 3.11 and then set up the project

Interesting. Python 3.13 works just fine for me on linux.

@synth-mania
I have not tested it with 3.13 on windows yet.
See if you can install windows-curses without specifying the version.

* If it still doesn't work, you can just install

pip install windows-curses
Without specifying the version number.

Thanks a lot, I'll downgrade my Python venv.
By the way, installing windows-curses on 3.13 does not work at all

@mcihb ahh so many people wanna try this on windows. I have made a windows implementation of this project, here : https://github.com/hafeezhmha/Automated-AI-Web-Researcher-Ollama.git
You can check it out if you want to! I am still working on it, for now its running!

wow it's running! Good job! Great work honestly I doubted it was possible I don't have windows so there was no way I could do it!

@mcihb ahh so many people wanna try this on windows. I have made a windows implementation of this project, here : https://github.com/hafeezhmha/Automated-AI-Web-Researcher-Ollama.git
You can check it out if you want to! I am still working on it, for now its running!

I have gotten it up and running! Thanks @hafeezhmha for the effort in porting this to windows, also thanks to @TheBlewish for creating this! I will be exploring the capabilities of it using qwen2.5-14b, Currently running a research query!

I've also tried with Qwen2.5. Definitely gets the job done, but I think that the actual search queries being sent to duckduckgo could be improved. I'll make an issue @mcihb
I'm sure you've noticed as I have the inclusion of irrelevant sources as well.

I've also tried with Qwen2.5. Definitely gets the job done, but I think that the actual search queries being sent to duckduckgo could be improved. I'll make an issue @mcihb
I'm sure you've noticed as I have the inclusion of irrelevant sources as well.

Most definitely, I was however impressed with qwens ability to sort through the useless information without adding information from those irrelevant sources, Ill have to play around with it more when i have some free time.

I'm pretty sure the package was called windows-curses not curses-windows

@mcihb ahh so many people wanna try this on windows. I have made a windows implementation of this project, here : https://github.com/hafeezhmha/Automated-AI-Web-Researcher-Ollama.git@mcihb ahh so many people wanna try this on windows. I have made a windows implementation of this project, here : https://github.com/hafeezhmha/Automated-AI-Web-Researcher-Ollama.git@mcihb啊，这么多人想在 Windows 上尝试这个。我已经完成了这个项目的 Windows 实现，这里 ： https://github.com/hafeezhmha/Automated-AI-Web-Researcher-Ollama.git
You can check it out if you want to! I am still working on it, for now its running!You can check it out if you want to! I am still working on it, for now its running!如果你愿意，你可以去看看！我还在努力，现在它正在运行！

That's cool. I will check it thanks!

Ok, very simple solution...
Just make sure to change the requirements.txt file than run python 3.11.

Change the requirements.txt from

keyboard
**curses-windows**; sys_platform == 'win32'
tqdm
urllib3

to
keyboard
**windows-curses**; sys_platform == 'win32'
tqdm
urllib3

Commands to run on python version 3.11 (after you have installed python 3.11 from here https://www.python.org/ftp/python/3.11.0/python-3.11.0-amd64.exe)

py -3.11 -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

@TheBlewish Can you check the discussions tab.

@sebkont you will probably want to know this: we have a new branch on the repo now with windows support. I don't have a windows PC I can use for this, but please try it out and let us know if there are any issues!

Yeah there is a new branch with windows support! Thanks guys!


Crash when connecting or disconnecting a signal from multiple threads

Godot version:
v3.2.beta.custom_build. 318c69351
OS/device including version:
Arch Linux, 64 bit, updated around mid-December.
Issue description:
When connecting to an object from multiple threads, its slot_map can get corrupted, leading to missing entries or crashes. I feel something similar might be possible with the connections list
Issue was observed by Discord user Sungray while creating multiple sprite nodes with the same texture from different threads. (Which leads to those sprites connecting to the texture's changed signal.)
Steps to reproduce:
Put this script on any node:
extends Node

signal dummy_signal()

class DummyObject extends Object:
	func dummy_method():
		pass

func _ready():
	var threads = []
	for i in range(2):
		var thread = Thread.new()
		thread.start(self, "_thread", null)
		threads.push_back(thread)

func _thread(_x):
	while true:
		var object = DummyObject.new()
		connect("dummy_signal", object, "dummy_method") # dummy method
		object.call_deferred("free") # Run the free on the main thread, locks up
		#object.free() # Run the free on the non-main thread, crashes

Run, should crash or enter an infinite loop on the main thread relatively fast.
When the project freezes, it should spam a errors looking like:
ERROR: _disconnect: Disconnecting nonexistent signal 'dummy_signal', slot: 1224:dummy_method.
   At: core/object.cpp:1526.

When crashing, it can generate a wide array of backtraces. Some of them are related to malloc or free, surprisingly.

No backtrace crashes (likely malloc-related)
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
malloc(): invalid next->prev_inuse (unsorted)

realloc(): invalid next size

double free or corruption (!prev)

free(): corrupted unsorted chunks

One or more backtrace crashes
handle_crash: Program crashed with signal 4
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
handle_crash: Program crashed with signal 11
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
Dumping the backtrace.  Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[2] CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::get_m(int) (/home/bobo/Projects/godot/godot/./core/cowdata.h:145)
[1] /usr/lib/libc.so.6(+0x3bfb0) [0x7f2df29e5fb0] (??:0)
Failed method: Object:free target ID: 44863
Object was deleted while awaiting a callback # Repeated many times

## This one is fishy -- probably one of the threads crashed, while the other continued working and spamming the message queue.

Without deferring free:
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bfb0) [0x7f523442dfb0] (??:0)
[2] Object::Signal::Target::operator<(Object::Signal::Target const&) const (/home/bobo/Projects/godot/godot/./core/object.h:449)
[3] VMap<Object::Signal::Target, Object::Signal::Slot>::_find_exact(Object::Signal::Target const&) const (/home/bobo/Projects/godot/godot/./core/vmap.h:104)
[4] VMap<Object::Signal::Target, Object::Signal::Slot>::has(Object::Signal::Target const&) const (/home/bobo/Projects/godot/godot/./core/vmap.h:131)
[5] Object::_disconnect(StringName const&, Object*, StringName const&, bool) (/home/bobo/Projects/godot/godot/core/object.cpp:1526)
[6] Object::~Object() (/home/bobo/Projects/godot/godot/core/object.cpp:1974)
[7] void memdelete<Object>(Object*) (/home/bobo/Projects/godot/godot/./core/os/memory.h:117)
[8] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/object.cpp:893)
[9] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/variant_call.cpp:1112)
[10] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/home/bobo/Projects/godot/godot/modules/gdscript/gdscript_function.cpp:1081)
[11] GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/modules/gdscript/gdscript.cpp:1173)
[12] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/object.cpp:900)
[13] _Thread::_start_func(void*) (/home/bobo/Projects/godot/godot/core/bind/core_bind.cpp:2660)
[14] ThreadPosix::thread_callback(void*) (/home/bobo/Projects/godot/godot/drivers/unix/thread_posix.cpp:76)
[15] /usr/lib/libpthread.so.0(+0x94cf) [0x7f52349134cf] (??:0)
[16] /usr/lib/libc.so.6(clone+0x43) [0x7f52344f12d3] (??:0)
-- END OF BACKTRACE --

ERROR: _find: low > high, this may be a bug
   At: ./core/vmap.h:70.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bfb0) [0x7f9a19eadfb0] (??:0)
[2] StringName::operator=(StringName const&) (/home/bobo/Projects/godot/godot/./core/safe_refcount.h:107)
[3] Object::Connection::operator=(Object::Connection const&) (/home/bobo/Projects/godot/godot/./core/object.h:412)
[4] Object::Signal::Slot::operator=(Object::Signal::Slot const&) (/home/bobo/Projects/godot/godot/./core/object.h:458)
[5] VMap<Object::Signal::Target, Object::Signal::Slot>::Pair::operator=(VMap<Object::Signal::Target, Object::Signal::Slot>::Pair const&) (/home/bobo/Projects/godot/godot/./core/vmap.h:40)
[6] CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::remove(int) (/home/bobo/Projects/godot/godot/./core/cowdata.h:164)
[7] VMap<Object::Signal::Target, Object::Signal::Slot>::erase(Object::Signal::Target const&) (/home/bobo/Projects/godot/godot/./core/vmap.h:140)
[8] Object::_disconnect(StringName const&, Object*, StringName const&, bool) (/home/bobo/Projects/godot/godot/core/object.cpp:1538)
[9] Object::~Object() (/home/bobo/Projects/godot/godot/core/object.cpp:1974)
[10] void memdelete<Object>(Object*) (/home/bobo/Projects/godot/godot/./core/os/memory.h:117)
[11] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/object.cpp:893)
[12] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/variant_call.cpp:1112)
[13] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/home/bobo/Projects/godot/godot/modules/gdscript/gdscript_function.cpp:1081)
[14] GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/modules/gdscript/gdscript.cpp:1173)
[15] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/bobo/Projects/godot/godot/core/object.cpp:900)
[16] _Thread::_start_func(void*) (/home/bobo/Projects/godot/godot/core/bind/core_bind.cpp:2660)
[17] ThreadPosix::thread_callback(void*) (/home/bobo/Projects/godot/godot/drivers/unix/thread_posix.cpp:76)
[18] /usr/lib/libpthread.so.0(+0x94cf) [0x7f9a1a3934cf] (??:0)
[19] /usr/lib/libc.so.6(clone+0x43) [0x7f9a19f712d3] (??:0)
-- END OF BACKTRACE --

(gdb) bt
#0  0x00000000046840c8 in atomic_conditional_increment<unsigned int> (pw=0x20051) at ./core/safe_refcount.h:107
#1  SafeRefCount::ref (this=0x20051) at ./core/safe_refcount.h:182
#2  StringName::StringName (this=0x7fffcc001158, p_name=...) at core/string_name.cpp:173
#3  0x0000000002d71d6b in Object::Connection::Connection (this=0x7fffcc001140) at ./core/object.h:412
#4  0x000000000462541d in Object::Signal::Slot::Slot (this=0x7fffcc001138) at ./core/object.h:458
#5  0x000000000462536f in VMap<Object::Signal::Target, Object::Signal::Slot>::Pair::Pair (this=0x7fffcc001128) at ./core/vmap.h:40
#6  0x0000000004625279 in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::_copy_on_write (this=0x7fffcc000f60)
    at ./core/cowdata.h:241
#7  0x00000000046261de in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::set (this=0x7fffcc000f60, p_index=1,
    p_elem=...) at ./core/cowdata.h:139
#8  0x0000000004625bb5 in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::insert (this=0x7fffcc000f60, p_pos=1,
    p_val=...) at ./core/cowdata.h:178
#9  0x000000000462585d in VMap<Object::Signal::Target, Object::Signal::Slot>::insert (this=0x7fffcc000f60, p_key=..., p_val=...)
    at ./core/vmap.h:125
#10 0x00000000046220e6 in VMap<Object::Signal::Target, Object::Signal::Slot>::operator[] (this=0x7fffcc000f60, p_key=...)
    at ./core/vmap.h:199
#11 0x000000000461a406 in Object::connect (this=0x6f9f170, p_signal=..., p_to_object=0x7fffcc000b90, p_to_method=..., p_binds=...,
    p_flags=0) at core/object.cpp:1485
#12 0x0000000004630e8f in MethodBind5R<Object, Error, StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int>::call (this=0x6409750, p_object=0x6f9f170, p_args=0x7fffd7eb8ef0, p_arg_count=3, r_error=...) at core/method_bind.gen.inc:4285
#13 0x00000000046157f9 in Object::call (this=0x6f9f170, p_method=..., p_args=0x7fffd7eb8ef0, p_argcount=3, r_error=...)
    at core/object.cpp:921
#14 0x00000000046d28f5 in Variant::call_ptr (this=0x7fffd7ebaa60, p_method=..., p_args=0x7fffd7eb8ef0, p_argcount=3, r_ret=0x0,
    r_error=...) at core/variant_call.cpp:1112
#15 0x00000000018ea067 in GDScriptFunction::call (this=0x67f0d70, p_instance=0x7260fa0, p_args=0x7fffd7ebad60, p_argcount=1,
    r_err=..., p_state=0x0) at modules/gdscript/gdscript_function.cpp:1081
#16 0x0000000001883b04 in GDScriptInstance::call (this=0x7260fa0, p_method=..., p_args=0x7fffd7ebad60, p_argcount=1, r_error=...)
    at modules/gdscript/gdscript.cpp:1173
#17 0x000000000461563f in Object::call (this=0x6f9f170, p_method=..., p_args=0x7fffd7ebad60, p_argcount=1, r_error=...)
    at core/object.cpp:900
#18 0x000000000492bc25 in _Thread::_start_func (ud=0x70e3f00) at core/bind/core_bind.cpp:2660
#19 0x000000000242b95c in ThreadPosix::thread_callback (userdata=0x725f4f0) at drivers/unix/thread_posix.cpp:74
#20 0x00007ffff7a164cf in start_thread () from /usr/lib/libpthread.so.0
#21 0x00007ffff75f42d3 in clone () from /usr/lib/libc.so.6

(gdb) bt
#0  0x000000000462513a in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::get_m (this=0x7fffcc000f60, p_index=1)
    at ./core/cowdata.h:145
#1  0x0000000004622129 in VMap<Object::Signal::Target, Object::Signal::Slot>::operator[] (this=0x7fffcc000f60, p_key=...)
    at ./core/vmap.h:202
#2  0x000000000461a406 in Object::connect (this=0x6f9e950, p_signal=..., p_to_object=0x7fffcc000b90, p_to_method=..., p_binds=...,
    p_flags=0) at core/object.cpp:1485
#3  0x0000000004630e8f in MethodBind5R<Object, Error, StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int>::call (this=0x6409750, p_object=0x6f9e950, p_args=0x7fffd7eb8ef0, p_arg_count=3, r_error=...) at core/method_bind.gen.inc:4285
#4  0x00000000046157f9 in Object::call (this=0x6f9e950, p_method=..., p_args=0x7fffd7eb8ef0, p_argcount=3, r_error=...)
    at core/object.cpp:921
#5  0x00000000046d28f5 in Variant::call_ptr (this=0x7fffd7ebaa60, p_method=..., p_args=0x7fffd7eb8ef0, p_argcount=3, r_ret=0x0,
    r_error=...) at core/variant_call.cpp:1112
#6  0x00000000018ea067 in GDScriptFunction::call (this=0x67f0560, p_instance=0x7260480, p_args=0x7fffd7ebad60, p_argcount=1,
    r_err=..., p_state=0x0) at modules/gdscript/gdscript_function.cpp:1081
#7  0x0000000001883b04 in GDScriptInstance::call (this=0x7260480, p_method=..., p_args=0x7fffd7ebad60, p_argcount=1, r_error=...)
    at modules/gdscript/gdscript.cpp:1173
#8  0x000000000461563f in Object::call (this=0x6f9e950, p_method=..., p_args=0x7fffd7ebad60, p_argcount=1, r_error=...)
    at core/object.cpp:900
#9  0x000000000492bc25 in _Thread::_start_func (ud=0x70e3610) at core/bind/core_bind.cpp:2660
#10 0x000000000242b95c in ThreadPosix::thread_callback (userdata=0x725e9d0) at drivers/unix/thread_posix.cpp:74
#11 0x00007ffff7a164cf in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007ffff75f42d3 in clone () from /usr/lib/libc.so.6

Minimal reproduction project:

Short messages like malloc(): invalid next->prev_inuse (unsorted) or realloc(): invalid next size means that memory is too damaged to continue the program and the program can crash in random moments(each time may be different backtrace)
I found that using Address Sanitizer scons p=x11 -j6 use_asan=yes show a lot of detailed backtrace of first use invalid memory, double free etc. instead show backtrace of crash, which can happens a lot of time later.
This is output from Asan(This time is very similar to crash backtraces)
==4043==ERROR: AddressSanitizer: attempting double-free on 0x61900012fc80 in thread T6 (_thread):
    #0 0x7fc65c28bf1e in __interceptor_realloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10df1e)
    #1 0xea60b75 in Memory::realloc_static(void*, unsigned long, bool) core/os/memory.cpp:137
    #2 0xe581a4e in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::resize(int) core/cowdata.h:283
    #3 0xe5812cb in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::insert(int, VMap<Object::Signal::Target, Object::Signal::Slot>::Pair const&) core/cowdata.h:175
    #4 0xe57233a in VMap<Object::Signal::Target, Object::Signal::Slot>::insert(Object::Signal::Target const&, Object::Signal::Slot const&) core/vmap.h:125
    #5 0xe5688d5 in VMap<Object::Signal::Target, Object::Signal::Slot>::operator[](Object::Signal::Target const&) core/vmap.h:199
    #6 0xe549b1a in Object::connect(StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int) core/object.cpp:1485
    #7 0xe595430 in MethodBind5R<Error, StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:4177
    #8 0xe5373aa in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:921
    #9 0xe7a9e6e in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1112
    #10 0x1a1836a in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1081
    #11 0x18549c3 in GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) modules/gdscript/gdscript.cpp:1173
    #12 0xe536f17 in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:900
    #13 0xf057b55 in _Thread::_start_func(void*) core/bind/core_bind.cpp:2664
    #14 0x4f836b5 in ThreadPosix::thread_callback(void*) drivers/unix/thread_posix.cpp:74
    #15 0x7fc65bc18668 in start_thread /build/glibc-4WA41p/glibc-2.30/nptl/pthread_create.c:479
    #16 0x7fc65ae79322 in clone (/lib/x86_64-linux-gnu/libc.so.6+0x122322)

0x61900012fc80 is located 0 bytes inside of 1040-byte region [0x61900012fc80,0x619000130090)
freed by thread T7 (_thread) here:
    #0 0x7fc65c28bf1e in __interceptor_realloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10df1e)
    #1 0xea60b75 in Memory::realloc_static(void*, unsigned long, bool) core/os/memory.cpp:137
    #2 0xe581a4e in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::resize(int) core/cowdata.h:283
    #3 0xe5812cb in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::insert(int, VMap<Object::Signal::Target, Object::Signal::Slot>::Pair const&) core/cowdata.h:175
    #4 0xe57233a in VMap<Object::Signal::Target, Object::Signal::Slot>::insert(Object::Signal::Target const&, Object::Signal::Slot const&) core/vmap.h:125
    #5 0xe5688d5 in VMap<Object::Signal::Target, Object::Signal::Slot>::operator[](Object::Signal::Target const&) core/vmap.h:199
    #6 0xe549b1a in Object::connect(StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int) core/object.cpp:1485
    #7 0xe595430 in MethodBind5R<Error, StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:4177
    #8 0xe5373aa in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:921
    #9 0xe7a9e6e in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1112
    #10 0x1a1836a in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1081
    #11 0x18549c3 in GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) modules/gdscript/gdscript.cpp:1173
    #12 0xe536f17 in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:900
    #13 0xf057b55 in _Thread::_start_func(void*) core/bind/core_bind.cpp:2664
    #14 0x4f836b5 in ThreadPosix::thread_callback(void*) drivers/unix/thread_posix.cpp:74
    #15 0x7fc65bc18668 in start_thread /build/glibc-4WA41p/glibc-2.30/nptl/pthread_create.c:479

previously allocated by thread T7 (_thread) here:
    #0 0x7fc65c28bf1e in __interceptor_realloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10df1e)
    #1 0xea60b75 in Memory::realloc_static(void*, unsigned long, bool) core/os/memory.cpp:137
    #2 0xe581a4e in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::resize(int) core/cowdata.h:283
    #3 0xe5812cb in CowData<VMap<Object::Signal::Target, Object::Signal::Slot>::Pair>::insert(int, VMap<Object::Signal::Target, Object::Signal::Slot>::Pair const&) core/cowdata.h:175
    #4 0xe57233a in VMap<Object::Signal::Target, Object::Signal::Slot>::insert(Object::Signal::Target const&, Object::Signal::Slot const&) core/vmap.h:125
    #5 0xe5688d5 in VMap<Object::Signal::Target, Object::Signal::Slot>::operator[](Object::Signal::Target const&) core/vmap.h:199
    #6 0xe549b1a in Object::connect(StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int) core/object.cpp:1485
    #7 0xe595430 in MethodBind5R<Error, StringName const&, Object*, StringName const&, Vector<Variant> const&, unsigned int>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:4177
    #8 0xe5373aa in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:921
    #9 0xe7a9e6e in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1112
    #10 0x1a1836a in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1081
    #11 0x18549c3 in GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) modules/gdscript/gdscript.cpp:1173
    #12 0xe536f17 in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:900
    #13 0xf057b55 in _Thread::_start_func(void*) core/bind/core_bind.cpp:2664
    #14 0x4f836b5 in ThreadPosix::thread_callback(void*) drivers/unix/thread_posix.cpp:74
    #15 0x7fc65bc18668 in start_thread /build/glibc-4WA41p/glibc-2.30/nptl/pthread_create.c:479

Thread T6 (_thread) created by T0 here:
    #0 0x7fc65c1b8805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x4f83bb0 in ThreadPosix::create_func_posix(void (*)(void*), void*, Thread::Settings const&) drivers/unix/thread_posix.cpp:90
    #2 0xea7448f in Thread::create(void (*)(void*), void*, Thread::Settings const&) core/os/thread.cpp:51
    #3 0xf0595c1 in _Thread::start(Object*, StringName const&, Variant const&, _Thread::Priority) core/bind/core_bind.cpp:2710
    #4 0xf1305d1 in MethodBind4R<Error, Object*, StringName const&, Variant const&, _Thread::Priority>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:3325
    #5 0xe5373aa in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:921
    #6 0xe7a9e6e in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1112
    #7 0x1a1836a in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1081
    #8 0x1855714 in GDScriptInstance::_ml_call_reversed(GDScript*, StringName const&, Variant const**, int) modules/gdscript/gdscript.cpp:1204
    #9 0x18559c3 in GDScriptInstance::call_multilevel_reversed(StringName const&, Variant const**, int) modules/gdscript/gdscript.cpp:1211
    #10 0x92ef1cc in Node::_notification(int) scene/main/node.cpp:149
    #11 0x171077b in Node::_notificationv(int, bool) scene/main/node.h:46
    #12 0x1712c25 in CanvasItem::_notificationv(int, bool) scene/2d/canvas_item.h:166
    #13 0xacff0d7 in Node2D::_notificationv(int, bool) scene/2d/node_2d.h:38
    #14 0xe53783c in Object::notification(int, bool) core/object.cpp:931
    #15 0x92f1169 in Node::_propagate_ready() scene/main/node.cpp:196
    #16 0x92f09c0 in Node::_propagate_ready() scene/main/node.cpp:188
    #17 0x933df06 in Node::_set_tree(SceneTree*) scene/main/node.cpp:2562
    #18 0x94027ab in SceneTree::init() scene/main/scene_tree.cpp:465
    #19 0x1482c66 in OS_X11::run() platform/x11/os_x11.cpp:3242
    #20 0x13fe299 in main platform/x11/godot_x11.cpp:56
    #21 0x7fc65ad7e1e2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x271e2)

Thread T7 (_thread) created by T0 here:
    #0 0x7fc65c1b8805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x4f83bb0 in ThreadPosix::create_func_posix(void (*)(void*), void*, Thread::Settings const&) drivers/unix/thread_posix.cpp:90
    #2 0xea7448f in Thread::create(void (*)(void*), void*, Thread::Settings const&) core/os/thread.cpp:51
    #3 0xf0595c1 in _Thread::start(Object*, StringName const&, Variant const&, _Thread::Priority) core/bind/core_bind.cpp:2710
    #4 0xf1305d1 in MethodBind4R<Error, Object*, StringName const&, Variant const&, _Thread::Priority>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:3325
    #5 0xe5373aa in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:921
    #6 0xe7a9e6e in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1112
    #7 0x1a1836a in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1081
    #8 0x1855714 in GDScriptInstance::_ml_call_reversed(GDScript*, StringName const&, Variant const**, int) modules/gdscript/gdscript.cpp:1204
    #9 0x18559c3 in GDScriptInstance::call_multilevel_reversed(StringName const&, Variant const**, int) modules/gdscript/gdscript.cpp:1211
    #10 0x92ef1cc in Node::_notification(int) scene/main/node.cpp:149
    #11 0x171077b in Node::_notificationv(int, bool) scene/main/node.h:46
    #12 0x1712c25 in CanvasItem::_notificationv(int, bool) scene/2d/canvas_item.h:166
    #13 0xacff0d7 in Node2D::_notificationv(int, bool) scene/2d/node_2d.h:38
    #14 0xe53783c in Object::notification(int, bool) core/object.cpp:931
    #15 0x92f1169 in Node::_propagate_ready() scene/main/node.cpp:196
    #16 0x92f09c0 in Node::_propagate_ready() scene/main/node.cpp:188
    #17 0x933df06 in Node::_set_tree(SceneTree*) scene/main/node.cpp:2562
    #18 0x94027ab in SceneTree::init() scene/main/scene_tree.cpp:465
    #19 0x1482c66 in OS_X11::run() platform/x11/os_x11.cpp:3242
    #20 0x13fe299 in main platform/x11/godot_x11.cpp:56
    #21 0x7fc65ad7e1e2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x271e2)

SUMMARY: AddressSanitizer: double-free (/lib/x86_64-linux-gnu/libasan.so.5+0x10df1e) in __interceptor_realloc

This issue is rather problematic. This basically means that I cannot use a Thread to instance nodes that will eventually have to get freed again as there's always the chance of this signal crash when I free nodes that were instantiated from a thread. And instancing all my nodes from the main thread is not an option as it causes stuttering in my project.
I will continue to try and find workarounds, are there any already known workarounds for this crash? A way to free nodes that were instantiated from a separate thread instance without it potentially crashing the game?

I may be encountering an infinite loop caused by this problem.
In the logs i get
**ERROR**: Condition "!s->slot_map.has(target)" is true.
   At: core\object.cpp:1575:Object::_disconnect() - Condition "!s->slot_map.has(target)" is true.

repeated infinitely (filling the disk!)
	//signals from nodes that connect to this node
	while (connections.size()) {

		Connection c = connections.front()->get();
		c.source->_disconnect(c.signal, c.target, c.method, true);
	}

inside
 	godot.windows.opt.64.exe!SceneTree::_flush_delete_queue() Line 1110	C++
 	godot.windows.opt.64.exe!SceneTree::idle(float p_time) Line 547	C++

Can confirm this issue is still a thing as of 2d904127d685b25d6c5240e8792b21f392c05f34

Can confirm this issue is still a thing as of 2d904127d685b25d6c5240e8792b21f392c05f34

This issue is rather problematic. This basically means that I cannot use a Thread to instance nodes that will eventually have to get freed again as there's always the chance of this signal crash when I free nodes that were instantiated from a thread. And instancing all my nodes from the main thread is not an option as it causes stuttering in my project.
I will continue to try and find workarounds, are there any already known workarounds for this crash? A way to free nodes that were instantiated from a separate thread instance without it potentially crashing the game?

Also experiencing this issue with nodes created then freed on separate threads from a C++ nativescript module.
@jamie-pate have you found any workaround out so far ?

I ended up removing the multi threaded optimization.
I suppose you could instance scenes that do not have signals, then add the signals on the main thread, but that sounds like a painful workaround

@Flarkk Unfortunately not! I had this solution where I was constantly instancing scenes from a thread and queue freeing those scenes from the main thread again. Hundreds of times per second. In this case, this issue would occur but rarely. Now I am no longer freeing scenes and I am instead reusing them so I no longer run into this potential crash anymore.

Thank you both for the feedback. On my side I'm considering implementing a kind of "free pending queue" handled on the main thread to avoid invoking queue_free() elsewhere.

The issue i was having was not created by queue_free in a thread. the signal map becomes corrupted when you call .instance() from the thread because the thread manipulates the signal map without locking it. It shows up later when you free the instance but the actual corruption happens when you create the nodes from a separate thread (in my case)

Hey there, after a couple of days adapting my multithreaded code, I managed to workaround this issue.
The trick I used is to implement a "scheduler" into which you queue node instancing requests from any thread. The main thread looks at the queue at each pass in a _process() method, executes each pending requests, then passes back each instanced node to the awaiting thread and resumes it.
Obviously this workaround slows down the global logic as each thread needs to wait for a main thread pass at each node creation request. But it's better than no multithreading at all whilst this issue is not solved.
Note that I'm working with c++ GDNative, so in case you want to know, this logic is fairly simple to implement with c++20 coroutines (still an experimental feature though, but that was my try to get hands on it :-).
I guess it could be transposable into GDScript, but probably at the cost of complexifying the code with a bunch of callback functions.

Hey there, after a couple of days adapting my multithreaded code, I managed to workaround this issue.
The trick I used is to implement a "scheduler" into which you queue node instancing requests from any thread. The main thread looks at the queue at each pass in a _process() method, executes each pending requests, then passes back each instanced node to the awaiting thread and resumes it.
Obviously this workaround slows down the global logic as each thread needs to wait for a main thread pass at each node creation request. But it's better than no multithreading at all as long as this issue is not solved.
Note that I'm working with c++ NativeScript, so in case you wonder, I managed to fairly simply implement this logic with c++20 coroutines (still an experimental feature though, but that was my try to get hands on it :-).
I guess it could be transposable into GDScript, but probably at the cost of complexifying the code with a bunch of callback functions.

Yeah in my case the whole point was to initialize scenes on another thread, but I guess I'll have to rewrite it to be synchronous for the time being :( or maybe implement a scheduling system like what it's usually done for video decoding so that the task only takes n amount of time.

Hey there,
I’ve started looking at ˋObject`´s signal Map!! structure. Seems indeed there is no mutex involved at any point when connecting or disconnecting.
I could have a try to fix it, but :

I’m confused with Godot conventions about mutexes. Would I have to use the ˋTHREAD_SAFE_CLASS or ˋTHREAD_SAFE_METHOD macros (which are basically just placeholders for declaring a ˋMutex variable, the latter being itself a ‘godot style’ class, and not a ˋstd::mutex) ? I see heterogeneous practices across the code
I’m only familiar (and it’s a bit of a stretch) with 3.x code, so wouldn’t be able to work on master

Is there any core contributor wanting to fix this one ?

That's pretty much @RandomShaper's de facto area of expertise now :)

Thanks for taking time on this example.
I confirm that this is the kind of workaround I’m currently using.
To rephrase more pragmatically your answer :

Object not being thread safe is intentional (for performance reasons), so it’s not a ´bug’
Workarounds go from sync with main thread to … not using scene system at all (but APIs directly as all of them are thread safe)
Right ?

nstead call APIs directly as all of them are thread safe

Not sure what you mean by APIs there. Most of the Godot APIs, nodes, etc. aren't. In short, your recap is right up to the ellipsis. 😀

😅 I meant servers APIs (especially visual server on this case)

Regarding VisualServer, as long as it's configured with one of the safe threading models, you're right.
I can then ratify your recap.

Is this still reproducible in latest 4.x builds?

Some issues with this situation that aren't easily manageable by explicit thread safe methods, or at all:

Resources being retrieved from cache, this isn't a case of it being impossible, but rather one that is hard to keep track of
Several types (for example AudioStreamPlayer) connect signals to servers unconditionally, on creation

Simple actions such as attaching a resource to a node, while doing the correct thing of preparing it on a separate thread, not realizing the resource was cached and is not unique, and simply setting the mesh of a MeshInstance can cause this (see #60098), and I don't necessarily think it's reasonable to entirely forgo using cached resources for this, nor really to make convoluted code to replace the resource in the main thread
Essentially, there are a bunch of cases where signals are connected, unbeknownst to the user, and trying to navigate the thread safety of that is hard even for experienced users, and the behaviour in this case isn't something covered by the stability or compatibility of the engine, so a function can suddenly start connecting a signal that it didn't in the last patch release, throwing everything off
To me this level of unpredictability really warrants making signal connections thread safe

I want to add my 2 cents to this issue.
We are currently implementing coroutine support for the Godot-Kotlin project, and are implementing different dispatchers for them so we can control when a piece of the coroutine is going to be executed and by which thread.
Behind the hood, those dispatchers connect to signals like SceneTree::process_frame or RenderingServer::frame_post_draw. The issue is that the nature of coroutines in Kotlin make it these dispatchers can be called from a different thread than the main one, making them really unsafe to use for the corruption risk explained above.
We can make it "safe" by just forcing the signal connection to be done in a differed way, but it would basically add 1 frame of delay each time. Kotlin coroutines are a mechanism that quickly jump between different threads and react to different events as fast as the thread scheduler of the system can. Adding 1 frame of delay can make a sequence of tasks much longer to execute than it should (in the worst case, it can double the total amount of time required)
I understand that Object is a class that require s manual management when it comes to memory and thread safety, but it's much more of an issue when it's related to the SceneTree or any other Godot singletons that can be accessed from anywhere.


Raise 404 for missing branch

Trying to navigate to branches that once existed but were published or deleted and also no longer exist locally will raise a 404 instead of a 500. Same with branches that never existed.
Closes #446

Added a couple comments above; overall looks sound.


Update README with Development and Testing information

Add information to the README with information on how to setup the development environment. Also add information on how to run the tests.

Resolved in #21


Solution needed for cut tutorials

The post-pod review process is going to cut at least one full tutorial, and probably more. We will need to stay on top of removing vestigial tutorials or else they will get picked up by the automated README script, etc.
I don't know whether we want some mechanism for preserving entire "bonus" tutorial documents, but that is a topic for discussion.

I think the solution is "manually delete the files" :/
It doesn't seem to be causing other problems.


 Currently, we are loading the routes with regular imports.
Solution Description
Introduce VueRouter Lazy Loading. The lazy loading of the routes will load the components only when needed and thus allow for quicker load time and improve performance
Additional context
I would love to work on this. Please assign it to me. Thanks!

I'm not sure if this would help much, routing seems to be pretty quick to me, but that doesn't mean that it's always quick.
I'll ping @brenoferreira to see what he thinks about this

I agree that the routing isn't too slow but lazy loading is an excellent feature provided by the vue-router library that we are using. Using its lazy loading and dynamic imports will remove the unnecessary bulk loading and instead load chunks on a when or as required basis hence contributing towards the last point of our frontend public roadmap

Refreshing this @brenoferreira

I'm not sure we'll benefit much from lazy loading the components, at least not at this moment. If you want to do some research with https://www.npmjs.com/package/webpack-bundle-analyzer and see if code splitting would decrease bundle sizes, please go ahead. We can then decide if it's worth doing lazy routes

Marking this help wanted, but please do the research mentioned in the comment above and post it here. Do not send a PR without doing the research.

sure, I'll be researching this today and will post my results here

As per my output, the chunks total adds up to be higher but code splitting is producing chunks in smaller sizes. Screenshots attached for reference.
Before:

After:

Hi @Albaalah, I agree with you that we should lazy load routes. The biggest benefit would be reducing the initial page load of the site, which is a significant factor in SEO and user bounce.
I am in the middle of evaluating some changes to our SSR approach, after that work is completed I will have an answer for you on how we should move forward. Thank you for bringing this issue up!

@Albaalah I am going to close this ticket—however we move forward (Nuxt.js or keeping our current SSR, we will switch to code-splitting by route, and i'll create a new ticket if necessary. Thank you!


Anonymize @ envelope level instead of event level

https://github.com/silverton-io/honeypot/pull/316/files


react-router 2.0

https://github.com/rackt/react-router/blob/master/upgrade-guides/v2.0.0.md

@choonkending  just note about history, before it was included in NodeJS platform but now it separated already. So remember npm install --save history to avoid undefined error ( I've experienced with this :joy: ).

@kaizvn Thanks a lot! Will do :)

https://github.com/rackt/react-router/releases still using as release candidates. Will upgrade once it's out of rc (which I expect will be quite soon) :)


Fix access of root certs on MacOS

make install (and thereby brew install) puts roots.pem under
/usr/local. Where the default in ssl_utils.cc when INSTALL_PREFIX
is unspecified is /usr.
The default installation prefix (/usr) is a problem since that
directory is subject to "System Integrity Protection" on MacOS (1),
which means adding the file is a convoluted process: 2.
This change configures Bazel to define INSTALL_PREFIX as
/usr/local when building for MacOS, and updates the macro expansion
to properly quote the defined variable.
Commit description by James Duncan<EMAIL_ADDRESS>
@yashykt

Has anyone found a workaround for this, specifically when using Homebrew?

@maxcountryman what language did you use? There is always a way to configure root certs manually, for example in C++, you can use https://github.com/grpc/grpc/blob/b9a69481c20ac16da8603cf0097beedcb26f1c55/include/grpcpp/security/credentials.h#L150

@erm-g Can you check if this PR is still relevant?


:has() + ">"

Hello.
As i understand it is not possible to build selectors like following ( select all divs that has "span" child ):
div:has(>span)
Or more complex like following ( select all divs that does not have children expect "b" and "strong" ):
div:has(>*:not(b,strong))
Do i understand right?
It would be nice if it could be implemented ;(
It is the only thing i miss after switching from xpath libraries to jsoup.
Thanks.

These work now now, was implemented a bit ago.
https://try.jsoup.org/~jKFWqLRtJSZAtSphLAdIf9XKv8A


[Radio Group] Issue

Description
How to set it to readOnly? There is no way to do it...
Link to Reproduction (or Detailed Explanation)
https://ark-ui.com/docs/components/radio-group
Steps to Reproduce
It doesn't have such property. No Group, no Item. Also such problem with checked property. We have only defaultChecked property
Ark UI Version
<EMAIL_ADDRESS>Framework

[X] React
[ ] Solid
[ ] Vue

Browser
No response
Additional Information
No response

@s-hitsan
It seems there's been some confusion regarding the usage of readOnly attributes on radios or checkboxes. According to the W3C specifications and ARIA practices, readOnly is not a valid attribute for radio buttons or checkboxes. These input types are designed for interaction, and their state (selected or not) is inherently modifiable by the user. If you aim to prevent modification, consider using the disabled attribute instead. However, note that disabled inputs are not submitted with the form and are not focusable.
For managing the checked state without user modification, instead of readOnly, you might rely on controlling the component's state programmatically, ensuring it doesn't change in response to user interactions.


[OpCred] Import and compile libraries

Import provided operational credentials coming from @hawk248 , and integrate into the build

per @pan-apple, this is not needed with the current implementation. Closing it.


Cannot find parent error

Trying to commit against jira issue TW-2922, get an error:
"Cannot find parent from Epic TW-2897"
The issue I'm committing against is in the epic. The epic doesn't have a parent, unless I'm missing something.

It should be working as intended because it is looking for an initiative from Epic TW-2897. A sub-task/story should eventually link to an initiative, otherwise it will fail.

I asked Joe to verify the epic is linked to an initiative. He said it wasn't. Then he linked the epic to the correct initiative using "Linked Issues" and "Is depended on by"
Still get the same error. Is that not the right way to link an epic with an initiative?

Instead of "is depended on by" it should be linked with "relates to". This is based on what we have seen with other issue links.

Ok, That worked.Thanks


DictTrasformer works when LiteralMap is empty

TL;DR
Allow passing an empty dictionary as input.
Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[ ] Smoke tested
[x] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
Tried to execute the following task:
@task
def test_empty(d: Dict[str, str]) -> int:
    return len(d)

@workflow
def my_wf() -> int:
    res = test_empty(d={})
    return res

which would fail with:
  File "/root/flytekit/core/type_engine.py", line 447, in to_python_value
    raise TypeError(f"Cannot convert from {lv} to {expected_python_type}")
TypeError: Cannot convert from map {
}
 to typing.Dict[str, str]

Tracking Issue
https://github.com/flyteorg/flyte/issues/918
Follow-up issue
NA

Lgtm- @wild-endeavor


Add cif2lammps

The LAMMPS, RASPA, and PACMOF modules are ready to merge.

Let's worry about tests for RESPA and others later, once we're ready to integrate this into the workflow.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1376 of 4610 (29.85%)  changed or added relevant lines in 28 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-46.9%) to 30.058%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mofa/simulation/cif2lammps/zeolite_constants.py
0
1
0.0%

mofa/simulation/cif2lammps/test_run.py
0
5
0.0%

mofa/simulation/cif2lammps/force_field_construction.py
29
43
67.44%

mofa/simulation/cif2lammps/superimposition.py
58
73
79.45%

mofa/simulation/lammps.py
32
52
61.54%

mofa/simulation/cif2lammps/write_molecule_files.py
2
23
8.7%

mofa/simulation/cif2lammps/advanced_run_scripts.py
0
22
0.0%

mofa/simulation/cif2lammps/pymatgen_cif2system.py
175
200
87.5%

mofa/simulation/cif2lammps/main_conversion.py
23
87
26.44%

mofa/simulation/cif2lammps/write_GULP_inputs.py
19
92
20.65%

Files with Coverage Reduction
New Missed Lines
%

mofa/scoring/base.py
2
71.43%

mofa/generator.py
4
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-46.9%

Covered Lines:
1395

Relevant Lines:
4641

💛  - Coveralls

I'm ready to merge this so I can start using it while developing other parts of MOFA.
@williamyxl , any last things before I do so?


MacOS codesiging GDB not working

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
The output below are the details that reproduce my problem. Note that I am following the instructions generated by
macos-show-caveats.sh

I tried removing gdb and its codesign (using conda and the Keychain Access progam), but the problem just repeated itself.
I tried exiting gdb and re-running it many times and got the same result.
(base) cppad.git>which gdb
/Users/bradbell/miniconda/bin/gdb

(base) cppad.git>xcode-select --install
xcode-select: note: Command line tools are already installed. Use "Software Update" in System Settings or the softwareupdate command line interface to install updates

(base) ~>macos-codesign-gdb.sh
Generating and installing gdb_codesign certificate
Password:
YES (0)
YES (0)
YES (0)
/Users/bradbell/miniconda/bin/gdb: replacing existing signature

base) cppad.git>gdb test_one.exe
GNU gdb (GDB) 12.1

... snip ...

Reading symbols from test_one.exe...
 GDB does not support this platform. I'm guessing you it (or your whole conda installation) is an x86-64 version and is running in Rosetta ?
Either case, I don't think this use case can work.
You'll have better luck with LLDB for debugging on that platform.
Cheers!


JSON Import

Further changes were made to the JSON import system in #95, so these commits will be merged with that.


Refactor Swift Whisk object to use URLSession

URLSession seems stable enough to use to make network calls for the Whisk Object.   There already exists a function postUrlSession in _Whisk.swift that can invoke an action.  Using this function instead of the post function in _Whisk.swift based on KituraNet would move us to using the standard networking class in Foundation.
This is orthogonally related to PR #2391

@paulcastro is this still relevant? If so, should this move to the runtime or client repo?

No longer relevant.  I'll close this.


Grow slack messages by 10%

9648 total messages last week
6475 non-staff messages last week

Closing for the time being. Let's work as a team to hit these objectives.


hexchat 2.12.3

Created with brew bump-formula-pr.

https://github.com/Homebrew/homebrew-gui/pull/35#issuecomment-253562652 still applies.


Feature Ideas

Hi,
First, I wanted to thank you for creating this great app. I've been looking for a Dropover alternative on windows for a while, there is app for Windows called Dropshelf with good features, but it is great to have distinct alternatives.
Here are the features I'd like to see added, in order of priority:

Multiple Shelfs: It would be great to be able to open multiple windows of the app. This would be useful for working with multiple projects at the same time.
Shelf customization: It would be nice to be able to customize the appearance of each window(shelf), Assign a color to it, or a custom name, to make it easier to distinguish from other shelfs.
drag images from web browser: It would be nice to be able to easily drag images from web browser windows and download them automatically.
File view and editing: It would be great to be able to see and edit the files in each window. This would be useful for quickly making changes to files (delete, inspect or select individual files and perform actions with them, open a new instense with seleected files...)
File transfer and copy: It would be helpful to have a menu of actions for moving or copying files, maybe zip files, upload them...

I think some of these features would make your application even more useful and versatile.

Thanks a lot for such a detailed list with images from multiple platforms and apps.
I already have almost all of the mentioned features planned. I'll soon update the readme with a features and progress list.
About the Image drag drop feature, that was one of the first features I tried implementing, but got myself stuck (it has to do something with tauri and how it handles OS drag drop libraries). I'm trying to figure it out as is one of my most used feature on dropover and I don't find it on Dropshelf either.

This is fantastic news! I’m excited to see the upcoming updates.
By the way, the image drag-and-drop feature is now working in the Dropshalf app.
https://github.com/user-attachments/assets/d2a06bde-03ab-448c-932e-8360f42d027f


MFA values added in configmap instead of secrets

Hi.
I was looking at the configuration values for yubico and duo and noticed that they are being added in configmap as plain text. Ideally, they should follow the same pattern as smtp and adminToken and allow for an existing secret or use values received to create a secret.

Hi @JoaoSangue, I merged #114 to address this feature request.
As a side note: my testing is limited up to making sure the right environment variables are set in the Vaultwarden container. It would be appreciated if you could verify that this works on your own environment. Thanks.


Ensure Camouflage is shutdown after every test

If a test crashes or a developer stops a test in the middle of debugging, Camouflage will be left open. Any subsequent runs of pytest will fail to start.
This fixes the issue by binding the child process to the pytest process, ensuring that it will always be closed. Also added support for using already running Camouflage servers.
Closes #329

@gpucibot merge


Forbidden StatusCode: 403

 https://translate.google.com/translate_a/single?client=gtx&sl=en&tl=ru&hl=ru&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=0&tsel=0&kc=7&q=menka&tk=86352.86352

info: Microsoft.AspNetCore.NodeServices[0]
      { HTTPError
          at translate (C:\Projects\service\node_modules\@k3rn31p4nic\google-translate-api\src\index.js:145:19)
          at process._tickCallback (internal/process/next_tick.js:68:7)
        name: 'HTTPError',
        statusCode: 403,
        statusMessage: 'Forbidden' }

Can you give some details?

It happens randomly 30%-50% of tries.

Why are you directly making the HTTP request instead of using the library?

Why are you directly making the HTTP request instead of using the library?

To provide details for the issue

@k3rn31p4nic This happens even when I use the library. The error is not consistent. It returns 403 and when you keep retrying, it then works

Can you say what you're translating and the source and target language? I'm not able to reproduce this issue.

translate('Bot fix time',{to:'yo'});
translate('Bot fix time',{from:'en' to:'es'});
translate('Bot fix time',{to:'spanish'});
That is just one example out of multiple. Every request I try regardless of the query or language gives that error. After retrying about once to four times, it works and then repeats again.

Okay, I'm getting the same error now. From what I can observer, you'll get this error if you continuously make the request without enough delay (I need confirmation from others too).
If that's the case, I suppose this is a rate limit enforced by Google in their online translate service to prevent users like us from using it for purposes like this, for free, instead of using their actual Translate API.

Funny enough it happens even on first tries. Unless by delay you mean it tracks request coming from this library?

No, I meant from the same IP.

Then, I doubt it is a delay issue. You can give it some more tries to confirm.

Probably have to update the token generator.

I have a similar feeling.

It doesn't depend on delay. Even first try can return 403. Potentially a token generator issue.

Any update on this @k3rn31p4nic ?

How about making request through proxy?

@Andrey-Pavlov I don't think so, it isn't related to token, everything works on localhost, seems google is blocking IP which makes a lot of request.
Yes, adding proxy support would be great.

#8 Check this PR, I didn't found any working proxies yet. But it should work

Should be fixed by #8

@k3rn31p4nic Seems google changed API, they are migrating to new API. I think after migration we can't use at all.

Checkout this https://github.com/k3rn31p4nic/google-translate-api/pull/8#issuecomment-513711276, should work


Can we remove gorm from ctx?

I try to recommand neo to other people and they don't think gorm should be in ctx, which many people may never use it at all.
I know it's a break change, but that's make sense for a lightweight web frame. Even who need gorm, they may never use it in a route handle function. They must have some model, controller packages for that.

+1 for this. Probably trying to force users to use gorm is not that good idea. I can remove it, but on tuesday...until then I am just on my mobile

I'll do it

Merged. I have to think about some strategies for doing db transaction rollback. Probably I will update middleware api in a way that calling next() returns error if happened in previous middleware or route handler. Do you have some suggestions?

I've created a try catch middleware for neo, which may work for this after some modification. Call a rollback function in catch section, for example.
But neo do need a good way to handle errors, not just for rollback.
What gin does is: add an Error(err) func to ctx, which append error to
ctx.errMsgs []*Error
So a middleware can handle it later.
more detail
Seems neo's ctx doesn't have something like this for now.

Hmm, collecting errors into request context sounds interesting. I will think about that. Tnx for suggestion


Expose 'factory functions' from pulumi-aws

This is just exposing the support we added here: https://github.com/pulumi/pulumi/pull/1804
Also includes an example showing how you could use this with express.

I agree with your concerns luke.  I think to approaches can be taken here:

roll back and redo.
adjust things with a new PR to handle the problems you identified.

Because the issues seem small enough, i'm going to go with '2'.


Fix for broken URLs on the Edit this page on GitHub links

At the moment the Edit this page on GitHub URLs look like this: https://github.com/gregberge/smooth-doc//edit/master/website/pages/docs/theme.mdx
Note the double slash before edit.
This PR removes the extra slash.

Just noticed the URL also points to the master branch which was deprecated on this repo in favor of main.
Fixed this too.

@dgorshkov thanks!


fix: HTTP01 challenge HTTPRoute creation for GatewayAPI

Pull Request Motivation
Fixes #7176
Kind
bug
Release Note

Fixes ACME HTTP01 challenge behaviour when using Gateway API to prevent unbounded creation of HTTPRoute resources

Note to reviewer: this definitely fixes some issues, but I don't think it solves the whole problem just yet. I'm still investigating

The bug seems to be comming from the HTTPRoute lister, which always return nil here:
https://github.com/cert-manager/cert-manager/blob/b77411bb5b5024b2645c078e31c22db9b84b6f76/pkg/issuer/acme/http/httproute.go#L68

^ the above behaviour happens if the --enable-gateway-api is not passed to the controller, which seems unexpected.
Reconciliation should not happen if the flag is not enabled

/approve
/lgtm
Thank you for debugging and fixing this issue!

/cherrypick release-1.15

/lgtm

/kind bug

@inteon need one last approval, sorry about that - the PR was missing the kind label 🙃


Include test_point::cmath

With my fresh compiler/etc I needed to add an include file for sort() to get it all built.

Thanks for the contribution @cmanton .
I believe the include is necessary for sqrt, not sort. I'll just update the commit message when merging.
Appreciate the PR!

Yes...your are correct...my mistake...thanks !


Added support for Decimal

Fixes #28

Hmm strange, the tests worked for me locally without import foundation. I'll see if importing foundation works to fix the tests.

Current coverage is 97.35% (diff: 100%)

Merging #29 into master will increase coverage by 0.14%

@@             master        #29   diff @@
==========================================
  Files            28         28
  Lines          1437       1514    +77
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1397       1474    +77
  Misses           40         40
  Partials          0          0

Powered by Codecov. Last update 4cf8c76...6f8604a

@Evertt thanks for the PR, but unfortunately we won't be able to merge this now for a few reasons, including a breaking api change. The biggest issue though is that decimal number appears to be unimplemented in Foundation for Linux, so it seems like it's just not capable to be supported at the moment either way.
Let me know if you come up with a way around this and we can revisit the other stuff including the breaking api.
Best,
Logan

Unfortunately I don't directly know a way around this. Like maybe NSDecimalNumber would be supported, but I'd rather wait for the Swift Decimal type to be supported on linux. So let's come back to this at another time.

@Evertt awesome, I'm gonna mark it closed, reopen it and we'll reevaluate :)


no docker.socket service on some distros #280

If you don't have a docker.socket service and you do:
systemctl start<EMAIL_ADDRESS>then it simply says
Failed to start<EMAIL_ADDRESS>Unit not found.
Which is a not very descriptive message. Removing the docker.socket references fixes the failure.

This creates a race condition with the docker daemon starting and the VPN attempting to start.  What distribution are you using? Your distribution appears broken.

@kylemanna I'm using the latest Centos-7.

Changing to docker.service seems better to me.  Can you update this pull request to change only that?

Yup, I did but let me squash the commits tonight to make that clear.
On Jul 7, 2017, at 10:37, Kyle Manna<EMAIL_ADDRESS>wrote:
Changing to docker.service seems better to me. Can you update this pull
request to change only that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kylemanna/docker-openvpn/pull/286#issuecomment-313700231,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACK-MD_e1qVDonZI0WCM8jmGCyczN_gks5sLkKegaJpZM4OJybr
.

Checking in, can you update your pull request to change only the Requires line as opposed to adding an entire new file?

Sure @kylemanna, I'm not sure 'docker.service' works on other distros besides RHEL/CENTOS though. Did you verify that?

Other distros use socket activation which mean docker.socket activates docker.service.  I'm not sure how the socket activation would work exactly if we fired off the service.
Perhaps someone else knows the systemd details?

Bump?


Some missing codes in the sector DAC codelists

For e.g., 15152, “Legislatures and political parties" is not present in the list. Need to verify the list with the iatistandard and fix the codes.

Added the missing 13 sector codes.

Done.


Wait duration

I am able to run the package, but the robot stopped at each waypoint for about twenty seconds. I have checked that the wait duration is set to zero. I am using the jackal simulation package to simulate the robot in the gazebo. The waypoints are specified by using Rviz 2D Pose Estimate as suggested by the tutorial. Any idea why this is happening?
Thanks in advance for your help :)

hi, do you have solved this problem? i want the robot moves smoothly through each waypoint not stops at each waypoints everytime.


Update badgerdb and ristretto v0.2.0 to fix bugs on arm

Looks god, should we merge it @atlas-comstock ?

@kelindar plz wait, I 'll validate it today and tmr. thanks

We are using talaria -> badgerDB ->  ristretto cache(dep relationship) and as the mmap issue happened on ristretto, we have to fork badgerDB and  ristretto.
After forking, to make sure the dependency works well, we use go module replace like this:
replace github.com/dgraph-io/badger/v3 v3.2103.1 => github.com/atlas-comstock/badger/v3 v3.2103.1-with-arm-fix
At last, I found that the ristretto still use the original version even though I had replaced it in my github.com/atlas-comstock/badger/v3 v3.2103.1-with-arm-fix version.
Therefore, I have to replace them both on talaria:
replace github.com/dgraph-io/badger/v3 v3.2103.1 => github.com/atlas-comstock/badger/v3 v3.2103.1-with-arm-fix

replace github.com/dgraph-io/ristretto v0.1.0 => github.com/atlas-comstock/ristretto v0.2.0

Fix #92 #98


fix: mux notify missing readBuffer

What type of PR is this?

fix
What this PR does / why we need it (en: English/zh: Chinese):

en: fix mux notify missing readBuffer
zh: 修复 mux client notify 错误的 channel 容量，导致回包丢失的问题。
Which issue(s) this PR fixes:

none

fix #546


Error in passing weights to custom objective function LGBMClassifier

Description
I am not able to pass weights to a custom objective function with LGBM Classifier. A debugger on logloss function always shows weights as None
Reproducible example
def logloss(y_true, y_pred, weight):
   y_pred = 1. / (1. + np.exp(-y_pred))
   grad = (y_pred - y_true) * weight
   hess = y_pred * (1.0 - y_pred) * weight
   return grad, hess

  model = lgbm.LGBMClassifier(**parameters.lgbm_params, objective=logloss)
  train_data = lgbm.Dataset(X_train, Y_train, weight=weights, free_raw_data=False)
  trained_model = model.fit(train_data.data, train_data.label, weight=train_data.weight)

Environment info
LightGBM version or commit hash:
Command(s) you used to install LightGBM

Additional Comments

Hey @Sidshroff, thanks for using LightGBM. If you're using the scikit-learn API then you don't need the lgbm.Dataset object, sklearn takes the X, y and weights arrays. Also the name of the argument is sample_weight, not weight, so you can try something like the following:
import lightgbm as lgb
import numpy as np
from sklearn.datasets import make_classification

def logloss(y_true, y_pred, weight):
   y_pred = 1. / (1. + np.exp(-y_pred))
   grad = (y_pred - y_true) * weight
   hess = y_pred * (1.0 - y_pred) * weight
   return grad, hess

X, y = make_classification()
weights = np.random.rand(y.size)
model = lgb.LGBMClassifier(objective=logloss).fit(X, y, sample_weight=weights)

Please let us know if you have further doubts.


Kosasih patch 3

How can I use this repository can you give me the commands and files required in details please it's a request


Batch writes

Continuation of #320

The tests are passing for the wrong reason now (some tests stay 'pending')

@tofumatt how would you like me to implement the switch? For now I've done it this way. Another option would be to make "indexeddb with auto-batching" a separate driver type?

This worries me:
https://travis-ci.org/localForage/localForage/builds/197660273#L542
It would suggest that all tests for the indexeddb driver are currently being skipped on Travis. :/ Should they be executed on SauceLabs somehow?

setItem gets wrapped in localforage.ready() which means even if localforage is already ready, setItem(foo, bar) effectively becomes Promise.resolve().then(() => setItem(foo, bar)). That's a pity because best performance when setItem is used in a loop, it would have been good if setItem queues its task synchronously. I had a unit test for that, but i'll disable it.

Tests still being skipped in  test/test.api.js and test/test.webpack.html.

Fixed the tests that were failing by removing the call to self.ready() from withing updateDatabase

Wow, thanks for keeping on this. I know it's been ages but I still do have my eye on it 😓

Speedup in Firefox on my laptop: 4x

Speedup in Chrome on my laptop: 34x

Yes, it has been the bottom item on my list of open PRs for years, finally found some time to fix those failing tests! :)

r? @tofumatt

Is someone available to review this?

Sorry, yes, I really meant to but have been really distracted with other work, kitchen remodelling, etc.

My hope is I'll have a look Friday, this weekend, or Monday at the latest. Sorry! 😓

Hey @tofumatt, any progress in this pull request? I don't wanna put any pressure, I just have to decide whether to use localForage in my production APP or not and it depends on this pull request. I'd be happy to help with anything cause I really wanna use localForage, but I don't know how to help.

I'm really sorry but I have been renovating my kitchen in my spare time for the past month or so and it's meant really limited time for other projects. I meant to get to this earlier and I know I'm quite behind on it. 😢
It's a busy time with work at the day job too (we are close to shipping the new WordPress editor and are spending a lot of time fixing bugs).
I'll try my best to prioritise this next time I have a few hours to spend on localForage, it's just been a really busy time and most of my efforts have been on my kitchen, as I miss eating things that aren't soup and grocery store sandwiches 😉

Drive-by comment: I pulled in @michielbdejong's fork with this branch to see if it helped with a perf issue we were hitting at the day job. That codebase uses the createInstance API to create various data-stores.
If we set the auto-batching flag after creating an instance, it was reset when we performed an operation on the store: at some point during the operation (I think the ready check) we end up in https://github.com/localForage/localForage/blob/eb40c0d7b56d66cd80df083f09513e5a9fa286c5/src/localforage.js#L330, which seems to be doing the equivalent of Object.assign(), and clobbers the useAutoBatching flag value with the one from https://github.com/localForage/localForage/blob/eb40c0d7b56d66cd80df083f09513e5a9fa286c5/src/drivers/indexeddb.js#L1158.
(Of course, we might have been misusing localForage).

Thanks for reporting! It looks like the tests set autobatching on the global window.localforage object in https://github.com/localForage/localForage/pull/656/files#diff-447b2c1caef3d852887ac29e6e62df10R24 and then use window.localforage.setDriver.

I tried setting the autoBatchFlag to true (localforage.useAutoBatching = true) but when I ran setItem on our array of key-value pairs, it still took over a minute to set 15,000 rows of data. Is that normal? My code is below:
  setItInIndexDB(events) {     Promise.all(       events.map(e => {         return localForage.setItem(e.user_event_id, e);       })     ).then(function(results) {         console.log('finished setting events', results);     });   }

@mikeyyyzhao Are you using the main master branch (eg installed from NPM) or are you trying this branch?
Are the events items you're storing especially large/complex? Can you performance test the writes to see if it's slower as time goes on (this can happen with IndexedDB in my experience as the database gets a lot larger.)

Hoi @michielbdejong I noticed that this PR was closed. Do you remember why? Was the underlying issue solved?

@Juice10 no, I just closed it as stale. You're free to checkout the branch and try if it works for you, and/or build on top of the code from this PR.


Partial pipeline complete view

It would be nice if this package supported the complete logic required for partial pipelines (equivalent of https://github.com/python-social-auth/social-app-django/blob/master/social_django/views.py#L29).
Something like https://gist.github.com/kbrownlees/80cff182654f309b02870677b45e7bf1 once #62 is fixed should work (not fully tested), happy to turn it into a PR if you agree it would be good to add it?

Please check this: https://github.com/st4lk/django-rest-social-auth/pull/105


Automated Package Upgrade

:tada: This PR is included in version 5.0.554 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Chande stats table

Edit title of task
Add checkbox to mark as completed a task
Add column number

Fix #3


Cannot override component such as Input in Item

If I create a new MyInput component that renders a Input + some default props . When put inside an Item component, it's displayed as if no props was set.

@jpolo Please follow issue guidelines
Failing which this issue will be closed soon


Release version0.36.0 of sqlparser-rs

Follow on to https://github.com/sqlparser-rs/sqlparser-rs/issues/887
Filing a ticket here to track the work of a release (mostly so others can follow along)
Target Release Date: Approximately 2023-07-23
Release instructions: https://github.com/sqlparser-rs/sqlparser-rs/blob/main/docs/releasing.md
Steps:

[x] Make a PR to update CHANGELOG.md: https://github.com/sqlparser-rs/sqlparser-rs/pull/924
[x] run cargo release https://github.com/sqlparser-rs/sqlparser-rs/commit/e36b34d8ccc63bb1a8d5061dab8baa4af6e82da7
[x] verify the new release is on crates.io: https://crates.io/crates/sqlparser/0.36.0
[x] Make ticket for next release: https://github.com/sqlparser-rs/sqlparser-rs/issues/925

The release is available on crates.io and https://github.com/sqlparser-rs/sqlparser-rs/issues/925 tracks 0.37.0


Fix: added fix for trailing slash in root site collection

Added a minor fix to remove trailing slash from root site collection.
This fixes an edge case issue where I transform the wiki pages or webpart pages from the root site collection (i.e https://tenant.sharepoint.com) to another site collection. In the existing setup, it creates a SitePages folder inside the Site Pages library in the destination site collection.

Nice catch @gautamdsheth ,  I indeed never tested from the root site collection. Will integrate this in the coming September release


Use more ParserConfig: ParamPassing and sdf::init

🦟 Bug fix
Part of #881, follow-up to #883
Summary
As noted in #881, ParserConfig objects are not always propagated even when they are available. This updates the private API used in ParamPassing.cc and ParamPassing.hh to propagate ParserConfig in more cases. It also adds a variant of sdf::init() that accepts a ParserConfig as an input parameter and uses this function where appropriate in the parser and Root.
Checklist

[X] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[X] codecheck passed (See contributing)
[X] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Codecov Report

Merging #885 (0ce429a) into sdf12 (9999f55) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##            sdf12     #885   +/-   ##
=======================================
  Coverage   88.16%   88.16%
=======================================
  Files         100      100
  Lines       14637    14639    +2
=======================================
+ Hits        12904    12906    +2
  Misses       1733     1733

Impacted Files
Coverage Δ

src/ParamPassing.cc
97.40% <100.00%> (ø)

src/Root.cc
95.12% <100.00%> (ø)

src/parser.cc
87.61% <100.00%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/new-ignition-releases-2022-04-13-fortress-edifice/1367/1


Add user to error args

Adds the user to the error arguments.

Merged. Thanks!

Released in 2.3.0.


iPhone pictures are not automatically rotated

Device: iPad mini
System: ios 6.1.3
Browser: Safari and Chrome
Scenario:
1/ Connecting on my photos with at least one album available with iPhone pictures
2/ Clic on the album
3/ Clic on a picture that doesn't seem to be rotated
Expected:
As a thumbnail and in picture view, iPhone picture is "normally" displayed (without having to "turn the head")
Actual behavior:
In thumbnail and picture view, iPhone pictures are shown depending on the way they were taken.

rotation now fixed, but:

need to reset library (missing feature for now, can be done manually by removing the .myphoto/previews&thumbs folders in albums)
update library on all albums
clear browser cache to see updated photos


Refactor Dependencies

stac ipyleaflet version: 0.3.6

Description
In order to make stac_ipyleaflet widely compatible with many containerized images, we need to be stricter about not pulling in large dependencies. https://github.com/MAAP-Project/stac_ipyleaflet/blob/main/requirements.txt needs to be revisited to clean up unused library imports.
Example: Xarray and rio_tiler appear to only be used for the commented out sections following https://github.com/MAAP-Project/stac_ipyleaflet/blob/35ded6cc4b49277a6709dd1b130ae3eb111d44f7/stac_ipyleaflet/core.py#L510
If we can avoid Xarray as a dependency that would be good.
An alternative would be to make optional dependencies. Features that are only available if dependencies are installed.

@anilnatha until this is solved looks like we should only use stac_ipyleaflet in pangeo based workspaces that already include Xarray.

My initial thoughts on what can be removed:

localtileserver, since we opted to use an already-running version of titiler
requests because any remaining requests calls could be replaced with pystac_client methods
xarray because the histogram feature it's for is not active at the moment

I noticed the project uses a requirements.txt file and dependencies are also listed in the setup.cfg file, if these could be consolidated to the setup.cfg it may make it easier to maintain the dependency list.


Norwegian translation not working

I just downloaded the .zip and noticed that the "select2_locale_nb.js" file has a typo.
It's just a matter of replacing "no" with "nb" in the $.extend.
I'm pretty busy ATM, so shopefully someone else can fix this meanwhile :)

This issue should have been fixed in later versions of Select2.


[BUG] CSV/JSON Parseing some float values results in overflow

Describe the bug
Parsing -3.4028234663852886e+38 as a  float32 results in -Inf.
Steps/Code to reproduce bug
There is an integration test added for this.
Expected behavior
It should parse to the corresponding supported value.

Json reader also has the same issue. Changed the title


Add stddef to make sure size_t is defined

As discussed here when compiling advsys interpreter, it will fail because it doesn't recognize size_t in glkstart.h
Fixes #44

Done (in glkstart.h).


Support WeChat Work（WeCom） QR Code Login.

I once raised a feature request, but I don't know why I suddenly can't find it.

We move the issue to /plugin repo.


OWS Signal 4.6.0 declines to use microG Services Core 0.2.4-92-g3669bab, says version is too low

I'm having issues using Signal with microG.
Problems match those described in https://github.com/WhisperSystems/Signal-Android/issues/6392
moxie0 comments on the issue there:

[the problems started when OWS updated the version of GMS used in Signal, so] I assume microG isn't properly reporting that it is API compatible with the updated version.

That hypothesis is supported on my device (i9300, Replicant 6.0) by the Signal debug log, which includes:
3593  3610 W GcmRefreshJob: Reregistering GCM...
3593  3610 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9683000 but found 9258259

MicroG in itself appears to install well. Installed via F-Droid. The self tests are OK.
From a user perspective it seems like the easiest way out of this problem would be if microG reported a higher version. While looking for a solution I saw some comments about other programs complaining about outdated services as well.
Could you make this change? Could I myself work around the issue somehow?

Hmmm. I am running Signal 4.6.1 with microG with no issues. Are you running the latest 0.2.4-92-g3669bab version of microG? If not, that is probably your problem.

Thanks for your quick reply n76.
The microG  version is 0.2.4-92-g3669bab, yes, installed through F-Droid via the microG repository.
I probably should add that strictly speaking I am now using LibreSignal 4.6.0 from the Eutopia repository, and that is what the log excerpt is from. But the error messages and lack of response to attempts to fix it are effectively indistinguishable from my attempts with the standalone APK from Open Whisper Systems about 10 days ago (same version as is listed there now, Signal 4.5.3).
What's amazing is that as I'm making another attempt now, "Google Cloud Messaging", in the microG settings application, suddenly reports LibreSignal as registered, it does not give the complaint message about "communication failure" on system reboot, and the debug log does now not have the second line I posted. This state looks much more promising for working.
I've spent several days over the last few weeks trying to fix this and must have been though half a dozen or so installations of microG alone. Little seems different from the last few times, and nothing seems different from the very latest time (I had only disabled microG and the signature spoofing, not uninstalled it). I very much regret that I don't have a good explanation for the difference.
I will get someone to help me test the functionality and report back here.

For apps to properly register for push messaging they need to be installed after microG gmscore. Maybe that was your issue.

@miketv-s: Probably you think you have got the latest version but it isn't.
The log message clearly demonstrate that you haven't the latest version.

For apps to properly register for push messaging they need to be installed after microG gmscore. Maybe that was your issue.
Important point, but also one that's very clear from the installation instructions, and I've been considering that throughout the attempts.
The only difference I've come to think of is that this time I also re-registered with the Signal server.

Anyway, using Signal still doesn't fully work, but now my issue is that the program crashes when trying to make a call, and I don't see anything specific to indicate that this is a microG problem.

@ale5000-git , that could make sense as an explanation actually.
I enabled "unstable updates" in F-Droid at some point recently and it's still active. So maybe one reason it's suddenly working now is that it was now able to pull down the preview builds as well, but hadn't done it yet when I made the attempts that go with the log.
I'm fairly sure I enabled it precisely to try with latest microG and would have thought I did that right away at the time, but I honestly can't say for sure, and there's always the possibility I did but something else went wrong.
I think it's fair to say that invalidates this issue report as it stands, but maybe it would be good to add a remark about this in the installation instructions so new users getting burned by the same issue can get out of the fire easier.

Anyway, using Signal still doesn't fully work, but now my issue is that the program crashes when trying to make a call, and I don't see anything specific to indicate that this is a microG problem.

Capturing a logcat when Signal crashes would be the next step.
FWIW, I've updated Signal from 4.6.0 to 4.6.1 since I last had a signal call, but I had no issue with either voice only or video calling using Signal with microG.

@miketv-s: As n76 said it would be usefull a new logcat during the crash.

Logcat... OK. Do I want to filter that on something?
It spews 17000 lines in a few seconds of runtime.
This bit looks relevant.
00.486	4221  4221 E AndroidRuntime: FATAL EXCEPTION: main
00.486	4221  4221 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 4221
00.486	4221  4221 E AndroidRuntime: Theme: themes:{}
00.486	4221  4221 E AndroidRuntime: java.lang.RuntimeException: Unable to find any matching EGL config
00.486	4221  4221 E AndroidRuntime:		at org.webrtc.EglBase14.getEglConfig(EglBase14.java:236)
00.486	4221  4221 E AndroidRuntime:		at org.webrtc.EglBase14.<init>(EglBase14.java:57)
00.486	4221  4221 E AndroidRuntime:		at org.webrtc.EglBase.create(EglBase.java:86)
00.486	4221  4221 E AndroidRuntime:		at org.webrtc.EglBase.create(EglBase.java:93)
00.486	4221  4221 E AndroidRuntime:		at org.thoughtcrime.securesms.service.WebRtcCallService$7.run(WebRtcCallService.java:835)
00.486	4221  4221 E AndroidRuntime:		at org.thoughtcrime.securesms.util.Util$2.run(Util.java:396)
00.486	4221  4221 E AndroidRuntime:		at android.os.Handler.handleCallback(Handler.java:739)
00.486	4221  4221 E AndroidRuntime:		at android.os.Handler.dispatchMessage(Handler.java:95)
00.486	4221  4221 E AndroidRuntime:		at android.os.Looper.loop(Looper.java:148)
00.486	4221  4221 E AndroidRuntime:		at android.app.ActivityThread.main(ActivityThread.java:5461)
00.486	4221  4221 E AndroidRuntime:		at java.lang.reflect.Method.invoke(Native Method)
00.486	4221  4221 E AndroidRuntime:		at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
00.486	4221  4221 E AndroidRuntime:	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

@miketv-s this does not look related to microG but a broken graphics configuration on your device. Assuming you use some custom ROM, you might want to report that there.

@miketv-s: I suggest to post a full logcat as attachment to see if there is something that may be related to microG.


Fix discarding of target mount events

Consider that by any reason an OST(or any other part of Lustre which has a mount point) is unmounted on primary node and mounted on secondary(i.e. a fail-over performed).
In monitored mode, from time to time, target is left in Offline state.
This seems to be because selection of updates is based on the time when device_plugins/lustre.py was run on the agent side. However, performance of this code or the time it run at is not synchronized in any way.
Thus, it is possible when event of fail-over discovered on passive mode during run which started earlier than on primary node. In this case, discovered information is discarded. To prevent it, since handling of Lustre information is handled by a single-thread application and a queue, order of updates must be defined by order in which data is arrived to server, i.e. in order it were processed on server-side.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@jgrund @utopiabound Would you kindly review this?

test this please

test this please

test this please

test this please

In context of https://github.com/whamcloud/integrated-manager-for-lustre/pull/917 , and after improving speed of Shell.run, this problem doesn't reproduce anymore so this might be an overhead. However, I suggest you to consider that starting time of scanner on agent site might differentiate and this way lead to the situation of dropping necessary data. Interval in 10 minutes before forced update is quite high.

Jenkins: trigger a test run


Add support for setting MAC address when using brcmfmac

Also adjust .rc to avoid the service starting a bit too early when the wlan0 interface is not up yet

look again at https://github.com/sonyxperiadev/macaddrsetup/commit/4ab745f4e11e4a5f108d219bb08c1d873325bacb

can't quite understand what you mean
that #endif closes the added #ifdef BRCMFMAC at line 140

it should be before QCA_CLD3_WIFI


Add ormolu, remove hlint.

This PR brings in a lot of changes that were produced by ormolu; the important changes are w.r.t. hooking up ormolu to our CI:

https://github.com/tweag/pirouette/pull/119/files#diff-bc668a2c9f2299cef15b222055b4b4d5311646caec2e7610e540cee18ae9b948L68
https://github.com/tweag/pirouette/pull/119/files#diff-4df71b389eaed17aa1d651bc8d40d4f67356af9eb04af052c7c5483c0c9f56d1

Closes #105
I advise people to set up a commit hook to run ormolu for you; you can do so by creating an executable file named .git/hooks/pre-commit with the following contents:
#!/usr/bin/env bash
set -e

# command adapted from https://github.com/JLLeitschuh/ktlint-gradle  task addKtlintFormatGitPreCommitHook
filesToFormat="$(git --no-pager diff --name-status --no-color --cached | \
  awk '($1 == "M" || $1 == "A") && $2 ~ /\.hs/ { print $2} $1 ~ /R/ && $3 ~ /\.hs/ { print $3 } ')"

echo "files to format $filesToFormat"
for sourceFilePath in $filesToFormat
do
  ormolu --mode inplace "$(pwd)/$sourceFilePath"
  git add $sourceFilePath
done;

I'll add that to the readme and to the repo on a separate PR used to update the readmes.

I'll merge this unreviewed since it's just cosmetic changes on the code; I'll use some of my time to solve the merge conflicts that this will cause.


Add PyLint integration

Defines a TeamCityReporter class to add service message-based output to PyLint.
Addresses issue #171

Hi @shalupov and team!
What do you think about this PR?
Would you suggest any changes, or do you think it can be merged?
Thanks!

Thanks for the PR. Last time I checked there were (seems to be) unrelated test failures. I'll check again

Merged as https://github.com/JetBrains/teamcity-messages/commit/fe1a11ffe6ffec8d6255d70a8e19d6042ccbd44c


Fix to allow ninja to use make for generators (#123)

This is a backport of upstream commit ade88c56e27bcb74732e8bd8475fbda00d722355.  This allows ROS Humble LTS to be compiled with Ninja.
Without this, colcon build with an environment variable CMAKE_GENERATOR=Ninja for packages depending on python_qt_binding fails with the following error.
Starting >>> qt_gui_cpp
-- The C compiler identification is GNU 12.3.0
-- The CXX compiler identification is GNU 12.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/gcc-12 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/g++-12 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 1.3.5 (/home/yashi/work/yoshida/humble/install/share/ament_cmake/cmake)
-- Found Python3: /usr/bin/python3 (found version "3.11.5") found components: Interpreter
-- Override CMake install command with custom implementation using symlinks instead of copying resources
-- Found pluginlib: 5.1.0 (/home/yashi/work/yoshida/humble/install/share/pluginlib/cmake)
-- Found TinyXML2 via Config file: /usr/lib/x86_64-linux-gnu/cmake/tinyxml2
-- Found TinyXML2 via Config file: /usr/lib/x86_64-linux-gnu/cmake/tinyxml2
-- Found python_qt_binding: 1.1.1 (/home/yashi/work/yoshida/humble/install/share/python_qt_binding/cmake)
CMake Warning (dev) at /home/yashi/work/yoshida/humble/install/share/python_qt_binding/cmake/shiboken_helper.cmake:1 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  src/qt_gui_cpp_shiboken/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.11.5", minimum required is "3.3")
-- PySide2Config: Using default python: .cpython-311-x86_64-linux-gnu
-- Found PySide2 version 5.15.10
-- Using PYSIDE_INCLUDE_DIR: /usr/lib/../include/PySide2
-- Using PYSIDE_LIBRARY: /usr/lib/x86_64-linux-gnu/libpyside2.cpython-311-x86_64-linux-gnu.so.5.15.10
CMake Warning (dev) at /home/yashi/work/yoshida/humble/install/share/python_qt_binding/cmake/shiboken_helper.cmake:37 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  src/qt_gui_cpp_shiboken/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.11.so (found suitable version "3.11.5", minimum required is "3.11")
-- Shiboken binding generator NOT available.
-- Found Python3: /usr/include/python3.11 (found version "3.11.5") found components: Development Development.Module Development.Embed
-- Found python_qt_binding: 1.1.1 (/home/yashi/work/yoshida/humble/install/share/python_qt_binding/cmake)
-- Found Python3: /usr/bin/python3 (found suitable version "3.11.5", minimum required is "3.11.5") found components: Interpreter Development Development.Module Development.Embed
-- SIP binding generator available at: /usr/bin/sip
-- Python binding generators: sip
-- Configuring done (1.1s)
-- Generating done (0.0s)
CMake Error:
  Running

   '/usr/bin/ninja' '-C' '/home/yashi/work/yoshida/test-rqt/build/qt_gui_cpp' '-t' 'recompact'

  failed with:

   ninja: error: build.ninja:526: bad $-escape (literal $ must be written as $$)

CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_CLOUD_CLIENT

CMake Generate step failed.  Build files cannot be regenerated correctly.
ninja: error: loading 'build.ninja': No such file or directory

CI:

Linux
Linux-aarch64
Windows


File converter

Description of the new feature / enhancement
Convert PDF to PNG, MP4 to MP3 and such
Scenario when this would be used?
working with the bank, my band takes images and the scanner only does pdf, so also for everything that involved paper and cooperation
Supporting information
No response

/dup #2686


Late 2023 Production update -> redesign

Ditto of PR #132 just to update redesign with recent changes.
I believe this should be a normal merge, not a squash and merge

Yeah I'm not sure how tho, since we can't make a merge commit on develop. What do you think?

Since we're targeting redesign, shouldn't we be able to do normal conflict resolution locally?

Oh yeah I guess so, no PR necessary. I can do that.

Done


Add packaging for Debian based distributions.

This commit adds a script (create-deb-pkg.sh), which creates a deb package containing the fastfetch and flashfetch executables as well as the bash-completion file. The script must be executed in an environment, where dpkg-deb is present (a debian based environment).
Because Deb versioning is not compatible with fastfetch version strings, it is adapted to the format: 0:1$FF_VERSION-0.

Presets should be installed to /usr/share/fastfetch/presets/, compare with PKGBUILD for Archlinux.
Packaging flashfetch doesn't make any sense, as it is meant to be configured only at compile time.

and adjust .gitignore, so no one can commit build files / binary blobs by default.

Applied the suggested changes

LGTM, thank you.

Just noticed Installed-Size is hardcoded, is there a way to set it while building?