[Feature Request]: include attachments support (PDFs, images, etc)

Problem Description
I cannot use NextChat to "chat with my documents" or just take a screenshot of some code snippet or some mathematical formula and then use that in my chat with the LLM
Solution Description
I want to be able to:

upload documents to my conversation (PDF, Word, raw text files like CSV, PowerPoint, Images) and chat with them (this is the priority for me)
define a Mask/Assistant (just like in the OpenAI playground) that is connected to a knowledge base (one or a bunch of docs) and then chat with it whenever I want to => it will be a specialized Mask, that answers based on my own knowledge base, not just relying on the training data of the LLM with a system prompt

Alternatives Considered
ChatGPT (for the first item)
OpenAI's Assistants (for both items)
ChatKit
Additional Context
No response

Thank you for your feedback, we have planed to build data storage capacity for the future to upload files, but you know, building data storage capacity is not only technically complex, but more importantly, a data security issue. Therefore, we will build this capacity after developing a reliable technical solution

@Dean-YZG even for local data storage?

But the Gemini-pro-vision model allows images to be uploaded via the NextWeb app. So guessing it persists temporarily to local data storage? So why cant same feature be rolled out to ChatGPT model?
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/4446

@Dean-YZG even for local data storage?

@Dean-YZG could you please comment my question or someone from the team? =) Thank you

bump for this feature, it's so important!

We need the feature.

Want that too


To make website responsive.

I would like to make the website responsive.
Please assign me this under GSSOC'23.

I would like to make it responsive with good UI @sanketsaurav2411

Hello @PatilHarshh,
I'll work on it to meet the requirements.


feat: add trailing option for throttle

[!TIP]
The owner of this PR can publish a preview release by commenting /publish in this PR. Afterwards, anyone can try it out by running pnpm add radashi@pr<PR_NUMBER>.

Summary
This adds a trailing option for throttle, which results in the source function being invoked again after interval in case any calls were ignored during the throttled period.
This is useful for situations where an observable is frequently changing, and we wish to throttle an observer without missing any updates.
Related issue, if any:
https://github.com/sodiray/radash/pull/387
For any code change,

[x] Related documentation has been updated, if needed
[x] Related tests have been added or updated, if needed
[ ] Related benchmarks have been added or updated, if needed

Does this PR introduce a breaking change?
No

Corrected a few defects:

The option is now called trailing.
Throttling after a trailing call wasn't effective.

Merging this with a failed test, which will be fixed in another PR.

Merging this with a failed test, which will be fixed in another PR.

Thanks for the cleanup and refactoring!

Thanks for contributing @crishoj. 👍 👍  Please keep up the great work :)
I'll get to your other PR soon, but have some stuff to finish for the documentation site.


[Question] Hypernetes or Frakti

Is there any documentation to support spinning this up across multiple hosts. I know based on the Q/A with Frakti that this was documented. I'm interested in Hypernetes given the use of keystone and Ceph
Thanks
DB

@DarkBlaez There is a deployment guide at https://docs.hypernetes.com/admin/deploy.html


ESP32 wifi sample with MQTT over TLS crashes

Describe the bug
I've created a custom sample which is combination of samples/net/wifi and samples/net/mqtt_publisher. I'm developing on ESP32-WROOM-32E (ESP32 devkitc v4). I've created a helper shell command for using MQTT commands (connect/disconnect/publish/subscribe..). MQTT connection is using TLS.
Randomly after sending shell commands I get fatal error.
Sometimes I also get error below, but not always so I don't think it's relevant but listing it here as additional info.
[00:04:42.993,000] <err> net_pkt: Data buffer (1203) allocation failed.
[00:04:42.993,000] <err> net_tcp: conn: 0x3fffcb24 packet allocation failed, len=1155
[00:04:42.993,000] <err> net_tcp: TCP failed to allocate buffer in retransmission

I tried increasing various thread stack sizes (shell, workqueue) but to no avail.
To Reproduce
Steps to reproduce the behavior:

west build -b esp32
west flash --esp-device /dev/ttyUSB0 && west espressif monitor -p /dev/ttyUSB0
Connect to AP and MQTT broker, publish subscribe, disconnect, wifi scan
Error happens randomly

Expected behavior
I don't expect to see any errors.
 It's recommended to cast it to void * because it may cause misbehavior in certain configurations. String:" **  A0 %p  SP %p  A2 %p  A3 %p" argument:1
[00:09:44.328,000] <err> os:  **  A0 0x80085900  SP 0x3ffe95a0  A2 (nil)  A3 0x60720
[00:09:44.328,000] <err> os:  **  A4 0x3ffb1a70  A5 (nil)  A6 0x60b20  A7 0x3fffa6d2
[00:09:44.328,000] <err> os:  **  A8 0x8008560c  A9 0x3ffe9590 A10 0x3ffe81cc A11 0x3ffb9650
[00:09:44.328,000] <err> os:  ** A12 (nil) A13 (nil) A14 0x3ffbb0bc A15 0x400f65b4
0x400f65b4: tcp_recv at /home/marin/zephyrproject/zephyr/subsys/net/ip/tcp.c:1568

[00:09:44.328,000] <err> os:  ** LBEG 0x400ef10c LEND 0x400ef14c LCOUNT 0x8
0x400ef10c: net_context_is_used at /home/marin/zephyrproject/zephyr/include/zephyr/net/net_context.h:353
 (inlined by) find_context at /home/marin/zephyrproject/zephyr/subsys/net/ip/net_context.c:830
 (inlined by) net_context_packet_received at /home/marin/zephyrproject/zephyr/subsys/net/ip/net_context.c:1901

0x400ef14c: find_context at /home/marin/zephyrproject/zephyr/subsys/net/ip/net_context.c:829
 (inlined by) net_context_packet_received at /home/marin/zephyrproject/zephyr/subsys/net/ip/net_context.c:1901

[00:09:44.328,000] <err> os:  ** SAR 0x4

Ba0x40085611:0x30x400858fd:0x30x40084f84:0x30x400f07a5:0x30x400d90ef:0x3
0x40085611: arch_irq_unlock at /home/marin/zephyrproject/zephyr/include/zephyr/arch/xtensa/irq.h:125
 (inlined by) do_swap at /home/marin/zephyrproject/zephyr/kernel/include/kswap.h:154
 (inlined by) z_swap at /home/marin/zephyrproject/zephyr/kernel/include/kswap.h:169

0x400858fd: z_pend_curr at /home/marin/zephyrproject/zephyr/kernel/sched.c:872

0x40084f84: z_impl_k_queue_get at /home/marin/zephyrproject/zephyr/kernel/queue.c:343

0x400f07a5: k_queue_get at /home/marin/zephyrproject/zephyr/samples/net/wifi/build/zephyr/include/generated/syscalls/kernel.h:659
 (inlined by) tc_rx_handler at /home/marin/zephyrproject/zephyr/subsys/net/ip/net_tc.c:245

0x400d90ef: z_thread_entry at /home/marin/zephyrproject/zephyr/lib/os/thread_entry.c:36

[00:09:44.329,000] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:09:44.329,000] <err> os: Current thread: 0x3ffb95c0 (rx_q[0])
[00:09:44.513,000] <err> os: Halting system

Environment (please complete the following information):

OS: Linux
Toolchain: 0.15.1
Commit SHA: 4939463dc2

Configurations

boards/esp32.conf

CONFIG_WIFI=y
CONFIG_HEAP_MEM_POOL_SIZE=8192

CONFIG_NETWORKING=y
CONFIG_NET_L2_ETHERNET=y

CONFIG_NET_IPV6=n
CONFIG_NET_IPV4=y
CONFIG_NET_DHCPV4=y

CONFIG_NET_LOG=y

CONFIG_ESP32_WIFI_STA_AUTO_DHCPV4=y

CONFIG_MQTT_SERVICE=y

prj.conf

CONFIG_EARLY_CONSOLE=y

CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100
CONFIG_LOG_BUFFER_SIZE=8192

CONFIG_NETWORKING=y
CONFIG_TEST_RANDOM_GENERATOR=y

CONFIG_NET_TX_STACK_SIZE=2048
CONFIG_NET_RX_STACK_SIZE=2048

CONFIG_NET_PKT_RX_COUNT=10
CONFIG_NET_PKT_TX_COUNT=10
CONFIG_NET_BUF_RX_COUNT=20
CONFIG_NET_BUF_TX_COUNT=20
CONFIG_NET_MAX_CONTEXTS=10
CONFIG_NET_DHCPV4=y

CONFIG_DNS_RESOLVER=y

CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n

CONFIG_NET_TCP=y

CONFIG_NET_LOG=y
CONFIG_INIT_STACKS=y

CONFIG_NET_SHELL=y

CONFIG_NET_STATISTICS=y
CONFIG_NET_STATISTICS_PERIODIC_OUTPUT=n

CONFIG_WIFI=y
CONFIG_NET_L2_WIFI_SHELL=y

CONFIG_WIFI_LOG_LEVEL_DBG=y
#CONFIG_NET_L2_ETHERNET_LOG_LEVEL_DBG=y
#CONFIG_NET_PKT_LOG_LEVEL_DBG=y
#CONFIG_NET_IPV4_LOG_LEVEL_DBG=y
CONFIG_NET_DHCPV4_LOG_LEVEL_DBG=y
CONFIG_NET_L2_WIFI_MGMT_LOG_LEVEL_DBG=y

CONFIG_HWINFO=y

CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=8192

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
CONFIG_SHELL_STACK_SIZE=4096

# MQTT TLS
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_MQTT_LIB_TLS=y
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y

# TLS configuration
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=70000
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=5120

CONFIG_MQTT_SERVICE_SERVER_PORT=8883
CONFIG_MQTT_SERVICE_LOG_LEVEL_DBG=y

CONFIG_NET_MGMT_EVENT_STACK_SIZE=2048
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=20

Here's another error, I left the device running and it occured after 43minutes:
[00:43:17.081,000] <err> os:  ** FATAL EXCEPTION
[00:43:17.081,000] <err> os:  ** CPU 0 EXCCAUSE 0 (illegal instruction)
[00:43:17.081,000] <err> os:  **  PC 0x40083a1c VADDR (nil)
[00:43:17.081,000] <err> os:  **  PS 0x60920
[00:43:17.081,000] <err> os:  **    (INTLEVEL:0 EXCM: 0 UM:1 RING:0 WOE:1 OWB:9 CALLINC:2)
[00:43:17.081,000] <wrn> cbprintf_package: (unsigned) char * used for %p argument. It's recommended to cast it to void * because it may cause misbehavior in certain configurations. String:" **  A0 %p  SP %p  A2 %p  A3 %p" argument:1
[00:43:17.081,000] <err> os:  **  A0 0x781  SP 0x3ffe9590  A2 0x3ffe81cc  A3 0x3ffb9650
[00:43:17.081,000] <err> os:  **  A4 (nil)  A5 0x3fffba20  A6 0x608  A7 (nil)
[00:43:17.081,000] <err> os:  **  A8 0x8008558b  A9 0x3ffe9560 A10 (nil) A11 0x3ffb1bb8
[00:43:17.081,000] <err> os:  ** A12 (nil) A13 0xffff A14 0xfffffffe A15 0x3fffb404
[00:43:17.081,000] <err> os:  ** LBEG 0x400f40c8 LEND 0x400f40d9 LCOUNT (nil)
[00:43:17.081,000] <err> os:  ** SAR 0x4

