board: arm: added board efm32pg_stk3401a

Signed-off-by: Rafael Dias Menezes<EMAIL_ADDRESS>

what is the error "1: UC6 Body has no content, should at least have 1 line." ?

what is the error "1: UC6 Body has no content, should at least have 1 line." ?

what is the error "1: UC6 Body has no content, should at least have 1 line." ?

It means the commit message is missing a body after the title line, but it looks like you figured that out.
Please have a look at the failed buildkite check, there are some test applications that aren't building successfully for this new board.
Thanks for the contribution!

what is the error "1: UC6 Body has no content, should at least have 1 line." ?

It means the commit message is missing a body after the title line, but it looks like you figured that out.
Please have a look at the failed buildkite check, there are some test applications that aren't building successfully for this new board.
Thanks for the contribution!

@rdmeneze Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests? This way you should easily see if something unexpected fails.
See also https://docs.zephyrproject.org/latest/guides/test/twister.html#executing-tests-on-a-single-device
$ ./scripts/twister -p efm32pg_stk3401a -v --device-testing --device-serial /dev/ttyACM0

@rdmeneze Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests? This way you should easily see if something unexpected fails.
See also https://docs.zephyrproject.org/latest/guides/test/twister.html#executing-tests-on-a-single-device
$ ./scripts/twister -p efm32pg_stk3401a -v --device-testing --device-serial /dev/ttyACM0

Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests?

I don't have enough disk space to perform this test. I'll try uninstall some applications to perform these tests

Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests?

I don't have enough disk space to perform this test. I'll try uninstall some applications to perform these tests

Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests?

this is the first time that I do this.
The report is below:

Hardware distribution summary:

Board
ID
Counter

efm32pg_stk3401a

174

INFO    - Saving reports...

INFO    - Writing xunit report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister.xml...

INFO    - Writing xunit report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister_report.xml...

INFO    - Writing JSON report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister.json

INFO    - Run completed

Tests results:

            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.build_time_direct_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },
            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.build_time_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },
            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.run_time_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },

Unfortunately, i do not have the board here to test this. To verify that it works as expected, can you execute twister (was sanitycheck) and perform device-tests?

this is the first time that I do this.
The report is below:

Hardware distribution summary:

Board
ID
Counter

efm32pg_stk3401a

174

INFO    - Saving reports...

INFO    - Writing xunit report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister.xml...

INFO    - Writing xunit report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister_report.xml...

INFO    - Writing JSON report /home/rdias/sources/zephyr_blink_efm32/zephyr/twister-out/twister.json

INFO    - Run completed

Tests results:

            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.build_time_direct_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },
            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.build_time_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },
            {
                "testcase":"arch.interrupt.gen_isr_table.arm_mainline.run_time_interrupt",
                "arch":"arm",
                "type":"integration",
                "platform":"efm32pg_stk3401a",
                "status":"failed",
                "reason":"Failed",
                "execution_time":4.008305549621582,
                "test_output":"*** Booting Zephyr OS build zephyr-v2.4.0-2712-gea1fc5e48235  ***\r\nSTART - Test gen_isr_tables\r\nIRQ configuration (total lines 50):\r\nRunning test suite context\r\n===================================================================\r\nSTART - test_build_time_direct_interrupt\r\nisr1 isr=0x491 irq=49\r\nisr2 isr=0x4fd irq=48\r\nChecking _irq_vector_table entry 49 for irq 49\r\ntriggering irq 49\r\ninterrupt 49 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:272: test_build_time_direct_interrupt: (check_vector(isr1, ISR1_OFFSET) is non-zero)\r\ncheck direct interrpt isr1 failed\r\nFAIL - test_build_time_direct_interrupt\r\n===================================================================\r\nSTART - test_build_time_interrupt\r\n_sw_isr_table at location 0x20000088\r\nisr3 isr=0x401 irq=47 param=0xb01dface\r\nChecking _sw_isr_table entry 47 for irq 47\r\ntriggering irq 47\r\ninterrupt 47 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:308: test_build_time_interrupt: (check_sw_isr(isr3, ISR3_ARG, ISR3_OFFSET) is non-zero)\r\ncheck interrupt isr3 failed\r\nFAIL - test_build_time_interrupt\r\n===================================================================\r\nSTART - test_run_time_interrupt\r\nisr5 isr=0x449 irq=45 param=0xf0ccac1a\r\nChecking _sw_isr_table entry 45 for irq 45\r\ntriggering irq 45\r\ninterrupt 45 didn't run once, ran 0 times\r\nAssertion failed at WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c:350: test_run_time_interrupt: (check_sw_isr(isr5, ISR5_ARG, ISR5_OFFSET) is non-zero)\r\ntest dynamic interrupt isr5 failed\r\nFAIL - test_run_time_interrupt\r\n===================================================================\r\nTest suite context failed.\r\n===================================================================\r\nPROJECT EXECUTION FAILED\r\n"
            },

@rdmeneze Regarding your twister run:
Normally you should see the execution of around 200 tests on your console with a result of either PASSED or FAILED. E.g. when i run twister for my efm32pg_stk3402a board (you must have JLink in your PATH, so programming works):
$ scripts/twister -p efm32pg_stk3402a -v --device-testing --device-serial /dev/ttyACM0

I get the following result:
ZEPHYR_BASE unset, using "/home/user/projects/zephyrproject/zephyr"
Renaming output directory to /home/user/projects/zephyrproject/zephyr/twister-out.5
INFO    - Zephyr version: zephyr-v2.4.0-2814-g8a80eb99620c
INFO    - JOBS: 6
INFO    - Building initial testcase list...
INFO    - 1058 test suites (1030 configurations) selected, 794 configurations discarded due to filters.

Device testing on:

| Platform         | ID   | Serial device   |
|------------------|------|-----------------|
| efm32pg_stk3402a |      | /dev/ttyACM0    |

INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
INFO    -   1/236 efm32pg_stk3402a          samples/synchronization/sample.kernel.synchronization PASSED (device 3.247s)
INFO    -   2/236 efm32pg_stk3402a          samples/userspace/hello_world_user/sample.helloworld PASSED (device 4.140s)
INFO    -   3/236 efm32pg_stk3402a          samples/smp/pktqueue/sample.smp.pktqueue           SKIPPED (filter)
INFO    -   4/236 efm32pg_stk3402a          samples/smp/pi/sample.smp.pi                       SKIPPED (filter)
INFO    -   5/236 efm32pg_stk3402a          samples/userspace/prod_consumer/sample.userspace.prod_consumer PASSED (device 5.624s)
INFO    -   6/236 efm32pg_stk3402a          samples/userspace/shared_mem/sample.kernel.memory_protection.shared_mem PASSED (device 4.007s)
...
INFO    - 235/236 efm32pg_stk3402a          tests/application_development/cpp/application_development.cpp.main PASSED (device 3.308s)
INFO    - 236/236 efm32pg_stk3402a          tests/application_development/gen_inc_file/buildsystem.include_file PASSED (device 3.367s)

INFO    - 217 of 221 test configurations passed (98.19%), 4 failed, 809 skipped with 0 warnings in 1523.68 seconds
INFO    - In total 4849 test cases were executed, 4344 skipped on 1 out of total 321 platforms (0.31%)
INFO    - 221 test configurations executed on platforms, 0 test configurations were only built.

Hardware distribution summary:

| Board            | ID   |   Counter |
|------------------|------|-----------|
| efm32pg_stk3402a |      |       221 |
INFO    - Saving reports...
INFO    - Writing xunit report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister_report.xml...
INFO    - Writing JSON report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister.json
INFO    - Run completed

When you run scripts/twister -p efm32pg_stk3401a -v --device-testing --device-serial /dev/ttyACM0 i would also expect about 4 failed tests and about 200 passed.

@rdmeneze Regarding your twister run:
Normally you should see the execution of around 200 tests on your console with a result of either PASSED or FAILED. E.g. when i run twister for my efm32pg_stk3402a board (you must have JLink in your PATH, so programming works):
$ scripts/twister -p efm32pg_stk3402a -v --device-testing --device-serial /dev/ttyACM0

I get the following result:
ZEPHYR_BASE unset, using "/home/user/projects/zephyrproject/zephyr"
Renaming output directory to /home/user/projects/zephyrproject/zephyr/twister-out.5
INFO    - Zephyr version: zephyr-v2.4.0-2814-g8a80eb99620c
INFO    - JOBS: 6
INFO    - Building initial testcase list...
INFO    - 1058 test suites (1030 configurations) selected, 794 configurations discarded due to filters.

Device testing on:

| Platform         | ID   | Serial device   |
|------------------|------|-----------------|
| efm32pg_stk3402a |      | /dev/ttyACM0    |

INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
INFO    -   1/236 efm32pg_stk3402a          samples/synchronization/sample.kernel.synchronization PASSED (device 3.247s)
INFO    -   2/236 efm32pg_stk3402a          samples/userspace/hello_world_user/sample.helloworld PASSED (device 4.140s)
INFO    -   3/236 efm32pg_stk3402a          samples/smp/pktqueue/sample.smp.pktqueue           SKIPPED (filter)
INFO    -   4/236 efm32pg_stk3402a          samples/smp/pi/sample.smp.pi                       SKIPPED (filter)
INFO    -   5/236 efm32pg_stk3402a          samples/userspace/prod_consumer/sample.userspace.prod_consumer PASSED (device 5.624s)
INFO    -   6/236 efm32pg_stk3402a          samples/userspace/shared_mem/sample.kernel.memory_protection.shared_mem PASSED (device 4.007s)
...
INFO    - 235/236 efm32pg_stk3402a          tests/application_development/cpp/application_development.cpp.main PASSED (device 3.308s)
INFO    - 236/236 efm32pg_stk3402a          tests/application_development/gen_inc_file/buildsystem.include_file PASSED (device 3.367s)

INFO    - 217 of 221 test configurations passed (98.19%), 4 failed, 809 skipped with 0 warnings in 1523.68 seconds
INFO    - In total 4849 test cases were executed, 4344 skipped on 1 out of total 321 platforms (0.31%)
INFO    - 221 test configurations executed on platforms, 0 test configurations were only built.

Hardware distribution summary:

| Board            | ID   |   Counter |
|------------------|------|-----------|
| efm32pg_stk3402a |      |       221 |
INFO    - Saving reports...
INFO    - Writing xunit report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister_report.xml...
INFO    - Writing JSON report /home/chrta/projects/zephyrproject/zephyr/twister-out/twister.json
INFO    - Run completed

When you run scripts/twister -p efm32pg_stk3401a -v --device-testing --device-serial /dev/ttyACM0 i would also expect about 4 failed tests and about 200 passed.


Miscalculation of max hit

My actual max hit (displayed by the special symbol in game as well as the dps wiki) is a 38, while the calculator reports a 41 as the max hit. Note that I am doing barrows and my target NPC (Verac) has a 50% wind weakness.
I realized after some digging that there is an issue with the calculation itself. I have written some basic code to illustrate the issue here: https://www.programiz.com/online-compiler/7HdFfy1MOLcTq
I haven't written a plugin for runelite before so I'm a bit nervous to refactor all that code and complete a pull request. The issue should be clear from my basic code above.

Thank you, I think I understand the issue. Seems that the smoke battlestaff bonus is not a direct 10% damage bonus but rather an increase to the magic equipment bonus. I'll have this fixed in the next version.


Helo announcement domain name mismatch

I was doing some debugging using mail-tester.com, and found some issues.
My docker-compose config is something like:
  postfix:
    image: davidepedranz/docker-send-only-postfix
    container_name: postfix
    restart: always
    environment:
      - DOMAIN=mydomain.co.uk

The FQDN announced by the Helo command uses the docker id as the sub domain:

Here are the tested values for this check:
IP: xxx.xxx.xxx.xxx
HELO: 05bbce513072.mydomain.co.uk
rDNS: mydomain.co.uk

This also results in:

We didn't find a server (A Record) behind your hostname 05bbce513072.mydomain.co.uk.

Solved by updating the docker config.
postfix:
image: davidepedranz/docker-send-only-postfix
container_name: postfix
restart: always
hostname: 'mydomain.co.uk'
environment:
- DOMAIN=mydomain.co.uk
Might be worth mentioning that in the readme.  Thanks for the very useful docker image.


Missing Avatar and headersAlreadySent error w/3-end and 4-start

After copying my .env into book/4-start and running yarn then yarn dev, I get the following error after logging in with Google:
    at SendStream.headersAlreadySent (/Users/earl/dev/builderbook/book/4-start/node_modules/send/index.js:390:13)
    at SendStream.send (/Users/earl/dev/builderbook/book/4-start/node_modules/send/index.js:618:10)
    at onstat (/Users/earl/dev/builderbook/book/4-start/node_modules/send/index.js:730:10)
    at FSReqWrap.oncomplete (fs.js:171:5) expose: false, statusCode: 500, status: 500 }

Furthermore, the app looks like this when logged in:

The user I am logged in with does have an avatar.

@earllee thanks for reporting. I just ran both 3-end and 4-start (@klyburke tested as well) - in both apps I do see Avatar after login:

Let's figure why you can't see Avatar:

Try pulling code, delete node_modules and yarn.lock, then run yarn and yarn dev.
I wonder if you have older version of material-ui package.

What's your avatarUrl in database?

When you are on dashboard page after login,  do you see any error or warning on browser console?

Hi @tima101,
I deleted the User documents on Mongo and tried logging in with a different email and then that showed the avatar. Then, I logged out and logged back in with the email that wasn't showing the avatar, and for whatever reason, it showed. Wasn't able to diagnose why this behaviour happened.
Thanks, will look at #35!


Add missing @mock.patch decorators to camera manager tests.

Coverage remained the same at 80.128% when pulling 3e129be3f35c52b8b635152b3b5827c2fcd8cc8a on test_camera_manager into 9635803c14e3a66c74ba6b7ff0d24cfa27eb45c3 on master.


Retriable doesn't aggregate exceptions.

For code :
var exceptionGenerator = new ExceptionGenerator();
Retriable.Retry(exceptionGenerator.GenerateNotImplementedException);

Expected: AggregateException that returns all exceptions that were generated during all the retries if they all fail.
Result: Only return the last exception.
Explanation: When calling services, sometimes the first exception could hold information as to what happened. If my retries are too close together, the last exception could only be about me pounding it. The first exception might actually hold why it needed to retry in the first place.
If it's not "by default" it should be relatively easy to just toggle: "always return aggregated exceptions".

Are you aware that the RetryStrategy exposes a property called Exception, which gives you an aggregate exception containing all the exceptions thrown during the course of the retry attempt.
We decided not to throw that AE, but instead to throw the last exception that failed, in order that the signature (including any documented exceptions) should not be changed by wrapping the method call in a Retriable.Retry().
If you want the behaviour you suggest, you could add an overload which throws the AggregateException, but it should be made clear (preferably in the method name) that this will be signature-mutating.
Pull requests are more than welcome!


New version: Torchsoft.RegistryWorkshop version 5.1.0

Fix for the hash code mismatch.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hash mismatch happened because a new version was released: 5.1.0. Are you able to update this PR to change the version as well?

@ImJoakim Ahh..sorry about that.  I missed the subtle difference between 5.0.1 and 5.1.0.  I pushed up the change.

@ImJoakim Should I remove the 5.0.1 folder and contents?  The download url is always pointed at the latest version so the old install package will never work again.

@ImJoakim Should I remove the 5.0.1 folder and contents? The download url is always pointed at the latest version so the old install package will never work again.

Yes please. I was just in the middle of a message asking about this :)

@ImJoakim All set!


Start-Process: Create a new window without stealing focus

Summary of the new feature / enhancement
Summary of the new feature / enhancement
I would like to start a new process with start-process, but so that the new process would NOT steal focus.
start-process -WindowStyle does not have an option to do so.
https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-CreateProcess.ps1
has exactly what I am looking for.
Proposed technical implementation details (optional)
Proposed technical implementation details (optional)
Add a new parameter, e.g. '-ShowWindow [nCmdShow value]' to Start-Process that takes any of the nCmdShow values listed in
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow

It is interesting that your code example is 9 years old, and I am sure it still works!
Now PSGallery or similar is the best place for this kind of code.
PowerShell 7 is based on dotnet (the SDK formally known as dotnet core) and for whatever reasons ProcessWindowsStyle is an enum with only four options and this enum is then used to populate lpStartupInfo.wShowWindow
Now you could add more code to add more options but it is forever a losing race...

Windows will add more options
It won't get back ported to previous versions of PowerShell
You have increased the divergence from the relative simplicity of the cross platform dotnet API.
It is more platform specific code that means nothing on Linux, FreeBSD or macOS.

So if this is in an external PowerShell module then

You can run this on any version of PowerShell
There is no backward compatibility problem
As Windows adds more options, just this module has to change.

As a cross platform "shell" ( deliberately in inverted commas ), PowerShell Core should really have had nothing to do with windowing systems, alas it is still dragging around memories of Windows 95 with Shell Execute verbs.
So yes, an excellent idea, but put in in a PSGallery module then everyone can benefit now.

