reconnection example could not run properly over wifi

Hi,
I really appreciate this amazing micro-ROS project and I am learning it.
My problem: when I tested the reconnection example: micro-ros_reconnection_example, I found that it could not run properly over wifi (serial transport OK).
Description: Compiling smoothly, but after starting the agent with the command: docker run -it --rm --net=host microros/micro-ros-agent:humble udp4 --port 8888  (already updated), the agent could not be steadily connected.
Expected behavior:
Solid LED when successfully connected to agent, publishing topics.
Actual behavior:
Flashing LED with nothing published:
......
[1678409815.632855] info     | Root.cpp           | create_client            | create                 | client_key: 0x76432A75, session_id: 0x81
[1678409815.632968] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x76432A75, address: <IP_ADDRESS>:47138
[1678409815.686132] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x76432A75, participant_id: 0x000(1)
[1678409815.694138] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x76432A75, topic_id: 0x000(2), participant_id: 0x000(1)
[1678409815.701274] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x76432A75, publisher_id: 0x000(3), participant_id: 0x000(1)
[1678409815.710856] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x76432A75, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1678409816.447346] info     | Root.cpp           | delete_client            | delete                 | client_key: 0x76432A75
[1678409816.447402] info     | SessionManager.hpp | destroy_session          | session closed         | client_key: 0x76432A75, address: <IP_ADDRESS>:47138
…… beginning to loop
My system: board ESP32-DevKit, agent machine: Intel NUC i5, Ubuntu 22.04, ROS humble, Client and agent have the same domain_id.
What’s the problem? I did a lot of searches, without finding any solution.
Please help me. Thank you.

Have you tried to use https://github.com/micro-ROS/micro_ros_espidf_component ?

Thank you for your kind reply, I will try it.

Hi, @pablogs9
I tried and used micro-ROS component for ESP-IDF to run its own example code int32_publisher successfully, but still, I am unable to run micro-ros_reconnection_example on this platform.
1.I used int32_publisher to hold the source file micro-ros_reconnection_example.ino and changed the name to reconnection_example.c and modified the CMakeLists.txt.
2.Put micro_ros_arduino library into the include directory of the micro_ros_espidf_component
3.Build the project with docker container.
The output as follows:
……
[100/101] Generating binary image from built executable
esptool.py v4.4
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated /micro_ros_espidf_component/test_reconnection/int32_publisher/build/bootloader/bootloader.bin
[101/101] cd /micro_ros_espidf_component/test_reconnection/int32_publisher/build/bootloader/esp-idf/esptool_py && /opt/esp/python_env/idf5.0_py3.8_env/bin/python /opt/esp/idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /micro_ros_espidf_component/test_reconnection/int32_publisher/build/bootloader/bootloader.bin
Bootloader binary size 0x6710 bytes. 0x8f0 bytes (8%) free.
[840/846] Building C object esp-idf/mai...df_main.dir/microros_reconnection.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/microros_reconnection.c.obj
ccache /opt/esp/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -I/micro_ros_espidf_component/test_reconnection/int32_publisher/build/config -I/opt/esp/idf/components/newlib/platform_include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include -I/opt/esp/idf/components/freertos/esp_additions/include/freertos -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/opt/esp/idf/components/freertos/esp_additions/include -I/opt/esp/idf/components/esp_hw_support/include -I/opt/esp/idf/components/esp_hw_support/include/soc -I/opt/esp/idf/components/esp_hw_support/include/soc/esp32 -I/opt/esp/idf/components/esp_hw_support/port/esp32/. -I/opt/esp/idf/components/esp_hw_support/port/esp32/private_include -I/opt/esp/idf/components/heap/include -I/opt/esp/idf/components/log/include -I/opt/esp/idf/components/soc/include -I/opt/esp/idf/components/soc/esp32/. -I/opt/esp/idf/components/soc/esp32/include -I/opt/esp/idf/components/hal/esp32/include -I/opt/esp/idf/components/hal/include -I/opt/esp/idf/components/hal/platform_port/include -I/opt/esp/idf/components/esp_rom/include -I/opt/esp/idf/components/esp_rom/include/esp32 -I/opt/esp/idf/components/esp_rom/esp32 -I/opt/esp/idf/components/esp_common/include -I/opt/esp/idf/components/esp_system/include -I/opt/esp/idf/components/esp_system/port/soc -I/opt/esp/idf/components/esp_system/port/include/private -I/opt/esp/idf/components/xtensa/include -I/opt/esp/idf/components/xtensa/esp32/include -I/opt/esp/idf/components/lwip/include -I/opt/esp/idf/components/lwip/include/apps -I/opt/esp/idf/components/lwip/include/apps/sntp -I/opt/esp/idf/components/lwip/lwip/src/include -I/opt/esp/idf/components/lwip/port/esp32/include -I/opt/esp/idf/components/lwip/port/esp32/include/arch -I/opt/esp/idf/components/esp_ringbuf/include -I/opt/esp/idf/components/efuse/include -I/opt/esp/idf/components/efuse/esp32/include -I/opt/esp/idf/components/driver/include -I/opt/esp/idf/components/driver/deprecated -I/opt/esp/idf/components/driver/esp32/include -I/opt/esp/idf/components/esp_pm/include -I/opt/esp/idf/components/mbedtls/port/include -I/opt/esp/idf/components/mbedtls/mbedtls/include -I/opt/esp/idf/components/mbedtls/mbedtls/library -I/opt/esp/idf/components/mbedtls/esp_crt_bundle/include -I/opt/esp/idf/components/esp_app_format/include -I/opt/esp/idf/components/bootloader_support/include -I/opt/esp/idf/components/bootloader_support/bootloader_flash/include -I/opt/esp/idf/components/esp_partition/include -I/opt/esp/idf/components/app_update/include -I/opt/esp/idf/components/spi_flash/include -I/opt/esp/idf/components/pthread/include -I/opt/esp/idf/components/esp_timer/include -I/opt/esp/idf/components/app_trace/include -I/opt/esp/idf/components/esp_event/include -I/opt/esp/idf/components/nvs_flash/include -I/opt/esp/idf/components/esp_phy/include -I/opt/esp/idf/components/esp_phy/esp32/include -I/opt/esp/idf/components/vfs/include -I/opt/esp/idf/components/esp_netif/include -I/opt/esp/idf/components/wpa_supplicant/include -I/opt/esp/idf/components/wpa_supplicant/port/include -I/opt/esp/idf/components/wpa_supplicant/esp_supplicant/include -I/opt/esp/idf/components/esp_wifi/include -I/opt/esp/idf/components/unity/include -I/opt/esp/idf/components/unity/unity/src -I/opt/esp/idf/components/cmock/CMock/src -I/opt/esp/idf/components/console -I/opt/esp/idf/components/http_parser -I/opt/esp/idf/components/esp-tls -I/opt/esp/idf/components/esp-tls/esp-tls-crypto -I/opt/esp/idf/components/esp_adc/include -I/opt/esp/idf/components/esp_adc/interface -I/opt/esp/idf/components/esp_adc/esp32/include -I/opt/esp/idf/components/esp_adc/deprecated/include -I/opt/esp/idf/components/esp_eth/include -I/opt/esp/idf/components/esp_gdbstub/include -I/opt/esp/idf/components/esp_gdbstub/xtensa -I/opt/esp/idf/components/esp_gdbstub/esp32 -I/opt/esp/idf/components/esp_hid/include -I/opt/esp/idf/components/tcp_transport/include -I/opt/esp/idf/components/esp_http_client/include -I/opt/esp/idf/components/esp_http_server/include -I/opt/esp/idf/components/esp_https_ota/include -I/opt/esp/idf/components/esp_lcd/include -I/opt/esp/idf/components/esp_lcd/interface -I/opt/esp/idf/components/protobuf-c/protobuf-c -I/opt/esp/idf/components/protocomm/include/common -I/opt/esp/idf/components/protocomm/include/security -I/opt/esp/idf/components/protocomm/include/transports -I/opt/esp/idf/components/esp_local_ctrl/include -I/opt/esp/idf/components/esp_psram/include -I/opt/esp/idf/components/espcoredump/include -I/opt/esp/idf/components/espcoredump/include/port/xtensa -I/opt/esp/idf/components/wear_levelling/include -I/opt/esp/idf/components/sdmmc/include -I/opt/esp/idf/components/fatfs/diskio -I/opt/esp/idf/components/fatfs/vfs -I/opt/esp/idf/components/fatfs/src -I/opt/esp/idf/components/idf_test/include -I/opt/esp/idf/components/idf_test/include/esp32 -I/opt/esp/idf/components/ieee802154/include -I/opt/esp/idf/components/json/cJSON -I/opt/esp/idf/components/mqtt/esp-mqtt/include -I/opt/esp/idf/components/perfmon/include -I/opt/esp/idf/components/spiffs/include -I/opt/esp/idf/components/ulp/ulp_common/include -I/opt/esp/idf/components/ulp/ulp_common/include/esp32 -I/opt/esp/idf/components/wifi_provisioning/include -I/micro_ros_espidf_component/network_interfaces -isystem /micro_ros_espidf_component/include -isystem /micro_ros_espidf_component/include/action_msgs -isystem /micro_ros_espidf_component/include/actionlib_msgs -isystem /micro_ros_espidf_component/include/builtin_interfaces -isystem /micro_ros_espidf_component/include/composition_interfaces -isystem /micro_ros_espidf_component/include/diagnostic_msgs -isystem /micro_ros_espidf_component/include/example_interfaces -isystem /micro_ros_espidf_component/include/geometry_msgs -isystem /micro_ros_espidf_component/include/include -isystem /micro_ros_espidf_component/include/lifecycle_msgs -isystem /micro_ros_espidf_component/include/micro_ros_msgs -isystem /micro_ros_espidf_component/include/micro_ros_utilities -isystem /micro_ros_espidf_component/include/nav_msgs -isystem /micro_ros_espidf_component/include/rcl -isystem /micro_ros_espidf_component/include/rcl_action -isystem /micro_ros_espidf_component/include/rcl_interfaces -isystem /micro_ros_espidf_component/include/rcl_lifecycle -isystem /micro_ros_espidf_component/include/rcl_logging_interface -isystem /micro_ros_espidf_component/include/rclc -isystem /micro_ros_espidf_component/include/rclc_lifecycle -isystem /micro_ros_espidf_component/include/rclc_parameter -isystem /micro_ros_espidf_component/include/rcutils -isystem /micro_ros_espidf_component/include/rmw -isystem /micro_ros_espidf_component/include/rmw_microros -isystem /micro_ros_espidf_component/include/rmw_microxrcedds_c -isystem /micro_ros_espidf_component/include/rosgraph_msgs -isystem /micro_ros_espidf_component/include/rosidl_runtime_c -isystem /micro_ros_espidf_component/include/rosidl_typesupport_c -isystem /micro_ros_espidf_component/include/rosidl_typesupport_interface -isystem /micro_ros_espidf_component/include/rosidl_typesupport_introspection_c -isystem /micro_ros_espidf_component/include/rosidl_typesupport_microxrcedds_c -isystem /micro_ros_espidf_component/include/sensor_msgs -isystem /micro_ros_espidf_component/include/shape_msgs -isystem /micro_ros_espidf_component/include/src -isystem /micro_ros_espidf_component/include/statistics_msgs -isystem /micro_ros_espidf_component/include/std_msgs -isystem /micro_ros_espidf_component/include/std_srvs -isystem /micro_ros_espidf_component/include/stereo_msgs -isystem /micro_ros_espidf_component/include/test_msgs -isystem /micro_ros_espidf_component/include/tracetools -isystem /micro_ros_espidf_component/include/trajectory_msgs -isystem /micro_ros_espidf_component/include/ucdr -isystem /micro_ros_espidf_component/include/unique_identifier_msgs -isystem /micro_ros_espidf_component/include/uxr -isystem /micro_ros_espidf_component/include/visualization_msgs -mlongcalls -Wno-frame-address  -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=/micro_ros_espidf_component/test_reconnection/int32_publisher=. -fmacro-prefix-map=/opt/esp/idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="HEAD-HASH-NOTFOUND" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/microros_reconnection.c.obj -MF esp-idf/main/CMakeFiles/__idf_main.dir/microros_reconnection.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/microros_reconnection.c.obj -c /micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c
In file included from /micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:1:
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:27:8: error: expected identifier or '(' before string constant
27 | extern "C" bool arduino_transport_open(struct uxrCustomTransport * transport);
|        ^~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:28:8: error: expected identifier or '(' before string constant
28 | extern "C" bool arduino_transport_close(struct uxrCustomTransport * transport);
|        ^~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:29:8: error: expected identifier or '(' before string constant
29 | extern "C" size_t arduino_transport_write(struct uxrCustomTransport* transport, const uint8_t * buf, size_t len, uint8_t * err);
|        ^~~
In file included from /micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:1:
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:30:8: error: expected identifier or '(' before string constant
30 | extern "C" size_t arduino_transport_read(struct uxrCustomTransport* transport, uint8_t* buf, size_t len, int timeout, uint8_t* err);
|        ^~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h: In function 'set_microros_transports':
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:36:17: error: 'arduino_transport_open' undeclared (first use in this function)
36 |                 arduino_transport_open,
|                 ^~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:36:17: note: each undeclared identifier is reported only once for each function it appears in
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:37:17: error: 'arduino_transport_close' undeclared (first use in this function)
37 |                 arduino_transport_close,
|                 ^~~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:38:17: error: 'arduino_transport_write' undeclared (first use in this function)
38 |                 arduino_transport_write,
|                 ^~~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/include/src/micro_ros_arduino.h:39:17: error: 'arduino_transport_read' undeclared (first use in this function)
39 |                 arduino_transport_read
|                 ^~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c: In function 'setup':
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:97:3: error: implicit declaration of function 'pinMode' [-Werror=implicit-function-declaration]
97 |   pinMode(LED_PIN, OUTPUT);
|   ^~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:97:20: error: 'OUTPUT' undeclared (first use in this function)
97 |   pinMode(LED_PIN, OUTPUT);
|                    ^~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c: In function 'loop':
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:130:5: error: implicit declaration of function 'digitalWrite' [-Werror=implicit-function-declaration]
130 |     digitalWrite(LED_PIN, 1);
|     ^~~~~~~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c: In function 'timer_callback':
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:40:5: warning: ignoring return value of 'rcl_publish' declared with attribute 'warn_unused_result' [-Wunused-result]
40 |     rcl_publish(&publisher, &msg, NULL);
|     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c: In function 'destroy_entities':
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:88:3: warning: ignoring return value of 'rcl_publisher_fini' declared with attribute 'warn_unused_result' [-Wunused-result]
88 |   rcl_publisher_fini(&publisher, &node);
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:89:3: warning: ignoring return value of 'rcl_timer_fini' declared with attribute 'warn_unused_result' [-Wunused-result]
89 |   rcl_timer_fini(&timer);
|   ^~~~~~~~~~~~~~~~~~~~~~
/micro_ros_espidf_component/test_reconnection/int32_publisher/main/microros_reconnection.c:91:3: warning: ignoring return value of 'rcl_node_fini' declared with attribute 'warn_unused_result' [-Wunused-result]
91 |   rcl_node_fini(&node);
|   ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