Ba0x40083a19:0x30x0000077e:0x3 |<-C

[00:43:17.081,000] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:43:17.081,000] <err> os: Current thread: 0x3ffb95c0 (rx_q[0])
[00:43:17.256,000] <err> os: Halting system

I am getting similar errors using an ESP32 DevkitC for Wifi. I am actually trying to do something very similar where I connect to wifi and upload to a dashboard via mqtt. Here is my fatal error code:

[00:01:33.298,000] <err> os:  ** FATAL EXCEPTION
[00:01:33.298,000] <err> os:  ** CPU 0 EXCCAUSE 28 (load prohibited)
[00:01:33.298,000] <err> os:  **  PC 0x40085638 VADDR 0x8c
0x40085638: z_swap at /home/tomsalpietro/embedded/zephyrproject/zephyr/kernel/include/kswap.h:170

[00:01:33.298,000] <err> os:  **  PS 0x60420
[00:01:33.298,000] <err> os:  **    (INTLEVEL:0 EXCM: 0 UM:1 RING:0 WOE:1 OWB:4 CALLINC:2)
[00:01:33.298,000] <wrn> cbprintf_package: (unsigned) char * used for %p argument. It's recommended to cast it to void * because it may cause misbehavior in certain configurations. String:" **  A0 %p  SP %p  A2 %p  A3 %p" argument:1
[00:01:33.298,000] <err> os:  **  A0 0x80085924  SP 0x3ffe7680  A2 (nil)  A3 0x60420
[00:01:33.298,000] <err> os:  **  A4 0x3ffb1a1c  A5 0x3ffb7b44  A6 0x60820  A7 (nil)
[00:01:33.298,000] <err> os:  **  A8 0x80085630  A9 0x3ffe7670 A10 0x3ffe69cc A11 0x3ffcc888
[00:01:33.298,000] <err> os:  ** A12 (nil) A13 0x3fffa0c4 A14 0xfffff9f8 A15 0x1
[00:01:33.298,000] <err> os:  ** LBEG 0x400eb0ac LEND 0x400eb0f0 LCOUNT 0x3

[00:01:33.298,000] <err> os:  ** SAR 0x3

[00:01:33.298,000] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:01:33.298,000] <err> os: Current thread: 0x3ffcc7f8 (rx_q[0])
[00:01:33.480,000] <err> os: Halting system

It looks very similar with the cbprintf warning and I also experience this randomly; maybe after a minute of running.
Would love to find a solution for these

It's probably worth checking the number of buffers allocated. This seems like a config error.

@sylvioalves

@marinjurjevic Do you have a working branch/repo so I can test it?

Hi, you can find the branch here.
You can use following commands:

uart:~$ wifi connect "<ssid>" <password>
uart:~$ mqtt connect
uart:~$ mqtt publish <topic_name>
uart:~$ mqtt subscribie <topic_name>

I might be able to provide some more information on my problem. It looks like some threads are getting corrupted? not too sure but this seems relevant to the thread.
[00:09:18.717,000] <err> os:  **  A0 0xac0  SP 0x3ffe8090  A2 0x3ffe573c  A3 0x3ffb49e8
[00:09:18.717,000] <err> os:  **  A4 (nil)  A5 (nil)  A6 0x3ffb62d4  A7 (nil)
[00:09:18.717,000] <err> os:  **  A8 0x800852bf  A9 0x3ffe8060 A10 (nil) A11 0x3fff8b64
[00:09:18.717,000] <err> os:  ** A12 (nil) A13 0x3ffb5e1c A14 0x1e0 A15 0x3ffe7fd0
[00:09:18.717,000] <err> os:  ** LBEG 0x400e6b1c LEND 0x400e6b60 LCOUNT 0x7
0x400e6b1c: net_context_is_used at /home/tomsalpietro/embedded/zephyrproject/zephyr/include/zephyr/net/net_context.h:353
 (inlined by) find_context at /home/tomsalpietro/embedded/zephyrproject/zephyr/subsys/net/ip/net_context.c:830
 (inlined by) net_context_packet_received at /home/tomsalpietro/embedded/zephyrproject/zephyr/subsys/net/ip/net_context.c:1901

0x400e6b60: find_context at /home/tomsalpietro/embedded/zephyrproject/zephyr/subsys/net/ip/net_context.c:829
 (inlined by) net_context_packet_received at /home/tomsalpietro/embedded/zephyrproject/zephyr/subsys/net/ip/net_context.c:1901

[00:09:18.717,000] <err> os:  ** SAR 0x1a

Backtrace:0x40083a01:0x3ffe8090 0x00000abd:0x3ffe80a0  |<-CORRUPTED
0x40083a01: xtensa_switch at /home/tomsalpietro/embedded/zephyrproject/zephyr/arch/xtensa/core/xtensa-asm2-util.S:271

[00:09:18.717,000] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:09:18.717,000] <err> os: Current thread: 0x3ffb4998 (unknown)
[00:09:18.842,000] <err> os: Halting system

Probably something to do with context switching in ESP32 that zephyr isn't fully supporting yet?

@tomsalpietro @marinjurjevic thanks for the inputs, I'll take a look on it.

I found a trivial wifi example (just shell) on ESP32 will overflow the stacks for the network management system.
The net_mgmt thread's default stack of 768 isn't enough, once wifi is up and dhcp completes.  And if the shell's network monitor is on, then the event_mon thread's stack, which is hard-coded to 1024 bytes, will also overflow.

@xyzzy42 I planned to submit a wifi sample code and add custom overlays/changes to update those stacks you mentioned. @marinjurjevic, I have a working branch to fix your MQTT+TLS issue. Would you mind trying that out? Run west update once pulling this. https://github.com/zephyrproject-rtos/zephyr/pull/57391

I wonder how the stack usage on those threads compares to other systems with wifi?  I.e., are those stacks unrealistically small or does ESP32 have high stack usage?

@xyzzy42 Can you share the logging regarding those overflows you mentioned? Or same sample code?

There is no need for any code.  An empty main() is sufficient.  After connecting wifi the net_mgmt thread will have used its entire stack.  If NET_MGMT_EVENT_MONITOR and ESP32_WIFI_STA_AUTO_DHCPV4 are on, then the event_mon thread will use up its stack too.
0x3ffcbc48 event_mon                        (real size 2048):   unused  956     usage 1092 / 2048 (53 %)
0x3ffcb998 net_mgmt                         (real size 1536):   unused  428     usage 1108 / 1536 (72 %)

The size of these stacks is normally 1024 and 768 bytes, respectively.

@xyzzy42 I planned to submit a wifi sample code and add custom overlays/changes to update those stacks you mentioned. @marinjurjevic, I have a working branch to fix your MQTT+TLS issue. Would you mind trying that out? Run west update once pulling this. #57391

Hi, I've been ill last week so I've only got around this today. I pulled your changes and so far I didn't experience hard fault.
Although I do get frequent disconnects. Not sure if this is connected to tcp_work stack being at 100%?  Reason: 3
[00:15:49.770,000] <err> mqtt_service: Cloud MQTT input error: -5
[00:15:49.770,000] <dbg> mqtt_service: mqtt_service_poll: The cloud socket is already closed.

In the meantime we moved to ESP32-C3 and we don't experience any issues. I'll leave this issue open for now.

@marinjurjevic, great, thanks. Yes, you have to increase that tcp_work stack (CONFIG_NET_TCP_WORKQ_STACK_SIZE=4096).
I was not able to get anymore crashes. Will submit this.

Fixed at #57289. Open again if necessary.


MWPW-139379 Improve Tab Scrolling

Improve mobile experience for tab scrolling by adding scroll indicator buttons.

Resolves: MWPW-139379
Test URLs:

Before: https://main--milo--adobecom.hlx.page/drafts/bmarshal/tabs-scrolling?martech=off
After: https://bmarshal-tabs-scrolling--milo--adobecom.hlx.page/drafts/bmarshal/tabs-scrolling?martech=off

BACOM URLs:

Before: https://main--bacom--adobecom.hlx.page/?martech=off
After: https://main--bacom--adobecom.hlx.page/?martech=off&milolibs=bmarshal-tabs-scrolling

A lot of good work. I had intermittent success with clicking the tabs myself though. The first click would often work, but the second would not.

I found this really difficult to debug, what browser and screen size did you see this on?


datasource, graph: Add retry deadline

Same as #476 but for master branch.
It looks like the tokio retry crate doesn't do as much as I thought it did, so this adds a 60-second deadline to the with_retry util, which should help with Eth RPC calls getting stuck sometimes.

Brought over the suggested line wrapping from the other PR :)


Implement Astropy Quantities

Mostly this will only impact the halo catalog and merger tree dtype formatting.

Give users the option to write supported model components that either do or do not work with Quantities. Try to implement this via a class-level use_quantities attribute. If set to False, the composite-model decorator will ensure that an ndarray view of the columns are passed to the component, and then the component model can safely perform arbitrary operations on the columns; if set to True, the passed columns will be Quantities, and so the component model will need to make columns dimensionless if they want to perform nonlinear transformations on them. Suggestion due to @eteq.


Mark daemons unavailable if the response the client gets back is nonsense

This scenario blocks all new builds:

Daemon starts with port 12345
Daemon is killed without shutting down cleanly (kill -9 $PID)
A non-daemon process starts and listens on port 12345

The Gradle client will see an entry for an idle daemon and the
port will appear to be valid. If the non-daemon process just
immediately closes the connection, the Gradle client will fail
and retry 100 times.
Unfortunately, we'll keep retrying the exact same daemon because
it otherwise appears good (idle + port is connectable).
This change makes it so if we receive no response from the daemon,
we mark the daemon as unavailable and retry again. This will usually
mean that a new daemon is started or we try the next available daemon.

Fixes the underlying reason for https://github.com/gradle/gradle/issues/17345

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


docs: don't claim ts-node is bundled

A docs-only change. ts-node isn't bundled any more, so don't claim that it is.

Ah, looks like this already got fixed.


Firefox extension: Add selected text

It would be great to get FF extension adding selected text (and possibly images) prepent to an URL when a note is being created.

This actually seems like a really good feature. @sprnza do you have any ideas how to get this within an extension context?

Nope, unfortunately.

So the firefox extension is updated with that feature now and published to the extension library. So everyone should get an update automatically at some point.
Regarding chrome, I simply cannot figure out how to update that in the chrome web store and I didn't find a way to get in touch with google support on this matter.


Use @mui/base Input if possible

Use @mui/base/Input in RadioGroup was not get any benefit , let wait for official release

After using FileUpload


[BUG] AutoGluon ignores logging configuration

Bug Report Checklist

[ ] I provided code that demonstrates a minimal reproducible example.
[ ] I confirmed bug exists on the latest mainline of AutoGluon via source install.
[X] I confirmed bug exists on the latest stable version of AutoGluon.

Describe the bug

AutoGluon ignores the user's logging configuration and sets a very peculiar configuration for the autogluon logger.
autogluon.common.__init__ calls the function autogluon.utils.log_utils._add_stream_handler:
https://github.com/autogluon/autogluon/blob/7fa5dc3d5339ad8da6961cbb02ff4d802b6d5d22/common/src/autogluon/common/utils/log_utils.py#L99-L109
This causes the user's logging configuration to be fully ignored, as propagate = False will prevent the user's log handlers from receiving any log messages from the autogluon logger. Furthermore, it imposes a new log handler for autogluon which writes to stderr.
This behaviour is not appropriate for a library. When integrating a library into a project that uses logging, I expect the library to respect my configuration.
I have worked around the issue by using the following function in my project:
def _fix_autogluon_logging():
    ag_logger = logging.getLogger("autogluon")
    ag_logger.propagate = True
    ag_logger.handlers = []

