PolarFire SoC - C++ Exception Exits Before Catch

Summary
On the PolarFire Icicle board, when building from master with a config based on icicle:nsh (plus config and flag changes detailed below), the cxxtest built-in app exception test fails. It throws the exception and then exits without catching the exception.
I've tried this on both the Icicle board and a PolarFire Renode simulation. I'm building with riscv-none-elf-* from xPack: gcc version 13.2.0 (xPack GNU RISC-V Embedded GCC x86_64).
I'm hoping someone knows what the issue might be as I'm not familiar with the behind the scenes of exception handling. Meanwhile I'll keep working on this.
Config
Changed optimization to -Og for debugging and set -mstrict-align to prevent a crash due to misaligned instructions.
Ran make savedefconfig and the following. The task size configs are set because I had to increase CONFIG_DEFAULT_TASK_STACKSIZE to prevent a stack overflow during exception unwinding.
$ diff boards/risc-v/mpfs/icicle/configs/nsh/defconfig  defconfig
9a10,12
> # CONFIG_NSH_DISABLE_MB is not set
> # CONFIG_NSH_DISABLE_MH is not set
> # CONFIG_NSH_DISABLE_MW is not set
21a25,26
> CONFIG_CXX_EXCEPTION=y
> CONFIG_CXX_RTTI=y
25a31
> CONFIG_DEFAULT_TASK_STACKSIZE=32768
30a37
> CONFIG_HAVE_CXX=y
34a42,43
> CONFIG_LIBCXX=y
> CONFIG_LIBCXXABI=y
37a47
> CONFIG_LIBM=y
50a61
> CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
51a63
> CONFIG_PTHREAD_STACK_DEFAULT=2048
58a71
> CONFIG_SCHED_HPWORKSTACKSIZE=2048
59a73
> CONFIG_SCHED_LPWORKSTACKSIZE=2048
66a81
> CONFIG_SYSTEM_NSH_STACKSIZE=2048
68a84
> CONFIG_TESTING_CXXTEST=y
69a86
> CONFIG_TESTING_GETPRIME_STACKSIZE=2048
70a88,89
> CONFIG_TESTING_OSTEST_FPUSTACKSIZE=2048
> CONFIG_TLS_NELEM=4

@jrosberg did you face similar issue with using C++ on PolarFire?

@acassis @jrosberg the eh_frame and eh_frame_hdr sections are missing from the linker script boards/risc-v/mpfs/icicle/scripts/ld.script. That's part of the problem, though there seems to be other things missing because I was not able to fix it by adding those sections.

@sastel maybe you can look some other board with C++ support to trace the differences, probably there some other details. Also if you could try in some ARM (like STM32F4Discovery board) it could help to see if everything still working as expected.

Nice @jrosberg is not around, maybe @pussuw could help us! Ville, do you have some idea?

I don't use exceptions so no idea what's going on

Thanks @pussuw

@acassis I tried STM32F4 Discovery NSH build from 12.4 in Renode today, but it crashed on startup. I don't have the physical board.
I cloned gcc and compared the libgcc source with the asm from GDB as I stepped through the exception handling. It is clear that __cxa_throw calls _Unwind_RaiseException from gcc/libgcc/unwind.inc. That calls uw_init_context_1 from unwind-dw2.c which is calling abort() because it can't find an FDE (the call to uw_frame_state_for returns _URC_END_OF_STACK after _Unwind_Find_FDE returns NULL. I suspect that the FDE's are not being initialized correctly. I have to do some reading to understand how this is supposed to work.
Here's a great resource: https://maskray.me/blog/2020-12-12-c++-exception-handling-abi

Hi @sastel that is very interesting investigation. If you can right down about it in some blog probably it will help more people in the future.

I made some progress on this today. _Unwind_Find_FDE was returning NULL because the unseen_objects linked list wasn't initialized. This linked list needs to be initialized at startup, and then during exception handling it has nodes added and moved into seen_objects. The list is used for finding an FDE by program counter.
Looks like users of libgcc can either link with crtbegin.o or write their own calls to libgcc __register_frame_info* function. The crtstuff.c file provides a frame_dummy() function which is supposed to be placed in the .init_array section by the linker, so that it gets invoked by the initialization logic pre-main. This frame_dummy function does the registration using __EH_FRAME_BEGIN__. The function was getting called by NuttX lib_cxx_initialize() but, __EH_FRAME_BEGIN__ was NULL so initialization didn't happen.
I hacked up the Toolchain.defs file to link crtbegin.o and crtend.o so that I get frame_dummy. With a new .eh_frame section in the linker script, __EH_FRAME_BEGIN__ points to the beginning of .eh_frame and initialization works.

The next problem is that during libgcc FDE searching, I get a RISC-V load address misaligned crash. I'm not sure what to do about this yet.

@pussuw do you have some suggestion how it could be integrated back into mainline?
Maybe we can use CONFIG_CXX_EXCEPTION to decide if we want to include crtbegin.o and crtend.o right?

@acassis to be clear, exceptions still aren't being caught - the load address misalignment crash is happening during the _Unwind_Find_FDE call from the throw.
I think we should use CONFIG_CXX_EXCEPTION, but whether we want to link with crtbegin.o or crtend.o versus extern void __register_frame and call it in our own init function is another question. Including .eh_frame also uses a bunch of extra memory, so we won't want to include it unless it is used for CXX exceptions.

@acassis one of my colleagues built the gcc toolchain (including libgcc.a) for RISC-V with -mstrict-align. That fixed the crash. Now there's another problem! 🤣
libc++abi: terminating due to uncaught exception of type std::runtime_error: runtime error
I'll chase this one down next.

Hi @sastel nice to know you guys found a solution! And too sad you are facing a new issue. This is why I think it could be a good idea to document all the process to help other people facing similar issue, maybe on other arch in the future.

This is why I think it could be a good idea to document all the process to help other people facing similar issue, maybe on other arch in the future.

It's a good idea. I'll have to solve all of the issues before I'm remotely qualified to write the blog post though. 😄

libc++abi: terminating due to uncaught exception of type std::runtime_error: runtime error

I have a solution to this. Exceptions are being thrown and caught now in cxxtest. The GCC toolchain rebuild is not necessary. The LSDA (.gcc_except_table) was not being initialized for some reason. An edit to the linker script fixed it. Will open a pull request including an Icicle board cxxtest defconfig if you're interested.
The exception handling stack usage is quite high (I needed to set the stack size for the task which throws the exception to 9 kB), but at least exceptions work. I'm investigating what is using all of that stack. It appears to be mostly consumed by the libgcc exception stack unwinding functions.
A big thank you to my colleague @sholford for his support on this!

Congratulations @sastel, it was a quick journey and it succeed! Kudos!!!
Now you are qualified to write a blog exampling to others how to fix this issue!
I like to document all the steps when I'm fixing an issue, because I know it will help others.
For instance, a post I created almost two years ago: https://acassis.wordpress.com/2022/10/31/trying-to-fix-a-mqtt-communication-issue-with-nuttx-and-tagoio/ helped a friend of mine today. Yes was trying to use Wireshark to work as MITM with his embedded board.
I hope you remember all the steps you took! ;-)

Hi @sastel.

I have a solution to this. Exceptions are being thrown and caught now in cxxtest. The GCC toolchain rebuild is not necessary. The LSDA (.gcc_except_table) was not being initialized for some reason. An edit to the linker script fixed it. Will open a pull request including an Icicle board cxxtest defconfig if you're interested.

Could you kindly share your pull request on fixing this issue? I am facing a similar exception issue on ESP32s3. I hope your solution on icicle board  could be a good reference of fixing on ESP board.
Thanks a lot.

@royfengsss this patch summarizes it.
diff --git a/arch/risc-v/src/common/Toolchain.defs b/arch/risc-v/src/common/Toolchain.defs
index 3d0e5296a9..e37598e2c4 100644
--- a/arch/risc-v/src/common/Toolchain.defs
+++ b/arch/risc-v/src/common/Toolchain.defs
@@ -285,6 +285,10 @@ endif
 # Add the builtin library

 EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
+ifeq ($(CONFIG_CXX_EXCEPTION),y)
+  EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=crtbegin.o))
+  EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=crtend.o))
+endif

 ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