I also tried to modify the code to remove the errors, for example:
if changing from .c to cpp, still has "error: 'arduino_transport_open' undeclared (first use in this function)..."
if removing the fuction:set_microros_transports, causes "error: undefined reference to `app_main' "
......

Please help me to find the problem or tell me how to use arduino IDE to run micro-ros_reconnection_example with wifi transport. Thank you very much.

2.Put micro_ros_arduino library into the include directory of the micro_ros_espidf_component

Why?

Hi, thank you for kind reply.
Because if not, I got the error: Not found micro_ros_arduino.h, not such file or directiory. Then the compiling stops. I am sorry I don't know how to remove the error.

Hi, @pablogs9
I tried to modify the file micro-ros_reconnection_example.ino and got the following result, which seems much better now:
……
/opt/esp/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/11.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(port_common.c.obj):(.literal.main_task+0x8): undefined reference to app_main' /opt/esp/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/11.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(port_common.c.obj): in function main_task':
/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/port_common.c:100: undefined reference to `app_main'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
……
What should I do to get rid of the error?

The errors in the esp-idf code were finally eliminated but the result seems not as expected. I don't know where is the problem.

So please, provide details (preferably in the correct repo issues) about which are the not expected results.

Hi,  @pablogs9
I am sorry I did not make myself understood.
“Not as expected” means the result of my trying to run reconnection_example over WiFi network. I tried in different dev environment such as Arduino IDE, Plamformio, ESP-IDF. Unfortunately, the micro-ROS client cannot connect to the Agent properly. No issue with serial transport as the example in the repo.
My experiments showed that the reconnection_example with wifi transport could be compiled smoothly, but when running on ubuntu 22.04, esp32 board will always in a dead loop: connect and then disconnect.
The connection to wifi network is good, and the only problem exists in the connection to Agent.
I am sorry I am a beginner and my question may be too basic: would you like to tell me whether the reconnection_example can run on wifi network, not just on serial port?
Micro-ROS is really a great project and I like it very much and will continue to learn it.
Thank you for your patience and kindness.


Now with changes made off main

closes #267

Team,
This PR addresses two nits in the inboundEmailRecipes class  brought up by a community member.

@codefriar code looks good but can you rename the PR into something more descriptive so that we don't pollute commit history?


SnapshotInfo cache with logarithmic cutoff and new metagraph traverse

@TheMMaciek please review the pull request and I'll apply all the comments in next commits and @IPadawans please test it using your metagraph implementation. I'm going to merge the PR, to start working on another ticket that would effectively be conflicting with this one.


tests: jwt: lower heap size

The heap, plus a few globals relevant to mbedtls get put in
their own memory partition.
With systems that have power-of-two region size/alignment
constraints, this results in a 64K partition being created,
even though we are using just a whisker above 32K.
Lower the heap size a little so everything fits in 32K.
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

Looks ok to me, but would like @d3zd3z or @agross-linaro to ack.


docs: fix unknown configuration setting

Currently, the correct configuration of sysroot is rust-analyzer.cargo.noSysroot (default: false).

Thanks!
bors r+


Bug: trait implementations for TOKEN_GROUPS are incorrect (and likely for similar structs)

Which crate is this about?
windows
Crate version
0.41.0
Summary
The generation of the trait derivation code is likely automated, but there should be some exceptions to improve correctness. For this specific case, the TOKEN_GROUPS type is used like the C variable payload struct:
struct variable_size_payload {
    header_t header;
    char[] payload
}

This means that the automatically derived implementations of traits will behave incorrectly in almost all cases. Thus, I think they should not be derived, so that users are not fooled into thinking they will work.
Example (not using the actual TOKEN_GROUPS, but showcases the issue):
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=5ed4d46520b2ca69ae163f0c2eb38a45
Note that if #[derive(Copy, Clone)] are removed on the first line, the code no longer compiles due to moving out of a raw pointer.
Other links:
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_token_groups#syntax
https://devblogs.microsoft.com/oldnewthing/20040826-00/?p=38043

All of the types, including TOKEN_GROUPS, are derived from metadata. I don't see any metadata attributes indicating a relationship between the GroupCount and Groups fields that would let windows-rs do something interesting here. Even if it did, it would likely be unsafe since there'd be no way to guarantee that the count is correct. So, I'm not sure what I could do differently.
Yes, the trait implementations are likely inadequate but the struct itself is generally inadequate without a simple hand-written wrapper to add the semantics only available in the docs and thus this hand-written wrapper can and should provide suitable trait implementations as well.

Hi Kenny, thanks for looking at this. The simplest thing I can think to do, knowing nothing about how this crate or the metadata crate works, is to create an exception for the metadata and to not implement these traits, though that would be a breaking change. If a better fix is to find a way to generate the appropriate metadata in win32metadata, then perhaps we should file an issue there and link to it? Though as you say, any data that could be pulled from the metadata could not guarantee safety, so perhaps it is still best to just not implement the traits.
I would ask that you keep the bug label. Implementing the traits means the API says that this type is copyable, clonable, and can be compared using the equality operator. If the API says that, the operations should work correctly. I would use a stronger word than inadequate and say the current trait implementations are incorrect. It is as if assert!([0, 1] == [0, 0]) does not panic.
A user could be fooled into thinking that operations like below would work, which they currently won't. I have personally seen this happen, which is why I filed the bug in the first place.
// move out of a pointer, creates a new stack allocation, works incorrectly
let token_group = unsafe { *token_group_ptr };

// equality check, which only compares the first array element, works incorrectly
if token_group_1 == token_group_2 { todo!() }

If the traits are not implemented at all, for example, then a user could not be fooled into doing these operations in the first place. If they want to move out of a pointer, they must do so manually and it is their responsibility to follow the type's semantics. If they want to compare, same story; the user should do so manually.
Perhaps the user may still manually write incorrect code, but the lack of trait implementation should be a hint that something strange is going on. And then the library API doesn't give them an easy-to-use tool that they're actually never supposed to use.

If we can get metadata that somehow indicates that this is a "header" struct or there's an attribute that we can generically detect this from the fields, then perhaps we can suppress the generation of these traits as appropriate. Beyond that, there isn't anything "wrong" with the trait implementations without capturing more of the semantics in metadata.
I'll transfer this issue to the win32 metadata repo for consideration.


Do some SEO

searching for 'helm chart X' invariably gives me Old Helm URLs in results.
Are we ready for that not to be the case?

Hi @craigbox, SEO is not a goal of charts project.

@seanknox Sorry, I wasn't clear in my request.
If Helm v1 is now deprecated (I see 'obsolete' in the descriptions) then some work should be done to ensure that when you search for things like "cassandra helm" you get a result which says "Helm v2 chart for Cassandra", not "OBSOLETE DO NOT USE" with no other result.
I have opened https://github.com/helm/charts-classic/issues/102 as it's that project that needs to change.


[FR] Ability to set the Redis password

Many prefer to keep the Redis database protected with a password.
There is no option in Unbound for setting it.
An option for setting the Redis password in Unbound would be very welcome

Your commit is fully working:
===========================
Configuration:
server:
  interface: <IP_ADDRESS>
  interface: ::1
  port: 53
  cache-max-ttl: 5184000
  cache-min-ttl: 5184000
  cache-max-negative-ttl: 604800
  val-bogus-ttl: 0
  delay-close: 10000
  chroot: ""
  username: user
  directory: ""
  pidfile: ""
  do-not-query-localhost: no
  module-config: "validator cachedb iterator"

cachedb:
  backend: redis
  redis-server-host: ::1
  redis-server-port: 6379
  redis-server-password: "passwd123"
  # redis-server-path: "/var/lib/redis/redis-server.sock"
  redis-timeout: 5000

forward-zone:
  name: "."
  forward-addr: ::1@10053

Tests:
# time dig @<IP_ADDRESS> -p 53 +dnssec cloudflare.com
; <<>> DiG 9.18.10-2-Debian <<>> @<IP_ADDRESS> -p 53 +dnssec cloudflare.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50406
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
;; QUESTION SECTION:
;cloudflare.com.			IN	A
;; ANSWER SECTION:
cloudflare.com.		5184000	IN	A	<IP_ADDRESS>
cloudflare.com.		5184000	IN	A	<IP_ADDRESS>
cloudflare.com.		5184000	IN	RRSIG	A 13 2<PHONE_NUMBER>4120955<PHONE_NUMBER>0955 34505 cloudflare.com. d2LeaBSMVvCVEdK3zbT3U5Uol1B1YbXu9zjpQJ9avLjLU+dwvOUXuoHH Jke8FqFyXtb2j9O7rs5PuQ431UMvNw==
;; Query time: 283 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>) (UDP)
;; WHEN: Mon Jan 23 06:09:35 EST 2023
;; MSG SIZE  rcvd: 185
real	0m0.306s
user	0m0.009s
sys	0m0.002s

# /opt/unbound/unbound -dd -c /opt/unbound/permcache.conf
[1674472167] unbound[1787041:0] notice: init module 0: validator
[1674472167] unbound[1787041:0] notice: init module 1: cachedb
[1674472167] unbound[1787041:0] warning: cachedb: serve-expired-reply-ttl is set but not working for data originating from the external cache; 0 TLL is used for those.
[1674472167] unbound[1787041:0] notice: init module 2: iterator
[1674472167] unbound[1787041:0] info: start of service (unbound 1.17.2).
^C[1674472180] unbound[1787041:0] info: service stopped (unbound 1.17.2).
[1674472180] unbound[1787041:0] info: server stats for thread 0: 3 queries, 0 answers from cache, 3 recursions, 0 prefetch, 0 rejected by ip ratelimiting
[1674472180] unbound[1787041:0] info: server stats for thread 0: requestlist max 1 avg 0.333333 exceeded 0 jostled 0
[1674472180] unbound[1787041:0] info: average recursion processing time 0.274533 sec
[1674472180] unbound[1787041:0] info: histogram of recursion processing times
[1674472180] unbound[1787041:0] info: [25%]=0 median[50%]=0 [75%]=0
[1674472180] unbound[1787041:0] info: lower(secs) upper(secs) recursions
[1674472180] unbound[1787041:0] info:    0.262144    0.524288 3

# time dig @<IP_ADDRESS> -p 53 +dnssec cloudflare.com
; <<>> DiG 9.18.10-2-Debian <<>> @<IP_ADDRESS> -p 53 +dnssec cloudflare.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4582
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
;; QUESTION SECTION:
;cloudflare.com.			IN	A
;; ANSWER SECTION:
cloudflare.com.		5183990	IN	A	<IP_ADDRESS>
cloudflare.com.		5183990	IN	A	<IP_ADDRESS>
cloudflare.com.		5183990	IN	RRSIG	A 13 2<PHONE_NUMBER>4120955<PHONE_NUMBER>0955 34505 cloudflare.com. d2LeaBSMVvCVEdK3zbT3U5Uol1B1YbXu9zjpQJ9avLjLU+dwvOUXuoHH Jke8FqFyXtb2j9O7rs5PuQ431UMvNw==
;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>) (UDP)
;; WHEN: Mon Jan 23 06:09:45 EST 2023
;; MSG SIZE  rcvd: 185
real	0m0.021s
user	0m0.008s
sys	0m0.002s

# /opt/unbound/unbound -dd -c /opt/unbound/permcache.conf
[1674472182] unbound[1788239:0] notice: init module 0: validator
[1674472182] unbound[1788239:0] notice: init module 1: cachedb
[1674472182] unbound[1788239:0] warning: cachedb: serve-expired-reply-ttl is set but not working for data originating from the external cache; 0 TLL is used for those.
[1674472182] unbound[1788239:0] notice: init module 2: iterator
[1674472182] unbound[1788239:0] info: start of service (unbound 1.17.2).
^C[1674472487] unbound[1788239:0] info: service stopped (unbound 1.17.2).
[1674472487] unbound[1788239:0] info: server stats for thread 0: 5 queries, 0 answers from cache, 5 recursions, 0 prefetch, 0 rejected by ip ratelimiting
[1674472487] unbound[1788239:0] info: server stats for thread 0: requestlist max 1 avg 0.4 exceeded 0 jostled 0
[1674472487] unbound[1788239:0] info: average recursion processing time 0.229617 sec
[1674472487] unbound[1788239:0] info: histogram of recursion processing times
[1674472487] unbound[1788239:0] info: [25%]=0.16384 median[50%]=0.305835 [75%]=0.415061
[1674472487] unbound[1788239:0] info: lower(secs) upper(secs) recursions
[1674472487] unbound[1788239:0] info:    0.000000    0.000001 1
[1674472487] unbound[1788239:0] info:    0.131072    0.262144 1
[1674472487] unbound[1788239:0] info:    0.262144    0.524288 3

======================================
I'm already using, thank you very much!


Saturn Ring Doesn’t Show Up

Problem are identified : need to add saturnRing with SCNCylinder.

Note : SaturnRing are using SCNTube, not SCNCylinder. Problem are fixed along with merge #17 and also adding uranus ring.


nixosTests.mysql*: port to python

Motivation for this change
#72828
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

I had no idea this was possible! Thanks @flokli, I love it! :tada:


Custom Webpack Config warning in README

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Although https://github.com/zeit/next.js/issues/3265 raises this point too, but does not focus on it as the problem to address.
Expected Behavior

The README specifies

Warning: Adding loaders to support new file types (css, less, svg, etc.) is not recommended because only the client code gets bundled via webpack and thus it won't work on the initial server rendering

However many of the repo's examples rely on custom webpack configurations and loaders to produce their desired outcomes.
Eg: with-global-stylesheet requires a bunch of loaders  use: ['babel-loader', 'raw-loader', 'postcss-loader'] to compile and output the files into the dist dir.
Then, in my journey for external global and scoped scss -> css configuration/pipeline I came across this thread.
@giuseppeg https://github.com/zeit/next.js/issues/2413#issuecomment-313608379

It seems that in the example webpack is doing the magic, but if it would be very cool if that works for ssr too. Have you also tried without the global property on the style tag?

@timneutkens https://github.com/zeit/next.js/issues/2413#issuecomment-314011709

This is really cool :astonished:

giuseppeg again - https://github.com/zeit/next.js/issues/2413#issuecomment-314212017

Alright @mocheng it works indeed!

These comments in this thread have me confused about this Webpack warning.
Context

Ultimately what I would like to understand is the following:

what are the implications of having Webpack configurations? Can the usage of Babel and Webpack in SSR and client-side be made more clear?
can we have more guidelines around the examples to make them more easily composed? Eg: with-jest does not play nice with any examples that rely on custom Webpack, specifically any styling examples.

AFAIK Webpack only runs for client side code. If you want to use SASS and external css (styled-jsx external files are JS module) files. You can use the styled-jsx-plugin-sass. If you want to use actual .scss files try https://github.com/coox/styled-jsx-css-loader out

Thanks for the quick response. I have tried your suggestions out with some success. I wanted to create this to separate it from the styling discussions going on elsewhere and wish to focus more on the usage of Webpack throughout the example projects as it's not quite clear it works as the warning in the README states.


Avoid C / C++ compilations in test build

Currently, Travis builds spend a long time compiling some C++ modules, according to a long stream of warnings like
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++

It's not super clear what the main culprit is, maybe grpcio? Probably we can install some things via conda to avoid this.

Cannot confirm, it looks like this might be out of date feel free to reopen if needed


model parameter in Lambda layers

Hi all,
I want to implement a very simple lambda layer, for a input vector, I want to scale them by a weight W and then connect to the softmax activation function.
I implemented the functionality this way, the weight W is declared as a K.variable:
import keras.backend as K
from keras.models import Sequential, Model
from keras.layers import Dense, Activation, InputLayer, Flatten, Input, Merge, merge, Reshape
from keras.layers.core import Lambda
N = 11
my_input = Input(shape=(N,), name='input')
def scale(x):
    w = K.variable(1.0, name='w_g')
    return K.mul(x,w)
def scale_output_shape(input_shape):
    return input_shape

scaled = Lambda(scale, scale_output_shape, name='softmax_scale')(my_input)
my_out = Activation('softmax', name='softmax')(scaled)
gating = Model(input=my_input, output=my_out, name='gating')

This definition works, but I wonder whether the parameter W will be updated at all, as in the model's summary, it's written there's no parameter in this model:
>>> gating.summary()
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input (InputLayer)               (None, 11)            0
____________________________________________________________________________________________________
softmax_scale (Lambda)           (None, 11)            0           input[0][0]
____________________________________________________________________________________________________
softmax (Activation)             (None, 11)            0           softmax_scale[0][0]
====================================================================================================
Total params: 0
____________________________________________________________________________________________________

Or do you have any better way to implement this "scaled softmax" computation ?
Thanks,

Was hoping to find an answer to a similar question on this page.  How do we specify trainable parameters in a Lambda layer definition?

Hi,
I have achieved trainable parameter using Layer.add_weight(), you can find my code here:
https://github.com/X-Wei/ETH-thesis-TREC/blob/master/2-DRMM/DRMM.py#L33
The ScaledLayer class contains just one trainable parameter W, and the output is scaled by `

