Add support for the Arduino nano 33 BLE sense

This PR adds board support for the Arduino Nano 33 BLE and its Sense variant.

Thanks for all the advice everyone! Just a heads up midterms are getting a little spicy, I'll start work on a new revision around Thanksgiving break, so sorry if it seems like I'm ghosting this PR.

I've updated devicetree and defconfig. I did run into some hiccups:

Couldn't set the BOOTLOADER_BOSSA. The currently flag requires that SAM0 be also set, and that wouldn't be proper https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_BOOTLOADER_BOSSA.html#cmdoption-arg-CONFIG_BOOTLOADER_BOSSA
The built-in bossa doesn't work for the board. I'm currently trying to do some investigation work to figure out the source tree for the Arduino variant of BOSSA. My findings are here: https://gist.github.com/saltyJeff/d430813835db9b022b7b3e604629783d

Hi @saltyJeff ,

I've updated devicetree and defconfig. I did run into some hiccups:

Couldn't set the BOOTLOADER_BOSSA. The currently flag requires that SAM0 be also set, and that wouldn't be proper https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_BOOTLOADER_BOSSA.html#cmdoption-arg-CONFIG_BOOTLOADER_BOSSA

depends on SOC_FAMILY_SAM0 || SOC_SERIES_NRF52X

The built-in bossa doesn't work for the board. I'm currently trying to do some investigation work to figure out the source tree for the Arduino variant of BOSSA. My findings are here: https://gist.github.com/saltyJeff/d430813835db9b022b7b3e604629783d

EDIT found it: https://github.com/arduino/BOSSA

Zephyr will have a new SDK that supports bossac 1,9.1+ SDK 0.12.0-beta-2 . There are some issues and you need apply this https://github.com/zephyrproject-rtos/zephyr/pull/29874 .
Would you mind run a test to make sure if nRF patch is already in there?
If it fails, you can point the bossac version that works for you until everything be ready:
at board.cmake
board_runner_args(bossac "--bossac=<you bossac path>")

CC: @galak

Hi @nandojve, I did some more digging and this is what I found:

CONFIG_BOSSA_BOOTLOADER
depends on SOC_FAMILY_SAM0 || SOC_SERIES_NRF52X
The flag is actually for building the BOSSA bootloader itself: https://github.com/zephyrproject-rtos/zephyr/blob/045cc2eb2a7808e18d9859b57b545fd6bf0c21f2/soc/arm/atmel_sam0/common/CMakeLists.txt.

Since the board comes pre-flashed with a bootloader, I'll just leave this option off.

Zephyr will have a new SDK that supports bossac 1,9.1+ SDK 0.12.0-beta-2 . There are some issues and you need apply this #29874 .
Would you mind run a test to make sure if nRF patch is already in there?
It looks like the Arduino version of BOSSA is going to be a hard fork. Mainline BOSSA was designed for the SAM* products only, for some reason the Arduino team hacked a SAM* bootloader into the NRF line. I've added notes to the board's documentation on the need for a different version of bossac.

If it fails, you can point the bossac version that works for you until everything be ready:
at board.cmake
board_runner_args(bossac "--bossac=<you bossac path>")

I added notes to the documentations about this flag.

Hi @nandojve, I did some more digging and this is what I found:

CONFIG_BOSSA_BOOTLOADER
depends on SOC_FAMILY_SAM0 || SOC_SERIES_NRF52X

The flag is actually for building the BOSSA bootloader itself: https://github.com/zephyrproject-rtos/zephyr/blob/045cc2eb2a7808e18d9859b57b545fd6bf0c21f2/soc/arm/atmel_sam0/common/CMakeLists.txt.
Since the board comes pre-flashed with a bootloader, I'll just leave this option off.

The code that you select have the function to reset the board into bootloader mode, it is not the bootloader. That code is dedicated to SAM0 SoC and can be used as reference to make a similar one for nRF. It is not mandatory to have that code implemented for nRF right now. The draw back is, you need put your own board into bootloader mode before call west flash. I think it will be better you work on it after.

Zephyr will have a new SDK that supports bossac 1,9.1+ SDK 0.12.0-beta-2 . There are some issues and you need apply this #29874 .
Would you mind run a test to make sure if nRF patch is already in there?

It looks like the Arduino version of BOSSA is going to be a hard fork, so NRF support will never be there. Mainline BOSSA was designed for the SAM* products only, for some reason the Arduino team hacked a SAM* bootloader into the NRF line. I've added notes to the board's documentation on the need for a different version of bossac.

If it fails, you can point the bossac version that works for you until everything be ready:
at board.cmake
board_runner_args(bossac "--bossac=<you bossac path>")

I added notes to the documentations about this flag.

If you want use west flash you need add support to external BOSSA, since the current one don't have it. It will be important have all documented, including the procedure to put board into bootloader mode before call west flash.
The PR #29874 fix support to BOSSA bootloader and handle the --offset parameter for you. You will need keep the entries at board defconfig file.
CONFIG_BOOTLOADER_BOSSA
CONFIG_BOOTLOADER_BOSSA_ARDUINO or CONFIG_BOOTLOADER_BOSSA_ADAFRUIT_UF2

If the bootloader mode is not Arduino or Adafruit_UF2, it will be necessary add the correspondent one at Kconfig.zephyr and scritps/west_commands/runners/bossac.py. The last one after #29874 merge.

The west flash --bossac command has already been added: https://github.com/zephyrproject-rtos/zephyr/blob/6aa16e01dd919a7a434f402da95799be947dc6be/scripts/west_commands/runners/bossac.py#L38
The procedure to enter bootloader mode is summarized in my docs here: https://github.com/saltyJeff/zephyr/blob/master/boards/arm/arduino_nano_33_ble/doc/index.rst#programming-and-debugging
The Arduino bootloader is only distributed in binary/ELF form. I'll spend some time objdumping to try and figure out what the magic number is.

The #29874 got merged. @saltyJeff can you confirm that bossac runner is working OK for you?

It's currently week 10 for us, I'll try to clean up all the compliance issues and test bossac during winter break.

Good job Salty boy. @saltyJeff
It compiles and runs, I did need to manually flash the Nano. Bossa doesn't work in Windows with west; undoubtedly due to the \ vs / issues (escape chars).
I have it running within a self provisioning ble mesh and getting basic sensor readings, not checked 'em in detail.
The only things that are bugging me:

Lack of console

USB ID Settings

  CONFIG_USB_DEVICE_VID has default value 0x2FE3.

  This value is only for testing and MUST be configured for USB products.

I'll have a better look in the coming days.
Billy..

@saltyJeff
I've had another play and found that zephyr can not see any of the sensors on the i2c bus. Without a USB console I can't offer much more help.

@WilliamGFish I've reverified my I2C capability, it's working on my side.
The program I ran (no proj.conf or anything besides the default CMakeLists.txt was used): https://gist.github.com/saltyJeff/c1a0a6f1a6f53fb007e31c4b5951928f
Waveforms:

@astavale I've also verified my pin numbers off the online schematics. The R channel of the RGB LED connects to P0.24.
I think you may be confused on how the pins are numbered, the Arduino pin numbers mean nothing. In the DTS, there's a guide on how to write in a pin of the form PX.Y which becomes 32*X + Y in the DTS.
Another reason is that I bought a late-model of the board, and I note that the board has a V2 appended to the schematic. You may be holding an early proto of the board.
@nandojve I tried the new SDK's build tools and the new bossac still doesn't play nice with the board. The Arduino hard fork version is the only one that supports this board.
As for forcing the device into bootloader mode, I've disassembled the bootloader from the arduino repo.
The results are here: https://gist.github.com/saltyJeff/65e5033703de757ad99bcbd57664cec1
I tried to grep for both magic numbers in bossac.c. I did find the CONFIG_BOOTLOADER_BOSSA_ARDUINO magic number (0x07738135) just hanging around at the end of the main function. Because the SAM version involves moving this value to a constant address, I assumed I would find the same in the bootloader disassembly but I couldn't find it anywhere.

@WilliamGFish I've reverified my I2C capability, it's working on my side.
The program I ran (no proj.conf or anything besides the default CMakeLists.txt was used): https://gist.github.com/saltyJeff/c1a0a6f1a6f53fb007e31c4b5951928f
Waveforms:

@astavale I've also verified my pin numbers off the online schematics. The R channel of the RGB LED connects to P0.24.
I think you may be confused on how the pins are numbered, the Arduino pin numbers mean nothing. In the DTS, there's a guide on how to write in a pin of the form PX.Y which becomes 32*X + Y in the DTS.
Another reason is that I bought a late-model of the board, and I note that the board has a V2 appended to the schematic. You may be holding an early proto of the board.
@nandojve I tried the new SDK's build tools and the new bossac still doesn't play nice with the board. The Arduino hard fork version is the only one that supports this board.
As for forcing the device into bootloader mode, I've disassembled the bootloader from the arduino repo.
The results are here: https://gist.github.com/saltyJeff/65e5033703de757ad99bcbd57664cec1
I tried to grep for both magic numbers in bossac.c. I did find the CONFIG_BOOTLOADER_BOSSA_ARDUINO magic number (0x07738135) just hanging around at the end of the main function. Because the SAM version involves moving this value to a constant address, I assumed I would find the same in the bootloader disassembly but I couldn't find it anywhere.

Hi @saltyJeff
Small recap to sync all info about BOSSA:

bootloader: OK, nRF version
put device into bootloader mode: Ok, it is manual - double tap on the switch.
bossac: OK, need to use nRF version
Arduino nano 33 Zephyr config: OK. It create a valid image. The image can be loaded into device invoking [3] from command line, for instance.
west (bossac runner): OK using west flash --bossac=xxx.

[2] I think that put device into bootloader mode automatically should be a future step. This way we can move PR forward.
[5] Since #29874 got merged, can you confirm that you are using Zephyr mainline version that have that changes ?

Hi @saltyJeff
Small recap to sync all info about BOSSA:

bootloader: OK, nRF version
put device into bootloader mode: Ok, it is manual - double tap on the switch.
bossac: OK, need to use nRF version
Arduino nano 33 Zephyr config: OK. It create a valid image. The image can be loaded into device invoking [3] from command line, for instance.
west (bossac runner): OK using west flash --bossac=xxx.