diff --git a/boards/risc-v/mpfs/icicle/configs/cxxtest/defconfig b/boards/risc-v/mpfs/icicle/configs/cxxtest/defconfig
new file mode 100644
index<PHONE_NUMBER>..f536046464
--- /dev/null
+++ b/boards/risc-v/mpfs/icicle/configs/cxxtest/defconfig
@@ -0,0 +1,90 @@
+#
+# This file is autogenerated: PLEASE DO NOT EDIT IT.
+#
+# You can use "make menuconfig" to make any modifications to the installed .config file.
+# You can then do "make savedefconfig" to generate a new defconfig file that includes your
+# modifications.
+#
+# CONFIG_DISABLE_OS_API is not set
+# CONFIG_NSH_DISABLE_LOSMART is not set
+# CONFIG_NSH_DISABLE_MB is not set
+# CONFIG_NSH_DISABLE_MH is not set
+# CONFIG_NSH_DISABLE_MW is not set
+CONFIG_ARCH="risc-v"
+CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
+CONFIG_ARCH_BOARD_ICICLE_MPFS=y
+CONFIG_ARCH_CHIP="mpfs"
+CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
+CONFIG_ARCH_CHIP_MPFS=y
+CONFIG_ARCH_INTERRUPTSTACK=2048
+CONFIG_ARCH_RISCV=y
+CONFIG_ARCH_STACKDUMP=y
+CONFIG_BOARD_LOOPSPERMSEC=54000
+CONFIG_BUILTIN=y
+CONFIG_CXX_EXCEPTION=y
+CONFIG_CXX_RTTI=y
+CONFIG_DEBUG_ASSERTIONS=y
+CONFIG_DEBUG_FEATURES=y
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_DEFAULT_TASK_STACKSIZE=16384
+CONFIG_DEV_ZERO=y
+CONFIG_EXPERIMENTAL=y
+CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=y
+CONFIG_FS_SHMFS=y
+CONFIG_HAVE_CXX=y
+CONFIG_IDLETHREAD_STACKSIZE=2048
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INIT_STACKSIZE=3072
+CONFIG_INTELHEX_BINARY=y
+CONFIG_LIBCXX=y
+CONFIG_LIBCXXABI=y
+CONFIG_LIBC_HOSTNAME="icicle"
+CONFIG_LIBC_PERROR_STDOUT=y
+CONFIG_LIBC_STRERROR=y
+CONFIG_LIBM=y
+CONFIG_MEMSET_64BIT=y
+CONFIG_MEMSET_OPTSPEED=y
+CONFIG_MPFS_ENABLE_DPFPU=y
+CONFIG_MPFS_UART1=y
+CONFIG_NSH_ARCHINIT=y
+CONFIG_NSH_BUILTIN_APPS=y
+CONFIG_NSH_DISABLE_IFUPDOWN=y
+CONFIG_NSH_DISABLE_MKDIR=y
+CONFIG_NSH_DISABLE_RM=y
+CONFIG_NSH_DISABLE_RMDIR=y
+CONFIG_NSH_DISABLE_UMOUNT=y
+CONFIG_NSH_LINELEN=160
+CONFIG_NSH_STRERROR=y
+CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_PTHREAD_STACK_DEFAULT=2048
+CONFIG_RAM_SIZE=1048576
+CONFIG_RAM_START=0x80200000
+CONFIG_RAW_BINARY=y
+CONFIG_READLINE_CMD_HISTORY=y
+CONFIG_READLINE_TABCOMPLETION=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKSTACKSIZE=2048
+CONFIG_SCHED_LPWORK=y
+CONFIG_SCHED_LPWORKSTACKSIZE=2048
+CONFIG_SCHED_WAITPID=y
+CONFIG_SERIAL_NPOLLWAITERS=2
+CONFIG_STACK_COLORATION=y
+CONFIG_START_MONTH=4
+CONFIG_START_YEAR=2021
+CONFIG_SYSTEM_CLE_CMD_HISTORY=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=2048
+CONFIG_SYSTEM_TIME64=y
+CONFIG_TASK_NAME_SIZE=20
+CONFIG_TESTING_CXXTEST=y
+CONFIG_TESTING_GETPRIME=y
+CONFIG_TESTING_GETPRIME_STACKSIZE=2048
+CONFIG_TESTING_OSTEST=y
+CONFIG_TESTING_OSTEST_FPUSTACKSIZE=2048
+CONFIG_TLS_NELEM=4
+CONFIG_UART1_SERIAL_CONSOLE=y
diff --git a/boards/risc-v/mpfs/icicle/scripts/ld.script b/boards/risc-v/mpfs/icicle/scripts/ld.script
index 85dc8503f8..503371e3a7 100644
--- a/boards/risc-v/mpfs/icicle/scripts/ld.script
+++ b/boards/risc-v/mpfs/icicle/scripts/ld.script
@@ -18,6 +18,8 @@
  *
  ****************************************************************************/

+#include <nuttx/config.h>
+
 MEMORY
 {
     progmem (rx) : ORIGIN = 0x80000000, LENGTH = 2M    /* w/ cache */
@@ -45,11 +47,26 @@ SECTIONS
         *(.glue_7)
         *(.glue_7t)
         *(.got)
-        *(.gcc_except_table)
         *(.gnu.linkonce.r.*)
         _etext = ABSOLUTE(.);
     } > progmem

+#if defined(CONFIG_HAVE_CXX)
+    .gcc_except_table : ALIGN(4) {
+        *(.gcc_except_table)
+        *(.gcc_except_table.*)
+    } > progmem
+
+#if defined(CONFIG_CXX_EXCEPTION)
+    .eh_frame_hdr : ALIGN(4) {
+        *(.eh_frame_hdr)
+    } > progmem
+    .eh_frame : ALIGN(4) {
+        KEEP(*(.eh_frame))
+    } > progmem
+#endif
+#endif
+
     .init_section : ALIGN(4) {
         _sinit = ABSOLUTE(.);
         KEEP(*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))

@sastel Many thanks your patch. I will try based on your changes.


fix: finer bit size in bound constrain

Description

Problem*

Resolves #2854
Summary*
Use exact bit size when comparing with a constant value.
Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[X] I have tested the changes locally.
[X] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Can we add a regression test like linked in the issue?


fix:(module:datepicker): fix the range-picker the input style

PR Checklist
Please check if your PR fulfills the following requirements:

[X] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #1041
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[X] No

Other information

Coverage remained the same at 41.341% when pulling c806bbd858c3c5076e3af720c80f901fca529d4e on HsuanXyz:fix-rangepicker-style into 9a5621efa111f333a74d2edfc953506de4363205 on NG-ZORRO:master.


Error when individual removes all roles

Steps to reproduce:

Create an individual Accessibility Consultant
Go to the dashboard and select Edit roles
Uncheck Accessibility Consultant and select Update

Results: 500 server error

Note that this works correctly for community org accounts.


"Racoș" and "Mateiaș" villages are listed in the drop-down menu

The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions : the website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Racoș"

Expected results
The location appears in the drop-down menu as "Sat Racoș, BRAȘOV (Racoș)"

**Step **
Write in the search bar "Mateiaș"

Expected results
The location appears in the drop-down menu as "Sat Mateiaș, BRAȘOV (Racoș)"


Management: Support encryption

Support NONE, and all the different encryption methods.
The CLI can use -E 0|none... and the same method will be used for the return payload

@GuChad369 Can you take this one ?

I don't think we need to support all algorithms so

aes (aes-256)
aes-256
aes-192
aes-128

that uses CBC

Absolutely. I’ll start working on this issue, and if I encounter any problems, I’ll seek help.

So, the core functions to encrypt a string to a buffer will be:

aes_256_cbc()
aes_192_cbc()
aes_128_cbc()

What's the difference between aes (aes-256) and aes-256?

Great !
aes is just a short-cut for aes-256, so both are the same -- none is default.
You can just do ..., uint8_t compression, uint8_t encryption, ...


Working on version 11

Added readonly and disabled to date fields

Rename Radio class to RadioButton

Rename Wysiwyg class to WysiwygEditor

Updated field label to name conversion from kebab-case to snake_case
If no field name is specified the library will use the label instead. The has previously only been sanitised using the sanitize_title function in WordPress. This PR will convert the name into snake_case instead of kebab-case.

LGTM! Good job!


MetCouncil Roadway Standard --> SHP/DBF

Using crosswalk of names.

Just finished cleaning this up and tested. Looks good.


OCM-5853: Fix github user name: red-hat-konflux --> red-hat-konflux[bot]

What this PR does / why we need it:
Fix github user name: red-hat-konflux --> red-hat-konflux[bot]
Which issue(s) this PR fixes:
Fixes #OCM-5853
Change type

[ ] New feature
[ ] Bug fix
[ ] Build
[ ] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/cc @enriquebelarte

/lgtm

/approve


Segmenting overlapping circles

Thank you for the great work behind cellpose. It is amazing every time how well the segmentation of cells works.
In our research group, we would love to measure the area and circumference of droplets. The only problem is that overlapping masks are not allowed in cellpose. Is it possible to adjust the overlap in the script manually?
In this example, the droplets were segmented using cellpose 2.0/cyto2.

Thank you very much,
Victor

sorry, cellpose does not have any parameter that can allow overlaps. here perhaps with a smaller diameter, the overlapping segments will always become separate smaller cells, after obtaining those you would have to write a merging algorithm.


Scripts to load oil and gas /data

Add instructions to download oil_and_gas files to /data directory, and load into product table (issue 581)
Move CarbonTracker deployment to separate file (issue 592)
Signed-off-by: brioux<EMAIL_ADDRESS>

Please wait before merging this PR.
I need to add a couple dataLoaders for flaring by oil and gas assets

@sichen1234 - PR ready to merge


[generate-format] add linter for Serde formats (take 2)

Motivation