I have a similar question. Is there a way to define parameters as inputs, and not within a keras layer?

There is a similar thread on this, with someone who might have a solution however it didn't work out for me. Either I cannot understand his example, or it's broken


Add floating point time values support to Config

We have a few place where we read seconds and milliseconds from float in json. It would be convenient to be able to parse it inside config class and don't duplicate conversion logic.

This may overlap with config refactorings @PeterChen13579


fix docs

thanks!

Hadn't noticed the build-docs script. Patch incoming

Ah, thanks! I forget about that as well. I'll add a contributing guide soon that has info about things like that.


Release tracking PR: v0.2.0

Add changelog entry and bump the version.
Note that during the 0.1.1 release I updated fuzz/generate-files.sh incorrectly so it has 0.2.0 in it already.
See commit: 42f3cda Bump version to 0.1.1
Testing
Tested in a rust-bitcoin POC PR: https://github.com/rust-bitcoin/rust-bitcoin/pull/2473

I've update the CHANGELOG to mention #80.
Please, please, for the sake of all that is holy, can we just merge #76 and get on with releasing this crate.

I really, really, really, hope I wake up tomorrow and this crate is released - I may just start crying if it isn't.


 premature spindle pole body separation in mitotic metaphase

premature spindle pole body separation in mitotic metaphase metaphase arrest
A phenotype where the Spindle pole bodies are observed to partially separate prematurely  during metaphase arrest.
(Note, this phenotype often accompanies lost kinetochores)
increased number of unattached kinetochores during metaphase arrest
PMID:17036054