It is interesting that your code example is 9 years old, and I am sure it still works!
Yes it still works well - all the way to the latest Win 11 24h2 :-)

Now PSGallery or similar is the best place for this kind of code.
I do not want to push the code snipped to anywhere.
Much more I am looking for an easy way to spawn a new process with start-process without it stealing focus.

and for whatever reasons ProcessWindowsStyle is an enum with only four options and this enum is then used to populate lpStartupInfo.wShowWindow
It is interesting to see that https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.processwindowstyle?view=net-8.0 only shows 4 values.

But https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-CreateProcess.ps1 has much more combiniations for wShowWindow:
 -ShowWindow        Window display flags:
                      0x0000 (SW_HIDE)
                      0x0001 (SW_SHOWNORMAL)
                      0x0001 (SW_NORMAL)
                      0x0002 (SW_SHOWMINIMIZED)
                      0x0003 (SW_SHOWMAXIMIZED)
                      0x0003 (SW_MAXIMIZE)
                      0x0004 (SW_SHOWNOACTIVATE)
                      0x0005 (SW_SHOW)
                      0x0006 (SW_MINIMIZE)
                      0x0007 (SW_SHOWMINNOACTIVE)
                      0x0008 (SW_SHOWNA)
                      0x0009 (SW_RESTORE)
                      0x000A (SW_SHOWDEFAULT)
                      0x000B (SW_FORCEMINIMIZE)
                      0x000B (SW_MAX)

$StartupInfo.wShowWindow = $ShowWindow # StartupInfo.ShowWindow
And they still work.
So I was hoping that there is an easy way to pass any of these to start-process.

So I was hoping that there is an easy way to pass any of these to start-process.

There is an easy way, define another enum and another parameter and then

have two parameters which control the same value (wShowWindow)

define which takes precedence when both are provided

when your script runs on any prior version of PowerShell it errors with

Start-Process: A parameter cannot be found that matches parameter name 'ShowWindow'.

So it more about the difference between "can" and "should", and the overall value it provides.

@rhubarb-geek-nz
You speak in riddles ;-)

have two parameters which control the same value (wShowWindow)
define which takes precedence when both are provided

How would I do this?

How would I do this?

I presumed you were expecting Start-Process to be changed. It already accepts
-WindowStyle <ProcessWindowStyle>

and you want it to also accept
-ShowWindow <ShowWindowStyle>

I count that has two parameters, both of which were intended to set the value of wShowWindow in the STARTUPINFO.
I was describing the coding change and the effect of that change,

However I wouldn't know how to achieve this myself.

Fortunately you have already take the correct first steps. This issue is marked for Triage and Issue-Enhancement so it is in the queue of things to get looked by the relevant working group. These initial discussions are also useful because they flesh out a little more detail about both expectations and possible implementation.


FileWatcher

Using .Net Background Worker Service With FileSystemWatcher to Read Files Posted on October 15, 2022 by Hands On Jones


Countdown timer in presentation mode

Enable to countdown the time when running in presentation mode.
Depending on the mode, a presenter can either define a presentation time and countdown the time from there or simply use the normal timer, to see the elapsed time.

This would be very helpful for our organization that runs time-bound trainings.


Generate API docs from Go structs or vice versa

Now that we have API versioning in place, we should generate our api/doc schemas from Go structs (and probably even from a Godoc 'Example' which has sample values).  We should also look at how we can take the Godoc comments and stitch them into the formal doc.

This looks like it may generate the static documentation we need:
https://www.npmjs.com/package/swagger-to-markdown
https://github.com/Skookum/SwaggerToMarkdown/blob/master/swagger-to-markdown.rb
If it works, we'll want to Dockerize this so people don't have to install ruby, similar to what I did previously for raml2html.

I looked at https://github.com/Skookum/SwaggerToMarkdown.
The last update to that project is more than 2 years old and it does not look like it is actively maintained.
Also there is no documentation regarding the files it requires (resources and parameter files). I looked at the sample parameters file there and it does not look like something that is generated by swagger for us. Seems like we will have to generate that file manually, which defeats the purpose.
https://github.com/roland-hochmuth/swagger-to-md is another such project which does not seem to be maintained.
I found https://github.com/swagger-api/swagger-codegen#generating-static-api-documentation tough, which seems promising.
I was able to generate static HTML documentation from our swagger spec using it.
It has some issues like:

the generated HTML has some issues on chrome. It works fine on firefox tough.
the generated HTML combines documentation for api/v1beta1, api/v1beta2 and api/v1beta3 into a single api/ documentation, which makes it confusing.
But it looks promising. Will look into it in more detail.

Another options is to try a static version of Swagger UI. We can host that on kubernetes.io
Sent PR: https://github.com/GoogleCloudPlatform/kubernetes/pull/3771 for that

Can we run it in a pod easily and infer the master?  I do like the static generation for docs of other forms, but the first goal is easy access for sure.

On Jan 23, 2015, at 3:55 PM, Nikhil Jindal<EMAIL_ADDRESS>wrote:
Another options is to try a static version of Swagger UI. We can host that on kubernetes.io
Sent PR: #3771 for that
—
Reply to this email directly or view it on GitHub.

Can't we just use the kubernetes-ro service to discover the master?
Brendan
On Jan 23, 2015 1:07 PM, "Clayton Coleman"<EMAIL_ADDRESS>wrote:

Can we run it in a pod easily and infer the master? I do like the static
generation for docs of other forms, but the first goal is easy access for
sure.

On Jan 23, 2015, at 3:55 PM, Nikhil Jindal<EMAIL_ADDRESS>wrote:
Another options is to try a static version of Swagger UI. We can host
that on kubernetes.io
Sent PR: #3771 for that
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/1052#issuecomment-71266034
.

Yes, that's what I meant by infer.  Bad choice of words.

On Jan 23, 2015, at 11:18 PM, Brendan Burns<EMAIL_ADDRESS>wrote:
Can't we just use the kubernetes-ro service to discover the master?
Brendan
On Jan 23, 2015 1:07 PM, "Clayton Coleman"<EMAIL_ADDRESS>wrote:

Can we run it in a pod easily and infer the master? I do like the static
generation for docs of other forms, but the first goal is easy access for
sure.

On Jan 23, 2015, at 3:55 PM, Nikhil Jindal<EMAIL_ADDRESS>wrote:
Another options is to try a static version of Swagger UI. We can host
that on kubernetes.io
Sent PR: #3771 for that
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/1052#issuecomment-71266034
.

—
Reply to this email directly or view it on GitHub.

Closing this as we now have http://kubernetes.io/third_party/swagger-ui


Pesacheck Meedan Bridge

Description
This PR adds Pesacheck Meedan Bridge script to upload fact checks as per this conversation.
Implementation approach is as outlined in #547.
This script is expected to be deployed as a docker image.

Create a .env file under pesacheck_meedan_bridge folder as per .env.example.
The variables are:

      PESACHECK_URL=https://pesacheck.org/feed
      PESACHECK_RSS2JSON_API_KEY=
      PESACHECK_CHECK_URL=https://check-api.checkmedia.org/api/graphql
      PESACHECK_CHECK_TOKEN=
      PESACHECK_CHECK_WORKSPACE_SLUG=pesacheck-tipline-sandbox
      PESACHECK_SENTRY_DSN=

A docker-compose script has been added to run this docker-compose up pesacheck_meedan_bridge --build -d.
To build an image to deploy to dokku or any other environment, docker build -t pesacheck_meedan_bridge .

Development
.env

Execute pesacheck_meedan_bridge/py/service.py

Fixes #547
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Screenshots
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Haven't gone through the code yet @koechkevin but linting throws errors:
pants lint ::

Haven't gone through the code yet @koechkevin but linting throws errors:
pants lint ::

@kilemensi running pant lint, I get this error

And also exists on main branch, not sure what causes this error.


Horizontal Nav items focus border issues

related: https://github.com/patternfly/patternfly-react/issues/2054

relates to: #2001
Let's update this during next breaking change period.

@rachael-phillips we can safely add this to without breaking change.


Misc improvements

This applies various micro improvements.

mirrors test infrastructure we got in client (with local __tests__)
simplifies ClientConfig
detects dev mode via NODE_ENV
hoists app DEV dependencies in root

Is there any reason why we only move the app/lib/client-config specs to the newly __test__ directory, and not all specs inside the app directory?

Is there any reason why we only move the app/lib/client-config specs to the newly __test__ directory, and not all specs inside the app directory?

Let's do that incrementally. I wanted to get you guys to approve that first :wink:.


Fix scroll position getting reset after config changes

fixes #271

Hi masasikanth,
Regarding the comment "...Weirdly it doesn't fix scroll position getting reset for navigation. Will have to check separately and resolve it in a different PR."
Can I ask which PR is it?
Thanks a lot!