Activate the Serde format linter for good (I meant to do it in https://github.com/libra/libra/pull/4817).
Fix the last occurrence of SEQ[U8] in bitvec (this makes (de)serialization slightly faster and changes nothing otherwise for Rust).

Test Plan
CI

@bors-libra r=gregnazario

:pushpin: Commit 8567d13 has been approved by gregnazario

:hourglass: Testing commit 8567d13985626dc7bf3a0ac8cc83398727ea2c7b with merge e4f4a3844f1db3848ef430d2c7d56aed79989171...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: gregnazario
Pushing e4f4a3844f1db3848ef430d2c7d56aed79989171 to master...


[REEF-790] DeadlockInfoTest should remove the deadlock it creates

This patch:

Changes the way to create the test deadlock
The old version of createDeadlock() used Object monitors to create circular wait between two threads.  There was no way to gracefully terminate one of the threads to resolve the deadlock.
The createDeadlock() now uses two ReentrantLocks to organize circular wait. One thread attempts to lock interruptibly the lock held by another thread. The interrupt allows to resolve the deadlock.

Interrupts one of the threads in the @AfterClass method.
The interrupted thread releases the lock it holds and stops.
This makes another thread proceed and thus removes the deadlock.

JIRA:
REEF-790

The "CommunicationGroupDriverImplTest.testLateRootTask" test that fails
on Jenkins succeeds on my machine. How should I approach debugging it ?

@zerg-zerg The changes look good. I made a pass with minor comments.
I don't think the failed tests concern this PR. I'm inclined to merge once the comments are addressed.

Thanks this looks good! I'll test locally and merge.
@zerg-zerg FYI, it's a good idea to add a comment when you're done updating a branch. Github doesn't send out notifications on pushes, so it's a good idea to alert active reviewers this way.


Update tested AGP versions

from 7.4.0-rc01 to 7.4.0-rc03
from 8.0.0-alpha09 to 8.0.0-alpha11
This PR

is blocked by https://github.com/gradle/gradle/pull/23407
lets Santa Tracker smoke tests run with Java 17 because AGP >= 8 requires Java 17
updates Santa Tracker tracked commit with https://github.com/gradle/santa-tracker-android/pull/24

@bot-gradle test AST

I've triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test AST

I've triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test AST

@bot-gradle test AST

CI check on this branch doesn't take the TC setup change into account and thus sill uses Java 11 to run the Santa Tracker smoke tests. They fail.
The experimental pipeline is used to validate those change. A successful build can be found here
https://builds.gradle.org/buildConfiguration/Gradle_Experimental_Check_Stage_PullRequestFeedback_SmokeTests_Trigger/60109935?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true

@bot-gradle test and merge

@bot-gradle test AST

@bot-gradle test AST

I've triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you.

@bot-gradle test AST

I've triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test APT

I've triggered the following builds for you:

AllPerformanceTestsReadyForRelease build

CI setup changes to run Santa Tracker smoke tests with Java 17 were done in a separate PR for TeamCity to pick up the changes from the target branch.

https://github.com/gradle/gradle/pull/23386

This is required before merging this.
@bot-gradle test and merge

I've triggered a build for you.


Python 3.10 support; Bug fixes

@mrtnvgr I never saw this PR. Thanks for providing it! I'll take a look at it soonish and see if its good to merge.


Run SQLite tests with in-memory database

Using an in-memory datbase is faster and doesn't require storing a large
binary file in the repository.

Coverage increased (+0.03%) to 92.458% when pulling 4f6f03074db50ff39707b75e93cff341efe43223 on jdufresne:memory into ec568b5ad9414a300a1c3d99c9ee63c9255ed2e1 on django-import-export:master.

Coverage increased (+0.03%) to 92.458% when pulling 4f6f03074db50ff39707b75e93cff341efe43223 on jdufresne:memory into ec568b5ad9414a300a1c3d99c9ee63c9255ed2e1 on django-import-export:master.

Coverage increased (+0.03%) to 92.458% when pulling 4f6f03074db50ff39707b75e93cff341efe43223 on jdufresne:memory into ec568b5ad9414a300a1c3d99c9ee63c9255ed2e1 on django-import-export:master.

Coverage increased (+0.03%) to 92.458% when pulling 4f6f03074db50ff39707b75e93cff341efe43223 on jdufresne:memory into ec568b5ad9414a300a1c3d99c9ee63c9255ed2e1 on django-import-export:master.

Coverage increased (+0.03%) to 92.458% when pulling 4f6f03074db50ff39707b75e93cff341efe43223 on jdufresne:memory into ec568b5ad9414a300a1c3d99c9ee63c9255ed2e1 on django-import-export:master.

@jdufresne thanks for your contributions!

@jdufresne regarding https://github.com/django-import-export/django-import-export/issues/864, is it considered best practice to in sys.args if tests are run and update database name accordingly?


Stronger test cases - when we test the results of calling a handler, check that the handler was actually called

Making a PR to see if this passes in AppVeyor.
These work locally, but might fail in appveyor, rendering other parts of the test invalid
i.e. if we're testing that no exception was logged, this is not a good test if the handler wasn't even called as expected.

Merge?
It passed in appyeyor: https://ci.appveyor.com/project/justeattech/justsaying/build/3.0.302


Generate qrcode with logo

Is there any way to create a qrcode with company logo?

https://github.com/alexeyten/qr-image/issues/20#issuecomment-287101357

I would like to point out that generating a QR code with a logo embedded within it is a popular use case. This library is dependency free, so it is ideally suited for running in CF workers as an example.  There are libraries [1] that can embed logos in the QR code, however, those libraries are not at all dependency free and it would be nice if this was supported - or at least the option of leaving an empty space in the center for overlaying a logo on top of it
[1] https://github.com/ChrisCinelli/branded-qr-code

After some research it appears the concept is called "Frame QR"
https://www.qrcode.com/en/codes/frameqr.html

nm, realize now that it requires node.js, and it's not actually compatible with CF workers, despite being featured on "works with workers"
sorry about that


Add metadata to log

allow users to add additionnal data to their log

Sorry i forgot tests. Working on that

Done :)

🆙

+1

👍

👍 +1

👍

👍

Thanks @tanguyantoine, and sorry for the delay in getting it out. I've published version 0.3.0 with your changes.


Regression with GEOS 3.12.0 in Fedora Rawhide

Expected behavior and actual behavior.
Since the GEOS package was updated from 3.11.2 to 3.12.0 in Fedora Rawhide (the development version of the distribution), we are encountering a single test failure:
=================================== FAILURES ===================================
______________ OperationsTestCase.test_parallel_offset_linestring ______________

self = <tests.test_parallel_offset.OperationsTestCase testMethod=test_parallel_offset_linestring>

    def test_parallel_offset_linestring(self):
        line1 = LineString([(0, 0), (10, 0)])
        left = line1.parallel_offset(5, 'left')
        assert_geometries_equal(left, LineString([(0, 5), (10, 5)]))
        right = line1.parallel_offset(5, 'right')
        assert_geometries_equal(right, LineString([(10, -5), (0, -5)]), normalize=True)
        right = line1.parallel_offset(-5, 'left')
        assert_geometries_equal(right, LineString([(10, -5), (0, -5)]), normalize=True)
        left = line1.parallel_offset(-5, 'right')
        assert_geometries_equal(left, LineString([(0, 5), (10, 5)]))

        # by default, parallel_offset is right-handed
        assert_geometries_equal(line1.parallel_offset(5), right)

        line2 = LineString([(0, 0), (5, 0), (5, -5)])
>       assert_geometries_equal(line2.parallel_offset(2, 'left', resolution=1),
                                LineString([(0, 2), (5, 2), (7, 0), (7, -5)]))