When does SPB separation normally take place, relative to other mitotic events? I'm slightly more familiar with the situation in budding yeast, where SPB separation happens well before metaphase. (Remember that GO:0000073 refers specifically to disconnecting SPBs after duplication, not to further migration apart.)

Yes you are right, separation occurs much earlier.
I think in these cases the  normal SPB separation only occurs in some cells (so presumably the tubulin block can cause  other earlier problems).
I will do this one as "normal SPB separation" with penetrance 20%.
Then I'll send the session to Dick to check because I got a bit confused by it...I think you need some insider knowledge  that I don't yet have for complete interpretation.....

Thanks. If you don't have all the requisite insider info, I don't feel so bad for getting confused ;)

Does this need any work?

nope


Bankcoin (BCASH ) Listing With Logo

Token : Bankcoin
Symbol : BCASH
Contract : 0xb5BB48567BfD0bFE9e4B08EF8b7f91556CC2a112
Logo Link : https://bankcoinbcash.com/bcash.png
Logo Update

hi, you are suggested to follow this tutorial: https://github.com/consenlabs/token-profile#token-profile-guideline
to provide your token profile.


Update mesos.yml

I tried this one - it did not work for me for some reason (last error I remember it was complaining it can't elect a leader while accessing Marathon UI).
What about the official DC/OS stack? They provide a Cloudformation stack template:
https://downloads.dcos.io/dcos/stable/aws.html
Which we could apply with:
https://www.terraform.io/docs/providers/aws/r/cloudformation_stack.html

@rjeczalik , Have you checked the original stack that @sibblegp submitted?, just to know if the error is because of this update that I did.

I know that my stack worked perfectly.  @hectork01 I told you to test every stack after you made changes.

Ok, apparently Marathon is now broken.  Something must have changed in the version installed.  I believe this was the guide that I used: https://www.digitalocean.com/community/tutorials/how-to-configure-a-production-ready-mesosphere-cluster-on-ubuntu-14-04


Renaming functions and variables

Rename b1, b2, b3, b1_2, and b2_2, as well as Kssmat2, 3, etc, to more descriptive names.
Also, rename euler1 and other functions with more descriptive names.

Functions have been renamed.  Now in the process of renaming variables.

Finished.  b1, b2, and other obscure variables names have been renamed to denote which period each represents.  The 2 euler equations for savings were also combined into one equation, which removed a lot of duplicate code in TPI.


Duplicate symbol _FirebaseCoreVersionString for architecture arm64 when using SDK version 5.0.0 via Cocoapods

Evironment

Xcode version: Version 9.3 (9E145)
Firebase SDK version: 5.0.0
Firebase Component: Core
Component version: 5.0.0

Problem
Steps to reproduce:
Can not reproduce in a clean/simple project that contains only Firebase/Core as its cocoa pod dependency.

Pod install
Archive
Error

Error Code:
duplicate symbol _FirebaseCoreVersionString in:
    /Users/user/Library/Developer/Xcode/DerivedData/Target-dowlcsklsjexzzgbaaufnfpvjeqd/Build/Intermediates.noindex/ArchiveIntermediates/Target/BuildProductsPath/Release-iphoneos/FirebaseCore/FirebaseCore.framework/FirebaseCore(FIRVersion.o)
    /Users/user/Library/Developer/Xcode/DerivedData/Target-dowlcsklsjexzzgbaaufnfpvjeqd/Build/Intermediates.noindex/ArchiveIntermediates/Target/BuildProductsPath/Release-iphoneos/FirebaseCore/FirebaseCore.framework/FirebaseCore(FirebaseCore_vers.o)
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Discussion
Tried to delete ~/Library/Developer/Xcode/DerivedData/ but the error perseveres.
Firebase/Core 4.0.20 part of Firebase 4.13.0 works as intended.

@averello This looks like a known issue that the fix will go out in the next patch.  (Unfortunately a documentation glitch is currently showing the 5.0.0 known issues in the 4.13.0 section of the release notes.)
The fix (and workaround) is visible at #1223.
Note, that we've only seen this issue when the -all_load option is set in Other Linker Flags. Is that the case for you?

+1. I just got this too when I updated from cocoapods 1.4.0 to 1.5.2. Earlier in the day I went from Firebase 4.x to 5.0 just fine, but then cocoapods 1.5.2 seems to break Firebase.
duplicate symbol _FirebaseCoreVersionString in:
    /Users/Tim/Library/Developer/Xcode/DerivedData/Photobooth-carrpjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphonesimulator/FirebaseCore/FirebaseCore.framework/FirebaseCore(FIRVersion.o)
    /Users/Tim/Library/Developer/Xcode/DerivedData/Photobooth-carrpjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphonesimulator/FirebaseCore/FirebaseCore.framework/FirebaseCore(FirebaseCore_vers.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

UPDATE: per the answer here, -all_load is no longer needed (since XCode 4.2 it seems!) if you're using -ObjC. https://stackoverflow.com/questions/2567498/objective-c-categories-in-static-library/2615407#2615407
I removed it from the libs that needed it, and those libs appear to still be working fine. So far (caveat emptor)

@xaphod Thanks for the confirmation! I'll close this now since the fix is on the way for the next release.


Homebrew missing mmd* scripts

Thanks for the new V5. As a user of homebrew to install MMD, I notice that the new V5 does not include the mmd* scripts by default, and there is no option to install it. I know that it is not your responsibility to maintain the brew file to install mmd, but just wondered if you had any tips on how to update the brew file so that the scripts could be installed? I assume this is related to your change to the Mac installer?
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/multimarkdown.rb
I also assume as you've switched from make that building with that brew will break too?

Just to clarify, by default brew installs and update via bottles, which are pre-compiled binaries. And I see the make instructions are updated in the brew so should work with cmake.

I am not a homebrew expert.  That said it looks like a lot of things were done right with this formula for 5.0.
The changes I would look at considering:

Perhaps the head modifier should point to the develop branch?  The master branch will only be used for official releases.  The develop branch will include changes that are uploaded prior to the next release.
Does bin.install "multimarkdown" mean to only install the multimarkdown binary?  Would something different need to be done to also install the scripts?  The make install command for the default system should include the scripts, but I don't remember whether I've tested that or not.
In any case, the scripts are not dependent on certain versions of MMD.  If you install them once, you really never need to worry about them again.  The changes that have been made since they were first released have been rather minimal and tend to fix things on "edge case" operating systems.  The functionality on OS X really hasn't changed in years.
Change Multimarkdown to the proper MultiMarkdown.  :)
The "conflicts_with" markers only make sense if the scripts are being installed.  Otherwise there are no conflicts.

Here is the homebrew issue, will close this here: https://github.com/Homebrew/homebrew/issues/46629


NotImplementedError: Cannot check isinstance when validating from json

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
We're getting errors for a BaseModel that previously worked in Pydantic V1, but no longer works in V2. I've boiled down the model to the most simple form in the code below. It has an Enum as a type, which is generic, so we don't know what enum it'll be up front, just that it'll be an enum. When deserializing using Foo.model_validate_json the following error is raised:
... in pydantic/main.py in model_validate_json(cls, json_data, strict, context)
 # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks
    596         __tracebackhide__ = True
--> 597         return cls.__pydantic_validator__.validate_json(json_data, strict=strict, context=context)
    598
    599     @classmethod

NotImplementedError: Cannot check isinstance when validating from json, use a JsonOrPython validator instead.

What's strange is that deserializing using json.loads and model_validate it works fine. Using parse_raw with the V1 variant works as well.
Example Code
import pydantic
import json
from enum import Enum
from pydantic.v1 import BaseModel as BaseModelV1

class Foo(BaseModel):
    a: str | Enum | None

class FooV1(BaseModelV1):
    a: str | Enum | None

json_payload = '{"a": "1"}'

# Raises exception
Foo.model_validate_json(json_payload)

# Does not raise exception
FooV1.parse_raw(json_payload)

# Does not raise exception
Foo.model_validate(json.loads(json_payload))

Python, Pydantic & OS Version
pydantic version: 2.8.2
        pydantic-core version: 2.20.1
          pydantic-core build: profile=release pgo=true
                 install path: /.../venv/lib/python3.12/site-packages/pydantic
               python version: 3.12.4 (main, Jul 31 2024, 15:05:21) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
                     platform: macOS-14.2.1-arm64-arm-64bit
             related packages: mypy-1.11.2 typing_extensions-4.12.2
                       commit: unknown

Thanks @sydney-runkle !


[New game]: Add Archery Game

🎮 Game Request
I have developed an Archery Challenge game using HTML, CSS, and JavaScript. It's a fun and engaging game where players can test their archery skills by aiming and shooting arrows at targets.
Point down the features

Implemented a realistic arrow shooting mechanism using JavaScript, allowing players to aim and shoot arrows with a smooth transition and trajectory.
Utilized CSS Grid to create a scalable and responsive game layout, ensuring user experience across various screen sizes and devices.
Integrated a score system to keep track of players' performance.

Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @abhinav-m22 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @abhinav-m22!
We are already having a similar game request in #2272 👀
Make sure you come up with a cool unique idea 😀
Waiting for your new game idea 💗.

Hey @abhinav-m22 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Add "not maintained" notice to other operator repos

We should add notice to all other operator repos and freeze code changes. Let's use this issue to discuss the wording before adding the notice to the top of the README files in those repos.
/cc @kubeflow/wg-training-leads

SGTM.

sounds good. Let's hold this task until we officially release the repo

Can we move forward?

Yes, I think so. I'll start adding notices.

+1 to this. There are issues created in other repos even now

Should we archive repos as well (with notice in Readme)?

Let me update the README and then comment in https://github.com/kubeflow/community/issues/479 to see if we can include those repos as part of the archiving process.
@kubeflow/wg-training-leads Let me know if there's any concerns for archiving (pytorch, xgboost, mxnet).

https://github.com/kubeflow/pytorch-operator/pull/361
https://github.com/kubeflow/mxnet-operator/pull/99
https://github.com/kubeflow/xgboost-operator/pull/125

Let me update the README and then comment in kubeflow/community#479 to see if we can include those repos as part of the archiving process.
@kubeflow/wg-training-leads Let me know if there are any concerns for archiving (pytorch, xgboost, mxnet).

Thanks for driving the efforts. It sounds good to me.  Let's give the notice and archive them later.

Notices were added and I commented on the issue to archive the repos. Let's track the progress there.


Posts render in order of publish date on default section

From cocoa-eh-hugo-theme/layouts/_default/section.html:
            {{ if ne (len (where .Data.Pages "Title" "!=" $globalTitle)) 0}}

{{ .Title }}

                    {{ range .Data.Pages.ByPublishDate }}
                        {{ if ne .Title $globalTitle }}
                            {{ partial "li.html" . }}
                        {{ end }}
                    {{ end }}

            {{ end }}

This should be made consistent with the ordering fix implemented in #67, and maybe they should also be grouped in the same way.

@caspern


adding patterdale as an oracle db exporter

I created this project to expose metrics for a set of Oracle databases.
The oracle jdbc driver must be provided at runtime due to Oracle's policies.
Furthermore we wanted to run oracle specific queries.

Hi,
We try to avoid duplication in this list, and this appears to be duplicating the existing SQL exporter. In addition it appears to be performing service discovery and scheduling which are not the responsibility of an exporter. I'd also have cardinality concerns with your example queries, as it appears to be performing event logging. I would recommend reading https://prometheus.io/docs/instrumenting/writing_exporters/
At present I am planning on accepting #835 once @sathieu indicates it has actually been tested, as it is more in line with our guidelines.

@brian-brazil I won't test oracle_exporter any time soon, sorry. Anyone else?

Hi. Thanks @brian-brazil for having a look. I'll have another look over the docs.
I'm not sure that I see exporter doing any service discovery, could you explain on that?
It expects a jdbcUrl for the database it will be querying. As per the prometheus docs it would be advisable to run an instance per Oracle database.
As for scheduling, there is the cacheDuration property which will hold the result of database scrapes for that amount of time. This is to prevent any databases being denial of serviced due to a something scraping the metrics page being too eager.
The example query is from a user. I could swap it out for a better recommend query.
I wasn't aware of @sathieu implementation! It looks good, I wasn't aware of the Oracle Instant Client, I'll defintely have a look at that.
I'm happy for @sathieu 's implementation to be accepted. The only feature I see Patterdale having is that you can define your own queries and metrics.

Caching in an exporter is something of an antipattern. As there are still
valid use cases for it, I started, but never finished,
https://github.com/RichiH/prometheus_scrape_cache . Especially the issue of
stale data vs timestamps vs storage v3 is not trivial so it's best to do
this in one canonical place.
Sent by mobile; please excuse my brevity.
On Feb 17, 2018 21:43, "Thomas Heslin"<EMAIL_ADDRESS>wrote:
Hi. Thanks @brian-brazil https://github.com/brian-brazil for having a
look. I'll have another look over the docs.
I'm not sure that I see exporter doing any service discovery, could you
explain on that?
It expects a jdbcUrl for the database it will be querying. As per the
prometheus docs it would be advisable to run an instance per Oracle
database.
As for scheduling, there is the cacheDuration property which will hold the
result of database scrapes for that amount of time. This is to prevent any
databases being denial of serviced due to a something scraping the metrics
page being too eager.
The example query is from a user. I could swap it out for a better
recommend query.
I wasn't aware of @sathieu https://github.com/sathieu implementation! It
looks good, I wasn't aware of the Oracle Instant Client
http://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html,
I'll defintely have a look at that.
I'm happy for @sathieu https://github.com/sathieu 's implementation to be
accepted. The only feature I see Patterdale having is that you can define
your own queries and metrics.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/docs/pull/975#issuecomment-366469998, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAuEI_LupIHibg0PsMnoYqkMqK_GOO7bks5tVznmgaJpZM4SJba8
.

As per the prometheus docs it would be advisable to run an instance per Oracle database.

The example config file indicates otherwise, it lists more than one database.

As for scheduling, there is the cacheDuration property which will hold the
result of database scrapes for that amount of time.

There are cases for caching, but doing it in a blanket fashion for this sort of exporter would be a concern. If you think you need it that indicates you need to reconsider the expense of the data you're fetching.

The only feature I see Patterdale having is that you can define your own queries and metrics.

That duplicates the SQL exporter. Whether it is appropriate for a RDMS exporter to offer this feature is unresolved, however I would expect an exporter for a specific database to provide primarily metrics about the database's performance.

Thanks @RichiH. Your scrape cache is an interesting read and a great idea, I'll pass this on to those who asked for the cache in the first place.
Thanks @brian-brazil. I appreciate that the example config in its current state goes against the best practices. For caching the cacheDuration can be set to 0, which is the default if a value is not provided.
I'll definitely take on board your advice should I write another exporter. For now, if my implementation was still to be considered I can update the configuration to disable caching, show only one database connection provided more appropriate examples of queries.
Otherwise feel free to close the issue.

Just FYI, it's not my implementation, I just submitted a PR to add it to the list.

@tjheslin1 No worries. Feel free to poke me on irc.freenode.net if you or the others have any questions.


[AutoPR network/resource-manager] appgw swagger examples

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2503

Codecov Report

Merging #2005 into restapi_auto_network/resource-manager will increase coverage by 0.15%.
The diff coverage is n/a.

@@                            Coverage Diff                            @@
##           restapi_auto_network/resource-manager    #2005      +/-   ##
=========================================================================
+ Coverage                                  53.12%   53.28%   +0.15%
=========================================================================
  Files                                       4724     4724
  Lines                                     117256   117644     +388
=========================================================================
+ Hits                                       62293    62681     +388
  Misses                                     54963    54963

Impacted Files
Coverage Δ

.../operations/virtual_network_gateways_operations.py
18.8% <ø> (+2.78%)
:arrow_up:

...01/operations/express_route_circuits_operations.py
11.85% <ø> (+3.22%)
:arrow_up:

...2017_10_01/operations/load_balancers_operations.py
13.55% <ø> (+3.03%)
:arrow_up:

...tions/express_route_circuit_peerings_operations.py
96.61% <ø> (+0.11%)
:arrow_up:

...017_10_01/operations/packet_captures_operations.py
14.04% <ø> (+2.99%)
:arrow_up:

..._10_01/operations/route_filter_rules_operations.py
14.47% <ø> (+2.9%)
:arrow_up:

...2017_11_01/operations/security_rules_operations.py
96.61% <ø> (+0.11%)
:arrow_up:

...0_01/operations/load_balancer_probes_operations.py
20.75% <ø> (+3.1%)
:arrow_up:

...2017_10_01/operations/security_rules_operations.py
16.1% <ø> (+2.94%)
:arrow_up:

...etwork/v2017_11_01/operations/routes_operations.py
96.61% <ø> (+0.11%)
:arrow_up:

... and 142 more

Continue to review full report at Codecov.

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


Use oscap with pcs-hardening not remediation script

Use oscap with pcs-hardening not remediation script

The remediation script:
/usr/share/scap-security-guide/bash/sle15-script-pcs-hardening.sh

blindly applies remediation even if it is not needed

using:
oscap xccdf eval --remediate --profile pcs-hardening /usr/share/xml/scap/ssg/content/ssg-sle15-ds.xml

is better, since it will only attempt to apply remediation when needed.

I was just looking at ensure_logrotate_activated it is failing due to the following change in 1.68 relative to 1.67
https://github.com/ComplianceAsCode/content/pull/10481
There have been a number of changes in the firewalld space. I am not sure which one is the root issue.

I was just looking at ensure_logrotate_activated it is failing due to the following change in 1.68 relative to 1.67
ComplianceAsCode/content#10481

I'm not familiar with how that stuff works, but one thing that catches attention is that this reads state: "started". If that actually checks whether the service is started during the image build than this is likely to fail, as no services are started, obviously. Checking whether a service is enabled or not should work.

Adding "do not merge for now" until the issues are sorted out. WE do not want this to accidentally end up in the generated image descriptions.
The upstream change https://github.com/ComplianceAsCode/content/pull/10481 makes the rule impossible to check during image build. That change assumes a running system.

Update looks good to me.


Create a model + class for every part of the website

booking
hotel
review
room
user
photos

@Marwerk I think it's great you're playing around with the ticket system. Have u already watched my video on your UX designs?
https://coyotiv-school.slack.com/archives/C05HC7A7EAU/p1689351090245659 -> Video review

@Dr4gon thanks! I'm trying to get in the flow of doing things "properly" in the sense of emulating a real working environment. Gotta keep myself sharp for when I land my first software dev job 😎
Will watch it shortly, wrapping up a coding sesh 👍🏼
Appreciate it!

@Dr4gon thanks for the feedback on the wireframes 👍🏼 great wisdom on UI design and how to draw our attention towards a call to action.
I think after I make the Lean UX canvas, my whole picture of the website will be clearer. I'll incorporate your feedback and Alessandro's at that point 🙏🏼

Base models created with at least one instance of each


Make it so you can click on/download hi-res images on project pages

Currently, when you mouseover, you get the caption but you can't download/open hi-res images

Duplicate of https://github.com/jonfroehlich/makeabilitylabwebsite/issues/692


How to define order of spring security filter chain

How to define order of spring security filter chain
I am using the following dependency :

spring-boot 1.5.2.RELEASE

spring-boot-starter-security

spring-security-oauth2 2.1.0.RELEASE

I have configured two springSecurityFilterChain using:

(1) WebSecurityConfigurerAdapter as first security layer (Basic auth)
(2) ResourceServerConfigurerAdapter as second security layer. (Bearer auth)

My endpoint should be secured like this :

/login (anonymous)
/ping (anonymous)
/oauth/** : filter (1)
/**:  filters (1, 2)

(1) look like this:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Order(2)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

	@Override
	protected void configure(HttpSecurity http) throws Exception {
		http
			.sessionManagement()
				.sessionCreationPolicy(SessionCreationPolicy.NEVER)
				.and()
			.csrf().disable()
			.authorizeRequests()
				.antMatchers(HttpMethod.GET, HttpPathStore.PING).permitAll()
				.antMatchers("/login").permitAll()
				.antMatchers("/logout").hasRole("USER")
				.antMatchers("/**").hasRole("USER")
				.anyRequest().authenticated()
			.and()
				.exceptionHandling()
				.accessDeniedHandler(accessDeniedHandler)
				.authenticationEntryPoint(authenticationEntryPoint)
			.and()
				.formLogin()
				.loginProcessingUrl(HttpPathStore.LOGIN)
				.successHandler(authenticationSuccessHandler)
				.failureHandler(authenticationFailureHandler)
				.permitAll()
			.and()
				.logout()
				.logoutUrl(HttpPathStore.LOGOUT)
				.logoutSuccessUrl(HttpPathStore.LOGIN_FROM_LOGOUT)
				.logoutSuccessHandler(logoutSuccessHandler)
				.permitAll();
	}
	...
}

(2) look like this:
@Configuration
@EnableResourceServer
@Order(3)
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

	@Override
	public void configure(HttpSecurity http) throws Exception {
		http
			.authorizeRequests()
				.antMatchers(HttpMethod.GET, HttpPathStore.PING).permitAll()
				.antMatchers("/login").permitAll()
				.antMatchers("/logout").permitAll()
				.antMatchers(
					"/**"
				).access("#oauth2.hasScope('write') " +
							"and #oauth2.clientHasRole('ROLE_CLIENT') " +
							"and hasRole('USER')");
	}

	...
}

Problem
If I set @Order on:

(1) : @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
(2) : [DEFAULT]

Expected: as a user with a session and without a jwt, I expect to see the the response 401 from (2)
Result: as a user with a session and without a jwt, I have the response 401 from (1).
If I set @Order on:

(1) : @Order(2)
(2) : @Order(3)

Expected: Order the web securityFilterChain before OAuth securityFilterhChain
Result: OAuth securityFilterChain configuration seems to be ignored by spring.
Is there a way to get my configuration to have OAuth security after Basic security ?

Is related with https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#oauth-2-resource-filter ?

Is related with https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#oauth-2-resource-filter ?

Yes it is about the same topic but I can't tell you if my issue is due to these change ? Do you wan't me to test with a 1.4 of spring ?

@kazuki43zoo according to your link and the setup I want. What __@Order__value should I use for WebSecurityConfigurerAdapter and ResourceServerConfigurerAdapter ?

Could you try as follow ?
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

	@Override
	public void configure(HttpSecurity http) throws Exception {
		http.antMatcher("/oauth/**") // ### Specify path pattern that need OAuth authentication(Bearer auth) and authorization
			.authorizeRequests()
				.antMatchers(
					"/**"
				).access("#oauth2.hasScope('write') " +
							"and #oauth2.clientHasRole('ROLE_CLIENT') " +
							"and hasRole('USER')");
	}
	...
}

@kazuki43zoo I would like to know if there is a difference between this

http.antMatcher("/oauth/**") // ### Specify path pattern that need OAuth authentication(Bearer auth) and authorization
		.authorizeRequests()
			.antMatchers(
				"/**"
			).access("#oauth2.hasScope('write') " +
						"and #oauth2.clientHasRole('ROLE_CLIENT') " +
						"and hasRole('USER')");

and this
http
		.authorizeRequests()
			.antMatchers(
                                "/oauth/**", // ### Specify path pattern that need OAuth authentication(Bearer auth) and authorization
				"/**"
			).access("#oauth2.hasScope('write') " +
						"and #oauth2.clientHasRole('ROLE_CLIENT') " +
						"and hasRole('USER')");

Could you try as follow ?

With what @Order exactly?
I did try with @Order(2), no @Order annotation on ResourceServerConfig.
Same thing as before, having  @Order(2) on WebMvcSecurity result in an ignored OAuth2 security filter chain.

In my understand ...
Default orders are as follow on Spring Boot:

A security filter chain that configure by a extends class of WebSecurityConfigurerAdapter -> 100
A resource server filter chain that configure by Spring Boot -><PHONE_NUMBER> (= SecurityProperties.ACCESS_OVERRIDE_ORDER - 1)

In other words, a security filter chain that configure by a extends class of WebSecurityConfigurerAdapter will apply by default. (resource server filter chain will be not used)

If you want to apply a resource server filter chain for /oauth/***, you need to specify order as follow:

(1) : ACCESS_OVERRIDE_ORDER (=<PHONE_NUMBER>)
(2) : [DEFAULT] (=<PHONE_NUMBER>)

or

(1) : [DEFAULT] (= 100)
(2) : 99 or under (e.g: security.oauth2.resource.filter-order=99)

And specify a matcher pattern on (2) as follow:
http.antMatcher("/oauth/**")
    .authorizeRequests()
        ....

As result...
You can use  a resource server filter chain for request that matches /oauth/** and you can use a security filter chain that configure by a extends class of WebSecurityConfigurerAdapter for other request (e.g: /login, /ping and more ... ).
If you need more information, i think you should be provide a reproduce project that can be run on GitHub.
And i think your question should be posted to the StackOverflow.
Thanks.

Thanks for the quick reply.
I have tried both of the configuration. They seems to be able to protect the endpoint /oauth/**, but all the over endpoints are not OAuth secure.
I have created a demo repository.
There's a README with a sum up of the security strategy.
Reproduction

Clone the project
git clone https://github.com/kopax/spring-security-oauth-issues-1024 && cd spring-security-oauth-issues-1024

start the server
./gradlew build --info && java -jar build/libs/api-oauth2.jar --spring.profiles.active=default

get a cookie
export COOKIE=$(curl -v --silent http://localhost:8081/ 2>&1 | grep cookie -i | awk -F ' ' '{print $3}')

authenticate the cookie
export COOKIE=$(curl --cookie "$COOKIE" -d username=admin -d password=verysecret -v --silent http://localhost:8081/login 2>&1 | grep cookie -i | awk -F ' ' '{print $3}')

try to get a secured oauth resource at /
curl --cookie "$COOKIE" -v http://localhost:8081/

Expected
http status code 401 due to missing header Authorization
Result
http status code 200
Useful information:
Spring server:

http://localhost:8081/

Security account (cookie):

username: admin
password: verysecret

OAuth account (jwt):

client_id: myfirstapp
client_secret: test
redirect_uri: http://localhost:8081/
access_token_uri: http://localhost:8081/oauth/token
authorization_uri: http://localhost:8081/oauth/authorize
authorization_grant: code
redirect_uri: http://localhost:8081/cb/myfirstapp

Hi!
I’ve submitted a PR for fix this.
https://github.com/kopax/spring-security-oauth-issues-1024/pull/1 https://github.com/kopax/spring-security-oauth-issues-1024/pull/1

2017/03/20 19:44、Dimitri KOPRIWA<EMAIL_ADDRESS>のメール：
Thanks for the quick reply.
I have tried both of the configuration. They seems to be able to protect the endpoint /oauth/**, but all the over endpoints are not OAuth secure.
I have created a demo repository https://github.com/kopax/spring-security-oauth-issues-1024.
There's a README https://github.com/kopax/spring-security-oauth-issues-1024/blob/master/README.md with a sum up of the security strategy.
Reproduction
Clone the project
git clone https://github.com/kopax/spring-security-oauth-issues-1024 https://github.com/kopax/spring-security-oauth-issues-1024 && cd spring-security-oauth-issues-1024
start the server
./gradlew build --info && java -jar build/libs/api-oauth2.jar --spring.profiles.active=default
get a cookie
export COOKIE=$(curl -v --silent http://localhost:8081/ http://localhost:8081/ 2>&1 | grep cookie -i | awk -F ' ' '{print $3}')
authenticate the cookie
export COOKIE=$(curl --cookie "$COOKIE" -d username=admin -d password=verysecret -v --silent http://localhost:8081/login http://localhost:8081/login 2>&1 | grep cookie -i | awk -F ' ' '{print $3}')
try to get a secured oauth resource at /
curl --cookie "$COOKIE" -v http://localhost:8081/ http://localhost:8081/
Expected
http status code 401 due to missing header Authorization
Result
http status code 200
Useful information:
Spring server:
http://localhost:8081/ http://localhost:8081/
Security account (cookie):
username: admin
password: verysecret
OAuth account (jwt):
client_id: myfirstapp
client_secret: test
redirect_uri: http://localhost:8081/
access_token_uri: http://localhost:8081/oauth/token
authorization_uri: http://localhost:8081/oauth/authorize
authorization_grant: code
redirect_uri: http://localhost:8081/cb/myfirstapp
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/spring-projects/spring-security-oauth/issues/1024#issuecomment-287725580, or mute the thread https://github.com/notifications/unsubscribe-auth/AFWyjs4XsUttoQZbu1KQCITYgwmRchpXks5rnliDgaJpZM4MhJsf.

Hi, It still possible to access without a Bearer. See my reply on PR
Every configuration I try can't work together.
As soon a route is added to (1), it get canceled in (2).
Are you absolutely sure that spring-security and spring-security-oauth can work on the same endpoint ?
It's also possible that the API must have separate endpoints.
(I haven't found any project that use both plugin on top of each for the same endpoint.)

I am having the same problem. I want ldap authentication for some resources and oauth on others and can only get one or the other to work. Not both. Have you made any progress or do you have a work around?

It is one or the other. You can't have both.

I have the same problem

Please, try following code. Its works fine for me.
https://spring.io/guides/topicals/spring-security-architecture/
"The most important feature of this dispatch process is that only one chain ever handles a request."
@EnableResourceServer
@Configuration
public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {

    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        super.configure(resources);
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.requestMatchers()
                // For org.springframework.security.web.SecurityFilterChain.matches(HttpServletRequest)
                .requestMatchers(
                        new NegatedRequestMatcher(
                                new OrRequestMatcher(
                                        new AntPathRequestMatcher("/login"),
                                        new AntPathRequestMatcher("/logout"),
                                        new AntPathRequestMatcher("/oauth/authorize"),
                                        new AntPathRequestMatcher("/oauth/confirm_access")
                                )
                        )
                )
                .and()
                .authorizeRequests().anyRequest().authenticated();
    }
}

@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.requestMatchers()
                // For org.springframework.security.web.SecurityFilterChain.matches(HttpServletRequest)
                .requestMatchers(
                        new OrRequestMatcher(
                                new AntPathRequestMatcher("/login"),
                                new AntPathRequestMatcher("/logout"),
                                new AntPathRequestMatcher("/oauth/authorize"),
                                new AntPathRequestMatcher("/oauth/confirm_access")
                        )
                )
                .and()
                .authorizeRequests().anyRequest().authenticated()
                .and()
                .formLogin().permitAll()
                .and()
                .logout().permitAll();
    }
}

jdk-10+46_linux-x64
Spring Boot 2.0.0.RELEASE

@namioka Shouldn't ResourceServerConfiguration only match negatively on /login and /logout? And WebSecurityConfiguration negatively on /oauth/**?

@lilalinux '/oauth/authorize' and '/oauth/confirm_access' require the user authentication (Not resource server authentication by access tokens).

@kopax Did you resolve this issue? I am having same trouble when selecting HttpBasic and OAuth on the basis of Endpoint.

Me too. With Spring Boot 1.5.8.RELEASE, Spring Security 4.2.3.RELEASE. OAuth filter chain was ignored.

@kevinojt  I have figured out a solution for this. Look at my answer
https://stackoverflow.com/questions/50796327/can-we-use-httpbasic-and-oauth2-both-for-an-api-depending-on-path-variable/50877797#50877797

Thanks @kevinojt ! It worked perfect for me.

@cpandya231 yes, it works.
Here is my solution same as yours.
/**
 * Config Spring security policy.
 *
 * About @Order
 * With SpringBoot must set @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
 * on WebSecurityConfiguration or Spring Security will
 * put UsernamePasswordAuthenticationFilter before OAuth2AuthenticationProcessingFilter.
 * It means OAuth2 authentication of resource server will not work.
 *
 */
@Configuration
@EnableWebSecurity(debug = true)
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {

  @Override
  @Bean
  public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();
  }

  @Override
  @Bean
  public UserDetailsService userDetailsServiceBean() throws Exception {
    return super.userDetailsServiceBean();
  }
// Other code been omitted
}