[2] I think that put device into bootloader mode automatically should be a future step. This way we can move PR forward.
[5] Since #29874 got merged, can you confirm that you are using Zephyr mainline version that have that changes ?

Hi @saltyJeff
Small recap to sync all info about BOSSA:
1. bootloader: OK, nRF version

2. put device into bootloader mode: Ok, it is manual - double tap on the switch.

3. bossac: OK, need to use [nRF version](https://github.com/arduino/BOSSA/tree/nrf)

4. Arduino nano 33 Zephyr config: OK. It create a valid image. The image can be loaded into device invoking [3] from command line, for instance.

5. west (bossac runner): OK using **west flash --bossac=xxx**.

This is an accurate summary

[2] I think that put device into bootloader mode automatically should be a future step. This way we can move PR forward.

I agree, hopefully the Arduino ppl will eventually release the source code

[5] Since #29874 got merged, can you confirm that you are using Zephyr mainline version that have that changes ?

I'm having issues building the project after merging my changes into the Zephyr master. I believe I've come upon a regression:
what I tried
I ran west build --board=arduino_nano_33_ble samples/basic/blinky:
My CMake build trace:
In file included from ../include/kernel_includes.h:46,
                 from ../include/kernel.h:17,
                 from /home/jeffe/zephyrproject/zephyr/arch/arm/core/offsets/offsets_aarch32.c:28,
                 from /home/jeffe/zephyrproject/zephyr/arch/arm/core/offsets/offsets.c:12:
../include/sys/kobject.h:317:10: fatal error: syscalls/kobject.h: No such file or directory
  317 | #include <syscalls/kobject.h>
      |          ^~~~~~~~~~~~~~~~~~~~

The file in question: https://github.com/zephyrproject-rtos/zephyr/blob/645082791b4a597abaf684c086e4facb9c800b03/include/sys/kobject.h#L317
I can't find the requested header anywhere in the source tree.
jeffe@jeffe-desktop:~/zephyrproject/zephyr$ find . -name kobject.h
./subsys/testsuite/ztest/include/syscalls/kobject.h
./include/sys/kobject.h

I've run west update and downloaded v0.11.4 of the SDK.
There appears to be a stub header that matches the path inside the testing path: https://docs.zephyrproject.org/apidoc/latest/subsys_2testsuite_2ztest_2include_2syscalls_2kobject_8h_source.html, so I just ran mkdir include/syscalls && touch include/syscalls/kobject.h.
result
I was able to build and flash after adding the dummy file, but the light did not blink, I assume because of some internal fault.
regression check
I ran the following to rebase my fork off of v2.4.0
# reset to Zephyr v2.4.0
git checkout v2.4.0-branch
# apply the bossac runner changes manually ( git is hard )
wget -O scripts/west_commands/runners/bossac.py https://raw.githubusercontent.com/nandojve/zephyr/21003324e4b638e88690a20172243c7633987b10/scripts/west_commands/runners/bossac.py
# apply the new board definition from my fork
git cherry-pick a064b23

I was able to flash and the light blinks too.

Hi @saltyJeff
Small recap to sync all info about BOSSA:
1. bootloader: OK, nRF version

2. put device into bootloader mode: Ok, it is manual - double tap on the switch.

3. bossac: OK, need to use [nRF version](https://github.com/arduino/BOSSA/tree/nrf)

4. Arduino nano 33 Zephyr config: OK. It create a valid image. The image can be loaded into device invoking [3] from command line, for instance.

5. west (bossac runner): OK using **west flash --bossac=xxx**.

This is an accurate summary

[2] I think that put device into bootloader mode automatically should be a future step. This way we can move PR forward.

I agree, hopefully the Arduino ppl will eventually release the source code

[5] Since #29874 got merged, can you confirm that you are using Zephyr mainline version that have that changes ?

I'm having issues building the project after merging my changes into the Zephyr master. I believe I've come upon a regression:
what I tried
I ran west build --board=arduino_nano_33_ble samples/basic/blinky:
My CMake build trace:
In file included from ../include/kernel_includes.h:46,
                 from ../include/kernel.h:17,
                 from /home/jeffe/zephyrproject/zephyr/arch/arm/core/offsets/offsets_aarch32.c:28,
                 from /home/jeffe/zephyrproject/zephyr/arch/arm/core/offsets/offsets.c:12:
../include/sys/kobject.h:317:10: fatal error: syscalls/kobject.h: No such file or directory
  317 | #include <syscalls/kobject.h>
      |          ^~~~~~~~~~~~~~~~~~~~

The file in question: https://github.com/zephyrproject-rtos/zephyr/blob/645082791b4a597abaf684c086e4facb9c800b03/include/sys/kobject.h#L317
I can't find the requested header anywhere in the source tree.
jeffe@jeffe-desktop:~/zephyrproject/zephyr$ find . -name kobject.h
./subsys/testsuite/ztest/include/syscalls/kobject.h
./include/sys/kobject.h

I've run west update and downloaded v0.11.4 of the SDK.
There appears to be a stub header that matches the path inside the testing path: https://docs.zephyrproject.org/apidoc/latest/subsys_2testsuite_2ztest_2include_2syscalls_2kobject_8h_source.html, so I just ran mkdir include/syscalls && touch include/syscalls/kobject.h.
result
I was able to build and flash after adding the dummy file, but the light did not blink, I assume because of some internal fault.
regression check
I ran the following to rebase my fork off of v2.4.0
# reset to Zephyr v2.4.0
git checkout v2.4.0-branch
# apply the bossac runner changes manually ( git is hard )
wget -O scripts/west_commands/runners/bossac.py https://raw.githubusercontent.com/nandojve/zephyr/21003324e4b638e88690a20172243c7633987b10/scripts/west_commands/runners/bossac.py
# apply the new board definition from my fork
git cherry-pick a064b23

I was able to flash and the light blinks too.

Hi @saltyJeff ,

I'm having issues building the project after merging my changes into the Zephyr master. I believe I've come upon a regression:

Your PR is passing buildkite but you are having regression issues. I noted that you not added an arduino_nano_33_ble.yaml file and this can explain why you are not seen regression here. Make sure you added all files as described at create-your-board-directory.  If you look at buildkite  #17002 you can confirm that CI is running 0 tests.
INFO    - Running only a subset: 1/40
--
  | INFO    - Zephyr version: zephyr-v2.4.0-2711-g5cba90ad8d
  | INFO    - JOBS: 2
  | INFO    - 1056 test suites (0 configurations) selected, 0 configurations discarded due to filters.
  | INFO    - Adding tasks to the queue...
  | INFO    - Added initial list of jobs to queue
  |
  | INFO    - 0 of 0 test configurations passed (0.00%), 0 failed, 0 skipped with 0 warnings in 2.04 seconds
  | INFO    - In total 0 test cases were executed, 0 skipped on 0 out of total 318 platforms (0.00%)
  | INFO    - 0 test configurations executed on platforms, 0 test configurations were only built.
  | INFO    - Run completed

I was able to flash and the light blinks too.

Nice! This means that west bossac runner is ok for you user case.
Now, you need add that missing file and have you PR in sync locally. Run scripts/twister -p <you board> before push the PR, just to make sure twister is running > 0 tests and 0 fail.

Hi @saltyJeff ,

I'm having issues building the project after merging my changes into the Zephyr master. I believe I've come upon a regression:

Your PR is passing buildkite but you are having regression issues. I noted that you not added an arduino_nano_33_ble.yaml file and this can explain why you are not seen regression here. Make sure you added all files as described at create-your-board-directory.  If you look at buildkite  #17002 you can confirm that CI is running 0 tests.
INFO    - Running only a subset: 1/40
--
  | INFO    - Zephyr version: zephyr-v2.4.0-2711-g5cba90ad8d
  | INFO    - JOBS: 2
  | INFO    - 1056 test suites (0 configurations) selected, 0 configurations discarded due to filters.
  | INFO    - Adding tasks to the queue...
  | INFO    - Added initial list of jobs to queue
  |
  | INFO    - 0 of 0 test configurations passed (0.00%), 0 failed, 0 skipped with 0 warnings in 2.04 seconds
  | INFO    - In total 0 test cases were executed, 0 skipped on 0 out of total 318 platforms (0.00%)
  | INFO    - 0 test configurations executed on platforms, 0 test configurations were only built.
  | INFO    - Run completed

I was able to flash and the light blinks too.

Nice! This means that west bossac runner is ok for you user case.
Now, you need add that missing file and have you PR in sync locally. Run scripts/twister -p <you board> before push the PR, just to make sure twister is running > 0 tests and 0 fail.

@WilliamGFish I've reverified my I2C capability, it's working on my side.
The program I ran (no proj.conf or anything besides the default CMakeLists.txt was used): https://gist.github.com/saltyJeff/c1a0a6f1a6f53fb007e31c4b5951928f

@saltyJeff , I've no doubt you're right about i2c working.
As we are back in lockdown again,I'll have a closer look. Might be a simple issues with driver implementation.
Billy..

@WilliamGFish I've reverified my I2C capability, it's working on my side.
The program I ran (no proj.conf or anything besides the default CMakeLists.txt was used): https://gist.github.com/saltyJeff/c1a0a6f1a6f53fb007e31c4b5951928f

@saltyJeff , I've no doubt you're right about i2c working.
As we are back in lockdown again,I'll have a closer look. Might be a simple issues with driver implementation.
Billy..

YAML file is in

YAML file is in


guide: --show-json/csv examples in Listing/Comparing Experiments

I'll add an example with jq to the UG after testing it.
Originally posted by @iesahin in https://github.com/iterative/dvc.org/issues/2740#issuecomment-929304537

If https://github.com/iterative/dvc/pull/6647 gets merged, we'll be prettifying json by default unless you meant to use jq for filtering.

What about --show-csv? Per https://github.com/iterative/dvc.org/pull/2740#issuecomment-916902358

I believe JSON is supposed to be used by other commands. Some kind of filtering may be possible, e.g., experiments with a metric higher than a certain threshold.

From https://github.com/iterative/dvc.org/pull/2740#issuecomment-916902358

I would prefer example outputs for both --show-json and --show-csv over a usage example, since what would be less obvious to users is the format of those JSON and CSV outputs

I believe JSON is supposed to be used by other commands

Yes, that's fine but CSV will also have some use cases (otherwise why does it exist) so let's include it too?

There are now examples for these options in #2737

Great! I think you mean https://github.com/iterative/dvc.org/pull/2862 though? Please link that PR to close this issue if so @iesahin. Thanks


Refined Storage Battery

This is a request to be able to store additional energy in the RS system.
Currently, energy is only stored in the Controller, and you can only have 1 controller per network.  The Controller's capacity is controlled by a config value, and defaults to 32,000 FE.  This puts a hard limit on how much power the RS system can store.
With some items using as much as 1,000 FE/t, exceptionally large systems may exceed the size of the Controller's buffer every tick.
In addition, it may be desirable to have additional energy capacity in the RS system in case of a power failure.

I second this feature request.
I've been using the "Capacitor Banks" from EnderIO to achieve something similar but they can only transfer 25,000 FE/t maximum.
It would be great if RS had its own UPS ( uninterruptible power supply ) style battery system.

I'm not sure if this problem is realistic.

If, for example, I have a collection of Network Transmitters in various locations around my world all running 1 FE/t per block distance and the total distance equates to 30,000 blocks and I also have three additional Network Transmitters with Interdimensional upgrades running at 1,000 FE/t, I am now running at a total of 33,000 FE/t and RS can't keep up with the power demand.
All this bearing in mind that the rest of the system is drawing additional power for the drives, wireless transmiters, grids etc. etc...
Yes I could up the capacity in the config, but if I was on a server where that wasn't an option, I'd be stuck and would have to downsize my system.

But that use case is unrealistic.

I beg to differ.  My personal server is currently running at at least 24,000 FE/t...
I have several users and they all want access to a single storage system and they are all dotted about the world.

That's a good idea. It would make more sense to have them draw the power on demand.
However I'd still expect them to require a small amount passively just to keep things more consistent.

I've thought about it and I think a centralized energy place that the controller is is much cleaner and simpler.


Consider having a clusterprovider which uses mdns.

Service discovery by mdns seems useful. Within a network, having nodes in the same cluster automatically find each other solves a rather complex issue which would otherwise require consul or similar tooling.
See if we can have a cluster provider which uses mdns zeroconf.

Good idea. This is in progress #135

hah. you're way to fast.


Upgrade to electron 13.5.0

Signed-off-by: Sebastian Malton<EMAIL_ADDRESS>fixes https://github.com/lensapp/lens/issues/3896

@jakolehm What is the .yarnrc for. I couldn't find anything online about the values we have in that file. Except that if you run yarn config list you get those values too.

@jakolehm What is the .yarnrc for. I couldn't find anything online about the values we have in that file. Except that if you run yarn config list you get those values too.

Originally .yarnrc was configured to allow native node modules to be built against right Electron version. I'm not sure if this is still needed.. anyway if we have that file it should be in-sync with the used Electron version.


fix 'convertor' typo

In #29145 converter was misspelled as convertor. Fixing before it spreads :)

Maybe both are right?

Oh seems that it exists even though it isn't the common form: https://www.oxfordlearnersdictionaries.com/definition/english/converter?q=convertor
Never mind :laughing:


CommitId serialization

Fixes #79
Fixes #80
Fixes #81
Fixes #82

Codecov Report

Merging #78 into master will decrease coverage by 0.05%.
The diff coverage is 37.6%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
- Coverage   55.18%   55.12%   -0.06%
==========================================
  Files          46       49       +3
  Lines        1747     1825      +78
==========================================
+ Hits          964     1006      +42
- Misses        783      819      +36

Impacted Files
Coverage Δ

...sm.Serializer.Proto/ProtoChasmSerializer.Commit.cs
100% <ø> (ø)
:arrow_up:

...urceCode.Chasm.Serializer.Proto/Wire/TreeWire.g.cs
43.28% <ø> (ø)
:arrow_up:

...urceCode.Chasm.Repository.AzureTable/DataEntity.cs
0% <0%> (ø)
:arrow_up:

...sitory.AzureTable/AzureTableChasmRepo.CommitRef.cs
0% <0%> (ø)
:arrow_up:

...pository.AzureBlob/AzureBlobChasmRepo.CommitRef.cs
0% <0%> (ø)
:arrow_up:

...asm.Serializer.Json/Wire/TreeWireNodeExtensions.cs
100% <100%> (ø)
:arrow_up:

...asm.Serializer.Json/Wire/CommitIdWireExtensions.cs
100% <100%> (ø)

...sm.Serializer.Json/JsonChasmSerializer.CommitId.cs
100% <100%> (ø)

...sm.Serializer.Proto/Wire/CommitIdWireExtensions.cs
100% <100%> (ø)

....Serializer.Proto/ProtoChasmSerializer.CommitId.cs
100% <100%> (ø)

... and 4 more

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 cfd5513...ad55d75. Read the comment docs.

Self-merge: @jcdickinson is OOF


fix(ui): center dialog header

fixes issue #5470
the header content was not properly centered due to the presence of the HeaderActionButton within the flex container. The HeaderActionButton was impacting the alignment of the header content, causing it to be off-center.
Added a "|" in a flex container under the header locally to show the actual center point.
Before :

After :

When showing an asset list in the dialog, its a minimal ui bug. The misalignment becomes more visible with the no-tokens-found component in the token manager pr ( or if any component is centered in the dialog). So ideally the issue should be fixed before that pr.

Summary by CodeRabbit

New Features

Added a position prop to the HeaderActionButton component, allowing customization of its position.

Updates

Upgraded @leather.io/query package from version 0.9.0 to 0.9.1.

Refactor

Renamed various loading state variables for consistency across components.
Simplified logic in balance loader and asset list components.
Updated components to use new loader names and properties.

Bug Fixes

Fixed conditional logic in CurrentStacksAccountLoader to correctly handle fallback values.
Optimized the SendButtonSuspense component to improve disabling logic based on btcAddress.

Thanks for fixing this @cbadawi 👏
I'd like to get it merged. Could you please help out by rebasing the branch so that it just has one commit for your actual change?
We usually reference the issue in the commit message too so if you could do that it would be great. e.g. fix(ui): center header,  ref leather-wallet/extension#64

@pete-watters had some issues with my git config author date but it should be fine as far as i can tell

cbadawi

Everything looks good to me. Thanks for fixing this, your contribution is much appreciated and it's a big impact one line change.
I got your work merged here: https://github.com/leather-io/extension/pull/5573
In case it helps you in the future you can do git commit --amend --reset-author if you want to update the timestamp but it's not a big deal


[Resolve Errors] [Review Warnings] Counts should be the number of rows affected by errors (or warnings)

Currently, the count shows the amount of error (or warning) types found. It should be the number of rows affected by errors (or warnings)

This should be in the filing-api I believe?  Code is providing a count of error/warning codes (E3000, W0123, etc) and not the total record counts under each.


Check delegation, stake amount and rewards with ledger state dump

Check that the data in ledger state dump contain expected stake and rewards and that the data corresponds to the reality (e.g. rewards listed in ledger state dump and real rewards received).

https://github.com/input-output-hk/cardano-node-tests/blob/a9457e5e12cf3be5ad608591dd98d3fbedc3d829/cardano_node_tests/tests/test_staking.py#L614
and
https://github.com/input-output-hk/cardano-node-tests/blob/a9457e5e12cf3be5ad608591dd98d3fbedc3d829/cardano_node_tests/tests/test_staking.py#L796


Migrate Spanner Tests to AssertJ

This migrates Spanner Tests to user AssertJ.
Working on #1203.

Codecov Report

Merging #1325 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1325   +/-   ##
=========================================
  Coverage     67.72%   67.72%
  Complexity     1397     1397
=========================================
  Files           202      202
  Lines          5643     5643
  Branches        567      567
=========================================
  Hits           3822     3822
  Misses         1587     1587
  Partials        234      234

Flag
Coverage Δ
Complexity Δ

#integration
79.47% <0%> (ø)
1697% <0%> (ø)
:arrow_down:

#unittests
67.72% <0%> (ø)
1397% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #1325 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1325   +/-   ##
=========================================
  Coverage     67.72%   67.72%
  Complexity     1397     1397
=========================================
  Files           202      202
  Lines          5643     5643
  Branches        567      567
=========================================
  Hits           3822     3822
  Misses         1587     1587
  Partials        234      234

Flag
Coverage Δ
Complexity Δ

#integration
79.47% <ø> (ø)
1697 <ø> (ø)
:arrow_down:

#unittests
67.72% <ø> (ø)
1397 <ø> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


update the engine for unvt.github.io

As in https://github.com/unvt/unvt.github.io/issues/2 raised by @smellman

Complete. Thanks!


Unable to integrate vertx-when with Vert.x application

I was not able to find a version of vertx-when available in a public Maven repository. Thus, I cloned the project and built it locally. To build it I had to switch from Java 7 to Java 8, which I did. The project is installed locally as "com.englishtown.vertx:vertx-when:4.0.0-SNAPSHOT".
I added this statement to my build.gradle:
compile "com.englishtown.vertx:vertx-when:4.0.0-SNAPSHOT"
I am able to run 'gradle install' or 'gradle fatjar' for my Vert.x applicationwritten in Groovy without any problems.
Here is the code, which gives me trouble:
package test
import org.vertx.groovy.core.eventbus.Message
import org.vertx.groovy.platform.Verticle
import org.vertx.java.core.Future
import com.englishtown.promises.WhenFactory
import com.englishtown.vertx.promises.WhenVertx
import com.englishtown.promises.When
import com.englishtown.vertx.promises.impl.DefaultWhenVertx

class ApplicationVerticle extends Verticle {

	def start(Future startedResult) {
		def config = container.config

        When when = WhenFactory.createSync();
        WhenVertx whenContainer = new DefaultWhenVertx(vertx, when);
        ...

I get a runtime error when trying to run either the ApplicationVerticle or the entire module.
On line When when = WhenFactory.createSync(); I get this error:
java.lang.NoClassDefFoundError: javax/inject/Provider

I found your post suggesting adding this line to Vert.x langs.properties
groovy=com.englishtown~vertx-mod-hk2~1.7.0:com.englishtown.vertx.hk2.HK2VerticleFactory

Adding this line causes another error when I try to run the Verticle (it has no effect on the module):
java.lang.NoClassDefFoundError: org/vertx/groovy/platform/Verticle

What is the proper way of integrating vertx-when with a Vert.x application?

Apologies, the documentation is severely lacking.  I'll take a pass on adding some getting started details.  The main issue, is I always use when.java and vertx-when with DI (vertx-hk2 or vertx-guice) which provide the javax.inject jar
<dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
</dependency>

Try adding this dependency.
vertx-when 4.0.0-SNAPSHOT is intended for use with vert.x 3.  The vertx-mod-hk2 module is intended to be used with vertx-mod-when and vert.x 2 which is why you get java.lang.NoClassDefFoundError: org/vertx/groovy/platform/Verticle

Adrian,
Thank you for your response. What version do I need to use with Vert.x 2.1.5?
Michael
 On Friday, March 6, 2015 12:32 PM, Adrian<EMAIL_ADDRESS>wrote:

Apologies, the documentation is severely lacking. I'll take a pass on adding some getting started details. The main issue, is I always use when.java and vertx-when with DI (vertx-hk2 or vertx-guice) which provide the javax.inject jar
javax.inject
javax.inject
1
Try adding this dependency.vertx-when 4.0.0-SNAPSHOT is intended for use with vert.x 3. The vertx-mod-hk2 module is intended to be used with vertx-mod-when and vert.x 2 which is why you get java.lang.NoClassDefFoundError: org/vertx/groovy/platform/Verticle—
Reply to this email directly or view it on GitHub.

For vert.x 2.x you should use:
<dependency>
    <groupId>com.englishtown</groupId>
    <artifactId>vertx-mod-when</artifactId>
    <version>3.0.1</version>
</dependency>

You still need the javax.inject jar.
Also, you should not use WhenFactory.createSync() if running in Vert.x.  Instead you should use com.englishtown.vertx.promises.impl.VertxExecutor with WhenFactory.createFor(() -> executor)

You only need to modify langs.properties if you want to use DI with vertx-mod-hk2 or vertx-mod-guice.

This is the version of README file for 3.0.1: https://github.com/englishtown/vertx-when/blob/57ff099eb08d41420b33c2fad531004976ddb1d9/README.md. There is nothing about VertxExecutors there. It mentions whenContainer, but provides no instructions on how to create it.
According to the current README page, VertxExecutor is for vertx-when 4.0.0, in which case I am confused sine you are advising me to use VertxExecutor with Vert.x 2.1.5, which uses vertx-when 3.0.1.
Anyway, I am trying the following code with vertx-when-3.0.1:
        When when = WhenFactory.createSync();
        DefaultWhenContainer whenContainer = new DefaultWhenContainer(container, when);

The code compiles, but I get a runtime exception:
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: com.englishtown.vertx.promises.impl.DefaultWhenContainer(org.vertx.groovy.platform.Container, com.englishtown.promises.impl.DefaultWhen)

The types of constructor parameters seem to match, so perhaps there is a JAR version mismatch somewhere.
I am trying to use promises to deploy multiple verticles and when all succeed deploy another verticle. A complete example on how to do it using vertx-when would really help. Currently README files contain snippets of code with parts missing. For example, in 3.0.1, README shows how to use whenContainer, but not how to create it.

It requires the Java instances.  However, you should be able to do something like the following:
package com.englishtown.vertx.examples

import com.englishtown.promises.When
import com.englishtown.promises.WhenFactory
import com.englishtown.vertx.promises.impl.DefaultWhenContainer
import com.englishtown.vertx.promises.impl.VertxExecutor
import org.vertx.groovy.platform.Verticle

class WhenExampleVerticle extends Verticle {

    def start() {

        org.vertx.java.platform.Container container = getContainer().jContainer;
        org.vertx.java.core.Vertx vertx = getVertx().toJavaVertx();

        VertxExecutor executor = new VertxExecutor(vertx);
        When when = WhenFactory.createFor({
            return executor
        });

        DefaultWhenContainer whenContainer = new DefaultWhenContainer(container, when)

    }

}

I'm not sure if there is a better way to get the org.vertx.java.platform.Container instance, this is peeking at the private jContainer field.

I thought I'd put together an example project: https://github.com/adrianluisgonzalez/vertx-when-groovy-example
I am not a groovy dev so I have no idea what I'm doing here....  Please feel free to comment if you have any suggestions.

Thanks, Adrian, the example was very useful.


DMIC split causes mic to not work on some boards

Describe the bug
Recently installed MrChromebox FW on an Eldrid (Tigerlake) device, aka HP Chromebook x360. Speakers work well, but the mic is not showing at all. See attached screenshot.

If anyone has help or advice, really appreciate it. I don't mind patching anything (kernel, etc) if need be. Thank you!
Boardname
Eldrid
Logs
attached
debug-logs.tar.gz

I'll add this is Fedora 40. Thanks!

Likely a duplicate of #34

Thanks, I had a look. I was able to select the mic device, but unfortunately the mic is still not functional. What I see now is that when recording, the mic is giving a constant value a bit under 1/2 the way from 0 to positive max. You can see in the screenshot. No matter what noise I make, there is no change to this value.
Any further ideas very appreciated. Thank you!

This issue is most likely due to the way I handle splitting the channels of the internal mic, and I'm not sure what the best way to fix this is.

FYI headphone mic works just fine, so issue only affects internal DMIC (possibly channel mapping).

I'm not sure what the best way to fix this is.

We could try introducing NHLT tables.
[   15.686049] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[   15.686113] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   15.693686] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[   15.718338] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT table not found
[   15.718360] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[   15.754177] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[   15.754181] sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/community/sof-tgl.ri
[   15.754182] sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-tgl-max98357a-rt5682.tplg
[   15.775836] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   15.775839] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[   15.775844] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[   15.884061] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   15.885493] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[   15.967876] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[   15.969529] sof_rt5682 tgl_rt5682_def: ASoC: Parent card not yet available, widget card binding deferred
[   16.046896] input: sof-rt5682 Headset Jack as /devices/pci0000:00/0000:00:1f.3/tgl_rt5682_def/sound/card0/input9
[   16.048648] input: sof-rt5682 HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:1f.3/tgl_rt5682_def/sound/card0/input10
[   16.049977] input: sof-rt5682 HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/tgl_rt5682_def/sound/card0/input11
[   16.051300] input: sof-rt5682 HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/tgl_rt5682_def/sound/card0/input12
[   16.051433] input: sof-rt5682 HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/tgl_rt5682_def/sound/card0/input13

I don't see how NHLT will help us, and it will very likely be a massive pain to even get it working. Anything newer than APL is hardcoded to use a 4 channel DMIC.

We can change that, TGL DSP FW is signed with community keys

Sounds like a lot of work for something that may not even fix our issue, and will most likely not be accepted into upstream.


Auto width for Module, Input, Output and Type

Fixes #1533. Or better, fixes the root cause for the wish of #1533.
I'm also annoyed by the truncated or wrapped texts and all the time need to adjust the columns, so everything is visible.
I propose to just auto size Module, Input, Output and Type based on the content. Why not? Try it.
Opinions @neilenns , @DocMoebiuz ?

Ooooh. I'll give this a try later today, could be a lot easier than what I was looking at doing (storing the manually set widths in the config files).

I tried with a bigger config and the resource consumption goes up a lot. UI is not responsive and takes several seconds until the config is loaded. Maybe first load the config, and then set the columns to auto-width. It might re-calcualte it otherwise multiple times while loading the data.

aero2023-combined-display.mcc.txt

Good catch, now performance fix included.

Good catch, now performance fix included. Does that fix it for you?

yes. it opens the file like before.


Decrease dependencies

I am using ESR router in my application and I really like it, but I'd like do decrease my app size
See my bundle analyzer... esr comes with mout as a dependency to polyfill some es6 features
What do you think about documenting that people who want to use it in IE11 need to polyfill Promise and some Array apis?

In my app I was already using core-js polyfill to add some apis on Array... So I am unnecessarily loading two polyfillers for the same reason

@QuackMartins
I've just noticed this issue, sorry for late reply.
As you mentioned ESR comes with all mout's source code which is undesired. I will fix that :)

What do you think about documenting that people who want to use it in IE11 need to polyfill Promise and some Array apis?

Sorry, IE11 is not supported and I have no plan to support it.


Avoid explicitly using /workspace. Use dot (.) instead.

Avoid explicitly using /workspace . Use dot (.) instead.
Do not create an additional layer for upgraded pip.

Can we merge this now?

Yes, I tested with the Scene classifier.


The script opened after version update from 23.2.2 to 23.2.4 or 23.2.3 displays garbled Chinese characters

Description
The script opened after version update from 23.2.2 to 23.2.4 or 23.2.3 displays garbled Chinese characters
And version 23.2 shows normal
DBeaver Version
commutity 23.2.3 or 23.2.4
Operating System
windows 11
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

23.5

Hello @zigzodiac
Could you please find the .ini file (located with the .exe file), delete this parameter
-Dfile.encoding=UTF-8
save the file and restart DBeaver?

@LonwoLonwo ok


Drawer, Panels, Blocks and such

We don't want to see tons of definitions which are essentially the same and then clone the whole definition in order to change a border.
A drawer is essentially an item with a header and aligned elements in that header. Whether the drawer is expandable is defined by the expandable class. The expanded class states that the item is indeed expanded.
.drawer {

    >.header {
        display: flex;

        >:nth-child(1) {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        >:nth-child(2) {
            margin-left: auto;
        }

        &:hover {
            cursor: pointer;
        }
    }

    &.expandable {
        overflow: hidden;
        transition: max-height 0.3s ease-out;

        >.header>.icon-expander {
            background-image: url("../icons/icon-keyboard-arrow-down.svg");
        }
    }

    &.expanded {
        overflow: visible;
        max-height: none !important;

        >.header>.icon-expander {
            background-image: url("../icons/icon-keyboard-arrow-up.svg");
        }
    }

    &.disabled {
        opacity: 0.3;
        pointer-events: none;
    }

}

The max-height for an expandable drawer should be either defined inline (no bueno) or by a class combo such as:
.drawer.layer-group,
.drawer.layer-view {
    max-height: 37px;

    >.header {
        padding: 5px 0;

        >img {
            width: 20px;
        }
    }
}

or
.drawer.panel {
    max-height: 37px;

    >.header {
        padding: 5px 0;
    }
}

The toggleExpanderParent expands the closest element with an expandable class. The util takes as input a target with an optional flag for accordion mode.
export function toggleExpanderParent(target, accordion) {

  const closestExpandable = target.closest('.expandable');

  if (!closestExpandable) return;

  // Set timeout to update the scrolly element after max-height transition;
  setTimeout(
    () => {
    const scrolly = closestExpandable.closest('.scrolly');
    scrolly && scrolly.dispatchEvent(new CustomEvent('scrolly'));
    }, 500);

  // If expanded? Remove expanded from closest expandable and return.
  if (closestExpandable.classList.contains('expanded')) {
    return closestExpandable.classList.remove('expanded');
  }

  // Accordion: Remove expanded from all siblings of closest expandable.
  if (accordion) {
    [...closestExpandable.parentElement.children].forEach(sibling => {
      sibling.classList.remove('expanded');
    });
  }

  // Add expanded class to closest expandable.
  closestExpandable.classList.add('expanded');

}

The !important can probably taken out once all the definitions in the mapp interface are updated.


Possible to have some perf comparison with official bindings?

Hi Hirolshida,
Thanks for this interesting development!
I think it might be very helpful if there is some quantitative perf comparison with the official bindings as motivations for using these bindings vs. the official ones (and possibly vice versa, depending on specific use cases) ?
P.S. I personally do find pybind11 bindings easier to read / debug / code navigation than some other solutions.

@YuhengZhi
I don't have quantitative measurements, but some reports suggest that Boost.Python (which is used in OMPL) is faster than pybind11 (https://github.com/pybind/pybind11/issues/1825). In my application, where is_valid performs full DoF humanoid collision checking, this difference is not a significant problem. However, in cases such as mobile robot navigation, this performance difference could be quite large (if I were to write everything in C++ for the application).


Wrapping & indent broken when used together for non-monospace glyphs (proportional fonts or non-latin chars)

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.59.0
OS Version: Debian 10
Monaco Version: 0.27.0

Steps to Reproduce VS Code:

Set Wrapping Indent to Indent and Wrapping Strategy to Simple (default).
Make a line with wider/narrower characters, note it doesn't wrap at the right-border (after/before, respectively) but does indent.
Change Wrapping Strategy to Advanced.
The line now wraps at the right-border, but no longer indents.
 Together, they fail.
Given that both halves of this (indent, wrap-breakpoint) work when the other is disabled, it looks like a bug to me.

Does "editor.wrappingStrategy": "advanced" help you?

/assign @alexdima

wrappingIndent: "indent" is currently not compatible with wrappingStrategy: 'advanced'.
The reason is the following:
wrappingStrategy: 'advanced' means that we delegate the wrap points computations to the browser. This works by us creating a dom node for each line of the editor, setting the contents of each dom node to the text on each line, and then setting a specific width. We then proceed to use browser APIs to detect the wrapping points. This is super slow (causes a forced browser layout).
To add support for wrappingIndent: "indent", we would need to do the above twice: the first time with the dom nodes set to the width of the editor, then detect the wrapping points of each first line, and then repeat this process again with all the dangling lines, but this time with a dom node width smaller than the editor width (i.e. editor width - indent width). This would be double super slow (it would cause a forced browser layout again).
We have therefore opted to not support wrappingIndent: "indent" with wrappingStrategy: 'advanced'.

@alexdima Wouldn't doing something like <div style="text-indent: -4ch; padding-left: 4ch;"> on the DOM node allow it to be done in one pass?

@byteit101 Yes, indeed, that seems to do the trick! (I tried at https://jsfiddle.net/58ys1mjf/ ). Would you be interested in contributing this as a PR. The relevant <div> building is here and that method could get passed in the wrappingIndent, and depending on that use your technique.

Well, that was a trivial fix. Only change from my suggestion is to use the size of spaces instead of ch. #134171


Tool for streamlined token onboarding

Closes https://github.com/AlphaWallet/TokenScript/issues/226

 As a token issuer, I want my token readily accessible from alphawallet, so that I can give a better mobile experience to potential token buyers


Bump deps and add Puppeteer (#367)

Bump deps and add Puppeteer

fix type errors

Reverses part of the reversion in
cb79431a89748a24ce4df255864a3d2f14e013fe

I still need to fix the type errors from the original PR—this draft PR is so I don't forget to unrevert the commits from earlier this week.


Add support for property absence directives in profile activation

Addresses the lack of support described by @alexarchambault in #325 for profiles activations like:
<activation>
  <property>
    <name>!hadoop.profile</name>
  </property>
</activation>

Looks great, thanks!
FYI, I think I'll make a release in the coming days.

@eboto 1.0.0-M14-4 with that just published. I'll tell the world more loudly about those changes, and the other since 1.0.0-M14, for 1.0.0-M15. (1.0.0-M??-? releases are just for convenience).


Add methods to get workers' connections stats and add them to the UI

I have added two more methods in the connections.rb file. Both methods take citus_nodesno as an argument and they return the total number of connections and connection sources of each worker. I have added worker connection stats to the UI.

@byucesoy I have implemented the changes.


update to velocity 3.3.0-SNAPSHOT

Updates Location to the latest version of Velocity
Velocity 3.3.0-SNAPSHOT modified the packet class names which result in a ClassNotFoundException at runtime.
Changes:

bump java version in ci workflow to 17
bump velocity minimum jvm version to 17
bump velocity api to 3.3.0-SNAPSHOT (pinned to 3.3.0-20240907.171610-130, the API should be stable enough)
replace velocity jar with current 3.3.0-SNAPSHOT build (Build no. 430)
update packet class names

Awesome, Thank you.

When will you release this update, if you don't mind me asking?

Hopefully in the next couple of hours, I want to update the PacketRegistry to support 1.21

Location v1.4.3 is available. Maven Central should be available soon.
Note: v1.4.3 fixes a publishing issue which is why v1.4.2 was skipped on Maven Central.

Great, thank you for maintaining this plugin


[AutoPR] resources/resource-manager

Created to accumulate context: resources/resource-manager

(message created by the CI based on PR content)

Hi @yungezz @zikalino , can you take a look at this PR and approve it? We need this to be merged to unblock some CLI work. Thanks!


Make /var/empty immutable (with chattr +i)

See #18358 and #14910 what bugs these caused.
cc @edolstra

No, don't make it a link to the Nix store! Paths in the Nix store can have group = nixbld, which will probably cause sshd to fail. Just do chattr +i /var/empty.
Also, /var/empty is not a GC root, which might cause problems.

@edolstra I fear that won't help much as createHome happens under root.
$ sudo su

$ mkdir test123

$ chattr -i test123

$ touch test123/a

$ ls test123
a

@edolstra updated

Just a side note: lots of these mkdir -m commands claim to be idempotent, but they're really not since permissions are not reset if directory exists.

Could we use a tmpfs with size=0,mode=000?

@groxxda what advantage would that have over chattr +i?

@domenkozar it's probably just me not being a fan of chattr :wink:
only advantage I can think of is file-system support. But it's probably not relevant because nobody has /var on a tmpfs
btw: Does your patch work when run twice?

@groxxda it did, but I pushed a fix for rm: cannot remove '/var/empty': Operation not permitted

(Updated the title to reflect the solution)

@edolstra any objections?

@edolstra fixed

@fpletz I've linked two issues in description of the PR for motivation what issues we fix.
I think it's safe to disable this for containers.

@fpletz here needs to be added chattr -R -f -i: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/virtualization/nixos-container/nixos-container.pl#L248
Any we probably should test if container deletion works in the tests.

Ah it already is, but doesn't fail: http://hydra.nixos.org/build/40856595/log/raw

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/return-container-to-its-original-declared-state/14793/4


Update gromacs-usage.yml

I just want to see what the CVMFS configuration looks like inside an Action!


uninstall corrupted

suncoma@zxs ~$ brew cask install eclipse-jee
Warning: A Cask for eclipse-jee is already installed.
To re-install eclipse-jee, run:
brew cask uninstall --force eclipse-jee && brew cask install eclipse-jee
suncoma@zxs ~$
suncoma@zxs ~$
suncoma@zxs ~$
suncoma@zxs ~$
suncoma@zxs ~$ brew cask uninstall --force eclipse-jee
==> Downloading /usr/local/Caskroom/eclipse-jee/.metadata/4.6.1,neon:1a/20161102083946.059/Casks/eclipse-jee.rb
curl: (3)  malformed
Error: No available Cask for /usr/local/Caskroom/eclipse-jee/.metadata/4.6.1,neon:1a/20161102083946.059/Casks/eclipse-jee.rb

You must always follow the reporting bugs guide. When you opened this issue, the template in place urged you to do so and gave you the relevant links.
The template also stated clearly that

if it is apparent you ignored the instructions for reporting issues, your issue may be closed without review.

That seems very much to be the case, here, which is why this was closed.
Again, as the template states (emphasis added)

When the guide isn‘t followed we get the same issues over and over. Having to repeatedly deal with the same solved and documented problems leads to maintainer burnout and a lot of wasted hours that could instead have been spent improving Homebrew-Cask itself and fixing real bugs.

I’ll add it is exhausting, and when maintainers are exhausted, everyone loses.
A lot of work was put into those guides precisely so we can keep things running smoothly.
I ask that you respect our time and efforts and follow the guides.

if your soft is not usable I will wipe it out without reporting guides - and will suggest others to do the same - you mess up my operating system.

if your soft is not usable I will wipe it out without reporting guides

As you wish. If you cannot take the time to correctly make a bug report, we cannot take the time to help you properly.

and will suggest others to do the same

Threats do not help your case. We’re not here to serve you personally.

you mess up my operating system

No, we did not, you’re being extremely exaggerated and don’t even understand the error message. The only thing the cask did was download a dmg and move an app bundle. That does not mess up operating systems.

thank you for support !!! no help needed - I am wondering how you design it. cheers.


Missing gulpfile

Sometime in the past around Feb 25, 2018 Commit ID: 7d461833ecae91b7a86a54b82c81092739c4f0f the build sub directory and the related gulpfile.js were removed from the project.  This causes the gulp commands in the documentation to fail because there is no existing gulp configuration.
Does the documentation need to be updated to include new build instructions? Apologies if I'm missing a step here.

Any gulp stuff is a leftover. Npm run build should build the project
On Tue, Aug 20, 2019, 12:02 AM OtherLeadingBrand<EMAIL_ADDRESS>wrote:

I apologize if this is a rudimentary issue. After cloning the repo,
running both npm/jspm install there is no gulpfile.js in the root of the
project. This of course prevents gulp build or test from running as a task.
Should this file have been generated automatically as an artifact of a
previous step or am I missing a fundamental step in the clone/build process?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/551?email_source=notifications&email_token=AA4KNPH6T4POEDFCY42FSWTQFKRWBA5CNFSM4INCASLKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HF7Y7MA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4KNPBVZTST2GQHDOJYPUDQFKRWBANCNFSM4INCASLA
.

Thanks for the quick feedback. I was able to build using npm run build yesterday.
I see that both the "test" and "ci" scripts in package.json use "gulp test" and "gulp ci". Are the unit tests now ran via a different method than documentation?

Unfortunately, docs are out of date. There are no tests at the moment. It's
always been monkey tested :)
On Tue, Aug 20, 2019, 9:59 PM OtherLeadingBrand<EMAIL_ADDRESS>wrote:

Thanks for the quick feedback. I was able to build using npm run build
yesterday.
I see that both the "test" and "ci" scripts in package.json use "gulp
test" and "gulp ci". Are the unit tests now ran via a different method than
documentation?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/551?email_source=notifications&email_token=AA4KNPAGZLV5M57ZV4CF45DQFPMDTA5CNFSM4INCASLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4WBBFY#issuecomment-522981527,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4KNPHX5NIBJLS6MWJT3TDQFPMDTANCNFSM4INCASLA
.

No problem Maxim. The monkeys are doing a great job thus far. Appreciate the feedback.


fix: table column sizing

#389

Fixes the table column sizing for min and max widths
This updates it so that the table header also gets the same min and max widths as the column
There was an issue where the tables were not filling the remaining space

This is because the min and max widths need to be defined for the header as well

There was an issue where the tables were not filling the remaining space
This is because the min and max widths need to be defined for the header as well
oh, very interesting

could you spin up a dev server for the design folks to check out?

@codemonkey800 Here's my comments -- looks good and none of these are blockers, thank you!
All datasets table:
looks good, behaves as expected
Runs table (single dataset page):
This looks way better & achieves the goal.
I'm wondering if we can make it so that the "tilt series quality score" header & tags display a little more nicely:

Would be nice if "tilt series quality score" header didn't need to wrap at larger screen widths (looks silly when theres so much space)
would be nice if min-width on ts quality column prevented text in the text in the tags from wrapping.
would prefer column overflow to be hidden behind ellipses instead of wrapping (tooltip gives user the full name on hover)

I'm open to any suggestions on how to achieve those refinements. I'm thinking we could tweak some of the widths a little:

reduce the Annotated Object column max-width from 500px to 400px
reduce "view tomogram" button column max-width from 300px to 200px
increase "tilt series quality score" min-with so that the excellent tag doesnt wrap (about 110px?)

Annotations table (single runs page):

overall looks as expected
The columns don't seem to have the max-widths as defined in most recent spec - we will want these to have more space for authors in the future.
table width behaves differently than the others (no max width for content) - I'm not too worried about this now, but eventually we'll want to consider how to treat max-table widths consistently (after the info in the table becomes a bit more stable).

@codemonkey800 LGTM! Seems to fix the core issue and overall is much improved! no worries about the ongoing investigation in to the table max, not a blocker for me. Thanks for checking back in.


MVP High Level Entity Design and Requirements

The goal of this issue is to define the scope of the initial MVP and get the APIs out so that we can start performing integration and load tests.
Functional Requirements:

Provide a list of available locations
Allow ride requests between two locations
Assign nearest available driver to a ride
Retrieve ride status
Mark rides as complete

APIs:

GET /locations | 200 | List[Location]
POST /createTrip | 201 | Trip
GET /rideStatus | 200 | TripStatus

Non-Functional Requirements:

Response time < 500ms for all APIs
Support up to 100 concurrent users

Constraints:

Use predefined set of 20 locations
All drivers start as available
No real-time driver movement

System Requirements:

RESTful API server
In-memory data storage (no database yet)

Will follow up with updates as I build the API in this thread.


Write demo notebook for workflow parameterization

Describe your changes and why you are making these changes
This and the gitbook documentation change caps off the parameterization project.
Related issue number (if any)
ENG-1302
Checklist before requesting a review

[x ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[x ] I have performed a self-review of my code.
[x ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[N/A ] If this is a new feature, I have added unit tests and integration tests.
[ N/A] I have manually run the integration tests and they are passing.
[ x] All features on the UI continue to work correctly.

Before I merge, I'll:

add this to the CI pipeline.
add the appropriate link to the builtin functions documentation in the "Builtin SQL Parameters" section.

I left some comments in line -- mostly looks good, but a few nits/clarifications here and there.
Is there a way we can work parametrization into one of the existing workflows as well?


Raytrace misses positions after entering fullscreen mode (not vr-mode)

Describe the bug
After aframe has started with ar.js, if you enter in fullscreen, click events loose the coordinates!
To Reproduce
Steps to reproduce the behavior:
1 - This is the basics of the code
<button onclick="requestFullScreen()">FULLSCREEN</button>
<a-scene
        arjs="debugUIEnabled: false; detectionMode: mono_and_matrix; matrixCodeType: 3x3;"
        vr-mode-ui="enabled: false"
        cursor="fuse: false; rayOrigin: mouse"
        raycaster="objects: [data-clickable]"
>
    <a-marker preset="kanji">
        <a-box ... data-clickable></a-box>
    </a-marker>
</a-scene>

2 - Set the event listeners for the data-clickable element
3 - Set the requestFullScreen function
4 - Open the page and see it working normally with markers and all
5 - Click the box and see its listener working normally
5 - Click in a button that requests fullscreen (to eliminate the browser address bar and tools)
6 - Now click in the box, and the "click position" has changed...the coordinates for the click are not precise with the box
Expected behavior
Weirdly enough, it works on my computer using its webcam, but does not work on my cellphones.
Desktop (please complete the following information):

OS: MacOS Catalina
Browser: Chrome, Brave, Safari, Firefox
Version: Catalina

Smartphone (please complete the following information):

Device: Xiaomi Note 7
OS: Android 9
Browser Chrome, Brave, Firefox
Version: 9

Additional context
I'm currently using AR.js version 2.0.6
In this situation, also...if I enable the vr-mode, when clicking it, I only see a black screen. Not sure why (not my intention either, though).
Additional ideas

You could add a version to it. So we could use ARjs.version in the browser console and see which version is currently running.
We could be able to hold the startup of ARjs (and its request for the camera). I want a few buttons with options before the user starts the navigation.

Thanks, keep the great work :)

I actually believe this is caused whenever the screen size changes (either by entering/exiting fullscreen, or by changing orientation after arjs has started).
I have a few clickable elements and I noticed the click/touch in them is out of sync with the coordinates.
I touch the last item, for example, and it triggers the click in the third item.

This fall back on a bigger discussion about non-reliability of clicks on AFRAME w/AR.js.
You can look in that issue: https://github.com/jeromeetienne/AR.js/issues/249
If still relevant, feel free to re-open on new repository => https://github.com/AR-js-org/AR.js/issues?q=is%3Aissue+is%3Aopen+


add core address and background color

add a background color to the farm space and another core wallet.

thank you for quick merge, look like the bg-color didn't work, it still white right now. Any idea why?

thank you for quick merge, look like the bg-color didn't work, it still white right now. Any idea why?

oups, it was only approved not merge yet my bad

How long does it usually take to merge the approved change?

@chrouzz This will be done in the next few hours

@chrouzz This will be done in the next few hours

great, thanks


Upgrading to Jest 24 adds 57k new packages to dependencies

💥 Regression Report
Upgrading to Jest 24 adds more than 57,000 new packages to dependencies.
Last working version
Worked up to version: 23.6.0
Stopped working in version: 24.1.0
To Reproduce
Steps to reproduce the behavior:

Create new dummy npm project with package.json (jest 23):

{
  "name": "jest23",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "jest": "23.6.0"
  }
}

Running npm i outputs:

...
added 618 packages from 362 contributors and audited 17625 packages in 14.894s
...

Create another dummy npm project with package.json (jest 24):

{
  "name": "jest24",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "jest": "24.1.0"
  }
}

Running npm i outputs:

...
added 540 packages from 358 contributors and audited 74642 packages in 12.634s
...

Upgrading to Jest 24 costs more than 57k new packages, IDEs get much slower because of the indexing overhead.

Expected behavior
The expectation is to have much slighter increase in the number of packages in dependencies. (I would expect only a few thousands maybe)
Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: macOS 10.14.3
    CPU: (4) x64 Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz
  Binaries:
    Node: 8.12.0 - /usr/local/opt/node@8/bin/node
    npm: 6.4.1 - /usr/local/opt/node@8/bin/npm
  npmPackages:
    jest: 24.1.0 => 24.1.0

Is the npm audit a reliable way to tell how many packages was added? Saying "added 540 packages" and then "audited 74642 packages" seems weird, right?

I don't know. I tried to isolate the problem, but I wasn't able to figure out what is exactly happening. Maybe the numbers aren't right, but the indexing time has noticeably changed.

IDK what audit counts, but it's wrong. As you can see by added 540 packages vs added 618 packages, the number of packages has gone down. Running du on node-modules also shows that the overall size of the install has gone down with 10%:
$ npm i jest@^23
$ du -sh node_modules
 60M    node_modules
$ rm -rf node_modules
$ npm i jest@%24
$ du -sh node_modules
 54M    node_modules

Another one
# Jest 23
$ npm ls --json | wc -l
    989
$ Jest 24
$ npm ls | wc -l
    871

If indexing time for your project has gone up, that's not Jest's fault. Where audit gets its numbers from, I have no idea

Anyway, indexing time is actually expected to increase after first install, but then IDEs should cache the results and work at the same pace. I don't think there's more from our side we can do, when we actually made the library smaller (54M is still big, but there are reasons for that)

Yeah, sorry about this. False alarm.


Request for any Project!

Hii, There!
This Open-Source project is growing day by day, so I request all collaborators if they have already any project related to Machine Learning. If yes so, please create a Pull Request with a complete explanation of your project.
Rules & Regulations

Make sure that It is coded by you. (Not by following any Tutorial but you can take Ideas from their)
Clean Code with Comments. (Compulsory)
It is preferred to be in Jupyter Notebook (Not Compulsory)
It is live on the web. (Not Compulsory)
Please mention its difficulty level (Beginner, Advanced or Intermediate)

Thanks!

If you have any projects feel free to create a pull request.


add missing map option to query indexing

It can be helpful when creating a query to be able to map additional calculated keys to be queried against. For example in ssb-query, I want to add the ability to query against Math.min(msg.timestamp, msg.value.timestamp).
This PR adds a map option that when specified allows the object that gets indexed to be modified before the index extracts the values (for example to add an additional calculated key or to perform a custom unbox).

Ah so the map option was there but not actually used?! Thanks!

cool merging, @mmckegg can you give me an example of what you are using this for?


Include FFI extension in binary build

Describe you feature request
Hi guys,
I'm unable to use packages that use FFI (eg. jcupitt/vips) because the FFI extension isn't included in the binary build.
FFI extension not loaded
{
 "userId": 1,
 "exception": {
  "class": "Jcupitt\\Vips\\Exception",
  "message": "FFI extension not loaded",
  "code": 0,
  "file": "/workdir/vendor/jcupitt/vips/src/FFI.php:241"
 }
}

Would it be possible to add this please?
Thanks!

Unfortunately, FFI is currently not supported by static-php-cli: https://static-php.dev/en/guide/extension-notes.html#ffi
You'll have to use the Docker image or compile FrankenPHP manually to use it.


merge to powerplatform

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

Hello Partner,
All the connectors have already been transitioned from Preview to Production and are now in the GA (Generally Available) stage. Additionally, please consult the provided links to their respective documentation, where you will notice that there is no longer a "Preview" tag. This indicates that the required changes have been successfully implemented in the code.  Please discard this PR or let me know if you have any questions.

but the actions still have Preview tag in them

Hello @varunynoox
Thank you very much for notifying this, could you please modify only actions and re-submit it.  We will process your request. Apologize for the inconvenience caused.


Show Post header on desktop web

This thing:
https://github.com/user-attachments/assets/00879c47-7596-4936-927f-3bbda515d882
Previously we only showed it on mobile and tablet layouts, but not on desktop web. This wasn't intentional but was related to difficulties of scroll positioning. We've now resolved the underlying difficulties and can do this without much problem.
Arguably it feels a little large but we can fix that separately if we want — that's the same size as on other pages for desktop.
In addition to visual/behavior consistency, this also fixes a jump that appears when posting into a thread while desktop, which was caused by conditionally showing the view header based on isFetching when it should've been isLoading. If we revert this PR in the future, we need to apply the other fix then.
Test Plan
https://github.com/user-attachments/assets/9e41c6d7-b3e1-4a47-bfbc-b92b3105cfc5
https://github.com/user-attachments/assets/81464ce9-af25-41dd-9401-9c78f028cdca
https://github.com/user-attachments/assets/06899518-6554-4fc8-8911-a789ac8c2787
No behavior difference on native (checked iOS and Android).

i'd 100% say that as is this makes the ui worse, if it had some info like who posted the original post or how long ago the post was i think it'd be great, but at the moment it just reminds you that yes, you are indeed looking at a post, on a social media site with posts

yea we decided not to do this


axis.text.x and axis.text.y

axis.text.x and axis.text.y should be added, but all values must be NULL until changed by the user.

Well, I'm not sure if all axis themes should be added for x & y separately. The UI would suffer and become less intuitive. Also I think not many people use these...

I just realise that it is quite often the case that you change the angle of the labels independently. I pushed a first implementation to dev, maybe we have to alter the ui, but I think it's a useful feature.

You might be right. I'll check out dev tomorrow and maybe rework the UI.

Maybe we should organize the UI following a more or less general workflow approach. I will have to work through the weekend, but may find some time to think about it.

That's a good idea.
The question should be: What do I change first? A useful order could be:

Titles (plot, axis, legend)
Fonts (size, style & angle)
Legend position
Panel (background, lines, grid)
...

Well it's a bit confusing to have empty inputs. In my opinion it's not clear that axis.text changes both axis.text.x and axis.text.y as long as the inputs for x and y are empty. A conditional panel maybe?

Axis,text.x and .y overwrite axis.text so from my point of view, a conditional panel is not a solution. e.g. you change the text size for both (axis.text) but need to adjust the angle for the x-axis, you need both.
The values have to be NULL unless there is a change.

Closed by ba9b48b


Add API endpoint for returning the user's settings.

Though the user's settings could be accessed in EJS files normally, making data available in the main.js files requires explicit API endpoints to be set up.
In order to implement settings changes as referenced in issues #7, #8, and #62, an endpoint must be set up to return the currently logged-in user's settings object. This should probably be done in the profile.js file. Below is some information on the endpoint itself:

The endpoint should be done through the GET method, since the request coming from main.js requires information.
The endpoint should be called /account/profile/getsettings, in a similar naming convention to the other endpoints on this page.
The endpoint should use the isLoggedIn middleware that makes sure that a user is logged in before continuing.
No body is needed for this endpoint; the user is already known server-side, so we can get the email automatically. This is why we need to use the middleware above, otherwise, the user will not be known.
The endpoint should get the user from the database using the getUser() function, passing it a parameter of req.session.user.email.
The endpoint should return just the parsed version of the settings field from the function above, that way the caller can just access the setting properties outright. Normally, this object is stored in the database as a string, so the JSON.parse() function will be needed to do this.

@paytonshaltis  I had a question and I wanna preface it by saying I totally get it if you want to keep things the way they are, but if we're adding an API call to return the settings, would it be better to keep the logic for displaying the saved settings on the .ejs file or move the logic to the .js file?
I meant it when I said that I was fine with what we have now, but since we're allowing the .js files to use the user's settings, it makes sense to revisit that conversation.
I am keeping in mind that we have a relatively short deadline to implement everything so I understand delaying or not wanting to change what we currently have

@paytonshaltis I had a question and I wanna preface it by saying I totally get it if you want to keep things the way they are, but if we're adding an API call to return the settings, would it be better to keep the logic for displaying the saved settings on the .ejs file or move the logic to the .js file?

This is actually a really good point; it may make sense to move to the main.js file. I'll create an issue and assign it to Milestone 3, and if we really do end up running low on time we can leave it as is, but I think this is a good thing to refactor.
Good call Sterly!

i made a pull request for this issue


input[type=number] doesn't respect the scientific notation

Hi.
just today, I came across a weird behavior - angular's input[type="number"] directive doesn't see scientific number notation (like 1e2) as a valid one, despite the fact, that browsers do.
is that on purpose?

Do you mean when setting on the model or in the input?

input

screenshots of failed validation - just to confirm that it works:

Simply change angular.js as a workaround, until it is fixed. It works for me. By the way this might already be some kind of fix. Maybe a '+' is missing, if someone wants to write e.g. 1E+12
var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE]+[-]?\d+)?\s*$/;

