Race condition during module compilation  engine

Describe the bug
In the wazevo engine implementation there're multiple places where Go maps are used (not sync.Map). When trying to run modules in parallel (different runtime instances, shared cache) - race conditions occur and execution is aborted with fatal error: concurrent map read and map write
To Reproduce
Try and run the same command module in a for loop, creating a new runtime for each iteration. Delegate load & execution to a new Go routine for each execution attempt.
Expected behavior
No race condition / panics shall occur when running modules in parallel with a common/shared cache.
Screenshots
N/A
Environment (please complete the relevant information):

Go version: 1.22.1
wazero Version: v1.7.1
Host architecture: amd64
Runtime mode: compiler

Additional context
N/A

please provide the reproducer, otherwise we can't verify

closing until you give us the minimal repro. Note that executing a module instance concurrently is inherently unsafe and not possible unless you use the threading proposal enabled + your binary is compiled in that way.

As described in this comment - a compilation engine is getting re-used/shared between runtimes.
The wazevo engine comes with an internal map named compiledModules. When creating runtimes & compiling modules happens concurrently - a race condition occurs with accessing the said map. This happens in here

I'd be glad to provide example(s), propose a fix etc. Just want to see this one getting resolved 😊

A bit of background to the story - issue has been observed while working on a high-level library that steps on top of wazero and takes care to hide away complexity associated with working with the linear memory etc. This one - we plan to open-source as soon we have the APIs somewhat final.

@mathetake - update of my previous comment (was on my phone, on my way to work)
As described in this comment - a compilation engine is getting re-used/shared between runtimes.
The wazevo engine comes with an internal map named compiledModules. When creating runtimes & compiling modules happens concurrently - a race condition occurs with accessing the said map. This happens like so:

in here
invoked from which is in turn being invoked [in here]
invoked from
invoked from

As the "callstack" suggests - there's no logic to govern access to the said map and the said map is not thread-safe. As a result - a race condition occurs as soon as you try and use a single cache instance among multiple runtime instances and you try to load/execute modules concurrently.
It is evident that we're talking about a bug in here. If you take a look at the implementation of CompiledModuleCount for wazevo (see: here) - read-only access to the said map is governed appropriately.

A potential fix for the problem is to create a "private" function to check if a module has been compiled already. Something like:
func (e *engine) isCompiled(m *wasm.Module) bool {
	e.mux.RLock()
	defer e.mux.RUnlock()

	_, ok := e.compiledModules[m.ID]
	return ok
}

and replace the direct access to the map in here with calling the said function.


vernemq on OSX 10.11 El Capitan does not compile

===> Compiling vmq_passwd
gcc vmq_passwd.c -lcrypto -o vmq_passwd
vmq_passwd.c:32:10: fatal error: 'openssl/evp.h' file not found
#include <openssl/evp.h>
         ^
1 error generated.
make[1]: *** [compile] Error 1
===> Hook for compile failed!

make: *** [rel] Error

El Capitan removed openssl from the include and library path.
When using cmake for other projects, it helps to override those.
cmake -DOPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2d_1/include -DOPENSSL_CRYPTO_LIBRARY=/usr/local/Cellar/openssl/1.0.2d_1/lib/libcrypto.dylib -DOPENSSL_SSL_LIBRARY=/usr/local/Cellar/openssl/1.0.2d_1/lib/libssl.dylib ..

Any hint where to check in make rel?

OK, thanks. My guess is adding -lcrypto and -lssl linking to your libcrypto.dylib and libssl.dylib to the [gcc command] (https://github.com/erlio/vmq_passwd/blob/master/c_src/Makefile) will help
I can only test later.

To fix the problem:
$ brew install openssl
$ brew list openssl
/usr/local/Cellar/openssl/1.0.2e/bin/c_rehash
/usr/local/Cellar/openssl/1.0.2e/bin/openssl
/usr/local/Cellar/openssl/1.0.2e/include/openssl/ (75 files) <<<<<<<<<<<<<<
/usr/local/Cellar/openssl/1.0.2e/lib/libcrypto.1.0.0.dylib
/usr/local/Cellar/openssl/1.0.2e/lib/libssl.1.0.0.dylib
/usr/local/Cellar/openssl/1.0.2e/lib/engines/ (12 files)
/usr/local/Cellar/openssl/1.0.2e/lib/pkgconfig/ (3 files)
/usr/local/Cellar/openssl/1.0.2e/lib/ (4 other files)
/usr/local/Cellar/openssl/1.0.2e/share/man/ (1543 files)
$ cd $VERNEMQ
$ CFLAGS="-I /usr/local/Cellar/openssl/1.0.2e/include" make rel

Had the same issue, after trying the above solution I get this error:
Unable to rewrite .app file /Users/xx/Documents/dev/erlang/vernemq/_build/default/rel/vernemq/lib/syntax_tools-2.1.1/ebin/syntax_tools.app due to {error, eacces}

Hi @syberkitten,
have you also tried this: https://github.com/erlio/vernemq/issues/119#issuecomment-214714457 ?
(its just brew install and brew link for openssl)

Thanks, I haven't tried linking.... but when I do , i get this:
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
I'm exactly sure what to link with what now ...

found the same issue in a different project:
https://github.com/dotnet/cli/issues/3964
forcing it does not work as well:
brew link --force openssl

Hm, ok, thanks @syberkitten
tried to google around a little... now I'm confused myself by OS X and OpenSSL ;)

A long shot: there's an issue which looks similar to what you experienced (eacces) in relx (part of rebar3): https://github.com/erlware/relx/issues/583
Maybe the fix for this issue was included in the latest rebar3 (v3.4.1 - downloadable here: http://www.rebar3.org/). Maybe you could try and drop that into your vernemq repo overwriting the old one (which was version v3.3.6 if you trying to compile VerneMQ 1.0.1+) and see if that changes things (remember to clear out the old build first.

Hey. Just commenting here to let you know how I managed to make it work...
Had to follow @larshesel suggestion and overwrite rebar3 at vernemq's folder. And forced it to use my OpenSSL files.
cd vernemq
chmod +x rebar3
CFLAGS="-I/usr/local/Cellar/openssl/1.0.2l/include -L/usr/local/Cellar/openssl/1.0.2l/lib" make rel

Hi @lucasterra awesome! :)
Thanks a lot for taking the time and effort to document this! this is a useful future reference.

To anyone trying to compile right now, keep in mind that you need Erlang/OTP 19.x, not 20.x (see #426).
Thought it was worth mentioning because brew install erlang will get you 20.x.

Have tried with: Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Still failing ... the 'make' output:
vmq_passwd.c:32:10: fatal error: 'openssl/evp.h' file not found #include <openssl/evp.h>          ^ 1 error generated. Reaping losing child 0x7ffd14403020 PID 97923 make[1]: *** [compile] Error 1 Removing child 0x7ffd14403020 PID 97923 from chain. ===> Hook for compile failed!

@syberkitten this is likely due to the fact that Apple no longer ships the OpenSSL development header files with OSX. You need to install those manually - googling for it might turn up something useful: https://www.google.com/search?q=mac+osx+'openssl%2Fevp.h'+file+not+found (I'm not using OSX myself)

Issue is resolved using a solution that worked for me in this issue:
https://github.com/erlio/vernemq/issues/88
which is adding a MakeFile flags with proper locations to the installed OpenSSL on the operating system.
final result:
CC?=	gcc

compile:
	$(CC) $(CFLAGS) vmq_passwd.c -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include -lcrypto -o ../priv/vmq_passwd

Now the code compiles on El-Capitan using Erlang OTP/19.3  :)

===> Verifying dependencies...
===> Compiling eper
===> Compiling _build/default/lib/eper/src/redbug.erl failed
_build/default/lib/eper/src/redbug.erl:141: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
_build/default/lib/eper/src/redbug.erl:267: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
make: *** [rel] Error 1
i got this problem how can i fix it? pls help   thank you

@weerada-moria you're compiling with Erlang/OTP 21 which is not yet supported, see #738


Deprecation warning

Seen in CI while doing integration testing

Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.  Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)