E       AssertionError:
E       Geometries are not equal:
E
E       Not equal to tolerance 1e-07
E        x: array(<LINESTRING (0 2, 5 2, 5.39 1.962, 5.765 1.848, 6.111 1.663, 6.414 1.414, 6....>,
E             dtype=object)
E        y: array(<LINESTRING (0 2, 5 2, 7 0, 7 -5)>, dtype=object)

tests/test_parallel_offset.py:32: AssertionError
=========================== short test summary info ============================
FAILED tests/test_parallel_offset.py::OperationsTestCase::test_parallel_offset_linestring
======== 1 failed, 257 passed, 2 skipped, 3 xfailed, 1 xpassed in 0.99s ========

Steps to reproduce the problem.
It’s hard to say how best to reproduce this outside of Fedora infrastructure. It is possible that this might always occur when compiling with GEOS 3.12.0.
Operating system
Fedora Linux Rawhide
Shapely version and provenance
I’m a co-maintainer of the python-shapely package in Fedora Linux. We build from the PyPI sdist (version 2.0.1) without any downstream patches.
Additional comments
I tried packaging a snapshot of https://github.com/shapely/shapely/tree/maint-2.0, but this didn’t seem to make a difference.
Is there anything else I can try to understand this better?

Thanks for the report, and I can confirm this regression with GEOS 3.12.0. I've backported 799912d7db86113fcd11346ca40db876d012aa16 to maint-2.0 to resolve this issue. There are a few other regressions with GEOS 3.12.0 that should be addressed before #1852 can be closed.


WithImage and WithImageTag assume a single ContainerImageAnnoation exists

The WithImage and WithImageTag methods assume the ContainerResource has a single ContainerImageAnnotation but by default they have none, and they could have more than one. Calling either of these methods in these states results in a LINQ exception.
We should make these methods more user friendly, e.g. add the ContainerImageAnnotation if it doesn't exist. If there's more than one then perhaps it should just get the last one and update that.

I have a small draft PR (#2588) that fixes the first part of WithImage.
For the WithImageTag, there isn't a (simple) way to create the annotation without knowing the image name, do you have an idea how to tackle this?

For the WithImageTag, there isn't a (simple) way to create the annotation without knowing the image name, do you have an idea how to tackle this?

I guess we just make it throw InvalidOperationException or DistributedApplicationException with an appropriate message. @davidfowl @mitchdenny?

This could be a problem with the AsXYZ extension methods:
builder.AddRedis(...).WithImageTag(...).PublishAsAzureRedis(); // OK
builder.AddRedis(...).PublishAsAzureRedis().WithImageTag(); // Throws

This proposal means that the second line would throw. The net effect would be that the container for Redis would get launched in DCP, and the Azure resource would be provisioned.

This proposal ...

Which proposal exactly @mitchdenny? Making WithImageTag throw if there's no existing annotation? What do you suggest?

Closing this as it was fixed with https://github.com/dotnet/aspire/pull/2588.
WithImage supports both an image name and tag (it'll default to latest)
WithImageTag will throw if there's no existing ContainerImageAnnotation.


MAM: EXTRA_EXPORTED_RUNTIME_METHODS=[ccall,: No such file or directory

Describe the bug
MAM build failed
To Reproduce
Run bazel build //mam/...
Expected behavior
should be compiled without problems.
Desktop (please complete the following information):

OS: Ubuntu 18.04
bazel version: 0.27.0

ERROR: /home/sam/entangled/mam/BUILD:14:1: Linking of rule '//mam:mam.js.tar' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/mam/mam.js.tar-2.params

Use --sandbox_debug to see verbose messages from the sandbox
gcc: error: EXTRA_EXPORTED_RUNTIME_METHODS=[ccall,: No such file or directory
gcc: error: cwrap]: No such file or directory

Just to keep track. This issue seems similar and might help you fix the problem:
https://github.com/emscripten-core/emscripten/issues/6021


Interval metadata Part 1

Here's the Interval Metadata object proposed from the RFC.
Now, this PR is only accounting for the IntervalMetadata object, the Interval and IntervalTree objects.
There are a few parsers in micronota that depend on having just the IntervalMetadata object completed.
So, I'm thinking about getting the IntervalMetadataMixin in after this PR.  Does that sound reasonable?

🎆 Tests passing!

All of the comments so far have been addressed.  @ebolyen , @jairideout can you give another round of review?

@gregcaporaso and I will take a pass through tomorrow

@mortonjt @RNAer, I'm done reviewing Interval, won't have time to get to IntervalMetadata today.

@mortonjt, I did a first pass through. I noticed that there were a lot of comments with a remark of "done" but it didn't look like those changes had been pushed in. Would it be possible to get the PR in sync with the revisions on the local branch?

Pushing some of the changes.  Thanks @wasade for looking over this PR!

Looking at the last few comments, there seems to be quite a bit of controversy surrounding the operations allowed on the Interval object, namely __hash__, __contains__, __lt__, __gt__.
I have to admit, I don't completely understand the repercussions of defining a __hash__ function on a mutable object.  The main reason why I wanted this hash function was to handle scenarios as follows
In [1]: from skbio.metadata import IntervalMetadata

In [2]: %paste
        im = IntervalMetadata()
        im.add(intervals=[(0, 2), (4, 7)],
               metadata={'gene': 'sagA', 'location': 0})
        im.add(intervals=[(3, 5)],
               metadata={'gene': 'sagB', 'location': 0})

## -- End pasted text --

In [3]: im.query(intervals=[(1,5)])
Out[3]:
[ Interval(intervals=[(0, 2), (4, 7)], metadata={'location': 0, 'gene': 'sagA'}),
  Interval(intervals=[(3, 5)], metadata={'location': 0, 'gene': 'sagB'}),
  Interval(intervals=[(0, 2), (4, 7)], metadata={'location': 0, 'gene': 'sagA'})]

In this example, the query interval (1,5) overlaps with the Interval object corresponding to gene='sagA', which causes this object to be returned twice in query method.  This is a highly undesirable side effect, so we need to have a way to remove duplicates from the queried results.
The easiest way to do this is to use the __hash__ function to construct a set.  The next best solution is to be able to sort the queried results, and perform a linear scan and return the unique results.  If we don't have the sort operations, then the process of removing duplicates will take O(N^2) for N queried elements, since we would have to resort to brute force equality comparisons.
There is another reason why we would want to be able to sort intervals.  When we want to see if two IntervalMetadata objects are equal, it would be advantageous to sort their Interval objects, so that we can take direct advantage of the __eq__ operation for python lists.  Otherwise, any scrambling of the underlying Interval objects could yield inequality, even if the two IntervalMetadata objects are equal.
So if we agree to kick out the __hash__, __contains__ functions, I'd think that we'd want to keep the __lt__ and the __gt__.  What do you think @wasade @jairideout @ebolyen @RNAer ?

The central issue with __hash__ on a mutable object is that there is no assurance that the objects are equal therefore making the resulting hash value is meaningless. Equality makes sense at time of computation, but, since the objects mutable, it is not assured that two objects with the same hash are equal at a later time. In other words:
interval = Interval(...)
d = {interval: 'magic and stuff'}
mutate(interval_a)
assert id(interval) == id(list(d.keys())[0])  # will test true as these are the same object
assert interval_a in d  # will raise an exception as hash(interval) has changed

One alternative to __hash__ would be to define a "one time hash" function. This would allow for obtaining a hash, while disallowing for direct use in dict, set, etc. There still is potential for a developer to make a mistake with this approach, but on the other hand, it forces the developer to realize there may be consequences. What about, say, a private method called _unstable_hash()? It would then be possible to do something like:
dedupped = list({q._unstable_hash(): q for q in queries}.values())

👍 for @wasade's approach to using private methods for one-time/private hashability. If the comparison operators are necessary, make those private too.

One more thing that popped up in our discussion about this object.  It would be nice to have a get_keys() property in the IntervalMetadata to allow users to easy figure out what they should be querying.  You can imagine the following scenario
>>> interval_metadata = IntervalMetadata()
>>> interval_metadata.add(metadata={'gene': 'sagA', 'location': '0'},
...                       intervals=[(0, 2), (4, 7)])
>>> interval_metadata.add(metadata={'cds': False, 'function': 'none'},
...                       intervals=[(0, 7)])

Where the user has to manually inspect the metadata keys within every Interval object to figure out exactly what keywords need to be queries.  It would be nice to have a convenience function that can handle this.

@mortonjt I like the idea of a get_keys() or similar function, but we need to be careful about naming for that as there is an analogous keys() method from standard mapping structures in Python. That name would be more obvious to a user, but mapping.keys() returns a view, which may be more than we want to bite off at this point.

:+1: perhaps we should add that later then.
On Mon, Jun 6, 2016 at 8:31 AM, Evan Bolyen<EMAIL_ADDRESS>wrote:

@mortonjt https://github.com/mortonjt I like the idea of a get_keys()
or similar function, but we need to be careful about naming for that as
there is an analogous keys() method from standard mapping structures in
Python. That name would be more obvious to a user, but mapping.keys()
returns a view, which may be more than we want to bite off at this point.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/biocore/scikit-bio/pull/1356#issuecomment-223995231,
or mute the thread
https://github.com/notifications/unsubscribe/AD_a3e9YASGBrkoSFO22syOp_JsjdgqTks5qJD1cgaJpZM4Ig0qO
.

🎆 Tests are passing.  I think I addressed the remaining comments.  So a second round of review should be good to go.

@ebolyen , @jairideout , do u have more comments?

@ebolyen @jairideout , just updated the CHANGELOG.  I have carefully gone through all of the comments, so this PR is ready to merge.

@mortonjt, @wasade is going to take another pass (looks like he just started).

Done. Biggest concerns are that there are some potentially unreachable assertions in the test code, and given the delicate nature of cmp and hash, it would be useful to perform more than trivial positive tests on those methods. Most of the comments should be straight forward.

Thanks @wasade !  I'll try to knock this out tonight.

The comments were easier to address than expected.  Let me know if covers everything.  Thanks!

Thanks, @mortonjt! It's very close. I apologize for not being as specific on a few of my comments which may have lead to some confusion

Thanks! :+1: for merge

Thanks @wasade. We'll take a pass through this on my end tomorrow.

Hi all, today I am taking over this PR and fixing all the comments you guys brought up. In this process, I found one potential problem we overlooked previously - duplicate interval features. The duplicates can be problematic, because it inflates the number of annotations and it is difficult for users to track. With current implementation, it is expensive to check duplicate Intervals in IntervalMetadata object. You have to linearly go thru the interval feature list and compare one by one.
One way to solve the problem is to make Interval immutable and hashable (mainly by making Interval.metadata a frozen dict, or better idea?). There will be minor API changes to what we settled on in the RFC, but overall API should stay more or less the same. Could you guys comment on this? If you think this change is worthy, I can update the RFC and this PR accordingly and quickly.

Hey @RNAer! Minor API drift is expected (implementation always finds missing details), so updating the RFC isn't necessary. Unfortunately there is no such thing as a frozendict (there's a MappingProxy which is almost the same thing, but not really).
I'm not sure how we should handle this, and in some ways it comes down to how we define identity for these objects. Currently the pattern for metadata is for it to be mutable as we expect the user to either be creating it, or modifying it in some way, so I'd like a way around making these immutable if possible. How do you define a duplicate Interval? Is it matching metadata + location? or something else?
@jairideout I feel like issuing a fresh PR might be a good idea for this (the page is starting to get bogged down) what do you think?

👍  for opening a new PR that references this one

Yes, the duplicate means matching metadata and location. although this includes matching the lower/upper cases or variation in the white spaces, we can't check all the possibilities - I am thinking of checking only exact matches.
In terms of immutable implementation, I were considering implementing Interval.metadata as an frozen dict and also providing a Interval.update method which basically unlink the current interval to its _interval_metadata, create an updated interval, link it, and return it, to avoid the hassles aroused by immutability. But the hash of Interval will still fail in cases like interval.metadata = frozendict(foo=[1, 2]). So I don't know...
Or we can leave it for now and don't check duplicates if you guys don't think this is a big deal.

The duplicates can be problematic, because it inflates the number of annotations and it is difficult for users to track.

Can you please expand on the issues associated with duplicate intervals? I don't see any technical limitations to this, and the performance issues are averted by using the id of the Interval as its identity. We actually have a similar "feature" (bug?) in positional_metadata: you can create a DataFrame with duplicate columns (including column name and values), which is analogous to having two Intervals at the same location and with the same metadata. For example:
In [7]: pd.DataFrame([[True, True, False],[True,True,False]], columns=['foo','foo','bar'])
Out[7]:
    foo   foo    bar
0  True  True  False
1  True  True  False

Also I want to emphasize that frozendict doesn't exist, so the solution
isn't trivial in any case.
On Wed, Aug 17, 2016 at 4:21 PM, Jai Ram Rideout<EMAIL_ADDRESS>wrote:

The duplicates can be problematic, because it inflates the number of
annotations and it is difficult for users to track.
Can you please expand on the issues associated with duplicate intervals? I
don't see any technical limitations to this, and the performance issues are
averted by using the id of the Interval as its identity. We actually have
a similar "feature" (bug?) in positional_metadata: you can create a
DataFrame with duplicate columns (including column name and values),
which is analogous to having two Intervals at the same location and with
the same metadata. For example:
In [7]: pd.DataFrame([[True, True, False],[True,True,False]], columns=['foo','foo','bar'])
Out[7]:
foo   foo    bar0  True  True  False1  True  True  False
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/biocore/scikit-bio/pull/1356#issuecomment-240579046,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADyuZIMX19gWkgEZUHkKGSn-RRMsP4v1ks5qg5d6gaJpZM4Ig0qO
.

@jairideout , does the following example clarify for you?
from skbio.metadata import Interval, IntervalMetadata
im = IntervalMetadata()
im.add([(3, 9)], metadata={'gene': 'sagB'})
# add a duplicate
im.add([(3, 9)], metadata={'gene': 'sagB'})
# their id() are different because they have diff mem address
id(im._intervals[0])  # --><PHONE_NUMBER>
id(im._intervals[0])  # --><PHONE_NUMBER>
## so you can't use id() to identify duplicates

@ebolyen , implementing a simple frozen dict is trivial (eg https://github.com/slezica/python-frozendict/blob/master/frozendict/init.py), although it doesn't work with mutables in the values of the dict.
Rethink about the problem. I would leave it for now, because we can not exhaustively check all duplicates like this, anyway:
from skbio.metadata import Interval, IntervalMetadata
im = IntervalMetadata()
im.add([(3, 9)], metadata={'gene': 'SagB'})
# duplicates of slight different name
im.add([(3, 9)], metadata={'gene': 'sagB'})
im.add([(3, 9)], metadata={'gene': 'sag B'})

I will open a fresh PR for this.

Closing in favor of #1414.


Update about easing of Apple IOS restrictions for testing IOS Apps on…

… Devices
For testing out apps on devices, you are no longer required to necessarily sign in to Apple Developer Program. All you need is a fresh Apple Id account which is not associated previously with Xcode and Xcode version 7.

@shazron @stevengill please review.

Also, this PR, according to Github, has conflicts.

Thanks for the feedback, @shazron! @karandeepmalik please take a look at Shazron's comments when you have a moment. I don't know how to best reword the content, so I'll leave it to you. Also: sorry, we've reorganized the docs a bit since the PR was created. After you make any changes please move them to the www/docs/en/dev/guide/platforms/ios/index.md file. We now take "snapshots" of /dev/ and copy it to /6.x/.


Minor code cleanups

In reviewing the code, I found some stylistic things. They're not important, and indeed some would disagree. But still gonna put in a PR :)

Sorry for not seeing this in a while. The code has suffered several refactors since a year ago, and we are sure there still remain some styling inconsistencies. We'll appreciate having an extra pair of eyes reviewing the code, thanks!


Scroll views are not scrollable on native when dragging on certain elements

Current Behavior
With any scroll view (vanilla scroll view, list, flat list, etc...) on native, pressing and dragging on certain elements on the screen will not scroll the scroll view. This happens on both iOS and Android. Specifically, it seems like pressable elements (elements that respond to press events) do allow the view to scroll, while non-pressable elements do not.
Expected Behavior
No response
Tamagui Version
1.101.3

Platform (Web, iOS, Android)
iOS, Android

Reproduction
The Bento chat list component should reproduce this issue.

System Info
No response

This has resolved the issue for me: https://stackoverflow.com/a/49918614.


Force AVX even when AVX2 available

It seems that when the build system's CPU supports AVX2 it is always used for FourQ. I'm currently facing compiler errors in a downstream application including APSI for AVX2 enabled systems where for systems that only support AVX everything works. Is there already an option or would you consider adding one to enforce AVX even if AVX2 support is available (e.g. a -D_NO_AVX2_=1 option)?
Beyond my current build issue I'm also thinking about if and how pre-built libraries could be distributed as part of a package in a robust way so that even if the package is built on an AVX2 enabled system, it could still be used on systems that share the same OS and architecture but only support AVX.

This has been fixed in the latest release, version 0.8.2.
You are now able to specify -DAPSI_DETECT_AVX=OFF and/or -DAPSI_DETECT_AVX2=OFF to turn off AVX detection (ON by default).


functional position/state?

What is the purpose of the attributes fP and fS, and what values should be used?
The core documenation states:
fP | functionalPosition | Functional position. Is null if no value is defined in SXL.
fS | functionalState | Functional state. Is null if no value is defined in SXL.
And there is a bit in:
https://github.com/rsmp-nordic/rsmp_core/blob/master/rst/rsmp.rst#definitions-2
But it doesn't make sense to me.
When I look in the SXL for traffic light spec, there is nothing except two empty cells here:
https://github.com/rsmp-nordic/rsmp_sxl_traffic_lights/blob/master/sxl_traffic_controller.md#aggregated-status-per-grouped-object
Are these attributes used, and what values should be used?

Functional position:
An object can be ordered to enter a predefined position. An object has at least one functional position and only one enter a single functional position at a time. Examples: Open/Closed, On/Off, Forward/Stop/Backwards
The term functional position is not specific to RSMP but is commonly used  for control systems.
The fP and fS exists in the aggregated status and is always sent if it changes. It is a list of possible positions it can enter. It can be controlled using command M0001 (In the Excel version of the SXL, M0001 is in the section "Functional position").
The SXL for traffic controllers doesn't use functional positions since version 1.0.1, since we were unsure how to define it in a good way for traffic signals. It was replaced with individual statuses instead.
function state is no longer used in recent versions of the RSMP specification, but it left behind for backwards compatibility.

Are there any examples of the use of fP (outside traffic light controllers)?
I think we should clearly state in the spec that fS is deprecated.
For TLCs, can fS and fP be left out? Or can they be null or must they be empty strings?

Yes, there are examples of other SXL's where fP being used. Examples include Rerouting system in Sundsvall and National system for DRIP signs. There most likely many more SXL's which use it.
The spec mention that fS is not used at section https://github.com/rsmp-nordic/rsmp_core/blob/master/rst/rsmp.rst#signal-exchange-list but perhaps it can be written more clearly.
The spec mention at https://github.com/rsmp-nordic/rsmp_core/blob/3.1.5-draft/rst/rsmp.rst#aggregated-status-message that they should be null if not used.

can fS be left out, since it is not used?

I think fS still need to exist (according to https://github.com/rsmp-nordic/rsmp_core/blob/master/rst/rsmp.rst#basic-structure), but should be set to null (according to https://github.com/rsmp-nordic/rsmp_core/blob/3.1.5-draft/rst/rsmp.rst#aggregated-status-message)

I agree that the following section is not written in a very clear way: https://github.com/rsmp-nordic/rsmp_core/blob/master/rst/rsmp.rst#basic-structure
I think it is due to poor translation from Swedish. We need to write this better.

3.2 will be about clarification. removing fields will be for later

all TLC implementations and also MobiMaestro uses an empty string, rather than null for fP. this is not according to spec. but we could choose to allow an empty string, so the implementations don't have to be changed.

I suggestion allowing both null or empty string. I've updated the draft.

done


'Loading' text briefly appears when navigating from Home Page to View Dataset Page

From Guillermo's QA comments, steps to reproduce:
I have done different tests, which I share below with videos and the steps to reproduce.
I'm using emojis (🚨 and ✅) to explain if the behavior is working as expected or if revision is required.
TEST 1 - Create first dataset from empty installation
https://github.com/IQSS/dataverse-frontend/assets/17010447/60c11a1e-6ad3-4827-861c-1655a5ebb651
Steps:

Dataverse is empty, so I log in via JSF to create a data set.
I create a test dataset through JSF
I navigate to the JSF home page to see how the created dataset card is displayed in the list.
✅ I navigate to the SPA home page to verify that the new dataset is displayed in the list with the same appearance as in JSF.
🚨 I click the dataset in the list and navigate to the dataset page. I see that when navigating, instead of directly opening the dataset page, it goes through an intermediate page where a text "loading" appears (very quickly, but noticeable). See the following screenshot:

✅ The dataset page correctly displays the requested dataset

Originally posted by @GPortas in https://github.com/IQSS/dataverse-frontend/pull/274#pullrequestreview-1813474292

I think the loading functionality should appear lower in the component hierarchy, possibly including a skeleton component. In my opinion there should be some visual communication to the user that there is data being fetched and the website is actively working. Attempting to recreate every aspect of the JSF site (including the not ideal ones) would be counterproductive I think. Happy to take this item and work with stakeholders.


feat(exclude-from-chdir) Add exclude_chdir

New options added
-- Don't chdir for certain buffers
exclude_chdir = {
  filetype = {"", "OverseerList", "alpha"},
  buftype = {"nofile", "terminal"},
},

This  allow users to exclude certain plugins from triggering chdir.
Example case of use
I like to use manual_mode = false to auto chdir. But I don't want it to auto chdir to ~/ when opening compiler.nvim / Overseer.

I think the best solution would be adding a vim.b[0].project_nvim_disable flag so we don't have to iterate those list.
and you can set vim.b[0].project_nvim_disable in your own autocmds.

Thanks for creating this PR. I think this change will probably fix the issue I'm seeing in https://github.com/ahmedkhalf/project.nvim/issues/156. I thought it was a but in project.nvim but after reading the code I was confused why it would try to change the CWD multiple times, but being triggered by other kinds of buffers seems the most likely explanation.

@collinvandyck You can use the main branch of my fork to get the feature (compatible with nvim 0.10 and upper).

thanks @Zeioth ! i'm still on 0.9.5 but plan on upgrading soon and I will try that out, much appreciated.


fix: fix some text unexpected select

Types

[ ] 🎉 New Features
[x] 🐛 Bug Fixes
[ ] 📚 Documentation Changes
[ ] 💄 Code Style Changes
[ ] 💄 Style Changes
[ ] 🪚 Refactors
[ ] 🚀 Performance Improvements
[ ] 🏗 Build System
[ ] ⏱ Tests
[ ] 🧹 Chores
[ ] Other Changes

Background or solution
for #385 ，一些不希望用户可以选中文本的场景没有禁止这个功能
Changelog
修复了 5 处我发现的

Codecov Report

Merging #415 (590b977) into main (78c2350) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #415   +/-   ##
=======================================
  Coverage   59.32%   59.33%
=======================================
  Files        1189     1189
  Lines       72894    72894
  Branches    15090    15090
=======================================
+ Hits        43245    43251    +6
+ Misses      27019    27013    -6
  Partials     2630     2630

Impacted Files
Coverage Δ

packages/core-common/src/node/port.ts
46.96% <0.00%> (+3.03%)
:arrow_up:

...ackages/terminal-next/src/node/terminal.service.ts
45.04% <0.00%> (+3.60%)
:arrow_up:

Continue to review full report at Codecov.

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


[log] Support log to file

Currently stdout is the only output, I don't think it even writes any thing to stderr, though 12 factors strongly discourage log to file and suggest using redirect, but I find logging to file with default naming is pretty useful, especially when you log a lot and you can't scroll up the terminal any more.

[x] log to file
[x] add flush to improve performance #90

[ ] need to call it when the got SIGTERM
[ ] what if both the application and the library try to trap SIGTERM, then which one will work

[ ] what's the benefits of logging to both stderr and stdout
[ ] rolling log, log rotate

https://github.com/natefinch/lumberjack
I think it's better to use external program, though we could have this built in for easier deployment

just use a file as io.Writer and pass to handlers, it's already implemented long time ago
add Flush on Logger maybe we should have a FlushAll due to tree of logger #33
log rotate is not supported, might put that in logx


Improve the Accuracy of the Image Crope

Image cropper seems to be losing some part of the image.

cant reproduce this on the latest macOS 15.2 or iOS 18.2
I have however fixed and issue that caused the scale to reset when dragging the image


Support F5 to launch web app in the webview in improve debugging experience

I'd like to develop the Teams app. Currently, after F5, VS code launch a web browser and I have to switch between VS code and the chrome browser to debug my code, it not convenient. Can VS code support such feature that I can directly debug in VS code and preview the page in VS code's webview without context switching.

You might like the Edge Devtools which do something like this. More is on the plan in the future, but this is not yet well defined and far from committed.


Eager: Using graphs in the same Python process

Once eager execution is enabled via tfe.enable_eager_execution(), it cannot be disabled in the same process. This means that eager and graph execution cannot be mixed in the same Python session.
This issue has been filed to track development of features to make the transition between eager and graph execution smoother -- allowing users to pick and choose portions of the computation that will be “compiled” into graphs for optimized execution, and portions that will execute eagerly.

It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 45 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 60 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 75 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 90 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @asimshankar: It has been 105 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Closing this since https://github.com/tensorflow/tensorflow/commit/68430112b2ca5c160db6dd412d43f572ec69e72f addresses it I believe.


Print warning if (attempting) to double clone an environment / Refactor workspace.py

This is related to pull request https://github.com/personalrobotics/prpy/pull/55 ("Fixed a number of bugs related to workspace planner")
If you call a planning method like PlanToEndEffectorOffset() it then calls PlanWorkspacePath().
This results in two calls to Clone(), but there's a check in there
if self.clone_env != self.clone_parent:
    with self.clone_parent:
        self.clone_env.Clone(self.clone_parent, self.options)

which means that the environment is not cloned twice.
In https://github.com/personalrobotics/prpy/pull/55 @mkoval suggested that we should print a warning message like "Warning: you are trying to clone an environment into itself"
Should we add this warning message?
I would like to suggest that we also re-factor workspace.py so Clone() is not called twice.

After doing some work on this in #279, I think the best option here is to simply make cloning into yourself be a near-free operation.
There are a lot of cases, like nested @PlanningMethod calls, where deduplicating cloning is a very verbose operation, either requiring refactoring tons of common code into private helper methods, or branching off a special case when the clone is not required.
Since with Clone() also performs locking and adds a .Cloned() operator which normalized references which may or may not be in the environment, it already handles a lot of edge cases for us when we use it.  I think cloning into the same environment should be one of those cases, so we should make it so that there is no penalty for doing so.
Semantically, we will just be accessing/locking the one environment we would be using anyway, so I think this is a safe thing to do.

:+1: I agree with @psigen analysis. Eliminating all nested @PlanningMethod introduces too much boilerplate to be a viable solution.
I suspect that #279 eliminates most overhead. I am going to close this issue, but please do not hesitate to re-open it if you notice performance issues from multiple Clone calls into the same environment.


Type 'UIControl' has no member 'Event'

Hi,
I did a pod update  and I am getting "Type 'UIControl' has no member 'Event'"  what do you think would be the reason?
thanks
for: UIControl.Event.editingChanged
for: UIControl.Event.editingChanged
@IBInspectable public var maxLength: Int {
get {
guard let length = maxLengths[self] else {
return Int.max
}
return length
}
set {
maxLengths[self] = newValue
addTarget(
self,
action: #selector(limitLength),
for: UIControl.Event.editingChanged
)
}
}

hi
By the way, I am still using Swift 4.1
Thanks

What version of the plugin are you using?
There's v2.0.0 that is only compatible with Swift 4.2


scaffold still resizes even when resizeToAvoidBottomInset is set to false on mobile Web platform

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

run the code below
run flutter build web --release
open the website on mobile.

I also hosted the code below and you can access via this link https://timezone-dot-dev-public-383006.ts.r.appspot.com/#/.
I do not get this issue for all the mobile web browsers. I tried with iphone 13 safari browser as well as multiple Samsung  phones and they are fine (the keyboard obscures the text field which is intended). However, I tested with pixel 5 phone (Android Version 13) and got this issue .
Expected results
From the flutter documentation, when resizeToAvoidBottomInset i set to false, scaffold should not be resized and the text field should be obscured.
Actual results
Text field is pushed to above keyboard.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Timezone'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  TextEditingController controller = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Padding(
        padding: const EdgeInsets.all(20.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.end,
          children: [
            Padding(
              padding: const EdgeInsets.symmetric(vertical: 20),
              child: TextField(
                  controller: controller,
                  cursorColor: Colors.pink,
                  style: const TextStyle(
                  color: Colors.pink
              )),
            ),
          ]
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]
https://github.com/flutter/flutter/assets/116161269/ca8fb57f-d04f-45b3-a041-82c33a8968e0

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.3.1 22E261 darwin-arm64, locale en-AU)
    • Flutter version 3.10.6 on channel stable at /Users/keantan/Desktop/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (7 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/keantan/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 11.0.15+0-b2043.56-8887301)

[✓] Connected device (4 available)
    • iPhone SE (3rd generation) (mobile) • BEBC05D7-14CD-4B1E-96AD-150ACB421900 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • iPhone 14 Pro (mobile)              • BD90EE10-6741-462F-881B-E6869CBC29EB • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 116.0.5845.110

[✓] Network resources
    • All expected network resources are available.

I doubt I'd fix this. 😄  Should wait for our weekly triage to take a look.

Yes please. Thanks.

@kevmoo just wondering what is the turnaround time for your team to look into this? Would be great to know this as it will tell us if we need to create a separate design for android users. Thanks.

Are we sure this is web only?

So we've performed the test on the following emulators and they both had no issues:

Pixel 4
Pixel 5

We've also tested on the following physical devices using wireless debug and they all had no issues:

Pixel 5
Pixel 7 Pro
Samsung Galaxy S20
Samasung Galaxy S10

We've also used:
"flutter run -d web-server --web-port=8080 --web-hostname=<IP_ADDRESS> "
Then going to 192.168.X.X:8080 on each mobile's chrome browser and they all had the issue of the keyboard coming up, the textbox sitting on top of the keyboard, visible on screen, and the app bar "Flutter Timezone" moving off the top of the screen:

Pixel 5
Pixel 7 Pro
Samsung Galaxy S20
Samsung Galaxy S10

https://github.com/flutter/flutter/assets/116143436/cd940fbf-f616-4004-9e5e-3b0006bd9f22
Our guess is this is a mobile web issue.

Thanks for the details @foo-fetchpet and helping narrow this down.
So it appears to be only reproducible on physical Android devices + chrome? I'll try to repro this on a Pixel and investigate further.

I've reproduced this via remote debugging an android device (Pixel 6, Android 13, Chrome)

I've tried using the same trick from the IOSTextEditingStrategy to delay placement of the text field, but it doesn't change anything.
I've tested this with both true and false for resizeToAvoidBottomInset and there's a very subtle difference.  When true, the entire scaffold resizes and the headers remains static.  When false (when the bug is occurring), the field gets pushed up and the header slightly scrolls out of view.
I'm not sure this is a text field issue as much as it's a scaffold resize issue and a bug with the resizeToAvoidBottomInset property.  Adding a framework label to see if the framework team has any insights on this.

Using the code sample provided, I was able to replicate this on latest versions (stable and master) running on mobile web but only on Android + chrome, wherein, we get to see below behavior with flag set to false:
https://github.com/flutter/flutter/assets/67046386/21c48d83-b981-4941-9e47-d9d15c1bd774
With flag set to true, it works as expected:
https://github.com/flutter/flutter/assets/67046386/d0b519c3-ec25-4ada-9137-7c5dbd47fbc9
The same behavior works as expected running on mobile browser iOS safari with flag set to false, so this seems to be specific to Android + chrome.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.19.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.19.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 300451adae (4 days ago), 2024-03-27 21:54:07 -0500
    • Engine revision e76c956498
    • Dart version 3.3.3
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.22.0-5.0.pre.55, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.22.0-5.0.pre.55 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ddf79b755d (6 hours ago), 2024-04-07 18:34:24 -0400
    • Engine revision c10e950c66
    • Dart version 3.5.0 (build 3.5.0-18.0.dev)
    • DevTools version 2.34.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Thanks for re-triaging this @darshankawar, I'll go ahead and give this a priority since there's a discrepancy in behavior between Android and iOS.

It has been a while. A fix would be welcome. Android + chrome must be affecting many users. For me also AlertDialog and BottomSheet is jumping up. Sometimes it does, sometimes it doesn't.

Also experiencing issues on Android + Chrome.
I am testing with a TextField in a ModalBottomSheet.
resizeToAvoidBottomInset: false is set on the Scaffold.
As a workaround I do this: kIsWeb ? 0 : MediaQuery.of(context).viewInsets.bottom.
It only fixes the part where it pushes content even further up if I always add the viewInsets.bottom padding from MediaQuery.
It does not fix that it pushes the content behind the modal sheet up even though resizeToAvoidBottomInset is set to false. Notice the Android + Chrome, with 0 bottom padding image and how the buttons are pushed up.
No modal sheet opened yet:

Android native:

Android + Chrome, with 0 bottom padding:

Android + Chrome, with MediaQuery.of(context).viewInsets.bottom padding:

The last one has mixed results, sometimes it pushes the sheet even further up and out of the screen:

Tested my above example on iOS Safari and it works just as perfect as Android native, so definitely seems to be a Android + Chrome issue

https://github.com/flutter/flutter/assets/69913791/2674c415-0fbd-42c6-885c-84d7546eb4c8
https://playgroundwoltexample.web.app/
I experience the same in my app. Android + chrome

Still a problem!

still problem on iOS


Versioned packages

Update build script and/or CI config for versioned binary packages

Fixed by #12 and confirmed.


Server optimization

1) Player movement consists of 45 bytes of data being broadcast to everyone, no matter where they are, or even if they can see the player moving

Solution: Only tell close players one someone moves, instead of broadcasting to everyone

2) Too much data unicasted everytime you login or change rooms because "Login", "NpcsInRoom" and "ItemsInRoom" are a JSON

Solution: Send raw data strings (not json) and properly parse on the client

3) results:
before the server had to send
(numberOfPlayers * 45 bytes) * (100 rooms/100 rooms)
of data everytime someone moved anywhere.
now this only applies to nearby players (same or adjacent rooms) making this the new formula:
(numberOfPlayers * 45 bytes) * (5 rooms/100 rooms)
which means an average of 95% less traffic (considering 100 rooms and now only 5 of them will be broadcast, the one you are and the 4 adjacent)
2) results:
41% less data in average:

test done with 2 items on the ground, 1 npc and 2 players (1 logging, 1 standing) in the room


I can't change the color sheme

At first I tried to change the color scheme of the Sleek theme and absolutely nothing changed. Then I found this page on GitHub and tried to change the theme to Sleek, and strangely Powershell started writing that such a theme does not exist. As a result, now this message is constantly displayed on my screen and I can't even try to change the color scheme.

You need to specify "marketplace" or "SpicetifyDefault" as the theme, but now I just can't change the color scheme. I want to try the green "Deep" scheme in the "Sleek" theme, but the scheme remains "Wealthy". What am I doing wrong?

As I understand it, you can't change the color scheme in themes that you downloaded from the Marketplace, so I had to download these themes from GitHub and move it to AppData\Roaming\spicetify\Themes. I don't really understand why the Marketplace is needed at all, if there is no possibility of changing the color scheme...

As I understand it, you can't change the color scheme in themes that you downloaded from the Marketplace

You can, in marketplace theres a dropdown on the top right (where it says "wealthy")


GenAI - Data analysis

Description

Add insights section to our "View experiment page".
Examine PQC affect on our metrics.
Check correlation between message size, number of iterations and PQC algorithms.
POC with GenAI to analyze the raw data and provide insights

Insights section "View more"

Insights section "View less"