Hi masasikanth,
Regarding the comment "...Weirdly it doesn't fix scroll position getting reset for navigation. Will have to check separately and resolve it in a different PR."
Can I ask which PR is it?
Thanks a lot!

https://github.com/msasikanth/twine/pull/303


Source for rlgym plugin

Haya! I cannot find the source for the plugin/RLGym.dll
Everywhere it says it is installed using pip :/
Is it even public?

No, the RLGym plugin is purposefully closed-source.


Unknown Error only in Release Builds

Hy guys, I'm facing an unknown error. I really don't know how to fix this. It is only happening in the release build, debug builds are fine.
Here are the logs captured with the logger:
I/flutter (29760): ┌─────────────────────────────────────────────────
I/flutter (29760): │ #0   AuthBloc.onError (package:app/application/auth/auth/auth_bloc.dart:60)
I/flutter (29760): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (29760): │ ⛔ Error occurred in Auth Bloc = #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #1      wrapDatabaseException (package:sqflite/src/exception_impl.dart:7)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #2      SqfliteDatabaseFactoryMixin.getDatabasesPath (package:sqflite_common/src/factory_mixin.dart:153)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #3      _SqfliteDelegate.open (package:moor_flutter/moor_flutter.dart:52)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #4      DelegatedDatabase.ensureOpen.<anonymous closure> (package:moor/src/runtime/executor/helpers/engines.dart:253)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #5      Lock.synchronized.callBlockAndComplete (package:moor/src/utils/synchronized.dart:18)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔ #6      DatabaseConnectionUser.doWhenOpened.<anonymous closure> (package:moor/src/runtime/api/connection_user.dart:125)
I/flutter (29760): │ ⛔ <asynchronous suspension>
I/flutter (29760): │ ⛔
I/flutter (29760): └─────────────────────────────────────────────────

I'm using:
moor_flutter: ^4.0.0-nullsafety
moor_generator:
    git:
      url: https://github.com/simolus3/moor.git
      ref: d279f1cdffeb48235db6be41f6adf756af96f6f0
      path: moor_generator

** Flutter Doctor **
[√] Flutter (Channel stable, 2.0.1, on Microsoft Windows [Version 10.0.19042.867], locale en-IN)
    • Flutter version 2.0.1 at C:\tools\flutter
    • Framework revision c5a4b4029c (2 weeks ago), 2021-03-04 09:47:48 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Aman\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.53.0)
    • VS Code at C:\Users\Aman\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • RMX1801 (mobile) • 649cc2e9 • android-arm64  • Android 10 (API 29)
    • Chrome (web)     • chrome   • web-javascript • Google Chrome 88.0.4324.190
    • Edge (web)       • edge     • web-javascript • Microsoft Edge 89.0.774.54

• No issues found!

It's pretty weird that this would happen in SqfliteDatabaseFactoryMixin.getDatabasesPath - this might be an sqflite problem unrelated to moor. Also, your logs only mention the stack trace but no actual error, can you post the error description?

Where to log at please tell?

How to log errors depends on what you use for logging. It looks like you're only printing the stack trace.


Code User Interface for login and registration pages

Code UI for login and registration pages

[x] Code login page

[x] Code registration page

completed coding login page as well as the registration page. Closing task.


Support Best-Efforts requests

There are 3 forms of QoS classes for K8s pods,

Guaranteed
Burstable
Best-Effort

The 3rd one means no resource request or limit was given in the pod spec, see more here:
https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#create-a-pod-that-gets-assigned-a-qos-class-of-besteffort. Right now, YuniKorn can not schedule such pod.

Looking at the code of K8 a best effort pod has only containers without resource requests (i.e. all will be null). On the K8 side a PodQOSClass of "BestEffort" affect some processes:

just sees "pods" as a resource to check.
are ignored in the node memory pressure predicate (ignoring it)
for cgroups on linux gets a default standard slice of cpu.
are checked first as a candidate for pre-emption

For K8 scheduling triggers on just the container number, not the resource request.
However in YuniKorn we currently use scheduling based on the pendingResource of a queue to schedule.  Since a best effort app does not ask for resources it will never trigger a schedule cycle.
This goes to the hart of the scheduling steps in YuniKorn. I see two ways forward:

we create a fake request with some default resources that are not nil
we properly introduce the best effort container

A fake resource request is a simple solution but leaves gaps: node usage will become out of sync with K8, does not fit well with pre-emption as the container now is a normal just small container. It also clashes with sorting policies for apps and requests etc.
Introducing a best effort container would work around the issues above but is more complex change. A resource request would need to be changed as would the scheduling steps. app and request sorting as well as preemption sort containers using  pluggable algorithms which  we can make aware of this container type.
I prefer the second option.

Thanks for the analysis @wilfred-s , cc @wangdatan , @sunilgovind .
How about we work on a quick solution with option 1? I think we can achieve it without big changes. I am not saying this is a better approach or our "final" approach. But just want to get this work with minimal effort and see how things go on. We can always get back and work out a better design like opt 2.
Just my thought here.

That can be achieved without any core scheduler changes.
The k8shim can handle the solution for option 1: when it finds a pod that is marked with the PodQOSClass of "BestEffort" it modifies the resource request to not be nil but have a tiny value. Doing that we do not burden the core with something that is currently shim limited.

Yeah, sounds good enough for now. Can we implement this and see how it works? Thanks!

This is done in https://github.com/cloudera/yunikorn-k8shim/pull/52. Thanks @wilfred-s !


[tool_crash] FileSystemException: Failed to decode data using encoding 'utf-8', null

Command
flutter --no-color run --machine --track-widget-creation --device-id=464f478 --start-paused --dart-define=flutter.inspector.structuredErrors=true lib\main.dart

Steps to Reproduce

...
...
...

Logs
FileSystemException: Failed to decode data using encoding 'utf-8', null
#0      _File._tryDecode (dart:io/file_impl.dart:564:7)
#1      _File.readAsStringSync (dart:io/file_impl.dart:584:7)
#2      ForwardingFile.readAsStringSync (package:file/src/forwarding/forwarding_file.dart:96:16)
#3      ErrorHandlingFile.readAsStringSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:209:22)
#4      _runSync (package:flutter_tools/src/base/error_handling_io.dart:545:14)
#5      ErrorHandlingFile.readAsStringSync (package:flutter_tools/src/base/error_handling_io.dart:208:12)
#6      isAppUsingAndroidX (package:flutter_tools/src/android/gradle.dart:798:21)
#7      _writeAndroidPluginRegistrant (package:flutter_tools/src/plugins.dart:623:17)
#8      injectPlugins (package:flutter_tools/src/plugins.dart:1173:11)
<asynchronous suspension>
#9      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:280:5)
<asynchronous suspension>
#10     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1117:7)
<asynchronous suspension>
#11     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:986:27)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#13     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
<asynchronous suspension>
#14     CommandRunner.runCommand (package:args/command_runner.dart:197:13)
<asynchronous suspension>
#15     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:274:9)
<asynchronous suspension>
#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

[✓] Flutter (Channel beta, 1.25.0-8.2.pre, on Microsoft Windows [Version 10.0.19042.867], locale en-IN)
    • Flutter version 1.25.0-8.2.pre at D:\Webdesign Year 3\flutter\flutter
    • Framework revision b0a2299859 (3 months ago), 2021-01-05 12:34:13 -0800
    • Engine revision 92ae191c17
    • Dart version 2.12.0 (build 2.12.0-133.2.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:/Users/Administrator/AppData/Local/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:/Users/Administrator/AppData/Local/Android/Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.54.3)
    • VS Code at C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.20.0

[✓] Connected device (1 available)
    • MI 8 Lite (mobile) • 464f478 • android-arm64 • Android 10 (API 29)

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: beta
Creation framework version: b0a22998593fc605c723dee8ff4d9315c32cfe2c
Plugins
integration_test

Closing this as duplicate of https://github.com/flutter/flutter/issues/65021. See https://github.com/flutter/flutter/issues/65021#issuecomment-685095919 for workarounds.
Subscribe for that issue for updates.
Thank you


Allow disabling identity provider requirement with an environment variable

Disabling identity provider authentication through an environment variable would be a great quality of life improvement.
Doing it manually in the code itself is easy, but also seems to require a bunch of additional steps to set up a new pipeline, hosting a new Docker image or manually getting the code onto an Azure Web App.

Disabling identity provider authentication through an environment variable would be a great quality of life improvement.
Doing it manually in the code itself is easy, but also seems to require a bunch of additional steps to set up a new pipeline, hosting a new Docker image or manually getting the code onto an Azure Web App.