I think this can be closed, right @ivergara ?

It's not showing up, thus can be closed.


create helpful error for setwd(exportLocation())

When trying to run vizmake() with webpack on Jenkins, if the target dir doesn't already exist, you will get an error about Error in setwd(vizlab::exportLocation()): cannot change working directory. It is because the directory doesn't exist. I had to run mkdir target and then try again. It would be nice if there was an error that popped up to tell you this (or maybe a better way to do this entirely).
Maybe an error around here: https://github.com/USGS-VIZLAB/vizlab/blob/master/R/webpacker.R#L44

Just came across this again. vizlab::vizmake() used to automatically create the target dir if it didn't already exist...should probably still have that behavior. I think the problem now is that webpack tries to run setwd(exportLocation()) before vizmake() adds the target dir.


KioskMode not working on armv6 on future3

Describe your problem
Since Bullseye the installation fails on choosing option "KioskMode" on an armv6 device cause chromium-browser has no installation candidate.
What's your hardware set up?
Docker with armv6 qemu.
Raspberry Pi OS bullseye 32bit lite + bookworm 32bit lite
If possible, try to attach logs from ... (paths from RPi)

Setup Kiosk Mode
Install Kiosk Mode dependencies
E: Package 'chromium-browser' has no installation candidate
Configure Kiosk Mode

The package is called chromium vs chromium-browser?

chromium-browser
Don't know if it would work with just chromium as the code later calls also chromium-browser.
I get a Pi Zero 1 the next days, so i could then test this on the device.

Here I find only the package name chromium for all Debian versions and architectures https://packages.debian.org/search?suite=all&arch=any&searchon=names&keywords=Chromium
But this would mean it never worked... 🤔

According to git blame it was changed 3 years ago: https://github.com/MiczFlor/RPi-Jukebox-RFID/blame/03e64ff8680cd214f61fd56a2b6049c82b1b2d36/installation/routines/setup_kiosk_mode.sh#L18

chromium apperently has also not installation candidate for armv6 platform
E: Package 'chromium' has no installation candidate

Isn't armv6 (and armv7) rather armhf in Debian nomenclature?

As far as i understood till armv6 it's armel and from armv7 it's armhf

Googling provided mixed results, which architecture name matches which release name. 😏🫣🤔

https://www.baeldung.com/linux/arm64-armel-armhf-overview
https://wiki.debian.org/ArmPorts
https://wiki.debian.org/RaspberryPi

I understand this means at least Raspian uses armhf for armv6 architecture?
_There are or have-been at least two unofficial ports outside the Debian infrastructure.
Raspbian - Uses the hard-float version of the "new" ABI (EABI) like Debian armhf but targets v6 rather than v7. Currently tracks Debian jessie and stretch. Primarily but not exclusively targeted at the Raspberry Pi. GNU Triplet: arm-linux-gnueabihf_

Looks like. But that could mean it behaves different on a real pi.
I will test this as soon as I get the pi zero

I just installed chromium-browser on my Pi 1 successfully. My question would be, does it really make sense to actually offer Kiosk Mode on armv6 machines, cause it'll be pretty slow anyways. (just this installation took 15 mins)
It uses armhf.
I didn't connect a screen yet to actually test it, it's just a wild guess.
Thoughts?

Possible approach: detecting slow machines and then suggesting the user on slow machines to not install kiosk mode?
Minimum suggestion ARMv7?

I just installed chromium-browser on my Pi 1 successfully. My question would be, does it really make sense to actually offer Kiosk Mode on armv6 machines, cause it'll be pretty slow anyways. (the installation itself took 15 mins) It uses armhf.
I didn't connect a screen yet to actually test it, it's just a wild guess.
Thoughts?

Good to know its working and its "just" an emulation problem.
Thought of this too. As of what I read it was discontinued for armv6 as it was nearly unusable slow.
I would also suggest either don't offer this feature for armv6 devices or give a warning that it can be slow, like other features/installations already do.
Maybe depends if it would still be usable ? @pabera ?

Possible approach: detecting slow machines and then suggesting the user on slow machines to not install kiosk mode?
Minimum suggestion ARMv7?

I think we should add this, but give the message that its not supportedf on this device model and can't be installed. I would not just leave it out, as users might ask, why this is not available.

yeah, let's add this, so users know that it will not work

Would it be desired to fix this with another browser?
Some suggest dillo as replacement, but i dont know if there are any tutorials.

Let's not go this route now. We can create an issue to investigate dillo another time.

Kiosk mode install option deactivated with https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/2217


Move onRenderChatMessage hook to root

Fix for #470
Moving the onRenderChatMessage hooks all of the way up to root because chat messages seem to get processed before the hooks are otherwise initialized.
I ran into this issue when doing the Damage Cards. Turns out the same issue was happening for the rendering.

resolves #470

I don't really want to have the hook stuff spreading into the main file any more than necessary, so I've fixed this up myself in a slightly different way.


[Ovmm] Update habitat-lab, habitat-sim and README

Motivation and Context

Changelog

How Has This Been Tested

Types of changes

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

Checklist:

[x] I have made changes to existing documentation where needed.
[ ] I have added tests that show that the PR is functional.
[ ] I ran tests/hw_manual_test.py on hardware and observed that robot behavior looks normal.

I'm good to merge as long as it's tested!

I think the src/home_robot package depends on Pinnocio python package and it is not installed robot side. I suggest adding pinocchio to dependency list of  setup.py and requirements.txt