@kevinojt Please respond on stackoverflow, need to improve reputation points.


How-to Customize Homepage ?

Gitea version (or commit ref): 1.8.3

Description
Hi,
how can I customize my Gitea installation Homepage ? I would like to put the homepage (when user is not logged in) to fit my company style (logo, introduction text, ...).
Regards,

Ok I found, it's a template to override.

Where is this template?

Hi,
the template needs to be retrieved from the Gitea github repository.

Hi,
So do you need to recompile Gitea after customizing the homepage ?
Or can I just drag & drop my updated files somewhere into the custom folder ?

@William-LP , you can drop your files in the appropriate folders.
The dark theme has an error in this in the explanation, the files/folders should be in the custom folder and not the main gitea folder.

I'm sorry I feel dumb but I don't manage to update that homepage.
I've updated the file home.tmpl and dragged him into C:/gitea/custom/ folder but I still got the regular homepage after reloading my gitea service.
I'm missing something but I can't figure out what :/
I'd appreciate a bit more details regarding the process to update that homepage :)

You need to place it in C:/gitea/custom/templates/

hi ,  i can't find the folder templates

Ask questions in forum not here, it won't be answered in closed issues


Add possibility to configure each Sonoff GPIO separetly

There are 3 GPIOs

GPIO1
GPIO3
GPIO3