I should not have to do this (and I should not have to spend my time figuring out that this is what I need to do).
Expected behavior

AutoGluon respects the user-defined logging configuration and does not impose its own idea of how things should be logged.

Thanks for this issue @opcode81!
Indeed logging is a bit odd in AutoGluon (and previously it was even odder). I remember that we chose the current method because of the ways in which other packages sometimes altered logging functionality, which would then also alter AutoGluon's logging in unexpected ways and thus we got GitHub issues from users that were the inverse of yours. Therefore, we isolated the logging logic to be harder to accidentally override in other packages as they are imported. (One of the big ones is Kaggle, which previously hid all AutoGluon logs due to how it altered the logger).
This definitely has side effects, such as what you encountered, and we are interested in making things work with less friction.
I'd be interested in a small code snippet that includes your user-defined logging configuration followed by an import of AutoGluon and calling logger or fitting TabularPredictor so we can use that for testing.

My assumption is that you

add the log handler to the autogluon logger to ensure that users receive output even IF they have not configured logging
set propagate = False to avoid duplicate logs IF they have configured logging.

To gracefully handle both cases, I would suggest to add a handler to the autogluon logger which will produce output only if the root logger is not associated with any handlers, i.e. to use a handler like this one I've added to sensAI:
class FallbackHandler(logging.Handler):
    """
    A log handler which applies the given handler only if the root logger has no defined handlers
    (or has no handlers other than this fallback handler itself)
    """
    def __init__(self, handler: logging.Handler, level=logging.NOTSET):
        """
        :param handler: the handler to which messages shall be passed on
        :param level: the minimum level to output; if NOTSET, pass on everything
        """
        super().__init__(level=level)
        self._handler = handler

    def emit(self, record):
        root_handlers = logging.getLogger().handlers
        if len(root_handlers) == 0 or (len(root_handlers) == 1 and root_handlers[0] == self):
            self._handler.emit(record)

With this type of handler, you can do this:
    ag_logger = logging.getLogger("autogluon")
    ag_logger.setLevel(logging.INFO)

    ag_logger.addHandler(FallbackHandler(logging.StreamHandler(sys.stderr)))
    ag_logger.info("Foo")

    logging.basicConfig(level=logging.INFO, stream=sys.stdout)

    logging.getLogger("foo").info("I am some other logger")
    ag_logger.info("Bar")

and you will get

i.e. as long as no root log handler is configured, the autogluon logger will print to stderr (as indicated by the red output colour), and after logging has been configured by the user, the logs will end up wherever it was configured instead (stdout with a different format in this case).
I don't really think a test is needed, as once this is handled properly, it's unlikely to break, but a simple test you could add is this:
def test_root_logger_receives_autogluon_logs():
    import autogluon
    root_logger = logging.getLogger()
    stream = io.StringIO()
    stream_handler = logging.StreamHandler(stream=stream)
    root_logger.addHandler(stream_handler)
    try:
        ag_logger = logging.getLogger("autogluon")
        ag_logger.setLevel(logging.INFO)
        ag_logger.info("Foobar")
        assert "Foobar" in stream.getvalue()
    finally:
        root_logger.removeHandler(stream_handler)

It will currently fail, but it will pass if you apply the function _fix_autogluon_logging I had pasted above.

Awesome write-up, this is very helpful @opcode81! We will look into addressing this for the next minor release (v1.2).

loguru is definitely an interesting option. Maybe we can look into it after we do some other clean up on code like applying ruff linting.
I'm moving this issue to target 1.3 release as I didn't get bandwidth to address it for 1.2


Corrected db_name deprecated doc string

Fixed deprecation warning to use correct field name.

Thank you for your contribution, @mothran, and apologies for the late response. Looks like this PR was made obsolete by other changes in the meantime, removing the reference to dbName altogether.


[BUG] FileExistsError when trying to preprocess an already preprocessed dataset

Describe the bug
During the training preps, if the dataset is already preprocessed, another preprocessing for the same model throws FileExistsError
To Reproduce
Steps to reproduce the behavior:

Start pretraining and wait it to finish
Try to start it again
See FileExistsError in the console

Expected behavior
One of the following:

An alert in WebUI telling me that the folder already exists for me to choose what to do with it(like removing it myself or renaming the model);
Using the existing dir while clearing the old preprocess results;

Assets
Traceback (most recent call last):
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\gradio\queueing.py", line 495, in call_prediction
    output = await route_utils.call_process_api(
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\gradio\route_utils.py", line 232, in call_process_api
    output = await app.get_blocks().process_api(
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\gradio\blocks.py", line 1561, in process_api
    result = await self.call_function(
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\gradio\blocks.py", line 1179, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\anyio\_backends\_asyncio.py", line 2134, in run_sync_in_worker_thread
    return await future
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\anyio\_backends\_asyncio.py", line 851, in run
    result = context.run(func, *args)
  File "C:\Users\rival\Downloads\Applio\env\lib\site-packages\gradio\utils.py", line 678, in wrapper
    response = f(*args, **kwargs)
  File "C:\Users\rival\Downloads\Applio\core.py", line 172, in run_preprocess_script
    os.mkdir(os.path.join(logs_path, str(model_name)))
FileExistsError: [WinError 183] Невозможно создать файл, так как он уже существует: 'C:\\Users\\rival\\Downloads\\Applio\\logs\\repetur'

Desktop (please complete the following information):

OS: Windows 11 22H2
Applio commit: 3e3852bc623f3c67d528cd597b6e32cd60edc65d (HEAD -> main, tag: 3.0.2, origin/main, origin/HEAD), latest at the moment of opening the issue

check if this path exists C:\\Users\\rival\\Downloads\\Applio\\logs\\repetur

check if this path exists

It exists

Delete the folder and do it again

I'm sorry, maybe i explained something wrong in the op. The thing is i want the app to delete it for me if it already exists or use it for the updated dataset(like how i explained in Expected behavior section)

So it's not a bug, it's that you want the program to have one more feature.

So it's not a bug

it's an error while using a process that was implemented in any other RVC implementation. Even Applio V2 has this functionality(i.e. i won't get an error doing the steps described in To Reproduce section of op post), and i just don't have any clue why you've not implemented the industry-wide practice and now presenting it here as "one more feature". So for me(and anyone who will expect the app to remove the dir) it's an error. Maybe not a bug, but definitely something that has to be fixed

@blaise-tk as i can see in infer-web.py, def preprocess_dataset, line 807:
os.makedirs("%s/logs/%s" % (now_dir, exp_dir), exist_ok=True)
if exist_ok does what i think it does(which is allowing the dir creation even if it exists) then i think it's a bug

Fixed.


Update sbt-spiewak-sonatype to 0.18.2

Updates com.codecommit:sbt-spiewak-sonatype from 0.18.1 to 0.18.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.codecommit", artifactId = "sbt-spiewak-sonatype" } ]

labels: sbt-plugin-update, semver-patch

Codecov Report

Merging #88 (ec8e0c9) into main (e6cfd48) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #88   +/-   ##
=======================================
  Coverage   96.44%   96.44%
=======================================
  Files           5        5
  Lines         676      676
  Branches       57       57
=======================================
  Hits          652      652
  Misses         24       24

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 e6cfd48...ec8e0c9. Read the comment docs.


[BUG]

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
在企业微信机器人的消息通知模版中想显示资源IP，配置monitorHost字段不生效。

Expected Behavior
No response
Steps To Reproduce
No response
Environment
HertzBeat version(s):

Debug logs
No response
Anything else?
No response

hi, we do not has the monitorHost variable default. We can consider support it after.

i dont think there is any "monitorHost" variable.


Add HISTORY section for all functions

This PR

completes/makes available HISTORY documentation sections for all public functions in libssl & libcrypto that have been added after 3.0.0.
adds test logic to ascertain this in CI & local testing via enhancements to util/find-doc-nits also going forward
add explanation stating (for contributions of new public functions) to fulfill the user need for documentation showing which OpenSSL version a specific new function first became available
builds on https://github.com/openssl/openssl/pull/26158 and should cleanly merge after that landed (already approved)

Ouch -- looks like a huge chunk of new functions without such documentation landed in the rebase... Will add a fix.

This pull request is ready to merge

Merged to the master branch. Thank you for your contribution.


[BUG] - new @suite class instance per @test

Testdeck Version
0.0.6
Testdeck Package

[x] @testdeck/core
[x] @testdeck/mocha

NodeJS Version

[x] 10

Mocha / Jasmine / Jest Version

Mocha: 6.1.4
@types/mocha: 5.2.6

Operating System

[x] Mac OS X

Actual Behaviour
Consider the following test:
import { suite, test } from "@testdeck/mocha";

[{ title: 'world'}, { title: 'github'}]
.forEach(({title}) => {

    @suite(`Hello ${title}`)
    class Hello {
        constructor() {
            console.log('');
            console.log(`Hello ${title}`);
        }

        @test
        test1() {
            console.log('test1');
        }

        @test
        test2() {
            console.log('test2');
        }
    }
});

Hello class is instantiated 4 times, i.e. once per test
Hello world
test1
Hello world
test2
Hello github
test1
Hello github
test2

Expected Behaviour
Only 2 Hello class instances should have been created
Hello world
test1
test2
Hello github
test1
test2

Additional Information
Official documentation Instance Lifecycle Hooks is providing the impression that @suite class may have an internal state, which is clearly not true.
Please note, that suite scope state can only be achieved via class instance or actual mocha suite. IMHO it's a bad practice to pollute mocha suite context.

Blocks #237 [FEATURE] - Parameterized suites

@jrumbinas Good find. This is indeed the case. It must have slipped my mind when I made the new documentation.
The behaviour is exactly the same as the original mocha-typescript. And I vaguely remember that it was mentioned somewhere in the earlier docs.
The class instance is available in the context of the test method and so, yes, it does have an internal state. However, this will be recreated before each test and you must not rely on the instance state to just be there but use the before and after hooks to set it up.
We will add the missing information to the documentation.

@jrumbinas This is where static before and after comes into play.
Here, you can set up your static environment, e.g. have a rest client prepared and from inside the instance level before and after you can use the statics to for example sign up a new user on the site you are testing, wade through the registration process and then run your tests as normal.


IPFS hash file

Problem
Unable to track account SBT token
Solution
Add ID field to IPFS hash file that equal to tokenID in SBT token

Done


bug(Data Table): Angular can't find template for footer?

Reproduction
Use StackBlitz to reproduce your issue:
I produced this in a stackblitz and it works correctly:
https://stackblitz.com/edit/angular-material-table-no-data-footer?file=src%2Fapp%2Ftable-basic-example.html
Expected Behavior
What behavior were you expecting to see?
What we see in the Stackblitz for the nodata footer row.
Actual Behavior
What behavior did you actually see?
I'm trying to get this to work locally in my Angular project and the project compiles correctly but Chrome logs the error:
core.js:6456 ERROR TypeError: Cannot read property 'template' of undefined
    at MatFooterRowDef.extractCellTemplate (table.js:473)
    at table.js:1961
    at Function.from (<anonymous>)
    at MatTable._getCellTemplates (table.js:1956)
    at MatTable._renderCellTemplateForItem (table.js:1921)
    at MatTable._renderRow (table.js:1917)
    at table.js:1850
    at Array.forEach (<anonymous>)
    at MatTable._forceRenderFooterRows (table.js:1850)
    at MatTable.ngAfterContentChecked (table.js:1489)

I've elaborated more on SO.  The SO link includes instructions for how to clone and run the github repository I created that shows the error..
Environment
Angular CLI: 12.0.5
Node: 16.2.0
Package Manager: npm 7.13.0
OS: darwin x64
Angular: 12.0.5
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package                         Version
@angular-devkit/architect       0.1200.5
@angular-devkit/build-angular   12.0.5
@angular-devkit/core            12.0.5
@angular-devkit/schematics      12.0.5
@angular/cdk                    12.1.1
@angular/material               12.1.1
@schematics/angular             12.0.5
ng-packagr                      12.1.0
rxjs                            6.6.7
typescript                      4.2.4

Browser(s):Chrome
Operating System (e.g. Windows, macOS, Ubuntu): MacOS

The error persists in version 16.


Joining county subdivision spatial data to epa region 1 water system locations in R

Description: Spatial join of water system locations (improved) for epa region 01 to county subdivisions and associated data (US Census and environmental).

placed within new data_processing folder in R folder
exploratory logistic regression and heatmap also included
.md document with figures also created

Great! No conflicts. Should later be a part of our "exploratory folder" when we finish reorganization.

sound good, thanks!


.Net: ADR for Kernel Service Registration

Motivation and Context

This PR contains ADR for Kernel Service Registration functionality, as initial step to decouple services like IPromptTemplateEngine and ISemanticTextMemory from IKernel and make them as part of service collection, to resolve Plugin dependencies.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

In case you haven't, I would suggest testing this approach in combination with an ASP.NET application, where the kernel uses it's own service collection and the ASP.NET application a separate service collection. There are scenarios where the builder needs to interact with both, e.g. injecting kernel dependencies into the ASP.NET service collection, because customers are reusing internal components. In this case you might want to consider an implementation to IServiceCollection that proxies some calls to a pool of collections.

About the note on ISemanticMemory in the PR description, I would avoid that argument in this conversation, because the plan is to remove memory from the kernel. I think the main reasons here are how multiple LLMs can be loaded in the kernel, and reused outside the kernel, without hardcoded solutions and without duplicating class instances.


Port react-native-video-controls

There are many requests for improved controls (as well as many issues about controls not working correctly). A simple solution is to port https://github.com/itsnubix/react-native-video-controls into this module and make it a bit more customizable. This will be an optional controls layer that's consistent across iOS and Android, implemented in RN/JS.

I fully agree, butI think it make sense to keep it outside of react native video...
In my mind RNV, should handle only video part, not controls... But when reviewing ticket, I feel a lot of people uses embedded controls :/
In fork I use, I moved all exoplayer calls in a dedicated thread, (I implement custom controls) but when I try to reactivate controls it was not possible because it works only if exoplayer is instantiated in UI thread:/

What about lock screen controls?

I can relate the MediaControl aka "lock screen" control implementation. Right now I using the react-native-media-controll package

Hello!
I've completely rewritten react-native-video-controls to react-native-media-console with TypeScript, solved all the issues I could find and also added tvOS support. Check it out.

@criszz77 for your information, I open this PR to promote your package ;) https://github.com/react-native-video/react-native-video/pull/2858/files#diff-e10860e1f3d00aa77abf419e46d6653ab8a1a1709982b6b244038fe8d93803da

@freeboub Thank you very much! Really appreciate it :) Cheers

