[xs_modules] Fixing hexapod API to properly return success flag

As stated, this PR fixes the two functions modify_stance and move_leg to properly return True when the function succeeds and False when it fails.

Finished
Sorry, I removed it for our fork but forgot to keep it in for the PR. I've reverted that commit
Done

@AVSurfer123 Thanks for the contribution!


documentIsReady is when document.readyState is complete

Fixes #172
Removing document.readyState === 'interactive' since in IE9 and IE10 document.body is null in interactive state.

This fix has broken offsetX/Y="center" for the first tour step because now bubbleBoundingWidth(Height) == 0. I suppose now the first buble is not fully rendered before its offsets are taken.


MirroredStrategy AssertionError in 1.11.0-rc0

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Linux Ubuntu 16.04; Not on mobile device
TensorFlow installed from (source or binary):
source
models's commit = 17fa52864bfc7a7444a8b921d8a8eb1669e14ebd and tensorflow's commit = 1e438195399650604fb3aa3a53c67339f1167882
TensorFlow version (use command below):
git checkout -b v1.11.0-rc0 v1.11.0-rc0
Python version:
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
Bazel version (if compiling from source):
Build label: 0.17.1
GCC/Compiler version (if compiling from source):
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
CUDA/cuDNN version:
GPU model and memory:
GeForce GTX 1070 Ti 8G*4
Exact command to reproduce:

python object_detection/model_main.py --pipeline_config_path=object_detection/samples/configs/ssd_mobilenet_v1_0.75_depth_300x300_coco14_sync.config --logtostderr --model_dir=/data/checkpoint/del2 --num_gpus=4
and meet AssertionError:
File "/home/soft/lib/python2.7/site-packages/tensorflow/contrib/distribute/python/values.py", line 414, in _tensor_conversion_mirrored
assert not as_ref
AssertionError
You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
Describe the problem
Similar issue: https://github.com/tensorflow/tensorflow/issues/21968.
Reply: Actually, this issue is likely fixed in release 1.11, could you try with that and see if that fixes the issue? But I meet the issue in 1.11.0-rc0.
Source code / logs
1
git diff object_detection/model_main.py
-config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir)
+distribution = tf.contrib.distribute.MirroredStrategy()
+config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, train_distribute=distribution, eval_distribute=distribution)
2
cd /models/research
python object_detection/model_main.py --pipeline_config_path=object_detection/samples/configs/ssd_mobilenet_v1_0.75_depth_300x300_coco14_sync.config --logtostderr --model_dir=/data/sisi.wu/checkpoint/del2 --num_gpus=4
3
multi-GPU.log
Thanks.

sorry for missed info:
CUDA/cuDNN version:
Cuda compilation tools, release 9.0, V9.0.176;cuDNN7.0

Update env.txt, tf_env.txt
Thanks.

@cococyx Thanks for reporting this. Could you check whether this issue is seen in TensorFlow 1.11.0-rc1?

Thanks for you reply. This issue is seen in TensorFlow 1.11.0-rc1, and I'll try 1.11.0-rc2.

tf.version
'1.11.0-rc1'
multi-GPU-1.11.0-rc1.log

tf.version
'1.11.0-rc2'
multi-GPU-1.11.0-rc2.log

@cococyx Thanks for catching and reporting this. It appears there is a sync issue, we will certainly note it down.

Will close this as the issue is fixed in TensorFlow 1.11.0 and 1.12.0

I still have this issue for Resnet50, and TensorFlow 1.12.0... Seems to be related with tf.slim's convolution2d, but not with batch_norm as I've seen elsewhere: add_weight, instead.
(On another note, I had problems with batch_norm, namely using sonnet, but disabling the corresponding layers work, so this makes me think that not all layers are supported with MirroredStrategy yet)

Same error here.
Issue for resnet101 and tensorflow 1.12.0-rc2.
Related with tf.slim's convolution2d  but not with batch_norm.
Have you solve this? @AVCarreiro

Not yet, and it seems more people have this issue.

I had similar error with mirroredstrategy and I am using TensorFlow 1.12.0. I found that if I delete the regularizers.l2_regularizer(weight_decay) in conv2d (set the weight regularizer to None) inside the function 'resnet_arg_scope' in 'resnet_utils' to None then MirroredStrategy works fine.

I had similar error with mirroredstrategy and I am using TensorFlow 1.12.0. I found that if I delete the regularizers.l2_regularizer(weight_decay) in conv2d (set the weight regularizer to None) inside the function 'resnet_arg_scope' in 'resnet_utils' to None then MirroredStrategy works fine.

It works for me

is there any update? same error

TF 1.11 has passed it's end of life. Please upgrade to TF 1.14 or TF 2.0 beta.

any update.. I am getting the same error while training based on multi gpu using MirroredStrategy?

Are you using TF2.0 or TF 1.15?

TF2.0

Are you using TF2.0 or TF 1.15?

I am using TF2.0

Please open a new issue filling the entire template.
I am going to close this one so there won't be confusion w.r.t. versions used.


CSP Nonce attribute not added to all script tags

Bug report
Describe the bug
As far as I can tell, Next.js doesn't support 'strict-dynamic' + a nonce as a CSP policy. The nonce is added to one of the script tags here:
https://github.com/zeit/next.js/blob/e2beadd9601f3393254eae3f9c5a30abfd4ae988/server/document.js#L182
but for some reason, the nonce is not added to other script tags:
https://github.com/zeit/next.js/blob/e2beadd9601f3393254eae3f9c5a30abfd4ae988/server/document.js#L207-L209
https://github.com/zeit/next.js/blob/e2beadd9601f3393254eae3f9c5a30abfd4ae988/server/document.js#L136-L140
https://github.com/zeit/next.js/blob/e2beadd9601f3393254eae3f9c5a30abfd4ae988/server/document.js#L164-L168
To Reproduce
(Tested in Chrome 66.0.3359.181)
Add CSP policy to pages/_document.tsx head:
<meta http-equiv="Content-Security-Policy" content="default-src none;script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample';connect-src 'self'">

And set nonce on NextScript:
<NextScript nonce="12345" />

Chrome refuses to load the scripts:
Refused to load the script '<URL>' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

(index):1 Refused to load the script 'http://localhost:3000/_next/-/page/index.js' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

(index):1 Refused to load the script 'http://localhost:3000/_next/-/page/_error.js' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

(index):1 Refused to load the script 'http://localhost:3000/_next/-/manifest.js' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

(index):1 Refused to load the script 'http://localhost:3000/_next/-/commons.js' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

(index):1 Refused to load the script 'http://localhost:3000/_next/-/main.js' because it violates the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' 'nonce-12345' 'unsafe-eval' 'report-sample'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

Expected behavior
The app to load as usual.
Additional context
I didn't have time to manually setup a fork to create an example repo, but when I added the nonce into the script tags by editing dist/server/document.js directly, strict-dynamic worked as expected.

Hey there is a PR to fix this here https://github.com/zeit/next.js/pull/4539

Hey folks, wanted to swing back here with an update. After digging through many different issues and discussions, I've made a new page in the documentation (PR) specifically for Content Security Policy and nonces. This docs page:

Explains how to generate a nonce with Middleware
Shows how to consume the nonce in a route with headers()
Shows a complete CSP without needing to use any unsafe
Shows how to ignore the nonce Middleware from running on prefetches / static assets

Further, we've patched some bugs and made improvements to nonce handling in Next.js that will be available in the latest canary version (for those of you time traveling from the future, upgrade to Next.js 13.5). We also updated the with-strict-csp example in the examples/ folder, which is backlinked from the new documentation page.
Really hope this helps out, thank you all 🙏 To continue the discussion, please go here.


Introduce problem categories

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

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

I've triggered a build for you. Click here to see all failures if there's any.


Zephyr RTOS STM32F7 error, example request

Dear U-Blox Team!
I know that you only test the lib with Zephyr OS on nRF boards and Linux, but it would be great to supply a real example for (porting) STM32 series with Zephyr.
Hence, it is considered the easier and quite powerful way of porting the lib; it would be nice to have a bit more architecture samples for Zephyr, not just nRF, which has built-in support for it.
I currently have an issue when I set CONFIG_UBXLIB=y in prj.conf with the module installed. The code compiles and flashes but immediately catches a hard fault, even if I include the ubxlib.h in my main or not on my STM32F767BI board.

sample_z_app.zip
Do you have any tips, please?
Thank you very much for the help!

sample_z_app.zip

Also, if you could supply a sample project for STM32F4 native, with the correct directory / CMake / include tree that would be neat also.
Thank you very much!

Hi there, and sorry your having trouble with this.  We've never used an STM32F7 ourselves, only STM32F4, though they appear to be pretty similar and Zephyr should support either of course.
If I've understood correctly, and looking at your main.c, you get a hard fault even without ubxlib in the build?  If that is the case, and maybe even if it is not, Zephyr-platform-related matters are best addressed to the STM Zephyr people: they hang out in the STM32 section of the Zephyr Discord; Discord is undoubtedly the best way to get instant help on matters Zephyr, it is a very active place.
Concerning STM32F4-on-Zephyr, the directory layout etc. should be no different to that for any other Zephyr project, just follow their usual pattern and bring ubxlib in as described here as a Zephyr module.  We don't actually use Zephyr much ourselves, aside from running our automated tests on it, so we aren't really experts on what the layout should be for development, we are "just a module" to Zephyr, so to speak.
The only issue I'm aware of with using ST devices in Zephyr with ubxlib is that, in the device tree, rather than having all UARTs named uart0, uart1, etc., some STM32F4 UARTs end up being named usartx (i.e. with an s in the name); if you happen to want to use a UART that is named usartx then you will need to include an alias in your .overlay file so that ubxlib can find it (see here for how to do that).  But this has nothing to do with your hard fault.
We do have it on our list TODO list to run Zephyr on non-Nordic chips so I will see if I can get hold of an STM32F7 board but I can't promise how quickly we will get around to doing this I'm afraid: at a minimum it will be weeks rather than days.

