[TW#14952] How to use CMake compile library for esp32 (Project: open62541)

Hi esp-idf,
In the past two days I've spent many hours trying to port open62541 project to esp32 platform with no luck. 🦄

About this protocol: Besides MQTT as communication protocol for IoT applications, many companys choose OPC UA as their preferred choice. Because OPC Classic  is well adopted since late 90's as M2M protocol in industry. Till now this standard is going on developed, specified and well standardized as IEC TR 62541 by opc foundation and meanwhile very well documented on its online doc. Big Players like ABB, Bosch, Festo, KUKA, SAP, Siemens, Cisco, Microsoft ... are their paied members.
The "Problem" of OPC UA is that its not easy to getting started with and not real open-source. For example, as far as I know/understand, even this in public domain hosted UA-AnsiC Stack from opc foundation will only cost free for their paied members. The Project open62541 on the opposite side is the single open source implementation of OPC UA in C. (List of Open Source OPC UA Implementations).

Right now this project deploy CMake to build the library from its source. I've tested it on my linux boxes. I can build/use this library in Linux enviroment without any issue. Because esp-idf uses FreeRTOS+LWIP for xtensa cores. I started from this PR which is for ST32 (also FreeRTOS+LWIP based). After 2 day long tweaking around, I've learned pretty much from it. ("CMake Cross Compiling", "How does CMake works"...). But I still can not get this job done...

I've to say, it's beyond my right now skill range. I'll appreciate to any help from here. 🚀 🌝
P.s:
Because I really don't know how far what I've done before it makes open62541 works on esp32, So I don't post my error logs here. If it did make sense, I will.

FWIW, that STM32 branch is a mess when it comes to the Makefile... toolchain-specific hacks (like the nano.spec, Windows-specific and install-specific paths hardcoded, ... I'm not surprised you couldn't get it to compile.
Actually, the vanilla project seems to almost compile given the correct makefile... I've whipped one up here: https://gist.github.com/Spritetm/3f0c30af13b92a06a91850996694997d . The only issue seems to be that the lwip bsd-socket implementation isn't entirely compatible. The library may need some mangling in the tcp connector, and you may be fine.

Hi @Spritetm ,
thanks for you explanation and this Gist first! It enlight me to trying the other possible way to build up this library - Using esp-idf's build system directly 💡
I'll checkout your component.mk today later.

P.s:
This let me come to another question: Though Uncle Google can tell me endless info about kconfig. But I still didn't get the core idea... Is it something similar to cmake, but very Linux kernel (and esp-idf) specilized? ❔

Actually, esp-idfs build system normally handles compiling and linking itself, but it can be persuaded to relegate those tasks to other build systems - like cmake. The component.mk file in the gist does just that: it sets up the environment for cmake to understand esp-idfs compiler and include paths, then just calls on cmake to do the hard work of compiling and linking.
Kconfig is the config file that is used in 'make menuconfig', most famously known from the Linux kernel. I don't know cmake too well, but I infer it also has a configuration mechanism that is somewhat alike to it, yes.

Hi @Spritetm. Cool thanks for your answer firstly. I'll update my working status here later! (Hopfully do even a pull request for this.) 😎

Hi ESP, I'm back. 🖐
I've tried the component.mk file with a clean open62541 source. I stucked here:

[ 50%] Building C object CMakeFiles/open62541-object.dir/open62541.c.obj

Because of the lack of library porting experience. Though I've invest another couple of hours, I still can't let cmake happy with esp_idf ecosystem. I got two type of errors.

First type:

/home/gfast2/esp/esp-idf/components/esp32/include/esp_intr_alloc.h:267:1: error: function declaration isn't a prototype [-Werror=strict-prototypes]
 void esp_intr_noniram_disable();

In my opinion ist the compiler restriction setting which controlled by cmake is somehow more servere then the implementations of esp-idf. There are two question/answers about this: This and This. But I think these shouldn't be big deal for me. 🍈

Second type:

/home/gfast2/workspace/open62541_compile/build/open62541/open62541.c:26684:25: fatal error: sys/select.h: No such file or directory

This is the point where I spend most of my time. According to This Question. I've tried to fake these files, but still with no luck. Is there some suggestions for me ❔

The only issue seems to be that the lwip bsd-socket implementation isn't entirely compatible. The library may need some mangling in the tcp connector, and you may be fine.

Is this means, even though I got succeed to port this library to esp_idf, I still need to fighting some incompatibilitys here. ♿

If the full error log is needed, I'll post here. 😸

error: function declaration isn't a prototype [-Werror=strict-prototypes]

We don't use -Wstrict-prototypes when compiling IDF source code, so header files may contain constructs which are not compatible with this option.

fatal error: sys/select.h: No such file or directory

At the moment, there is no sys/select.h on this platform. There is LwIP select, but it can only be used with LwIP sockets. So you need to port that part of the library (i.e. modify it to use LwIP's select) if you want to use it in ESP-IDF.

Thanks @igrr ! 🥇
Right now with the marvelous Gist by @Spritetm the first kind of error is through tweaking CMakeLists.txt beautifully solved.
I'm putting some effort to inlcude the right header files for plugins/ua_network_tcp.c from this library. Till now cmake can nearly finish the job (82% at the time). But get stucked by including sys/socket.h which I manually add into this file. Because esp-idf is none of Linux, QNX, BSD...
No matter what I've tried - #include <sys/socket.h>, #include <socket.h>, or #include <posix/sys/socket.h>, it seems like the cmake won't include the header from esp-idf. Is that means in order to let cmake know which folder should be included, I should specify more detailed information in its component.mk or any tweaking in CMakeLists.txt for cmake?
Any suggestions are highly appreciated! 👼

Hi ESP-IDF,
The test ist going on here. 🌞
I tried to add the include directory where the #include <sys/socket> can be found by cmake in its library´s component.mk. (And I made this file as a Gist. And I defined INCLUDE_FIXUP_DIR as the path where this header file can be found directly.

My Question is somehow simplified:
How can I known which included folders are being defined vendored by ESP-IDF to cmake?

In case some one wanna see the compiling log of cmake:
(I made a small sorting for the compiling log)
Part1:
-- Build files have been written to: /home/gfast2/workspace/ioc-110-ethernet/build/open62541
[  2%] Generating src_generated/ua_nodeids.h
[  5%] Generating src_generated/ua_types_generated.c, src_generated/ua_types_generated.h, src_generated/ua_types_generated_handling.h, src_generated/ua_types_generated_encoding_binary.h
[  7%] Generating src_generated/ua_transport_generated.c, src_generated/ua_transport_generated.h, src_generated/ua_transport_generated_handling.h, src_generated/ua_transport_generated_encoding_binary.h
[ 10%] Generating src_generated/ua_statuscode_descriptions.c
Scanning dependencies of target open62541-object
[ 12%] Building C object CMakeFiles/open62541-object.dir/src/ua_types.c.o
[ 15%] Building C object CMakeFiles/open62541-object.dir/src/ua_types_encoding_binary.c.o
[ 17%] Building C object CMakeFiles/open62541-object.dir/src_generated/ua_types_generated.c.o
[ 20%] Building C object CMakeFiles/open62541-object.dir/src_generated/ua_transport_generated.c.o
[ 22%] Building C object CMakeFiles/open62541-object.dir/src/ua_connection.c.o
[ 27%] Building C object CMakeFiles/open62541-object.dir/src/ua_session.c.o
[ 30%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_server.c.o
[ 32%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_server_binary.c.o
[ 35%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_server_utils.c.o
[ 37%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_server_worker.c.o
[ 40%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_securechannel_manager.c.o
[ 42%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_session_manager.c.o
[ 45%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_nodes.c.o
[ 47%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_nodestore.c.o
[ 50%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_nodestore_concurrent.c.o
[ 52%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_discovery.c.o
[ 55%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_securechannel.c.o
[ 57%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_session.c.o
[ 60%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_attribute.c.o
[ 62%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_nodemanagement.c.o
[ 65%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_view.c.o
[ 67%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_call.c.o
[ 70%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_subscription.c.o
[ 72%] Building C object CMakeFiles/open62541-object.dir/src/server/ua_services_subscription.c.o
[ 75%] Building C object CMakeFiles/open62541-object.dir/src/client/ua_client.c.o
[ 77%] Building C object CMakeFiles/open62541-object.dir/src/client/ua_client_highlevel.c.o
[ 80%] Building C object CMakeFiles/open62541-object.dir/src/client/ua_client_highlevel_subscriptions.c.o
[ 82%] Building C object CMakeFiles/open62541-object.dir/plugins/ua_network_tcp.c.o
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:21:25: fatal error: sys/socket.h: No such file or directory
compilation terminated.
CMakeFiles/open62541-object.dir/build.make:775: recipe for target 'CMakeFiles/open62541-object.dir/plugins/ua_network_tcp.c.o' failed
make[4]: *** [CMakeFiles/open62541-object.dir/plugins/ua_network_tcp.c.o] Error 1
CMakeFiles/Makefile2:168: recipe for target 'CMakeFiles/open62541-object.dir/all' failed
make[3]: *** [CMakeFiles/open62541-object.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make[2]: *** [all] Error 2
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/component.mk:42: recipe for target 'build' failed
make[1]: *** [build] Error 2
/home/gfast2/esp/esp-idf/make/project.mk:421: recipe for target 'component-open62541-build' failed
make: *** [component-open62541-build] Error 2
gfast2@gfast2-VirtualBox:~/workspace/ioc-110-ethernet$

Part2:
CMakeFiles/Makefile2:33: warning: undefined variable 'VERBOSE'
CMakeFiles/Makefile2:168: warning: undefined variable 'COLOR'

Hi ESP-IDF,
It's far more complecated then I expected.

The problem that cmake can't find sys/socket.h is caused by make clean can't clean the build folder. After I delete this folder manually, The result of compiling the same code looks different.

Now I believe I enter the next level of debugging. And I leave the result here:
(This is only for bug shooting of file compiling: ./plugins/ua_network_tcp.c)
gfast2@gfast2-VirtualBox:~/workspace/ioc-110-ethernet$ /home/gfast2/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc  -DUA_DYNAMIC_LINKING_EXPORT -DUA_NO_AMALGAMATION -I/home/gfast2/esp/esp-idf/components/app_trace/include -I/home/gfast2/esp/esp-idf/components/app_update/include -I/home/gfast2/esp/esp-idf/components/aws_iot/include -I/home/gfast2/esp/esp-idf/components/aws_iot/aws-iot-device-sdk-embedded-C/include -I/home/gfast2/esp/esp-idf/components/bootloader_support/include -I/home/gfast2/esp/esp-idf/components/bt/include -I/home/gfast2/esp/esp-idf/components/coap/port/include -I/home/gfast2/esp/esp-idf/components/coap/port/include/coap -I/home/gfast2/esp/esp-idf/components/coap/libcoap/include -I/home/gfast2/esp/esp-idf/components/coap/libcoap/include/coap -I/home/gfast2/esp/esp-idf/components/console/. -I/home/gfast2/esp/esp-idf/components/cxx/include -I/home/gfast2/esp/esp-idf/components/driver/include -I/home/gfast2/esp/esp-idf/components/esp32/include -I/home/gfast2/esp/esp-idf/components/esp_adc_cal/include -I/home/gfast2/esp/esp-idf/components/ethernet/include -I/home/gfast2/esp/esp-idf/components/expat/port/include -I/home/gfast2/esp/esp-idf/components/expat/include/expat -I/home/gfast2/esp/esp-idf/components/fatfs/src -I/home/gfast2/esp/esp-idf/components/freertos/include -I/home/gfast2/esp/esp-idf/components/heap/include -I/home/gfast2/esp/esp-idf/components/jsmn/include -I/home/gfast2/esp/esp-idf/components/json/include -I/home/gfast2/esp/esp-idf/components/json/port/include -I/home/gfast2/esp/esp-idf/components/libsodium/port_include -I/home/gfast2/esp/esp-idf/components/libsodium/libsodium/src/libsodium/include -I/home/gfast2/esp/esp-idf/components/log/include -I/home/gfast2/esp/esp-idf/components/lwip/include/lwip -I/home/gfast2/esp/esp-idf/components/lwip/include/lwip/port -I/home/gfast2/esp/esp-idf/components/lwip/include/lwip/posix -I/home/gfast2/esp/esp-idf/components/lwip/apps/ping -I/home/gfast2/workspace/ioc-110-ethernet/main/. -I/home/gfast2/workspace/ioc-110-ethernet/main/minmea -I/home/gfast2/esp/esp-idf/components/mbedtls/port/include -I/home/gfast2/esp/esp-idf/components/mbedtls/include -I/home/gfast2/esp/esp-idf/components/mdns/include -I/home/gfast2/esp/esp-idf/components/micro-ecc/micro-ecc -I/home/gfast2/workspace/ioc-110-ethernet/components/mongoose/. -I/home/gfast2/esp/esp-idf/components/newlib/platform_include -I/home/gfast2/esp/esp-idf/components/newlib/include -I/home/gfast2/esp/esp-idf/components/nghttp/port/include -I/home/gfast2/esp/esp-idf/components/nghttp/nghttp2/lib/includes -I/home/gfast2/esp/esp-idf/components/nvs_flash/include -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/include -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/src_generated -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins -I/home/gfast2/esp/esp-idf/components/openssl/include -I/home/gfast2/esp/esp-idf/components/pthread/include -I/home/gfast2/esp/esp-idf/components/sdmmc/include -I/home/gfast2/esp/esp-idf/components/soc/esp32/include -I/home/gfast2/esp/esp-idf/components/soc/include -I/home/gfast2/esp/esp-idf/components/spi_flash/include -I/home/gfast2/esp/esp-idf/components/spiffs/include -I/home/gfast2/esp/esp-idf/components/tcpip_adapter/include -I/home/gfast2/esp/esp-idf/components/ulp/include -I/home/gfast2/esp/esp-idf/components/vfs/include -I/home/gfast2/esp/esp-idf/components/wear_levelling/include -I/home/gfast2/esp/esp-idf/components/wpa_supplicant/include -I/home/gfast2/esp/esp-idf/components/wpa_supplicant/port/include -I/home/gfast2/esp/esp-idf/components/wpa_supplicant/../esp32/include -I/home/gfast2/esp/esp-idf/components/xtensa-debug-module/include -I/home/gfast2/workspace/ioc-110-ethernet/build/include -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/include -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/src_generated -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins -I/home/gfast2/workspace/ioc-110-ethernet/build/open62541/src_generated -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/deps -I/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/src  -mlongcalls -nostdlib  -DWITH_POSIX -DMBEDTLS_CONFIG_FILE='"mbedtls/esp_config.h"' -DHAVE_CONFIG_H  -Wall -fPIC -o CMakeFiles/open62541-object.dir/plugins/ua_network_tcp.c.obj   -c /home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'socket_write':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:117:27: error: 'UA_Connection {aka struct UA_Connection}' has no member named 'lwip_close_r'
                 connection->close(connection);
                           ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'socket_set_nonblocking':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:214:37: error: macro "fcntl" requires 3 arguments, but only 2 given
     int opts = fcntl(sockfd, F_GETFL);
                                     ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:214:16: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
     int opts = fcntl(sockfd, F_GETFL);
                ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'ServerNetworkLayerTCP_start':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:389:8: warning: implicit declaration of function 'gethostname' [-Wimplicit-function-declaration]
     if(gethostname(hostname, 255) == 0) {
        ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'UA_ClientConnectionTCP':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:693:21: error: storage size of 'hints' isn't known
     struct addrinfo hints, *server;
                     ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:703:17: warning: implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
     int error = getaddrinfo(hostname, portStr, &hints, &server);
                 ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:707:34: warning: implicit declaration of function 'gai_strerror' [-Wimplicit-function-declaration]
                        hostname, gai_strerror(error));
                                  ^
In file included from /home/gfast2/esp/esp-idf/components/lwip/include/lwip/posix/sys/socket.h:33:0,
                 from /home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:49:
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:712:40: error: dereferencing pointer to incomplete type 'struct addrinfo'
     SOCKET clientsockfd = socket(server->ai_family, server->ai_socktype,
                                        ^
/home/gfast2/esp/esp-idf/components/lwip/include/lwip/lwip/sockets.h:555:63: note: in definition of macro 'socket'
 #define socket(domain,type,protocol)              lwip_socket(domain,type,protocol)
                                                               ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:721:9: warning: implicit declaration of function 'freeaddrinfo' [-Wimplicit-function-declaration]
         freeaddrinfo(server);
         ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:693:21: warning: unused variable 'hints' [-Wunused-variable]
     struct addrinfo hints, *server;
                     ^

Hi ESP-IDF,
yesterday, I forget to write down some extra problem/discovery here:
the cmake settings of open62541 (CMakeLists.txt) are trying to use -std=c99 as its compiling standard, which will triger the error that the xtensa compiler won't understand asm().

Hi ESP-IDF,
What is the Macro of ESP32 / ESP-IDF for #ifdef inclusion?, I saw _WIN32, __OpenBSD__ ...

Got the library up and running!
#1452

Note that support for ESP32 will be added through the PR #1595 (tested and working with my Adafruit ESP32 Board)

My example project for OPC UA on an ESP32 using Arduino is now available here:
https://github.com/pro/open62541-arduino

I try to compile your example project with Arduino .. but I got stuck with following errors..
sketch/open62541.c.o:(.literal.ServerNetworkLayerTCP_listen+0x34): undefined reference to getnameinfo' sketch/open62541.c.o:(.literal.ServerNetworkLayerTCP_start+0x30): undefined reference to gethostname'
There is something wrong but I can't figure out what.
I use arduino-1.8.7-linux64.tar.xz , espressif/arduino-esp32 , and the actual open62541.c/h files


Add token field to AppUser and function to update

Added support to save token in the user_session and add additional scopes the EntraId toke with the optional enviroment var: OAUTH_OKTA_AUTHORIZATION_SERVER_ID

This would be very important for us that you merge this change

In the meantime you can add this at the beginning of your app.py file to override the scope:
from chainlit.oauth_providers import providers, AzureADOAuthProvider

azure_provider = next((p for p in providers if isinstance(p, AzureADOAuthProvider)), None)

if azure_provider:
    azure_provider.authorize_params["scope"] = ["..."]

I 2nd this PR, it will be very good to perform additional API calls for specific roles/priviledges, for example.

It would also be awesome if we can cail token for the scope https://database.windows.net/.default

Yes this works to get other scopes for graph api but not to get other tokens for other microsoft apis like azure or database.

I see, I agree with the concept but this will clash with the 1.0.0 release. Will revisit this in 1/2 weeks

@willydouhard can we expect this in a future release? My personal goal with this is to 1) limit access to users in certain security groups and 2) give users settings/features based on security groups.

I see, I agree with the concept but this will clash with the 1.0.0 release. Will revisit this in 1/2 weeks

@willydouhard will this functionality be included in 1.0.0?

You will be able to set metadata to users and then differentiate access to users based on that metadata. The release will happen on Monday 10AM CET

Do you confirm this is fixed with the 1.0.0 release?

How does this work? Have an example

Following the doc
from typing import Dict, Optional
import chainlit as cl

@cl.oauth_callback
def oauth_callback(
    provider_id: str,
    token: str,
    raw_user_data: Dict[str, str],
    default_user: cl.User,
) -> Optional[cl.User]:
    metadata = default_user.metadata.copy()
    metadata["oauth_token"] = token
    metadata["my_custom_field"] = "my_custom_value"
    return cl.User(identifier=default_user.identifier, metadata=metadata)

Then you can access the user (including the metadata) in any Chainlit decorator
@cl.on_chat_start
async def start():
    user = cl.user_session.get("user")  # type: cl.User
    print(user)

Closing this. Please reopen if the issue is not solved.


contrib-type is not being defined after saving

Not sure if it is a bug or a expected result at this moment, but the last author was included in the document and after saving it, the contrib-group was not defined for the new author.
      <contrib-group id="contrib-group-2" content-type="author">
        <contrib id="contrib-1" contrib-type="person">
          <name>
            <surname>Lage</surname>
            <given-names>João Gabriel Batista</given-names>
          </name>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
        <contrib id="contrib-2" contrib-type="person">
          <name>
            <surname>Gutierrez</surname>
            <given-names>Paulo Sampaio</given-names>
          </name>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
        <contrib id="contrib-f11ca13b4d023df633da285a76aca125">
          <name>
            <surname>Batalha</surname>
            <given-names>Fabio</given-names>
          </name>
        </contrib>
      </contrib-group>

Thank you for reporting. We'll work on a fix.

Fixed via #407.


Watcher Editor: Fail to initialize default templates

1. Issue Description:
We noticed that Sentinl kibana plugin throws following error whenever watcher editor not exited last time and user clicked on other tab such as "Discover" tab during same browser session
Error: Sentinl Watcher Editor: Fail to initialize default templates: TypeError: Unable to get property 'condition' of undefined or null reference
2. Reproducing the Issue step-by-step
Login to Kibana -> Click on Sentinl -> Edit existing watcher -> Click on Discover -> Click on Sentinl
3. Expected Results vs. Actual Results
Landing to editor with error and expected to land in default Sentinl screen
4. Additional Details
Sentinl in Kibana usually open https://testkibana:8443/app/sentinl#/?_g=(). However, in this case it open https://testkibana:8443/app/sentinl#/editor/zxxxxxx-4xxxxxx-mxxxxxx?_g=(). Sentinl should always open https://testkibana:8443/app/sentinl#/?_g=() and user last action on Sentinl shouldn't matter.
Using 5.4.1

Closing for inactivity, feel free to comment to reopen discussion anytime.

@lmangani: Not sure why it is closed, I thought it's marked for enhancements. Is this enhancement completed?

@varun0002 can you still replicate this issue with the latest version or 6.x

Issue still exists, I reinstalled plugin from https://github.com/sirensolutions/sentinl/releases/download/tag-5.4/sentinl-v5.4.1.zip.


Grocery Billing system using C

just uploading a compressed file doesn't count as a valid contribution while for the other file, please make a folder with your project's name and wait for a reviewer to approve the changes


Once the state machine hits an internal failure, it should fail all subsequent context method calls

For example, once a protocol failure happens due to an encoding/decoding error, subsequent RestateContext invocations should fail, preventing the user to catch internal errors and continue the execution.
I'll post a reproducer soon.

Couldn't reproduce it anymore, i'm gonna close this.


Can't indirectly use modules that start with @ character

Description
For instance, the socrates package is completely unusable.  Some of its dependencies' names start with the @ character.
Brunch builds successfully, without error, but the browser outputs the following:
Uncaught Error: Cannot find module '@f/combine-reducers' from 'socrates/lib/tree.js'
Environment

Brunch: 2.6.6
Node: v5.10.1
NPM: 3.8.6
Operating system:

package.json contents
{
  "devDependencies": {
    "auto-reload-brunch": "^2.2.0",
    "brunch": "^2.6.6",
    "javascript-brunch": "^2.0.0",
    "uglify-js-brunch": "^2.0.1"
  },
  "dependencies": {
    "socrates": "^1.0.2"
  }
}

brunch-config.js contents
module.exports = {
    server: {
        hostname: '<IP_ADDRESS>'
    },
    files: {
        javascripts: {
            joinTo: {
                'vendor.js': /^(?!app)/,
                'app.js': /^app/
            }
        }
    },
    modules: {
        autoRequire: {
            'app.js': ['main']
        }
    }
};

app/main.js contents
var socrates = require('Socrates');

Nice catch! At-scoped requires were added re https://github.com/brunch/brunch/issues/1213 but the then-introduced check if a required component is optional didn't take this special case into account. I have submitted https://github.com/brunch/deppack/pull/22 to fix this, and I can confirm that with it socrates require adds @f/... to the bundle & requires them properly.


yaml makes text disappear in image

Hello,
I'm new to expose but I already love it.
I have a small issue.
Reading the docs is possible to have some yaml vars in the text including custom variables to be used in a custom template.
Now, I have my text file that looks like this:
`A train to somewhere?
title: new adventures
textcolor: #ffffff
---`
I would expect to see the first line in the image and the part between '---' parsed as yaml.
The results is that no text is displayed in the image.
If I remove the yaml part
A train to somewhere?
I see text as expected in the image.
I also tried removing the custom var "title" but the result is the same, if there's yaml section in the file the text is not displayed in the image.
Am I doing something wrong?
Thanks!

I was struggling with this, until I did this:
in expose.sh (line 506) change:
metaline=$(echo "$text" | grep -n -m 2 -- "^---$" | tail -1 | cut -d ':' -f1)

into
metaline=$(echo "$text" | grep -n -m 2 -- "^---" | tail -1 | cut -d ':' -f1)

And then create a textfile like so:
---
top: 30
left: 5
width: 150
height: 120
textcolor: #000000
---
# Foo

Dolor site ametttttttttttttt


Memorizing Training Data?

Hi There!
Been looking at the code, looks like there is no "test" or "validation" dataset; therefore, the loss decreasing only indicates that this code is memorizing the training data.
Thanks!

Well, if you run it manually and feed in unknown phrases, you can hear the output and make decision

I made a val split, and did find val loss slowly diverged from train loss (using m-ailabs elizabeth_klett, trained for 180k steps). Not sure what to do about it. Changes to the model take a long time to test (particularly when testing for overfitting). I'm looking for a good, very long english single speaker, but Google apparently trained on a 24.6 hour dataset, so this should be fine.

Hello, I am not late at all :)
it has been a while since I added a validation model to monitor overfit, like that we can stop training right before it happens. cheers!


[Migrated] Flask-like app factory support

Originally from: https://github.com/Miserlou/Zappa/issues/1775 by fcicc
Description
How to use application factories in Zappa:

app.py
def create_app():
    app = Flask()
    #define settings, db, routes, ...
    return app

zappa_settings.json
{
    "app_function": "app.create_app"
}

GitHub Issue
#1771

not enough info
closing.


Add reentrancy details to critical_section docs

Add documentation on what happens if the current context already holds the critical section.

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

ID: 070d4b7e-0914-15a3-e5b3-34245021427e
Version Independent ID: eec7d4c2-be07-89d3-ca99-d88d2867baea
Content: critical_section Class
Content Source: docs/parallel/concrt/reference/critical-section-class.md
Product: visual-cpp
Technology: cpp-parallel
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

@AaronMK
Have you tried it? Did it cause an issue?
[Edited title to clarify for later readers]

Closing as part of backlog grooming. We have accrued more issues than our resources can manage.
Criteria for closing include severity of the issue, how broadly applicable it is, whether the issue enough information is provide to act on the issue, etc.
If you think this issue should not have been closed, reopen it with a comment explaining why.


upgrade packages and CI to rai-core-flask==0.7.5, rai-utils==0.4.2 and rai-test-utils==0.4.2

Description
upgrade packages and CI to rai-core-flask==0.7.5, rai-utils==0.4.2 and rai-test-utils==0.4.2
1.) updated erroranalysis package to latest raiutils
2.) updated erroranalysis tests to latest rai-test-utils
3.) updated nlp-feature-extractors to latest raiutils
4.) updated raiwidgets to latest rai-core-flask and latest raiutils
5.) updated responsibleai package to latest raiutils
6.) updated responsibleai tests to latest rai-test-utils
7.) removed patch in python CI to install raiutils from source, which was added recently after a bug surfaced when installing latest packages
Copilot summary:
This pull request primarily involves updating the version of raiutils and rai-test-utils across multiple files and removing a redundant installation step from the GitHub Actions workflow. The changes are aimed at ensuring the use of the latest versions of the dependencies and simplifying the workflow.
Dependency version updates:

erroranalysis/requirements-dev.txt: Updated rai-test-utils[object_detection] to version 0.4.2.
erroranalysis/requirements.txt: Updated raiutils to version 0.4.2.
nlp_feature_extractors/requirements.txt: Updated raiutils to version 0.4.2.
raiwidgets/requirements.txt: Updated rai-core-flask to version 0.7.5 and raiutils to version 0.4.2.
responsibleai/requirements-dev.txt: Updated rai-test-utils to version 0.4.2.
responsibleai/requirements.txt: Updated raiutils to version 0.4.2.

Workflow simplification:

.github/workflows/CI-python.yml: Removed the conditional installation step for rai_test_utils as it is now included in the requirements files.

Checklist

[ ] I have added screenshots above for all UI changes.
[x] I have added e2e tests for all UI changes.
[x] Documentation was updated if it was needed.

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

Project coverage is 88.15%. Comparing base (d791efa) to head (4cd14ed).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2556      +/-   ##
==========================================
+ Coverage   87.73%   88.15%   +0.42%
==========================================
  Files         144       39     -105
  Lines        8055      853    -7202
==========================================
- Hits         7067      752    -6315
+ Misses        988      101     -887

Flag
Coverage Δ

unittests
88.15% <ø> (+0.42%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


How to send touch , click events to device

Hi,
I would like to use this app to test gaming apks. I can record events using adb shell getevent, how do pass this file as input to adbmirror ?
Thanks
Dexter

Just write decoder for the file format and pass it somewhere in the gui.py
or touchclient.py
František Horínek
ut 12. 6. 2018 o 13:28 djcm75<EMAIL_ADDRESS>napísal(a):

Hi,
I would like to use this app to test gaming apks. I can record events
using adb shell getevent, how do pass this file as input to adbmirror ?
Thanks
Dexter
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fhorinek/adbmirror/issues/9, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIpwLG5hS7YlfpLA518W_Hf5blB9xrIFks5t76XlgaJpZM4UkQNF
.

Hi Thanks for your quick response,
instead of using adb shell getevent, is it possible to capture and record events on the phone using minitouch and then replay it back
Thanks
Dexter


Wait for training status completed

Got the refresh logic for this working. NOTE, this is only for the model list view, nothing has yet been done for the training/edit modal view.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Added some specs

Do you want to drop in a .travis.yml file to run these new tests?

@nigelramsay Added a .travis.yml file, the build is here. https://travis-ci.org/jamesbowles/easy_reference_data/
I have just enabled build for this repo in travis: https://travis-ci.org/AbleTech/easy_reference_data


training problem

When I train on a classification model by Longformer
def forward(self,input):
embding=input['enc']
att_mask=input['mask']
att_mask[:,[100,300,500,800,1200,]]=2
labels=input['targets']
print('jeff:',embding.device,att_mask.device,self.l1.device,embding.shape,att_mask.shape,self.maxlen)
logit=self.l1(inputs_embeds=embding,attention_mask=att_mask)#[:2]
return [logit,labels]

Meet error:
pytorch/aten/src/THC/THCTensorIndex.cu:361: void indexSelectLargeIndex(TensorInfo<T, IndexType>, TensorInfo<T, IndexType>, TensorInfo<long, IndexType>, int, int, IndexType, IndexType, long) [with T = float, IndexType = unsigned int, DstDim = 2, SrcDim = 2, IdxDim = -2, IndexIsMajor = true]: block: [205,0,0], thread: [95,0,0] Assertion srcIndex < srcSelectDimSize failed
max_num_extra_indices_per_batch = num_extra_indices_per_batch.max()
RuntimeError: cuda runtime error (710) : device-side assert triggered at /pytorch/aten/src/THC/THCReduceAll.cuh:327
I checked the length of the attention_mask is same as the config.max_len which is like [bs,max_len]
Do anyone meet the same issue?

Can you run your code again with CUDA_LAUNCH_BLOCKING=1 to get a more accurate error message and post the full stack trace? Also, it is helpful if you can post a short snippet that reproduces your error.

Can you run your code again with CUDA_LAUNCH_BLOCKING=1 to get a more accurate error message and post the full stack trace? Also, it is helpful if you can post a short snippet that reproduces your error.

Thank you for your reply.
I tried CUDA_LAUNCH_BLOCKING=1 python pl_Class.py . Almost the same message.
/pytorch/aten/src/THC/THCTensorIndex.cu:361: void indexSelectLargeIndex(TensorInfo<T, IndexType>, TensorInfo<T, IndexType>, TensorInfo<long, IndexType>, int, int, IndexType, IndexType, long) [with T = float, IndexType = unsigned int, DstDim = 2, SrcDim = 2, IdxDim = -2, IndexIsMajor = true]: block: [205,0,0], thread: [95,0,0] Assertion srcIndex < srcSelectDimSize failed.
But the location is different:
"/home/yangjeff/anaconda3/lib/python3.6/site-packages/transformers/modeling_bert.py", line 178, in forward
embeddings = inputs_embeds + position_embeddings + token_type_embeddings
RuntimeError: CUDA error: device-side assert triggered
And when access to the attention_mask, I got a error,it seems attention_mask become inf. I am sure before input into the model,it could be accessed.
if attention_mask is not None:
print('j1:',attention_mask.shape)
        attention_mask = attention_mask.squeeze(dim=2).squeeze(dim=1)
        print('x11:',attention_mask[0][:3])
        key_padding_mask = attention_mask < 0
        extra_attention_mask = attention_mask > 0
        remove_from_windowed_attention_mask = attention_mask != 0
       num_extra_indices_per_batch = extra_attention_mask.long().sum(dim=1)
        max_num_extra_indices_per_batch = num_extra_indices_per_batch.max()

nonzero_finite_vals = torch.masked_select(tensor_view, torch.isfinite(tensor_view) & tensor_view.ne(0))
RuntimeError: cuda runtime error (710) : device-side assert triggered at /pytorch/aten/src/THC/THCReduceAll.cuh:327

There's something wrong with your input resulting in the tensors in this line
embeddings = inputs_embeds + position_embeddings + token_type_embeddings
are not compatible and can't be added together.
Try to put a breakpoint before that line, print the shapes of each tensor, and make sure they are what you would expect.

Actuall I didn't changed this part code, the original is from class BertEmbeddings.forward()
print('xxj:',inputs_embeds.shape,inputs_embeds.device,position_embeddings.shape,position_embeddings.device,token_type_embeddings.shape,token_type_embeddings.device)
embeddings = inputs_embeds + position_embeddings + token_type_embeddings
embeddings = self.LayerNorm(embeddings)
embeddings = self.dropout(embeddings)
return embeddings
xxj: torch.Size([1, 3072, 1176]) cuda:0 torch.Size([1, 3072, 1176]) cuda:0 torch.Size([1, 3072, 1176]) cuda:0
I set the bs=1,max-len=3072,inputs_embeds=[1176,]
Finally, I think I find the reason.
That's since at first I initial  RobertaModel.from_pretrained(model_path) and it  call class BertEmbeddings.forward()。 And then I initial LongformerForSequenceClassification(config=config) and it also call the calss BertEmbeddings.forward(). But the input size of two model is different.  Do you know how to initial two seperate model?

I fixed finally


Improve module import in Typescript

VSCode isn't being helpful or not picking up on modules when trying to import them. Take a fresh Angular project as an example. It imports BrowserModule import { BrowserModule } from '@angular/platform-browser'; as default. But if I also want to import the BrowserAnimationsModule located in @angular/platform-browser/animations already installed in the node_modules folder. Shouldn't VSCode auto-import that module if I add BrowserAnimationsModule to the imports array, or at least prompt me?
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

I apologise if this is way off. In my mind VSCode should know that module exists.

This feature is powered by the TypeScript project. Please file a feature an issue upstream for this


crashing when opacity is set < 1 on a SCNNode

I've noticed any SCNNodes that have opacity levels set below 1 (alpha channel) ..... causes the following crash in the xcode debugger.
validateFunctionArguments:3332: failed assertion `Fragment Function(commonprofile_frag): missing buffer binding at index 2 for scn_lights[0].

Its happening because I have incorporated a second light which castShadows. If I set castShadows = false for the second light . It doesn't crash anymore & works as normal.

Interesting, thanks for posting. I'm not sure why that happens. Feel free to add some optional lights and shadows to the sample via a PR. At some point I can have a look at the crash.


SPO requirements?

@mbrush says it is imperative to retain SPO structure in propositions explicitly, not by slot inheritance.
@larrybabb mentioned we need to make qualifiers clearer, @mbrush mentioned there are typed qualifiers and referenced previous documentation (@mbrush please point us at that here).

As I noted on the call, I think expressing the meaning of a Proposition using the SPOQ structure ( subject, predicate, object, and optional qualifier(s)) provides a unified way to read what is being asserted in a Statement, that is clear and consistent across all Statement/Proposition types. The SPOQ paradigm has been established for years as a foundational and ubiquitous component of VA-SEPIO models, and our documentation will prime users of our models or data to recognize the intent and utility of this pattern.
As for an example of 'specialized' qualifies defined for specific 'profiles' - see the various qualifier properties defined for the draft Therapeutic Efficacy Statement profile here  (rows 130-133 hold specialized qualifier attributes at the time of this writing - each clearly defining the semantics of the data it holds).  These more specific qualifiers are defined as part of 'profiles', which specialize the domain agnostic core IM to represent a specific type of Statement,.

@larrybabb and I reviewed the specialized qualifiers described and think that the current abstract Proposition (explicit SPO slots) with concrete subclasses (inherited & extended SPO slots) is conceptually aligned to the notion of "specialized qualifiers" as shown in the above document.
We think this is better aligned to the way the associated schemas are structured and fully parsable as SPO via JSON-LD. We are open to revisiting this in the future but for now are focused on an implementation by plenary and think this the most consistent path forward.

Adding Larry's related comment from the original ga4gh-va-model spreadsheet  - as it is relevant to this discussion:

<EMAIL_ADDRESS>- Can you clarify whether the variety of "qualifier" attributes in this schema will actually be "renamed" to the more specialized term in the parentheses (e.g. disease_context_qualifier')?  If so, then why not also be able to specialize the "subject" and "object" to be more precisely named to the type of content they have. If not, then how would one know which "qualifier" items go with which "qualifier" attributes in your list?

Adding my response to the questions and proposal to drop SPO labels from these slots in the implementation model (apologies in advance for its length - but I feel strongly about this ;-):
First, to address questions about qualifier specialization (as this seems to be a key justification/rationale for also specializing SPO slots).

The qualifier slot is a different case, because unlike SPO slots, a given Statement may have multiple qualifiers - each extending or refining the core SPO triple with a different type of information (e.g. see the TherapeuticEfficacyStatement Profile here).
It is for this reason that we permit specialization of the core 'qualifier' slot - so that we can differentiate between various qualifiers that may be applied to a given SPO statement.
Defining qualifiers with specific semantics also helps users understand the role the qualifier plays, and how the information it holds is related the core SPO triple.
This is not needed for S and O slots, because the predicate defines the relationship between them.  We name / define qualifiers in such a way as to be clear about how the info they hold relates to the SPO.
Finally, note that when we do specialize the core qualifier slot, we keep 'qualifier' at the end of the label so it is clear that this slot holds information that qualifies the SPO (e.g. disease_context_qualifier).  If you insist on specializing SPO slots (which I hope I can persuade you against) - consider doing the same (e.g. subject_variation or variation_subject, and object_condition or condition_object)
If we drop explicit reference to SPOQ in the slots that capture statement semantics - we abandon a core principle of the VA-SEPIO model that aspires to make semantics of what a statement or proposition expresses explicit, unambiguous and consistent across all types of knowledge.

TL;DR - The rest of the text below reiterates the case I have made many times for maintaining explicit SPO slots in VA profiles / implementation models - and more generally lays out my philosophy and approach for the profiling paradigm.  You've likely heard it before, but a refresher can't hurt.

I feel so strongly about the explicit use of SPO slots because this has been a foundational tenet of the VA and SEPIO approach from the outset. It is IMO critical to the primary goal of providing an ecosystem of Statements where the core knowledge they express is conveyed in an unambiguous, computable, and consistent way across any type of statement, in any system or implementation . . . so anyone can grasp what a Statement is asserting  whether they are an inside or outsider. The immediately apparent SPOQ pattern is the unifying thread across all VA SEPIO data. It is at the heart of what makes SEPIO SEPIO.

I recognize the motivation to use slot names that your established core users expect to see - and as an implementation model this is completely understandable.  But I would argue that in the larger landscape / context in which your data may be viewed -  by users of diverse expertise and familiarity - there are greater benefits to providing a consistent and explicit interface to statement semantics through use of the SPOQ pattern.  This may not be a central concern if you intend your profile to only be used within ClinGen and VICC systems - and will transform to a VA standard format that uses the core SPO slots.  But even so - uniform adherence to the SPOQ pattern in all profiles will  go a long way to ingrain this paradigm in the community of use so it becomes ubiquitous and intuitive. This is harder to achieve if we hide SPOQ semantics under layers of inheritance/abstraction in the model.  And changing slot names to suit community preference will end up making these models unrecognizable as VA-SEPIO profiles.

IMO, the further upstream we can push the core concepts and terminology of the VA-SEPIO framework, the better chance we have at success.  This may be overambitious - but I think it would be hugely beneficial to have implementations 'speaking SEPIO' in their models as much as possible.   And we will lay the foundation for this paradigm in excellent primers and onboarding documentation / videos - so that users approach models and data from a common and informed perspective.

In closing - I fear we will end up with a landscape of models/profiles that have no clear resemblance to each other, and in which the underlying standard on which they are based is unrecognizable. I know we said the flexibility to customize to a given application or implementation is important for adoption, but worry that we may go too far in that direction.  Finally, from a community outreach perspective, if the CrC model you are developing will be the first glimpse the world gets of a VA Profile  - it would be nice if the core bits of the foundational VA model are easily recognizable.

OK, I'll get off my soap box now. We can revisit when we talk next if there are questions, and for my part I’d like to better understand what specific concerns you have about use of the explicit SPO slots as they in your implementation model.


test-branch/execute-job/quoted-authorization/5af8d171-3905-462c-9137-e38c0ed8c83a

PR for testing 422ccd8e8889bd31a397df4a9100bc86a50e9515

/canonical/self-hosted-runners/run-workflows 422ccd8e8889bd31a397df4a9100bc86a50e9515


ContextHub throwing Error in AEM site.

Describe the bug
We utilize contexthub on www.kia.ca AEM website for personalization. Suddenly our contexthub is throwing an error and we have not made any changes.
Environment

AEM Version: AEM Cloud 2022.4.7138.20220427T075748Z
Asset Share Commons Version: not sure where to look
Author, Publish or both? both

To Reproduce
Steps to reproduce the behavior:

Go to https://www.kia.ca/en/shopping-tools/special-offers
Click on open chrome inspector and there is a error logged in the console and as you can see in the screenshot the legal copy is not loading.

Expected behavior
The legal copy on the special offers page should be loading based on the province selected in the footer but it doesn't work for any provinces currently and throwing some error.
Screenshots

This doesnt appear to be an Asset Share Commons implementation. I suggest you log an issue with Adobe Support.
Please let me know if this is Asset Share Commons releated and im somehow missing it - thanks!

Please use CH-279 as reference when contacting Adobe Support. Thanks.


Add 'whitelist' as a param to the fail2ban module.

https://trello.com/c/7jruNKjn

:+1: LGTM, no dude en fusionarse


[WIP] Fix required error handling

Maybe you could throw new instead of return Promise.reject(new but I'm not sure whether the exception will be handled or remain uncaught, so I decided to fix it this way.
Fixes #71

Ok, that seems to break tests since they are expecting required variable not present to return 500 status instead of 400

routing-controllers use class-transform to transform request params, so the handle function is asynchronous - returns a Promise. Also the param value might be a Promise:
const promiseValue = value instanceof Promise ? value : Promise.resolve(value);
        return promiseValue.then((value: any) => {

But I haven't met in express that situation, that promise object is attached to request object and you have to wait for it (?!). @pleerock could you explain that part of code, do you use Promise in request in your express apps?
So if you have:
function returningPromise(params: any): Promise<any> {
     // blah blah
    throw new Error("Throwing error");
}

The consumer of the function do like this:
returningPromise().then(
    // blah blah
).catch(error => {
    // here catching promise rejection, not throwing

So the error is throwed synchronously and you don't catch it.
However you can throw Error in promise callback:
function returningPromise(params: any): Promise<any> {
    return new Promise((resolve, reject) => {
        // blah blah
        throw new Error("Throwing error");
    });
}

Because it is wrapped in promise function, it will be transformed to Promise.reject 😉

That should have that error fixed

ok, I found the problem @19majkel94 , or at least I think I found it, when using koa driver that line fails:
response.status(error.httpCode);

because response.status is not a function

Thanks @iH8c0ff33 for this PR. Thank you @19majkel94 for reviewing this PR. Can we merge it now?


[TOPI] Fix atlest1d for reduce and squeeze

Thanks, @grwlf for the suggest, I agree you are right and have changed the code accordingly

If atleast1d was exposed as an optional parameter in Python too (both in TVM and NNVM), it would simplify #2105.


Excessive padding is present in all tooltips

Godot version
v4.0.alpha.custom_build [c40855f81]
System information
Windows 10
Issue description
Every tooltip in the editor, even custom ones, have way too much padding to the right and bottom. I swear it wasn't this much before:

The padding seems proportional to how long or tall the inside text is.
This started happening around the same time as https://github.com/godotengine/godot/issues/64851. There also was a PR that added "If the value is the same, return" to most setters in Control classes, that may have caused this.
Steps to reproduce
Hover on anything capable of displaying a tooltip.
Minimal reproduction project
No need.

This seems to be fixed in alpha17 and beta1

That is correct, although I'm not sure what PR to thank.


Make SNS notifications human readable

Is your feature request related to a problem? Please describe.
We recently upgraded from the original Limit Monitor solution to the new Quota Monitor solution. The original one provided readable emails like:
"AWS-Account : REDACTED || Timestamp : 2022-10-14T01:33:32Z || Limit-Details : {Status:Yellow,Current Usage:810,Limit Name:Roles,Region:-,Service:IAM,Limit Amount:1000}"

The new solution provides emails with JSON contents like:
{"version":"0","id":"REDACTED","detail-type":"Trusted Advisor Check Item Refresh Notification","source":"aws.trustedadvisor","account":"REDACTED","time":"2023-09-20T12:46:31Z","region":"us-east-1","resources":[],"detail":{"check-name":"IAM Roles","check-item-detail":{"Status":"Yellow","Current Usage":"820","Limit Name":"Roles","Region":"-","Service":"IAM","Limit Amount":"1000"},"status":"WARN","resource_id":"","uuid":"REDACTED"}}

Describe the feature you'd like
I would like the emails to be human readable, or suggestions as to what kind of technology this is designed to be consumed by, because JSON via email doesn't really make much sense to me.

Thanks, we have added the request to our backlog.

Hi, We are planning to resolve this issue as part of the next release. What is the human readable format you got in mind? Currently I am thinking of the below. Please let me know if you have any suggestions. Thanks
Quota Monitor Alert

Check Name:
Status:
Time:
Account:
Region:

Details:
- Current Usage:
- Limit Name:
- Service:
- Limit Amount:

That looks good to me, thank you!


Fixes #3215 Use ESMF_FieldEmptyReset()

Types of change(s)

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)
[x] Refactor (no functional changes, no api changes)

Checklist

[ ] Tested this change with a run of GEOSgcm
[x] Ran the Unit Tests (make tests)

Description
Switch to using new ESMF_FieldEmptyReset().   Cannot merge until ESMF has been updated in all relevant environments.  (CI and MAPL3 developer laptops)
Related Issue

I've added a CMake requirement for ESMF 8.8 as that is where this feature will be from. CI will still fail, just probably fail faster since CMake will now die instead of the compile step


5438 set srs for guessed csv files

Want to run the regression asap, I'll write a test before the review.

@Kartones please review
What this does: forces a source and target SRS when using csv guessing
Why? Because converting from lat/long columns with SRID = 0 (unknown) is the root cause of the problem. Probably worth a a fix in gdal trunk. Cartodbfy is not the place to fix because it does not have the context of "hey, this comes from degrees in a plain text CSV file".
I tried to write a test but cannot get a reasonably small csv file to reproduce the issue, the original has 128K rows. I keep trying but this is kind of urgent as it breaks syncs and some imports.

:+1:


update blockNameify preformattedBlocks for beta

Pre-Submission Checklist

[X] Your pull request targets the staging branch of freeCodeCamp.
[X] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[X] You have only one commit (if not, squash them into one commit).
[X] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[X] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[X] Tested changes locally.
[X] Closes currently open issue (replace XXXX with an issue no):

Closes #12643
Closes #12657
Description

I noticed with the new challenges that the titles weren't always correct. For example, Basic CSS was showing as Basic Css. I've updated the blockNameify file to correct all of these and I also alphabetized them.

@dhcodes Thanks for doing this. This will hopefully solve #12643 and #12657

np. Should fix all the case issues. 👍

:sparkles: :sparkles: LGTM. :sparkles: :sparkles:
Thanks @dhcodes ! Awesomeness.


Update the copyright years in the repo license file

The copyright years in the repo license file is current showing Copyright (c) 2017-2019 block.one and its contributors.
This needs to be updated to reflected the current 2020 year.
Suggested action:
Bump the year to reflect the current year.
Copyright (c) 2017-2020 block.one and its contributors.

The license file was already updated in commit<PHONE_NUMBER>de27dc135c54426f9a27c9f2f2e2c2


build(all): centralized dependencies file

About
Create dependencies.gradle file visible by all modules, centralizing libraries versioning, configuration and packages updates.
Build tools version was also updated as follows:

Build tools v29.0.3
Compile SDK v29
Minimum API level v16
Target API level v29 (Android Q)
Libraries were ceiled to highest version across project modules.

In order to ensure that no behavior was broken due the refactor, libraries updates were moved to pull request #367. Android API was forced to v28 on Roboeletric tests.
Blocks

#366 Update package dependencies to latest stable version

Fixes

#363 Centralize Gradle dependencies file

References

Android Jetpack Versions
Caster.IO: Android Clean Architecture
GitHub: Android Clean Architecture
Google Android - Java 8 Support
Google Developers Experts: 19 tips for Gradle in Android projects
Google I/O 2019 - Build Bigger, Better: Gradle for Large Projects (Google I/O'19)
Google Samples - Architecture Blueprints v2
Stack Overflow - Does Roboeletric require Java 9?

@elihart if you think we should keep single/double quotes consistent, I will move those modifications into this PR to clean up #367 diff.

@elihart #367 was built over #364 (I have more 3 or 4 PRs to send). If you accept this modifications, I will rebase and push #367 again 😄.
Usually I break/rebase my modifications into several PRs likes this in order to help reviewers and do not mix unrelated code to the changes (bump lib, version, style, etc).

@elihart LOL! Just saw u has approved #367 but not #364 (thank you 😄)
Regarding the single/double quotes you mentioned at #367, how should we proceed here? move all to single or to double?

@elihart @gpeal any regards about #364 modifications?

Fixed by #364.


Implement Gaussian Process as a model

In order to compare baseline performance vs. FSL eddy.

Adding notes from our 2021-12-07 meeting here:
A first stab at implementing the Gaussian process model is at #60.
At the moment, we haven't done any tuning or optimization of the model. If we are going to eventually compare it to FSL eddy, that will need to be done.
For testing, some suggestions are to use:

simulated data from FiberFox
IXI dataset
a high quality dataset with certain voxels masked (perhaps near a white matter tract or some CSF in the middle of a ventricle)

Will eventually need to add better parallelization. Currently, the DTI model chunks the data before fitting the model. We can also implement that code here. For the future, we may need to dig into dipy and can use joblib/dask to further improve the parallelization.

@josephmje - Not sure if you or anyone else are still working on the GP model, but figured I'd chime in with a few thoughts to get the conversation going again:
The GP model needs at least a PoC design for the kernel before it can be tuned. Here's a first template for what that might look like. High-Level Requirements:
*Isotropism, uniform affinity for all angular directions.
*Symmetry around the origin.
The way that most folks have seemed to address this in the context of q-space is to factorize the covariance function into (a) an angular part and (b) a radial part, with the addition of (c) an error term.
The angular part can be constructed using Legendre polynomials, whereby symmetry about the origin can be achieved by excluding odd terms and ensuring that their coefficients are positive. Past work seems to have used an order <=6, with the consensus being that grabbing the first four terms is best.
Maybe roughly something along the lines of:
from numpy.polynomial.legendre import Legendre

def angular_polynomials(n_gradients, order=6):
    """
    A real continuous function $C(\theta)$ is a valid covariance function on the
    sphere if and only if it is of the form:
    $\sum_{n=0}^{\infty} a_{n}P_{n}(\cos(\theta))$
    where $\theta \in (0, \pi)$
    """
    theta = np.arange(n_gradients)/n_gradients * np.pi
    num_pol = range(0, order + 1, 2)
    y = np.ones((len(num_pol),len(theta)))
    coeff = np.eye(int(order/2 + 1))

    for i, n in enumerate(num_pol):
        leg = Legendre(np.abs(coeff[i]))
        y[i] = leg(np.cos(theta))
    return y

For the radial part, we probably wouldn't be able to get away with sklearn's standard RBF kernel, but we might look to https://github.com/dipy/dipy/blob/a35b72d8d86c3426922cee97063e35184c3785bb/dipy/core/interpolation.pyx#L14-L85 for inspiration?
and then the final kernel would look something like the following, with ~ six hyperparameters that'd need to be tuned:
kernel =  RBF(length_scale=ls, length_scale_bounds=(ls_l, ls_u)) * angular_polynomials(np.sum(~gtab.b0s_mask)) + kernels.WhiteKernel(noise_level=nl, noise_level_bounds=(nl_l, nl_u))

The bulk of the work on this would be the initial round of tuning done during a pre-training stage, and using a synthetic, fiber-fox generated sample as you originally had proposed. The objective that we'd want to minimize is the negative log marginal likelihood, and the data itself would be synthesized such that training and validation sets have similar amounts of noise / order of magnitude but perhaps different numbers of directions compared to evaluation data.
A ton of work is involved in this obviously, but figured it couldn't hurt to discuss more. WDYT?

A base implementation of the GP using sklearn is now in the codebase. This has been addressed :tada:


Inconsistent behavior with setAttribute() and custom mutators

Laravel Version: 9.44.0
PHP Version: 8.1.13
Database Driver & Version: MySQL 8

Description:
There is some inconsistent behavior with Eloquent's setAttribute() method depending on whether or not a custom mutator has been defined.
If there is no custom mutator, then setAttribute() returns the model itself. This is useful for chaining, as in:

$model = new Car;
$model
    ->setAttribute("color", "red")
    ->setAttribute("make", "Corvette");

But when a mutator has been defined using the Attribute::make() approach, then the setAttribute method seems to always return null.
Steps To Reproduce:

Here's a simple Pest test:
class TestModel extends Model
{
    public function foo(): Attribute
    {
        return Attribute::make(
            set: fn ($val) => $val
        );
    }
}

it ("returns the model", function () {
    $model = new TestModel();
    $subject1 = $model->setAttribute("bar", "abc123");
    $subject2 = $model->setAttribute("foo", "abc123");

    expect($subject1)->toBe($model)
        ->and($subject2)->toBe($model);
});

With the above test, the first expectation passes but the second fails.

Hey @adamthehutt. Thanks for sending this in. I've sent a fix for this: https://github.com/laravel/framework/pull/45539


1.3 Release missing?

Hi,
the documentation mentioned that "As of Breeze 1.3, we now use a faster, more friendly-licensed library from @luhenry called simply "netlib". This library is now bundled by default.", but it seems like version 1.3 has not been released yet. Is there a way for me to use it? Thanks!

sorry for not updating: there is a 1.3 release now


bitfocus compannion set up for bmd hyperdeck

I have purchased elgato stream deck and have successfully connected to BMD Atem mini switcher (NO Problems)  i also want to connect to my Hyperdeck studio mini's. i have done manual ip's the whole setup subnets every thing. no luck in connecting. i tried DHCP no luck . both ways i am able to ping the ip on hyperdeck and connection returns packets from my computer.  i have this same setup in another bldg with another network and i can add them to that network so i know the hyperdeck are communicating.  i have removed them from a dhcp router and just set up privarte network on a switch using my mac Ethernet port. do i have to be on a dhcp server. Because i think my other bldg is just a standard switch. At this point i am at a loss  i have an event coming up the 18th and i need this to be set up.
Thanks in advance

Do you have any other devices connected to the Hyperdecks — like the ATEM? Hyperdecks only allow one connection at a time, so if one has a connection already it will refuse all others.
What is the status message you get in Companion, and are there any errors or warnings in the log?

status on instances says connecting  i disconnect atem and still will not connect to hyperdeck

Never had any problem connecting Hyperdeck with Companion. On some show, we run up to 11 of them at the same time. We're using strict static unique IP connections & switches in order to control/manage properly each units. Your problem sounds like it could be an IP conflict of some kind.

@pastordcarey did you manage to solve you connection issues?

Found out that the bmd hyper deck was faulty so had to send to bmd for repair.
David Carey

From: Stephen Harrison @.>
Sent: Monday, January 10, 2022 6:02:13 AM
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: pastordcarey @.>; Mention @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] bitfocus compannion set up for bmd hyperdeck (#55)
@pastordcareyhttps://github.com/pastordcarey did you manage to solve you connection issues?
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/55#issuecomment-1008761125, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV7UAM7JH3EPCMNSMD5FUA3UVK4DLANCNFSM5FVP65NA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>

Glad you got to the bottom of it.


Feature: add 'icon' in drawing options

Add 'icon' for enableDraw("Marker", options) so it will be easy to redefine the marker, the default value can be "new L.Icon.Default()".
I want to use Leaflet.AwesomeMarkers plugin instead of default marker.
Thanks!

Need this aswell!

@codeofsumit Why not use the default markerStyle option?
var icon = L.icon({
    iconUrl: 'https://placekitten.com/200/287'
})

map.pm.enableDraw('Marker',{markerStyle: {icon: icon}})

Will this be compatible with the AwesomeMarkers plugin? I have not used it myself yet

Just talked to @Falke-Design. Changing the default marker icon is already possible by passing standard leaflet marker options to the enableDraw function (see README).
Is this specifically about AwesomeMarker Plugin compatibility? Because that's a different story.

AwesomeMarkers are also compatible with Geoman.
<link rel="stylesheet" href="http://code.ionicframework.com/ionicons/1.5.2/css/ionicons.min.css">
<link rel="stylesheet"<EMAIL_ADDRESS><script<EMAIL_ADDRESS>
// Creates a red marker with the coffee icon
var redMarker = L.AwesomeMarkers.icon({
  icon: 'coffee',
  prefix: 'ion',
  markerColor: 'red'
});

map.pm.enableDraw('Marker',{markerStyle: {icon: redMarker}})


Please document Log Scopes in MVC Controllers

I see ActionId, ActionName, ConnectionId, CorrelationId, RequestPath plus a bunch of others.
Original Issue
https://github.com/aspnet/AspNetCore/issues/7628

Hello @AceHack ... Log scopes are currently covered in ...

https://docs.microsoft.com/aspnet/core/fundamentals/logging/#log-scopes
https://docs.microsoft.com/aspnet/core/fundamentals/logging/loggermessage

Are you asking for something specific showing the use of those specific properties? I don't suppose that it would be difficult to merely use the props in a log scope, so I'm probably misunderstanding what you would like to see. Can you be more specific?

@guardrex I'm not asking to document how to use log scopes, I'm asking please document all the log scopes that are automatically created by ASP.NET core in the various situations.  I listed a few above that seems to show up when logging inside a controller.

Ah, I see ... those aren't "log scopes" ... just data reported by log scopes ... and they aren't all MVC. I think the last few are Hosting-related. This is a bit too much detail for general docs. We would have a very hard time keeping them up-to-date given the small team size, our issue load, and churn in the framework. Best bet is to just search the engineering repo for "BeginScope" and then track down the various "...LogScope" classes in the ref source (e.g., HostingLogScope, ActionLogScope, etc.). Fortunately, engineering seems to have named them all the same way, so they should be easy to track down.
https://github.com/aspnet/AspNetCore/search?q=BeginScope&unscoped_q=BeginScope
@Rick-Anderson Do you concur?

@guardrex This seems like a terrible response, we use elasticsearch for our logging and knowing what the fields are and what they mean are pivotal to our success.  We use ASP.NET core and also a custom built service to service communication library.  We are a team of two that both built the service to service communication library and documented all the log scopes we automatically generate for teams to help with diagnosing and troubleshooting issues.  It seems improbable that Microsoft does not have the resources to do the same.

@AceHack I apologize but we're a very small doc team. This is a very specialized question that doesn't impact most users.  We expect advanced users, such as yourself, to review the source code for specialized problems that don't meet our bar for relevancy to most customers.

It seems improbable that Microsoft does not have the resources to do the same.

Right, but that's not our call. This is just where we're at today. There are only three of us here working on the entire doc set for ASP.NET Core. There are over 300 documents in this doc set and perhaps 80 sample apps, and we have to keep up with something like 50 fast moving MS engineers crank'in out the code. We just won't be able to take every request under these circumstances.
I recommend taking my advice tho. Follow that link. Look for the classes named {something}LogScope ... pull those up ... there will only be perhaps a dozen or so of them. Then, you can see exactly what they're shooting into logging.


log added function name display

#741
glog.SetFlags(glog.GetFlags() | glog.F_CALLER_FN)
glog.Info("Test")
// 2020-06-22 11:08:47.041 [INFO] [main.main] Test

Codecov Report

Merging #758 into master will increase coverage by 0.01%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##           master     #758      +/-   ##
==========================================
+ Coverage   71.20%   71.21%   +0.01%
==========================================
  Files         343      343
  Lines       28321    28322       +1
==========================================
+ Hits        20166    20170       +4
+ Misses       6848     6844       -4
- Partials     1307     1308       +1

Impacted Files
Coverage Δ

os/glog/glog_logger.go
74.50% <77.77%> (-1.15%)
:arrow_down:

os/gspath/gspath_cache.go
86.95% <0.00%> (-6.53%)
:arrow_down:

os/gmutex/gmutex.go
95.74% <0.00%> (-2.13%)
:arrow_down:

net/gtcp/gtcp_conn.go
33.11% <0.00%> (+1.32%)
:arrow_up:

net/gtcp/gtcp_pool.go
40.78% <0.00%> (+10.52%)
:arrow_up:

Continue to review full report at Codecov.

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


Question about first_fit.c example

If x in c = malloc(x) is fewer than 505 bytes, the example won't work. As I understand in c = malloc(x),  x should be in range from 505 to 520 bytes. If someone can point to source code, I will be happy to check it.

Because c should have the same range as a. size of a is 512. Size of c is 500. They fall in the same range in libc.

There is nothing wrong with the code.

@Kyle-Kyle so I got the idea wrong? On the end of execution a != c (pointers) and it's ok?

There is no spliting at all in this case on you local machine. You know how bins works right? When you do a malloc, the size will be rounded up. So in this case, 512 will be rounded up to 520. Everything between 505 to 520 will be rounded up to 520. If the size does not fall in the range, it does not use the size at all, there is no way to return the same chunk.

@Kyle-Kyle so output as below is expected?
This file doesn't demonstrate an attack, but shows the nature of glibc's allocator.
glibc uses a first-fit algorithm to select a free chunk.
If a chunk is free and large enough, malloc will select this chunk.
This can be exploited in a use-after-free situation.
Allocating 2 buffers. They can be large, don't have to be fastbin.
1st malloc(512): 0x557a17c7c260
2nd malloc(256): 0x557a17c7c470
we could continue mallocing here...
now let's put a string at a that we can read later "this is A!"
first allocation 0x557a17c7c260 points to this is A!
Freeing the first one...
We don't need to free anything again. As long as we allocate less than 512, it will end up at 0x557a17c7c260
So, let's allocate 500 bytes
3rd malloc(500): 0x557a17c7c580
And put a different string here, "this is C!"
3rd allocation 0x557a17c7c580 points to this is C!
first allocation 0x557a17c7c260 points to
If we reuse the first allocation, it now holds the data from the third allocation.

@0x3c3e Is right, because of tcache this example does not work as expected right now.
Because 500 and 512 end up in two different tcache bins.
I'll fix it in a sec.

The TCache index is calculated as:
/* When "x" is from chunksize().  */
# define csize2tidx(x) (((x) - MINSIZE + MALLOC_ALIGNMENT - 1) / MALLOC_ALIGNMENT)
/* When "x" is a user-provided size.  */
# define usize2tidx(x) csize2tidx (request2size (x))

#define request2size(req)                                         \
(((req) + SIZE_SZ + MALLOC_ALIGN_MASK < MINSIZE)  ?             \
MINSIZE :                                                      \
((req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK)

So if we request 505 we get:
req = 505
size = (505 + 8 + 0xf) & ~0xf  = 528
tidx = (528 - 0x20 +0x10 - 1) / 0x10 = 31
--------------------------------------------
req = 520
size = (520 + 8 + 0xf) & ~0xf  = 528
tidx = (528 - 0x20 +0x10 - 1) / 0x10 = 31

So those are the extremes around 512 that end up in the same tcache idx
I should add this calculation to the first_fit.c  example maybe...

@m1ghtym0 hey mo. behavior does not change at all. this is 512 and 500 -> 0x200 and 0x1f4. ofc malloc won't return the same chunk

@Kyle-Kyle Before it was going in the unsorted_bin so it returned the same chunk.
In that regard the behavior changed.
We could also just make it big enough to not fall in tcache range.

In fact, I'll just do that and add an example for tcache indexing.

yeap. I finally get the problem. My bad. @0x3c3e you are right, this is not expected.

@0x3c3e Should be fixed now, see also the calc_tcache_idx example


[master] CC request body passing

Purpose

Adds documentation for the Choreo Connect request body passing feature.

Goals

Provide step by step guide to enable request body passing feature in choreo connect.

Approach

Add config.toml configurations and API definition's configurations to enable the feature.

User stories

Allows users to pass request body to the enforcer. Then users can write custom filters to do more operations based on the provided request body.

Release note

N/A

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

Related PRs
https://github.com/wso2/product-microgateway/pull/2653
Migrations (if applicable)

N/A

Test environment
Python 3.9.9
Learning

N/A

Closing this PR as another PR will be sent with the PR review changes.

PR reviewed and updated via https://github.com/wso2/docs-apim/pull/5260


kubernetes: 1.31.2 -> 1.31.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/kubernetes/kubernetes/releases.
meta.description for kubernetes is: Production-Grade Container Scheduling and Management
meta.homepage for kubernetes is: https://kubernetes.io
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 1.31.4 with grep in /nix/store/lsycpj1j0i3pkp85x6l8h24691r4sc8k-kubernetes-1.31.4
found 1.31.4 in filename of file in /nix/store/lsycpj1j0i3pkp85x6l8h24691r4sc8k-kubernetes-1.31.4

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

12 total rebuild path(s)

12 package rebuild(s)

First fifty rebuilds by attrpath

chart-testing
gsctl
kns
kubecolor
kubectl
kubectl-convert
kubernetes
kubetail
litmusctl
nuv
tubekit

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/4ef57cb7291e475cd78f74155aca1313359da1a0#kubernetes

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lsycpj1j0i3pkp85x6l8h24691r4sc8k-kubernetes-1.31.4
ls -la /nix/store/lsycpj1j0i3pkp85x6l8h24691r4sc8k-kubernetes-1.31.4/bin

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

x86_64-linux

:white_check_mark: 14 packages built:

chart-testing
gsctl
kns
kubecolor
kubectl
kubectl-convert (kubectl-convert.convert ,kubectl-convert.man ,kubectl.convert)
kubectl.man
kubernetes
kubernetes.man
kubernetes.pause
kubetail
litmusctl
nuv
tubekit

Maintainer pings
cc @johanot @offlinehacker @saschagrunert @srhb for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Looks like the tests are broken in unstable, making this hard to check... Trying to bisect that.

d697b384d57a5cb26ca5e600da02288a88f4cc9e is the first bad commit
commit d697b384d57a5cb26ca5e600da02288a88f4cc9e
Author: seth<EMAIL_ADDRESS>Date:   Sat Nov 16 18:33:49 2024 -0500

    containerd: 1.7.23 -> 2.0.0

    This release contains breaking changes. See the full [containerd
    2.0](https://github.com/containerd/containerd/blob/main/docs/containerd-2.0.md)
    documentation for more

    Diff: https://github.com/containerd/containerd/compare/v1.7.23...v2.0.0

    Changelog: https://github.com/containerd/containerd/releases/tag/v2.0.0

 nixos/doc/manual/release-notes/rl-2505.section.md | 4 ++++
 pkgs/by-name/co/containerd/package.nix            | 4 ++--

So it appears to be  #356618 -- that's probably not surprising... I'll see if I get the time to figure out why it broke k8s later today

closed in favor of https://github.com/NixOS/nixpkgs/pull/364848


Fix: Convert generated import paths to use forward slashes on Windows

Convert paths to use forward slashes for package imports to work correctly on all platforms
Fixed an issue where generated import paths in server_test_tools_generator.dart were using backslashes on Windows platforms, causing invalid import statements. Modified the path handling to consistently use forward slashes for package imports across all platforms.
Fixes #2999
Pre-launch Checklist

[x] I read the Contribute page and followed the process outlined there for submitting PRs.
[x] This update contains only one single feature or bug fix and nothing else. (If you are submitting multiple fixes, please make multiple PRs.)
[x] I read and followed the Dart Style Guide and formatted the code with dart format.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///), and made sure that the documentation follows the same style as other Serverpod documentation. I checked spelling and grammar.
[x] I added new tests to check the change I am making.
[x] All existing and new tests are passing.
[x] Any breaking changes are documented below.

Breaking changes
None

I have read the CLA Document and I hereby sign the CLA

Thank you for contributing with a fix for this.
We already have two fixes up for the 2.2 stable branch and for main containing tests so we will move forward with these instead.


Plans on supporting Kitti

First, thank you very much for this great repo.
I was wondering if you planned on supporting the Kitti dataset in the future? I tried to add it myself but ended with very bad results, so I suppose I am doing something wrong.

Hi @antonibigata
Thank you so much for your interest. At the moment, we do not have plans to support KITTI in the current codebase.
My first guess would be to ensure that the coordinate transforms for the dataset are set correctly. Our current bounding box evaluation code is based on VoteNet and assumes a particular box coordinate and camera coordinate frame.

Hi @imisra ! Could you elaborate more on what the particular coordinate system is, and what to be careful about if I want to apply 3DETR to outdoor scenes?

Hi @antonibigata
Thank you so much for your interest. At the moment, we do not have plans to support KITTI in the current codebase. My first guess would be to ensure that the coordinate transforms for the dataset are set correctly. Our current bounding box evaluation code is based on VoteNet and assumes a particular box coordinate and camera coordinate frame.

@imisra could you elaborate on the box and camera coordinate frame?


Hardcode CAM_MODE to uint32_t to remove type warnings

New try after failing on https://github.com/mavlink/MAVSDK/pull/1243.
This PR now hardcodes CAM_MODE everywhere as uint32_t and forces it to come from the CAMERA_SETTINGS message, and to be set through the MAV_CMD_SET_CAMERA_MODE message.
What makes it complex is that this parameter can be defined in the camera definition file, with exclusions and all, but the camera definition file is optional, and consequently CAM_MODE has a mavlink command message just for itself. In the absence of a camera definition file, we hardcode that enum to a uint32_t. But if later a camera definition file arrives, it may redefine it completely.
To be really compliant with the MAVLink implementations, MAVSDK should account for all that, with the camera definition taking precedence in case CAM_MODE is defined both in CAMERA_SETTINGS and in the camera definition. Which IMO makes it weird, because it could make the CAMERA_SETTINGS message wrong. Anyway, I don't need that right now, so that could be contributed later (good luck :see_no_evil:).

Grmbl, working for AuterionSim, but now not working for the Yuneec camera definition files.


feat(drag): bug fixes for drag.ts

Fixes #194
Describe the changes you have made in this PR -
Navbar hover dropdown is going behind Circuit Elements I have fixed it.
Screenshots of the changes (If any) -

Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Hi @Prerna-0202 ,
Can you please review this pr and tell me changes.
I'm new to the open-source !!!

Good work @aryanndwi123.  However, when we drag the timing diagram, properties panel, testbench panel, and quick-button panel, and then open any dropdown, the dropdown is still getting hidden. I think the dropdowns should be visible above all of these panels.
Could you make these changes also?

Yes @Prerna-0202 , I have done the changes what you have mentioned.
Adjusted z-index to ensure dropdowns appear above panels.


[Bug] Before initializing springboot, get enable-v2 and it will always be the default value

Search before asking

[X] I had searched in the issues and found no similar issues.

Java Version
No response
Scala Version
2.12.x
StreamPark Version
dev
Flink Version
flink all version
deploy mode
kubernetes-session
What happened
When I wanted to start flink on k8s V2
I changed streampark.flink-k8s.enable-v2 to true in the configuration file but found that
isV2Enabled is of type val. After the class is initialized, it will be assigned false directly,

As a result, the values inside are refreshed even after springboot starts.

However, there are two methods to get this value in advance, so in the initialization phase, you cannot get the value of springboot's yaml configuration, you get the initialization value (false)
The following is a method to use in advance when starting up

Error Exception
No response
Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!(您是否要贡献这个PR?)

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Al-assad If you have time, can you take a look at this issue? Thank you.

I will check this issue over the weekend

I recommend loading these two parts after spring boot
Do not init during spring loading the bean， can put it in the ApplicationRunner phase


Initial support for llvm/clang 10

see issue https://github.com/illuhad/hipSYCL/issues/106

Awesome, thank you :)

No big deal =).


[Bug][UI Next][V1.0.0-Alpha] The default value of the timeout settings should be false in HTTP.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
The default value of the timeout settings should be false in HTTP.
What you expected to happen

How to reproduce

Open the dag page.
Create a HTTP node.

Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

After discussion, it was decided to remove the timeout settings switch.


Adding big query dataset environment fix for review apps

Context
Adding big query dataset environment fix for review apps
Changes proposed in this pull request
Changing to BIGQUERY_DATASET           = "events_${var.config}"
Guidance to review
Validate config is consistent for all environments through global_config environment files
Link to Trello card
N/A
Checklist

[ ] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

 AYTQ: fix big query


not possible to use zero operation count

Previously, if you defined maxexecutiontime and not defined operationcount parameter (or set operationcount=0), then you were able to run YCSB for a given period of time and measure the number of operations you get during the load test.
Since https://github.com/brianfrankcooper/YCSB/pull/1323 was merged, it it not possible to use operationcount=0, as the thread count will be set to 0 in this case and no client thread will be created:
https://github.com/brianfrankcooper/YCSB/blob/4b19340e3bab5e4c88eda75ad56e83dc4d5cc503/core/src/main/java/site/ycsb/Client.java#L421-L424
The solution would be to change the is statement to: if (threadcount > opcount && opcount > 0)
What do you think?
(should I create a PR?)

Yes please, that solution sounds great.


make sure that ACK frames are bundled with data

Fixes #2539.

Codecov Report

Merging #2543 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #2543   +/-   ##
=======================================
  Coverage   86.12%   86.13%
=======================================
  Files         122      122
  Lines        9542     9543    +1
=======================================
+ Hits         8218     8219    +1
  Misses        985      985
  Partials      339      339

Impacted Files
Coverage Δ

internal/ackhandler/received_packet_history.go
97.01% <100.00%> (+0.05%)
:arrow_up:

Continue to review full report at Codecov.

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


featuresupport external hive truncate table DDL

Proposed changes
Issue Number: #31442

support hive3 'truncate table'
forbiden hive2 'truncate table' because of it is not supported by HMS Client API on hive2

run buildall

run buildall

run external

run buildall

run buildall


Fix graphql Error

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

Did you update this based on what you discovered about the source of the error?

Did you update this based on what you discovered about the source of the error?

It is packages comaptibility problem so this working together.

gatsby-remark-relative-images & gatsby-remark-images downgraded.

"gatsby-remark-relative-images version 0.3.0 has problem but version 0.2.1 working good"

(I was hoping for another commit with the right numbers, but I'll sort it out)


fix(dateTimePicker): support 'relativeTo' customization

Closes #2931
Summary

summary_here

Change List (commits, features, bugs, etc)

items_here

Acceptance Test (how to verify the PR)

tests here

Regression Test (how to make sure this PR doesn't break old functionality)

tests here

Things to look for during review

[ ] Make sure all references to iot or bx class prefix is using the prefix variable
[ ] (React) All major areas have a data-testid attribute. New test ids should have test written to ensure they are not changed or removed.
[ ] UI should be checked in RTL mode to ensure the proper handling of layout and text.
[ ] All strings should be translatable.
[ ] The code should pass a11y scans (The storybook a11y knob should show no violations). New components should have a11y test written.
[ ] Unit test should be written and should have a coverage of 90% or higher in all areas.
[ ] All components should be passing visual regression test. For new styles or components either a visual regression test should be written for all permutations or the base image updated.
[ ] Changes or new components should either write new or update existing documentation.
[ ] PR should link and close out an existing issue

Hi @zvonimirfras. Can we get a re-review on this?


Add profit/d to production line control

Tested with values up to 6 figures, more than that will not fit but seems unlikely to happen

Thank you! <3


How to make the bot restart if crashes

How was I make a .sh file where if the bot crashes it will restart even if I do !shutdown

while true
do
  ./run.sh
done

not?

permission denied and I can't change the permissions file yet

chmod +x run.sh if u meant that

I'm assuming you're using Linux. If not, it shouldn't be hard to emulate what I'm doing here.
Using screen and cron (hopefully you'd be using screen anyway, it's wonderful)
Add a new screen session command on the beginning of the last line of your run.sh file.
screen -dmS musicbot python3.5 run.py # "dm" will start it detached, if that's your thing

(or something like that)
Then create another file wherever you want, let's say in your home dir, /home/user
This one will act as your watchdawg
#!/bin/bash
SCREENS=$(screen -ls | grep musicbot | wc -l)
if [[ $SCREENS -eq 1 ]]; then
    echo "it's raining normally"
elif [[ $SCREENS -lt 1 ]]; then
    echo "it's raining sideways!!1"
    cd /path/to/musicbot/
    screen -dmS musicbot bash python3.5 run.py
else
    echo "too much screen bow-wow raining upside-down"
    echo "(but i don't get paid enough to do anything about it)"
fi

(or something like that)
and put it in your /etc/crontab to execute every... say... 10 minutes...? Really up to you
I'm not completely sure if that code'll work since I haven't tested it and I'm too inebriated to test it at the moment, but it should give you an idea of what to do. Hoping it helps.

PEBCAK. If you read the guide, this information is available there: https://github.com/SexualRhinoceros/MusicBot/wiki/Installation-guide-for-Ubuntu-14.04-and-other-versions#3b-start-the-bot-permanent

Yes, this issue could be closed. Edelin was just learning about file permissions.