@sam1463 Thank you for the info !
Maybe a good thing to do is to import repository of react-native-music-control in react-native-video community ?!
Unfortunnatly, I don't have better library to use, and as you said, react-native-track-player doesn't play video and it is in conflict with react-native-video as it also use exoplayer...

Notice I am also wondering importing a unified video player UI in react-native-video community would be a good thing.
Controls between each platform are not unified and are a nighmare to maintain where react-native-video should handle only video. (that is only my point of view)


Fixed Plugin to work with lemur 0.6.0

Here are the changes I have made to allow the vault_plugin to work with lemur 0.6.0+

Thanks, I will run test and merge it.


HOSS2-382 - new date validation

Also just been playing with the errors in a different ticket, could you check that for the different scenarios when you click the error it takes you to the correct input box, currently this doesnt work, but doesnt feel like i can fix if your going to change lots here anyway


RP2040 Failed to switch to DP Multidrop

Describe the bug
Debugging RP2040 via picoprobe yields warnings and no defmt output.
To Reproduce
Steps to reproduce the behavior:

clone https://github.com/FlareFlo/magneto_pad
cargo run --release

or

probe-rs reset --chip rp2040 --protocol swd

Expected behavior
The operation (attach, reset or erase) returns properly
Stacktrace
If applicable, add a stacktrace to help explain your problem.
Desktop (please complete the following information):

Linux (Ubuntu, Gentoo, Debian, Fedora, etc.)

Additional context
This message alternates around 10 times when running reset, for example.
WARN probe_rs::architecture::arm::communication_interface: Failed to switch to DP Multidrop(11002927): An error occurred in the communication with an access port or debug port.

WARN probe_rs::architecture::arm::communication_interface: Failed to switch to DP Multidrop(1002927): An error occurred in the communication with an access port or debug port.

I should add that, the repo linked does flash and run on the chip, without defmt output however.


Fails to run jsdoc when _JAVA_OPTIONS is defined

When _JAVA_OPTIONS is defined, Java declares the arguments to the console. This causes the plugin to abort.
>> An error occurs in jsdoc process:
>> Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=lcd
Warning: jsdoc failure Use --force to continue.

Aborted due to warnings.

You can work around this issue by doing one of the following

Use --force
unset _JAVA_OPTIONS

Obsolete. Java is not needed anymore.


cannot run shell script, error:"init() got an unexpected keyword argument 'state_is_tuple'"

Tested on two different Ubuntu 16.04 machines, same error. I run through the directions exactly and get this error:
jeff@elephantbird:~/magenta/magenta/models/basic_rnn$ ./run_basic_rnn_train.sh $EXPERIMENT_DIR $HYPERPARAMETER_STRING $NUM_TRAINING_STEPS $TRAIN_DATA [$EVAL_DATA] INFO: Found 1 target... Target //magenta/models/basic_rnn:basic_rnn_train up-to-date:   bazel-bin/magenta/models/basic_rnn/basic_rnn_train INFO: Elapsed time: 0.326s, Critical Path: 0.00s INFO:tensorflow:hparams = {'rnn_layer_sizes': [50], 'decay_rate': 0.85, 'dropout_keep_prob': 0.5, 'batch_size': 128, 'decay_steps': 1000, 'clip_norm': 5, 'initial_learning_rate': 0.01, 'skip_first_n_losses': 0} INFO:tensorflow:hparams = {'rnn_layer_sizes': [50], 'decay_rate': 0.85, 'dropout_keep_prob': 0.5, 'batch_size': 128, 'decay_steps': 1000, 'clip_norm': 5, 'initial_learning_rate': 0.01, 'skip_first_n_losses': 0} Traceback (most recent call last):   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/basic_rnn/basic_rnn_train.py", line 49, in <module>     tf.app.run()   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 30, in run     sys.exit(main(sys.argv))   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/basic_rnn/basic_rnn_train.py", line 45, in main     Starting TensorBoard 16 on port 6006 (You can navigate to http://<IP_ADDRESS>:6006) Traceback (most recent call last):   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/basic_rnn/basic_rnn_train.py", line 49, in <module>     tf.app.run()   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 30, in run     sys.exit(main(sys.argv))   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/basic_rnn/basic_rnn_train.py", line 45, in main     melody_rnn_train.run(melody_encoder_decoder, basic_rnn_graph.build_graph)   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/shared/melody_rnn_train.py", line 206, in run melody_rnn_train.run(melody_encoder_decoder, basic_rnn_graph.build_graph)   File "/home/jeff/magenta/bazel-bin/magenta/models/basic_rnn/basic_rnn_train.runfiles/__main__/magenta/models/shared/melody_rnn_train.py", line 206, in run     FLAGS.sequence_example_file)   File "/home/jeff/magenta/magenta/models/basic_rnn/basic_rnn_graph.py", line 88, in build_graph     FLAGS.sequence_example_file)   File "/home/jeff/magenta/magenta/models/basic_rnn/basic_rnn_graph.py", line 88, in build_graph     num_units, state_is_tuple=state_is_tuple) TypeError: __init__() got an unexpected keyword argument 'state_is_tuple'     num_units, state_is_tuple=state_is_tuple) TypeError: __init__() got an unexpected keyword argument 'state_is_tuple'
Any clues? Thanks.

Hi @jeffehobbs. What version of tensorflow do you have installed when you see this error?

Good call. Updating to the latest version (r0.10) seems to have ditched the error. Thanks!


.keyword field not being recognized forcing to enable Fielddata Mapping in ES

Good afternoon Elastalert Team,
I created a rule and when applying to my ELK stack, it seems like it is not recognizing the .keyword field type. If I enable Fielddata mapping. it works, but I thought I could use .keyword as an alternative. Any thoughs?? This is the rule below:
alert:
- debug
buffer_time:
  seconds: 15
description: Detects a set of commands often used in recon stages by different attack
  groups