The Nucleo 144-pin boards might be the most flexible choice. Cover the F4, F7, H7, U5, L5, etc
GPS/GNSS/MODEM shields via Arduino connection. ST-LINK VCP USART independent or the Arduino D0/D1 one.
Would suggest NUCLEO-F767ZI

@cturvey: excellent, thanks for the tip.

Also @RobMeades as far I know you are in partnership with Mikroe, they have a click shield for the Nucleo 144 it maybe makes easier testing your own modules :)

Yes, Mikroe and Sparkfun mainly.

Not sure your're going to find this very helpful but...

I now have a Nucleo-F767ZI board.
I have built the default ubxlib Zephyr runner build for it (the build that just runs all our tests), using the Zephyr 3.4.99 version that comes with nrfConnect 2.5.0, with the addition of:

cloning and adding hal_stm2 as a ZEPHYR_EXTRA_MODULE,
adding a nucleo_f767zi.overlay file to provide:/ {
        chosen {
                zephyr,bt_uart = &usart6;
    };
};

...since the build wouldn't complete without a choice for zephyr_bt_uart.
Attached find the build output, for information.

I downloaded the .elf file to the board with the STLink utility.
I hung a terminal off the serial port that the board maps itself as, at 115200, but couldn't see anything; this is to be expected since our Zephyr porting layer will be sending debug output to a Nordic RTT port which doesn't exist on ST.
So I hooked up OpenOCD by:

editing the stm32cube_ide_openocd_swo.cfg we use for STM32F4 to remove the STM32F4/SWD specifics and point it at STM32F7 instead (this copied to the OpenOCD scripts sub-directory),
running c:\openocd-v0.11.0-3\scripts>..\bin\openocd.exe --file stm32cube_ide_openocd_swo.cfg at a command prompt, which got me:

xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-12-07-17:33)
Licensed under GNU GPL v2
For bug reports, read
      http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : DEPRECATED target event trace-config; use TPIU events {pre,post}-{enable,disable}
Info : clock speed 2000 kHz
Info : STLINK V2J39M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.229921
Info : stm32f7x.cpu: Cortex-M7 r1p0 processor detected
Info : stm32f7x.cpu: target has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32f7x.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08042d18 msp: 0x20048000
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : accepting 'gdb' connection on tcp/3333
target halted due to debug-request, current mode: Thread
xPSR: 0x41000000 pc: 0x0804b130 psp: 0x20024dd8
Info : device id = 0x10016451
Info : flash size = 2048 kbytes
Info : Single Bank 2048 kiB STM32F76x/77x found
Info : flash size = 1024 bytes
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08042d18 msp: 0x20048000
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Padding image section 0 at 0x080001ac with 4 bytes
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080762c0 msp: 0x20020000
semihosting is enabled

starting up the STM32Cube IDE and configuring it to run GDB HW debugging as described here and pointing it at the zephry.elf that was just built
start stepping through the code in the STM32Cube IDE.

With all of this I can see the target running through the porting tests happily enough:

No crashes yet, and we're certainly into "real" code, calling Zephyr RTOS functions, etc.  I will see if I can hack the debug output to send to the UART instead.

Ah, yes, I edited the prj.conf file for our Zephyr runner build to comment out these lines:
#CONFIG_USE_SEGGER_RTT=y
#CONFIG_RTT_CONSOLE=y

...and set CONFIG_UART_CONSOLE=y (edited version of the file attached), built/downloaded to the board again and the debug logging immediately came streaming out of the serial port that the board maps itself as (@ 115200).  The full log output is attached: you'll see plenty of failures since I have no cellular/GNSS/whatever HW attached to the STM32F7 board but the main thing is that all of the port tests pass, which means that all of the Zephyr/RTOS stuff is working as expected (these pasted in below).
I suppose the good news is that there's nothing fundamental wrong but this doesn't really help you find out what is upsetting things for your case.
U_APP: Running portInitialisation...
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
C:/projects/ubxlib_priv/port/test/u_port_test.c:1283:portInitialisation:PASS

U_APP: Running portRentrancy...
U_PORT_TEST_OS_REENT_TASK_1: 1 "4294967295 1 c".
U_PORT_TEST_OS_REENT_TASK_1: please wait while pUPortMalloc() is thrashed...
U_PORT_TEST_OS_REENT_TASK_2: 2 "4294967295 2 c".
U_PORT_TEST_OS_REENT_TASK_2: please wait while pUPortMalloc() is thrashed...
U_PORT_TEST_OS_REENT_TASK_3: 3 "4294967295 3 c".
U_PORT_TEST_OS_REENT_TASK_3: please wait while pUPortMalloc() is thrashed...
U_PORT_TEST_OS_REENT_TASK: instance 1 done, returning 0.
U_PORT_TEST_OS_REENT_TASK: instance 2 done, returning 0.
U_PORT_TEST_OS_REENT_TASK: instance 3 done, returning 0.
U_PORT_TEST: test task 1 had 1696 byte(s) free out of 2048.
U_PORT_TEST: test task 2 had 1696 byte(s) free out of 2048.
U_PORT_TEST: test task 3 had 1696 byte(s) free out of 2048.
U_PORT_TEST: reentrancy task(s) returned 0.
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:1311:portRentrancy:PASS

U_APP: Running portOs...
U_PORT_TEST: tick time now is 3612.
U_PORT_TEST: creating a mutex...
             returned error code 0, handle 0x20026930.
U_PORT_TEST: creating a data queue...
             returned error code 0, handle 0x20026950.
U_PORT_TEST: 20 entries free on data queue.
U_PORT_TEST: creating a control queue...
             returned error code 0, handle 0x200269e8.
U_PORT_TEST: 20 entries free on control queue.
U_PORT_TEST: locking mutex, preventing task from executing.
U_PORT_TEST: creating a test task with stack 2048 byte(s) and priority 5, passing it the pointer 0x20022c30 containing the string ""...
             returned erU_PORT_TEST_OS_TASK: task with handle 0x20026a80 started, received parameter pointer 0x20022c30 containing string "Boo!".
U_PORT_TEST_OS_TASK: uPortTaskGetHandle() returned 0x20026a80
U_PORT_TEST_OS_TASK: task trying to lock the mutex.
ror code 0, handle 0x20026a80.
U_PORT_TEST: time now 3690 ms.
U_PORT_TEST: unlocking mutex, allowing task to execute.
U_PORT_TEST_OS_TASK: task trying to lock the mutex again, should fail!.
U_PORT_TEST_OS_TASK: unlocking it again.
U_PORT_TEST_OS_TASK: locking it again (non-try version).
U_PORT_TEST_OS_TASK: task waiting on queue for data.
U_PORT_TEST: trying to lock the mutex, should fail...
U_PORT_TEST: sending stuff to task...
U_PORT_TEST_OS_TASK: task received 0.
                     item 1, expecting 0.
U_PORT_TEST_OS_TASK: queueItem 0.
U_PORT_TEST_OS_TASK: task received 100.
                     item 2, expecting 100.
U_PORT_TEST_OS_TASK: queueItem 100.
U_PORT_TEST_OS_TASK: task received 25.
                     item 3, expecting 25.
U_PORT_TEST_OS_TASK: queueItem 25.
U_PORT_TEST: test task had 1752 byte(s) free out of 2048.
U_PORT_TEST: sending -1 to terminate test task control queue and waiting for it to stop...
U_PORT_TEST_OS_TASK: task received 3.
                     item 4, expecting 3.
U_PORT_TEST_OS_TASK: task received -1 on control queue.
U_PORT_TEST_OS_TASK: queueItem -1.
U_PORT_TEST_OS_TASK: task exiting, unlocking mutex.
U_PORT_TEST_OS_TASK: task deleting itself.
U_PORT_TEST: task stopped.
U_PORT_TEST: deleting mutex...
U_PORT_TEST: deleting queues...
U_PORT_TEST: peeking queue returned 0.
U_PORT_TEST: found 255 on queue.
U_PORT_TEST: according to uPortGetTickTimeMs() the test took 3584 ms.
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:1438:portOs:PASS

U_APP: Running portOsSemaphore...
U_PORT_TEST: tick time now is 7243.
U_PORT_TEST: initialize a semaphore with invalid max limit.
U_PORT_TEST: initialize a semaphore with invalid count.
U_PORT_TEST: verify that the semaphore waits and timeouts with TryTake.
U_PORT_TEST: diffMs 500.
U_PORT_TEST: verify that the semaphore waits with Take and is taken.
             by this thread after given by second thread.
U_PORT_TEST: verify that the semaphore waits with TryTake and is taken.
             by this thread after given by second thread.
U_PORT_TEST: verify that +2 as initialCount works for TryTake.
U_PORT_TEST: verify that +2 as limit works for TryTake.
U_PORT_TEST: verify that the semaphore waits with Take and is taken.
             by this thread after given from ISR.
U_PORT_TEST: according to uPortGetTickTimeMs() the test took 2565 ms.
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:1638:portOsSemaphore:PASS

U_APP: Running portEventQueue...
U_PORT_TEST: opening two event queues...
U_PORT_TEST: 20 entries free on "event queue max".
U_PORT_TEST: 20 entries free on "event queue min".
U_PORT_TEST: sending to the two event queues 101 time(s)...
U_PORT_TEST: event queue min received 101 message(s).
U_PORT_TEST: event queue max received 101 message(s).
U_PORT_TEST: event queue min task had 816 byte(s) free out of 1156.
U_PORT_TEST: event queue max task had 816 byte(s) free out of 1156.
U_PORT_TEST: closing the event queues...
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:1944:portEventQueue:PASS

U_APP: Running portHeap...
U_PORT_TEST: testing heap allocation.
U_PORT_TEST: removing assert hook.
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
C:/projects/ubxlib_priv/port/test/u_port_test.c:2139:portHeap:PASS

U_APP: Running portStrtok_r...
U_PORT_TEST: testing strtok_r()...
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:2217:portStrtok_r:PASS

U_APP: Running portMktime64...
U_PORT_TEST: testing mktime64()...
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:2279:portMktime64:PASS

U_APP: Running portGmtime_r...
U_PORT_TEST: testing gmtime_r()...
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:2309:portGmtime_r:PASS