@RogerJFX would you mind sending a PR with this change and a test for it?

Ok, I can do this. Anyways one issue will remain. Current browsers can not interpret the step attribute of input[type="number"], if value is in scientific notation, but not step and vice versa.
So anything like this
<input type="number" step="1" value="1e2" />
will not work as expected.
As far as I remember, all browser fail here.

works in chrome - converts to "normal" notation tho

fixed in https://github.com/angular/angular.js/commit/ebd0fbba8ff90bee0cd016d574643d56a7f81ed0

the trick seems to be to add the decimal point.     1.0e-7   seems to work on most browsers


Pdf refactoring

Package [native_pdf_renderer] v5.0.0

[x] Rename and publish as [pdf_renderer]
[x] iOS and macOS use a single codebase
[x] Provide docs for network pdf usage
[x] Usage [plugin_platform_interface] for better work web

Usage [pigeon] on

[x] iOS & macOS
[x] Android

Texture rendering (#6) on

[x] iOS & macOS
[x] Android
[x] Web

Package [native_pdf_view] v6.0.0

[x] Usage texture rendering (#6)
[x] Added vertical view
[ ] Provide page counter builder
[ ] Provide docs for #84
[x] Provide docs for network pdf usage

Any inputs on when this PR will be merged and a new version will be released?


Update storage-custom-domain-name.md

CNAME record creation steps in this article are a bit confusing. The fields need to be specified explicitly.
It was documented more clearly in this article :
https://docs.microsoft.com/en-us/azure/dns/dns-custom-domain#blob-storage

@nayakshweta : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks for your contribution @nayakshweta. However, the bullets are generic intentionally because we don't know what the exact names of fields will be with any given domain provider. The other article that you refer to (https://docs.microsoft.com/en-us/azure/dns/dns-custom-domain#blob-storage) is specific to Azure DNS. If you believe that there is a clearer way to phrase these bullets while keeping the exact field names out of it, please do suggest. Thank you.

#please-close


Invalid content readed

I just try to generate a QRCode with the following test code :
<?php
require_once ("vendor/autoload.php");

use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Label\Label;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;

$writer = new PngWriter();

// Create QR code
$qrCode = QrCode::create('708172c8-4627-4dc1-8b65-7bf33df8b440')
    ->setEncoding(new Encoding('UTF-8'))
    ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
    ->setSize(300)
    ->setMargin(10)
;

$result = $writer->write($qrCode);
$result->saveToFile("/tmp/result.png");

But two material scanners are reading : "\000026708172c8-4627-4dc1-8b65-7bf33df8b440"
If I use my smartphone the result is valid.
Here is the generated QRCode

This looks like an automatically added prefix of your material scanners/software. You should check their configuration.

It is not the case because I just scan an other QRCode and there  is no added chars. It was my first reaction too.

Found !
If I use  Encoding('ISO-8859-1'), the problem is solved.
It was the UTF-8 definition which is 000026.

https://stackoverflow.com/questions/31115932/encoding-utf-8-characters-in-qr-code-symbols

Hi @weiting-sflx this is called an ECI block and it is necessary to correctly inform the reader that the text is in UTF-8. In other words it is not something that should be removed. If you rely heavily on a reader which is incapable of handling this information you can try changing the encoding to ISO-8859-1.

Hi @endroid Thanks for the response. We are an international company and encoding ISO-8859-1 is not supported in some languages such as Polish. We tried to use Google API for generating the QR code with the UTF-8 encoding and there is no ECI prefix.

I understand. As far as I can see the underlying library https://github.com/Bacon/BaconQrCode does not provide a toggle for adding this block. Maybe you can look and ask there to see if anything in this direction is possible (maybe using another encoding) or if the author can think of a solution. My library only passes the text and encoding to that library so this is not something I have control over from here.

We forked from the bacon library and your libraries. Will create PRs later.


Search command for packages

What problem are you facing?
While install or upgrade packages not so useful go to marketplace or registry storage to check available packages and their version.

How could KNDP help solve your problem?
Would be helpful if KNDP CLI will have a search command which return list of found packages from registries configured in environment, like:

kndp search <string to search> - display table of last version of matched packages url and version
kndp search <string to search> --versions - display all versions as table of url and version

@evghen1, this future currently implemented just for docker registry, for xpkg.upbound.io registry didn't find an API which serves packages

@ca7alindev Looks like OCI specification has not search or list of images to be possible to use it, but we still need it.
That possible to make it bit different, by direct access of popular repositories API.
Let's make it firstly for GitHub, using GitHub Packages REST API


Avoid 'no payments available' screen being shown to user

This is not a nice screen to see after you've gone through the whole process to set up a contribution and you are on the last step:

This shows up when someone is trying to do a recurring contribution but the Collective's Host only has bank transfer available, which is one-time only. And also if the Host has no payment methods available.
We should stop this earlier in the process, so the user does not reach this screen. If there's only bank transfer, then all the recurring options should automatically be disabled and not shown to users. If there are no payment methods, contributions should be disabled.

I've worked on this topic a few times and, unfortunately, it's impossible to prevent completely with the current design of the contribution flow. Which payment methods are available depends on two things:

The contribution details (recurring or not)
The contributing profile (eg. if you're contributing from another collective under the same host, you'll be able to use its balance)

So in this flow, if you pick an interval, you would be able to create a recurring contribution from another collective under the same host. That's why we cannot prevent this issue 100% of the time, except by hiding/disabling options in the step profile.
That's actually something we can do: :arrow_right: if a recurring contribution is set and only cross-collective contributions can be used, disable all the other profiles and show a tooltip like This collective only supports cross-collective contributions when contributing recurrently. Please pick another collective under the same host.
If I go to https://opencollective.com/test-abcd/donate with my account, I can only do one-time contributions.  There's a bug though: this collective is the only one under this host, so you shouldn't be presented with this option, I'll push a fix for that now.
TLDR;

I'm going to fix the bug reported here, you won't be able to pick an interval in the first step.
This issue might still occur in the future if you're an admin of another collective under the same host, as you can still pick this profile to create a recurring contribution. It's pretty edge case, but if you feel like we should better handle this case we can implement the solution proposed with :arrow_right:.

I just hit this again with Ersilia.
I chose a custom contribution from their main page while being logged into my main account.
I don't see any options for frequency. I am trying to give $100 one-time so I put the amount in.

I select Open Collective as the contributor profile.
Then I see this:

I've asked the admin to check their receiving money settings but really this situation shouldn't be allowed to happen ever.

@Betree this is an Independent Collective and I'm trying to pay by credit card but could do bank transfer if needed. I don't understand why this is happening based on what you said above.

I've asked the admin to check their receiving money settings but really this situation shouldn't be allowed to happen ever.

@alanna : Now it seems to be working as they seem to have configured the bank account under the receiving money section. If they haven't configured both stripe or bank transfers this shows up and ideally I think we should stop the flow in the beginning for custom contributions (for other tiers we already do this) when there's no payment methods configured.
@Betree : Let me know if you agree with this and I can look into adding a condition to stop the flow in the beginning so that we show the There is no payment provider available warning at the beginning of the flow for custom contributions when there's no payment methods configured. 🤔

I don't see any options for frequency. I am trying to give $100 one-time so I put the amount in.

This is because only the bank transfer method is configured as the payment method and thus recurring payments are not supported.

Yes that makes sense. If a host has no payment methods configured, we should disable contributions so this does not happen.
This case was related to #4772

@Betree : I have make a PR above which basically shows the same contribution blocker warning if there's no payment method configured on the host regardless of whether it's a custom contribution or a tier contribution.

@alanna I think this is part of what was described there:

That's why we cannot prevent this issue 100% of the time, except by hiding/disabling options in the step profile.
That's actually something we can do: arrow_right if a recurring contribution is set and only cross-collective contributions can be used, disable all the other profiles and show a tooltip like This collective only supports cross-collective contributions when contributing recurrently. Please pick another collective under the same host.

We should have disabled Open Collective as a contributing profile, because there were no payment providers available for this profile. A possible explanation would be that the system thought that you could contribute from another account's balance, which seems impossible since this collective is self-hosted. We need more digging to understand what happens.
@SudharakaP That won't work, because which payment methods are available depends on the contributing profile, which cannot be guessed from the first step. See https://github.com/opencollective/opencollective/issues/4669#issuecomment-920799739.
Your PR would prevent contributing to a collective from another collective's balance hosted under the same host if it doesn't have any payment providers set up.

I am having the same trouble with "there is no payment provider available" when there clearly is - I have tried recurring & non-recurring, donation & subscription - in fact, every possible formulation.  There is a bank account associated with our own Fiscal Host, so I cannot understand why this is.  If one waits long enough, it eventually opens the Checkout page, but it seems there is a bug in the system, & this will confuse people attempting to pay their Membership Fee.  Please investigate & resolve.  Thank you.
Another issue I have is that the page does not open in a separate page to the referring page, which is it set to do with target=blank.  All other referred pages work as they should, so this is a minor, but irritating issue.  Thanks for your assistance.

@Tizwoz could you share your collective URL with<EMAIL_ADDRESS>This issue is not fully resolved, but it's overall well understood, and though the UX is not clear there's a good chance that something is not set up properly.
One of the reasons could be, for example, that bank accounts don't work with recurring payments (#2734) so you'd see this error message if you try to contribute to a tier that enforces a recurring contribution.


Update lock file

Codecov Report

Merging #107 (267fbec) into main (6fcf2b7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #107   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           22        22
=========================================
  Hits            22        22

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 6fcf2b7...267fbec. Read the comment docs.


Group::save then load round trip should give equivalent result

We currently guarantee equivalency when using the sidre_hdf5 protocol to save a Group then load it into another group.

Currently the tests for equivalency after load() all have if (protocol != "sidre_hdf5") {continue;}
Should other sidre_ protocols support equivalent save/load round trips?
What about other protocols that (for example) might not store enough information to distinguish int bit-width?  Do we need a predicate in addition to Group::isEquivalent to test if groups are "pretty close"?

I tagged this as a bug because it's not a feature, but it is something we need to add tests for and more clearly document.

The test "save_load_all_protocols" does do a save/load equivalence test over all of the procotols.  It does rig things a bit for the json protocols by being coded with pre-knowledge that they going to save plain-text int and float values into 64-bit types.
The other tests do skip protocols that aren't sidre_hdf5, so this issue is still worthwhile to take a look at those to decide where and how we should be testing the other protocols.

Another case where save/load round trips do not produce equivalence is that some protocols (non sidre_*) do not preserve an empty sub-Group through a save/load operation.

I can't find anything in the docs that describes the meaning of the various protocols, so that is something that ought to be added.  I don't think we can make it so that save/load round trips preserve identical data for every protocol in every situation, but we should document that, and round trips do work more broadly than just sidre_hdf5 which is the only one extensively tested.

@nselliott make new issue to address documentation only.

Closing with new issue #1019 covering these topics more directly.


New version 1.9.1

Codecov Report

Merging #213 (21c4c9b) into master (54071b0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #213   +/-   ##
=======================================
  Coverage   92.89%   92.89%
=======================================
  Files           6        6
  Lines        2802     2802
=======================================
  Hits         2603     2603
  Misses        199      199

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 54071b0...21c4c9b. Read the comment docs.


Add two state-effective wrong functionality of TelosEVM contract to revm

Describe the feature
There are two state-effective bugs that we have found until now on the Telos EVM contract:

get_account bug (Fixed here: #95)
wrong DELEGATECALL value (Fixed here: #101)

To support historical calls, we should modify the revm to behave exactly like the problematic version of the Telos EVM contract when calling against historical blocks. The revm functionality will be normal for post-upgrade blocks and this will be determined by checking the revision number changes passed to the reth through Engine API functions.
Additional context
No response

We are facing some differences in the account table (which holds the addresses, their nonces and balances, and codes) between the reth and Telos EVM contracts. Some of the differences are expected, like address creation using openwallet and create action in the EVM contract which inserts a new row inside the account table, but they are not added to reth until they are involved in a transaction. but we don't expect a difference for addresses that have non-zero balances:

And it can have 2 reasons:

We haven't correctly implemented our 2 state-effective bugs inside revm
There are other bugs that we are not aware of

And I'm investigating the reason now


airswap account:import   Met error

system:	Ubuntu 22.04.2 LTS
node: 16.20
yarn: 1.22.19
airswap: 4.1.0

when call airswap account:import
met error
Error Cannot import account because dependencies are missing.
If you are on Linux, try installing libsecret-1-dev (Debian, Ubuntu etc.) or libsecret-devel (RedHat, Fedora etc.) and then reinstalling AirSwap CLI.

and after install libsecret-1-dev
sudo apt install   libsecret-1-dev

still the same error

Also having the same issue.
On my Ubuntu 23 Desktop it works fine.
On VMs I tried both Ubuntu 22 and Ubuntu 23 and I get this error. Tried everything and wasn't able to fix it.
So I guess theres something on Ubuntu Desktop version that allows it to work.

Thanks @clarkchen @MMrj9 we'll take a look shortly.