doc_type: doc
filter:
- query:
    query_string:
      query: (event_id:"1" AND process_command_line.keyword:("tasklist" "net time" "systeminfo"
        "whoami" "nbtstat" "net start" "*\\net1 start" "qprocess" "nslookup" "hostname.exe"
        "*\\net1 user \/domain" "*\\net1 group \/domain" "*\\net1 group \"domain admins\"
        \/domain" "*\\net1 group \"Exchange Trusted Subsystem\" \/domain" "*\\net1
        accounts \/domain" "*\\net1 user net localgroup administrators" "netstat \-an"))
index: logs-endpoint-winevent-sysmon-*
max_threshold: 4
metric_agg_key: _id
metric_agg_type: cardinality
name: Reconnaissance-Activity-with-Net-Command_0
priority: 3
query_key: process_command_line
realert:
  minutes: 0
type: metric_aggregation

I got the following error:
Error running query: RequestError(400, u'search_phase_execution_exception', u'Fielddata is disabled on text fields by default. Set fielddata=true on [process_command_line] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.')

The field process_command_line is not aggregatable but searchable as you can see below. However, if I use the field type .keyword, I should be able to use it in the Elastalert rule correct?

Ignore this. I forgot to add the .keyword on the query_key:
alert:
- debug
buffer_time:
  seconds: 15
description: Detects a set of commands often used in recon stages by different attack
  groups
doc_type: doc
filter:
- query:
    query_string:
      query: (event_id:"1" AND process_command_line:("tasklist" "net time" "systeminfo"
        "whoami" "nbtstat" "net start" "*\\net1 start" "qprocess" "nslookup" "hostname.exe"
        "*\\net1 user \/domain" "*\\net1 group \/domain" "*\\net1 group \"domain admins\"
        \/domain" "*\\net1 group \"Exchange Trusted Subsystem\" \/domain" "*\\net1
        accounts \/domain" "*\\net1 user net localgroup administrators" "netstat \-an"))
index: logs-endpoint-winevent-sysmon-*
max_threshold: 4
metric_agg_key: _id
metric_agg_type: cardinality
name: Reconnaissance-Activity-with-Net-Command_0
priority: 3
query_key: process_command_line
realert:
  minutes: 0
type: metric_aggregation


feat(lambda): The lambda function should have a description and configurable timeout

Two minor improvements:

The lambda function should have a description where currently it is blank.
The lambda timeout should be customisable, and set to a reduced value eg 2 minutes by default since the function normally runs in far less time.

Is a configurable timeout really needed? The duration of the function should almost identically for all users, shouldn't it?

@kayman-mk thanks for the feedback, agreed :)
Timeout should generally not be an issue as the lambda would complete quickly under normal conditions.
So point 2 can be changed:

The lambda timeout should be set to a reduced value eg 2 minutes since the function normally runs in far less time.


OnStart Processor isntead of logger filter?

Using this filter based method means on every log call it will run the filter and do this metadata update, right?
If instead this was setup as an OnStartprocessor it could be done once for all logs that are made.
Will also need an OnEnd to remove the span information from the logger metadata.

Sorry, I am wrong. If OnStart were used then the metadata would be updated even when the span is not set to the current span in the process dictionary and it would not be updated when a span is set to the current span, like when calling with_span or set_current_span.
We need to hook into setting the current span somehow.

Using this filter based method means on every log call it will run the filter and do this metadata update, right?

I think so yes.
I looked into other hooks as well but I wasn't able to access the current span. The filter seemed to be running in the right context so the current span was always correct.

What cost, if any, is there to set logger metadata?

The Otel SDK actually defines that it should be done like this library is already doing it https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/logging-library-sdk.md#implicit-context-injection
Before looking at this @bryannaegele and I were discussing this issue and he realized it actually needs to be done on context attach, not span start, since a span may become active in a process after it was started elsewhere (another process).
But maybe we should just keep it like the SDK defines where the logger just gets it from the context.

Closing since OnStart shouldn't be used and am adding logger metadata in otel_ctx:attach.


New version tag for ansible-galaxy

Ansible galaxy have old version of this role (without systemd templates). Please, add new repository tag 1.2 and galaxy role.
Thank you.

Done.


initial guess bug when GTH pseudo potential is used

Hi all,
I encountered a bug when using GTH pseudopotential. The script is the following:
#!/usr/bin/env python

import numpy as np
from pyscf.pbc import gto, dft

cell = gto.Cell()
cell.a = np.eye(3) * 10.0
cell.atom = [['Cu', [0.0, 0.0, 0.0]],
             ['O', [0.0, 0.0, 1.0]]]
cell.basis = {'Cu': 'gth-szv-molopt-sr', "O": 'gth-szv-molopt-sr'}
cell.pseudo = {'Cu': 'GTH-PBE-q19', "O": 'GTH-PBE'}
cell.verbose = 5
cell.build()

kmf = dft.KRKS(cell, cell.make_kpts([1, 1, 1])).density_fit()
dm0 = kmf.get_init_guess()

The error in output is like the following:
 Traceback (most recent call last):
  File "test.py", line 16, in <module>
    dm0 = kmf.get_init_guess()
  File "/home/zhcui/program/pyscf_ZHC_kpt_symm/pyscf/pbc/scf/khf.py", line 578, in get_init_guess
    dm = self.init_guess_by_minao(cell)
  File "/home/zhcui/program/pyscf_ZHC_kpt_symm/pyscf/scf/hf.py", line 1532, in init_guess_by_minao
    return init_guess_by_minao(mol)
  File "/home/zhcui/program/pyscf_ZHC_kpt_symm/pyscf/scf/hf.py", line 436, in init_guess_by_minao
    occ_add, basis_add = minao_basis(symb, nelec_ecp)
  File "/home/zhcui/program/pyscf_ZHC_kpt_symm/pyscf/scf/hf.py", line 400, in minao_basis
    occ_l[ndocc] = frac
IndexError: index 1 is out of bounds for axis 0 with size 1

Could take a look? Thanks!
Best,
Zhihao

I don't think the logics of MINAO initial guess for ECP basis works for GTH basis. A simple fix would be skipping the ECP part, i.e., by adding
if mol.pseudo:
            return occ, basis_ano

at https://github.com/pyscf/pyscf/blob/2bd16d760ddcbbcec4ca5d7b7b480b953743459b/pyscf/scf/hf.py#L372

I am confused. Isn't the MINAO the default guess? I think it is always used.

Ok, after discussing with Xing, it is due to the minimal basis does not have enough basis for small core PP.


Youtube API v2 deprecated

Because YouTube API v2 is now deprecated, all results for videoTitle are returning the string "https://youtube.com/devicesupport." This can be fixed by upgrading the library to YouTube data API v3 - https://developers.google.com/youtube/v3/. Users will have to probably set an API key when using this library once upgraded to this new version.

Hi Kip,
We updated the script with a new version to fix that issue; we're
interested in consistent and simple data collection, so we've opted to
forgo the Title altogether and let users add it back in either using Lookup
Tables or Data Import.
Dan
On May 11, 2015 1:39 PM, "Kip Sigman"<EMAIL_ADDRESS>wrote:

Because YouTube API v2 is now deprecated, all results for videoTitle are
returning the string "https://youtube.com/devicesupport." This can be
fixed by upgrading the library to YouTube data API v3 -
https://developers.google.com/youtube/v3/. Users will have to probably
set an API key when using this library once upgraded to this new version.
—
Reply to this email directly or view it on GitHub
https://github.com/lunametrics/youtube-google-analytics/issues/20.

Thanks Dan, that sounds like a sensible alternative.


Extra quotes added from python packager

Description

[x] ✋ I have searched the open/closed issues and my issue is not listed.

Related https://github.com/terraform-aws-modules/terraform-aws-lambda/issues/215
Versions

Module version: 3.3.1

Terraform version: 1.2.6

Terragrunt version: 0.38.6

Provider version(s):

provider "registry.terraform.io/hashicorp/aws" {
  version     = "4.25.0"
  constraints = ">= 4.9.0"
}

provider "registry.terraform.io/hashicorp/external" {
  version     = "2.2.2"
  constraints = ">= 1.0.0"
}

provider "registry.terraform.io/hashicorp/local" {
  version     = "2.2.3"
  constraints = ">= 1.0.0"
}

provider "registry.terraform.io/hashicorp/null" {
  version     = "3.1.1"
  constraints = ">= 2.0.0"
}

Reproduction Code [Required]
Using terragrunt and the jsonencode fix mentioned here https://github.com/terraform-aws-modules/terraform-aws-lambda/issues/215
When using multiple source paths, the python packaging script seems to add extra double quotes before and after the paths.
Broken 1
  ...
  source_path = [
    jsonencode("${get_repo_root()}/../some/path/to/module"),
    jsonencode("${get_repo_root()}/../some/path/to/module/subdir"),
    {
      pip_requirements =     ...
    }
  ]

│ Could not locate source_path
│ ""/repo/root/../some/path/to/module"".

Note the extra double quotes from the python parser.
Broken 2
locals {
  ...
  python_source_path = jsonencode("${get_repo_root()}/../some/path/to/module")
}

...
  source_path = [
    local.python_source_path,
    "${local.python_source_path}/subdir",
    {
      pip_requirements =     ...
    }
  ]

│ Could not locate source_path
│ ""/repo/root/../some/path/to/module"/subdir".

Workaround
  ...
  source_path = [
    replace(jsonencode("${get_repo_root()}/../some/path/to/module"), "\"", ""),
    replace(jsonencode("${get_repo_root()}/../some/path/to/module/subdir"), "\"", ""),
    {
      pip_requirements =     ...
    }
  ]

If you are using Terragrunt, you should not use jsonencode() on each element inside source_path but instead you should use it on the whole value like this:
source_path = jsonencode([
    local.python_source_path,
    "${local.python_source_path}/subdir",
    {
      pip_requirements =     ...
    }
  ]
)


refactor the objects stream to generate values lazily

This will allow consumers to incrementally process the object stream

Coverage remained the same at 90.848% when pulling d4cf6786e6a012ad5fafbc144328527af56cfd2e on sparty02:lazy-objects-stream into 018889757a0ac6c249ef7029a57d9b0f335ffe38 on benas:master.

Hi Ryan,
Great! This is more elegant than the for loop with a stream builder 👍
Please don't hesitate to add yourself to the contributors list in readme.md and pom.xml
Thank you. I'll merge your PR asap.
Kr
Mahmoud


[BUG] Status of clusterRoleExists is completed even when it is deleted

Rancher Server Setup

Rancher version: v2.9-head 1c2b815c8dd

Information about the Cluster

Kubernetes version: v1.30.1+k3s1
Cluster Type (Local/Downstream): Local

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: Admin

Describe the bug
Global role status fields is not updating summary for ClusterRoleExists even when we delete the backing cluster role.
To Reproduce

Create a global role with the following yaml:

apiVersion: management.cattle.io/v3
builtin: false
displayName: grole1
kind: GlobalRole
metadata:
  name: grole1
  finalizers:
    - foo
rules:
  - cattle-global-datae:
    - apiGroups:
        - management.cattle.io
      resources:
        - preferences
      verbs:
        - '*'

Verify a backing cluster role cattle-globalrole-grole2 is created.
Verified the status is completed too.
Delete the cluster role.
Observe the status.conditions.message in the status field of the global role and the lastTransitionTime and lastUpdateTime

Result
Message is not changed on the global role status field.
the lastTransitionTime and lastUpdateTime are not changed as well.
Expected Result
Expected the message is updated for the global role status field as there is a change in the backing cluster role.
Screenshots

So I would consider this a bug that exists outside of the status field. The issue is that when the cluster role is deleted/modified, the global role handler is not triggered, so the cluster role is not recreated.

Notice this happens on 2.8.4 as well. Deleting the cluster role does not trigger global role handler and the cluster role is not recreated.


make sure all production services have uptime monitoring

Airflow has uptime monitoring on StatusCake which makes sure airflow itself is healthy. Failed jobs send an email.
Main site has uptime monitoring on StatusCake which checks http://www.anyway.co.il/

@atalyaalon Should anything else be checked?


Spotify: Add AI Playlist command

Description
Added a new feature where the AI can create a playlist for you. You can then add this playlist to Spotify or queue all the songs directly.
Screencast
https://github.com/raycast/extensions/assets/16003285/8bb88a26-2da3-4a2c-9678-8720da293a3c
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Should there be some clarification that this is using the Raycast AI feature, rather than part of Spotify's native AI playlist generation (currently in beta for UK and australia)?

Should there be some clarification that this is using the Raycast AI feature, rather than part of Spotify's native AI playlist generation (currently in beta for UK and australia)?

Yep, I agree.

I doubt there'll be soon a Spotify API for this change as the API is quite incomplete regarding new features. I'm thinking we could just name it Generate Playlist and then, if an API drops in the future, we could add a command dropdown with two options:

Using Raycast AI
Using Spotify AI

What do you think?

I still think it should be made clear that it's not official Spotify functionality, but not too fussed either way.


activemq-artemis-broker-init 1.0.27 generates bootstrap.xml that throws exception that prevents broker 2.34.0 from starting

Describe the bug
testing latest ActiveMQ Artemis v 2.34.0 in kubernetes.  Using these docker images:
quay.io/artemiscloud/activemq-artemis-operator                              1.2.2     5e0cc862ad52   6 days ago          532MB
quay.io/artemiscloud/activemq-artemis-broker-init                           1.0.27    af2dc8181546   7 days ago          1.08GB
quay.io/artemiscloud/activemq-artemis-broker-kubernetes                     1.0.26    917b2cde2da0   7 days ago          893MB
I build a custom broker-init image to configure the broker.  Which adds config parameters to the broker.xml and bootstrap.xml files.  The init container runs my customizations with out any problems but when the container is started it reports an exception and the container is stopped/terminated.  Here is the contents of the broker log from the failed container.
kubectl -n dvs logs cray-dvs-mqtt-ss-0
Removing provided -XX:+UseParallelOldGC in favour of artemis.profile provided option
Platform is x86_64
Running server env: home: /home/jboss AMQ_HOME /opt/amq CONFIG_BROKER false RUN_BROKER
NO RUN_BROKER defined
Using custom configuration. Copy from /amq/init/config to /home/jboss/amq-broker
bin
etc
lib
log
tmp
Running Broker in /home/jboss/amq-broker
The Prometheus plugin already configured.
Using default logging configuration(console only)
ERROR StatusLogger Reconfiguration failed: No configuration found for '5a07e868' at 'null' in 'null'
javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 155; cvc-complex-type.3.2.2: Attribute 'sniHostCheck' is not allowed to appear in element 'binding'.]
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:453)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:387)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:356)
	at org.apache.activemq.artemis.dto.XmlUtil.decode(XmlUtil.java:114)
	at org.apache.activemq.artemis.cli.factory.xml.XmlBrokerFactoryHandler.createBroker(XmlBrokerFactoryHandler.java:35)
	at org.apache.activemq.artemis.cli.factory.BrokerFactory.createBrokerConfiguration(BrokerFactory.java:47)
	at org.apache.activemq.artemis.cli.factory.BrokerFactory.createBrokerConfiguration(BrokerFactory.java:54)
	at org.apache.activemq.artemis.cli.commands.Configurable.getBrokerDTO(Configurable.java:122)
	at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
	at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:212)
	at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:162)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:144)
	at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61)
