'Already has parent' error adding or selecting NavigationObstacle3D

Godot version
4.2.beta.custom_build.50d17f6b8
System information
Linux
Issue description
When adding a NavigationObstacle3D, or selecting one after another node has been selected, the editor prints an error:
ERROR: Can't add child '@MeshInstance3D@18824' to 'NavigationObstacle3D', already has a parent 'NavigationObstacle3D'.

The simple fix is something like this:
diff --git a/editor/plugins/navigation_obstacle_3d_editor_plugin.cpp b/editor/plugins/navigation_obstacle_3d_editor_plugin.cpp
index 9747ef4d48..32ee1bc198 100644
--- a/editor/plugins/navigation_obstacle_3d_editor_plugin.cpp
+++ b/editor/plugins/navigation_obstacle_3d_editor_plugin.cpp
@@ -503,7 +503,9 @@ void NavigationObstacle3DEditor::edit(Node *p_node) {
                wip.clear();
                wip_active = false;
                edited_point = -1;
-               p_node->add_child(point_lines_meshinstance);
+               if (point_lines_meshinstance->get_parent() != p_node) {
+                       p_node->add_child(point_lines_meshinstance);
+               }
                _polygon_draw();

        } else {

However, I'm not sure if this is the true fix. NavigationObstacle3DEditor::edit seems to assume that it will only be called once per node. Is that reasonable?
Currently, NavigationObstacle3DEditor::edit is called twice (with the same node argument) when creating a node:
Thread 1 "godot.linuxbsd." hit Breakpoint 4, NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
495     void NavigationObstacle3DEditor::edit(Node *p_node) {
(gdb) bt
#0  NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
#1  0x0000555558882294 in EditorNode::_plugin_over_edit (this=<optimized out>, p_object=<optimized out>, p_plugin=<optimized out>) at editor/editor_node.cpp:847
#2  EditorNode::edit_item (this=<optimized out>, p_object=<optimized out>, p_editing_owner=<optimized out>) at editor/editor_node.cpp:2184
#3  0x0000555558898d63 in EditorNode::_edit_current (this=0x5555600cb760, p_skip_foreign=<optimized out>) at editor/editor_node.cpp:2470
#4  0x0000555558b1294d in EditorNode::push_node_item (p_node=<optimized out>, this=<optimized out>) at editor/editor_node.cpp:2191
#5  SceneTreeDock::_push_item (this=0x55556573d280, p_object=0x555569a5e9f0) at editor/scene_tree_dock.cpp:1495
#6  0x0000555558b5e282 in SceneTreeDock::_do_create (this=this@entry=0x55556573d280, p_parent=0x55557bc46eb0) at editor/scene_tree_dock.cpp:2388
#7  0x0000555558b75766 in SceneTreeDock::_create (this=0x55556573d280) at editor/scene_tree_dock.cpp:2428
#8  0x000055555b1e617e in Object::emit_signalp (this=<optimized out>, p_name=..., p_args=0x0, p_argcount=0) at core/object/object.cpp:1126
#9  0x00005555586a58ea in Object::emit_signal<>(StringName const&) (p_name=..., this=0x5555658588b0) at ./core/object/object.h:920
#10 CreateDialog::_confirmed (this=0x5555658588b0) at editor/create_dialog.cpp:431
#11 0x000055555b1e617e in Object::emit_signalp (this=<optimized out>, p_name=..., p_args=0x0, p_argcount=0) at core/object/object.cpp:1126
#12 0x00005555596a28b2 in Object::emit_signal<>(StringName const&) (p_name=..., this=0x5555658588b0) at ./core/object/object.h:920
#13 AcceptDialog::_ok_pressed (this=0x5555658588b0) at scene/gui/dialogs.cpp:120
#14 0x00005555596f30ec in call_with_variant_args_helper<AcceptDialog, String const&, 0ul> (r_error=..., p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:303
#15 call_with_variant_args<AcceptDialog, String const&> (r_error=..., p_argcount=<optimized out>, p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:417
#16 CallableCustomMethodPointer<AcceptDialog, String const&>::call (this=<optimized out>, p_arguments=<optimized out>, p_argcount=<optimized out>, r_return_value=..., r_call_error=...) at ./core/object/callable_method_pointer.h:104
#17 0x000055555b1e617e in Object::emit_signalp (this=<optimized out>, p_name=..., p_args=0x7fffffffc9e0, p_argcount=1) at core/object/object.cpp:1126
#18 0x0000555557e722c2 in Object::emit_signal<String> (this=<optimized out>, p_name=...) at ./core/object/object.h:917
#19 0x00005555597ddf36 in LineEdit::gui_input (this=0x5555658bea60, p_event=...) at scene/gui/line_edit.cpp:479
#20 0x00005555595ec24c in Viewport::_gui_input_event (this=<optimized out>, p_event=...) at scene/main/viewport.cpp:2233
#21 0x00005555595ec62d in Viewport::push_input (this=0x5555658588b0, p_event=..., p_local_coords=p_local_coords@entry=false) at scene/main/viewport.cpp:3185
#22 0x00005555595edcb5 in Window::_window_input (this=<optimized out>, p_ev=...) at scene/main/window.cpp:1551
#23 0x00005555595ecb5c in Viewport::_sub_windows_forward_input (p_event=..., this=0x55556005bdb0) at scene/main/viewport.cpp:2985
#24 Viewport::push_input (this=0x55556005bdb0, p_event=..., p_local_coords=<optimized out>) at scene/main/viewport.cpp:3169
#25 0x00005555595fd785 in call_with_variant_args_helper<Window, Ref<InputEvent> const&, 0ul> (r_error=..., p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:303
#26 call_with_variant_args<Window, Ref<InputEvent> const&> (r_error=..., p_argcount=<optimized out>, p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:417
#27 CallableCustomMethodPointer<Window, Ref<InputEvent> const&>::call (this=<optimized out>, p_arguments=<optimized out>, p_argcount=<optimized out>, r_return_value=..., r_call_error=...) at ./core/object/callable_method_pointer.h:104
#28 0x000055555b8578a7 in Callable::call<Ref<InputEvent> >(Ref<InputEvent>) const [clone .isra.0] (this=0x7fffffffcfc0) at ./core/variant/variant.h:846
#29 0x00005555577e2552 in DisplayServerX11::_dispatch_input_event (p_event=..., this=0x55555c400060) at platform/linuxbsd/x11/display_server_x11.cpp:4001
#30 DisplayServerX11::_dispatch_input_events (p_event=...) at platform/linuxbsd/x11/display_server_x11.cpp:3977
#31 0x000055555af2beb5 in Input::_parse_input_event_impl (this=<optimized out>, p_event=..., p_is_emulated=<optimized out>) at core/input/input.cpp:749
#32 0x000055555af2d44d in Input::flush_buffered_events (this=0x55555c320f20) at core/input/input.cpp:1011
#33 0x00005555577e6828 in DisplayServerX11::process_events (this=0x55555c400060) at core/input/input.cpp:84
#34 0x00005555577fb18c in OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:929
#35 OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:916
#36 main (argc=<optimized out>, argv=<optimized out>) at platform/linuxbsd/godot_linuxbsd.cpp:74
(gdb) c
Continuing.

Thread 1 "godot.linuxbsd." hit Breakpoint 4, NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
495     void NavigationObstacle3DEditor::edit(Node *p_node) {
(gdb) bt
#0  NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
#1  0x0000555558882294 in EditorNode::_plugin_over_edit (this=<optimized out>, p_object=<optimized out>, p_plugin=<optimized out>) at editor/editor_node.cpp:847
#2  EditorNode::edit_item (this=<optimized out>, p_object=<optimized out>, p_editing_owner=<optimized out>) at editor/editor_node.cpp:2184
#3  0x0000555558898d63 in EditorNode::_edit_current (this=0x5555600cb760, p_skip_foreign=<optimized out>) at editor/editor_node.cpp:2470
#4  0x0000555558b1294d in EditorNode::push_node_item (p_node=<optimized out>, this=<optimized out>) at editor/editor_node.cpp:2191
#5  SceneTreeDock::_push_item (this=0x55556573d280, p_object=0x555569a5e9f0) at editor/scene_tree_dock.cpp:1495
#6  0x0000555558b745ca in SceneTreeDock::_selection_changed (this=0x55556573d280) at editor/scene_tree_dock.cpp:2348
#7  0x000055555b1e617e in Object::emit_signalp (this=<optimized out>, p_name=..., p_args=0x0, p_argcount=0) at core/object/object.cpp:1126
#8  0x0000555558730c52 in Object::emit_signal<>(StringName const&) (p_name=..., this=0x7fffac002170) at ./core/object/object.h:920
#9  EditorSelection::_emit_change (this=0x7fffac002170) at editor/editor_data.cpp:1298
#10 0x00005555578ea509 in call_with_variant_args_helper<__UnexistingClass>(__UnexistingClass*, void (__UnexistingClass::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (p_args=<synthetic pointer>, r_error=..., p_method=<optimized out>,
    p_instance=<optimized out>) at ./core/variant/binder_common.h:303
#11 call_with_variant_args_dv<__UnexistingClass> (default_values=..., r_error=..., p_argcount=<optimized out>, p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:450
#12 MethodBindT<>::call(Object*, Variant const**, int, Callable::CallError&) const (this=<optimized out>, p_object=<optimized out>, p_args=<optimized out>, p_arg_count=<optimized out>, r_error=...) at ./core/object/method_bind.h:335
#13 0x000055555b18e697 in Object::callp (this=0x7fffac002170, p_method=..., p_args=0x0, p_argcount=<optimized out>, r_error=...) at core/object/object.cpp:774
#14 0x000055555af38444 in Callable::callp (this=0x55555ff0b6a0, p_arguments=0x0, p_argcount=0, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:69
#15 0x000055555b6774f2 in CallQueue::_call_function(Callable const&, Variant const*, int, bool) [clone .isra.0] (p_callable=..., p_args=<optimized out>, p_argcount=0, p_show_error=false, this=<optimized out>) at core/object/message_queue.cpp:219
#16 0x000055555b1e2ed7 in CallQueue::flush (this=0x55555bfe2d10) at core/object/message_queue.cpp:324
#17 0x0000555559550441 in SceneTree::process (this=0x55556005b8a0, p_time=0.14383166666669212) at scene/main/scene_tree.cpp:511
#18 0x00005555577bdf60 in Main::iteration () at main/main.cpp:3613
#19 0x00005555577fb19e in OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:933
#20 OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:916
#21 main (argc=<optimized out>, argv=<optimized out>) at platform/linuxbsd/godot_linuxbsd.cpp:74

It is also called twice when selecting a node:
Thread 1 "godot.linuxbsd." hit Breakpoint 4, NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
495     void NavigationObstacle3DEditor::edit(Node *p_node) {
(gdb) bt
#0  NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
#1  0x0000555558882294 in EditorNode::_plugin_over_edit (this=<optimized out>, p_object=<optimized out>, p_plugin=<optimized out>) at editor/editor_node.cpp:847
#2  EditorNode::edit_item (this=<optimized out>, p_object=<optimized out>, p_editing_owner=<optimized out>) at editor/editor_node.cpp:2184
#3  0x0000555558898d63 in EditorNode::_edit_current (this=0x5555600cb760, p_skip_foreign=<optimized out>) at editor/editor_node.cpp:2470
#4  0x0000555558b1294d in EditorNode::push_node_item (p_node=<optimized out>, this=<optimized out>) at editor/editor_node.cpp:2191
#5  SceneTreeDock::_push_item (this=0x55556573d280, p_object=0x555569a5e9f0) at editor/scene_tree_dock.cpp:1495
#6  0x000055555b6774f2 in CallQueue::_call_function(Callable const&, Variant const*, int, bool) [clone .isra.0] (p_callable=..., p_args=<optimized out>, p_argcount=0, p_show_error=true, this=<optimized out>) at core/object/message_queue.cpp:219
#7  0x000055555b1e2ed7 in CallQueue::flush (this=0x55555bfe2d10) at core/object/message_queue.cpp:324
#8  0x0000555559543b10 in SceneTree::physics_process (this=0x55556005b8a0, p_time=0.016666666666666666) at scene/main/scene_tree.cpp:471
#9  0x00005555577bdaf0 in Main::iteration () at main/main.cpp:3575
#10 0x00005555577fb19e in OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:933
#11 OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:916
#12 main (argc=<optimized out>, argv=<optimized out>) at platform/linuxbsd/godot_linuxbsd.cpp:74
(gdb) c
Continuing.

Thread 1 "godot.linuxbsd." hit Breakpoint 4, NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
495     void NavigationObstacle3DEditor::edit(Node *p_node) {
(gdb) bt
#0  NavigationObstacle3DEditor::edit (this=0x55556c738f50, p_node=0x555569a5e9f0) at editor/plugins/navigation_obstacle_3d_editor_plugin.cpp:495
#1  0x0000555558882294 in EditorNode::_plugin_over_edit (this=<optimized out>, p_object=<optimized out>, p_plugin=<optimized out>) at editor/editor_node.cpp:847
#2  EditorNode::edit_item (this=<optimized out>, p_object=<optimized out>, p_editing_owner=<optimized out>) at editor/editor_node.cpp:2184
#3  0x0000555558898d63 in EditorNode::_edit_current (this=0x5555600cb760, p_skip_foreign=<optimized out>) at editor/editor_node.cpp:2470
#4  0x0000555558b1294d in EditorNode::push_node_item (p_node=<optimized out>, this=<optimized out>) at editor/editor_node.cpp:2191
#5  SceneTreeDock::_push_item (this=0x55556573d280, p_object=0x555569a5e9f0) at editor/scene_tree_dock.cpp:1495
#6  0x0000555558b745ca in SceneTreeDock::_selection_changed (this=0x55556573d280) at editor/scene_tree_dock.cpp:2348
#7  0x000055555b1e617e in Object::emit_signalp (this=<optimized out>, p_name=..., p_args=0x0, p_argcount=0) at core/object/object.cpp:1126
#8  0x0000555558730c52 in Object::emit_signal<>(StringName const&) (p_name=..., this=0x7fffac002170) at ./core/object/object.h:920
#9  EditorSelection::_emit_change (this=0x7fffac002170) at editor/editor_data.cpp:1298
#10 0x00005555578ea509 in call_with_variant_args_helper<__UnexistingClass>(__UnexistingClass*, void (__UnexistingClass::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (p_args=<synthetic pointer>, r_error=..., p_method=<optimized out>,
    p_instance=<optimized out>) at ./core/variant/binder_common.h:303
#11 call_with_variant_args_dv<__UnexistingClass> (default_values=..., r_error=..., p_argcount=<optimized out>, p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/variant/binder_common.h:450
#12 MethodBindT<>::call(Object*, Variant const**, int, Callable::CallError&) const (this=<optimized out>, p_object=<optimized out>, p_args=<optimized out>, p_arg_count=<optimized out>, r_error=...) at ./core/object/method_bind.h:335
#13 0x000055555b18e697 in Object::callp (this=0x7fffac002170, p_method=..., p_args=0x0, p_argcount=<optimized out>, r_error=...) at core/object/object.cpp:774
#14 0x000055555af38444 in Callable::callp (this=0x55555ff0b670, p_arguments=0x0, p_argcount=0, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:69
#15 0x000055555b6774f2 in CallQueue::_call_function(Callable const&, Variant const*, int, bool) [clone .isra.0] (p_callable=..., p_args=<optimized out>, p_argcount=0, p_show_error=false, this=<optimized out>) at core/object/message_queue.cpp:219
#16 0x000055555b1e2ed7 in CallQueue::flush (this=0x55555bfe2d10) at core/object/message_queue.cpp:324
#17 0x0000555559550441 in SceneTree::process (this=0x55556005b8a0, p_time=0.10056433333330747) at scene/main/scene_tree.cpp:511
#18 0x00005555577bdf60 in Main::iteration () at main/main.cpp:3613
#19 0x00005555577fb19e in OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:933
#20 OS_LinuxBSD::run (this=0x7fffffffd500) at platform/linuxbsd/os_linuxbsd.cpp:916
#21 main (argc=<optimized out>, argv=<optimized out>) at platform/linuxbsd/godot_linuxbsd.cpp:74

So I'm not sure if the bug is just in NavigationObstacle3DEditor::edit, or the fact that edit is being double-called.
Steps to reproduce

Add a NavigationObstacle3D to a scene.

Minimal reproduction project
N/A

The obstacle editor plugin code is a copy of the polygon 3d editor plugin.
The polygon 3d plugin received fix https://github.com/godotengine/godot/pull/73726 that the obstacle plugin is missing.

Is it expected that NavigationObstacle3DEditor::edit is called twice with the same argument when selecting or adding a node?

@rcorre Do you have a @tool script running in the Editor? Because I only ever get a single edit() call.

@smix8 I don't. I can repro this on a brand new empty project. If I add a NavigationObstacle3D, edit is called twice. If I click on another node, then click on the NavigationObstacle3D again, edit is called twice (specifically twice when I click on the NavigationObstacle3D, both with that same node as the argument).
In the first case, it seems that SceneTreeDock::_do_create is called on creating an object, and that calls edit, but you also get a SceneTreeDock::_selection_changed triggering a second call to edit.
Maybe it's not a huge deal, and plugins should handle duplicate calls to ::edit properly, but I just wanted to call that out.


Add gen_msg property to SimpleError

Added the gen_msg property to SimpleError, but did not yet implement other requirements specified in issue #23.

@otizhi


Set inputs in the class init

Set the inputs when you make an instance of the class instead of on the methods. This will ensure consistency across calculations.

Done


Add: New Readme file. The instructions for each setup

No Read me yet

Added a little description to the file. Will add the instructions on the index page of each starter file and the github pages.


fix catch-all redirect message.

Using only window.location.href doesn't catch the attempted route. So the message ends up reading:

Can't find: /users

If attempting an invalid url from /users.
So now catch-all will read what Page.js was working with.

Thank you :+1:


Using custom protocol in ACL rule, breaks ACL

ISSUE TYPE

Bug Report

COMPONENT NAME

mgmt, ACL rules handling

CLOUDSTACK VERSION

tested <IP_ADDRESS>, <IP_ADDRESS>

CONFIGURATION

VPC, custom ACL with a few (ingress) rules applied to a network
OS / ENVIRONMENT

NA
SUMMARY

Adding an ACL rule with a custom protocol number (i.e. protocol 50, 51 or any other) - will break ACL/iptables chain inside the VR in following way

all the rules BEFORE this one (rule number lower than the custom protocol rule number) will get properly applied
this specific rule (custom protocol number) will NOT be injected at all inside the VR (seems it is not sent by mgmt server to the VR )
all the rules that come AFTER this one, will be injected only AFTER the default DENY rule is injected

STEPS TO REPRODUCE

Create a VPC with custom ACL on the network i.e.:

Confirm rules are properly applied inside the VR:
root@r-47-VM:~# iptables-save | grep INBOUND_eth2
:ACL_INBOUND_eth2 - [0:0]
-A FORWARD -d <IP_ADDRESS>/24 -o eth2 -j ACL_INBOUND_eth2
-A ACL_INBOUND_eth2 -d <IP_ADDRESS>/32 -j ACCEPT
-A ACL_INBOUND_eth2 -d <IP_ADDRESS>/32 -j ACCEPT
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 666 -j ACCEPT
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 222 -j ACCEPT
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 333 -j ACCEPT
-A ACL_INBOUND_eth2 -j DROP

Now, add a custom rule in the middle of the rules list (rule number 31 in the example below), as follows:

Again examine the rules in the VR:
root@r-47-VM:~# iptables-save | grep INBOUND_eth2
:ACL_INBOUND_eth2 - [0:0]
-A FORWARD -d <IP_ADDRESS>/24 -o eth2 -j ACL_INBOUND_eth2
-A ACL_INBOUND_eth2 -d <IP_ADDRESS>/32 -j ACCEPT
-A ACL_INBOUND_eth2 -d <IP_ADDRESS>/32 -j ACCEPT
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 666 -j ACCEPT
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 222 -j ACCEPT
-A ACL_INBOUND_eth2 -j DROP
-A ACL_INBOUND_eth2 -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 333 -j ACCEPT

Notice that:

the rule for protocol 50 is missing (not even mentioned in the /var/log/cloud.log, while inside the management.log there is simply a "success" adding a rule - i.e. no exceptions)
the default DENY rule is applied in the middle of the chain
other rules (the ones that should come after the custom protocol number rule) are added later, below the DENY rule (so they never get evaluated)

EXPECTED RESULTS

A working ACL.

ACTUAL RESULTS

Read the "STEPS TO REPRODUCE" section.

For reference: IP protocol numbers 50 and 51 are for IPsec in transport mode. They are useful if IPsec endpoints are operated behind the router and tunnel mode (UDP port 500) cannot be used.

(I tested with protocol number 6 (TCP) and saw the same behaviour)

@andrijapanicsb
have you fixed this issue? If not, I will take it. we have a fix for it.

not yet @weizhouapache, thx in advance!

@andrijapanicsb I have created a PR #3678 for this issue.
Please review/test it, thanks !


Gradient Conditions For A Total Variation Implementation

Hello,
I am trying to use JAX to implement total variation regulation. This would replace the L1 term in the regularized linear regression to:
lambda*np.linalg.norm(gradient(w), 1)
How would I add gradient conditions? Would np.diff() be the correct solution?
Best!

Although I've seen the neighborhood for Gibbs prior regularization being defined symmetrically most of the time, the forward difference np.diff should work just as well in practice. If you want to regularize in all directions you have to loop over all axes:
def total_variation(w):
    cost = 0.0
    for i in range(w.ndim):
        wd = np.diff(w, axis=i)
        cost += np.linalg.norm(wd, 1)
    return cost

If you want to apply a mask or weights, you should use the central difference np.gradient instead, as it returns value on the same coordinate grid as opposed to np.diff.
def total_variation(w, weights):
    cost = 0.0
    for i in range(w.ndim):
        wd = np.gradient(w, axis=i)
        cost += np.linalg.norm(weights * wd, 1)
    return cost

(FWIW I'm thinking in terms of w being a 3D volume, don't know if that makes sense for your context.)

Thank you! Is there any insight on to how the gradient for L1 is computed? The update function for total variation ends up looking like 19.5.1 in https://www.stat.cmu.edu/~ryantibs/convexopt-F15/scribes/19-case-studies-scribed.pdf . Should I use a L1 approximation that is differentiable?
I am not sure what you mean by "neighborhood for Gibbs prior regularization ", but would love to learn more.

I guess you'll have the same issues using L1 for regularization regardless of the backend. abs is just not differentiable at 0. What I want to say is, whether you should use a differentiable approximation (Huber loss for example) depends on your specific problem. Maybe L1 works fine in practice for your data.
To be honest, I don't understand the $\gamma_i \in [-1, 1] if (D \beta)_i = 0$ in 19.5.1. Maybe that's why I'm answering your question so poorly.
With "Gibbs prior regularization" I meant the formal mathematical motivation for using nearest-neighbor regularization. And in this context, I've seen (coming from medical imaging) the neighborhood of a data point being defined symmetrically around that point most of the time.

clemisch, thank you so much. This discussion was helpful. I am going to close this issue now that I understand how these parts interact.


fix: #750 frontend minor fixes

1 - Changing the text to 'Profile', which makes more sense to the displayed icon;
2 - The correct is 'ForestS' in plural. Fixing the frontend;
3 - The disabled content for the sideNav will be removed for now;
4 - Adding the logged user_name info in the profile component.

Hi Nick, please check the code smell in sonar cloud analysis, and I'm not sure if you added the user_name to the profile.

Hi Nick, please check the code smell in sonar cloud analysis, and I'm not sure if you added the user_name to the profile.

Hey Catherine, the code smells are bits of code that were commented out because we will not be showing the disabled options in the sideNav component. But once we are able to show them, they can be uncommented back. Should we remove it even though is going to be redone in the future?
The user name is being displayed in the profile sidebar component, could you please check again?


Remove unused dependencies

Some of the dependencies in package.json were not used. This PR removes them.

Codecov Report

Merging #9 (0219ebe) into main (1757225) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   77.81%   77.81%
=======================================
  Files          18       18
  Lines        1483     1483
  Branches      293      293
=======================================
  Hits         1154     1154
  Misses        194      194
  Partials      135      135

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


🐛 Bug: Copy buttons are broken :(

Bug Report Checklist

[X] I have searched for related issues and found none that matched my issue.
[X] This is the appropriate issue form for the bug I would like to report.

Expected
https://www.learningtypescript.com/the-type-system/system-of-a-clown/ and similar has Copy buttons on each code block that are supposed to copy the contents of that code block.
Actual
The Copy buttons are unstyled and don't actually copy...

Additional Info
No response

The issue is that the external-project-links.js Remark plugin is running after the default Docusaurus ones. It should be in a beforeDefaultRemarkPlugins entry in `docusaurus.config.js.


Run specific test in repo

Use 	test.cmd -filter BuildCommadMapsForProcessor to run tests matching the filter.

@dotnet-bot test Windows_NT / Release Build please


#95 Application Code 추가

Resolved #95

Codecov Report

Merging #108 (59d7415) into main (abc047c) will decrease coverage by 1.74%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##               main     #108      +/-   ##
============================================
- Coverage     48.76%   47.01%   -1.75%
  Complexity       80       80
============================================
  Files            35       36       +1
  Lines           404      419      +15
  Branches          3        3
============================================
  Hits            197      197
- Misses          207      222      +15

Impacted Files
Coverage Δ

...necia/domain/application/code/ApplicationCode.java
0.00% <0.00%> (ø)

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 abc047c...59d7415. Read the comment docs.


Detected blocking call to open inside the event loop by custom integration 'tuya_local

This form is for reporting bugs.  If you have encountered a bug, you should
generally have some log messages or device diagnostics to show something is
going wrong.  If your problem is more of a question or a request for help,
then Discussions is
probably a more suitable venue.
Describe the bug
Found this in the logs while trying to diagnose another issue
To Reproduce
Steps to reproduce the behavior including the device the issue was observed with:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.
If the bug involves a device, then please include device diagnostics from
Settings / Devices & Services / Tuya Local (your device) / "1 device"
Please check if there are messages from Tuya Local in the Home
Assistant log (Settings / System / Logs), and include those too.
If applicable, add screenshots to help explain your problem.
WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by custom integration 'tuya_local' at custom_components/tuya_local/helpers/device_config.py, line 101: self._config = load_yaml(filename) (offender: /usr/src/homeassistant/homeassistant/util/yaml/loader.py, line 226: with open(fname, encoding="utf-8") as conf_file:), please create a bug report at https://github.com/make-all/tuya-local/issues

Duplicate of #1981 which is fixed in the new release just made.


Refactor sync query jobs

Refactor sync query jobs

Coverage increased (+0.07%) to 76.736% when pulling 8e5768666538ad9f13ddb7b55741664f69c8cf60 on refactor_sync into 5a93b305480805db9a26d4a489b278116f7a6a60 on master.

Coverage increased (+0.07%) to 76.736% when pulling 8e5768666538ad9f13ddb7b55741664f69c8cf60 on refactor_sync into 5a93b305480805db9a26d4a489b278116f7a6a60 on master.


matplotlib documentation link broken

The nightly link checker failed on the link to https://matplotlib.org/stable/contents.html:
https://github.com/ProjectPythia/pythia-foundations/runs/4245572498?check_suite_focus=true#step:6:212
I think this is because the matplotlib website has just been reorganized with new content.

That new link should be: https://matplotlib.org/stable/

I'll do a quick fix now.


Different Z-axis range handled in Y-axis than X-axis for raster plot

Describe the bug
I am exploring the raster (2D) static plot as an option for a project I am working on. I will be plotting a 64x64 grid of values. I began by plotting a random set of 64x64 values (see this fiddle) and that looked great. Then, I attempted to plot columns of fixed values, for example:
[
    [0,1,2,3,...,61,62,63],
    [0,1,2,3,...,61,62,63],
    [0,1,2,3,...,61,62,63],
    ...
    [0,1,2,3,...,61,62,63],
    [0,1,2,3,...,61,62,63],
    [0,1,2,3,...,61,62,63],
]

and this too produced the expected result (see this fiddle). For some reason though, when I plot rows of fixed values such as:
[
   [0,0,0,0,...,0,0,0],
   [1,1,1,1,...,1,1,1],
   [2,2,2,2,...,2,2,2],
   ...
   [61,61,61,61,...,61,61,61],
   [62,62,62,62,...,62,62,62],
   [63,63,63,63,...,63,63,063
]

this does not yield the expected result. I would expect a steady gradient from top to bottom (basically a rotated version of the prior one) but instead I get a steady gradient for about ~15 rows, followed by ~48 (the remaining) rows being displayed at "max" value color (see this fiddle)
I can not figure out what would cause this. Any guidance would be greatly appreciated! Great tool!

Hi Kevin! Thanks for filing this! In the current behavior of SigPlot, the autoscaling logic only looks at the first 16 lines by default (i.e., in the LPB setting). Note that you can alternatively force a Zmin and Zmax and not use autoscaling.
Let @maihde or me know if you have any further questions.

@mrecachinas you were exactly correct! I forced Zmin and Zmax and then I got the behavior I expected. Thanks so much for the quick reply, and on a Saturday no less!
I have the update jsfiddle here just for completeness sake: https://jsfiddle.net/vjantkpb/


Red alert solution (codechef problem) in C language.

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Solution to codechef problem-july lunchtime contest in C language
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.

Related Issues or Pull Requests
#851
Fill up the DCP form
If you are a part of DCP 21, fill up this form after the PR is merged.
The links provided in the form will be checked thoroughly, if someone tries fooling around, strict actions will be taken against the individual.

PROBLEM STATEMENT
According to the Meteorological Department, there will be rain in the upcoming N days in the city. Initially, the water level of the city is zero millimetres. The amount of rain on the i-th day can be described by an integer Ai as follows:
If Ai>0, the water level of the city increases by Ai millimetres on the i-th day.
If Ai=0, there is no rain on the i-th day. The water level of the city decreases by D millimetres on such a day. However, if the water level is less than D millimetres before the i-th day, then it becomes zero instead.
There will be a red alert in the city if the water level becomes strictly greater than H millimetres on at least one of the N days. Determine if there will be a red alert.
Input Format
The first line of the input contains a single integer T denoting the number of test cases. The description of T test cases follows.
The first line of each test case contains three space-separated integers N, D and H.
The second line contains N space-separated integers A1,A2,…,AN.
Output Format
For each test case, print a single line containing the string "YES" if there will be a red alert or "NO" otherwise.

Mention the space and time complexity of the approach used. Also, add comments to explain your core logic.

Ok

Requested changes has been made @smv1999


Authorization failed

Requirement already satisfied: charset-normalizer<4,>=2 in ./scripts/.venv/lib/python3.9/site-packages (from requests>=2.18.4->azure-core<2.0.0,>=1.23.0->azure-ai-formrecognizer==3.2.1->-r ./scripts/requirements.txt (line 4)) (3.1.0)
Requirement already satisfied: idna<4,>=2.5 in ./scripts/.venv/lib/python3.9/site-packages (from requests>=2.18.4->azure-core<2.0.0,>=1.23.0->azure-ai-formrecognizer==3.2.1->-r ./scripts/requirements.txt (line 4)) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./scripts/.venv/lib/python3.9/site-packages (from requests>=2.18.4->azure-core<2.0.0,>=1.23.0->azure-ai-formrecognizer==3.2.1->-r ./scripts/requirements.txt (line 4)) (1.26.15)
Requirement already satisfied: oauthlib>=3.0.0 in ./scripts/.venv/lib/python3.9/site-packages (from requests-oauthlib>=0.5.0->msrest>=0.6.21->azure-ai-formrecognizer==3.2.1->-r ./scripts/requirements.txt (line 4)) (3.2.2)
Running "prepdocs.py"
Ensuring search index gptkbindex exists
Traceback (most recent call last):
File "/workspaces/azure-search-openai-demo/./scripts/prepdocs.py", line 299, in
create_search_index()
File "/workspaces/azure-search-openai-demo/./scripts/prepdocs.py", line 237, in create_search_index
if args.index not in index_client.list_index_names():
File "/workspaces/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/core/paging.py", line 132, in next
return next(self._page_iterator)
File "/workspaces/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/core/paging.py", line 76, in next
self._response = self._get_next(self.continuation_token)
File "/workspaces/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/search/documents/indexes/_generated/operations/_indexes_operations.py", line 520, in get_next
raise HttpResponseError(response=response, model=error)
azure.core.exceptions.HttpResponseError: () Authorization failed.
Code:
Message: Authorization failed.
PS /workspaces/azure-search-openai-demo>

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

I'm seeing the exact same issue. I'm using WSL 2 on Windows 11 Enterprise.
I followed all the instructions exactly, except I had to use "azd login --use-device-code" instead of just "azd login". I didn't set any of the environment variables to use existing resources.

same issue for me as well:
File "/workspaces/azure-search-openai-demo/MIPGPT/scripts/.venv/lib/python3.9/site-packages/azure/search/documents/indexes/_generated/operations/_indexes_operations.py", line 520, in get_next
raise HttpResponseError(response=response, model=error)
azure.core.exceptions.HttpResponseError: () Authorization failed.
Code:
Message: Authorization failed.

This often happens when the previous runs of "azd up" don't run to completion, since one of the last steps is to add roles for the currently logged-in user so the account can access the storage account, search service, etc. Did you try adding your self as blob contributor (in the storage account) and search contributor (in the search service)?

that did it for me, thanks @pablocastro

That didn't work for me :( As far as I can tell, my user has blob contributor permissions in the storage account, and search countributor permissions in the search service. I get the error while doing "azd up". Here's the full stack for the error I get:
Running "prepdocs.py"
Ensuring search index gptkbindex exists
Traceback (most recent call last):
File "/home/bstollnitz/git/azure-search-openai-demo/./scripts/prepdocs.py", line 299, in
create_search_index()
File "/home/bstollnitz/git/azure-search-openai-demo/./scripts/prepdocs.py", line 237, in create_search_index
if args.index not in index_client.list_index_names():
File "/home/bstollnitz/git/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/core/paging.py", line 132, in next
return next(self._page_iterator)
File "/home/bstollnitz/git/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/core/paging.py", line 76, in next
self._response = self._get_next(self.continuation_token)
File "/home/bstollnitz/git/azure-search-openai-demo/scripts/.venv/lib/python3.9/site-packages/azure/search/documents/indexes/_generated/operations/_indexes_operations.py", line 520, in get_next
raise HttpResponseError(response=response, model=error)
azure.core.exceptions.HttpResponseError: () Authorization failed.
Code:
Message: Authorization failed.
ERROR: failed running post hooks: 'postprovision' hook failed with exit code: '1', Path: './scripts/prepdocs.sh'. : exit status 1

I also tried to delete the resource group and start fresh, just in case something was corrupt from previous attempts, and I get the same error.

I am also running into the same error.  Many attempts, I am not sure what else I need to do.

This issue is fixed on the new azd version.
You can try from a new empty folder and you should not have this issue anymore.
And to fix an existing project, you go to the .env file from .azure/<env-name-folder>/.env and delete the AZURE_PRINCIPAL_ID entry.  Then, the next time you run azd up, the value will be populated again correctly.

for me, added me Search Service Contributor as role in the search service. and then run azd up again and it worked.

Same here. I have full admin permission of my own demo subscription. I can see the stack trace error when the script is executing command: azd auth token --output json --scope https://search.azure.com/.default --tenant-id {tenant-id}. When I execute this command using same venv environment it returns without error. I am not sure why it fails in the script.

Same here. I have full admin permission of my own demo subscription. I can see the stack trace error when the script is executing command: azd auth token --output json --scope https://search.azure.com/.default --tenant-id {tenant-id}. When I execute this command using same venv environment it returns without error. I am not sure why it fails in the script.

Resolved by forcing the environment proxy and recreate entire project using a different name.


feat(homebase.react): add useClient hook

client fn to serialize db to string
client fn to deserialize db from string
client fn to create transaction listener
client fn to transact and bypass listeners
example of useClient syncing data with firebase
fix caching for hooks that do not unmount when their entities are retracted

@rubinovitz please QA this PR locally. If you open http://localhost:3000/#!/example.todo_firebase in multiple windows then changes in one window should sync to the other window if they're both logged in as the same user.


Support Message/Flash message often appears in backend

Hi there,
since I activated you plugin (thanks for sharing it!) I often see the message in the backend that will be displayed by
getView('Messages/support')
That sucks as I can't click it away and silence it.
I guess this is not how you planed it and maybe there is a bug at your or my end.
Could you please have a check?
Sebastian

The message appear only once for user when the plugin is activated


[On-chain, Testing] refactor: in-memory network testutils

Summary
Human Summary
WIP
Issue

#140
#141
#266
#250

Type of change
Select one or more:

[ ] New feature, functionality or library
[ ] Bug fix
[x] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[ ] Run all unit tests: make go_develop_and_test
[ ] Run E2E tests locally: make test_e2e
[ ] Run E2E tests on DevNet: Add the devnet-test-e2e label to the PR. This is VERY expensive, only do it after all the reviews are complete.

Sanity Checklist

[ ] I have tested my changes using the available tooling
[ ] I have performed a self-review of my own code
[ ] I have commented my code, updated documentation and left TODOs throughout the codebase

NOT ACTUALLY MERGED: re-opened as #285.


ARTEMIS-1862: fix 'amqpLowCredits' XML config, update code defaults

More details at https://issues.apache.org/jira/browse/ARTEMIS-1862

A separate change for later, but I think it would be nicer to remove the config from the XML by default as few will need/want to change it.

@gemmellr I placed it there as I thought it would be easier for users to change it without needing to look at docs. but if this is rarely needed.. perhaps it should go.

The CI failure doesnt seem related

@gemmellr  nice catch! thanks a lot!

@clebertsuconic I think having it configurable makes sense, but I think its mostly in the way being part of the default config.


added back drive sim to dev

for documentation: shooter PR didn't include changes pulled from Dev, this commit adds those drive sim fixes back


How to automatically place multiple models in AR scene

I want to be able to add multiple objects on the plane automatically based on a condition i make (walking distance, time, loop...)
I couldn't find documentation for the project and the samples projects are very basic and lacking comments.

To place an object on a plane you usually do a raycast in ARCore. Maybe the new Geospatial API is better suited for walking: https://developers.google.com/ar/develop/geospatial.


CancellationToken not propagated to the callback/IBot/Dialogs

When the changes were made to support passing CancellationToken down through the pipeline, I called out that we needed to make sure to add it to the Func<ITurnContext, Task> callback that ultimately represents the "bottom" of the chain... today this is usually IBot or the Dialogs layer.
It looks like that was missed, so where we are is that everything from the BotAdapter through IMiddleware can participate in cancellation, but the actual bot logic where arguably the majority of the heavy async lifting is likely to happen (e.g. calling out to web services, etc.) can not. This seems like a gap that should be closed.
High level work proposal:

Change the existing callback from Func<ITurnContext, Task> to Func<ITurnContext, CancellationToken, Task> (perhaps consider a strongly typed delegate)
Add CancellationToken parameter to IBot::OnTurnAsync - Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
Add CancellationToken throughout appropriate Dialog APIs
Propagate the CancellationToken down through the callback in all the BotAdapter implementations

This seems like an oversight by John. I've assigned this over to him, and once he's back (later this week) we should be able to do this.

@drub0y working on this today

not yet propagated to dialogs but that we are handling in other threads.


Issue with compiling

I recently switched to Linux and I can't seem to compile this.
It always gives me these errors:
source/Controls.hx:617: characters 21-29 : Array<Int> has no field contains
source/Controls.hx:412: characters 25-33 : Array<Int> has no field contains
source/Replay.hx:126: characters 10-11 : Missing type declaration

I just can't seem to make them work, please help.

https://github.com/larsiusprime/polymod/pull/39

Are you sure your source isn't broken?


Imporve version resolution logic

First stab at issue 13

python-apt is not used for parsing version strings.
Its primary use is to interface with the apt package management system.
I'll create a custom function for now. When we find a debian version parser we can re-evaluate.

We still have complaints at line 89 about the version. Although it is a compliant debian version

Now it correctly parses debian versions and Dependents symbols (>= 1. ....etc..)


Auras

options do show up but i cannot track anything errors just keep popping

Yes this is in very early stages of development... Plus there's a lot of work because all the libraries need to be back ported too... certain custom scripts work and I got it to be very useful but only entirely with custom Scripts

I don't have the bandwidth to work on this right now but if anyone wants to contribute I'm open... this was intended to be an open source back port

A good portion of the default options don't work because events we're dramatically Rewritten by the time the original was released... There's a lot of basic work that will go into making the UI work without using custom Scripts


Fix crash with nested generators

This fixes a crash due to the fact the generators transform was not properly saving and restoring the blockStack variable.
Fixes #11177

// CC: @yuit, @vladima


Squats fps when switching screens with react navigation

Hello. I have a problem with switching screens with drawer react navigation. For example, I photographed, switch to another screen, FPS crouches. Animation looks terrible. How to solve this problem? Thanks

support. I'm still here

+1

Closed due to missing activity. Please open a new issue if you still experience this with the newest version of RNCamera.


Getting wrong readings time to time

Dear all,
Right now I've started playing with this sketch in order to connect and Arduino Nano with an OpenUPS and read some values from it (voltage, av. current, av. time to full, capacity, etc.).
I follow the default I2C configuration for this purpose, using Arduino A4 and A5 to connect to OpenUPS SMBUS. Then, by running PackProbe, initially everything works as expected. The scan function detects the OpenUPS address.
Then, when time comes for reading values from OpenUPS, I'm having some incoherence reading time to time. Of course, the OpenUPS is not ready to display all the information that PackProbe defines, but for the parameters that are allowed, time to time I'm getting a wrong value (always -15134).
Example: I'm reading a capacity value of 2600mAh (which is the expected value). Then, at some loop, I'm getting a capacity value of -15134.
I'm finding this randomly in all the parameters read. Any idea of which could be the reason?
Thanks
Josep

Find below the output obtained through the serial monitor. In this case I'm just reading the 'Design capacity' value with a delay between readings of 5secs. As you can see I'm getting 2600 (right value) most of the times, but some times I get -15134 (wrong value).
Serial Initialized
I2C Inialized
Address: 0x0: -
Address: 0x1: -
Address: 0x2: -
Address: 0x3: -
Address: 0x4: -
Address: 0x5: -
Address: 0x6: -
Address: 0x7: -
Address: 0x8: -
Address: 0x9: -
Address: 0xA: -
Address: 0xB: -
Address: 0xC: -
Address: 0xD: -
Address: 0xE: -
Address: 0xF: -
Address: 0x10: -
Address: 0x11: -
Address: 0x12: -
Address: 0x13: -
Address: 0x14: -
Address: 0x15: -
Address: 0x16: -
Address: 0x17: -
Address: 0x18: -
Address: 0x19: -
Address: 0x1A: -
Address: 0x1B: -
Address: 0x1C: -
Address: 0x1D: -
Address: 0x1E: -
Address: 0x1F: -
Address: 0x20: -
Address: 0x21: -
Address: 0x22: -
Address: 0x23: -
Address: 0x24: -
Address: 0x25: -
Address: 0x26: -
Address: 0x27: -
Address: 0x28: -
Address: 0x29: -
Address: 0x2A: -
Address: 0x2B: -
Address: 0x2C: -
Address: 0x2D: -
Address: 0x2E: -
Address: 0x2F: -
Address: 0x30: -
Address: 0x31: -
Address: 0x32: -
Address: 0x33: -
Address: 0x34: -
Address: 0x35: -
Address: 0x36: -
Address: 0x37: -
Address: 0x38: OK
Address: 0x39: -
Address: 0x3A: -
Address: 0x3B: -
Address: 0x3C: -
Address: 0x3D: -
Address: 0x3E: -
Address: 0x3F: -
Address: 0x40: -
Address: 0x41: -
Address: 0x42: -
Address: 0x43: -
Address: 0x44: -
Address: 0x45: -
Address: 0x46: -
Address: 0x47: -
Address: 0x48: -
Address: 0x49: -
Address: 0x4A: -
Address: 0x4B: -
Address: 0x4C: -
Address: 0x4D: -
Address: 0x4E: -
Address: 0x4F: -
Address: 0x50: -
Address: 0x51: -
Address: 0x52: -
Address: 0x53: -
Address: 0x54: -
Address: 0x55: -
Address: 0x56: -
Address: 0x57: -
Address: 0x58: -
Address: 0x59: -
Address: 0x5A: -
Address: 0x5B: -
Address: 0x5C: -
Address: 0x5D: -
Address: 0x5E: -
Address: 0x5F: -
Address: 0x60: -
Address: 0x61: -
Address: 0x62: -
Address: 0x63: -
Address: 0x64: -
Address: 0x65: -
Address: 0x66: -
Address: 0x67: -
Address: 0x68: -
Address: 0x69: -
Address: 0x6A: -
Address: 0x6B: -
Address: 0x6C: -
Address: 0x6D: -
Address: 0x6E: -
Address: 0x6F: -
Address: 0x70: -
Address: 0x71: -
Address: 0x72: -
Address: 0x73: -
Address: 0x74: -
Address: 0x75: -
Address: 0x76: -
Address: 0x77: -
Address: 0x78: -
Address: 0x79: -
Address: 0x7A: -
Address: 0x7B: -
Address: 0x7C: -
Address: 0x7D: -
Address: 0x7E: -
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: -15134
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: -15134
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: -15134
.
Design Capacity: 2600
.
Design Capacity: 2600
.
Design Capacity: 2600

Hi @josepmon .
I am having the same issue. Here are some readings. In fact, here, the oscillation bounces as different numbers.
Did you solve you problem?

Hi @wagnerbra ,
I haven't been working on that since long time ago, so the only thing I can give you right now is the approach I finally used in my OpenUPS.cpp library:
`/**

This function reads and returns an integer parameter from OpenUPS.

An issue was found while reading several parameters in a row. Time to time, the value obtained

was wrong (always the same number -15134). This has been solved by including

the following:

Reading a third byte (PEC byte?).

Perform a brief delay of 1ms after the communications.
*/
int OpenUPS::OpenUPSReadParameterInt(byte cmd)
{
i2c_start(this->deviceAddress<<1 | I2C_WRITE);
i2c_write(cmd);
i2c_rep_start(this->deviceAddress<<1 | I2C_READ);

byte b1 = i2c_read(false);
byte b2 = i2c_read(false);
byte b3 = i2c_read(true); //MANDATORY FOR GOOD READING OF THE FOLLOWING PARAMETER
i2c_stop();
delay(1); //MANDATORY FOR GOOD READING OF THE FOLLOWING PARAMETER
return (int)b1|((( int)b2)<<8);
}`

In short I'm planning to move back to these function. If I discover anything new I will publish it here. Please, in case you find any other approach to solve this issue, do not hesitate to contact me.
Best regards,
Josep

Try to use the improved version at https://github.com/ArminJo/Smart-Battery-Module-Info_For_Arduino


Support specifying version (ranges) on reviewed dependencies

Related to some other issues (#196, #418, #442) but I believe slightly different: my request is to allow for specifying versions (or version ranges) on reviewed dependencies such that licensed status errors if the version doesn't match.
I'm aware of the "license needs review" state (originating from #244). However, this requires that the Licensed cache is committed to VCS (which I'm trying to avoid because I believe it doesn't fit my use case). If I can specify a version on reviewed dependency, Licensed knows which version I reviewed so can tell me to re-review if the version changes.
Supporting version ranges as well could be seen as a quality of life feature, particularly given that I've seen it argued that license changes should be considered a breaking change (unfortunately I don't have a reference for that...).
I have two (non-mutually exclusive) suggestions for how to support this from the configuration side:

Add support for adding @x.y.z to the package name. If present, the version is compared against the actual version of the dependency. If not present, Licensed's behavior is unchanged.

Update the reviewed configuration format to something along the lines of:
reviewed:
   npm:
     # for example
     - package: glob
       version: x.y.z

     # Or no version, same behavior as current
     - package: glob

     # Or, for backwards compatibility
     - glob

@ericcornelissen I'm not sure that these changes alone are going to produce the result you're looking for.  Licensed has checks which that enforce that a license file exists for each dependency.

However, this requires that the Licensed cache is committed to VCS (which I'm trying to avoid because I believe it doesn't fit my use case).

Committing the license files to VCS is somewhat core to the purpose of licensed.  Would you mind describing your use case and maybe I can help with how to better fit licensed to what you're looking to accomplish?

I'm not sure that these changes alone are going to produce the result you're looking for. Licensed has checks which enforce that a license file exists for each dependency.

Can you elaborate on why it won't give me the results I'm looking for.
If I have reviewed a dependency at a particular version, I would know it doesn't have a license file. If I need to re-review the dependency because I'm now depending on a new version, I would find out it doesn't have a license file anymore.

Committing the license files to VCS is somewhat core to using licensed. Would you mind describing your use case and maybe I can help with how to better fit licensed to what you're looking to accomplish?

I'm primarily looking to automate checking that the licenses of my dependencies are withing a given set of allowed licenses, manually reviewing in case licensed isn't able to determine the license. By running licensed cache followed by licensed status I'm able to have that checked automatically (without having to actually store the cache!).
I will add, re-thinking what I need I should admit adding support for version ranges in the way I described isn't the only possible solution. Something that would also work, and is perhaps closer to committing all licenses files to VCS, is something along the lines of storing the license text of reviewed licenses in the licensed config file. As long as the license text of the dependency matches, the dependency is still "reviewed".

Can you elaborate on why it won't give me the results I'm looking for?

Only because I didn't understand your workflow and how you wanted to use licensed, mainly this By running licensed cache followed by licensed status I'm able to have that checked automatically (without having to actually store the cache!).. It wasn't clear from your original message that you were generating the license files before running licensed status 👍

Something that would also work, and is perhaps closer to committing all licenses files to VCS, is something along the lines of storing the license text of reviewed licenses in the licensed config file. As long as the license text of the dependency matches, the dependency is still "reviewed".

This particular solution feels worse than the others - you're still storing the license contents in your source control only as one massive file that will take a long time to read and parse.  For projects with a handful of dependencies that might be alright but for any project using a dependency tree with thousands of items the config file would become untenable.
😄 FWIW this is not a new conversation and I've been on the fence about how to approach this issue for awhile.  Caching license metadata in the repo contents enables easier manual review of used dependencies and their metadata + licenses, ultimately leading to safer usage. It is outside the spirit of the tool to enable workflows that check the "license audit" box without actually enabling a true audit.
That said, for small teams or individual developers that don't have an audit process or want to keep their repos free from non-code artifacts I see the value in being able to provide a version in the configuration to reduce friction.

Add support for adding @x.y.z to the package name. If present, the version is compared against the actual version of the dependency. If not present, Licensed's behavior is unchanged.

This is likely the path for the solution as it's close to how some of the sources already handle reviewing multiple versions of a dependency used by a project.
For now, I'm going to limit an initial implementation to not allow version ranges with the goal of iterating if needed.  Version ranges are unsafe to use in compliance scenarios since any given new version may include a license change that could be unsafe to mark as reviewed.

This particular solution feels worse than the others - you're still storing the license contents in your source control only as one massive file that will take a long time to read and parse. For projects with a handful of dependencies that might be alright but for any project using a dependency tree with thousands of items the config file would become untenable.

Fair enough, I had smaller projects in mind indeed.

:smile: FWIW this is not a new conversation and I've been on the fence about how to approach this issue for awhile. Caching license metadata in the repo contents enables easier manual review of used dependencies and their metadata + licenses, ultimately leading to safer usage. It is outside the spirit of the tool to enable workflows that check the "license audit" box without actually enabling a true audit.

100% - if Licensed isn't intended ("spirit") for how I want to use it, that's fine.
I can imagine this is not the first time this kind of request comes up :slightly_smiling_face:  I was hoping to contribute a new perspective to the discussion, though (which seems to have worked out).

This is likely the path for the solution as it's close to how some of the sources already handle reviewing multiple versions of a dependency used by a project.

:+1:

For now, I'm going to limit an initial implementation to not allow version ranges with the goal of iterating if needed. Version ranges are unsafe to use in compliance scenarios since any given new version may include a license change that could be unsafe to mark as reviewed.

That makes perfect sense.


Brownfur Transmuter Powerful Charge

using powerful change from brownfur transmuter, I have set it as the preuse ability but my char just doesn't use it

Fixed in 0.1.6


Consider updating packaging and coordinates?

As discussed here, this repository is now in the Typelevel organization. It's not strictly necessary to move the project from io.catbird to org.typelevel, but I think it'd be a good idea. This would involve two changes:

Change the publishing coordinates from io.catbird to org.typelevel. This is easy, simplifies publishing rights, and imposes a very small burden on users (just updating the dependency in their build config).
Change the packaging from io.catbird.* to org.typelevel.catbird.*. This is more of a burden on users, but is a completely mechanical change.

We could technically just do the first but not the second, but I also think it'd be good to stay consistent, and I'd like to get rid of the io domain at some point (for various reasons).

I think the first point is obvious and while it might confuse a few users (ahem), we can show a note about it in the readme for a while.
Regarding the second point: What about using catbird as root package? All popular typelevel projects I've used ignore the reverse-domain package-naming convention and I personally prefer it to typing out org.typelevel. all the time.
catbird is a fairly unique name, so I don't expect name clashes to be a problem (io is actually what clashes often for me, e.g. when importing both fs2._ and io.circe._).

@felixbr It's always bothered me that so much of the Scala ecosystem has gone that route, but I don't think I have good reasons for caring as much as I do, and I've been mostly successful at caring about it less. So my vote is a strong +1 for getting rid of io (which I want to do for Circe at some point, too) and a weak +1 for org.typelevel.catbird, but I'd be happy to go with catbird if that's what everyone else wants.

I absolutely understand your frustration but at the same time it seems like this ship has sailed for Scala. I have a slight preference for the short names as long as they don't cause issues but catbird is mostly used for interop, so it's probably not imported in every file anyway. Both solutions are fine with me.
Maybe @dangerousben has a different opinion? 🙂
Anyway, more important to me is the timing. I'd like to merge the cats-effect-3.x stuff first but we can definitely do one release where we do all the naming changes at once, so users are only confused/annoyed once:

Rename the package io.catbird to either catbird or org.typelevel.catbird
Rename the artifact organization to org.typelevel
Rename the artifact for cats-effect-2.x to catbird-effect2 and for cats-effect-3.x to catbird-effect3 (scalatestplus uses dashes like scalacheck-1-15 but circe uses no delimiter like circe-jackson28.)

If we document it properly in release notes, docs, and readme, it shouldn't be a problem.

Maybe @dangerousben has a different opinion?

No strong opinion, catbird seems pretty unlikely to clash with anything.


Yoga symbols collision

Description
I'm experiencing an EXC_BAD_ACCESS error with YGNodeStyleSetMinWidth when using use_frameworks! :linkage => :static in a project that uses Yoga for layout (specifically with React Native)
Provide a Repro
You can find the reproduction setup here: https://github.com/alextoudic/rive-yoga-collision-repro/tree/main/ios
Expected behavior
Both the Rive runtime and React Native should function correctly, using their respective Yoga symbols as intended
Screenshots

Stack trace:
* thread #8, queue = 'com.facebook.react.ShadowQueue', stop reason = EXC_BAD_ACCESS (code=1, address=0x104100)
    frame #0: 0x0000000000104100
    frame #1: 0x000000010620578c RiveRuntime`YGNode::markDirtyAndPropagate() + 36
  * frame #2: 0x00000001094d3140 YogaCollision.debug.dylib`-[RCTShadowView layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:](self=0x000000010661c590, _cmd="layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:", minimumSize=(width = 0, height = 0), maximumSize=(width = 402, height = 874), layoutDirection=UIUserInterfaceLayoutDirectionLeftToRight, layoutContext=RCTLayoutContext @ 0x000000016b97df70) at RCTShadowView.m:268:5
    frame #3: 0x00000001094c1330 YogaCollision.debug.dylib`-[RCTRootShadowView layoutWithAffectedShadowViews:](self=0x000000010661c590, _cmd="layoutWithAffectedShadowViews:", affectedShadowViews=0x000060000214ecb0) at RCTRootShadowView.m:35:3
    frame #4: 0x00000001094e7014 YogaCollision.debug.dylib`-[RCTUIManager uiBlockWithLayoutUpdateForRootView:](self=0x000060000291bbf0, _cmd="uiBlockWithLayoutUpdateForRootView:", rootShadowView=0x000000010661c590) at RCTUIManager.m:549:3
    frame #5: 0x00000001094ed104 YogaCollision.debug.dylib`-[RCTUIManager _layoutAndMount](self=0x000060000291bbf0, _cmd="_layoutAndMount") at RCTUIManager.m:1126:22
    frame #6: 0x00000001094ecfa8 YogaCollision.debug.dylib`-[RCTUIManager batchDidComplete](self=0x000060000291bbf0, _cmd="batchDidComplete") at RCTUIManager.m:1109:3
    frame #7: 0x000000010943b114 YogaCollision.debug.dylib`__32-[RCTCxxBridge batchDidComplete]_block_invoke(.block_descriptor=0x0000600000ce0c30) at RCTCxxBridge.mm:1514:13
    frame #8: 0x0000000104e6cec0 libdispatch.dylib`_dispatch_call_block_and_release + 24
    frame #9: 0x0000000104e6e7b8 libdispatch.dylib`_dispatch_client_callout + 16
    frame #10: 0x0000000104e76aac libdispatch.dylib`_dispatch_lane_serial_drain + 912
    frame #11: 0x0000000104e777b0 libdispatch.dylib`_dispatch_lane_invoke + 420
    frame #12: 0x0000000104e841f0 libdispatch.dylib`_dispatch_root_queue_drain_deferred_wlh + 324
    frame #13: 0x0000000104e8375c libdispatch.dylib`_dispatch_workloop_worker_thread + 732
    frame #14: 0x0000000104f07814 libsystem_pthread.dylib`_pthread_wqthread + 284

Device & Versions (please complete the following information)

Device: iOS Simulator
iOS version: 18

Additional context
The reproduction project is built using Expo with a patched version of rive-react-native to ensure the latest RiveRuntime version (the issue persists with or without this patch). This problem only arises when using use_frameworks! :linkage => :static, which is necessary in my case to integrate @react-native-firebase
I previously commented on this issue but believe this problem may be more related to the loading of Rive's Yoga symbols in a project with overlapping Yoga dependencies when libraries are not dynamically linked. Any insights from iOS developers would be greatly appreciated

I'm wondering if a static framework version as suggested in https://github.com/rive-app/rive-ios/issues/336 would fix the issue ?
Currently, it makes Rive unusable on ios with React Native if React-Native-Firebsae (a very common library) or other static framework is used

We have a renames header that we use to help avoid collisions like this.
We might need to add some symbols to it @dskuza.
Or, are we somehow disabling this on iOS? https://github.com/rive-app/rive-runtime/blob/main/dependencies/premake5_yoga_v2.lua
https://github.com/rive-app/rive-runtime/blob/main/dependencies/rive_yoga_renames.h

Looks like we are in fact missing YGNodeStyleSetMinWidth, and potentially more.

I see the symbol on this line: https://github.com/rive-app/rive-runtime/blob/6f82f888172a8bb0ce16c1ff5b818156b326fad6/dependencies/rive_yoga_renames.h#L229
I'm not sure how the runtime is compiled, but I noticed the premake5_yoga_v2 script is called with the option --no-yoga-renames https://github.com/rive-app/rive-runtime/blob/6f82f888172a8bb0ce16c1ff5b818156b326fad6/dependencies/gen_yoga_renames/gen_renames.sh#L41
(It is then called again "just to examine the exported symbols...")

Any update on this or a fix?
Ran into the same issue with Expo SDK 51 with firebase and rive-react-native 6.0.4...

Is this commit related ? https://github.com/rive-app/rive-runtime/commit/d3e4bcf2faa7abcdccdaa660c65a064dc2ea9b49 👀


Rename "built-wheels" cache bucket to "source-dists"

This name should lead to less confusion. Unfortunately this is a "breaking cache change" so everyone's cache will be invalidated. I'm not sure if we should support a rename-on-upgrade.

I think this is reasonable but I don't think it merits bumping the cache version. Can we look for an opportunity to do this next time bump the cache?

I dropped the user-facing name change

Thanks!


Upgrade sample app to utilize new Dropbox SDK and updated Browser

This PR updates the sample app in a number of ways:

Updated base deployment to iOS 9.0
Fixed incorrect build settings to be in line with modern expectations from the build system
Updates the committed ObjectiveDropboxOfficial pod to 3.1.2

@Sam-Spencer I think I migrated in the correct direction. The setStatusBarStyle deprecation meant that I had to move the status bar style calls into the individual VCs. Double check the latest commit to make sure it's right.


TextTrimming - Trim at start

Is your feature request related to a problem? Please describe.
Sometimes its more useful to trim a text at the beginning instead of end.
Describe the solution you'd like
Be able to trim at the beginning. Either by extending the existing TextTrimming enum or by adding a new property
enum TextTrimLocation
{
    End = 0,
    Start = 1,
    Middle = 2 //not requested but in this case to complete the list
}

Describe alternatives you've considered
Using a custom converter
Additional context

Isn't it supported already? https://github.com/AvaloniaUI/Avalonia/pull/7322

works already
<TextBlock Text="Hello world from long text" MaxWidth="100">
	<TextBlock.TextTrimming>
		<TextLeadingPrefixTrimming>
			<x:Arguments>
				<system:String> ▲ ▲ ▲ </system:String>
				<system:Int32>3</system:Int32>
			</x:Arguments>
		</TextLeadingPrefixTrimming>
	</TextBlock.TextTrimming>
</TextBlock>

Jesus, this looks so "over complicated ". Instead of a single line we have now 8 lines to write... for EVERY single textblock.

Jesus, this looks so "over complicated ". Instead of a single line we have now 8 lines to write... for EVERY single textblock.

I think you can define a resource and then use it: <TextBlock TextTrimming="{StaticResource MyTrimming}" />

Also in your example it trims at the middle of text. How to trim at the beginning?

I think the second argument corresponds to the length of the prefix to keep, so you would set it to 0 instead of 3.
Not sure if there are docs for this yet. You can see the docs in this class:
https://github.com/AvaloniaUI/Avalonia/blob/73f7fd1d3eed0a9cb0bb7757a1ee1b728f68af6a/src/Avalonia.Base/Media/TextTrimming.cs
You're probably looking for this:
https://github.com/AvaloniaUI/Avalonia/blob/73f7fd1d3eed0a9cb0bb7757a1ee1b728f68af6a/src/Avalonia.Base/Media/TextTrimming.cs#L33-L36
So I guess you can do <TextBlock TextTrimming="{x:Static TextTrimming.LeadingCharacterEllipsis}" />


[Do Not Merge] SAP Hana backup support

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

@qwordy please help deal with this PR.

Some checks were not successful. Remember to fix.

@siddharth7 Hello. Since it's a huge change, did you schedule a quick meeting before with any one of CLI team? We can have a quick meeting if you want.

Close it since a new pr appears. https://github.com/Azure/azure-cli/pull/11066


CIF-1964 - Show staged flag in product component

This PR is an alternative to https://github.com/adobe/aem-core-cif-components/pull/509 where we introduce a version 2 of the product component so that version 1 can continue working with Magento CE.
If we decide to introduce that v2 product component, the Venia PR https://github.com/adobe/aem-cif-guides-venia/pull/111 will be modified to update the Venia product proxy component to use that v2.
How Has This Been Tested?
Extended unit tests and manually tested with Venia.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes and the overall coverage did not decrease.
[x] All unit tests pass on CircleCi.
[x] I ran all tests locally and they pass.

Hi all,
we have created new custom attributes in magento 2.
when we  try to fetch the attributes on aem cif product page component, we are getting below errors

caused by: java.lang.RuntimeException: java.lang.NullPointerException**
Traversal query (query without index

if we try to fetch the same attribute on productteaser component. we are able to see the value.
Aem version : 6.5
Cif connector version : 1.8
magento version : 2.4.

@ankitambekar08 please create an issue via https://github.com/adobe/aem-core-cif-components/issues. Unrelated pull requests are not the right place to discuss this.


TranscriptAnnotation hgvsc_id

The field hgvsc_id in TranscriptAnnotation seems to have values such as
'NM_001330437.2:c.836A>G'

This is not the id it is the actual HGVS cDNA notation. If this is meant to be used as an id, then we should not put the actual mutation into the id, it is confusing. I am assuming that the variable name is wrong and it should be changed to
hgvs_cdna (also use hgvs_protein)

Requirements
hgvsc_id field of the TranscriptAnnotation is renamed to hgvs_cdna.


Update CSV

@g2vinay it looks like you might have edited the wrong column for a number of these.

@weshaggard  yep, I realized the column mismatch after opening the PR.
Fixed it.


[bug]: [4.0.0rc1] using TAESD as VAE throws error

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
macOS
GPU vendor
Apple Silicon (MPS)
GPU model
No response
GPU VRAM
24
Version number
4.0.0rc1
Browser
Chrome
Python dependencies
No response
What happened
When selecting TAESD (https://huggingface.co/madebyollin/taesd) as VAE Invoke throws the following error after image generation (before saving the image to the gallery).
[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "invokeai/.venv/lib/python3.10/site-packages/invokeai/app/services/session_processor/session_processor_default.py", line 160, in _process
    outputs = self._invocation.invoke_internal(
  File "invokeai/.venv/lib/python3.10/site-packages/invokeai/app/invocations/baseinvocation.py", line 289, in invoke_internal
    return self.invoke(context)
  File "invokeai/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "invokeai/.venv/lib/python3.10/site-packages/invokeai/app/invocations/latent.py", line 840, in invoke
    assert isinstance(vae_info.model, (UNet2DConditionModel, AutoencoderKL))
AssertionError

What you expected to happen
Images can be generated with TAESD
How to reproduce the problem
(Re)install TAESD by pasting importing madebyollin/taesd from the model editor. Choose TAESD as VAE.
Optionally set VAE Precision to FP16 (this was required in Invoke v3.x.x to use taesd)
Additional context
Uninstalling and reinstalling taesd did not change the behavior
Discord username
No response

This issue has been fixed in main development branch and in the upcoming v4.0.0: https://github.com/invoke-ai/InvokeAI/pull/5936

fixed in 4.0.0rc2


Typo in Python setting up directions

Hi Team Influx,
I have just installed InfluxDB (v2.7.6) on my Raspberry and set up Python using "Get Started" via the browser (.../new-user-setup/python)
I find the type of step-by-step instructions with the code displayed very advanced, thank you for that.
However, I noticed an error:
Under the item "Initialize Client" you initialize the client as "write_client ":
write_client = influxdb_client.InfluxDBClient(url=url, token=token, org=org)
But in the next step at "Write Data" you call it with "client":
write_api = client.write_api(write_options=SYNCHRONOUS)
I Think it should be insteded:
write_api = write_client.write_api(write_options=SYNCHRONOUS)
I hope I'm not wrong and this tip helps.
Kind Regards,
Dennis Cording

You're correct--thanks for reporting this! You might also be interested in our IoT starter tutorial for Python: https://docs.influxdata.com/influxdb/v2/api-guide/tutorials/python/


Fixed tests by updating the expected fees

Apparently, the fees were outdated.
I ran cabal test betref-tests and got errors similar to this one:
    Balance check after taking bet pot:                             FAIL (1.24s)
      src/Plutus/Model/Contract.hs:741:
      Slot 1001: Generic fail: expected balance difference of 1000 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 174591884 lovelace for wallet w2, but the actual difference was 1000 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 174601383 lovelace

After making these changes, all tests pass.

Thanks @kdchaires !
Unfortunately, since we are occupied with other tasks, we couldn't update the example repository and also the docs with the recent updates done into Atlas.

Sorry pressed wrong button.


Bump build number of 02-id-six-collection to include pycentroids

This was missed in #725.

LGTM, thanks @mrakitin for finding this


Folders are not being created

2023-07-30 16:21:03,835 - TimelapsePy - ERROR - Error at division
Traceback (most recent call last):
  File "/home/pi/timelapses/TimelapsePy/timelapse.py", line 60, in <module>
    save_dir = util.get_preferred_path(users.directory_name_for_images,
  File "/home/pi/timelapses/TimelapsePy/tutilities.py", line 122, in get_preferred_path
    path = build_path(os.path.join(os.path.join(os.path.expanduser('~'),'Pictures'), directory_name), iterate_name)
  File "/home/pi/timelapses/TimelapsePy/tutilities.py", line 95, in build_path
    os.mkdir(path)
FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Pictures/timelapse_images'

That's because in a default headless Pi installation, there are no default folders like Pictures and Downloads. If I create the Pictures folder it works, tho.
I would not hardcode the Pictures folder anyway, for instance I don't want to store the pics there.

I suggest you use
from pathlib import Path
Path("/my/directory").mkdir(parents=True, exist_ok=True)

To create folders.
Also, it would make everything much simpler if the usersettings file asked for the absolute path of the folder, no need for check if USB folder exists, define an external_drive_name variable, and so on.

I'll add the ability to specific an absolute path. If that is not provided, I will revert to default paths: first on a user-specified external drive, then locally. I'll also fix the /Pictures and /Videos bug on headless setups. More to come.

I see where the need of an external drive can come in handy, but again a headless Pi without the desktop environment doesn't automatically mount external media, you have to SSH in and mount it manually to your desired folder. That's why I suggested not bothering with that and just let the user manually type the full path.
Here are the changes I made for myself, if you want to take a look: https://github.com/benstanfish/TimelapsePy/commit/39274e05ce84f34194d38fdcd5e397e9571ed6ac
In any way, I'll probably re-add the USB functionality once you do it the way you like it.


[ISSUE #4662] Polish documents enables users to better understand HA mode

Make sure set the target branch to develop
What is the purpose of the change
Polish documents enables users to better understand HA mode
Brief changelog
Polish documents enables users to better understand HA mode
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

close #4662


fresh clone does not start due to module errors

I am using hugo v0.101.0+extended darwin/arm64 BuildDate=unknown
as provided by homebrew.   I created a fresh checkout of this, because I wanted to compare what you have here against the errors I am getting when I try to transpile Alpinejs in my own hugo project (it compiles fine, but in the browser, I get errors).
However, Hugo is unable to start in server mode, and I tracked it down to this, which I am unsure how to fix.
hugo mod verify
go<EMAIL_ADDRESS>invalid version: unknown revision 6597e987c7ba
An unknown revision most likely means that someone has deleted the remote ref (e.g. with a force push to GitHub).
To resolve this, you need to manually edit your go.mod file and replace the version for the module in question with a valid ref.

The easiest is to just enter a valid branch name there, e.g. master, which would be what you put in place of 'v0.5.1' in the example below.

require github.com/gohugoio/hugo-mod-jslibs/instantpage v0.5.1

If you then run 'hugo mod graph' it should resolve itself to the most recent version (or commit if no semver versions are available).
Error: failed to download modules: failed to execute 'go [mod download]': failed to execute binary "go" with args [mod download]: go<EMAIL_ADDRESS>invalid version: unknown revision 6597e987c7ba
 *errors.errorString

I have no clue what happened here, but Alpine is pointing to the wrong repo, you need to use https://github.com/gohugoio/hugo-mod-jslibs-dist/tree/main/alpinejs for Alpine v3. I don't have time to fix this repo, so I need to close this.


Initial Draft with Navigation and Sections working for New Website

Initial Draft with Navigation and Sections working for New Website

/squire review

/squire review


Issue with Plus (+) Expression Handling Multiple Arguments in ANML

Hello,
The Plus expression in Unified Planning is expected to handle more than two arguments, such as Plus(a, b, c) or Plus([a, b, c]). However, during the conversion process from PDDL to ANML, the handling of this expression seems to be incorrect. ANML throws an error, stating that it only accepts a fixed number of two arguments.
The expected behavior is to sum all the provided arguments, giving preference to summing from left to right.

Desktop:

OS: macOS Sonoma
Browser: safari
Version: 14.0

@alvalentini It looks like a bug in up-tamer...

Yes! I'll fix it asap

This issue should be fixed updating up-tamer to version 1.1.3


Update hardware.md

Ooh, spotted one more thing that needs tweaking - it says 544 instead of 554 - can you change that? Thanks! @statuur


invalid image links for baseURL with subdirectory and relativeURLs=true

As discussed in the forum, there is a regression when generating image links between 0.123 and previous versions in a multilang setup if a baseURL other than / and relativeURLs=true are given.
The markdown image link to the bundles's resource:
![kitten](a.jpg)

results in in broken link (one step up is missing)

while in previous versions it was

Thanks to @jmooring for the example repo
From the discussion, it's unclear if this is a bug or (because of the used option combination) is undefined behavior.

To clarify, going as far back as v0.54.0[^1], this combination has never worked with either monolingual or multilingual sites:
baseURL = 'https://example.org/foo/'   <-- includes subdirectory
relativeURLs = true

So then people got "clever" and started making URLs both relative and canonical at the same time (sigh):
baseURL = 'https://example.org/foo/'   <-- includes subdirectory
relativeURLs = true
canonifyURLs = true

And in some cases that helped, probably due to luck more than anything else.
[^1]: I didn't bother testing anything earlier.


Xcode problem

I am using this plugin on a Cordova app meant to run cross platform on Android, WP, and iOS.
I am using a todo app called Backbonetodo. I meant to implement the registration and receiving of notifications from this app before trying to implement into the actual application I am developing.
Right now I am working on the iOS part.
I am getting these kind of error (over 20x) when trying to run the project from the iOS folder in Xcode (just copied the first 3 errors):
clang: error: no such file or directory: '/Users/Jurgen/Documents/Xcode/backbonetodo/BackboneToDo/platforms/ios/BackboneToDoPluginsphonegap-plugin-pushGCMLibrarieslibGGLCloudMessaging.a'
clang: error: no such file or directory: '/Users/Jurgen/Documents/Xcode/backbonetodo/BackboneToDo/platforms/ios/BackboneToDoPluginsphonegap-plugin-pushGCMLibrarieslibGGLCore.a'
clang: error: no such file or directory: '/Users/Jurgen/Documents/Xcode/backbonetodo/BackboneToDo/platforms/ios/BackboneToDoPluginsphonegap-plugin-pushGCMLibrarieslibGGLInstanceIDLib.a'
I have noticed that after the BackboneToDo in the string there seems to be no '/' and also after Plugins.
It seems as if the way the location string is being created is not right. However, I don't think the issue is with that but could be more of a setting, something I am doing wrong, or something I am not doing that is causing the problem. (As with other things there does not seem to be a problem).
I tried to fix the location to absolute but it did not solve the problem.
Did someone encounter the problem? Is there a fix to this? Is there something I missed? Does someone have a solution?
Thanks in advance.

@jcus0006 what version of Xcode and Cordova-ios are you using?

XCode version 7.2
Cordova, how do I check? Cordova should have been working properly cause I had previously managed to run a cordova app from xcode on an ios device about 2 months ago. Recently, about 2 days ago, I tried setting up ionic and did not manage. Im thinking something I did by mistake could have ruined cordova or any other requirement for cordova apps to run?
Note I have never used xcode and this is all 100% new to me

Run cordova platform ls from a terminal, that'll tell you which version of cordova-ios you have.

when doing this in a normal terminal window, I get cordova: command not found
from where should the terminal be opened? or it should get the version from anywhere?

Your environment was not properly set up for cordova. It should be in your path, but it's not (the cmd couldn't find it).
How did you install cordova on your machine?

To be honest, initially I cannot remember if I had even installed cordova on my mac. In fact, I cannot understand how I had been able to run a cordova project on an iOS device through xCode by simply copying the Cordova app folder from the windows pc into the mac and running in XCode from the specific iOS platform.
Around 2 days ago I was trying to set up Ionic as I know I am going to need it for a specific function on iOS. However, I didn't manage and some steps might not have been successfully installed. Some steps (cant remember which) returned errors such as that specific needed folders were not found. Could this have messed with the configuration of XCode and cordova?
Why could this happen?
I think I should start anew. Is there anyway to remove node.js, cordova etc, so that I can follow Visual studio's tutorial and start from the beginning? Perhaps if when trying to set up Ionic, this would solve the problem.
Any suggestions?

Cordova stuff
Copying a full cordova project (with it's platforms already added, that is) to another machine "works", but only as far as you can compile them on your own, if any native/shell code changes (as that's handled by IDEs such as XCode or Android Studio or Visual Studio). Now, if you made any changes to the cordova side of things (web code, that is. anything that lives in the www folder), none of these IDEs will properly propagate these changes to the final compile app by default, so that's where simply copying a project over doesn't completely work.
Now, on the topic of environment setup and installation, I'd suggest you install npm+node through whatever package management is available to you (apt-get on ubuntu, brew on mac, .exe on windows, or manually from the source on unix*), and then run the following:
npm i -g cordova ionic
Be warned, though, that these packages are not everything that's needed to actually run them successfully. You should check on their documentation for details on these.
Some links that should be time savers:

general installation details
ios installation details
android installation details
ionic installation details

I wouldn't trust the IDE for everything on a cordova project's development cycle, but that's only my opinion (of a terminal monkey and linux poweruser-to-be).
This plugin's stuff
Recently, changes have been made to the docs to clarify some cases and common errors on XCode when dealing with iOS compilation. You should check them and try the solutions linked there.
I'll close this issue considering how unstable your environment settings are at the moment, but don't hesitate to reopen the issue if, even after fixing your cordova environment, these compilations issues are still present.

I fixed the problem. First of all I needed to re-install node. I had to install a remote agent to build the cordova iOS app from visual studio through node. Then, I added the ios-CFBundleIdentifier in the config to match the Bundle identifier name. Finally I had to fiddle around a bit with the provision and re-created a new certificate from Apple Developer, exported the .p12 file from the certificate in keychain and added it to the Azure portal notification hub configuration.
That got it up and running. Thank you for your help.


Company Communicator stops working from time to time and needs to be restarted in Azure with limited success

Hi,
I am working with a customer that has the company communicator apptemplate deployed for a couple of months.
Since the initial deployment, the CC has been working unreliable, meaning:

the app will stop working from time to time and stop sending out messages to employees
the app then needs to be restarted in Azure which often results in the same message being sent out 2 times to the employees or not at all

The customer would like a fix for this solution as it is not user-friendly.

Thanks for highlighting, We will discuss with our team and get back to you with proper response soon.

Hi @apptemplatequestions ,
We will follow it up on Internal Issue, https://dev.azure.com/servicemgmt/MIFT/_workitems/edit/6251

Hi @apptemplatequestions ,
We are closing this issue as it is conveyed that user is going to update it to the latest version. If you face any issue with company communicator please raise a new issue for further assistance.
Thank you.


addalias: check if two arguments are given

Fix for https://github.com/tomav/docker-mailserver/issues/1563

Does delalias really need a recipient? Isn't it enough for that command to specify the alias itself?

Currently $RECIPIENT is needed: https://github.com/tomav/docker-mailserver/blob/398b1dd554ce41c03767079919744affead6b4a7/target/bin/delalias#L27-L29
I think we can simplify that to this:
sed -i '/^$EMAIL\s/d' $DATABASE

However, I am not sure, which use cases are covered by line 28/29 above.

I wasn't aware, that you can define one alias, with more than one recipient:
https://github.com/tomav/docker-mailserver/issues/909
https://github.com/tomav/docker-mailserver/pull/910
Therefor, the recipient argument is mandatory.