Interesting – I’m not sure what it was then, I hope this isn’t a common issue. I can look into it more when I’m at my robot.
From: Mohamed @.>
Sent: Monday, June 19, 2023 11:06 PM
To: @.>
Cc: Chris @.>; @.>
Subject: Re: [facebookresearch/home-robot] [Ovmm] Update habitat-lab, habitat-sim and README (PR #236)
@hello-fazil commented on this pull request.
In src/home_robot/setup.pyhttps://github.com/facebookresearch/home-robot/pull/236#discussion_r1234682869:

@@ -17,6 +17,7 @@

 "sophuspy",

 "trimesh",

 "pin==2.6.17",

"pinocchio"

Thank you for the clarification. I can revert my changes.
This case was falling during my testing and got resolved only after installing pinacchio, could be some other issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/facebookresearch/home-robot/pull/236#discussion_r1234682869, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAZCMZ5P3JDXG6T4EE6HWJTXMEHRZANCNFSM6AAAAAAZKPSGRY.
You are receiving this because you were mentioned.Message ID: @.***>


Upmerge 14.12.2020

[nrf mergeup] Merge upstream zephyr up to commit 856fd652da
Regular upmerge. Synchronizing sdk-zephyr
with zephyrproject-rtos/zephyr/master.
Signed-off-by: Dominik Ermel<EMAIL_ADDRESS>

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 498 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

@de-nordic could we get OpenThread upmerge in as well? https://github.com/zephyrproject-rtos/zephyr/pull/30745

Please cease with reviews as I am going to follow @edmont request and move to upstream/master that will include zephyrproject-rtos/zephyr#30745. Thanks!

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 498 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 513 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

Cherry-picking the OOT patches onto 856fd65 yields this clean rebase, for reference:
https://github.com/mbolivar-nordic/fw-nrfconnect-zephyr/tree/upmerge-413-rebase
Nice work.

Thanks for verifying!

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 513 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 513 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 513 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:370: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#370: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 1 warnings, 513 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

@de-nordic can you please cherry-pick https://github.com/zephyrproject-rtos/zephyr/pull/31092 as a fromlsit?

@de-nordic can you please cherry-pick https://github.com/zephyrproject-rtos/zephyr/pull/31092 as a fromlsit?

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 668 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 668 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 676 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 676 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 698 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:289: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#289: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:538: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#538: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 698 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:40: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#40: FILE: boards/arm/nrf5340dk_nrf5340/Kconfig.defconfig:23:
+        default n$

-:303: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#303: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:552: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#552: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 3 warnings, 707 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:40: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#40: FILE: boards/arm/nrf5340dk_nrf5340/Kconfig.defconfig:23:
+        default n$

-:303: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#303: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:552: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#552: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 3 warnings, 707 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 709 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 709 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 709 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 709 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 731 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 731 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 731 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

All checks passed.
checkpatch (informational only, not a failure)
-:305: WARNING:LONG_LINE: line length of 89 exceeds 80 columns
#305: FILE: drivers/usb/device/usb_dc_nrfx.c:448:
+		if (k_mem_slab_alloc(&fifo_elem_slab, (void **)&block.data, K_NO_WAIT)) {

-:554: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#554: FILE: include/net/socket.h:850:
+    char ifr_name[IFNAMSIZ]; /* Interface name */$

- total: 0 errors, 2 warnings, 731 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES C99_COMMENT_TOLERANCE CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PREFER_KERNEL_TYPES PREFER_SECTION PRINTK_WITHOUT_KERN_LEVEL REPEATED_WORD SPDX_LICENSE_TAG SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.


feat(logger): Add typing for log parameter in LambdaPowertoolsFormatter

Issue number:
#2401
Summary
Changes
Added types.py file with TypedLog class
User experience
New typing has not been implemented into any other files, so user experience is not impacted.
Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] Meet tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[ ] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Codecov Report
Patch coverage has no change and project coverage change: -0.10 :warning:

Comparison is base (e51e19e) 97.18% compared to head (c09e297) 97.09%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2419      +/-   ##
===========================================
- Coverage    97.18%   97.09%   -0.10%
===========================================
  Files          153      154       +1
  Lines         7008     7015       +7
  Branches       513      513
===========================================
  Hits          6811     6811
- Misses         156      163       +7
  Partials        41       41

Impacted Files
Coverage Δ

aws_lambda_powertools/logging/types.py
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Looking...

Looking into this today and sending the fixes along w/ comments before merging

I've pushed the changes to fix Mypy and bring LogRecord as a TypeAlias for Dict | PowertoolsLogRecord - waiting for CI before merging.
The only unrelated change I noticed here was the pre-commit hook for the markdownlint-cli which I suspected it came from an offline chat with @seshubaws due to NodeJS setup -- always use git sha whenever changing a pre-commit or GitHub Action, otherwise it opens the door for abuse since v0.34.0 is a mutable git tag.
THANK YOU so much for going through this change @erikayao93. Much appreciated.

Changes

[x] Simplify conditional imports to ease reading and future updates
[x] Bring LogRecord TypeAlias
[x] Update LambdaPowertoolsFormatter and DatadogLogFormatter to use LogRecord

[x] constructor: json_serializer/deserializer
[x] method: serialize

[x] Fix bring_your_own_formatter.py docs highlighting
[x] Confirm conditional imports work across all versions in CI
[x] Fix pre-commit hook to use immutable image

[x] markdownlint-cli
[x] actionlint (tech debt)
[x] pre-commit hooks (tech debt)

Unrelated changes

[x] Pay old tech debt

[x] use | shortcut for Union types in formatter.py
[x] use FQDN imports in formatter.py
[x] Update Union type in formatter to |
[x] immutable pre-commit actionlint
[x] immutable pre-commit pre-commit hooks


Execute take down process for STAR

Descriptive summary
Following the successul deployment of Audio functionality into the DMR application, we need to bring the STAR application and related services offline. This was documented in #144
Related work
#144

@VivianChu - we got the green light from @gamontoya to move ahead with this.
Please coordinate with @ucsdlib/operations as needed for this. Thanks!

@mcritchlow @gamontoya - Star has been removed from production and test environment.

@VivianChu great! And this includes everything you listed in #144 ?

:1st_place_medal:

@mcritchlow - This only includes star, xdre-star app, apache and tomcat config files. Nobody can access production and test Star app now.  Ron and Juliana is working on removing triplestore and solr. I'll reopen the ticket and close the ticket when they're done.

@mcritchlow - Solr and Triplestore have been removed.


Adding more variety / "randomness"

I haven't looked at the code to be honest and my math and big brain skills are lacking but it seems like the current system goes down the last word list then second last sequentially so you can tell the similar IDs because they will be
Gold-monkey
Gold-zebra
Gold-pig
Etc
Would it be computationally difficult or difficult to add a way of parsing through the list in order for each item so red-monkey, blue-zebra,pink-pig etc

See #5 and #13
Yes, it's possible 😉


Using Teachable Machine to make a Audio model for Python

I have been trying to make an AI model that will listen to user input. Depending on the user's input/command the program will carry out functions etc.
I am trying to use a model I have trained from the teachable machine, but the model is not in a format that can be used in Python. From what I have seen Python requires a .h5. However, TFLite.js is only available to export/download in. When I try to use this in my program I get hit with errors.
What steps can I take to import an Audio model for a Python system?

@setter43,
For Simple audio recognition and Audio classification, there are pre-built models available on the official tensorflow.org.
The model demonstrates how to preprocess audio files in the WAV format and build and train a basic automatic speech recognition (ASR) model for recognizing ten different words.
Also I tried to execute the demonstrated code for the Audio recognition which was executed successfully. Kindly find the gist of it here and the reference.
https://www.tensorflow.org/tutorials/audio/simple_audio
https://www.tensorflow.org/lite/examples/audio_classification/overview#get_started
Thank you!

I want to use my own Audio classification AI model that I build using Teachable Machine. I run into a number of issues when trying to adapt the model.py in the git project keyword-spotting.
I can get the model working.
Then I try to point the program to my own AI and it fails.
mendel@yellow-jet:~/newtest/project-keyword-spotter$ python3 run_model.py --model_file soundclassifier_with_metadata.tflite Traceback (most recent call last):   File "run_model.py", line 60, in <module>     main()   File "run_model.py", line 50, in main     interpreter = model.make_interpreter(args.model_file)   File "/home/mendel/newtest/project-keyword-spotter/model.py", line 211, in make_interpreter     {'device': device[0]} if device else {})   File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 351, in __init__     experimental_preserve_all_tensors)) ValueError: Could not open 'soundclassifier_with_metadata.tflite'. mendel@yellow-jet:~/newtest/project-keyword-spotter$