Caused by: org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 155; cvc-complex-type.3.2.2: Attribute 'sniHostCheck' is not allowed to appear in element 'binding'.
	at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
	at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
	at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:512)
	at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3600)
	at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2993)
	at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2287)
	at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:830)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.startElement(ValidatorHandlerImpl.java:571)
	at com.sun.xml.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:71)
	at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:45)
	at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:216)
	at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:150)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:385)
	... 15 more

And the log from my running of my custom post-config.sh script in the broker-init container:
kubectl -n dvs logs cray-dvs-mqtt-ss-0 -c cray-dvs-mqtt-container-init
Removing provided -XX:+UseParallelOldGC in favour of artemis.profile provided option
Platform is x86_64
Running server env: home: /home/jboss AMQ_HOME /opt/amq CONFIG_BROKER  RUN_BROKER false
NO CONFIG_BROKER defined
Configuring Broker at /amq/init/config
config Using instanceDir: /home/jboss/amq-broker
Broker will be clustered
Setting journal type to nio
Creating Broker with args --silent --role admin --name amq-broker --http-host cray-dvs-mqtt-ss-0.cray-dvs-mqtt-hdls-svc.dvs.svc.cluster.local --java-options=-Djava.net.preferIPv4Stack=true  --user XXXXX --password XXXXX  --allow-anonymous --data /opt/cray-dvs-mqtt/data --no-amqp-acceptor --no-hornetq-acceptor --no-mqtt-acceptor --no-stomp-acceptor --no-autotune --clustered --cluster-user XXXXX --cluster-password XXXXX --host cray-dvs-mqtt-ss-0.cray-dvs-mqtt-hdls-svc.dvs.svc.cluster.local --nio at /home/jboss/amq-broker
Creating ActiveMQ Artemis instance at: /home/jboss/amq-broker

You can now start the broker by executing:

   "/home/jboss/amq-broker/bin/artemis" run

Or you can run the broker in the background using:

   "/home/jboss/amq-broker/bin/artemis-service" start

Checking yacfg file under dir:
Generating jgroups-ping.xml, current dir is: /tmp/remote_source/app, AMQHOME: /opt/amq
APPLICATION_NAME is not set
Setting redistribution-delay to zero.
Using acceptors from environment and removing existing entries
Removing hardcoded -Xms -Xmx from artemis.profile in favour of JAVA_OPTS in log above
Configure logging
Enable artemis metrics plugin
Adding artemis metrics plugin
Copying Config files from S2I build
'/opt/amq/conf/jgroups-ping.xml' -> '/home/jboss/amq-broker/etc/jgroups-ping.xml'
'/opt/amq/conf/log4j2.properties' -> '/home/jboss/amq-broker/etc/log4j2.properties'
Custom Configuration file 'BROKER_XML' is disabled
Custom Configuration file 'LOG4J2_PROPERTIES' is disabled
user defined CONFIG_INSTANCE_DIR, copying
amq-broker
exposing env var CONFIG_INSTANCE_DIR for custom init
CONFIG_INSTANCE_DIR value from /amq/init/config
Exported value of CONFIG_INSTANCE_DIR: /amq/init/config/amq-broker
Finding default custom script at /amq/scripts/post-config.sh
Found custom script /amq/scripts/post-config.sh, executing it
/amq/scripts/post-config.sh
post-config.sh: Start
post-config.sh: JWKS_SPIRE_URLS: http://spire-jwks.spire/keys
post-config.sh: JWKS_AUDIENCE: system-compute
post-config.sh: JWKS_ISSUERS: http://spire.local/shasta/vshastaio
post-config.sh: JWKS_CLOCK_SKEW_SECONDS: 60
post-config.sh: JWKS_SPIRE_CONTACT_RATE: 60
post-config.sh: JWT_XNAME_POLICY_ENABLED: true
post-config.sh: LOG4J2_PROPERTIES:
post-config.sh: ACTIVEMQ_LOGGING:
post-config.sh: Config dir: /amq/init/config/amq-broker
post-config.sh: Copy jars
'/cray/lib/hpc-activemq-artemis-security-manager-0.0.1.jar' -> '/amq/init/config/amq-broker/lib/hpc-activemq-artemis-security-manager-0.0.1.jar'
'/cray/lib/jose4j-0.9.3.jar' -> '/amq/init/config/amq-broker/lib/jose4j-0.9.3.jar'
post-config.sh: Add properties to bootstrap.xml
post-config.sh: Replace <jaas-security domain="activemq"/> in /amq/init/config/amq-broker/etc/bootstrap.xml
post-config.sh: Configuring HA for cray-dvs-mqtt-ss-0
post-config.sh: Configuring storage directories for cray-dvs-mqtt-ss-0
post-config.sh: contents of: /cray/etc/bootstrap-security-manager.xml
------------------------
   <security-manager class-name="com.hpe.hpc.activemq.JwtJaasSecurityManager">
      <property key="domain" value="activemq"/>
      <property key="jwks-spire-urls" value="http://spire-jwks.spire/keys"/>
      <property key="jwks-audience" value="system-compute"/>
      <property key="jwks-issuers" value="http://spire.local/shasta/vshastaio"/>
      <property key="jwks-clock-skew-seconds" value="60"/>
      <property key="jwks-spire-contact-rate" value="60"/>
      <property key="jwt-xname-policy-enabled" value="true"/>
   </security-manager>
------------------------
post-config.sh: contents of: /amq/init/config/amq-broker/etc/bootstrap.xml
------------------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements. See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License. You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<broker xmlns="http://activemq.apache.org/schema">

   <security-manager class-name="com.hpe.hpc.activemq.JwtJaasSecurityManager">
      <property key="domain" value="activemq"/>
      <property key="jwks-spire-urls" value="http://spire-jwks.spire/keys"/>
      <property key="jwks-audience" value="system-compute"/>
      <property key="jwks-issuers" value="http://spire.local/shasta/vshastaio"/>
      <property key="jwks-clock-skew-seconds" value="60"/>
      <property key="jwks-spire-contact-rate" value="60"/>
      <property key="jwt-xname-policy-enabled" value="true"/>
   </security-manager>

   <!-- artemis.URI.instance is parsed from artemis.instance by the CLI startup.
        This is to avoid situations where you could have spaces or special characters on this URI -->
   <server configuration="file:/home/jboss/amq-broker/etc//broker.xml"/>

   <!-- The web server is only bound to localhost by default -->
   <web customizer="org.eclipse.jetty.server.ForwardedRequestCustomizer" path="web" rootRedirectLocation="console">
       <binding sniHostCheck="false" sniRequired="false" name="artemis" uri="http://cray-dvs-mqtt-ss-0.cray-dvs-mqtt-hdls-svc.dvs.svc.cluster.local:8161">
           <app name="branding" url="activemq-branding" war="activemq-branding.war"/>
           <app name="plugin" url="artemis-plugin" war="artemis-plugin.war"/>
           <app name="console" url="console" war="console.war"/>
       <app url="metrics" war="metrics.war"/></binding>
   </web>

</broker>

------------------------
post-config.sh: contents of: /amq/init/config/amq-broker/etc/broker.xml
------------------------

=== OMITTED ===

------------------------
post-config.sh: SUCCESS

Note the contents of the bootstrap.xml in the output above.  In particular these two lines are generating the exception.
   <web customizer="org.eclipse.jetty.server.ForwardedRequestCustomizer" path="web" rootRedirectLocation="console">
       <binding sniHostCheck="false" sniRequired="false" name="artemis" uri="http://cray-dvs-mqtt-ss-0.cray-dvs-mqtt-hdls-svc.dvs.svc.cluster.local:8161">

This is code provided from the activemq-artemis-broker-init imag.  My post-config.sh adds the  contents to the bootstrap.xml file.
I see from the Artemis documentation, https://activemq.apache.org/components/artemis/documentation/latest/web-server.html, that web syntax looks ok.

[!TIP]
Vote this issue reacting with :+1: or :-1:

is your custom init container image rebased on the 1.0.27 init container. It looks like possibly there is an older xsd in play.

I thought it was but I'll double check.

This interdependence on the xml schema between init container and run container is one of the reasons for moving lots of the configuration to brokerProperties.
For the web container you are limited to system properties to augment the config, those can be in JAVA_ARGS_APPEND but it should be possible to configure your custom security manager via broker properties.
In short, I think you may be able to drop your init container to avoid this sort of problem into the future and avoid the need to manage a dependent container.

That will be a future exercise.  I also need to add jar file to the broker for my security manager implementation.  So I will still need the custom broker-init.  For now I am trying to get the xsd in sync with the newer run container.  But I don't see where it is getting out of sync.  I verified my docker file.  See bellow.
FROM arti.hpc.amslabs.hpecorp.net/docker-remote/maven:3.9.1-amazoncorretto-11 AS BUILDER
COPY security-manager /security-manager
RUN cd /security-manager; mvn clean install --settings settings.xml

FROM quay.io/artemiscloud/activemq-artemis-broker-init:1.0.27
USER root
RUN set -x \
    && mkdir -p /amq/scripts \
    && mkdir -p /cray/etc \
    && mkdir -p /cray/lib
RUN set -x \
    && chmod a+w /cray/etc