U_APP: Running portGetTimezoneOffsetSeconds...
U_PORT_TEST: testing uPortGetTimezoneOffsetSeconds()...
U_PORT_TEST: UTC time 0 and, given that, mktime() returns 0, therefore timezone offset 0 second(s), uPortGetTimezoneOffsetSeconds() 0 second(s).
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:2351:portGetTimezoneOffsetSeconds:PASS

U_APP: Running portTimers...
U_PORT_TEST: testing timers...
U_PORT_TEST: at the end of the timer test:
U_PORT_TEST: timer 1 expired 0 time(s).
U_PORT_TEST: timer 2 expired 0 time(s).
U_PORT_TEST: timer 3 expired 2 time(s).
U_PORT_TEST: timer 4 expired 4 time(s).
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:3036:portTimers:PASS

U_APP: Running portCriticalSection...
U_PORT_TEST: testing critical sections, may take up to 10 second(s)...
U_PORT_TEST: error flag is 0x00000000.
U_PORT_TEST: main task stack had a minimum of 7524 byte(s) free (minimum is 5120).
U_PORT_TEST: resources are good (1 outstanding OS resource(s), as expected).
U_PORT_TEST: we have leaked 0 resources(s).
C:/projects/ubxlib_priv/port/test/u_port_test.c:3166:portCriticalSection:PASS

.

Hey @RobMeades !
Thanks for the really fast responses!
Can you please share the full project with me maybe? I would like to see the full project's structure.

There isn't a "proper" project really, I just modified our runner build (see here https://github.com/u-blox/ubxlib/tree/master/port/platform/zephyr/runner), by adding a clone of hal_stm32 somewhere on my hard disk, appended that location to the CMake variable ZEPHYR_EXTRA_MODULE in my CMakeLists.txt file, and added the nucleo_f767zi.overlay file in the boards directory 'cos we switch on BLE (you might not) and that caused the ST HAL code to want a choice for zephyr_bt_uart, it wouldn't build otherwise.
That built to completion and ran our tests as intended, it just needed the few modifications in the prj.conf file to send the log output to the right place.
But this isn't really an example of how a "normal" Zephyr project would be organised, if there is one: as indicated, we (I, at least) don't use Zephyr in our usual development environment so we don't know what a "normal" Zephyr project would look like.  Putting it another way: don't take our advice!  We are merely a submodule, in Zephyr terms, an add-on to a "normal" project.  Surely the Zephyr documentation indicates what a good structure might be?

Sorry you didn't get anywhere with Zephyr.  Issue #3 is very old now, from the days when we used Eclipse-style projects with STM32F4; we moved away from trying to maintain the .project and .cproject files involved: there is a large amount of duplication inside the files themselves and they had a tendency to lose all your changes when opening Eclipse if you got one character wrong.
What we do instead is provide a makefile project that can be imported into Eclipse.  Unity is not required for the operation of ubxlib but our runner builds build and run all of our tests, and therefore they do require Unity, since we use Unity for testing.
The README.md in the runner directory describes how to pass conditional compilation flags into the runner build (if you need them) and where to obtain Unity, while the README.md in the STM32F4 platform directory describes how to set up the STM32Cube IDE.  Once you have a runner build working (and to do so would require Unity) you could replace the contents of our u_main.c with your own, which will remove any linkage with Unity.  Of course you will need to adjust the main task stack and heap sizes etc. to your applications' needs as you do this.