@setter43,
Could you please confirm whether you are using this teachable machine official link to make an audio model.
https://teachablemachine.withgoogle.com/train/audio
The pre trained lite models in TF hub provide metadata. However, you can add metadata given a tflite model using TFLIte meta data writer API.
Please find the overview of adding metada here along with the examples.
And also were you able to get the tflite file, if yes could you provide the code which you are using to test which helps to analyse.
Thank you!

Teachable Machine with Google gives you the option to download your model after it has been trained
See for TensorFlow Keras
Click on it
It would generate a zip file with the name converted_keras
There would be 2 files in it:

1 would be your trained model in .h5 format
1 would be a simple text file with labels

https://teachablemachine.withgoogle.com/train/audio

Hi @setter43
Sorry for the delayed response.
Under the hood Teachable Machine uses Tensorflow.js, a library for machine learning in Javascript, to train and run the models you make in your web browser as given here. The option to download .h5 file might not be available yet.
Could you please to this issue in
teachablemachine-community repo for faster resolution?
Thanks.


LB v4.2.0 - Variables are NOT substituted when using nested properties deeper than level 1 in another property definition with YAML

Liquibase Version:
Liquibase 4.2.0, 4.1.1
Liquibase Integration & Version:  CLI
Description
When using nested properties that are deeper than level 1 in a YAML changelog, the variables will NOT get substituted.
Steps To Reproduce

Use Liquibase 4.2.0
Use nested properties that are deeper than level 1 with a YAML changelog.  For example:

databaseChangeLog:
- property:
    name: var1
    value: 'IDPSIM'
    global: false

- property:
    name: var2
    value: 'urn:nl-eid-gdi:1.0:AD:00000004000000149000:entities:9999'
    global: false

- property:
    name: idpid1
    value:
      "(SELECT ID FROM ORCH_IDPS \
      WHERE IDP_ENTITY_ID = '${var2}' \
      AND IDP_TYPE = '${var1}')"
    global: false

- property:
    name: dvsidpid1
    value:
      "(SELECT ID FROM ORCH_DVS_IDPS \
      WHERE IDP_ID = ${idpid1})"
    global: false

- changeSet:
    id: SteveZ
    author: 123
    changes:
    - insert:
        columns:
          - column:
              name: DVS_IDP_ID
              valueComputed: ${dvsidpid1}
        tableName: ORCH_DVS_IDP_ITEMS

Run: liquibase updateSQL

Actual Behavior
The variables var1, and var2 are NOT substituted.
Output:
-- Changeset prop_test.yaml::SteveZ::123
INSERT INTO PUBLIC.ORCH_DVS_IDP_ITEMS (DVS_IDP_ID) VALUES ((SELECT ID FROM ORCH_DVS_IDPS WHERE IDP_ID = (SELECT ID FROM ORCH_IDPS WHERE IDP_ENTITY_ID = '${var2}' AND IDP_TYPE = '${var1}')));

Expected/Desired Behavior
When running the updateSQL with the same YAML changelog, the variables are substituted.
-- Changeset prop_test.yaml::SteveZ::123
INSERT INTO PUBLIC.ORCH_DVS_IDP_ITEMS (DVS_IDP_ID) VALUES ((SELECT ID FROM ORCH_DVS_IDPS WHERE IDP_ID = (SELECT ID FROM ORCH_IDPS WHERE IDP_ENTITY_ID = 'urn:nl-eid-gdi:1.0:AD:00000004000000149000:entities:9999' AND IDP_TYPE = 'IDPSIM')));

Additional Context
The issue doesn't seem to happen with XML changelogs.

This was fixed in 4.4.1


jenkins-cli.jar SSH API not working (and slow when using native ssh client)