Where did you manage to disable the IDP?  I'm trying to run in a devcontainer but I am hit with the Authentication error when trying to run via start.sh.  This is after populating the .env as completely as possible.

@entmike @Xtrah Hi all, can I please ask how did you disabled the identity provider authentication requirements? just by converting "localhost" into "<IP_ADDRESS>"? because for me didn't work. I appreciate your help. Best

@Mshz2 this is what I did when I created the issue a month back: https://github.com/Xtrah/sample-app-aoai-chatGPT/commit/3981666ca802c55b161c6df49e3e2d39e95d3b4f
Be aware that the above fork is a few commits behind this repository now, so the code might have changed.

@Mshz2 this is what I did when I created the issue a month back: https://github.com/Xtrah/sample-app-aoai-chatGPT/commit/3981666ca802c55b161c6df49e3e2d39e95d3b4f
Be aware that the above fork is a few commits behind this repository now, so the code might have changed.

@Xtrah The link seems to be unavailable now! Could you please guide us through all the changes you made to disable the IDP. I am still being redirected to Microsoft login page.

Addressed in 436


1045 tables config

Issue https://github.com/Urigo/graphql-mesh/issues/1045

Steps for tests :

yarn build
cd examples/mysql-employees
yarn start
open graphiql

does not work => still old behavior.
Examples does not use the local build, to check I added a 'if (false)' instead of 'if (requestedTables.length === 0 || requestedTables.indexOf(tableName) !== -1 )'
=> still going inside if 😞
@ardatan Any config has to be done to use local build ?

Sorry for late response! Thank you for the PR @jrevault !
You can ignore canary release error :) Do you have Windows?

Thank you for the PR!
I'm moving those changes into https://github.com/Urigo/graphql-mesh/issues/1045


Google - Error 404

Hi.
It allows to login in gmail and accept the permissions, but when back to website it shows a 404 error.
...wp-content/plugins/wordpress-social-login-master/hybridauth/callbacks/google.php?state=HA-F4HTJP9DVUGMLYC2NEXS37O6QRIWB801KZA5&code=4/DAHdRKY-JzHSNrgZC4fX1tZsexoI5pkloI0XsZPrDQL357cY5iOBft8dJYPWEIrz6hiKanjwHCSsv7uR-7TjW3E&scope=email%20profile%20https://www.googleapis.com/auth/userinfo.profile%20https://www.googleapis.com/auth/userinfo.email
Regards

I got same issue here. Please..

Hi @kelaskakap . I changed to other plugin.
Regards


Racer

@jt-moriarty at this point I'm assuming Racer is not gonna make the cut for this year. I'll leave the branch if you want to dev for the future. It's highly unlikely we'll be switching HW for the next few years. If you secretly have it all working and not committed, you can reopen the ticket.


libuv Version Issue

This issue is related to #71.
ANT uses libuv v1.7.5.
However, Node.js requires the latest libuv.
Because older versions do not support some functions. (e.g., uv_os_getpid())

As I mentioned in PR #71, We have a plan to change ANT APIs fundamentally. #136
When we introduce ANT API lite version, we can implement it based on recent node.js and libuv.
Therefore I close this issue.


Fixing escape issues with curl and zsh

Issue here

Hi @danielmapar! Thanks for the fix. I'm not super familiar with zsh. Could we escape things using single quotes instead of backslashes like this:
curl 'localhost:12345/hello?name=Weaver'

If that does work, I think it's a bit easier to read?

@mwhittaker very good point, and yes " works as well. I updated the PR to use " instead of escaping chars with \.

I re-based the PR branch @mwhittaker, let me know if I need to do any further steps to get it merged.

Merged! Thanks so much for your contribution @danielmapar!


Enhancement/gh 3064 alternate registration path

Fixes #3064

Resolves #3064
Seeks to add two features:

Allowing signing up before submitting an application
Requiring login before submitting an application

This is enabled by two variables:

ENABLE_REGISTRATION_WITHOUT_APPLICATION for the former
FORCE_LOGIN_FOR_APPLICATION for the latter

(As a side note, as this is my first PR of hopefully many from OTS's work with a client on enhancing hypha, any generic code and PR practices that I failed to follow would be greatly appreciated)

I'm off this week but will take this up next week.

Thanks for the quick review!  Comments to come inline :)  Look forward to more next week.

Thanks @frankduncan for making changes, I'll be able to review them tomorrow.

I tested the feature locally, and looks great to me! Will be waiting for https://github.com/HyphaApp/hypha/pull/3156#discussion_r1097364115 to get resolved.

@frankduncan @theskumar  This works very well in my testing.


[NeoForge] IItemDecorators are not rendered for batched items

When stack batching is enabled, NeoForge IItemDecorators are not rendered for those stacks. An example of this is that Mekasuit energy levels from Mekanism are not rendered with batching active (tested on 1.21.1).

I've split this off from #790 as the original issue now has a PR open which fixes it. Fixing this one will unfortunately require reaching into NeoForge internals, as the ItemDecoratorHandler class is not public API, but you need it to determine which stacks have a decorator registered.

Ohhh that explains why the light block state overlay just didn't work..


Syntax error in rescue statement

@danmcp
Addresses this failure:
/var/lib/jenkins/jobs/trello_history/workspace/sprint_tools/lib/bugzilla_helper.rb:36:in `rescue in retry_on_exception': undefined local variable or method `e' for #<BugzillaHelper:0x00000009d09e28> (NameError)


Add support for kubernetes/openshift certificate signing

For OpenShift: https://docs.openshift.com/container-platform/3.5/dev_guide/secrets.html#service-serving-certificate-secrets
For kubernetes, we can add support for https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/

I'm not sure if we want to have the endpoints certificates signed by kubernetes/openshift CA at all anymore.  Closing this for now.


Adds feature to fetch a file from remote RHost.

Adds feature to fetch a file from remote RHost. This file will be saved to user's download folder.

:+1:


VMs loses network connectivity after some time

We encounter some stability issues with VM networking. All VM seem to be prone to losing network connectivity after some time (minutes, or hours).
Is it something you have noticed ?

The problem has been pinned down to vhost-net (kernel part of the virtio network driver), which is behaving poorly on RT kernels: https://lkml.org/lkml/2021/12/15/657


chore(main): release 1.19.5

:robot: I have created a release beep boop
1.19.5 (2022-07-20)
Bug Fixes