In commit b627d1ff8686631f5d6c64a81fa06ec4f0c9735 we have added to the ubxlib test farm testing of a Nucleo F767ZI board with native Zephyr (i.e. not through the nRFConnect SDK but direct from https://github.com/zephyrproject-rtos/zephyr).
With that I'm going to close this issue: feel free to open re-open it, or open a new issue, if there is more to discuss.


USPS County Address Point Submissions

Benefit
USPS is updated with current address data from the counties resulting in better mail delivery.
Acceptance Criteria

[x] Tooele
[x] Sevier
[ ] Morgan
[ ] Emery

Notes
Address points will be sent to the Tennessee office for processing and the returned "NOMATCH" file will be sent to the local USPS for review.
Risks
No response
Issue Reference
refs #

Addresses sent to USPS for Sevier.

Addresses sent to USPS for Morgan

done


Adapt our ogmios fork to v5.5.7

Our fork: https://github.com/mlabs-haskell/ogmios
Release: https://github.com/CardanoSolutions/ogmios/releases/tag/v5.5.7
This will unblock progress in https://github.com/Plutonomicon/cardano-transaction-lib/issues/1060

https://github.com/mlabs-haskell/ogmios/pull/20


How do i see the trades made by bot in paper mode?

How do i see all trades made by bot in paper mode?  Is there any option by which i can see the graph of when the bot bought and sold ?

Look in the simulation folder after you exit the program.  When you exit, it should show you the name of the HTML file it created.

Thanks


[Dev16] The address of the variable '{name}' cannot be used at this point.

This is only reproducible in Dev16. Dev15.9 does not experience this issue.
So, this code:
open System

[<Struct>]
type Movement =
    {
        Yaw: float32
        Pitch: float32
        IsMovingForward: bool
        IsMovingLeft: bool
        IsMovingBackward: bool
        IsMovingRight: bool
    }

    static member Default =
        {
            Yaw = 0.f
            Pitch = 0.f
            IsMovingForward = false
            IsMovingLeft = false
            IsMovingBackward = false
            IsMovingRight = false
        }

type MouseButtonType =
    | Left = 1
    | Middle = 2
    | Right = 3
    | X1 = 4
    | X2 = 5

type InputEvent =
    | KeyPressed of char
    | KeyReleased of char
    | MouseButtonPressed of MouseButtonType
    | MouseButtonReleased of MouseButtonType
    | MouseWheelScrolled of
        x: int * y: int
    | MouseMoved of
        x: int * y: int * xrel: int * yrel: int

[<RequireQualifiedAccess>]
type InputState = { Events: InputEvent list }

let getMovement (input: InputState) mov =
    (mov, input.Events)
    ||> List.fold (fun mov evt ->
        match evt with
        | MouseMoved (x, y, xrel, yrel) ->
            { mov with
                Yaw = mov.Yaw + (single xrel * -0.25f) * (float32 Math.PI / 180.f)
                Pitch = mov.Pitch + (single yrel * -0.25f) * (float32 Math.PI / 180.f)
            }

        | KeyPressed x when x = 'w' -> { mov with IsMovingForward = true }
        | KeyReleased x when x = 'w' -> { mov with IsMovingForward = false }

        | KeyPressed x when x = 'a' -> { mov with IsMovingLeft = true }
        | KeyReleased x when x = 'a' -> { mov with IsMovingLeft = false }

        | KeyPressed x when x = 's' -> { mov with IsMovingBackward = true }
        | KeyReleased x when x = 's' -> { mov with IsMovingBackward = false }

        | KeyPressed x when x = 'd' -> { mov with IsMovingRight = true }
        | KeyReleased x when x = 'd' -> { mov with IsMovingRight = false }
        | _ -> mov
    )

[<EntryPoint>]
let main argv =
    0

Gives an error:
Error	FS0421	The address of the variable 'mov' cannot be used at this point
At this location:
            { mov with // <----- The ERROR
                Yaw = mov.Yaw + (single xrel * -0.25f) * (float32 Math.PI / 180.f)
                Pitch = mov.Pitch + (single yrel * -0.25f) * (float32 Math.PI / 180.f)
            }

The error happens when at the end of an expression we are not allowed to return the address of a variable. The TAST produced does this for some reason.
I'm not for certain, but I think it caused by this PR: https://github.com/Microsoft/visualfsharp/pull/5148  given how this change affected constructs exactly like this and how it's only in Dev16.
// cc @dsyme
Edit:
Adding a line above where the error occured when we use mov compiles fine:
            let _itWorksNow = mov.Yaw
            { mov with
                Yaw = mov.Yaw + (single xrel * -0.25f) * (float32 Math.PI / 180.f)
                Pitch = mov.Pitch + (single yrel * -0.25f) * (float32 Math.PI / 180.f)
            }

It's became worse when an actual compiler preview had been released as now this error prevents building projects that use these constructs.

Yea, this is going to a priority. I'm going to try to get a fix in for preview 4.


woodpecker-pipeline-transform: init at 0.1.1

Description of changes
I'm not sure on the attribute name and pname since this is the name of the repository, but the executable has a more generic name (as documented in meta.mainProgram).
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

I have tested the program on some simple .drone.yml files and it worked reliably (to the limits of the current capabilities of the tool...).

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1985

Result of nixpkgs-review pr 221873 run on x86_64-linux 1

1 package built:

woodpecker-pipeline-transform


Add separate contributors guide

This PR adds a contributors guide, a code of conduct, a release cycle document and a PR template, integrating all of them together with links and also linking from the README.md.
There are still some commented out things in the README that may need to be copied over to the other files:

the Version numbers to RELEASE_CYCLE.md
maybe add the GitHub flow link to point 3 under Changes
maybe the "unfamiliar with GitHub" section

One other thing to consider: maybe add guidelines for Documentation Style.

Fixes #443

Codecov Report

Merging #444 (a923c90) into master (2c9e3be) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #444   +/-   ##
=======================================
  Coverage   74.66%   74.66%
=======================================
  Files          83       83
  Lines       10084    10084
=======================================
  Hits         7529     7529
  Misses       2555     2555

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 2c9e3be...a923c90. Read the comment docs.


Update LICENSE

Updating year and proposing a potential change.
Year should be updated.
I don't think the copyright matters significantly and could be kept as is or modified (one example in this PR, open to others).
I suspect we mostly have not thought about it for a couple years.

@wildsm License: I think we can remove my name and it can be just the Surmise Development Team. I pushed my suggestion.


performance optimisations

Hi @commondream,
I'm still looking for more performance improvements. But maybe you could take a first look, if you are interested to merge these improvements. Otherwise I would check if @benbjohnson is interested.
Thx

I just kind of built this library to goof around, and haven't been using Go much lately. I'd recommend submitting it back to the Ego creator.


GC less I/O

Required implementation features:

structural programming instead of OOP
Allocators support

There's a @nogc remake: https://github.com/lgvz/dimagefmt. It only needs finalizing and packaging.
imageformats is not going to be @nogc, that would break code.


Inheritance Hierarchy not recognized by Swashbuckle?

Hello,
I have realized that in many cases, we use Inheritance hierarchy for certain items. For e.g. we have a base Field class that has a Title and a Key property. Then we have a TextField which derives from a Field class and adds a Description property. When swagger shows documentation for the TextField, it only shows Description as the property and doesn't recognize the underlying Title or Key as properties.
would you be able to look into this and guide me if I'm doing something incorrectly?
Thank You so much!

Hi @domaindrivendev ,
Is there any news or alternative solutions we can have it in the latest version?


Create fallback author information if no authors are provided

This PR fixes #6 by adding fallback author information for both the parent project and the dependencies to the CFF file. This happens in the form of a The {software name} ({optional: software artifact ID}) {software version} Team pattern.

I'm hesitant to introduce that behavior. The current "solution" is to use an empty authors field which represents best what we know about the dependencies authors: nothing.
Having a "The  team" is completely redundant information. E.g. if you write a tool that displays the cited software in a more traditional human-readable citation format that requires an authorship, this conversion could introduce such an information. But it can do so with background knowledge of the citation form how to treat unknown authors (like having something like "Anonymous" or "Unknown". By adding this information by ourselves, we are making it impossible for other tools to handle the case of unknown authorship on their own.

I'm hesitant to introduce that behavior. The current "solution" is to use an empty authors field which represents best what we know about the dependencies authors: nothing.
Having a "The team" is completely redundant information. E.g. if you write a tool that displays the cited software in a more traditional human-readable citation format that requires an authorship, this conversion could introduce such an information. But it can do so with background knowledge of the citation form how to treat unknown authors (like having something like "Anonymous" or "Unknown". By adding this information by ourselves, we are making it impossible for other tools to handle the case of unknown authorship on their own.

Thought about this some more and discussed this with some software citation people, concluding that constructing a pseudo-identity and using it as value for the author field does represent the knowledge we have better than leaving it empty, or using an "anon" or "unknown" placeholder. In terms of citation, we do know something about the authors: they are a group of individuals who have worked on this software project. We just don't know enough about them to list them individually with their names.
Dan Katz has given the example that saying "the author of Word is Microsoft, or the Word Team" is more reasonable than saying "the authors of Word are unknown". I tend to agree, hence re-opening this for further discussion at some suitable point in the future.

As the 1.2.0 version of CFF explicitly disallows empty author lists, I will try to fix the conflicts and apply this PR.


encoding: inconsistent panic behavior for {hex,base32,base64}.Decode

CL 461958 introduced inconsistencies across two dimensions:

Encode still panics on output buffers too small, while Decode now treats such cases as an error. This inconsistency cannot be resolved since Encode does not report an error and could be an argument for why we should revert CL 461958.
The base32 and base64 packages share very similar API as hex, and their equivalent Decode functions still panic if the output buffer is too small. We should handle these cases in identical ways across packages.

Should we revert CL 461958 to maintain consistency between Encode and Decode? Or should we roll forward with applying equivalent checks to base32 and base64?
I have a very slight preference for rolling back.
Related, the fact that Encode and Decode can panic is a sharp edge fixed by #53693.
\cc @bprosnitz @ianlancetaylor @bcmills

The analogy to Encode does suggest rolling back.  Sorry I didn't think of it.
@bprosnitz Any thoughts?  Thanks.


Update Branch

I'd like to suggest a new feature, "update" that's triggered when a PR is updated and the branch already exists. Currently this will break the current workflow since it'll try to re-create the branch and break. See
To implement it, it looks like it'd be as simple as adding an if condition here to check if the branch exists. If it does, skip creation and run start-job.

@sean-smith Can you describe in what scenario(workflow) you will encounter this? Update an existing PR will update the existing deployed branch preview in the Amplify console. It will not re-create the existing one and break.

Hmm ok I think I'm at fault then, I'm using the following pr.yaml, you'll note I removed the line types: [review_requested] which causes it to re-run on any PR action. I didn't know it would automatically run on new branch updates.
name: 'Amplify PR Preview'
on:
  pull_request:
    branches:
      - master

jobs:
  deploy:
    if: contains(github.event.pull_request.labels.*.name, 'Ready for review')
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master

    - name: set branchname env
      id: setenvname
      run: |
        # use GITHUB_HEAD_REF that is set to PR source branch
        echo "##[set-output name=setbranchname;]$(echo ${GITHUB_HEAD_REF})"
    - name: deploy PR preview
      uses: yinlinchen/amplify-preview-actions@master
      with:
        branch_name: ${{ steps.setenvname.outputs.setbranchname }}
        amplify_command: deploy
      env:
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
        AmplifyAppId: ${{ secrets.AMPLIFYAPPID }}
        BackendEnvARN: ${{ secrets.BACKENDENVARN }}
        AWS_REGION: 'us-east-1'

See https://github.com/aws-samples/aws-hpc-tutorials/pull/23

I've changed this to types: [labeled] so it only runs once (hopefully)


cli: add option to support mpi in slurm runner

We can add a flag like mpi: true in the popper config for slurm to determine whether to prepend mpi run  to the container run command or not.

Being worked on in #912

fixed in cedb257


pixelfed: init at 0.11.5, module, tests

Description of changes
Revived from #191092.
Actual TODO list:

[x] Fix up the package
[x] Have a proper testbed for application, goal: uploading an image and reading it.
[x] Missing scheduler for cron tasks
[x] basic createLocally options
[x] automaticMigration option
[x] Cleanup tmpfiles rules
[x] Cleanup NGINX configuration
[x] Cleanup NixOS module configuration: sort, freeformTypes, NGINX fragment conf
[x] Secrets management through concatenation and LoadCredential
[x] Passthrough test to package
[x] Release notes
[x] Create account in a test.

Future PRs & improvements (up for grabs):

[ ] Update script.
[ ] Horizon frontend
[ ] Get a OAuth token, upload a picture, curl it.
[ ] path unit to watch source code change and configuration to rerun the cache generation only for relevant parts.
[ ] advanced database configuration
[ ] advanced Redis configuration
[ ] Livestream feature
[ ] Configuration cache (database backed configuration) for mutable purposes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Running on my personal production.

Looking into the caching for instance actors.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1988

Result of nixpkgs-review pr 207194 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

1 package built:

pixelfed

What does it mean for packages to be blacklisted? Is this just a nixpkgs-review thing?

What does it mean for packages to be blacklisted? Is this just a nixpkgs-review thing?

Yes, it's just a nixpkgs-review artifact.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2090


Clean macros

The diff a is little bit messy because I moved a lot of stuff around, but here is the gist of it:

all the macros are overridable (they're defined only if not already defined), and there is a system to include you own config header at the beginning of the file to override what you want
all the platform specific bits are now wrapped inside a macro (all the #ifdef WIN32/GNUC in the main code are gone)
all the macros are documented (at least a little bit)

This was a lot harder to do than I expected 😅, especially the parts with the virtual memory functions. But I'm pretty happy with the result, it should be very easy to port to new platforms now.
The main macros are: LTALLOC_VMALLOC, LTALLOC_VMFREE, and LTALLOC_VMALLOC_MIN_SIZE.
If the plaform supports it, there are two more macros that you can define:

LTALLOC_VMSIZE, which is meant to return size of a previous virtual mem allocation (if not available, eg. on Linux, ltalloc will store the sizes of the allocations internally in a ptrie).
LTALLOC_VMALLOC_ALIGNED, which allocates virtual memory with a specific alignment (Windows/Linux don't have a function for that, but some consoles do), and if not available, ltalloc has a slower method to make sure LTALLOC_VMALLOC end up returning a pointer with the right alignment.

I am sure all the changes were done with good intentions but haven't checked all of them :) thanks!


Bump minor version

This PR bumps the version numbers so they match the next release.
Please verify the version numbers are correct, and update the CHANGELOG manually. You
should merge this PR ASAP, but no later than before the next release cycle starts.
Checklist

[ ] Version numbers are correct
[ ] CHANGELOG.md has been updated

@arendjr the sqlx dependency was updated


Update PolygonInput to be MapInput

Maps are more than just polygons.
obstacles: impassable polygons
objectives: areas that pedestrians may path to
spawns: areas that pedestrians may be initialized in
areas: areas that can be used in behaviors
MapInputs should have the following methods:
get_obstacles -> vector
get_objectives -> vector
get_spawns -> vector
get_areas -> map<string, polygon>

Commit c0e7925 adds this


gcs: fail to loading credential to sign http request

Describe the bug
Looks like the credential is either empty or incorrect, waiting for longevity test to reproduce.
Error message/log
called `Result::unwrap()` on an `Err` value: ObjectStore(Unexpected (persistent) at stat, context: { called: reqsign::LoadCredential, service: gcs, path: xxx/cluster_id/0 } => loading credential to sign http request, source: expected value at line 1 column 1

@wcy-fdu Is this issue fixed?

No, it is an occasional issue that only occurred once. Shall we close this issue?

No, it is an occasional issue that only occurred once. Shall we close this issue?

Given that the gcs test is not run frequently, let's leave the issue for longer in case it happens again.


Reduce complexity of digester rules

Closes #7725

Removing SenderSeries#setSender sadly doesn't seem to be possible due to the two lines in the digester-rules.xml

	<rule pattern="*/sender" registerMethod="setSender" beanClass="org.frankframework.core.ISender" />
	<rule pattern="*/sender" registerMethod="addSender" beanClass="org.frankframework.core.ISender" />

SenderWrapper may only contain 1 sender, while a SenderSeries or ParallelSenders can contain multiple. The pattern doesn't allow me too differentiate between those use-cases, so I must make it be able to handle both.

I've also decided to keep the registerTextMethod as is, because it is kinda neat and I don't really have a good alternative as of right now. I did rename the methods to make them more consistent and a bit more clear.
I forgot a few registerXyz methods, so this PR also sets that straight.

I did some manual tests and everything seems to be working correctly.

There is no difference between the XSD of master and the XSD of this branch.


RScoredSortedSet race condition with Redis cluster

We are running two redis servers in AWS, one master, and a replica. The read mode is the default (slave).
In our application code we have something like this..
 redisSet.addAsync(latestScore, playerId)
                .thenAcceptAsync(r -> {
                    Integer newRank = redisSet.revRank(playerId);

The issue is that since reads go to the slave, addasync returns from master and before the data replicates to the other server it tries to pull the new revrank and returns null. imo the following api would make more sense and avoid that race condition..
redisSet.addAndGetAsync(latestScore, playerId)
                .thenAcceptAsync((r, newRank)) -> { <-- BiConsumer?
                    .....

In the meantime I will either add retry logic or change the read mode to master but that's not going to scale in the long run so it would be nice to have this addressed, cheers!

Redisson already provides similar method RScoredSortedSetAsync.addScoreAsync

@mrniko bad naming in my example, we'd need something like addScoreAndGetRankAsync

@mrniko any further thoughts?

@mrniko could we somehow force specific commands to read from master that way other redis operations scale when adding additional slaves.

This is limiting our application performance pretty badly. @mrniko any updates?

@zuanoc it's already implemented in RScoredSortedSetAsync.addScoreAsync method

@mrniko add score returns the score, not the new rank? We would essentially require an atomic addScoreAndGetRankAsync.

Done

@mrniko thanks!

@mrniko thank you!

@johnou @johnou  You're welcome guys!


Schedule draft

some of the mentor/mentee bits are in need of more detail but it seems like a good start :)

Do you think it will be better to move schedule to a different page altogether? or move it to the about page?

I think it's nice to have a bit of an overview on the main page, but I can remove it.

@malvikasharan @bebatut I'll add some notes in #16 regarding which weeks I think each item from #16 should fit in to - plus please comment if you think we need to make changes :)

I renamed the new page syllabus and started to fill content similarly to the MOL syllabus. I formatted the schedule as a table.
Let me know if these changes make sense, otherwise I will revert them

The page is not finished but we can fill it later and the draft schedule is available for the interview.


udpate web3sdk version

Codecov Report

Merging #181 (371d54f) into dev (04b86a4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev     #181   +/-   ##
=========================================
  Coverage     24.83%   24.83%
  Complexity      233      233
=========================================
  Files            65       65
  Lines          4413     4413
  Branches        335      335
=========================================
  Hits           1096     1096
  Misses         3214     3214
  Partials        103      103

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 04b86a4...371d54f. Read the comment docs.


haskell-generic-builder: backport to 19.03 add option to disable library-for-ghci

Motivation for this change
This is a backport of https://github.com/NixOS/nixpkgs/pull/58743 to release-19.03.
The reason this was added to master is described in https://github.com/NixOS/nixpkgs/pull/58743.  At work we are running into the bug described in https://github.com/NixOS/nixpkgs/pull/58743.  Since we are following the release-19.03 branch, we'd like this to be backported.  Then we can use it in our code-base to work around this bug.
Pinging @peti.
This shouldn't cause any recompilations to happen.
(cherry picked from commit b58ecf32c7936564deb68472ad6057b9a313e640)
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

@peti @basvandijk @matthewbauer Would someone be able to do a quick review of this and merge it in?
We'd like to use this at work without having to vendor the Haskell generic-builder.nix script.  This change shouldn't cause any rebuilds.


Fix API permission errors

In PR #125 I accidentally broke the

/stats
/latest_by_constituency and
/latest_by_person endpoints

(sorry)
This fixes the permissions and stops them from throwing
Cannot apply DjangoModelPermissions on a view that does not set .queryset or have a .get_queryset() method.
@symroe - Getting this merged and deployed is reasonably important as it is currently causing the leaflets import on WhoCIVF to fail :(
(cc @annapowellsmith )

Coverage increased (+0.07%) to 55.682% when pulling f5cd6e6775b7fc5966ce0fa998e0e074b7674fcd on chris48s:api_fixes into 7352bea304769560c1344ecf47bd17c5b23a8d32 on DemocracyClub:master.


Function to change the MQTT packet size outside of the library

Hello, great library! For several of my projects I'd need to change the MQTT packet size, but I need to do it from outside of your library.
Indeed, now I'd need to change MQTT_MAX_PACKET_SIZE inside your library, which is not very convenient. A function or a way to do that without changing your library would be great! Thanks.

+1, I'm using PlatformIO which keeps a common cache for all libraries and this is presenting a big problem for me. An easier way to configure this would be great.

I need this too... 128 seems far too low.
We are using DeviceHub. Based on the long API key and Devic ID length you easily exceed 128.
So, perhaps set MQTT_MAX_PACKET_SIZE to 256 or better make it configurable.
Thanks :-)

So the reason it's fixed is because we preallocate the memory at compile time. Given the limited memory of the original devices this targeted, I felt it was import to do this so potential memory issues could be caught then, and not at runtime (which are so much harder to debug). I also didn't want to set a default value that meant a lot of memory was pegged but went unused if you were only sending/receiving simple messages.
Any default value will have pros and cons.
Perhaps the answer is to move to fully dynamic memory allocation, but isn't a straight forward choice.

Could it be made optional with an ifdef so it can be defined at the preprocessor level perhaps, at least?

I never found a way to allow an arduino sketch to ifdef its own value to override the library - all to do with how the  Arduino tool chain preprocesses the app's files.

I use PlatformIO, which can do that (or, if not, I'm sure @ivankravets will approve a PR from me for it).

@knolleary what is problem with #ifdef https://github.com/knolleary/pubsubclient/blob/master/src/PubSubClient.h#L23?
#ifndef MQTT_MAX_PACKET_SIZE
#define MQTT_MAX_PACKET_SIZE 128
#endif

PlatformIO users have full control of build process and can pass own build_flags. For example, platformio.ini
[env:myboard]
platform = espressif
framework = arduino
board = nodemcu
build_flags = -DMQTT_MAX_PACKET_SIZE=256

@ivankravets because the last two times I've tried that approach it hasn't worked. The arduino tool chain includes library headers before it includes your sketch. So you cannot #define something in a sketch and have it picked up in the library.

The above would be ideal, and preserve backwards-compatibility.

@knolleary The build flags are included in the compiler command line, so they would take precedence. They aren't defined in the sketch.

Ahh - sorry, read the rest of your comment.... so in the PlatformIO environment I can see how that would help. Doesn't address it for everyone else... but would be useful applied to all the customizable #defines.

@knolleary I think that's a good compromise, since it doesn't hurt Arduino IDE users but benefits PlatformIO users.

I would certainly accept a PR that added that - as long as it applies to the other #defines and not just the packet size one.

@knolleary Please don't mix Arduino IDE and it's builder with PlatformIO. PlatformIO uses only source code of Arduino core for AVR/SAM.

I would certainly accept a PR that added that - as long as it applies to the other #defines and not just the packet size one.

Should I make it?

@ivankravets Too late! #119.

Thanks @ivankravets - will get it merged later today.

@skorokithakis I'm not sure that need to redefine MQTT_VERSION. Let's wait for @knolleary.

@ivankravets That's the supported version for the client, the actual versions are defined a few lines above that.

@knolleary thanks you too. Could you merge my PR with library.json? https://github.com/knolleary/pubsubclient/pull/44

+1 on that as well, so we also get this PR autoupdated in PlatformIO.

@knolleary Any news on this?

Sorry, been flat out with work and have been at a conference yesterday/today. Will try to get to it all this weekend.

Sounds great, thank you!

I think that one is solved - at least i can see it in the code :)

It's solved for platorms that allow you to provide #defines outside of  the sketch. That doesn't solve it for the Arduino environment. Still need to decide if we want to provide a programmatic wy for a sketch to set the packet size.

@knolleary thanks - you are right, i just looked through my platformio glasses ;) Sorry!

I would indeed go for the programmatic way to define the packet size - would be really useful for other libraries that uses this one :)

Hello, any news on this issue? We'd really need it for our aREST library. Thanks!

This was implemented, as far as I know. Unfortunately there's no linked commit, but the parameter name should be easy to find if you look in the code.

@skorokithakis no it wasn't. The library still uses the #define to fix maximum message size.
My comment here still stands.

There is an in-between option without going to dynamic memory allocation. Give the user the opportunity to allocate a buffer, in whatever manner they chose, in their sketch and pass a pointer to it and its size to the library using am optional "setPacketBuffer" method or something like that. The library could keep its existing compile-time allocation behavior, and if a user packet buffer is provided at run-time, through the setPacketBufffer method, it can use that instead of the the compile-time allocated buffer. That's a better compromise for embedded, in my humble opinion, than adopting a dynamic memory allocation approach.

I've just implemented what I just described on a branch of my fork here: https://github.com/vicatcu/pubsubclient/tree/allow-external-buffer-allocation. Pretty straightforward, but untested as of yet. What do you think @knolleary et al?

@vicatcu @knolleary Any chances of pushing this feature into the master branch soon? Would be awesome :)

I'm have very little spare time to give this the attention it needs at the moment. Not the sort of change I can merge in without going through in detail.

@knolleary I agree, it deserves adequate attention and shouldn't be merged hastily, but I've submitted the pull request for when you get around to it. @marcoschwartz could you help by writing some tests and trying out the PR ahead of it being merged?

Use a template parameter for the buffer size, and then provide a default instantiation that uses the pre-existing MQTT_MAX_PACKET_SIZE ?

I could not find a way which wasn't completely ugly using template parameter. Issue is that each and every method needs to become a template on the buffer size, which is a lot of distraction and complication. And one needs to the templated class, and then typedef an explicit instantiation for compatibility with existing code... Probably not worth it for saving 128 bytes in a cornercase.

hi,
i'd like to add my interest in this feature as well.
I fully understand why the initial decision was made to statically allocate this buffer but it is very limiting for esp8266 users who have a reasonable amount of memory to play with. There are certainly lots of people online running into this issue.
I'd rather not have to include instructions in my code (which uses this library) on how to manually download and modify MQTT_MAX_PACKET_SIZE.
There's a nice opinion of why using a #define in a library is the wrong tool for a user changeable option here: https://stackoverflow.com/questions/14418936/overriding-define-in-libraries/14429506#14429506
So, solutions:
Option 1:
@vicatcu has a proposed change that i could be persuaded to support.
I agree with the majority of the comments in @jonnor 's review comments.
@vicatcu have you looked at @jonnor 's suggestions?
Option 2:
new in the constructor:
class PubSubClient {
  ......
 public:
  PubSubClient(Client& client) : buffer(new uint8_t[MQTT_MAX_PACKET_SIZE]);
  PubSubClient(Client& client, uint16_t buffer_size) : buffer(new uint8_t[buffer_size]);
  ......
 private:
  uint8_t* buffer;
  .....
}

This would leave all other methods unchanged.
Option 3:
A dynamically allocated would be trivial to implement:
class PubSubClient {
    ......
 public:
  PubSubClient(Client& client) : buffer(malloc(MQTT_MAX_PACKET_SIZE));
  ......
  bool PubSubClient::setBuffer(uint16_t size){
    buffer = realloc(buffer, size);
    return (bool)buffer;
  }
  .....
 private:
  uint8_t* buffer;
  .....
}

This would leave all other methods unchanged.
If it were up to me, i'd probably go with Option 3.
For both 2 and 3 very little code would need to change.
buffer would still be accessed and indexed in exactly the same way.
I don't really see the concerns about added complexity when debugging... Sure, buffer is on the Heap rather than the Stack but it's only allocated once by the constructor at startup (and once if the user elects to change the size).
Let me know your thoughts. I am prepared to work on any of these options if they are likely to be committed.
thanks for reading,
dunk.

Anyone have thoughts on pr https://github.com/knolleary/pubsubclient/pull/282 ?
It implements "Option 3" above in a way that does not change the existing API of this module; all existing code will continue to work as before.

I'm afraid I'm not knowledgeable enough to opine, but what you've done seems very reasonable to me, and without any downsides (it works the same as before unless the user elects to resize, no?).

Thanks for the feedback.

it works the same as before unless the user elects to resize, no?
Yes exactly. Existing users will not need to change code in any way.
Anyone who needs a larger buffer can re-size after initialization.

@knolleary has commented on pr #282 .
It probably makes sense to move further discussion there.

@knolleary Any update to modifying the maximum packet size in Arduino IDE?. Are we anywhere near to closing this issue?.

is it possible to confige buffer using psram?

This is because the defaul maxium length is 128b. So just go to PubSubClient.h and change #define MQTT_MAX_PACKET_SIZE 128 to #define MQTT_MAX_PACKET_SIZE 1024

Since this issue is dead for so long, I wonder if the library is even still being maintained. MQTT_MAX_PACKET_SIZE should be an optional parameter to init the library with. I personally got around this in my project by adding a compiler error so that users at least know what's wrong and how to fix it:
#if MQTT_MAX_PACKET_SIZE < 512  // If the max message size is too small, throw an error at compile time. See PubSubClient.cpp line 359
#error "MQTT_MAX_PACKET_SIZE is too small in libraries/PubSubClient/src/PubSubClient.h at line 359, increase it to 512"
#endif

Hi @mcer12
it is maintained... but that doesn't mean I add every single feature users ask for, particularly ones that have been discussed many times before.

Seeing how many people struggle with this, one would think this should be a priority. It's absolutely your call what to prioritize in your own library, I am not refuting that.

I believe this is fixed. There is now a PubSubClient#setBufferSize(size) API.

Yup - all fixed. Just not done a trawl of the 300+ issues to spot which ones that feature closes ;)


Introduce broker, from https://github.com/markfisher/rokn/

Note rokn uses testcontainers-go
which currently cannot be used with Go 1.15 (see this issue).

I got the same test failures on master and this branch.

FYI, UT fixed here:
https://github.com/knative-sandbox/eventing-rabbitmq/pull/12

/lgtm
/approve
Thank you @markfisher and @fbiville
We're going go keep iterating on this.


Add Fate Core layout example to readme

Hi @valentine195 :) I added the Fate Core layout example to the readme, including an image uploaded to imgur. I hope it's okay like this (I based it on the Fantasy AGE section), if not, let me know and I can rework it. Thanks!

Looks great!


Open WebUI Fails to Connect to Local Ollama Instance After Update Without Ollama Running

as a follow up to this question:
Description
Bug Summary:
After updating and running Open WebUI through Pinokio without running Ollama first, Open WebUI is no longer able to communicate with my local Ollama instance. This has caused the application to fail to start correctly, resulting in a black screen when accessing http://<IP_ADDRESS>:8000/.
Steps to Reproduce:

Install Open WebUI through Pinokio and Ollama via winget.
Ensure Open WebUI is running smoothly.
Forget to start Ollama and update+run Open WebUI through Pinokio once.
Attempt to restart Open WebUI with Ollama running.
Observe the black screen and failure to connect to Ollama.

Expected Behavior:
Open WebUI should connect to Ollama and function correctly even if Ollama was not started before updating Open WebUI. Ideally, updating Open WebUI should not affect its ability to communicate with Ollama.
Actual Behavior:
Open WebUI fails to communicate with the local Ollama instance, resulting in a black screen and failure to operate as expected.
Environment

Open WebUI Version: 0.2.2

Ollama: 0.1.41

Operating System: Microsoft Windows [Version 10.0.19045.4412]

Browser: Microsoft Edge

Reproduction Details
Confirmation:

[ ] I have read and followed all the instructions provided in the README.md.
[ ] I am on the latest version of both Open WebUI and Ollama.
[x] I have included the browser console logs.
[ ] I have included the Docker container logs.

Logs and Screenshots
Browser Console Logs:

Open Microsoft Edge and press F12 to open Developer Tools.
Go to the Console tab.
Clear any existing logs using the clear button.
Refresh the page and reproduce the issue.
Right-click within the Console window, select Save as..., and save the logs to a file.
Attach the saved file here.

Docker Container Logs:
N/A
Screenshot:

Installation Method
Installed Open WebUI through Pinokio and Ollama via winget.
Additional Information
I believe the issue arose because I forgot to start Ollama before updating Open WebUI through Pinokio. This might have changed some settings, preventing Open WebUI from communicating with Ollama.
The most important aspect for me is to restore my previous chats. I prefer not to reinstall Open WebUI, or if necessary, I need a way to back up my previous chats.

I'm having the same issue, i don't think its related to Ollama's status (mine is running and working).

@phonosys, thanks for the input. I suspect the issue might be that Open WebUI is unable to communicate with Ollama correctly and defaults to the OpenAI API.
To troubleshoot, I want to:

Verify if Ollama is running and accessible. Check if it's exposed at the configured IP address and port.
Ensure the config.yaml or relevant configuration file in Open WebUI correctly points to Ollama.

If Ollama runs on a different port or IP than expected, I need to update the Open WebUI configuration to match. I'll also be sure to check the error handling as you suggested.
Any tips on verifying Ollama's status would be appreciated.

On my end Ollama runs just fine, can run and switch models using the configured IP and port.
on the open-webui side:
empty model list (Open WebUI is unable to communicate with Ollama correctly like you mentioned)
INFO:apps.openai.main:get_all_models()
None

asked a new question here on Discord.

Got same problems.

On my end Ollama runs just fine, can run and switch models using the configured IP and port. on the open-webui side: empty model list (Open WebUI is unable to communicate with Ollama correctly like you mentioned) INFO:apps.openai.main:get_all_models() None

I ended up uninstalling Open WiebUI and reinstalling everything back. I lost all my previous information! 😞


Automatic namespace creation during user registration

[x] Prompt to bind Github account to k8s cluster
[x] Creating a namespace with name the same as Github account name

done


Who's rating this?

this should give you the answer @roberto-morado https://help.imdb.com/article/imdb/track-movies-tv/ratings-faq/G67Y87TFYYP6TWAV

Oh, I see what's going on; would the community be interested on a customized voting system? This will allow us to rank the movies ourselves.

Why? IMDB has a lot of voters and it's completely reliable. Why recreating something that works?

Right


feat: add reporting capability

This commit adds the "Reporter" trait. Users can pass implementations of
this trait to create_graph which will then call the on_load method
on the reporter for each module load. This can be used to display a
progress indicator of the graph building.
Reporting is not exposed in the JS API right now.
Closes #103

This looks great!
Any plan to expose that in the JS API?


⚠ Processors has degraded performance

In 831a73f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 49 ms

Resolved: Processors performance has improved in 57a11e7.


Is there the way to set own list of inactive days?

Version of flutter_calendar_carousel
1.3.7
Is there the way to set own list of inactive days? Like we can set markedDates.

@hyochan something like SelectableDayPredicate sir
https://api.flutter.dev/flutter/material/showDatePicker.html


Update cert-manager from v1.6.1 to v1.7.0

https://github.com/giantswarm/cert-manager-app/releases/tag/v2.14.0


fix wrapper test

Related #1115.

cc @seanpmorgan @Squadrick.

@failure-to-thrive also, who is familiar with the matter at hand. If you have the time to, could you review? Thanks a lot :)

I tested locally and I can confirm the flaky test is fixed by this pull request. If someone wants to try it out:
TF_ADDONS_NO_BUILD=1 pip install -e ./
pip install  git+https://github.com/dropbox/pytest-flakefinder.git   # a cool tool from dropbox
pytest --flake-finder -v -k "test_removal_" tensorflow_addons/layers/wrappers_test.py

It will run the tests in a loop. Open another terminal to run this command twice and you'll see the frequency of failed tests increase (~one failure every 3 seconds). With this pull request, I can't see a single test failing.

Sorry to be late. My 2 cents: tf.compat.v1.initialize_variables has been deprecated. Although it is not a big deal as for now.
Another 2 center: tf.compat.v1.global_variables_initializer displacement is a good catch despite whether it fixes the bug or not. Who knows what else in the test's computational graph it reinitializes. Test infrastructure might have its own variables.

@failure-to-thrive, I agree with you about all this and I hope we can reduce the number of deprecated APIs we use.


Minor correction in README for nncf

has => have

Btw, I assume that the reference to NNCF in https://docs.openvinotoolkit.org/latest/_docs_LowPrecisionOptimizationGuide.html should also be updated. Not related to this repo, however.


Systemjs version?

I'm submitting a ...
[ ] bug report
[ x] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?

Hi,
Is there any plan to have a branch based on Angular-cli (systemJs etc...)?

Hi @cindoum, not at the moment unfortunately, here's an issue for this #6


Initial Changes to support wildcard hostnames and multiple hostname for a ingress rule

@jaishals Thanks! I have gone through the code thoroughly once. Will circle back to think about more tests.

b) use that boolean anywhere we use utils.GetHashCode -- return the old string when the annotation is not in use; return the new string when annotation is in use
is this the change?


Differentiation would be awesome

I realize there's a lengthy roadmap for this gem / for GSoC this year, but I'd like to vote for the differentiation functionalities to be exposed ASAP. I'd actually use these pretty much immediately. =)

Differentiation works for simple cases. Like demonstrated here. The PR for functions is underway. We will be able to see more functionalities as soon as they are in.

Oh, wonderful! I wasn't sure where the examples are. A link on the readme might be nice. That's awesome. =D


Bugfix input partition rows

Currently, pipeline executions without defined input partition rows will fail. Due to the migration to KfP v2, the default value of input_partition_rows wasn't correctly overwritten. We need to set the default to -1 in the executor as well.

Thanks @mrchtr! But I think this will be fixed in #512

Thanks @mrchtr! But I think this will be fixed in #512

You are right! Going to close this one again.


Add example template and output file to README

Closes #13

Holding off on this for a moment since the input and output is going to change a bit.


.financials and .quarterly_financials

@ranaroussi    .financials and .quarterly_financials  end points return nothing ? Also .institutional_holders and .major_holders returns nothing ...Please update

I can confirm this. Did yahoo change something?

Same here. Triyng to load ticker.info for Swiss stocks XY.SW returns "logo_url" and no info. It worked perfectly yesterday!


All P105s,are not working anymore after firmware update Sept. 2023

Hi,
as reported in Issue #468  and as has been requested in the same thead, I report what happen with tapo 105s on home assistant, in september 2023:
--> Version of the integration
Tapo controller ver.: Stable v<IP_ADDRESS>
Home assistant core 2022.11.2
Home assistant oS 10.3
--> Configuration
Tapo Device Name: P105
Firmware version:

Not working with HA integration: 1.2.1 Build 230804 Rel. 190922.
Latest working with HA integration: 1.1.5 Build 230324 Rel. 143956.

--> Describe the bug
Hi,
I get back on this issue just to report another problem regarding the firmware update of Tapo SP P105.
More than one week ago I noticed that some of this plugs doesn't been recognized by home assistant even if some else was perfectly working.
I have actually plug 8 P105 and 14 P110.
The P105s that works, during the night are out of power (is placed in cascade with a master P110 that switch off during the night).
Checking the p105 "not working" (in home assistant) inside the TAPO APP i'd noticed that they have onboard firwmare version 1.2.1 Build 230804 Rel. 190922.
The p105 that works have onboard firware 1.1.5 Build 230324 Rel. 143956.
That's because I'd enable the auto-update of the firmware during the night (03.00-05.00 AM) and the one's that works was switched off during that time.
Of course the updated one's is in grey in home assistant. I tried:
To delect the instance of the single plug over home assistant and re-create. I got "INVALID AUTHENTICATION" red warning, of course using TAPO-CONTROLLER Hacs integration in home assistant. I triple verify the ip, username and password (I have a DHCP RESERVATION on router for this plugs, bind with mac address). The mail address doesn't have CAPITALIZED letters.
I tried to delete the single plug from TAPO app, re-register and re-join. They come over with the updated firmware :(
Nothing else to do... Of course the invalid authentication seems to depend to the firmware update... the "old" one still works (I deactivated the auto-firmware-update on all the plugs).
Of course directly on tapo app and with alexa, everything works!
I know that this is an open source and custom integration, and I really appreciate the time spent and the effort dedicated. Accordingly with you time, could you please take a look?
I've some automation with this plug that is not working anymore :(
Between the two report I tried 2 net things:

change the dhcp reservation ip for the same device (Deleting before from the app, and re-associate. Got the new ip). Not works.
try the same with a P110 plug in order to check if I was wrong on autenthication (wrong password, wrong username). With a P110 everything works perfectly (remove from HA, re-add using IP, username and password).

I would say thank in advance for your eventually answer, kind and consideration.
Please let me know if you need any additional information.
Following the HA VERSION:
Home assistant core 2022.11.2
Home assistant oS 10.3
Tapo controller ver.: Stable v<IP_ADDRESS>

It would seem that the p100 are affected as well

Seems my Tapo LED L900 strips are also having issues, possibly due to the update like you said? When doing the usual "add new device" and appending the IP address and account details, I get a "failed to connect" error

Also my L920s not working after September upgrade (1.1.0 Build 230905 Rel.190143).
Tapo Controller v.2.10.1
Error returned by HA follows:
This error originated from a custom integration.
Logger: custom_components.tapo.common_setup
Source: custom_components/tapo/common_setup.py:45
Integration: tapo_p100 (documentation, issues)
First occurred: October 18, 2023 at 5:01:39 PM (3506 occurrences)
Last logged: 7:49:07 AM
Tapo exception: Returned unknown error_code: 1003
Failed to setup Error tapo exception: Returned unknown error_code: 1003

My L920 also no longer works.

Same with P115

I'm following with the same issue with P100...

I think I need the physical device to debug it and find a solution

I encounter the same issue with P100 also

Because I don't have the device, I need a voluntary which expose its device to internet using ngrok. Giving me the address I can test id, we can establish a tapo test account, with fake username and password. When a fix is found, the device will be deleted from tapo test account.

I bought some new P100s with current firmware and they do connect in HA but I only get the sensors, no switch. Is this related?

I'm following with the same issue with P100...

Update of my case: now all works well. Unfortunately I made many modifications in wifi network and to HA, then I'm not able to add useful information. Anyway, with the current latest updates of this integration (v2.11.0) and with the latest firmware of tapo P100 (1.5.5. hardw version: 1.20.0) all works well.

I bought some new P100s with current firmware and they do connect in HA but I only get the sensors, no switch. Is this related?

Refresh page, the entities are added asynchronously

Updated the HA to 2023.11.1 and with the integration v2.11.0 my L920s work as expected. No issues then.

I was having the same issue so I decided to delete the devices in HA (5 P110) and add them back.  Now it all works as expected.

@petretiandrea, Tapo has increased local security for many of the devices rolling out with the new firmware updates.
The new Tapo cameras are using now SHA256 hash instead of the previous MD5 and all communication is encrypted on the local network with a double token in play, plus tracked message counts, etc.

Hey guys. Here is probably the solution for OpenHub. Maybe it helps you to adjust as well

This integration already implements the new KLAP protocol

@petretiandrea, Tapo has increased local security for many of the devices rolling out with the new firmware updates. The new Tapo cameras are using now SHA256 hash instead of the previous MD5 and all communication is encrypted on the local network with a double token in play, plus tracked message counts, etc.

Tapo cameras are out of scope of this integration

Hi at all.
Reading the latest comment I do tried to do some change. I update HA OS and Core to the latest versione availabe (11.11). Tried to re join the tapo p105 and receive same error message "INVALID AUTHENTICATION".
Also a tons of other integration not works (ecovacs, shelly and moreover).
About the tapo p105 i think that the issue apparently seems indepentent to the OS and the core version.
Luckly I had 3 or 4 backup of the HA VM so I restore immediately what I had before.
@petretiandrea i think we are geographically close ;) I you would make some test directly with the device involved you think would be a solution?
"I need a voluntary which expose its device to internet using ngrok." I've a phisycal firewall in the middle, could be complicated. In case we can write in private. Let me know ;)

Yes it's complicated, but using ngrock it's a one click solution, if you want we can try it

Tapo cameras are out of scope of this integration

I see, that you have problems understanding what I wrote to you.
TAPO has introduced stronger encryption for local control on all of their devices. They are introduced with the new firmware popping up recently, release notes are like: Enhanced device security or Enhanced local communication security.
The cameras were just an example to show what kind of changes were implemented there. But don't worry, a week or so and your device will have the new firmware offered. The P100, P105 and P110 have already got the new firmware released.

If you refers to new Klap protocol of TPLink is already implemented by latest version of integration. Please report which version are you using


Need for naming convention of cell type terms - urgent

There are three open issues for cell types: #149, #150 and #240.
We have been avoiding the discussion around how to enter cell types to the controlledTerms for too long now. @lzehl generally would like to avoid the use of brain regions in the cell type names, which I understand, but there are still issues with this:

If users studied different cell types in different brain regions, the combination of adding a brain region and a non-brain region specific cell type, will be ambiguous.
Any available ontology enters the cell types as combinations of brain regions + cell type. I know that we do not need to follow this logic, but since generic cell types barely ever exist, none of our controlledTerms will receive an ontology identifier even though they could have one.

There was a suggestion to add a small schema that produces the link between brain region and cell type, which could be interesting to follow up on now.
#149 and #150 are rather old, but still have cell types that should maybe be added, but I cannot handle #240 before we have landed on a final conclusion for the naming convention. We really need to land on something asap.
@tgbugs @apdavison @lzehl (feel free to link other people to this issue as well)

I would lean towards agreeing with @lzehl that it's better to avoid the brain region when naming cell types.
The way I see it a cell type is just a way to classify cells. The key to classification of a cell has traditionally been functional or morphological, and later molecular/genetic with ever increasing number of potential cell types. But a neuron is a neuron no matter if it lives in the brain or in the periphery. And the same for subclasses of neurons.
I think the suggestion to add a small schema that produces the link between brain region and cell type is key here.
And it seems like this schema already exists. As far as I can see, cell types are only added to the tissueSample or tissueSampleCollection (and cell in the ephys module) and the information about anatomical position / region should be a part of tissueSample / cell.
Actually, I think there should be a core schema called cell, and the cell schema should at least have properties cellType and anatomicalPosition. A tissueSample would then contains cells and not cell types and thus by linkage contain information about what cell types are part of the sample and where they are located.
Also, in terms of a cell types, would it be possible to create a hierarchical schema structure, with different levels? I.e there is the very generic neuron cell type, but there is also for example interneuron, inhibitory neuron and somatostatinExpressingNeuron cell types, where all these are subclasses of each other.
The cell schema could have multiple properties related to how to classifiy it based on classification detail. Inspired by the classification of animals, there could be 'Class',' Order', 'Suborder' where 'Class' could be neuron/glia/endothelial/muscle etc, order could be inhibitory/excitatory and suborder is somatostatinExpressing / calretininExpressing etc. Or maybe it would be better to have 'FunctionalType', 'GeneExpressionType' etc as properties of the cell schema. Also from a graph database perspective this seems better.
If I go into the knowledge graph to look for interneurons, I would not find somatostatinExpressing cells etc.
Another point: If cell types should contain the region they originate from, the potential number of different cell types would explode, because where do you draw the border for the granularity of regions? And furthermore if someone recorded very specific cell types in different regions, you might end up with SomatostatinExpressingRetrosplenialCortexLayer4Cells.
Basically, as a key strategy, you do not want to combine multiple different classification levels and types into specific types because a) you end up with infinitely many combinations and b) its harder to make to search search at different levels of details in the knowledge graph.