Jenkins and plugins versions report
OpenJDK Java 11
Jenkins 2.387.3
SSH server 3.303.vefc7119b_ec23
What Operating System are you using (both controller, and any agents involved in the problem)?
CentOS 7
Reproduction steps
java -jar jenkins-cli.jar -s https://my-jenkins-server -ssh -i ~/.ssh/id_rsa -user my-user-name help
Jan 23, 2023 6:18:48 PM io.jenkins.cli.shaded.org.apache.sshd.common.util.security.AbstractSecurityProviderRegistrar getOrCreateProvider
INFO: getOrCreateProvider(EdDSA) created instance of io.jenkins.cli.shaded.net.i2p.crypto.eddsa.EdDSASecurityProvider
Jan 23, 2023 6:18:49 PM io.jenkins.cli.shaded.org.apache.sshd.common.io.DefaultIoServiceFactoryFactory getIoServiceProvider
INFO: No detected/configured IoServiceFactoryFactory using Nio2ServiceFactoryFactory
Jan 23, 2023 6:18:49 PM io.jenkins.cli.shaded.org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver reloadHostConfigEntries
INFO: resolveEffectiveResolver(johannes.abt@qualitycheck.advantest.com:50022) loaded 1 entries from /home/my-user-name/.ssh/config
io.jenkins.cli.shaded.org.apache.sshd.common.SshException: DefaultAuthFuture[ssh-connection]: Failed to get operation result within specified timeout: 10000
at io.jenkins.cli.shaded.org.apache.sshd.common.future.AbstractSshFuture.formatExceptionMessage(Abstrac[..]
Expected Results
See the help output.
Actual Results
Exception is thrown.
Anything else?
I'm running into the same issue as this person:
https://serverfault.com/questions/1120931/why-did-the-ssh-api-of-my-jenkins-instance-get-so-slow

I am also facing the same issue. Not sure any solution yet.


bugs in README example?

Looks like the README has a couple bugs for the quickstart example.

client.batch.... - client does not exist this should probably be turso.batch
the insert statement errors out because of column count mismatch

should probably be INSERT INTO users(name) VALUES (?)
or INSERT INTO users VALUES (NULL, ?)

@giovannibenussi these were fixed recently, right?

looks fixed now

Awesome, thanks @jwetzell 🚀


AWS: cloud-prepare fails if a security group already exists

What happened:
I deployed Submariner on a cluster, then removed it, and tried to prepare the cluster again for Submariner (the gateway node had been removed).
cloud-prepare failed with
 ✗ InvalidGroup.Duplicate: The security group 'skitt-1-c6nr4-submariner-gw-sg' already exists for VPC 'vpc-00b8d5512b0e9a056'
        status code: 400, request id: 770c894e-4bea-4ae1-abc6-c2fed115bb7e
Failed to prepare AWS cloud: InvalidGroup.Duplicate: The security group 'skitt-1-c6nr4-submariner-gw-sg' already exists for VPC 'vpc-00b8d5512b0e9a056'
        status code: 400, request id: 770c894e-4bea-4ae1-abc6-c2fed115bb7e

What you expected to happen:
The cluster to be set up for Submariner.
How to reproduce it (as minimally and precisely as possible):
Run cloud-prepare, delete the gateway node, run cloud-prepare again.
Anything else we need to know?:
Environment:

Diagnose information (use subctl diagnose all):
Gather information (use subctl gather):
Cloud provider or hardware configuration: AWS
Install tools: subctl (devel), openshift-installer 4.6.6
Others:

cloud-prepare is normally expected to be idempotent and I remember running the command multiple times on AWS cluster without any issues. Looks like when the gateway node is deleted, the code-path is hitting some issue.

This needs to be investigated and if the problem is present, we will have to fix it.

Discussing this on the PR/Issue scrub, we think we need to figure out exactly what was done to delete Submariner in order to reproduce this. This seems like it might be important/valid, but needs more digging.

I’ll try to reproduce this next week, and if it isn’t reproducible, close it.

BTW we have cloud cleanup commands which should be used to clean up after submariner is uninstalled from the cloud.
If you did cloud prepare -> cloud cleanup and then cloud prepare and it failed, seems valid, but if you didn't use cloud cleanup I don't think this bug is valid.

@skitt did you manage to reproduce it?

Thanks for the ping, I haven’t been able to reproduce this.


Render Hybsearch UI on the server

… and remove the electron/ folder and all of its contents.
The app now lives at http://$server/app/, e.g. http://localhost:8080/app/ (or, once we deploy it, http://thing3.cs.stolaf.edu/app).
It was a lot simpler than I expected; since I already had parcel bundling everything up for Electron, I just tweaked it to run in server/ui instead.
I then got rid of the separate package.json files, now that there's only one conceptual module, and moved the Dockerfile to the top level.
And then I moved the bundling process into the Dockerfile, and did a few optimizations around that to prevent copying all of the development-time dependencies into the final image.
I also switched to Yarn.

If you're developing the UI, you can also run
$ docker run -it -p 8080:8080 -v $(pwd)/server/ui:/hybsearch/server/ui hybsearch/hybsearch

and then do yarn build to regenerate the UI files, and just reload the browser.

Merging. Will reach out to people to re-deploy on Thing3.


Router captures all links regardless of base path

I'm not able to get this to work
<app>
  <router-hoc base="/app">
    <route-hoc path="(.*)">
      <my-sitenav route="{route}"></my-sitenav>
    </route-hoc>
    <route-hoc path="/app/:tab?">
      <my-tabs route="{route}"></my-tabs>
    </route-hoc>
  </router-hoc>
</app>

And inside my-sitenav.riot I have a link to take the user over to the main website
Home (should hit the "/" route on Express server, but it does not.)

In fact, every link inside <router-hoc base="/app"> seems to be captured by Riot Router
<app>
  <router-hoc base="/app">
    Home (should hit the "/" route on Express server, but it does not.)
    should hit the "/foo" route on Express server, but it does not
    should hit the "/bar/baz" route on Express server, but it does not

    <route-hoc path="(.*)">
      <my-sitenav route="{route}"></my-sitenav>
    </route-hoc>
    <route-hoc path="/app/:tab?">
      <my-tabs route="{route}"></my-tabs>
    </route-hoc>
  </router-hoc>
</app>

Router is setting base to / inside getBase(). The call to getAttribute(BASE_ATTRIBUTE_NAME) returns undefined, but this.el.attributes.base is set to /app...

That worked, thanks! If I have time I will try to debug further and send a PR.


Feature/robot  bdi automation

Critical Changes
Changes
Created a test case for bdi additional objects test case. Created page objects for Dataimport, Opportunity and Payment. Had to edit few keywords and as part of rearranging stuff for page object model, had to touch find matched gifts and payment allocations test cases
Issues Closed
New Metadata
Deleted Metadata

@skristem About the description of this PR: Anything under "Critical Changes" needs to go in the official Documentation and Release notes. Was this your expectation ? If not, you will have to move you text above the Critical Changes heading.

thanks, @Safiyab I just wanted to make note of everything that's been changed as there are a lot of changes. Moved them to changes section

@davidmreed and @Safiyab made changes u both suggested

@skristem did you mean to restore the feature branch after merging for some reason?

@davisagli yes I am reusing the branch for all bdi automation work


Rename subscribable to subscriber list

At one point we were planning to rename all instances of subscriber lists with subscribables however these never happened and it's confusing to have the same thing named differently. Instead we've decided to stick with subscriber list.
This is a backwards compatible change as I've left in the references to subscribable from any external interfaces, but internally this is all renamed to subscriber list.
Trello Card

yay 🥇


Challenge freezing on incorrect input

Describe your problem and how to reproduce it:
The Define the Head and Body of an HTML Document challenge freezes if you enter in code like
<!DOCTYPE html>

    <title>The best page ever</title>

The best page ever

Cat ipsum dolor sit amet, jump

where the body tag is not closed.  This is a common enough mistake and the freezing is not directly caused by the user code - it's how our tests interact with it.
Add a Link to the page with the problem:
https://www.freecodecamp.org/learn/responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document
The cause
The last test causes the problem, I think the regex gets stuck in a loop.

Classic regex runaway.
Something closer to this should do:
\s*(((
\s*.*\s*<\/h1>\s*)(
(\S*\s)*<\/p>\s*))|((
\s*.*\s*<\/p>\s*)(
(\S\s)*<\/h1>\s*)))<\/body>

I do not know why this would be used anywhere: *?

.*? some makes sense if you want to grab whatever's between, say, an opening and closing tag.  \s*?, on the other hand, doesn't, in part because white space does not really matter here, so we might as well remove it before trying to match.

@Sky020 what do you think to the following?
\s*(
.*?<\/h1>\s*
.*?<\/p>\s*)|(
.*?<\/p>\s*)(
.*?<\/h1>\s*)<\/body>

(or the same, without the \ss and applied to the code with whitespace removed)
As far as I could see the problem comes from expressions like (.*)* (with or without a ?) which blow up.

@ojeytonwilliams ,Well, that would work, if we added more parentheses to prevent the | from applying to the <\/body>:
\s*((
.*<\/h1>\s*?
.*<\/p>\s*)|((
.*?<\/p>\s*)(
.*?<\/h1>\s*)))<\/body>

It is not nice to look at. So, I would prefer the spaces and tabs be removed, and the \s can go.

Good point about the brackets.
We can remove the spaces by using const noSpaces = code.replace(/\s/g, ''), so that it will be easy to find when we use https://github.com/freeCodeCamp/freeCodeCamp/pull/38605

Is help still wanted with this issue? Asking because #39112 is still open

Thanks for the heads up @morgan-sam, I should have removed the label.  I'm in the process of updating how user code makes it into the test frame and, once that's done, #39112 should work.


Add the coefficient of determination  (R^2) metric for regression

This PR includes the implementation of the R^2 score (coefficient of determination) for regression tasks.

Great work, @jacobmontiel! Clever usage of Var, by the way! I reviewed your code, and I don't have changes to request.
Time to merge it!

Very cool!


chore: Fix typos

Seeing several typo PRs, like #11560, I figured I'd run my source code spell checker on cargo to help catch a lot of these earlier, in one big batch.

Thanks!!
@bors r+

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing abc6abe34d28249a556ac17593a4951519b59f30 to master...


Issue: Desync detected

Product and Version [VS/VSCode]:
OS Version [macOS/Windows/Linux]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
What were you doing when you encountered the desync?
How often have you encountered desyncs?

Thanks for reaching out. Your logs may provide us with helpful information. You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue.

We're tracking this desync issue over at issue 2086. If you have more info, please provide it there.


(require|disallow)SpaceAround*

Many configuration files list matching rules for before and after such as:
"requireSpaceBeforeBinaryOperators": ["?", "+", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
"requireSpaceAfterBinaryOperators": ["?", "+", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],

It would be nice to have a shorthand.
"requireSpaceAroundBinaryOperators": ["?", "+", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],

This rule should also respect additional operators specified for only one side.
"requireSpaceAroundBinaryOperators": ["?", "+", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
"requireSpaceAfterBinaryOperators": ["%"],

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/22687854-require-disallow-spacearound?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Thanks for contributing the idea @TheSavior. If the goal is to avoid redundancy, you could extract the array to a variable and use it as the value for both rules within your configuration.
I do agree that requireSpaceAroundBinaryOperators reads well. However, if we still need to support the other two, more granular rules, then I'm not sure it's worth the added maintenance. Of course, if the community agrees, then let's do it. Any other benefits aside from avoiding config redundancy?

If you are specifying these in a .jscsrc file, how would you pull them out into a variable? My understanding is that file is just JSON.
We also already do shorthands like this. For example disallowSpacesInFunction is shorthand for disallowSpacesInNamedFunctionExpression and disallowSpacesInAnonymousFunctionExpression

If you are specifying these in a .jscsrc file, how would you pull them out into a variable? My understanding is that file is just JSON.

There's the .js form that lets you put comments and logic in there.

We also already do shorthands like this.

Good point.

Link to the .js form documentation?

See https://github.com/jscs-dev/node-jscs/issues/704

I think we should try to have less rules - so requireSpaceAroundBinaryOperators could have an option for before/after/both. This would be similar to trying to combine the function spacing rules to not duplicate all the code/tests

We released 3.0 recently! We also wrote a post about how 3.0 will be our last major release (since we are deprecating the project) and that we are merging with ESLint!
Thus we won't be working on any new features moving forward which includes new rules/options. We will continue to fix bugs and work on CST/better autofixing for current rules in the upcoming months both to help JSCS users and to gain experience that we can hopefully use in ESLint. But otherwise we both teams will be working on getting ESLint feature parity with JSCS and just a nice transition for our users.
I'm putting an orphaned label to note this issue isn't planned to be worked on, but might be a good contribution as a custom rule (not in JSCS core itself).
I would encourage anyone who wants the rule to try writing it themselves: I would either write a custom rule or submit an issue to ESLint and if accepted a PR. Otherwise a custom rule that won't be in core repo itself.
JSCS rules are also very similar to ESLint rules: here are some resources to get started:

Project-specific Lint Rules with ESLint
Creating Custom Rules for ESLint
Maintaining JavaScript Code Quality with ESLint


⚠ Bofrost.lu has degraded performance

In 5173157, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2300 ms

Resolved: Bofrost.lu performance has improved in 3d906df after 13 minutes.


Target selector not in UI for services.

DONT'T DELETE THIS.
Please answer all questions as good as possible.
Language: english/german
Make sure you have read the documentation at https://github.com/danielperna84/custom_homematic#custom_homematic.
Make sure you have read the release notes at https://github.com/danielperna84/custom_homematic/releases.
Make sure you are running the latest version of the custom_component (and Home Assistant) before reporting an issue.
custom_component version (if applicable):
1.16.0
known last working custom_component version (if applicable):
last known working HA version is 2022.7.7
Home Assistant version (if applicable):
Home Assistant 2022.8.5
Supervisor 2022.08.3
Operating System 8.5
Frontend 20220802.0
CCU version:

Model (CCU2/3, Raspi3/4, NUC, ProxmoxVE, HA-Addon ...):
OS (Original, RaspberryMatic, debmatic ...):
Version:
Homematic Blue

Problem-relevant configuration:
Do you use tls?
Do you use callback?
Do you use username and password?
Which interfaces do you use (hmip/bidcos/wired)?
Describe the bug
A clear and concise description of what the bug is.
When I use the service homematic.switch_on_time in an automation, I cannot select the entity in the UI, I have to add it via yaml
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots (if applicable)

CCU firewall
integrations view
device view
enity view

Relevant HA log entries (full log)

Diagnostic Information (available on every device)

Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Please update your used versions. latest is not helpful.

Sorry, just updated
Here are two screenshots, one from hi, one from yaml

Just installed 1.16.1 and double checked, still the same

Yes, i can confirm this issue with HA starting with 2022.8.0.
I don't know if it is planned to remove targets from service calls or just a bug.
As long as i haven't figured out this, i will not fix this.

Ok, as long as you know about it, I am sure you will solve it somehow appropriately.
Nothing that makes big problem.
Thanks
Von meinem iPad gesendet

Am 24.08.2022 um 10:30 schrieb SukramJ @.***>:

Yes, i can confirm this issue with HA starting with 2022.8.0.
I don't know if it is planned to remove targets from service calls or just a bug.
As long as i haven't figured out this, i will not fix this.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

Looks like the target selector does no longer accept the integration as key.
1.16.2 should fix it.


[Feature Request] Make a tab of group instances in the group popup

Add/move a tab to see group instances through the group popup so people can see it through there.

Something like that.

Also when you click on the group instance on the sidebar there's no way to directly open the group instance.
(I am currently on the latest dev build with a custom theme)

It's an issue with that theme try remove it, I'll upload a fixed version of this theme later.

isnt that the Material theme?

It's an issue with that theme try remove it, I'll upload a fixed version of this theme later.

Alright, thank you!


Add license

In order to prepare this repository for a massive community of contributors, I'm adding the license to this amazing project.

I'm glad this project got into your field of attention. Much appretiation to this merge request.


onLayout first call return all 0's

Is this a bug report?
I think so, or I really missed something.
Environment
OS:  macOS High Sierra
Yarn:  0.27.5
Xcode:  Xcode 9.1
react-native: 0.50.4
react: 16.0.0-alpha.12
Target Platform: iOS (11.1)

The Issue
I'm trying to get a height reading on the layout of a  component that has {this.props.children} inside. And the first call returns { x: 0, y: 0, height: 0, width: 0 }. Then if I update the children component I get good values. But never the first time.
Here is my code :
processLayout = (event) => {
   const { height } = event.nativeEvent.layout;
   console.log(height)
}

// ...

<View
	onLayout={this.processLayout}
>
   { this.props.children }
</View>

thanks in advance !

Just realized after a few hours that my children component was set with an absolute position. Sorry for the Issue.


LIN-427 Include runtime info in usage reporting

Description
To better understand usage patterns, include runtime env info env info (Colab, IPython, etc.) in existing usage reporting. Specifically, with this update, LineaPy differentiates and records two types of runtime env:

non-ipython
IPython-based, e.g.:

<IPython.terminal.interactiveshell.TerminalInteractiveShell at 0x10511f1c0>
<ipykernel.zmqshell.ZMQInteractiveShell object at 0x1075df4c0>
<google.colab._shell.Shell object at 0x7ff79b1d1250>

This information can be overridden by setting environmental variable LINEAPY_RUNTIME to the desired value (e.g., sangyoon_demo), which would help us to filter out usage traffic coming from internal dev work.
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Locally tested with simple examples; CI will kick in.

@lionsardesai @yifanwu @mingjerli Thanks for your feedback! I integrated your suggestions such that:

We leverage an env var pattern unique to each runtime env (e.g., Google Colab starts with env vars prefixed with "COLAB_").
The identified runtime env value (e.g., "colab") can be prefixed with an optional custom tag (e.g., "sangyoon-demo"), which should help to flag and discard undesired events such as those from dev work.
These updates are restricted to usage_tracking.py, i.e., changes were rolled back from config.py.

Let me know if you have questions!


SAK-32536 Tests of LinkMigrationHelper to check behaviour

To check I understand how it works I wrote some simple tests of LinkMigrationHelper and added JavaDoc to the EntityTransferrerRefMigrator. I also updated some part of SiteAction that were calling the EntityTransferrer.

This is mainly just JavaDoc and simple refactorings. It was going to be part of a larger PR that's been put on hold, but this may as well go into Sakai now.


License

Which license is the code released under? I couldn't find it anywhere...

so sorry I totally forgot about licenses -- I am leaning towards GPL but give me the weekend to think about it...

added an MIT license file to the project -- closing this issue.

Thanks!
Am 15.08.2015 um 03:51 schrieb ofZach:

added an MIT license file to the project -- closing this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/ofZach/inkSpace/issues/4#issuecomment-131278960.


HAVING PROBLEM-Your image should have a src attribute that points to the kitten image. The system keeps telling me i didnt get it

Challenge Add Images to your Website has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:48.0) Gecko/20100101 Firefox/48.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
 In the future, please consider asking for help in the chat room on Gitter.

Thanks . I appreciate.
On 1 Jun 2017 20:50, "Dylan"<EMAIL_ADDRESS>wrote:

Closed #15161 https://github.com/freeCodeCamp/freeCodeCamp/issues/15161.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/15161#event-1106700428,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbwqMgc6iwwUGfX19VlSKizqkRCbLZzyks5r_xX1gaJpZM4NtYrX
.

I have found the solution skip the challenge to another one then copy the image link and go back to the previous challenge and paste the link then submit you answer very simple and fast...


Update on portainer

How do I update it on portainer to the latest rebranded addyio version?

Not yet released: https://github.com/anonaddy/docker/releases

when it will be released

I have pulled from edge tag and it works fine, didn't have to change anything or do some migrations

I'm looking at updating Alpine to 3.19 and also update addy to 1.0.4


Anonymous comments

Continuing on #1247 with full UI implementation.
Node author on games (only games) can opt-in for anonymous comments.
Everyone can then choose to publish or publish anonymously. Still requires logged in.
For mobile the comment button bar isn't really mobile friendly. Wasn't either before. Mainly because there's no collapsing the to icon only for either publish icon. Now it would also be good to have a new svg for the rocket with some mask.

Code review ready. :laughing:

I fixed two minor issues above you comments.

The notification gets rendered as anonymous to the poster right as the person commenting clicks publish anonymous (before a reload was needed for it to show as anonymous to the poster).
notifications generated from anonymous comments should now worl

So just so I understand: once an anonymous comment is published, it's orphaned right? (i.e. you are no longer able to edit it?). I can't test at the moment.

The API will return what appears to be a non-anonymous comment (just with anonymous flag set) to the original author. But the author field is zero for everyone else.

So when all the comments are fetched, does it come back as anonymous, or as something you posted?

for you, your comment comes back with anonymous: true and author: your ID (something you posted). For everyone else they get anonymous: true and author: 0. The site code checks the author to decide whether edit is enabled.

Ooookay. So internally it's stored fully, but before it's sent to the user each comment is checked for anonymity, and adjusted accordingly.

Ah, I'm realizing I didn't detail this part of the architecture in my commit notes for PR #1247 - ah well, I'll try to be more thorough in the future. All of the notes that the API returns to the client go through a filter function which allows for this kind of low cost per-user transformation (and future interesting things)

:+1: Fantastic.


Invite Teammates Email Parser Takes Emails with Names, quotes, and <>

Describe the bug
If a user pastes an email like John Smith, Jr<EMAIL_ADDRESS>into the "Invite Teammates" function, the email address parser will accept the entire string as the email address, and send the invitation to John Smith. John may then activate the account.
However, when John tries to log in with his email address, he gets an error because<EMAIL_ADDRESS>does not exist; only John Smith, Jr<EMAIL_ADDRESS>.
The query,
SELECT email FROM user_users
WHERE email LIKE '%<%';

returns 21 results.
Solution
Ensure the email parser omits everything except for the actual naked email address.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Done.


** [WFMP-???] Check if podman exists and use that first, otherwise u…

…se docker.
Signed-off-by: James R. Perkins<EMAIL_ADDRESS>

It would be even better if the actual executable name could be provided as a parameter on the command line

It would be even better if the actual executable name could be provided as a parameter on the command line, however, I consider this to be better than the current state.

I think we could do something like System.getProperty("wildfly.image.dockerBinary"). I'm not sure that would honor anything defined in the <properties/> section of a POM. The standard properties do not work for complex configuration types in maven.

There should also be updates to the documentation, in many places it implies that docker is the binary that will be used
https://github.com/wildfly/wildfly-maven-plugin/search?q=docker

@vsalbaba what would be the name to use to categorise both docker and podman?

We can't change the <dockerBinary/> without breaking compatibility. I do see some documentation that should be updated, but I don't think we should change the configuration parameters.

There is also a hardcoded mention at https://github.com/wildfly/wildfly-maven-plugin/blob/e11d2096957b06171e0c28fab69785cdbbea3373/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java#L49

There is also a hardcoded mention at
https://github.com/wildfly/wildfly-maven-plugin/blob/e11d2096957b06171e0c28fab69785cdbbea3373/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java#L45-L50

Thank you. Just fixed that.

I am considering that changing the default from docker to podman might not be a compatible change, as some users may rely on docker is the default option. To resolve this issue, we can make podman the fallback option and keep docker as the default.
Additionally, I am considering the option of allowing the tests to run with both engines. By using mvn test -Dwildlfy.image.binary=docker, the tests should run with docker, even if podman is installed. Although the magic guess feature is convenient, I would also like to have more control over which engine is used.

I am considering that changing the default from docker to podman might not be a compatible change, as some users may rely on docker is the default option. To resolve this issue, we can make podman the fallback option and keep docker as the default.
Additionally, I am considering the option of allowing the tests to run with both engines. By using mvn test -Dwildlfy.image.binary=docker, the tests should run with docker, even if podman is installed. Although the magic guess feature is convenient, I would also like to have more control over which engine is used.

I think this makes sense. I'll update the PR once I get a chance.


--info shows incorrect version for MSTest

Describe the bug
--info shows incorrect version for MSTest, it shows the platform version.
AB#2018953

@Evangelink I tried it

the version is the same like the one I put it in the version

Are you using SDK or nuget package references? I don't recall how I did the test. Will do another one right in 30min

Example project:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>

    <IsPackable>false</IsPackable>
    <IsTestProject>true</IsTestProject>
    <EnableMSTestRunner>true</EnableMSTestRunner>
    <OutputType>Exe</OutputType>
	<!--<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>-->
  </PropertyGroup>

  <ItemGroup>
	  <!--
      MSTest meta package is the recommended way to reference MSTest.
      It's equivalent to referencing:
          Microsoft.NET.Test.Sdk
          MSTest.TestAdapter
          MSTest.TestFramework
          MSTest.Analyzers
    -->
	<PackageReference Include="MSTest" Version="3.3.1" />
    <PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.10.1" />
	<PackageReference Include="Microsoft.Testing.Extensions.HotReload" Version="1.0.1" />
    <PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.0.1" />
  </ItemGroup>

  <ItemGroup>
	  <!--
	    Namespace we would like
        Microsoft.Testing.Framework
	  -->
    <Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
  </ItemGroup>

</Project>

gives following output
  MSTestExtension
    Name: MSTest
    Version: 1.1.0
    Description: MSTest Framework for Microsoft Testing Platform
    Options:
      --settings
        Arity: 0..1
        Hidden: False
        Description: The path, relative or absolute, to the .runsettings file.For more information and examples on how to configure test run, see https://learn.microsoft.com/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file#the-runsettings-file
      --filter
        Arity: 0..1
        Hidden: False
        Description: Filters tests using the given expression. For more information, see the Filter option details section. For more information and examples on how to use selective unit test filtering, see https://learn.microsoft.com/dotnet/core/testing/selective-unit-tests.


add deployment guide for capistrano users

I think this would be really helpful for every Capistrano user. I spent some valuable time to debug what's wrong with my app.
Bower is necessary for both Heroku and Capistrano.

@harisadam Thanks for this PR, it looks like a great start!
Not being a Capistrano user, I'm not sure what most of this means.
Would you mind expanding on this documentation with some example code snippets?

@seanpdoyle Well, basically it works like the config that was described for Heroku users - except the Heroku specific buildpacks -, you just need to add Bower to your ember.js app's package.json file, and Capistrano will handle everything. I think there is no need to copy an example package.json file here, ember.js users know how to install npm dependencies :)

ember.js users know how to install npm dependencies :)

While I would love for that to be true, everyone starts as a beginner, and I believe that code snippets are a great way to explain details to developers that are new to the Ember / JS / Node / Rails community.
What do you think about:
Make sure that your root level `package.json` contains `"bower"` as a development dependency:

```json
{
  "devDependencies": {
    "bower": "*"
  }
}

Or am I incorrect in suggesting the root-level `package.json`. Should it be the Ember-CLI app's `package.json` (in `frontend/package.json`, for example)?

ok, true, example has been added and conflicts has been fixed @seanpdoyle

Merged in https://github.com/thoughtbot/ember-cli-rails/commit/4f3b7c00dd936b65e4824cc910b01c592a7ebf00.
Thanks!


Tool should alert user whenever a new version is available

Tool should alert users whenever a new version is available and provide a drive link for the same.

Please refer to commit number f589a4196c21d0963dd0050f19804f342199b749.


Improves Rusty Hog and fixes #5730

Improves Rusty Hog and fixes #5730

@manuel-sommer use the feature of "draft" of GitHub. https://github.blog/2019-02-14-introducing-draft-pull-requests/

@damiencarol , could you review it?


Disable rdkit warning

Program execution/debugging takes longer because this spams the terminal. It's also super annoying

from rdkit import RDLogger
RDLogger.DisableLog("rdApp.*")

This should disable all the logs from rdkit

fixed with #73


Change the working directory if we can't stat it

Attempt to change the working directory if we can't stat it. This hopefully runs before the macaron init but may need to be moved to a file called a.go
Fix #4634

OK this is now working but it's not excellent as it doesn't inform us that we are moving a temporary directory. This needs to be logged somehow but will require thought - for example - we can't log from gitea serv as this would break git.

Codecov Report

Merging #6559 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #6559      +/-   ##
==========================================
- Coverage   40.35%   40.35%   -0.01%
==========================================
  Files         405      405
  Lines       54260    54260
==========================================
- Hits        21899    21896       -3
- Misses      29346    29349       +3
  Partials     3015     3015

Impacted Files
Coverage Δ

modules/log/event.go
64.46% <0%> (-1.53%)
:arrow_down:

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 2664adf...f32b48e. Read the comment docs.

Does it make sense for this code to run all of the time? If somebody runs gitea web in a folder they don't own, it wouldn't make sense to move to a /tmp folder and create files/run from there would it? Or to create a dump file in a /tmp folder and then delete that /tmp folder after run
If not, could it just be run based on os.Args and only run for certain commands where using a temporary work dir makes sense, like gitea admin, and avoiding other issues like the one you mention?
I assume it isn't reasonable to have gitea configured to run from a place without proper permissions and have things like web and srv working, where as the initial bug report case is more reasonable to expect

@mrsdizzie You don't get that choice - this has to run at package init() time, and has to run before macaron.v1's package init runs.
That means when it runs you don't know what command you're going to run.

We could however, detect that we're running from the temporary directory for some commands and fail because we can't run from there with a different Before for those that need it.

An alternative option is to delete the working directory at the start of main. Then if anything tries to write or read from the working directory it should fail.

Codecov Report

Merging #6559 into master will decrease coverage by 0.02%.
The diff coverage is 31.03%.

@@            Coverage Diff             @@
##           master    #6559      +/-   ##
==========================================
- Coverage   40.37%   40.34%   -0.03%
==========================================
  Files         405      406       +1
  Lines       54260    54289      +29
==========================================
- Hits        21907    21905       -2
- Misses      29337    29366      +29
- Partials     3016     3018       +2

Impacted Files
Coverage Δ

routers/init.go
63.29% <0%> (-5.21%)
:arrow_down:

aainit/init.go
39.13% <39.13%> (ø)

models/unit.go
0% <0%> (-14.29%)
:arrow_down:

modules/log/event.go
64.46% <0%> (-1.53%)
:arrow_down:

models/repo_list.go
66.84% <0%> (-1.06%)
:arrow_down:

routers/repo/view.go
41.08% <0%> (-1%)
:arrow_down:

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 c02c6a1...95430ca. Read the comment docs.

Codecov Report

Merging #6559 into master will decrease coverage by 0.01%.
The diff coverage is 31.03%.

@@            Coverage Diff             @@
##           master    #6559      +/-   ##
==========================================
- Coverage   40.37%   40.35%   -0.02%
==========================================
  Files         405      406       +1
  Lines       54260    54289      +29
==========================================
+ Hits        21907    21910       +3
- Misses      29337    29361      +24
- Partials     3016     3018       +2

Impacted Files
Coverage Δ

routers/init.go
63.29% <0%> (-5.21%)
:arrow_down:

aainit/init.go
39.13% <39.13%> (ø)

models/unit.go
0% <0%> (-14.29%)
:arrow_down:

routers/repo/view.go
41.08% <0%> (-1%)
:arrow_down:

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 c02c6a1...95430ca. Read the comment docs.


Question on experience

Please add a question on "How many years have you been coding professionally?"
Numeric answer only

Done + Csv Updated


FIX: make links clearer

The links were very dark in dark mode.  Just make the same color as the primary header....

I went ahead and did this by using the same color but just making darker (light theme) or lighter (dark theme)