For each GPIO give option to set

switch mono or
switch bi
ds18b20

For now there could be only one ds18b20 connected

project discontinued. Look at AFE-Firmware. it should cover it


More spam in the Wiki

I am not sure how this is happening, but there is yet more spam in the wiki

Is there a permissions setting or something for people who can edit the wiki we can change?

Wiki is locked (what a shame...) to only allow edits from people with capistrano/capistrano push access. Thanks for the report, and sorry for having to lock the wiki, rendering it 50% useless :-1:

I'm having a conversation with Github stuff to prevent the spam.

Lemme know anything g you learn mate, thanks
Sent from my Nexus 5.
On 8 Jan 2015 20:19, "Kir Shatrov"<EMAIL_ADDRESS>wrote:

I'm having a conversation with Github stuff to prevent the spam.
—
Reply to this email directly or view it on GitHub
https://github.com/capistrano/capistrano/issues/1272#issuecomment-69232770
.


update the .zip version

The Docs read "The .zip version will not automatically update".How can I update the version to the latest.
I have clicked the Check for Updates button , but it does not work. The latest version is 1.15.0 ,but it is 1.13.1 ia32 version on my windows. Must I  down it ?

Download either the .exe or the .msi file from https://atom.io/.

Does it means there is nothing I can do for the .zip version?I means I want to update the .zip ,neither the .exe or the .msi. Just for I have some plugins in it. Thank you for your answer.