This is a very good reference for the topic of classification of neurons: https://www.nature.com/articles/nrn.2017.85.pdf
Especially, the points made that classifications might have to be based on multiple criteria and that a hierarchical classification system has several advantages. See figure 6 for a nice overview

This is pretty advanced, but I post it here for reference:
https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>3703v2.full.pdf

See also the NPO paper https://doi.org/10.1007/s12021-022-09566-7 (bioarxiv https://doi.org/10.1101/2<IP_ADDRESS>8879).

Super cool cell type explorer (Allen Cell Type Knowledge Explorer)
https://knowledge.brain-map.org/celltypes/
This is based on the Brain Data Standards Ontology which is published on bioRxiv:
https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>3703v1.full
Seems like this is now such a extensive resource that maybe it makes sense to include this ontology in openMINDS to describe cell types?
Another very relevant paper, BRAIN Initiative Cell Census Network (BICCN)
https://www.nature.com/articles/s41586-021-03950-0

TODOs (UCSD meeting 2022-11-17)

[ ] cholinergic interneuron has to be potentially updated (wait for feedback from Interlex)
[ ] granule cell: change name to granule neuron (move cell to synonym)
[ ] interneuron: ilx ID -> http://uri.interlex.org/base/ilx_0105664 (use intrinsic neuron as synonym)
[ ]