USER 185
COPY scripts/post-config.sh /amq/scripts
COPY config/bootstrap-security-manager.xml /cray/etc
COPY --from=builder /security-manager/target/hpc-activemq-artemis-security-manager-0.0.1.jar /cray/lib/
COPY --from=builder /security-manager/target/lib/jose4j-0.9.3.jar /cray/lib/

And I have loaded the images into my local repo for the custom build, so I am at a loss to where the old psd creeps in?

There will be a need for an init container or volume mount to make your custom classes available, but that can isolated and version independent.

I am upgrading a system where an older version has been running. Could the older xsd be picked up somehow?

It seems so.
The schema(s) are in the /opt/amq/schema/ directory, the relevant bindings type in activemq.xsd

@pshields2 did you fix your issue?


Exported data from access has redundant data, how do we deal with this?

This is a row in the Cores table exported as csv, please look at the last three fields. Why is this like this. We have a Date time combined field, and then separate Date and Time. I would expect them to be the same and consistent, but they are not.
id                                                                           37
registered_by                                                                 3
well                                                                    DELGT01
core_number                                                                  C1
core_section_number                                                         1.0
core_section_name                                                  DELGT01-C1-1
collection_date                                                      2023-08-10
planned_core_number                                                          C1
unplanned_core                                                               No
top_depth                                                                2511.5
bottom_depth                                                             2512.5
remarks                                             vacuum sealed on 16-08-2023
core_section_length                                                         1.0
core_recovery                                                               NaN
core_diameter                                                                 4
coring_method                                                               NaN
coreliner                                                              Aluminum
drilling_mud                                                      Oil-based mud
formation                                                                   NaN
lithology                     TOP: very hard, coarse silt, m-grey-brown, dar...
core_status                                                           Preserved
preservation                                                                NaN
Core in Barrel Weight [kg]                                                  NaN
ct_scanned                                                                  NaN
gamma_ray                                                                   NaN
weight                                                                     27.8
radiation                                                                   2.4
ct_scanned.1                                                                Yes
registration_date                                              2023-08-21 11:30
Registration Date                                                    2023-08-10
Registration Time                                                         14:43

In the database are only the last two fields, something when wrong and the combine field remained. The following fields should be removed:
registration_date
ct_scanned.1
Core in Barrel Weight [kg]


Adds port twice when using connectionStrings from upbound/provider-aws-rds

What happened?
I'm creating a composition that will use manage both RDS and provider-sql databases. I've successfully created an RDS MySQL Instance using the provider-aws-rds.
apiVersion: rds.aws.upbound.io/v1beta3
kind: Instance
metadata:
  name: platform-test-db-mgxgx
spec:
  deletionPolicy: Delete
  forProvider:
    allocatedStorage: 10
    applyImmediately: true
    autoGeneratePassword: true
    autoMinorVersionUpgrade: true
    engine: mysql
    engineVersion: "8.0"
    instanceClass: db.t4g.micro
    multiAz: false
    region: eu-central-1
    skipFinalSnapshot: true
    username: root

Now I want to use provider-sql to manage the databases and users.
The connectionString created by provider-aws-rds looks like this:
apiVersion: v1
kind: Secret
type: connection.crossplane.io/v1alpha1
metadata:
  name: rds-creds-platform-test-db-mgxgx
  namespace: crossplane
data:
  address: platform-test-db-mgxgx.hashhashash.eu-central-1.rds.amazonaws.com
  attribute.password: REDACTED
  endpoint: platform-test-db-mgxgx.hashhashash.eu-central-1.rds.amazonaws.com:3306
  host: platform-test-db-mgxgx.hashhashash.eu-central-1.rds.amazonaws.com
  password: REDACTED
  port: "3306"
  username: root

Referencing it from a ProviderConfig works fine
apiVersion: mysql.sql.crossplane.io/v1alpha1
kind: ProviderConfig
metadata:
  name: mysql-provider-config-platform-test-db-mgxgx
spec:
  credentials:
    connectionSecretRef:
      name: rds-creds-platform-test-db-mgxgx
      namespace: crossplane
    source: MySQLConnectionSecret
  tls: preferred

When creating a database there's an issue with the port being added twice:
kubectl get events -w
0s (x9 over 1s)          Warning   CannotObserveExternalResource   Database/rds-test
cannot select database: dial tcp: lookup platform-test-db-mgxgx.hashhashhas.eu-central-1.rds.amazonaws.com:3306:3306: no such host

What environment did it happen in?
Cloud provider: AWS EKS
$ crossplane version
Client Version: v1.17.0
Server Version: v1.17.0

$ kubectl version
Client Version: v1.31.1
Kustomize Version: v5.4.2
Server Version: v1.29.7-eks-2f46c53

Would be solved by: https://github.com/crossplane-contrib/provider-sql/pull/154
Possible upstream issue: https://github.com/crossplane-contrib/provider-upjet-aws/issues/778

FYI https://github.com/crossplane-contrib/provider-sql/issues/203

Closing as duplicate of #203


(nit) Move enumerating extra headers to separate method

(nit) Only pay the stack zeroing costs (40 bytes) for the 2 x enumerators if used and trims 658 bytes from the method taking it to 71 bytes keeping the data cache hotter.
Before
; Assembly listing for method HttpResponseHeaders:CopyTo(byref):this
; Lcl frame size = 200

G_M60361_IG01:
       push     rdi
       push     rsi
       push     rbp               ; 2 extra reg pushes to stack
       push     rbx               ;
       sub      rsp, 200
       vzeroupper
       mov      rsi, rcx
       lea      rdi, [rsp+28H]
       mov      ecx, 40           ; zero 40 bytes of stack
       xor      rax, rax          ;
       rep stosd                  ;
       mov      rcx, rsi
       mov      rdi, rcx
       mov      rsi, rdx

G_M60361_IG02:
       mov      rcx, rdi
       mov      rdx, rsi
       call     HttpResponseHeaders:CopyToFast(byref):this
       cmp      gword ptr [rdi+8], 0
       je       G_M60361_IG23
       ;...

; Total bytes of code 729, prolog size 34 for method HttpResponseHeaders:CopyTo(byref):this

After
; Assembly listing for method HttpResponseHeaders:CopyTo(byref):this
; Lcl frame size = 40

G_M60302_IG01:
       push     rdi
       push     rsi
       sub      rsp, 40
       mov      rsi, rcx
       mov      rdi, rdx

G_M60302_IG02:
       mov      rcx, rsi
       mov      rdx, rdi
       call     HttpResponseHeaders:CopyToFast(byref):this
       mov      rcx, gword ptr [rsi+8]
       test     rcx, rcx
       je       SHORT G_M60302_IG04
       ;...

; Total bytes of code 71, prolog size 6 for method HttpResponseHeaders:CopyTo(byref):this

Rebased

CI issues https://github.com/aspnet/AspNetCore/issues/7839 and https://github.com/aspnet/AspNetCore/issues/7867

Rebased

Moved new method to local function (also to retrigger CI)

Build failure seems to be unrelated (still working on knocking those down ;)). Filed https://github.com/aspnet/AspNetCore/issues/8126. I'll try a re-spin. I presume you rebased recently @benaadams? Looks like it from the GitHub history.

/azp run AspNetCore-ci

I presume you rebased recently

Yeah , this was the rebase on current

Might have to retrigger Windows x64 manually; doesn't seem to want to restart via the pipeline comment?

Looks like it is re-running, according to Azure Pipelines, despite GitHub's check UI not updating.

Rebased

@jkotalik if this is good to go, let's merge it this morning for preview 4.


Carthage support

Would be really nice!

+1

Please, it would be awesome!

While the PR gets merged, you can try github "catalandres/SwiftStrings".


Error 404 in console

It seems that social likes uses yandex.ru
but it gives 404 error
https://share.yandex.ru/gpp.xml?url=http%3A%2F%2Fsocial-likes.js.org%2Fru%2F&callback=jQuery22005561533208318772_1508939015344&_=1508939015345
Could you please fix it?

Fee free to submit a pull request with a fix.

This happens because Google Plus share numbers where turned off by Google recently.
So, just remove the part the adds the call to retrieve Google Plus share numbers with Yandex in social-likes.js at line 116:
plusone: {
	counterUrl: protocol + '//share.yandex.ru/gpp.xml?url={url}&callback=?',
	convertNumber: function(number) {
		return parseInt(number.replace(/\D/g, ''), 10);
	},
	popupUrl: 'https://plus.google.com/share?url={url}',
	popupWidth: 500,
	popupHeight: 550,
},

Fee free to submit a pull request with a fix.


Update licensing doc

Codecov Report
Patch and project coverage have no change.

Comparison is base (9cd5495) 42.35% compared to head (98d775c) 42.35%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #4   +/-   ##
=======================================
  Coverage   42.35%   42.35%
=======================================
  Files           5        5
  Lines          85       85
=======================================
  Hits           36       36
  Misses         49       49

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


Throw an exception when right clicked the code block.

Which version of the app?
WinUI 3 Gallery
Description
I accidentally right-clicked the code block and the app throw an exception🤣.
Screenshots

Windows version
Windows 11 22H2 (22621)
Additional context
No response

Is this still an issue?

I believe it has been fixed after the Windows SDK updated .


Sync issue with MIDI / WAV files

Hello! I need to play a MIDI file (using mido) and WAV file (using pysimpleaudio) at the exact same time. The MIDI file is dragging relative to the WAV file. It seems as if the MIDI is playing ever so slightly too slow, which leads to the files becoming out of sync. Here's some details:

WAV sample_rate = 44.1 kHz
MIDI ticks_per_beat = 96
MIDI tempo = 120 bpm (I believe? There is no set_tempo in MIDI file)

Files:

Archive.zip

Any idea what's going on here?
Information to replicate:
I'm using multiprocessing with one Process for the MIDI file and another Process for the WAV file. Each Process waits until an agreed upon start time to execute, which confirms that the play() methods for each are being called at the same timestamp to the microsecond.
The full code is at the bottom. I've verified that the following two calls are started at the exact same timestamp to the microsecond:
for msg in mid_file.play():
        mid_port.send(msg)

play_file = wav_file.play()
play_file.wait_done()

System info:

Windows 10 (ugh)
Python 3.7

Code (truncated for brevity):
from multiprocessing import Process
from time import time

import simpleaudio as sa
import mido

MID_PORT_NAME = ...
mid_port = mido.open_output(MID_PORT_NAME)

class AudiovisualClient:

    def __init__(self):
        self.procs = []
        self.mid_path = None
        self.wav_path = None
        self.mid_file = None
        self.wav_file = None

    def run_files(self, mid_path, wav_path):

        self.mid_path = mid_path
        self.wav_path = wav_path
        self.mid_file = mido.MidiFile(self.mid_path)
        self.wav_file = sa.WaveObject.from_wave_file(self.wav_path)

        start_time = time() + 3  # Start each Process at agreed upon time

        self.procs = [
            Process(target=start_connect_audio, args=(self.wav_file, start_time)),
            Process(target=start_connect_visual, args=(self.mid_file, start_time)),
        ]

        for proc in self.procs:
            proc.start()

def start_connect_audio(wav_file, start_time=None, delay=0):
    if start_time is not None:
        while time() < start_time + delay:
            pass
    play_file = wav_file.play()
    play_file.wait_done()

def start_connect_visual(mid_file, start_time=None):
    if start_time is not None:
        while time() < start_time:
            pass
    for msg in mid_file.play():
        mid_port.send(msg)