Docker should not be accessible outside the cluster.

Currently, from my laptop, I can run docker -H tcp://<ip>:2375 ps and get a response.  This is very very dangerous and shouldn't be possible given that we're apparently only binding to the private IP.  Need to investigate and fix this.

https://trello.com/c/nnZeRnhf/44-docker-should-not-be-accessible-outside-the-cluster#


Major upgrade process

I've been working on implementing a database based on pglite for a little bit, and during this process I updated from 0.1.5 to 0.2.5, after which I received this error (reproduced in a temporary directory, since I lost my original output):
wasm://wasm/postgres.wasm-023f75ca:1

RuntimeError: unreachable
    at postgres.wasm.ValidatePgVersion (wasm://wasm/postgres.wasm-023f75ca:wasm-function[4079]:0x22d00e)
    at postgres.wasm.checkDataDir (wasm://wasm/postgres.wasm-023f75ca:wasm-function[4078]:0x22cda3)
    at postgres.wasm.AsyncPostgresSingleUserMain (wasm://wasm/postgres.wasm-023f75ca:wasm-function[8691]:0x370caa)
    at postgres.wasm.pg_initdb (wasm://wasm/postgres.wasm-023f75ca:wasm-function[13269]:0x522243)
    at Module._pg_initdb (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/@electric-sql/pglite/dist/postgres.js:10625:109)
    at Ct.As (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/@electric-sql/pglite/dist/index.js:1:29075)
    at async Ct._e (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/@electric-sql/pglite/dist/index.js:1:30858)
    at async Ct.query (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/@electric-sql/pglite/dist/index.js:1:24527)
    at async PgDialect.migrate (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/drizzle-orm/pg-core/dialect.js:48:5)
    at async migrate (file:///tmp/tmp.SAT8EtxmTE/drizzletest/node_modules/drizzle-orm/pglite/migrator.js:4:3)

This indicates to me that the update to v16 (#112) broke backwards compatibility pretty spectacularly.
It's not an issue for me now (my code hasn't been rolled out yet), but I'd like to continue using pglite for this project, and I'd like to be able to continue updating it; is there any guidance on how to properly upgrade, or any plans to put together such a process?

Hey @demize
Apologies for the confusion on that one. Postgres maintains binary compatibility within each of its major versions, but not access them. And as you noted we upgraded from a v15dev to v16 release.
Until we reach v1.0, minor changes may break compatibility. I hope we can reach a v1 in the next few months, we may have upgraded to PG v17 by then.
After that any time we upgrade to a new major PG version it will be a major version change to PGlite.
To aid in migrations between versions we are working on a WASM build of pg_dump and pg_restore, so that you can take a SQL dump of the old database and import into a new database. We will not move to v1 until we have this, and the plan is this would be available before we upgrade to PG v17, but I don't want to make that a firm promise.
I hope thats enough assurance there is a plan in place.


[libiconv] build failure on macos

Host Environment

OS: 10.15 and 10.13
Compiler: clang 12.0.0 (clang-1<IP_ADDRESS>) x86_64-apple-darwin19.6.0

To Reproduce
Steps to reproduce the behavior:
./vcpkg install libiconv
Failure logs
There is no compiled iconv library after this instalation. Package folder contains only BUILD_INFO, CONTROL  and Share folder with vcpkg-cmake-wrapper.cmake and vcpkg_abi_info.txt . buildtrees/libiconv folder is also almost empty
This is also probably the reason why libxml/libxslt can't be compiled on macos.
The strange is that ./vcpkg install libiconv doesn't report any error:

Looks like it is an empty package on everything except windows, at least according to the portfile.cmake:
https://github.com/microsoft/vcpkg/blob/68a74950d0400f5a803026d0860f49853984bf11/ports/libiconv/portfile.cmake#L1-L7
Explains why the directories are mostly empty
An empty package normally means it is using software installed from other sources (CUDA and Vulkan are examples) or part of the development environment or operating system?

Looks like it is an empty package on everything except windows, at least according to the portfile.cmake:
https://github.com/microsoft/vcpkg/blob/68a74950d0400f5a803026d0860f49853984bf11/ports/libiconv/portfile.cmake#L1-L7
Explains why the directories are mostly empty
An empty package normally means it is using software installed from other sources (CUDA and Vulkan are examples) or part of the development environment or operating system?

A quick google search show MacOS includes its own version of libiconv, but it has its own symbol naming convention (no _lib) which is not compatible with the rest of the software world.
Reference: https://mw.gl/posts/libiconv_mac/
Another article shows installing a different libiconv can cause other issues with Apple software
Reference: https://gist.github.com/lamont-granquist/a6c231eb2e0b2d45641d#file-iconv_warnings-md
It looks like (linux/unix) distros have there versions also as it is found on both my OpenSUSE VMs.
I would guess the reason vcpkg installs an empty package on everything but windows is vcpkg is creating a place holder as the OS has its own...

A quick google search show MacOS includes its own version of libiconv, but it has its own symbol naming convention (no _lib) which is not compatible with the rest of the software world.
Reference: https://mw.gl/posts/libiconv_mac/
Another article shows installing a different libiconv can cause other issues with Apple software
Reference: https://gist.github.com/lamont-granquist/a6c231eb2e0b2d45641d#file-iconv_warnings-md
It looks like (linux/unix) distros have there versions also as it is found on both my OpenSUSE VMs.
I would guess the reason vcpkg installs an empty package on everything but windows is vcpkg is creating a place holder as the OS has its own...

Thanks for the detailed info. I also found info about different iconv naming in the native Apple version. This was the reason why I thought that this is a bug and that libiconv should be compiled separately via vcpkg.
Another reason was that libxslt doesn't work because of missing libiconv in the vcpkg. But probably this is not connected because libxslt port works ok under linux distros.
Sorry for the false alarm.

Thanks for the detailed info. I also found info about different iconv naming in the native Apple version. This was the reason why I thought that this is a bug and that libiconv should be compiled separately via vcpkg.
Another reason was that libxslt doesn't work because of missing libiconv in the vcpkg. But probably this is not connected because libxslt port works ok under linux distros.
Sorry for the false alarm.

Hi @ludekvodicka
Thanks for posting this issue and your focus on iconv.
I think @StarGate-One has answered your confusion about iconv on osx. So I'm closing this isseu for now.
@StarGate-One thanks again for your help.

Hi @ludekvodicka
Thanks for posting this issue and your focus on iconv.
I think @StarGate-One has answered your confusion about iconv on osx. So I'm closing this isseu for now.
@StarGate-One thanks again for your help.


[Remote Store] Add support to remote restore IndexMetadata

Description

moved around some stuff to see how restore would look like with index metadata coming from remote
added some basic validations inspired from snapshot restore flow
able to restore 'my-index-01' via remote store restore api using the dummy indexmetadata and perform search on the index.

Related Issues
Related to #9163

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Test Results
org.opensearch.indices.replication.SegmentReplicationIT.classMethod
org.opensearch.indices.replication.SegmentReplicationSuiteIT.testDropRandomNodeDuringReplication
org.opensearch.indices.replication.SegmentReplicationSuiteIT.testBasicReplication
org.opensearch.indices.replication.SegmentReplicationSuiteIT.testDeleteIndexWhileReplicating
org.opensearch.indices.replication.SegmentReplicationSuiteIT.classMethod
Flaky Bug - https://github.com/opensearch-project/OpenSearch/issues/9499

Test Failures
org.opensearch.client.PitIT.testDeleteAllAndListAllPits -- https://github.com/opensearch-project/OpenSearch/issues/5030
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=cat.repositories/10_basic/Test cat repositories sort}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.status/10_basic/Get missing snapshot status throws an exception}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=search.aggregation/140_value_count_metric/Filtered test}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.status/10_basic/Get missing snapshot status succeeds when ignoreUnavailable is true}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=search/230_interval_query/Test unordered combination via mode}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get missing snapshot info succeeds when ignore_unavailable is true}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=cat.repositories/10_basic/Test cat repositories output}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.restore/10_basic/Create a snapshot and then restore it}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.status/10_basic/Get snapshot status}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get snapshot info contains include_global_state}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=cat.snapshots/10_basic/Test cat snapshots output}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get_repository/10_basic/Get missing repository by name}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get_repository/10_basic/Get all repositories with local flag}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.create/10_basic/Create a snapshot and clean up repository}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get snapshot info}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=search/40_indices_boost/Indices boost using array multiple match}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=search.aggregation/150_stats_metric_unsigned/Metadata test}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=indices.validate_query/20_query_string/validate_query with query_string parameters}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=msearch/20_typed_keys/Multisearch test with typed_keys parameter for sampler and significant terms}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get missing snapshot info throws an exception}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get snapshot info with metadata}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get_repository/10_basic/Verify created repository}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get_repository/10_basic/Get repository by name}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get/10_basic/Get snapshot info when verbose is false}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=snapshot.get_repository/10_basic/Get all repositories}
org.opensearch.backwards.MixedClusterClientYamlTestSuiteIT.test {p0=cluster.reroute/11_explain/Explain API for non-existent node & shard}