Update README

Could you please update the README so its easier to understand what's the difference between 4minitiz and 5minitiz

At the moment, there's very little difference, I will update the readme though to make things clear.

Updated


fix: Except can't merge

Proposed changes
we can't merge multiple except.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


Updating own repo

Updating own repo to to keep up with group repo

Reasons for closing PR:

Master branch of own repo is too outdated to update
Created a tempMaster branch as a substitute for master branch
Lesson learnt:
Always update own master branch weekly/ every after a new function implementation


[SUPPORT] Hudi datastore missing updates for many records

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
Overview of the flow
Mysql-Maxwell -> Kafka -> Spark preprocessing(Sorting, dedup etc.) -> Hudi upsert via spark datasource writer (with Hivesync)
Hudi tables in S3 are missing updates for some records.
To pinpoint the issue in our entire flow we are writing dataframe to S3 after each stage and we observed that all the updates are present in the dataframe upon which the hudi datasource writer is called on, but some of these updates are applied in data present in hudi table.
We were initially using 0.4.7 and have upgraded to hudi 0.5.1 and recreated the entire hudi table but the issue still persists.
The count of records matches exactly but we are not sure if inserts are also getting dropped as any one of the captured update event for a record will create its entry, as everything is treated as an upsert. We are analyzing our data currently for this scenario.
These records having inconsistent updates don't seem to correspond to any pattern or table size or batch size.
Upon replaying the batch some of these missed updates are applied i.e. only some arbitrary percent of updates are applied each time the batch is processed.
We will be further digging in hudi code, and find a way to replicate it in non S3 env.
To Reproduce
Steps to reproduce the behavior:
Currently not able to reproduce this behaviour properly on our dev env, will update here.
Expected behavior
Both updates and inserts should be 100% consistent with source db.
Environment Description