various cleanups for release-tag action (#431) (a5eb7be)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mesosphere/konvoy-image-builder/releases/tag/v1.19.5 :sunflower:


[BUG] checkout -  cannot proceed to the next step

Describe the bug
In the basket, when selecting the option "I want to create an account", you cannot proceed to the next step
We  have only billing error as you can see on attached screenshot

Additional context
Shopware v<IP_ADDRESS> Stable Version
Shopware PWA 0.7.1

storefrontUrl - because we blocked our testing domain in the backend.
countryId - actual problem
The problem does not take place in the latest stable v0.8.1, tested on:
SW v<IP_ADDRESS>
shopware-pwa: v0.8.1

closing as fixed in later versions, let us know if there's still a problem with that in the newest version


Java solution is linear search NOT binary search.

The Java solution is a linear search and NOT a binary search. Worst case runtime for the code is O(m+n) which occurs if the target value is at the bottom left corner of the matrix. Binary search solution should be O(logm) + O(logn) as described in the video solution.

Area you talking about 744-Binary-Search.java

Yes it's leetcode problem #74. Sorry, I was specific enough.


Use feature flags for signup flow

Fixes
https://issues.redhat.com/browse/HAC-1979

Description
Use feature flags for detecting user signup status.

Type of change

[x] Feature
[ ] Bugfix
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Screen shots / Gifs for design review
(No UI changes)

How to test or reproduce?

Browser conformance:

[ ] Chrome
[x] Firefox
[ ] Safari
[ ] Edge

E2e passing locally


When parsing features["label_ids"], why are some features["label_ids"] wrong?

For example:
When I parse nu-1 (nu-1    how many people were murdered in 1940/41?    csv/204-csv/149.csv     100,000) in test.tsv, the parsing features["label_ids"] is (4, 7). However the true features["label_ids] is (1,3).  Could you explain this phenomenon?
Q: how many people were murdered in 1940/41?
Table:
Description Losses	1939/40	1940/41	1941/42	1942/43	1943/44	1944/45	Total
Direct War Losses	360,000					183,000	543,000
Murdered	75,000	100,000	116,000	133,000	82,000		506,000
Deaths In Prisons & Camps	69,000	210,000	220,000	266,000	381,000		1,146,000
Deaths Outside of Prisons & Camps		42,000	71,000	142,000	218,000		473,000
Murdered in Eastern Regions						100,000	100,000
Deaths other countries							2,000
Total	504,000	352,000	407,000	541,000	681,000	270,000	2,770,000

I suspect this is an artifact of normalizing the answer. This could happen if a similar string occurs in multiple cells.
Is this an example from WTQ, SQA or WikiSQL?
What is the true answer text?

I dug into this a bit. The true answer is 100,000 and occurs in three different cells.
Our code will only consider the fist match in this case.
I think this logic could probably be improved, but that would require handling alternative label_ids in the model.
Alternatively, one could discard such examples at training time.

The example is from WTQ.  If the logic is improved, the model would have better performance.

That's probably true. The noisy labels might hurt training.
The tricky bit is that one would need to implement some kind of EM strategy to find the correct coordinates when there are multiple options.

I  tried to simply drop the ambiguous examples from the WTQ train set this seems to improve the results:

Name
Base
Expt

Mask LM
0.50230
0.51139

WikiSQL SQA Inter Mask LM
0.39597
0.41459

So I made this the new default. It didn't improve the results when trying this for WikiSQL.


[TS-3648] Desire support for client TLS cipher in custom log format

We had a crash at y! related to this change. Here are our fixes from myself and @SolidWallOfCode

make sure that this will close #288 and #122

Fix looks good.  Adds null checks and computes length even when buf is NULL to handle the pattern of calling once with no buffer to compute length of buffer to use.


Reworked node selector layout

Now looks like this:

That was on purpose. I think the readability is a lot better like this because when you center it, the distance between label (Current Network/Node) and selected network/node url is way too big.

That was on purpose. I think the readability is a lot better like this because when you center it, the distance between label (Current Network/Node) and selected network/node url is way too big.


Overwrite default WMAgent config couch doc

Fixes #8350
Overwrite ReqMgrAux db docs if they exist already. I've done a couple of tests and it looks ok.

Actually, I was thinking for the post call, only insert when document doesn't exist instead of updating. It thought it might be safer to do that way. I would explicitly delete when we want to replace the whole document. I can add delete RESTApi and update the deployment script if that is OK with you.  But if you think that is not a safer, this patch looks fine.

With this patch, post and put method will have the same behaviour/outcome. I think your suggestion would be better indeed, but we need to delete/create the document only for the WMAgent config.
Let me have a look at it...

There are still difference for post and put in here as well. Post will replace whole document, put will just add/update only specified the properties.  I am just thinking by separating post and delete we might make less mistake or we can even give different permission on that later. If you agreed, I can create the patch.  How about the revision, does it go to -2, -3, etc? Or it remains in -1?
Have a look at my 2nd commit, unless I completely misunderstood you, it should be what we were discussing.  How about the revision, does it go to -2, -3, etc? Or it remains in -1?

It replaces the previous document and revision number increase.

I updated the 2nd commit again. Hopefully it addresses everything now. Still untested.

Thanks Alan, patch looks good to me. I have only one comments inline. 😄

@ticoann I did a few tests and everything looks Ok. Deleting a document that doesn't exist will generate the following log in reqmgr2:
[21/Nov/2017:15:13:13]  ERROR: failed to delete document: WMAGENT_CONFIG_vocms0262.cern.ch
Reason: CouchNotFoundError - reason: Object Not Found, data: {} result: None
[21/Nov/2017:15:13:13] alancc7-cloud1.cern.ch <IP_ADDRESS> "DELETE /reqmgr2/data/wmagentconfig/vocms0262.cern.ch HTTP/1.1" 200 OK [data: 3803 in 20 out 46940 us ] [auth: OK "/DC=ch/DC=cern/OU=computers/CN=wmagent/vocms040.cern.ch" "" ] [ref: "" "WMCore.Services.Requests/v001" ]

I've also merged both commits now.

Thanks Alan,


Include strategy

Hi,
I'm starting to use this library, but have some issues with the include strategy. I'd like to have a proper folder for the inclusion, something like: #include <ctre/ctre.hpp> like https://github.com/fmtlib/fmt, boost, or https://github.com/mpusz/units.
If one included some headers directly, we basically have this already. I wanted only ctre::match so I #include <ctre/wrapper.hpp> because it's defined there. But here lies another problem, the headers are not self containing. So I have to ask what is the difference between include/ctre.hpp and single-header/ctre.hpp I always get everything, right?

Always include just <ctre.hpp> it's not designed for including only a selected header. Set your include folder to include/ or single-header/ result should be identical.

The difference between the two ctre.hpp is whether it's a single header, nothing else. The latter just replaces every #include with the target file's contents, flattening CTRE to a single file and letting you control how you want to arrange your directories.

Always include just <ctre.hpp> it's not designed for including only a selected header. Set your include folder to include/ or single-header/ result should be identical.

Yeah, it'd be great, if there was some sort of hierarchy. Of course it's your choice whether to grant such a request or not.

The difference between the two ctre.hpp is whether it's a single header, nothing else. The latter just replaces every #include with the target file's contents, flattening CTRE to a single file and letting you control how you want to arrange your directories.

So basically only for those who want to copy the single-header variant somewhere else? Did not think about such use case.


Eslint: enable 'no-underscore-dangle' to unify naming

Proposal: I can see that underscore may be good visual clue providing information
about method being sort of private. But I have two arguments against:

Underscore method is not really private.
All React lifecycle methods are meant to be private but they are
not prefixed by the underscore which creates inconsistency and
additional confusion.

See: https://reactjs.org/docs/react-component.html#the-component-lifecycle
See: https://eslint.org/docs/rules/no-underscore-dangle
66646d5

Please test these changes in Expo after build has finished:

Also, this helped to discover an error in Flow setting (underscored methods were ignored)... 💩

there are some conflicts, cc @mrtnzlml

there are some conflicts, cc @mrtnzlml

Resolved.


Update README.md

This commit add the Pre-requisites update need it! @albertinisg
{PR title}

[x] You've read the Contributor Guide and Code of Conduct.
[x] You've included unit or integration tests for your change, where applicable.
[x] You've included inline docs for your change, where applicable.
[x] There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

Summary of the changes (Less than 80 chars)
Description
{Detail}
Fixes #{bug number} (in this specific format)

Please update the PR message where says:
{Detail}
With a little bit of details of the changes
And where says:
Fixes #{bug number} (in this specific format)
With
Fixes


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 1152 ms

Resolved: Bofrost.lu performance has improved in fa9a43e after 7 minutes.


Complete the remaining API methods

Adds /user, /owner, /location, and /delete.
After this, it's time to implement the user interface.

Coverage increased (+0.2%) to 98.196% when pulling 5680322e51cc74414f5c23f9d565a22576da4ef2 on complete-api into 9ed97d5cbe61bee174c5e9eb95ad3bd93642b2ab on master.


”Piscu Rusului”, ”Poienile”, ”Tarnița”, ”Zece Prăjini” are listed in the drop-down menu

Description:
When user writes ”Piscu Rusului”, ”Poienile”, ”Tarnița”, ”Zece Prăjini” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Piscu Rusului"

Expected results
The location appears in the drop-down menu as "Sat Piscu Rusului, IAȘI (Dagâța)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Poienile"

Expected results
The location appears in the drop-down menu as "Sat Poienile, IAȘI (Dagâța)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Tarnița"

Expected results
The location appears in the drop-down menu as "Sat Tarnița, IAȘI (Dagâța)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Zece Prăjini"

Expected results
The location appears in the drop-down menu as "Sat Zece Prăjini, IAȘI (Dagâța)".


Viewing JSON of Content Files Slow to Load

When trying to view a content item that is a saved file (Service Definition, Map/Layer Packages, ...) the view JSON is slow to load on those items as if it is actually trying to download the content.  It would be great if the initiate download doesn't start till the download link is clicked.

...as if it is actually trying to download the content.

That's exactly what's happening as soon as a request is made to the /data endpoint for file based items. Maybe I can add a timeout or abort the request.


Feature request: Add SIP transport

Describe the feature
SIP is a very widely used signaling transport for voice and video (VoIP) calling. It sets up RTP streams using SDP, much like RTSP or webrtc.
The use case here is SIP video phones and audio/video door bells.
It would be useful to stream these kinds of devices to and from the media server.

Hi Bill,
Can you explain your use case a bit more. I believe I could help you in adding SIP+SDP interface in this library. WebRTC is already supported so perhaps an OpenSIPS as your SIP<->WebRTC convertor can already achieve this but still.. let me know if still needed.
Thanks,
Gohar

Hey Gohar, I moved on from that project though I think this would still be a good feature if anyone were interested in developing it. Thanks for asking!


Fix elasticsearch test suite when running in Docker

The Elasticsearch multiverse test suite fails when running in docker:
For Elasticsearch 7:
Faraday::ConnectionFailed: Failed to open TCP connection to localhost:9200

and For Elasticsearch 8:
Faraday::ConnectionFailed: Failed to open TCP connection to localhost:9250

Let's get this fixed!
Related to #1962

Backlogging this for now. Notes:

An issue with Docker is preventing the Elasticsearch client from establishing a connection, no matter the port.
Docker is successfully opening the desired ports - a curl request made from the local machine is successful. However, a curl request made from inside a container fails. There may be an issue with containers talking to each other.
The same error issue is present in Redis tests,  #1971. However, rabbitmq tests, which also need to open a port, pass.
We've:

compared docker images across Ruby playground and agent yml files.
tried new ports, env var (based on playground, yml files, and internet research), allocated additional memory
Looked into Docker updates (not extensively, something could've and probably did change with Docker)


Support Service principal based ADLSGen2PinotFS authentication

Linkedin plans to use ADLSGen2PinotFS but requires service principal based authentication to do that for better ACL control.
The current accesskey based auth would be harder to maintain with multiple applications.
Reference docs
https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-directory-file-acl-java#connect-by-using-azure-active-directory-azure-ad

https://github.com/apache/incubator-pinot/pull/6531


Inappropriate web link filter

When sharing a link, have the backend peek at the remote site or resource, to detect if inappropriate.
Don't let the frontend auto-redirect until the backend has established that the URL target "looks safe".

E2EE doesn't forbid some limited form of client-side propriety check.


fix: Require lock within Project.project_files

Closes #6240

@cjohnhanson I am getting the same error.    Then did a poetry install and poetry shell.  After navigating to the test-meltano project I ran meltano --log-level ui and navigated the UI.  I have attached the console output for your review.  I did not delete all the pycache folders so their might be some left overs.  Please let me know if there is a clear way to test or this was an ok way.
buzzcutnorman-meltano-ui-console-none-type-20220627.log

@cjohnhanson I was looking around and found this article about race conditions and locks on variables:
How to use the Python Threading Lock to Prevent Race Conditions
I made the following changes to the project_files.py and it seemed to resolve the issue.
I added this include
from threading import Lock
Then edited the __init__ to create a self.lock
    def __init__(self, root: Path, meltano_file_path: Path):
        """Instantiate ProjectFiles interface from project root and meltano.yml path."""
        self.lock = Lock()
        self.root = root.resolve()
        self._meltano = None
        self._meltano_file_path = meltano_file_path.resolve()
        self._plugin_file_map = {}

Then I added the acquire() and release() to the load() and update() class functions:
    def load(self) -> dict:
        """Load all project files into a single dict representation."""
        # meltano file may have changed in another process, so reset cache first
        self.lock.acquire()
        self.reset_cache()
        included_file_contents = self._load_included_files()
        self.lock.release()
        return deep_merge(self.meltano, included_file_contents)

    def update(self, meltano_config: dict):
        """Update config by overriding current config with new, changed config.

        Note: `.update()` will write blank entities for those no longer in use (i.e. contained config on load, but not on save).
        """
        self.lock.acquire()
        file_dicts = self._split_config_dict(meltano_config)
        for file_path, contents in file_dicts.items():
            self._write_file(file_path, contents)

        unused_files = [fl for fl in self.include_paths if str(fl) not in file_dicts]
        for unused_file_path in unused_files:
            self._write_file(unused_file_path, BLANK_SUBFILE)
        self.reset_cache()
        self.lock.release()
        return meltano_config

I had added them to the property meltano() , property include_paths(), and reset_cache() but with all five in place when you call meltano --log-level debug ui it wouldn't even start.
I apologize in advance I know there is probably a better way to share this code but I just don't know how to do it yet.

@cjohnhanson I was afraid I might have messed up the testing.  I ran the command you asked while in my meltano folder then while in that environment I changed the the test-meltano directory and ran meltano --log-level debug ui and then navigated the UI.  I still am getting the error but maybe again I didn't  setup the environment correctly.  Here is the console log containing what I did.
buzzcutnorman-meltano-ui-console-none-type-20220628.log

@BuzzCutNorman thanks for digging into this, your explanation makes total sense to me. I applied your suggested changes in this branch. Assuming tests pass, I'll mark this as ready and get a review from someone else on the team and then hopefully we can get this out the door.
@visch if you had a chance to test this on your Windows machine, that would be super helpful too.
Thanks again for all your digging and hard work here!

@cjohnhanson  I am glad I was on the right track and my rambling helped.  Thank you for the education on threads (context mangers, and fasteners).  I honestly thought the read_lock() and write_lock() were for files not threads and processes because the only times I saw them was when meltano files were being read from or written to.

@pandemicsyn would you mind taking a look at this?

@cjohnhanson @BuzzCutNorman dropped a note on the issue too but fwiw - i was able to repro this on my Mac. That aside,
So the exception is buried over in project_files.py:
  File "/Users/syn/projects/meltano/src/meltano/core/project_files.py", line 59, in include_paths
    include_path_patterns = self.meltano.get("include_paths", [])
AttributeError: 'NoneType' object has no attribute 'get'

The only thing that should be setting self._meltano = None is reset_cache:
https://github.com/meltano/meltano/blob/859083b8c76c1b5d88ba30dbefb1b475a08f1fc4/src/meltano/core/project_files.py#L84-L86
That in turn gets called in two spots load & update,
https://github.com/meltano/meltano/blob/859083b8c76c1b5d88ba30dbefb1b475a08f1fc4/src/meltano/core/project_files.py#L62-L67
https://github.com/meltano/meltano/blob/859083b8c76c1b5d88ba30dbefb1b475a08f1fc4/src/meltano/core/project_files.py#L69-L82
The load race is always present I think, since any concurrent calls via self.project_files.load() or update() could trigger it, and high request load or system latency would make it more likely to happen.
https://github.com/meltano/meltano/blob/859083b8c76c1b5d88ba30dbefb1b475a08f1fc4/src/meltano/core/project.py#L235-L236
@cjohnhanson the write lock does fix it/cover it up since it prevents concurrent reads, but feels like that's fixing a symptom and not a cause - and I wonder if that has perf implications for when you're just using cli.
Guessing at least part of the problem is how we patched in Uvicorn support and cheated to start asyncio event loops in parts of the Flask code base.
Side note: Makes sense considering whats happening, but if increase the Uvicorn worker count it does happen less frequently.

Guessing at least part of the problem is how we patched in Uvicorn support and cheated to start asyncio event loops in parts of the Flask code base.

🤔 Maybe thats not entirely true, the exceptions actually happen even when calling paths outside of those that we patched when we added Uvicorn support. So might just be a side effect of uvicorn allowing more concurrency and exposing the underlying issue.

@pandemicsyn I am glad you could reproduce and validate this on a non windows machine.
The  GET /api/v1/orchestrations/pipeline-schedules  call was the one that usually triggered the error for me and like you mentioned it doesn't have any of the asynio loop calls.  I read something in passing that flask v2 puts each new request in a new thread.  I have not done more research to see if that is true or not but wanted to mention it.
Here are two things I notice:
When I put a logger in the load() function to show how many times it is called I was surprised.
When reading about the fasteners.ReaderWriterLock() locks the write_lock() makes sure all queued up calls are dealt with in a FIFO method writers first then readers.  While the read_lock() doesn't state the same guarantee.  Since they are all writes now the queue make sure they all get addressed in the order they came in.

@BuzzCutNorman i think we've identified the issue, the problem is more how to properly resolve it. project_files.py in its current form isn't concurrency safe (and originally wasn't mean to), but forcing everything into a FIFO like you'd get by forcing a write lock is also not ideal.

@BuzzCutNorman building on @pandemicsyn's comment--I think we need to do at least one of three things here:

Make project_files.py completely thread safe. This is a pretty heavy lift. It will be worth the investment long-term but is likely not a top priority for us in the short-term.
Fully determine the performance implications of the write lock that we currently have in this PR. If we can confirm that this locking approach doesn't have significant performance implications, then we'd be more comfortable rolling this change out to all users.
Protect the write lock we have here behind the enable_uvicorn feature flag so that if there are significant performance implications, only users that are using this experimental uvicorn support will be impacted. This is the best short-term solution but still requires some small amount of additional effort beyond what's in this PR.

Currently the plan is to move forward with option (3) in the short term and then spawn follow-up issues for (1) and (2). That said, this will not be getting merged in time for this release or next week's release, so I'm going to move this PR back to Draft status for the time being.

@BuzzCutNorman FYI I'm closing this out since this was resolved in https://github.com/meltano/meltano/pull/6466


SPIKE: How to scroll to a location on the correct page

We need to develop a way to position (not just filter) the file at a particular record.
Break into small issues.

Hey @birchamp! @Joel-C-Johnson has made some progress on studying the problem. Before we break down this spike into issues, I think we need a goal (or goals). Here are examples I thought of. Can you review and adjudicate for us? Thanks!
We need to position the file at a particular location because:

when the user uses the search, they want to position the file at one of the search results
when the user uses the search and then closes it, they want to return to where they were before they searched
the user needs to be able to bookmark one or more locations in the file and easily re-position the file at those bookmarked locations

@birchamp @ancientTexts-net

Yes they want to be able to position the file at one of the search results.
This is not typical, but one solution that I can think of is:
a. If the user clicks and places the caret inside a record then that is the result to center on.
b. if the user doesn't click then they return to their previous location
I can see bookmarks being useful but it hasn't been requested yet.

@Joel-C-Johnson Looks like item 1 is the goal. And item 2 is pretty much what your were trying to do already. Here are my thoughts on a list of spike issues:
Add Go To button to row header
This button would typically be clicked on a row in search results. When clicked:

Search is closed (programmatically) (if open)
The row Id (row number??) is noted (does datatable-translatable know there is a row id and which column it is in??)
The data table is positioned is positioned at that row (top of page/viewport?)
Possible complicating factors:

how will a generic datatable uniquely identify a row?
does pagination interfere with how positioning works?

Return to last edited row
If the search is closed by the user, then either:

If the user has unsaved changes, it will return to where the user was last working
Otherwise, it will return to the "page" that the user was last viewing

@birchamp break down in to issues


Installation fails when certificate already installed on the instance

Is this:
Just place "x" to indicate selection (e.g. "[x]")

[ ] feature
[ X] bug:

Installation fails when certificate already installed on the instance

check out line 341 of setup.ps1...... there is a certificate check at install time. it should skip installation if a cert exists already......

You are correct. Wer will take the example that caused this issue as being down to external circumstances


Stop posting notifications to dead references.

When a reference is dead, the notification system skips it. It needs to be caught and removed from the system so that the looping is minimized. There is already a note about this in the code:
https://github.com/typesupply/defcon/blob/ufo3/Lib/defcon/tools/notifications.py#L190

Is this the reason for this documentation:
https://github.com/typesupply/defcon/blob/master/documentation/source/concepts/notifications.rst#dont-forget-removeobserver
Or is there any reason why you are not trusting the weakref module?
And what held you back from just deleting the entry?

Is this the reason for this documentation:

Yeah. At the time I thought that automatically removing dead references was too magical. I didn't want anyone to get into the habit of not removing observers under any circumstances. I've changed my mind on that. I think that bit of magic is okay.

Or is there any reason why you are not trusting the weakref module?

I'm not sure I follow. It looks like weakref is being used extensively. Early in defcon I think I didn't use weakref because some objects that I were dealing with couldn't be weakly referenced. (PyObjC wrapper objects, probably.) So, strong references were used. The PyObjC issue went away with better coding practice so I started using weakref. (Wow. This was around ten years ago!)

And what held you back from just deleting the entry?

Overthinking and being too strict. :)

Or is there any reason why you are not trusting the weakref module?

I'm not sure I follow. It looks like weakref is being used extensively.

I think weakref is fine; I was just speculating.


Update event-014.md

Add link to slides for event-014.

LGTM https://1387-267395254-gh.circle-artifacts.com/0/SORSE/programme/talks/event-014/index.html
The test failure is not related to this issue

@andrewgait, can we merge this then?

Yes - go ahead and merge it.

Actually - wait, I've just realised I can add the PDF to the indico page.  I'll do that instead later this afternoon.

OK, ready to merge now.

Thanks @andrewgait !


docs: add enriched events logic documentation to README.md

Description
Add some docs explaining how the new enriched events logic works.

@acro5piano could u give it a look please

@Lespoir Thanks! Fantastic!
@juribee @anton-patrushev @nicoraynaud Thank you for your improvements!


Large playlists cause a freeze

Please describe your problem in as much detail as possible:
When I play a large spotify playlist, my bot's voice freezes.
I don't understand why there is this problem since my bot does not exceed its CPU limit (it has 4 cores).
I wish I didn't have this problem without having to set the parallel option to false because otherwise it is too slow to search.

Further information:
Plugin version: 1.2.1
DisTube version: 3.3.2
discord.js version: 13.6.0
Node.js version: 16.13.2
Operating system: Microsoft Windows 11

But you have to do it :> And maybe it related to your network connection

No there is no problem with my network connection


Create FAQ

It might be useful to create a FAQ document. Some possible items to include:

I would like to help you as a volunteer. What can I do? -- Thank you, we appreciate it! Please get in touch with us at<EMAIL_ADDRESS>I'm a teacher and would like to take my students to your event. Are group discounts available? -- Yes, as long as we can accommodate the group. Please contact us and let us discuss the specifics. (Why is this not handled automatically? Because a lot depends on how many spaces in the room we have left, how close the conference date is, etc..)
My 13-year-old son would like to attend the conference but someone has to go with him. Do we need to purchase two tickets? -- No. While we welcome your support if you decide to buy two tickets, you only need to buy a discounted (student) ticket for your son. HOWEVER, please let us know the name of the guardian (i.e., you or somebody else), so we can issue a free ticket, which will be needed to enter the premises.

(This is just something to start with. We can add other questions as they arrive, maybe we could re-visit the e-mails sent to us...)

Actually, it may be better to add the questions about tickets to https://pycon.sk/en/tickets.html (instead of creating a stand-alone FAQ document) -- easier to find them there. Interestingly, answers to the questions are already provided on this page but people still keep asking them...

Closing this in the light of recent events (https://twitter.com/pyconsk/status/690576572735164420)


Add nodemanagement tests to test pipeline

Signed-off-by: Dong Chen<EMAIL_ADDRESS>

LGTM

@dongluochen needs a rebase.

LGTM


cache.readFragment returns null even with correct entity key

I am building a twitter clone app where a tweet is called a quack. I am fetching quacks with a query called "quacksForMe". The query returns a "PaginatedQuacks" entity which has the following structure..
PaginatedQuack {
    quacks {
      ...RegularQuack
    }
    hasMore
}

I have a pagination for it in which the returning object's structure is like this
return {
    __typename: "PaginatedQuacks",
    hasMore,
    quacks,
  };

In the cacheExchage's updates object I have a method for liking a quack in which I am trying to read fragment for the quack which has to be updated like this
const _key = cache.keyOfEntity({
        __typename: "Quack",
        id: quackId,
    });

const _quack = cache.readFragment(
    gql(`
        fragment _ on Quack {
            id
            likes
            likeStatus
        }
    `),
    _key
);

The "_quack" is always null even though when I tried to log the whole cache in console I can see the quack object with the exact same key available in the records in cache.
records: {
    base: [
        {"Quack:480" => Object}
        {"Quack:479" => Object}
    ]
}

I am really confused as why is this not working.

Hiya, I don't know what queries you've run, but basically if you've run:
const _quack = cache.readFragment(
    gql`
        fragment _ on Quack {
            id
            likes
            likeStatus
        }
    `, {
        __typename: "Quack",
        id: quackId,
    }
);

And that's yielding no result it could also very well be that a field in this fragment isn't cached at all, so you're getting a cache mismatch. Have you checked whether cache.resolve({ __typename: "Quack", id: quackId }, 'id') is giving you a non-null value? If it isn't then the entire entity key is unknown.

Hiya, I don't know what queries you've run, but basically if you've run:
const _quack = cache.readFragment(
    gql`
        fragment _ on Quack {
            id
            likes
            likeStatus
        }
    `, {
        __typename: "Quack",
        id: quackId,
    }
);

And that's yielding no result it could also very well be that a field in this fragment isn't cached at all, so you're getting a cache mismatch. Have you checked whether cache.resolve({ __typename: "Quack", id: quackId }, 'id') is giving you a non-null value? If it isn't then the entire entity key is unknown.

Hey I figured out I was making a mistake in the fragment, likes is an array of User object, that's why the readFragment was returning null.

Hey I figured out I was making a mistake in the fragment, likes is an array of User object, that's why the readFragment was returning null.


Updates xml2rfc and kramdown-rfc2629

Codecov Report

Merging #55 (90e71e9) into main (0a75315) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #55   +/-   ##
=======================================
  Coverage   85.24%   85.24%
=======================================
  Files           9        9
  Lines         610      610
=======================================
  Hits          520      520
  Misses         90       90

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 0a75315...90e71e9. Read the comment docs.


Added Link to Wordpress Themes site

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Hi @mkilig, thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.


Only support js, css, html syntax highlighting

as the title said it only support html, css and js. That means other language like ts, python or golang won't be highlight

See #15