Research questions to address with GenAI prompt
Analysis should be able to answer the following questions for our users and ourselves:

What is the CPU / Memory usage, error rate, bytes throughput, requests count throughput, TLS handshake time between different algorithms (PQ / Hybrid / Classic)?
Can we see an exponential rise or anomalies in PQ/Hybrid vs classic algorithms when increasing the number of iterations?
Can we see an exponential rise or anomalies in PQ/Hybrid vs classic algorithms when increasing the message size?
Can we see a substantial effect of PQ/Hybrid algorithms on the metrics that we selected for examination?

Tasks

[ ] Add new field to our experiment (AKA test suite) JSON called insights.
[ ] UI - Conditional section: Display the insights in View experiment page if the insights property is populated.
[x] POC - GenAI analyzing the JSON results - compared to manual analysis, per previous tasks
[ ] Create a prompt to analyze the experiment results JSON (See latest prompt in comments)
[ ] Manually add the results to our official benchmarking reports under insights

Out of scope: automate the genAI insights generation from an Azure instance of the latest gpt model after a run is executed.

POC prompt to get insights

Note: this prompt was generated on January 1st, 2024. It will need to be enhanced when we have more metrics (throughput, error rate, handshake time and more) and when we add more parameters such as message size.

You are now a Quantum Cryptography Benchmarking Azure Lab and a Data Analyst.
I am currently designing and implementing a cloud-based architecture for a new post quantum cryptography related tool. The tool is supposed to give benchmarking reports for PQC algorithms when simulated in real world scenarios. I would like to set up a lab environment in Azure that would run tests that compare PQC algorithms to classic algorithms and hybrid algorithms, to find the impacts of the new PQC/hybrid algorithms on existing echo systems. We need to evaluate Classic algorithms (prime256v1 and secp384r1), Hybrid algorithms (p256_kyber512, p384_kyber768, x25519_kyber768) and Quantum Safe algorithms, including (bikel1, bikel3, kyber512, kyber768, kyber1024, frodo640aes, frodo640shake, frodo976aes, frodo976shake, frodo1344aes, frodo1344shake, hqc128, hqc192, hqc256).
I am seeking to explore the following research questions:
What is the CPU / Memory usage between different algorithms (PQ / Hybrid / Classic)?
Can we see an exponential rise or anomalies in PQ/Hybrid vs classic algorithms when increasing the number of iterations?
Can we see a substantial effect of PQ/Hybrid algorithms on the metrics that we selected for examination?
How much more CPU and Memory in percentage will I need on an app that implements hybrid and quantum-safe algorithms, compared to classic algorithms?
Given a JSON dataset of benchmarking results, could you help us analyze it in line with these research questions and provide any additional insights you might notice?
When styling your response, please put code brackets on technical terms and algorithm names.
Please analyze the data yourself and provide answers. Do not tell me to explore my data in Python or similar. Please ignore 0 values in the JSON. The units for CPU usage are in % and the units for memory are in MB.