Hudi version : 0.5.1

Spark version : 2.4.0

Hive version : 2.3.0

Hadoop version : 2.6.5

Storage (HDFS/S3/GCS..) : S3

Running on Docker? (yes/no) : no

Additional context
Logs generated from hudi and aws-sdk for s3 have no WARN or ERROR level statements, nothing out of normal in INFO level logs.
Config params for datasource writer
DataSourceWriteOptions.OPERATION_OPT_KEY, "upsert"
"hoodie.bulkinsert.shuffle.parallelism", "100"
"hoodie.upsert.shuffle.parallelism", "100"
"hoodie.insert.shuffle.parallelism", "100"
HoodieCompactionConfig.PARQUET_SMALL_FILE_LIMIT_BYTES, 256 * 1024 * 1024
HoodieStorageConfig.PARQUET_BLOCK_SIZE_BYTES, 64 * 1024 * 1024
HoodieCompactionConfig.CLEANER_COMMITS_RETAINED_PROP, 2
HIVE_SYNC_ENABLED_OPT_KEY, true

PARQUET_COMPRESSION_CODEC, "uncompressed"
Stacktrace
Add the stacktrace of the error.

Does sound weird and the fact that you can repro on dev environment suggests may be this is a data issue? Can you see any errors reported in the commit metadata.