Usage:
avc = AudiovisualClient()

mid_path = ...
wav_path = ...

avc.run_files(mid_path, wav_path)

Thank you for a very detailed bug report with example code and files!
When I wrote the file player I didn't take into account the time spent processing the messages. This is likely why the playback drags.
@belm0 had submitted a fix for this in pull request #161. Can you try the latest version in the master and see if the timing improves?


Sync eng/common directory with azure-sdk-tools for PR 1866

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1866  See eng/common workflow

/check-enforcer override


Two Drawers - onClose not firing on touch event

I'm new to this package so forgive me if I don't have it setup properly.  I'm trying to create a left and right drawer, which I have nested as suggested in an older issue.
It appears through some debugging that a dragged touch to close either panel below does not fire the onClose handler.  I have a custom nav bar with a left and right button; those buttons call the open/close methods as shown below and the button press method does cause the appropriate drawer to fire it's onClose handler.  In fact, it looks like it's firing onOpen of the other drawer.
Any suggestions?
toggleLeftDrawer: function() {
   (this.state.leftDrawerOpen) ? this.refs.leftDrawer.close() : this.refs.leftDrawer.open();
},
toggleRightDrawer: function() {
   (this.state.rightDrawerOpen) ? this.refs.rightDrawer.close() : this.refs.rightDrawer.open();
}

<Drawer
   ref='leftDrawer'
   type='static'
   side='left'
   content={<Text>Left Panel</Text>}
   openDrawerOffset={100}
   onOpen={this.openLeftDrawer}
   onClose={this.closeDrawer}
   styles={{main: {shadowColor: '#000000', shadowOpacity: 0.4, shadowRadius: 3}}}
   tweenHandler={Drawer.tweenPresets.parallax}
   >
   <Drawer
      ref='rightDrawer'
      type='static'
      side='right'
      content={<Text>Right Panel</Text>}
      openDrawerOffset={100}
      onOpen={this.openRightDrawer}
      onClose={this.closeDrawer}
      styles={{main: {shadowColor: '#000000', shadowOpacity: 0.4, shadowRadius: 3}}}
      tweenHandler={Drawer.tweenPresets.parallax}
      >
      <View>
         ...
      </View>
   </Drawer>
</Drawer>

Not sure off the top of my head. Are the drawers acting as intended visually, and the only problem is the onClose callback?

The nested drawers are competing for the "pan handler". So what happens is "closing" the drawer is actually never really closing the drawer but instead triggering the "open" of the opposite drawer.
To work around this (for now) you will need to set captureGestures={true} for the currently open drawer. Here is a gist showing how that can be done: https://gist.github.com/rt2zz/21d06a70167a6c976f9f
We could solve this internally with a captureGesturesWhenOpen prop. the problem is there are already so many props, so I want to think on this for a bit, and am open to suggestions for other solutions.

Thanks for the help.  I added the captureGestures (as you had it) and I was still having the problems.  I finally figured out that I was on v1.8.0 of react-native-drawer.  Once I upgraded to v1.9.0 those problems went away.  Appreciate the help!

@rt2zz I have the same issue. I tried your exact gist and the onClose callback is still not being called. I am using v1.13.0. Debugging your code in the Gist, when opening and closing the left drawer works fine, but when you open the right drawer and then close it, the onOpen callback gets called of the left drawer instead of the onClose callback of the right drawer.
Any updates on this?

I got it working modifying the openLeftDrawer function to this.
openLeftDrawer () {
    if (this.state.rightDrawerOpen) {
      this.setState({
        rightDrawerOpen: false,
        leftDrawerOpen: false
      });
      this.refs.leftDrawer.close();
      this.refs.rightDrawer.close();
    } else {
      this.setState({
        leftDrawerOpen: true
      });
    }
  }

Note: I am setting negotiatePan to true in my case.

@Jpadilla1 Thanks man, this worked really well!

As a note here, even with the snippet from Jpadilla1. You will come across some times where swiping repeatedly will cause state issues so that a drawer will be set to open even thought it is closed.
To get around this, I disabled panning (aka acceptPan={false}) on both drawers and it fixed the issue for me.

In terms of a long term more elegant solution:
I think the fundamental issue here is that the left open pan responder competes with the right close responder. Similarly the right open will compete with the left close. This is actually not trivial to solve because depending on the application which drawer should win (left open vs right close) may vary.
One possible solution here is to have the inner drawer check for the outer drawer context, and if it exists run some disambiguation logic. I think by default we want the "close" responder to win over the "open" responder.

ok I published @2.0.0-beta2 which has a naive but I think generally acceptable default behavior: when one drawer is open the other drawer is disabled. Currently this only works for 2 drawers,
Supporting 3+ drawers is possible but will require more work.

@rt2zz Awesome, thanks man!

Closing, feel free to reopen if needed


update capture credit card readme

Changelog:
Fixing order of param in example for capture credit card

LGTM

LGTM


Publisher: events from host

Feature
It would be nice to have support for events coming from host, triggering specific actions in Publisher. For example:
Maya render setup could notify Publisher about changes. When new render layer is created, method on Creator in publisher could be triggered to add new instance (or modify attributes) and so on. It would help with situations where opened publisher doesn't reflect current state of the scene until it is refreshed and there is no way to notify artist to do so.
[cuID:OP-5286]

How about this?
Creator specific callbacks
Allow a creator plug-in to connect to OpenPype events. Like:
from openpype.lib.events import register_event_callback

class Creator:
    def register_events(self):
        self.callbacks= []
        self.callbacks.append(register_event_callback("open", self.on_open))
        self.callbacks.append(register_event_callback("new", self.on_new))

    def unregister_events(self):
        for callback in self.callbacks:
            callback.deregister()

The question there just becomes, if it ends up doing something how does the publisher 'controller' now to refresh something specific?
New publisher track host changes

The publisher itself might also connect to some default events out of the box, like open, new so that IF a host does emit it then for example it could react to that, like invalidating the current state of the UI on new or open.

If the event names aren't reliable enough to have some default registered events for it then maybe we could have something like slots on the new publisher that the host installation could set up during its install() method. But I'd prefer option 1) here actually since it's less host-specific and doesn't require host specific tweaks for the publisher.


What changes are in version 1.20.05 ?

In Thor Check For Updates, I see that the current version is 1.20.05.
Is there a description somewhere of what changes have been made since version 1.19.78?

For some reason, Change_Log.md is missing. When I merge in recent changes from @lscheffler, I'll make sure that file is included in the repository.

To bring the project better in line withe the standard, Change_Log.md is changed to ChangeLog.md in my fork, see
https://github.com/lscheffler/foxbin2prg/blob/fork_mod/docs/ChangeLog.md .
This is set in the readme of https://github.com/lscheffler/foxbin2prg as well.


Sake gets confused by patterns

What I expect the Sakefile below to do is

Run target "download 193L"
Run target "count residues in 193L.fasta"

Here is what happens instead:
$ sake -r
Would run target: count residues in %pdb.fasta
Would run target: download 193L

$ sake
Running target count residues in %pdb.fasta
grep -v '^>' %pdb.fasta | fold -w1 | sed -e s/A/ala/ -e s/R/arg/ -e s/N/asn/ -e s/D/asp/ -e s/C/cys/ -e s/Q/gln/ -e s/E/glu/ -e s/G/gly/ -e s/H/his/ -e s/I/ile/ -e s/L/leu/ -e s/K/lys/ -e s/M/met/ -e s/F/phe/ -e s/P/pro/ -e s/S/ser/ -e s/T/thr/ -e s/W/trp/ -e s/Y/tyr/ -e s/V/val/ | tr '[:lower:]' '[:upper:]' | sort | uniq -c > %pdb.fasta-counts;
grep: %pdb.fasta: No such file or directory
File '%pdb.fasta' could not be read! Exiting!

Sake takes the pattern %pdb as a file name and runs the patterned target first. It works fine if I run "dowload 193L" manually before a plain sake.
#! DOWNLOAD_PDB = wget http://www.rcsb.org/pdb/files/
#! DOWNLOAD_FASTA = wget http://www.rcsb.org/pdb/download/downloadFile.do\?fileFormat\=fasta\&structureId\=

download 193L:
  help: download protein structure 193L from the PDB
  dependencies:
  output:
    - 193L.fasta
  formula: >
    ${DOWNLOAD_FASTA}193L -O 193L.fasta;

count residues in %pdb.fasta:
  help: count the residues in the FASTA sequence file
  dependencies:
    - "%pdb.fasta"
  output:
    - "%pdb.fasta-counts"
  formula: >
    grep -v '^>' %pdb.fasta | fold -w1 | sed -e s/A/ala/ -e s/R/arg/ -e s/N/asn/ -e s/D/asp/ -e s/C/cys/ -e s/Q/gln/ -e s/E/glu/ -e s/G/gly/ -e s/H/his/ -e s/I/ile/ -e s/L/leu/ -e s/K/lys/ -e s/M/met/ -e s/F/phe/ -e s/P/pro/ -e s/S/ser/ -e s/T/thr/ -e s/W/trp/ -e s/Y/tyr/ -e s/V/val/ | tr '[:lower:]' '[:upper:]' | sort | uniq -c > %pdb.fasta-counts;

ARG! When I opened the PR for patterns, I had this nagging feeling I was missing something. This was it. Patterns are expanded based on existing files. This has two issues I just realized:

Meta-targets are not expanded
What you're seeing: patterns depending on an output don't work

I'll look into this more. Seems like every time I fix a mess I make, I create another one in the process!

@kirbyfan64 what's the status of this?

@kirbyfan64 what's the status of this?

Work-in-progress. Unfortunately, I'm probably going to have to rearrange some stuff to make it work.

@khinsen Working on this...but, as an unrelated side note, you don't need to put semicolons at the end of formulas. Also, your command for counting residues is REALLY long; you can split it over multiple lines. For instance:
#! DOWNLOAD_PDB = wget http://www.rcsb.org/pdb/files/
#! DOWNLOAD_FASTA = wget http://www.rcsb.org/pdb/download/downloadFile.do\?fileFormat\=fasta\&structureId\=

download 193L:
  help: download protein structure 193L from the PDB
  dependencies:
  output:
    - 193L.fasta
  formula: >
    ${DOWNLOAD_FASTA}193L -O 193L.fasta

count residues in %pdb.fasta:
  help: count the residues in the FASTA sequence file
  dependencies:
    - "%pdb.fasta"
  output:
    - "%pdb.fasta-counts"
  formula: >
    grep -v '^>' %pdb.fasta |
    fold -w1 |
    sed -e s/A/ala/ -e s/R/arg/ -e s/N/asn/ -e s/D/asp/ -e s/C/cys/ -e s/Q/gln/ -e s/E/glu/ -e s/G/gly/
           -e s/H/his/ -e s/I/ile/ -e s/L/leu/ -e s/K/lys/ -e s/M/met/ -e s/F/phe/ -e s/P/pro/ -e s/S/ser
           -e s/T/thr/ -e s/W/trp/ -e s/Y/tyr/ -e s/V/val/ |
    tr '[:lower:]' '[:upper:]' | sort | uniq -c > %pdb.fasta-counts

When you use > to begin a formula, all line breaks are removed. If you use a pipe (|) instead, the line breaks are preserved.
Just a side note!

@kirbyfan64 Thanks for those suggestions! Your version is definitely cleaner.

@khinsen This should be fixed now.