Public API to get the size of a mesh axis

You can use jax.lax.axis_index(axis) to get your index along a mesh axis without needing access to the mesh object.  However, there does not seem to be a way to get access to the size of a mesh axis through the public API.
We have been doing:
        tensor_parallel_size = jax.interpreters.pxla.thread_resources.env.shape["TP"]

but jax.interpreters is not part of the public API.
Should such a function be added?  Or are we doing something wrong if we think we sometimes need it?

🤦 I had the wrong repo open when I filed this; this should be JAX.


I commented on your DMCA takedown

https://github.com/github/dmca/commit/6363e67869e11be0e8e7b96ae60b59f7fd93edfe
Just wanted to bring your attention to my comment linked above. This has nothing to do with this repository specifically, but I don't know of any better way to send you a message via Github.
Also, again, I'm not a lawyer, and this shouldn't be taken as legal advice. So if you do decide to file a counter-notice based on my claim, I'm not responsible if it ends up backfiring.

Maybe I should add discord info in my GH bio
Anyways message me @Clocked#9972 on Discord
I also think that this claim is a little fishy but I'd like to talk more about it more there👍


Hi, can your work be migrated to an undirected graph？

Thanks for using Graphormer. Yes, molecular graph used as examples is undirected graph.


SetWatchFaceStyle.Builder.Set(value) is obsolete

In the Implement the Engine OnCreate Method section, the class SetWatchFaceStyle is used. The methods described appear to be deprecated in Visual Studio.

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

ID: 7d9ff426-b104-f601-851c-f5839b12f85f
Version Independent ID: 86baed37-7896-4f4a-0859-cb07fafa7d53
Content: Creating a Watch Face - Xamarin
Content Source: docs/android/wear/platform/creating-a-watchface.md
Product: xamarin
GitHub Login: @mgmclemore
Microsoft Alias: mamcle

Hi @varyamereon, thanks for the feedback! Wear 2.0 has deprecated a few methods since this topic since was written. I've added a task to our backlog to have this topic updated to explain the Wear 2.0 way to create a watch face.


Fix grammatical error on the homepage

Thank you!

Looks like jordan already fixed this in https://github.com/facebook/reason/commit/1567a01dfe3dd6e8d5f73f069be5515e1ba9d6db
I'll close this then. Sorry and thanks for the PR!


[Improve][Connector-v2-Fake]Supports direct definition of data values(row)

Purpose of this pull request
subtask of #2752
Check list

[x] Code changed are covered with tests, or it does not need tests for reason:
[x] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

Please add the e2e test for the new params row.num.

Please add the e2e test for the new params row.num.

done

@hailin0 @EricJoy2048 PTAL


Loading EFMs and then clearing/closing EFMs crashes CNApy

Traceback (most recent call last):
File "C:\Users\phili\cnapy\cnapy\cnapy\gui_elements\modenavigator.py", line 65, in clear
self.appdata.project.modes.clear()
File "C:\Users\phili\cnapy\cnapy\cnapy\flux_vector_container.py", line 39, in clear
self.reac_id.clear()
AttributeError: 'numpy.ndarray' object has no attribute 'clear'

Is the call self.appdata.project.modes.clear() really necessary?

That could work, but keep in mind that the memory will not be freed as long as still hold a reference to that data. I think there can be a lot of modes :rocket:.
What would be the process to access the modes after I trash/close the mode navigator?

We could separate EFM and MCS Navigator. At the time I implemented it both were so similar that it made sense to combine these.


Added resourceVersion to acceptable get options

ResourceVersion is useful to continue a previous get, and making it 0 forces a local api server request instead of an etcd fetch, which is more efficient.

I've tested this with a client, and now I can use resource_version in the options for get_pods.

Can you point me at a link to the documentation where it describes the behavior of the query with resourceVersion: 0 with respect to the etcd/cache lookup?
Do you have any idea of the performance gain of this approach?

@richm https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#list-pod-v1-core
Explains the difference between 0 and unset. Kubelet uses 0. In an internal benchmark by the Google Kubernetes team we are seeing 40ms vs 4s.