Test Failure
org.opensearch.common.blobstore.stream.read.listener.ReadContextListenerTests.testReadContextListenerFailure
flaky bug - https://github.com/opensearch-project/OpenSearch/issues/9776


Ship .desktop and icon

Right now, python-gui is not doing anything with them. We should either:

install them correctly using package_data or data_files metadata. After a quick search I have not found a PyPi module that does this so far, and it would need to cater to different OSes.

just add them to the sdist by adding them to MANIFEST.in and let downstreams tackle it.

I added a PR fixing this by shipping them, let me know what you think about it.


YassineFounounou HW#1

@YassineFnn please pull github actions into your repo

@YassineFnn please pull github actions into your repo

Is it fine now ?

@YassineFnn please pull github actions into your repo

Is it fine now ? Also, the test cases fail here on the repo but on my computer it passes all of the tests, what's the problem ?

@YassineFnn please pull github actions into your repo

Is it fine now ? Also, the test cases fail here on the repo but on my computer it passes all of the tests, what's the problem ?

Where do you see them failing? I see the green checkmark in your repo.

@YassineFnn please pull github actions into your repo

Is it fine now ? Also, the test cases fail here on the repo but on my computer it passes all of the tests, what's the problem ?

Where do you see them failing? I see the green checkmark in your repo.

I am sorry, I checked something else instead. So, my PR is fine now, right ?

ok 6/6


Swift compiler language level to 6

Hi! I was wondering if you could give us a guide on how to build safely with swift 6 in Xcode 16.
I'm in the process of moving my code, which is currently in 5.x, to Swift language version 6 and would like some guidance from Typut.
We are not in a hurry and will take a look at it when it's patched when you have time.
Thanks for your contributions esp. Input method!

Currently I'm not having the answer; I suspect it will be a hard job because the InputMethodKit lacks support for Swift Concurrency, and there's no indication that Apple will implement it. But if you manage to do that, I will be happy if you let me know :pray:

Oh I get it. IMK is a really old framework, thanks.
I won't be able to do it quickly, but I'll try. 💪🏼


Revert "Revert "socok8s: Deploy with airship and osh for PRs""

Reverts SUSE-Cloud/automation#3436 and thus actually applies https://github.com/SUSE-Cloud/automation/pull/3433 which I merged too early.

This does break Jenkins (we get stack traces and can not reconfigure or delete the jobs). Closing for now.


PID - cart_example_effort

Hi,
I am testing cart_example_effort:

There are no PID parameters :
cartpole_controller_effort.yaml
controller_manager:
ros__parameters:
update_rate: 100  # Hz
effort_controllers:
  type: effort_controllers/JointGroupEffortController

joint_state_broadcaster:
  type: joint_state_broadcaster/JointStateBroadcaster

effort_controllers:
ros__parameters:
joints:
- slider_to_cart
command_interfaces:
- effort
state_interfaces:
- position
- velocity
- effort

However in ROS1 has PID parameters (https://github.com/ros-simulation/gazebo_ros_demos):

rrbot_control.yaml
rrbot:
joint_state_controller:
type: joint_state_controller/JointStateController
publish_rate: 50
joint1_position_controller:
type: effort_controllers/JointPositionController
joint: joint1
pid: {p: 100.0, i: 0.01, d: 10.0}
joint2_position_controller:
type: effort_controllers/JointPositionController
joint: joint2
pid: {p: 100.0, i: 0.01, d: 10.0}

Could indicate the equivalent PID parameters in gazebo_ros2_control.
Thank you in advance.

Hi @LuisYordano,
the issue here is that the "effort_controllers/JointPositionController" is not ported/implemented in ros2_controllers. If you would have time to tackle this, I would be glad to support you!


List not up to date for Cameroon

I went to the page of Cameroon ( https://commits.top/cameroon.html ). And the content is not actually up do date. It is showing the total commits I had 4 months ago

Please see #140 -- also related to #98 not being implemented.

@baimamboukar my fork has this actively updated: see https://committers.top/cameroon

Clean.... It is working! Up to date

Clean.... It is working! Up to date

@baimamboukar I think it is now up-to-date, you can close this issue.


I have added a short paragraph on help if you have a conflict

Hi, I wondered whether I could code a short paragraph on what to do if you receive a Git conflict in order to encourage more GitHub users to contribute and practice on this repo. Please review my code and send any feedback if needed. Thank you 🙂

Thanks for your contribution 👍🏻

Thank you @kaiwalyakoparkar, @Panquesito7 and @krishdevdb for your feedback (:

Hey, I don't think this would work as these are tags.

Well, that worked in other paragraphs below, but it's alright. Thanks anyways. 🙂


update docs to match latest release

Current dependencies on/for this PR:

main

PR #7   👈

This comment was auto-generated by Graphite.


[core] Support stream read with delay duration

Purpose
Support stream read with delay duration.
real user scenario is algorithm partital update, user use lake table join hbase/redis dim table, but dim table update is delay, so need delay read for stream lake table. this pr is aim to support it with add an option to control the delay time.

Linked issue: close #xxx

Tests

API and Format

Documentation

+1


Feature Request: Add the Brackets Shell version to the About Dialog

Per this discussion.
The current About dialog only shows the version of brackets, but not brackets-shell.  I know these two projects are in sync during Sprint releases but dev versions sometimes get out of sync.  It might be useful to have both version numbers in the About dialog.

While testing https://github.com/adobe/brackets-shell/pull/564 this would helped me a bit (simply to realize if the shell I built was the correct one).

Never going to happen. Closing.


Add option to pass Content-Type to putFile API

Changes to resolve #551
putFile API: added a third option contentType in options parameter.
Added unit test: 'putFile & getFile unencrypted, not signed, with contentType'.

Thanks for sending this PR @muneebm!  I just had one comment.

Looks good to me! Thanks for this.