Hmmm the datasource does fail the commit if there are such errors..
 } else {
      log.error(s"$operation failed with $errorCount errors :")
      if (log.isTraceEnabled) {
        log.trace("Printing out the top 100 errors")
        writeStatuses.rdd.filter(ws => ws.hasErrors)
          .take(100)
          .foreach(ws => {
            log.trace("Global error :", ws.getGlobalError)
            if (ws.getErrors.size() > 0) {
              ws.getErrors.foreach(kt =>
                log.trace(s"Error for key: ${kt._1}", kt._2))
            }
          })
      }
      false
    }

In any case, having some information on workload,  MOR vs COW and % of missing records would help debug more.. Did you also have the issue on 0.4.7? or only after you upgraded to 0.5.1?

@utk-spartan : Please provide more details for us to help here.

The issue was prevailing on 0.4.7, so we thought maybe it was due to https://github.com/apache/incubator-hudi/issues/418, and upgraded to Hudi 0.5.1. But the issue still prevails.

@jainnidhi703 : Is this MOR  or COW table. Also, Can you give us some idea of % of missing records. Also, can you inspect Spark logs to see if there are any other failures ?

This is for COW tables, upon analyzing the data , missing record updates were below 0.01 % for old updated data but have recently increased to around 20-30%.
Can't find any failures in spark logs.

Can this have some relation with https://issues.apache.org/jira/browse/HUDI-409 , as we recently encountered parquet corruption errors (magic numbers mismatch) while reading from presto on a fresh hudi table.

@utk-spartan : HUDI-409 is for MOR tables and unrelated to your scenario. Hmmm. COW is one of the most battle-tested part of Hudi :) and hence it is very surprising. Just to be clear, You are using hudi 0.5.x and started with a clean dataset. right  ?  I am assuming these are valid updates and not deletes. Right ? One way to debug is : use the cli to print out commit stats for commits at file level to check if you are seeing a drop in numWrites (and other stats numUpdateWrites, numDeletes.... are sane). You may have to write a custom script to suit your need or work with existing cli commands.

Closing due to inactivity


Create o365sen.txt

All Korean schools in the Seoul Metropolitan Office of Education use the o365sen.net domain, which can be obtained through student certification at o365edu.net. o365edu.net is the website of POBIS TNC. It is operated by the majority of the education offices in Korea including the Seoul Metropolitan Office of Education. As you can see at http://www.o365edu.net/JoinStep2.aspx?type=student, you will not get this email without student verification. So I think the domain should be added.

@U-siro I am sorry, this seems to cover too broad scope of potential users. Could you please tell us how many (approximately - 1000, 10 000, 100 000) high school students are using the email addresses in this email domain?

By http://www.sen.go.kr/web/services/bbs/bbsList.action , It's approx. 2296 schools using this domain,

@U-siro Thank you for the clarification! This number of schools is too big to include this email domain to the list of educational institutions. I would advise the folowing:

The schools which can be satisfied with using community editions of JetBrains tools such as IntelliJ IDEA Community Edition and PyCharm Community Edition can use them, it's free for everybody and does not require any licenses.
The schools which strongly need professional editions of the tools can either request adding them to this repository (if they have their own individual email domains), or request classroom licenses by email to<EMAIL_ADDRESS>They also can request free classroom licenses online at https://www.jetbrains.com/shop/eform/classroom/faculty?product=ALL

I have to close this request without merging. Thank you for the understanding!

@philipto As I mentioned 2 years ago, the mail services are provided by our government, not school.
If you got some request from Korean students, please remember that the domain could be government's domain and approve it.
@srnmoe This PR should be approved. Please reopen it if you still need this domain.

@kms0219kms @srnmoe Thank you for your clarification and the reminder. You are right: the domain is governmental, and the addresses there are assigned by the schools. However the school and the government cannot control how exactly each and every student uses the email address. It's obvious that not all students in all schools need professional JetBrains tools for their studies. If JetBrains grants the licenses to everybody in the domain, it may lead to license terms violation, and we do not wish to provoke it.
There are two community versions of the tools: IntelliJ IDEA Community and PyCharm Community Edition. They match most needs of the high school students for their software development studies. No subscriptions at all are necessary for the community versions of the tools. They are free for everyone.
If there are specific needs in some of the schools, the students of that school can apply for the licenses separately with an official document which proves that they are a student. They can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
I have to close the request without merging.
Thank you for your understanding!