Thanks!  I'm a bit surprised we didn't support this already :-)
Let's check naming consistency:

client.watch_foos(resource_version: 123)
client.get_foos(resource_version: 123) added here
EntityList objects (returned in default as: :ros mode) have .resourceVersion attribute.
In other modes, you get data as-is, i.e. [:metadata][:resourceVersion] or ["metadata"]["resourceVersion"].

This is a bit confusing but not much we can do about it.
(Not worth breaking compatibility, but could add aliases somewhere.  We can't change the as-is modes, and I think EntityList deviating from them would only be more confusing.  I'm not sure  changing the methods to accept resourceVersion: 123 is beneficial as all other kubeclient APIs do use lower_case style?)
Anyway, out of scope, here you're mirroring existing watch interface :+1:
Can you document this in README?
Please add a test.  (see similar test_entities_with_label_selector)

Done & Done. Thanks for the quick review, Beni!

Will hopefully make a release tomorrow.

released in 4.5.0 (#421)


Fix bug with Seek() and optimise bounding params.

Started out as a minor optimisation but revealed a bug :smile:

This change is

Can you add a regression test?

Added regression test. PTAL.


[SPARK-33404][SQL][FOLLOWUP] Update benchmark results for date_trunc

What changes were proposed in this pull request?
Updated results of DateTimeBenchmark in the environment:

Item
Description

Region
us-west-2 (Oregon)

Instance
r3.xlarge (spot instance)

AMI
ami-06f2f779464715dc5 (ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190722.1)

Java
OpenJDK8/11 installed bysudo add-apt-repository ppa:openjdk-r/ppa & sudo apt install openjdk-11-jdk

Why are the changes needed?
The fix https://github.com/apache/spark/pull/30303 slowed down date_trunc. This PR updates benchmark results to have actual info about performance of date_trunc.
Does this PR introduce any user-facing change?
No
How was this patch tested?
By regenerating benchmark results:
$ SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain org.apache.spark.sql.execution.benchmark.DateTimeBenchmark"

Test build #130945 has started for PR 30338 at commit 1df3675.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35551/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35551/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35551/
Test PASSed.

Test build #130945 has finished for PR 30338 at commit 1df3675.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130945/
Test PASSed.

late LGTM. Thanks for the update, Max.


[mesheryctl]: change meshery bash script to consider the .tar.gz format

Description
Change meshery bash script to consider the .tar.gz format bundle
To avoid the dependency on unzip in the *nix based systems,
goreleaser.yml will publish mesheryctl package bundled in .tar.gz format
rather than in .zip format. For Windows platform, mesheryctl is packaged
in zip format it self
This PR fixes part of #5881
Notes for Reviewers
This commit should go in after PR https://github.com/meshery/meshery/pull/5888 goes in.
Signed commits

[ ] Yes, I signed my commits.
Signed-off-by: Hussaina Begum Nandyala<EMAIL_ADDRESS>

Hi @hexxdump, we should probably remove this block too.
https://github.com/meshery/meshery/blob/25559fc547f6702ebc7ad040e30a06c880ec198d/meshery#L120-L123

yes, good catch, fixed it

lgtm, thanks for the changes @hexxdump.
Just one thought, should we have a preflight check for tar like we had for unzip? Most linux distros have tar by default but just in case. What do you think @hexxdump?

makes sense @nishantwrp, added the preflight check for tar.

@AugustasV is this along the lines of what you were thinking? Does this satisfy your deployment scenario?

@leecalcote, i think this pr should be merged too. This updates the mesheryctl installation script to use tar.gz artifacts.

Thank you, @hexxdump! 😄


Update Jenkins versions

Upgrade Jenkins integration version from 2.307 to 2.314
Upgrade Jenkins production version from 2.307 to 2.314
See the latest changelog to check what will be updated

Superseded by: https://github.com/nationalarchives/tdr-jenkins/pull/233


Removed Swift 4.x from CI; updated IBM-Swift org to Kitura; update jazzy docs

@mbarnach Have any thoughts on why this is failing?  Maybe something changed in Swift 5.4?

🤔 That's weird? I've you tried to re-run this build only? It seems random, but the test is not super clear neither (13 or 16 bytes?).
I don't think it is Swift 5.4 related.


DELETING MULTIPLE ROWS FROM TABLEVIEW, 3 sections, 3 arrays for them, and delete

Goals

Expected Results

Actual Results

Steps to Reproduce

Code Sample

Version of Realm and Tooling

Realm framework version: ?
Realm Object Server version: ?
Xcode version: ?
iOS/OSX version: ?
Dependency manager + version: ?

func okHandler(alert: UIAlertAction!){
if selectedindex == 0 {
if selectedcellindexes1.count > 0 {
for i in selectedcellindexes1 {
try! uiRealm.write {
uiRealm.delete(completedAsgn[i])
ReadAndUpdate()
}
}
}
if selectedcellindexes2.count > 0{
for i in self.selectedcellindexes2 {
                    try! uiRealm.write {
                        uiRealm.delete(self.currentAsgn[i])
                        ReadAndUpdate()
                    }

                }

            }

    }else {
        if selectedcellindexes.count > 0{
            for i in selectedcellindexes{
                try! uiRealm.write {
                    uiRealm.delete(bitkenAsgn[i])
                    ReadAndUpdate()
                }
            }
        }
    }

    updatevc()
    ReadAndUpdate()

}

Hi. Please provide all the information we ask for in our issue template and clearly state the problem you need help with. Thank you.

If you are still experiencing this problem and can provide us with the information in the issue template, please feel free to reopen this issue.


Unable to run make install

Summary:
The folder /etc/modules is not found
Host Environment

HAXM version: 7f3aaab42efb89bfc6d5e116da762cf33c5915fe

Host OS version: Fedora release 31 (Thirty One)

Host OS architecture: Linux  5.5.8-200.fc31.x86_64  GNU/Linux

Host CPU model:

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 61
model name	: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping	: 4
microcode	: 0x2e
cpu MHz		: 1369.525
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 20
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap intel_pt xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips	: 4390.23
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual

Host RAM size:  16

(Optional) Host computer model:
Manufacturer: LENOVO
Product Name: 20DT001NIX
Version: ThinkPad L450

To Reproduce
Steps to reproduce the behavior:

git clone --recursive https://github.com/intel/haxm.git
cd hax/platforms/linux/
make install

Expected Behavior
Module installed without error message
Reproducibility
Can't estimate
Diagnostic Information
make -C /lib/modules/5.5.8-200.fc31.x86_64/build M=$PWD modules_install
make[1]: Entering directory '/usr/src/kernels/5.5.8-200.fc31.x86_64'
cat: /opt/SP/software/haxm/platforms/linux/modules.order: No such file or directory
  DEPMOD  5.5.8-200.fc31.x86_64
make[1]: Leaving directory '/usr/src/kernels/5.5.8-200.fc31.x86_64'
./haxm-install.sh
modprobe: FATAL: Module haxm not found in directory /lib/modules/5.5.8-200.fc31.x86_64
sed: can't read /etc/modules: No such file or directory
HAXM successfully installed

Host crash dump:
HAXM log:

Android Emulator or QEMU log:
No log from dmesg.
Log from journalctl:
Mar 15 13:47:24 localhost.localdomain groupadd[18789]: new group: name=haxm, GID=1002
Mar 15 13:47:24 localhost.localdomain groupadd[18789]: group added to /etc/gshadow: name=haxm
Mar 15 13:47:24 localhost.localdomain groupadd[18789]: group added to /etc/group: name=haxm, GID=1002

Screenshots:
Additional context

None

I believe your system hasn't got the kernel headers installed (which is a prerequisite to build any kernel module).
I have not used Fedora Core for many years (and after my experience today I most certainly won't be changing this in  a hurry). But, I was curious after I saw this issue being reported, and I believe now that:
sudo dnf install -y kernel-devel
should fix this problem for you.
As I was using the FC31 ISO as a 'liveuser' (in a VBox VM) the kernel was still v5.3.7. I therefore had to download an older version and then install that file with:
sudo dnf install -y kernel-devel-5.3.7-301.fc31.x86_64.rpm
Of course I also had to install 'make' and 'nasm' with:
sudo dnf install -y make nasm
I then encountered a minor bug in the makefile, which I've tried to address with:
sed -i '/^modules_install:/s#$# modules#' Makefile
( NOTE: Otherwise one would have to use: make && sudo make install)
I did all this in a VM, in which I had forgotten to enable nested VT-x. I therefore could not load the successfully built 'haxm.ko' module, but I'm reasonably confident you should give it another try.

The install script on Linux only provides a demo but not verified on all distros & configurations as formal production. You'll have to modify the script to make it work through for your own environment.
Actually you can use more simple steps for using:
cd ./platform/linux
make
insmod haxm.ko
# Do sth.
rmmod haxm.ko


[FLINK-26732][runtime] logs key info for DefaultResourceAllocationStr…

hi @KarmaGYZ sorry for late response. which place you mean to put?

@liuyongvs Sorry, I mean the DeclarativeSlotManager.


Rendered display of Clickhouse Map Type

It would be supercool if Clickhouse Map Types could be rendered as Array of key-values
e.g.
[{ukf_src_lab=ZLAB, ukf_src_code=K, ukf_src_display=Kalium, ukf_src_group_display=Klinische Chemie}]
(for this the Preview Panel ist an empty grid - it seem that the entrys could not be parsed correctly)
This is the expected display

idx
name
value

0
ukf_src_lab
ZLAB

1
ukf_src_code
K

2
ukf_src_display
Kalium

3
ukf_src_group_display
Klinische Chemie

ClickHouse release 23.7Dbeaver is latest version tooAm 04.08.2023 11:10 schrieb Elizabeth @.***>:
What's your Clickhouse server and driver version? You can check it in the connection settings with the "Test connection" button.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Connected issues #20591 and #20388