STM32L4 Stack and Heap overlap problem

For the new STM32L4 I found out a major problem, the first 4k of the heap overlap with the stack!
More details here: https://developer.mbed.org/questions/60933/STM32L4-Stack-and-Heap-overlap-Disco/
I believe the problem is in startup_stm32l476xx.s (Disco & Nucleo)
The following line must be inserted/changed: (TOOLCHAIN_ARM_STD + TOOLCHAIN_ARM_MIKRO) initial_sp EQU 0x20018000 ; Top of RAM1 96k
This would at least enable the 96k of RAM1, however there is another 32k SRAM2 at 0x10000000-0x10008000. My preference would be use the SRAM2 for the stack and HEAP, and add the SRAM1 for additional HEAP.
Regards Helmut

Thanks for reporting. I just referenced the issue in PR which is now for review. Please review

The change looks good. However, at present I have no local ARM compiler setup for local testing, I will test it on mbed.org when available.

I found another problem in the stm32l476xx.sct config files (Nucleo abd Disco)
TOOLCHAIN_ARM_STD and TOOLCHAIN_ARM_MICRO:
<<   RW_IRAM1 (0x20000000+0x188) (0x20000-0x188)  {  ; RW data

RW_IRAM1 (0x20000000+0x188) (0x18000-0x188)  {  ; RW data
TOOLCHAIN_GCC_ARM: STM32L476XX.ld
<<   RAM (rwx)  : ORIGIN = 0x20000188, LENGTH = 128K - 0x188
RAM (rwx)  : ORIGIN = 0x20000188, LENGTH = 96K - 0x188

@helmut64 Can you send a pull request?
cc @bcostm

The stack problem is now fixed with my previous checkins, the Nucleo L4 board works fine, the stack is correct however there are remaining problems/limitations: ( I am using the mbed.org online compiler)
a) The Disco L4 board crashes (it looks like before main)
b) The Nucleo L4 board works fine, however the main memory heap/data region be mapped to 0x2000000 and should be mapped to 0x1000000 as defined  in the .sct file.
c) Allocating memory (in 4k blocks) it crashes after 84k (via malloc). I was expecting a NULL return instead of a crash. I am also to be able to alloc about 124k before I get can malloc error.
Could it be that the mbed.org compiler has somewhere a linker file which needs to be updated?

@helmut64 Still having problems with L4 and allocations?
The linker file should use the same as in here (if using mbed-src), or at least with the fixes you sent, they are in the latest mbed library release.
You can test the your example using sources from this repo to compare results.

@Martin Kojal, the problem is not fully resolved.

The stack localtion problem is resolved.
On The L4 Nuceo it works, no stack craches, correct stack address, however there are still memory size problems.
On The L4 Disco it craches before main.
I got a new Keil uVision this week which supports the L4, my plan was to investigate further, using a the debugger, however the next 14 days my time is very limited.

The intention is that the data/heap memory gets first used from the SRAM2 at 0x10000000 (32k) and further used from the SRAM1 at 0x20000000, once the SRAM2 is used up until the stack starts. I configured this is the .sct files however data/heap starts at 0x20000000 (SRAM1). So somewhere is a different config which results into problems:

Once 96k (SRAM) are used my malloc (4K blocks), the last malloc craches, exspected are the total of 128k (32k+96+) (less stack, data, etc.)

Regards
Helmut

Is there still some problem with the STM32L4 memory configuration?
I have a NUCLEO-L476RG board and I made some tests with it.

Using the online compiler I build the blinky example, but no blinking on the board.
I cloned the mbed-src and build it for my board, then build the blinky example, but no blinking.
I modified the linker script so that the heap and stack are placed on SRAM1 and rebuild. It blinks!

The toolchain used for the offline builds was GCC ARM.
I have not tested with any other toolchain. Also I cannot say if this is a valid fix for an issue or just a workaround that happens to hide a real issue underneath.

@0xc0170  could you please have a look into this?

@melomaa Using the latest master? This issue was for uvision , which was supposed to be fixed. We shall have a look at GCC ARM linker script file. can you point out what exactly you have changed?
cc @bcostm @adustm

I have not worked on this for some time. I verifyed today via the online compiler using the STM32L3 Nucleo board which works ok, the STM32L Discovery still crashes before main. My comment above from "Oct 4, 2015" is still valid. My testing belongs to the mbed online compiler.
My plan was to debug it using the uvision IDE or gcc/gdb, which I have no done so far. For the gcc/gdb I am still looking for setup options on my Mac. I got uvision running on my Windows box, however I may need to purchase an unlimited copy because the free version has a 32k limit.

@0xc0170
I was using the release 111.
In the linker script file the memories are defined
SRAM2 (rwx)  : ORIGIN = 0x10000188, LENGTH = 32k - 0x188
SRAM1 (rwx)  : ORIGIN = 0x20000000, LENGTH = 96k
I changed for heap and stack sections:
-    } > SRAM2
+    } > SRAM1
and then the stack top definition
-    __StackTop = ORIGIN(SRAM2) + LENGTH(SRAM2);
+    __StackTop = ORIGIN(SRAM1) + LENGTH(SRAM1);

@melomaa,
Below is a little test I wrote to verify the memory locations. Please note that when I call the MaxMemoryBlockAvailable (enable it first) the system hangs at the end of the memory, however it should give a NULL return which works fine on the STM32L1. Second we should get almost 128 kb 32+96 (minus stack) which is not the case. Third starting with the 32kb SRAM 2 and keeping the stack on the top os SRAM 2 has a major advantage we can disable SRAM 1 in deep sleep mode which allows further sleep modes and energy savings. I am available to discuss this further.
Regards Helmut
#include "mbed.h"
#include
DigitalOut myled(LED1);
Serial *bs;
void SunFunc() {
uint32_t temp[16];
bs->printf("stackSunFunc=0x%x\r\n", &temp);
}
size_t
MaxMemoryBlockAvailable(bool print)
{
int i = 0;
for (i = 1; i < 1024; i++) {
    char *p = new (std::nothrow) char[i*1024];
    if (p)
         delete[] p;
    else {
        i--;
        break;
    }
}
bs->printf("MaxMemoryBlockAvailable: %d kB\r\n", i);
return i * 1024;

}
int main() {
uint32_t temp = 0;
bs = new Serial(USBTX, USBRX);
bs->baud(115200);
printf("Hello\r\n");
printf("Hello2\r\n");
// MaxMemoryBlockAvailable(true);

char *p1 = new  char[4096];

memset(p1, 0, 4096);

bs->printf(" main=0x%x\r\n", &main);
bs->printf(" data=0x%x\r\n", &bs);
bs->printf("stack=0x%x\r\n", &temp);
bs->printf("   p1=0x%x-0x%x\r\n", p1, p1+4096);
SunFunc();

for (int i = 0; i < 5; i++)
    bs->printf("Hello(%d) ", i);
bs->printf("\r\n");

for (int i = 0; i < 21; i++) {
    void *t = malloc(4096);
    memset(t, 0, 4096);

    if (t == NULL) {
        bs->printf("malloc: Out of memory\r\n");
        break;
    }
    bs->printf(" data%d=0x%x\r\n", i, t);

}
while(1) {
    myled = 1; // LED is ON
    wait(0.2); // 200 ms
    myled = 0; // LED is OFF
    wait(1.0); // 1 sec
}

}

To start with the online compiler needs adjusting, build details report 32K RAM max (unless this has been corrected since I last updated/checked), these targets have 128K, I would start there first and get this corrected. The .sct files are the same for both targets, can't see why there is a problem between them, perhaps check the backend set up on the Mbed compiler.
TBH I have been using both boards without problem's, probably lucky so far.
The other problem you will run up against is the interface MCU will not always 'connect' correctly to the main MCU for programming. Downloading user code will sometimes 'brick' the MCU and will no longer program the MCU unless you power cycle the board to get the interface MCU led back to 'RED' condition, reload user code and it will be working again.
Using an external programmer (SEGGER FLASHER) has no problems at all. So I would check the algo's for the L476 targets in the ST-Link firmware.
This did mislead me thinking I had code lock up issues in particular if interrupt and sleep code is employed, however this turned out to be caused by the interface firmware.

@star297, I have multiple STM32L4 Disco and Nucleo boards, non of them are briked, I can load the original factory sample app using the STLink-utility. The original initial version had a wrong stack location which I fixed a few month ago. We can probably go back to the origianl config an swap the SRAM1 and SRAM2 which means the 96k are first.

Yes, working Helmut. I only use Mbed online with the Nucleo board to develop my code then use the Segger Flasher to program my prototype board. I have only used 16K of RAM so far so maybe not hit the Stack/Heap issue. But I do use deepsleep extensively so will need this part retained in this mode.
I have clock set up for 80MHz, found that Erik's timer WakeUp library would not work with the 48MHz set up. But that suits me better as I need high speed for a short period of time 100mS or so every minute then deepsleep for the rest of the time.
Picture below is using quite a few resources 2 x i2c, SPI, AnalogIn, RTC and InterruptIn. Has been running for a couple of weeks, 22uA deepsleep maintaining the Sharp memory LCD and 15mA wake up.
I have been using the disco board as well but not to the same extent. I will try the same code on this board too and see what happens, perhaps there is a problem in the set up there.
I did check the .sct in TOOLCHAIN_ARM_STD on both targets and they are the same.
This is defined with the 32k as retained:
RW data 32k L4-ECC-SRAM2 retained in standby
I have not checked the manual, perhaps this is the only option with these two RAM blocks.
But that Mbed build report of 32K RAM max is worrying, maybe the online compiler only counts the first block, not including the second block. In which case perhaps there is no problem there.
Paul

@star297, thanks for your explanation, nice work your project, something similar is also my target. At present I work with the Nucleo and Disco boards, I started using the L1, now L4, next is a own PCB.
Regarding the max memory info, here may be the source of the problem. I organized the SCT that the 32k comes first, the stack is on top of the 32k and the 96k comes second. My idea was that we can be enhance the sleep mode where we have an option to turn off the 96k when needed, certainly this needs to be arranged with your project, maybe to reserve the 96k on startup and manage the 96k separately.
Here are some of the existing problems:

The mbed IDE shows only 32k instead of 128 (the sum of SRAM1,SRAM2)
Allocating memory via "new (std::nothrow) , see MaxMemoryBlockAvailable() above" crashes
the system once we run out of memory. The same test loop works fine on the L1 system which
returns NULL when memory it runs out of memory.
Allocating memory via new gives us only up to 32k instead of a little bit less that 128k.
(minus code, data, stack)

Somebody who knows the mbed and ARM runtime and linker internals should be able to help.
Regards Helmut
PS: For programming you should also be able to use the Nucleo ST-Link interface which allows flashing via the USB drive and tty output via USB.

Helmut, could you run your tests again, the Flash/RAM size settings are now correctly set up on Mbed.

Dear Paul,
the Flash/RAM sizes look correct in mbed, however there are two remaining problems:
b) Nucleo L4: allocating more than the available memory freezes instead of returning NULL
#include
char p = new (std::nothrow) char[961024];
I use the same check on the L1 and it works great.
a) Discovery L4: crashes before main. (same as before).
Regards Helmut

Helmut, we now have a fix for the interrupt problem.
Transpired that the NVIC_RAM_VECTOR_ADDRESS is set to 0x20000000 instead of 0x10000000 in the cmsis_nvic.c file.
Setting this correctly now gives reliable interrupt function.
This may well have an effect with the issue you found here.
Could you make the NVIC change and retry?
Regards Paul

@paul, at 0x20000000 starts the regular RAM, this is certainly a problem. I updated the stm32l476xx.sct which has the vectors at RW_IRAM1 (0x10000000) and missed the cmsis_nvic.c file. I don't have a local compiler, at present I use only the mbed.org one.
I don't have a local ARM compiler, however I can do the changes on git-hub.
Have you done a local compilation of mbed (which compiler/debugger?)
Thank you, Helmut

We have also changed the startup file for ARMCC and I can pass helmut's stack/heap example. I mean a NULL pointer is returned now without crash. I need to continue testing it but it looks ok... If you want I can send this startup file for you to test it also. Tell me.

@bcostm, at present I don't own an ARM local compiler, I have used mbed only. My µVision has a 32kb limit which is good for debugging my code, but it cannot handle the entire mbed size.

No problem helmut. I have tested your stack/heap example with an update of the ARM_MICRO startup file on Nucleo and Disco L4 boards with uVision. And everything looks ok. For ARM_STD the example works without changing the startup file. The new startup file is here if someone want to test it also before I send a PR:
startup_stm32l476xx_ARM_MICRO_new.zip

@bcostm, I have a question for your change. You specified the heap size of "0x8000 ; 32KB", however there are 98 vectors = 392 bytes (0x188) the the beginning of the RW_IRAM1.
My original idea was that the vectors and stack in the in 32kb segment, that the heap also starts in the 32kb segment and continues in the 96k segment once the 32k are filled up. The benefit would be that the 32k supports the higher power saving mode where the 96k are switched off.

Your idea is great but I don't know how to do it...
@betzw do you know if this is possible ?

I do not think that it is possible to specify that the heap is build up of more non-consecutive memory regions. As far as I know the uClib of the ARM toolset supports only two variables to specify the heap: __heap_base & __heap_limit. This seems not enough to me to describe the actual situation on STM32L4.

@betzw, Hallo Wolfgang, I cannot imagine that there are not multiple regions where heap memory is located. There are many cases where an MCU has built-in memory and add-on memory which is all mapped into the main memory area at different locations.
Independent of this I believe a working solution for the STM32L4 series has priority because we never had a reliable working mbed version for the L4 series.
Regards Helmut

Regarding multiple regions we need to ask ARM.
Regarding a reliable L4 mbed version, Bruno's PRs should get us closer to this objective.

@bcostm, @betzw, I tested today the L4 Disco and Nucleo boards, they booth work with the sample applications, etc. Regarding the memory test I get 96kb as expected, however the MaxMemoryBlockAvailable() hangs when it tries to allocate 97kb. On the L1 Nucleo board it return null as expected when it runs out of memory.
I expect to get soon a Keil uVision license which allows me to debug this.
The original problems are fixed. Thanks for helping.

@helmut64 which toolchain did you use?

@betzw, I used the mbed.org online compiler.

Hi @helmut64, I think it is normal that the MaxMemoryBlockAvailable() function still hangs with the mbed IDE. It's because the PR #1554 is not yet merged.

@betzw Hi Wolfgang, I just know that using the STM32L1 Nucleo board this was working as expected on the L4 board it hangs. In my app I check regularly the available memory via such a loop report how much memory is available and to detect low memory situations.
PS: I purchased an ARM Keil MDK µVision compiler today, which means I can do true debugging without any code limits.

Ciao @helmut64, you might want to take a close look at issue #1561 and the discussion which is or rather has been ongoing there above all regarding to what people in ARM tell about the mbed-classic memory model, as this might mean for you that the way you try to get hold of the currently available amount of heap memory might make crash your application ...


Squawk codes not entered into database correctly

When searching a flights record in adsb_positions table there incorrect squawk entries for many flights.  An aircraft squawking 5074 on a particular sector has an additional squawk entry of 5070 as seen below:
553 | 2016-04-25 09:28:21 |   14383 |   5070
553 | 2016-04-25 09:28:40 |   14538 |   5074
553 | 2016-04-25 09:29:00 |   14700 |   5074
553 | 2016-04-25 09:29:19 |   14859 |   5074
553 | 2016-04-25 09:29:39 |   15012 |   5074
553 | 2016-04-25 09:29:59 |   15177 |   5070
553 | 2016-04-25 09:30:21 |   15372 |   5070
553 | 2016-04-25 09:30:40 |   15527 |   5074
553 | 2016-04-25 09:31:00 |   15683 |   5074
This happens on many flights.

More than likely the message was garbled slightly when received and decoded by dump1090. I see this from time to time when viewing the dump1090 map. An aircraft may appear to be squawking something like 7500 or 7700 even though there is no actual hijacking or emergency taking place. I would recommend when viewing this data go with the squawk that seems to dominate the data as the actual one.


Sugar Mobile App not restricted?

Hi,
It seems using Sugar mobile App doesn't get restricted by IP
Tested on Apple 6 phone with Sugar v9, able to login with Sugar App, and when switching to 'Desktop version' it does get restricted.

Does anyone know how to resolve restricting mobile App access please?


Dose support deploy to pure IPV6 server ?

I get the Network is unreachable log, I think it because my server is use ipv6, But I'm not sure.
Run<EMAIL_ADDRESS>  with:
    REMOTE_PORT: [2](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:2)2
    TARGET: /home/REMOTE_USER/
  env:
    SSH_PRIVATE_KEY: ***
    SOURCE: packages/app-server/
    REMOTE_HOST: ***
    REMOTE_USER: ***
    TARGET: /root/tmpGithubAction/
[general] GITHUB_WORKSPACE:  /home/runner/work/dodoting/dodoting
[SSH] Creating /home/runner/.ssh dir in  /home/runner/work/dodoting/dodoting
✅ [SSH] dir created.
[SSH] Creating /home/runner/.ssh/known_hosts file in  /home/runner/work/dodoting/dodoting
✅ [SSH] file created.
✅ Ssh key added to `.ssh` dir  /home/runner/.ssh/deploy_key
[Rsync] Starting Rsync Action: /home/runner/work/dodoting/dodoting/packages/app-server/ to ***@***:/root/tmpGithubAction/
⚠ [Rsync] error:  rsync exited with code 255
⚠ [Rsync] stderr:  ssh: connect to host *** port 22: Network is unreachable
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(228) [sender=[3](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:3).2.3]

⚠ [Rsync] stdout:
⚠ [Rsync] cmd:  rsync /home/runner/work/dodoting/dodoting/packages/app-server/ ***@***:/root/tmpGithubAction/ --rsh "ssh -p 22 -i /home/runner/.ssh/deploy_key -o StrictHostKeyChecking=no" --recursive -rltgoDzvO
 1: 0xa1a6[4](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:4)0 node::Abort() [/home/runner/runners/2.301.1/externals/node12/bin/node]
 2: 0xa90649  [/home/runner/runners/2.301.1/externals/node12/bin/node]
 3: 0xc06[5](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:5)99  [/home/runner/runners/2.301.1/externals/node12/bin/node]
 4: 0xc0838[7](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:7) v[8](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:8)::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/home/runner/runners/2.301.1/externals/node12/bin/node]
 5: 0x140dd1[9](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:9)  [/home/runner/runners/2.301.1/externals/node[12](https://github.com/xiaoxin-sky/dodoting/actions/runs/4215307715/jobs/7316351347#step:6:13)/bin/node]

Try using latest version @v4.1.8, and add env var:
SCRIPT_BEFORE: 'ls'

thank you for your reply, I add env var. But it also show network is unreachable.
Run<EMAIL_ADDRESS>[DIR] Creating /home/runner/.ssh dir in workspace root
✅ [DIR] dir created.
[FILE] writing /home/runner/.ssh/known_hosts file ... 0
✅ [SSH] known_hosts file ensured /home/runner/.ssh
✅ [DIR] /home/runner/.ssh dir exist
[FILE] writing /home/runner/.ssh/deploy_key_***_[16](https://github.com/xiaoxin-sky/dodoting/actions/runs/4268539767/jobs/7431098780#step:6:17)77302966383 file ... 3244
✅ [SSH] key added to `.ssh` dir  /home/runner/.ssh deploy_key_***_1677302966383
[SSH] Adding host to `known_hosts` .... *** /home/runner/.ssh/known_hosts
connect (`***'): Network is unreachable
connect (`***'): Network is unreachable
connect (`***'): Network is unreachable
connect (`***'): Network is unreachable
connect (`***'): Network is unreachable
❌ [SSH] Adding host to `known_hosts` ERROR *** Command failed: ssh-keyscan -p [22](https://github.com/xiaoxin-sky/dodoting/actions/runs/4268539767/jobs/7431098780#step:6:23) -H ***  >> /home/runner/.ssh/known_hosts
✅ [SSH] Adding host to `known_hosts` DONE *** /home/runner/.ssh/known_hosts
✅ [DIR] /home/runner/work/dodoting/dodoting dir exist
[FILE] writing /home/runner/work/dodoting/dodoting/local_ssh_script-before.sh file ... 2
Executing remote script: ssh -i /home/runner/.ssh/deploy_key_***_167730[29](https://github.com/xiaoxin-sky/dodoting/actions/runs/4268539767/jobs/7431098780#step:6:30)66383 ***@***
⚠ [CMD] Remote script failed: Command failed: DEBIAN_FRONTEND=noninteractive ssh -p 22 -i /home/runner/.ssh/deploy_key_***_1677[30](https://github.com/xiaoxin-sky/dodoting/actions/runs/4268539767/jobs/7431098780#step:6:31)2966383 -o StrictHostKeyChecking=no ***@*** 'RSYNC_STDOUT="" bash -s' < local_ssh_script-before.sh
ssh: connect to host *** port 22: Network is unreachable

  ssh: connect to host *** port 22: Network is unreachable

⚠ [CMD] Remote script failed: Command failed: DEBIAN_FRONTEND=noninteractive ssh -p 22 -i /home/runner/.ssh/deploy_key_***_1677302966383 -o StrictHostKeyChecking=no ***@*** 'RSYNC_STDOUT="" bash -s' < local_ssh_script-before.sh
ssh: connect to host *** port 22: Network is unreachable


Improve GeoTOP code

This pull request improves the way GeoTOP is used to generate geohydrological properties for groundwater models. Some improvements are:

geohydrological properties (kh and kv) can now be calculated from a combination of lithok and strat as well.
geohydrological properties (kh and kv) can now also be calculated from the probabilities of each lithoclass.
GeoTOP data can be aggregated to any layer model in a model Dataset using nlmod.read.aggregate_to_ds()
GeoTOP data can now be used to replace any layer of REGIS in get_combined_layer
the GeoTOP code has been simplified
a notebook is added to demonstrate the first three points on this list

Good job! I only added one comment and already approved this PR


chore: release main

:robot: I have created a release beep boop
@markdown-confluence/cli: 4.0.2
4.0.2 (2023-04-26)
⚠ BREAKING CHANGES

No longer bundling the lib package to help with tree shaking and code navigation

Features

Add docker CLI (e8f930f)
Initial CLI version (85b4aff)

Miscellaneous Chores

release 2.0.0 (a9eae0c)
release 3.0.0 (cc12c74)

Dependencies

The following workspace dependencies were updated

dependencies

@markdown-confluence/lib bumped from 3.7.0 to 4.0.2
@markdown-confluence/mermaid-puppeteer-renderer bumped from * to 4.0.2

@markdown-confluence/lib: 4.0.2
4.0.2 (2023-04-26)
Miscellaneous Chores

@markdown-confluence/lib: Synchronize obsidian packages versions

@markdown-confluence/mermaid-electron-renderer: 4.0.2
4.0.2 (2023-04-26)
Miscellaneous Chores

@markdown-confluence/mermaid-electron-renderer: Synchronize obsidian packages versions

Dependencies

The following workspace dependencies were updated

dependencies

@markdown-confluence/lib bumped from 4.0.1 to 4.0.2

@markdown-confluence/mermaid-puppeteer-renderer: 4.0.2
4.0.2 (2023-04-26)
⚠ BREAKING CHANGES

No longer bundling the lib package to help with tree shaking and code navigation

Features

Add docker CLI (e8f930f)
Initial CLI version (85b4aff)

Miscellaneous Chores

release 2.0.0 (a9eae0c)
release 3.0.0 (cc12c74)

Dependencies

The following workspace dependencies were updated

dependencies

@markdown-confluence/lib bumped from 3.7.0 to 4.0.2

obsidian-confluence: 4.0.2
4.0.2 (2023-04-26)
Miscellaneous Chores

obsidian-confluence: Synchronize obsidian packages versions

Dependencies

The following workspace dependencies were updated

dependencies

@markdown-confluence/lib bumped from 4.0.1 to 4.0.2
@markdown-confluence/mermaid-electron-renderer bumped from 4.0.1 to 4.0.2

obsidian-confluence-root: 4.0.2
4.0.2 (2023-04-26)
Bug Fixes

Missing components (f495464)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/obsidian-confluence-v4.0.2 :sunflower:

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/%40markdown-confluence/lib-v4.0.2 :sunflower:

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/%40markdown-confluence/mermaid-electron-renderer-v4.0.2 :sunflower:

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/%40markdown-confluence/cli-v4.0.2 :sunflower:

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/%40markdown-confluence/mermaid-puppeteer-renderer-v4.0.2 :sunflower:

:robot: Release is at https://github.com/obsidian-confluence/obsidian-confluence/releases/tag/obsidian-confluence-root-v4.0.2 :sunflower:


SRG Request CPUE analysis

2023 SRG Request
5. The SRG encourages an analysis of catch and CPUE distribution for Canada and US that examines latitudinal shifts in fishing over time.

I see a response was added to the document, so switching this over to 2025 milestone as future work is needed.


AWS Pipeline is assuming route53 records creation

Think anyway to make this optional?
As customer may not use route53 to manage their DNS records

This has been a longtime concern of mine.
The issue with the AWS install pipeline is that it makes many assumptions and does a lot of things that it shouldn't do; using Route53 for DNS is just one of them.
For example, it also requires an admin token to provision the infrastructure, which is unreasonable. It should require a token only with the least permissive capabilities.

Hey @datianshi thanks for raising this. @krishicks thanks for additional feedback. This is on our radar, we'll be in touch again soon. Thanks.

We've run into this issue as well. install-pcf/aws/tasks/config-director/task.sh has a $dns variable that is not configurable via params.yml. It should be configurable in such a way that AWS' default isn't necessarily used (e.g. <IP_ADDRESS>).

Hi @datianshi @wrast @ollema please could you get in touch directly if you are working/have worked with a customer who requires this feature? Trying to prioritise pipeline work based on customer need/requirements. Thank you.


Remove moot version property from bower.json

Per bower/bower.json-spec@a325da3

Sorry, but i still will keep it because it is used in Gulp source builder, also it is harmless and may be required in future

lol Um, their maintainer says they probably won't ever use it: http://stackoverflow.com/questions/24844901/bowers-bower-json-file-version-property

Maybe, but i need it, and it is harmless and can't break anyhting


Step 1: get actual contexts (viewports & screen densities) of site visitors

[ ] Load data from a CSV file
[ ] Fill an array with data

Any good npm module to load and write CSV files?


Erlang crash when start upload example

hello,
I have refreshed my system with Erlang/OTP-18.3. Later I re-started to compile cowboy from the master branch. The compilation was done. At next I started to try the examples/upload example app. Its compilation was also done, but erlang has chraseh when I started the app. The crash says the cowboy:start_http function does not exists. And yes, this is not there. I doublechecked by opening the cowboy/src/cowboy.erl module, and I do not see this function. I also have an oldest version cowboy, where this function was there. Thus I guess, there were a major changes surround this area, but the examples are not updated.
Plese have a look at the log about crash below, and please let me know what did I wrong.
Also please correct/confirm me regarding the cowboy:start_http function.
The Erlang version what I use
------------------------------
	Eshell V7.3  (abort with ^G)
	(upload_example@<IP_ADDRESS>)1> erlang:system_info(version).
	"7.3"
	(upload_example@<IP_ADDRESS>)2>

The crash when starting app:
------------------------------
ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/projects/github/cowboy/examples/upload(master)> ls
Makefile  priv  README.asciidoc  relx.config  src
ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/projects/github/cowboy/examples/upload(master)> make
 DEP    cowboy
make[1]: Entering directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/cowboy'
 DEP    cowlib
 DEP    ranch
make[2]: Entering directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/cowlib'
../../../../erlang.mk:4035: The variable OTP_DEPS is deprecated in favor of LOCAL_DEPS.
 DEPEND cowlib.d
../../../../erlang.mk:4035: The variable OTP_DEPS is deprecated in favor of LOCAL_DEPS.
 ERLC   cow_cookie.erl cow_date.erl cow_hpack.erl cow_http.erl cow_http2.erl cow_http_hd.erl cow_http_te.erl cow_mimetypes.erl cow_multipart.erl cow_qs.erl cow_spdy.erl cow_ws.erl
 APP    cowlib.app.src
make[2]: Leaving directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/cowlib'
make[2]: Entering directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/ranch'
 DEPEND ranch.d
 ERLC   ranch.erl ranch_acceptor.erl ranch_acceptors_sup.erl ranch_app.erl ranch_conns_sup.erl ranch_listener_sup.erl ranch_protocol.erl ranch_server.erl ranch_ssl.erl ranch_sup.erl ranch_tcp.erl ranch_transport.erl
 APP    ranch.app.src
make[2]: Leaving directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/ranch'
 DEPEND cowboy.d
 ERLC   cowboy.erl cowboy_app.erl cowboy_bstr.erl cowboy_clear.erl cowboy_clock.erl cowboy_constraints.erl cowboy_handler.erl cowboy_http.erl cowboy_http2.erl cowboy_loop.erl cowboy_middleware.erl cowboy_req.erl cowboy_rest.erl cowboy_router.erl cowboy_static.erl cowboy_stream.erl cowboy_stream_h.erl cowboy_sub_protocol.erl cowboy_sup.erl cowboy_tls.erl cowboy_websocket.erl
 APP    cowboy.app.src
 GEN    rebar.config
make[1]: Leaving directory `/mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps/cowboy'
 DEPEND upload.d
 ERLC   upload_app.erl upload_handler.erl upload_sup.erl
 APP    upload
 GEN    /mnt/ethrbh/private/projects/github/cowboy/examples/upload/relx
===> Starting relx build process ...
===> Resolving OTP Applications from directories:
		  /mnt/ethrbh/private/projects/github/cowboy/examples/upload/ebin
		  /mnt/ethrbh/private/projects/github/cowboy/examples/upload/deps
		  /home/ethrbh/tools/erlang_otp_18.3/lib/erlang/lib
		  /mnt/ethrbh/private/projects/github/cowboy/examples/upload/apps
===> Resolved upload_example-1
===> Including Erts from /home/ethrbh/tools/erlang_otp_18.3/lib/erlang
===> release successfully created!
ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/projects/github/cowboy/examples/upload(master)> ./_rel/upload_example/bin/upload_example console
Exec: /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example/erts-7.3/bin/erlexec -boot /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example/releases/1/upload_example -boot_var ERTS_LIB_DIR /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example/erts-7.3/../lib -config /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example/releases/1/sys.config -args_file /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example/releases/1/vm.args -- console
Root: /mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example
/mnt/ethrbh/private/projects/github/cowboy/examples/upload/_rel/upload_example
Erlang/OTP 18 [erts-7.3] [source] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

=INFO REPORT==== 26-Apr-2016::10:29:34 ===
	application: upload
	exited: {bad_return,
			 {{upload_app,start,[normal,[]]},
			  {'EXIT',
			   {undef,
				[{cowboy,start_http,
				  [http,100,
				   [{port,8080}],
				   [{env,
					 [{dispatch,
					   [{'_',[],
						 [{[],[],cowboy_static,
						   {priv_file,upload,"index.html"}},
						  {[<<"upload">>],[],upload_handler,[]},
						  {[<<"files">>,'...'],
						   [],cowboy_static,
						   {priv_dir,upload,"files"}}]}]}]}]],
				  []},
				 {upload_app,start,2,[{file,"src/upload_app.erl"},{line,20}]},
				 {application_master,start_it_old,4,
				  [{file,"application_master.erl"},{line,273}]}]}}}}
	type: permanent
Eshell V7.3  (abort with ^G)
(upload_example@<IP_ADDRESS>)1> {"Kernel pid terminated",application_controller,"{application_start_failure,upload,{bad_return,{{upload_app,start,[normal,[]]},{'EXIT',{undef,[{cowboy,start_http,[http,100,[{port,8080}],[{env,[{dispatch,[{'_',[],[{[],[],cowboy_static,{priv_file,upload,\"index.html\"}},{[<<\"upload\">>],[],upload_handler,[]},{[<<\"files\">>,'...'],[],cowboy_static,{priv_dir,upload,\"files\"}}]}]}]}]],[]},{upload_app,start,2,[{file,\"src/upload_app.erl\"},{line,20}]},{application_master,start_it_old,4,[{file,\"application_master.erl\"},{line,273}]}]}}}}}"}

Crash dump is being written to: erl_crash.dump...done
Kernel pid terminated (application_controller) ({application_start_failure,upload,{bad_return,{{upload_app,start,[normal,[]]},{'EXIT',{undef,[{cowboy,start_http,[http,100,[{port,8080}],[{env,[{dispa
ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/projects/github/cowboy/examples/upload(master)>

Thanks for your help,
/Robi

The examples and documentation for master are not up to date. They will be updated next. You may want to use 1.0 if you can't get started with just the code.

hello Essen,
Thanks for the update. I will start use 1.0 instead.
br,
/Robi

The example has been converted and a test has been added. Thanks!


Add virus scan service

Description
This PR includes the following proposed change(s):

Adds virus scanning service

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[ ] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes

@karahanb heads up, I added client registration and configuration in this morning's commit. You may want to review this last change.

@karahanb heads up, I added client registration and configuration in this morning's commit. You may want to review this last change.

Thanks Phil, that looks good too. So we should be able to add the virus scan client into the workflow service like adding:
builder.Services.AddVirusScanClient(builder.Configuration) into Startup.cs and also define a VirusScanConfiguration class in workflow service with a BaseUrl property. Is that correct?
Maybe we should also add some details on the Readme file to explain how VirusScanClient should be configured for accessing.

So we should be able to add the virus scan client into the workflow service like adding: builder.Services.AddVirusScanClient(builder.Configuration) into Startup.cs and also define a VirusScanConfiguration class in workflow service with a BaseUrl property. Is that correct?

Yes this is correct. The only configuration parameter is the base url. It should be configured via VirusScan__BaseUrl environment variable.

Maybe we should also add some details on the Readme file to explain how VirusScanClient should be configured for accessing.

True, this is missing.


Contract page doesn't list anything

Contract page doesn't list anything, but it should

For example, https://www.iotexscan.io/address/io1xpq62aw85uqzrccg9y5hnryv8ld2nkpycc3gza
It at least should has this action: https://www.iotexscan.io/action/0fed7f77e4898801f2b6663ffbdd6e0616f0f403f6c9ff7c3c0974373874ad1f

Ref. https://github.com/iotexproject/iotex-analytics/issues/112


new Task Model was created

The "upload_to" parameter will be added to FileField() once the location is defined.

The choices for the level, status fields of the Task model are still to be implemented.
The UUIDField for the user_id field of the Task model is still to be considered.


[bug] thread 'tokio-runtime-worker' panicked at 'Cannot drop a runtime in a context where blocking is not allowed. This happens when a runtime is dropped from within an asynchronous context.

Describe the bug
async main invoke_handler  use async fn   thread 'tokio-runtime-worker' panicked at 'Cannot drop a runtime in a context where blocking is not allowed. This happens when a runtime is dropped from within an asynchronous context.

Reproduction
No response
Expected behavior
No response
Platform and versions
› OS: Windows 10.0.22000 X64
› Webview2: 104.0.1293.70
› MSVC:
› Node.js: 16.17.0
› npm: 8.18.0
› pnpm: Not installed!
› yarn: Not installed!
› rustup: 1.25.1
› rustc: 1.63.0
› cargo: 1.63.0
› Rust toolchain: stable-x86_64-pc-windows-msvc
Stack trace
No response
Additional context
No response

The problem should be inside the async command, not the command itself. Can you share more of your code?
Also it's supposed to tell you the exact line where the issue comes from too (sometimes behind the RUST_BACKTRACE=1 env var), but errors/panics in async rust can get quite weird. Anyway, we need more code (of the get_survival_addr command) to help you.

Thank you. It should be the following line of code

trust-dns-resolver = "0.21.2"

trust-dns-resolver


support NSView layer-backed view animation

add a new api on updateConstraints for layer-backed view animation
so you can write like this:
NSAnimationContext.runAnimationGroup({ (context) in
                    context.duration = 1.0
                    self.view.snp_updateAnimatorConstraints(closure: { (make) in
                        make.width.equalTo(50.0)
                    })
                }, completionHandler: nil)

Or could add animator on ConstraintDescriptionExtendable?
so we can write like this:
NSAnimationContext.runAnimationGroup({ (context) in
                    context.duration = 1.0
                    self.view.snp_updateAnimatorConstraints(closure: { (make) in
                        make.width.animator.equalTo(50.0)
                    })
                }, completionHandler: nil)

Or do like this in Masonry:
   //store the contraint
    [self.testView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.leading.top.equalTo(self.view);
        self.testConstraint = make.width.equalTo(@100.0);
        make.height.equalTo(@100.0);
    }];

   // update it using animator proxy
    [NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) {
        context.duration = 1.0f;
        self.testConstraint.animator.offset = 50.0f;
    } completionHandler:nil];

Anyway, seems there should have a way to get animator proxy so that we can use SnapKit on animate.

@NSLogMeng on iOS you simply have to run view.layoutIfNeeded() inside the animation block, does this not work on macOS at all? I probably need to do some more tests with it if not...

@robertjpayne Hi, I‘m afraid there's some different autolayout based animation between iOS and macOS.
I write a simple demo based on my fork and myself commit, discuss some situation about this problem.
As a reference, Masonry has implement a way to resolve the problem I talked above, but I think it probably not perfect (user mast store the constraint out, when animation , get the constraint.animator and update constant).
thx

Closing this as #337 supersedes this


PRODENG-291 Upgrade ya-pmd-scan.

Error message:

Could not find com.agologan:swagger-gradle-codegen:1.4.1-67-gfbda3ab

Does this pass elsewhere?

Error message:

Could not find com.agologan:swagger-gradle-codegen:1.4.1-67-gfbda3ab

Does this pass elsewhere?

I am checking this and updating you on this

Error message:

Could not find com.agologan:swagger-gradle-codegen:1.4.1-67-gfbda3ab

Does this pass elsewhere?

I am checking this and will update you shortly

@tpage-alfresco I have fixed the issue. you can merge your changes.


feat!: use literal terms as schematics

terms can be used as schematics to match on literal values.
This makes defining enums much simpler, as well as making
the code more maintainable.

Current dependencies on/for this PR:

main

PR #14   👈

PR #15

This comment was auto-generated by Graphite.


[DOC] Update Prophet and ETS docstrings

Reference Issues/PRs
Related to #1148
Supersedes #1323

I reviewed and would approve of #1323, but had to sync with main and couldn't push my changes to that PR, so I created a new one. But this should be ready to go.


Bug: FS2's bracket release doesn't fire on interruption

See bracketInterrupt test. When the fiber is interrupted fs2 finalisers won't run. They do run when the fiber is terminated or fails, however.

False positive, can't reproduce after 0.3.1 (after fixing the test)


Is it possible to have a rule forward to another rule?

If I do this:
def _inner_impl(ctx: AnalysisContext) -> list[Provider]:
    return [DefaultInfo()]

def _outer_impl(ctx: AnalysisContext) -> list[Provider]:
    return inner()

inner = rule(
    attrs = {},
    impl = _inner_impl
)

outer = rule(
    attrs = {},
    impl = _outer_impl
)

I get the following error:
BUILD FAILED
Error running analysis for `root//:outer (foo//platforms:my-platform#23b3e4bdecafe14a)`

Caused by:
    Traceback (most recent call last):
      File <builtin>, in <module>
      * foo/test_rule.bzl:8, in _outer_impl
          return inner()
    error: This function is unavailable during analysis (usual solution is to place the information on a toolchain)
     --> foo/test_rule.bzl:8:12
      |
    8 |     return inner()
      |            ^^^^^^^

I was experimenting with the idea of wrapping rules like cxx_library() to modify / change up the arguments before I pass them in.  I feel like it gives me the ability to generate better error messages when the user does something wrong.
My guess is you just can't do this, but figured it was worth asking about.

You can make a macro.
def wrapped_cxx_library(**kwargs):
    srcs = kwargs.pop("srcs");
    srcs.append("file.hh");
    native.cxx_library(srcs = srcs, **kwargs)

You don't need to return anything, rules don't return anything when you call them anyway (only the impl functions do). You can call multiple rules, and connect up the outputs of one to the inputs of the other, by constructing
whatever = "{}-whatever".format(name)
cxx_library(name = whatever, ...)

cxx_library(..., deps = kwargs.pop("deps") + [":{}".format(whatever), **kwargs)

I'm using macros for this purpose right now, and it generally works ok but sometimes I wish I had access to some of the things in a rule impl's context structure.

The inner() function is a function that declares a target (and does a bunch of other stuff). As the error message indicates, you cannot do that during analysis. You could, however, call the _inner_impl() function if you wanted.

Yea, unfortunately I can't do that unless I have access to the impl.  So I can't do it, for example, if I want to forward to cxx_library.  In any case, I can continue with just using macros, I can still solve the problem I was having, just not as nicely as if I had the full power of a rule.


Update version to 0.3.0

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/49983
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.0 -m "<description of version>" d48bf80795bd302c4411f42c13bd78ca56b3c4bb
git push origin v0.3.0


Spec file

Hey Anton! First off, wanted to say that I love this project and I love having a single registry that I can point people to so they can find extensions.
Secondly, I saw you mention a few times of having a "spec file" for sqlpkg. For my sqlite-package-manager project, I made a "spec file" format that sounds similar to what you want to make. At the very least, I want to share a few things I learned by making that spec file version (spm.json), which might help you making your version. But I also hope that your specfile would adopt enough features from spm.json so I can toss out my spm.json format and just use the sqlpkg spec format.
The current spm.json format
So in general, the sqlite-package-manager project has a few different features and goals from sqlpg-cli, but the spm.json file format seems very similar to what sqlpkg's will be.
For every SQLite extension project repo, a single spm.json file is uploaded to each Github release. For example, the sqlite-vss project has this v0.1.1-alpha.20 release which includes this spm.json file:
https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/spm.json
The idea is that the sqlite-package-manager client will download this spm.json file, find which asset to download (based on the user's operating system / CPU arch), then download the right .tar.gz for the given platform. It has checksums for each .tar.gz asset that are checked before saving the individual extensions to the filesystem.
Currently the spm.json format is too specific to sqlite-package-manager, so take the format with a grain of salt. But there are a few things I like about it:

There is one spm.json generated and uploaded in every Github release. This is nice because there's checksums included for every release, and if I change the name / support a new platform in the future, I just uploaded a new release + spm.json file and handle it there. Also the spm CLI can just lookup to see if there's an spm.json file in the Github release for a specific version to see if the extension supports it.
The specfile can be automatically generated. I have a Github action upload-spm that abstracts away the spm.json format and generation for extension authors. Here's an example of how sqlite-vss uses the step: the extension is pre-built in previous build steps, and all you have to do it point to a directory for each "platform" (macos-x86_64, linux-x86_64, etc.), and the upload-spm Action will handle uploading the .tar.gz files to Github Releases, and automatically generate + upload the spm.json  specfile.
There are separate sections for loadable/static extensions. Loadable extensions (.dylib/.so/.dll) are great for most cases, but you can also compile SQLite extensions as static archive files (.a), which can be used to statically compile extensions into C/C++/Rust/Go applications. I've only done a little bit with this in sqlite-vss Go bindings, but it can be extremely helpful in the future to also support pre-compiled "static" extensions.

What I would add to a new specfile format
If I re-designed spm.json, I would have it like so:
{
  "name": "sqlite-vss",
  "version": "0.1.1-alpha.20",
  "description": "",
  "authors" : ["Alex Garcia<EMAIL_ADDRESS>  "license": "MIT",
  "repo": "https://github.com/asg017/sqlite-vss",
  "homepage": "https://github.com/asg017/sqlite-vss",
  "keywords": ["vector-search"],
  "edition": 0,
  "loadable": [
    {
      "os": "macos",
      "cpu": "x86_64",
      "url": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-loadable-macos-x86_64.tar.gz",
      "integrity": "sha256-e32633d3ec39b77e0463da785df69082c61baf649d0855bbc63c354082424cb5"
    },
    {
      "os": "macos",
      "cpu": "aarch64",
      "asset_name": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-loadable-macos-aarch64.tar.gz",
      "integrity": "sha256-f86754c25874908b224b37041df04518f13ccd40345c01a8b7e41fbc9355fa95"
    },
    {
      "os": "linux",
      "cpu": "x86_64",
      "asset_name": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-loadable-linux-x86_64.tar.gz",
      "integrity": "sha256-8491eccc2abf499bad31fb9c11b857b6c18b14c1ead040f99f1e298e7bc65257"
    }
  ],
  "static": [
    {
      "os": "macos",
      "cpu": "x86_64",
      "asset_name": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-static-macos-x86_64.tar.gz",
      "integrity": "sha256-d8049a78cdbb961e13f0b8be97809d7db456a673d68e5b82b1e9da08f5114a04"
    },
    {
      "os": "macos",
      "cpu": "aarch64",
      "asset_name": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-static-macos-aarch64.tar.gz",
      "integrity": "sha256-c9d6d61d1cd1425295271db90368e89378176f934709f246dcd8c71429bb0846"
    },
    {
      "os": "linux",
      "cpu": "x86_64",
      "asset_name": "https://github.com/asg017/sqlite-vss/releases/download/v0.1.1-alpha.20/sqlite-vss-v0.1.1-alpha.20-static-linux-x86_64.tar.gz",
      "integrity": "sha256-c22a209f1d12eda30a928c45457e222b2374c2130061b7627a262522112f7a76"
    }
  ]
}

The name/version/description/authors/license/homepage/repo/keywords fields are just metadata, but could be nice to help build out your registry
The "edition" key would be the format of the specfile, in case it needs updating in the future
The loadable/static assets are split into different keys
It would be very nice to standardize the OS/CPU architecture values. The "macos"/"linux"/"windows" part seems straightforward, but "aarch64" vs "arm64" and "x86_64" vs "amd64" vs "x86" can get confusing. In my opinion I like "aarch64" / "x86_64" but literally every programming language/package manager do not agree with each other

Let me know if there's anything I can clarify or help with! Happy to make a new Github Action that auto-generates a specfile if you're interested. I also have a version of package.json/package-lock.json - style project files in the form of spm.toml and spm.lock that I'd be more than happy to talk about, if you're interested.

Thank you, Alex! I am not sure why you are talking about the spec file as if it does not yet exist yet and I am only planning to design it. This sqlpkg registry and package manager are already built around spec files. This very repo contains package spec files. And sqlpkg-cli uses them to manage packages.

I did not notice that! Thanks for pointing it out.
Looking at the specfile, does this mean I'll have to send a PR to update a spec file on every new release?

You don't have to. The whole package registry thing is optional.
As an extension author, you can host your own sqlpkg.json (e.g. https://github.com/asg017/sqlite-vss/sqlpkg.json), and update it with other files when you release a new version. People can install your extension like this:
sqlpkg install github.com/asg017/sqlite-vss

And they'll always get the latest version.
The package registry will eventually sync with changes in your repository (although that part is not ready yet).

Are checksums of the individual extension files (or the .tar.gz itself) stored in the spec file at all? Or does the sqlpkg cli do anything with checksums?

Since that the checksums are only known after the build, I don't plan to store them in the spec file itself. Instead, they should be available for download along with the archives (like in sqlite-vss). Then sqlpkg will check the downloaded archive against the corresponding checksum (not implemented yet, but planned).

sqlpkg release 0.1.0 brings lockfile support, and release 0.2.0 brings support for checksums. It also allows to specify the version as latest, without hardcoding a specific number.
I think that covers all the use cases you mentioned. Let me know if you have any further questions.


Question / tutorial. How to build conversation flow?

I'm playing around with kaboomjs. I have none exp with gamedev and I would like to ask you for some hints.
I wonder how to build the conversation flow into this https://kaboomjs.com/play?demo=rpg demo.
I would like to show a Dialog (already implemented as part of demo) with options on collides with character.
When Dialog is visible:

Block keyboard arrows (I cannot move)
I can press only button with sentences, for example 1, 2
I can press ESC button to dismiss Dialog - I can again move.

Thanks in advance for any hints

Closing as I found solution


Allow lazy quotes

I needed to expose the lazy quotes option
        // If LazyQuotes is true, a quote may appear in an unquoted field and a
        // non-doubled quote may appear in a quoted field.
        LazyQuotes bool

https://golang.org/pkg/encoding/csv/

Thank you for the feedback, Samuel!
Would you mind adding a unit test like TestSkipComment in option_test.go?

I added a simple test https://github.com/yunabe/easycsv/pull/2/commits/0627db8f6cb936cc6896cb9a9f038b417d7e1369

Thank you for adding the test.
2019年3月30日(土) 1:56 Samuel Simpson<EMAIL_ADDRESS>
I added a simple test 0627db8
https://github.com/yunabe/easycsv/commit/0627db8f6cb936cc6896cb9a9f038b417d7e1369
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/yunabe/easycsv/pull/2#issuecomment-478072811, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPnwUGm9Trdd8LQR5a1VA-Kx-9GRAHBks5vbkXYgaJpZM4cSmSy
.


python.pkgs.pytest-flake8: 1.0.1 -> 1.0.2

Motivation for this change
Enable tests again.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

@GrahamcOfBorg build python27Packages.pytest-flake8 python36Packages.pytest-flake8

Success on x86_64-linux (full log)
Attempted: python27Packages.pytest-flake8, python36Packages.pytest-flake8
Partial log (click to expand)
pytest_flake8.py .                                                       [  6%]
setup.py .                                                               [ 13%]
test_flake8.py ...........x.                                             [100%]

===================== 14 passed, 1 xfailed in 5.37 seconds =====================
test_flake8.py ...........x.                                             [100%]

===================== 14 passed, 1 xfailed in 5.71 seconds =====================
/nix/store/l2qzz2drzmwkwacwmqd9w4ql36rvrf2d-python2.7-pytest-flake8-1.0.2
/nix/store/smlldnbzpqx97yqfgd7689cccknhpx3f-python3.6-pytest-flake8-1.0.2

Success on aarch64-linux (full log)
Attempted: python27Packages.pytest-flake8, python36Packages.pytest-flake8
Partial log (click to expand)
pytest_flake8.py .                                                       [  6%]
setup.py .                                                               [ 13%]
test_flake8.py ...........x.                                             [100%]

==================== 14 passed, 1 xfailed in 33.14 seconds =====================
test_flake8.py ...........x.                                             [100%]

==================== 14 passed, 1 xfailed in 31.23 seconds =====================
/nix/store/4crnxc0qkph19icnk3y572670fws1rnb-python2.7-pytest-flake8-1.0.2
/nix/store/v89cbga00j6agvfnq6pvr7cb2wg2snr2-python3.6-pytest-flake8-1.0.2

Success on x86_64-darwin (full log)
Attempted: python27Packages.pytest-flake8, python36Packages.pytest-flake8
Partial log (click to expand)
copying path '/nix/store/5c1i4cjj4q77v5vnmav11ck4kxgfxwhp-python2.7-flake8-3.5.0' from 'https://cache.nixos.org'...
copying path '/nix/store/hkcidimgz0xax1apqgqn9sz42lkbsrxh-python2.7-pytest-flake8-1.0.2' from 'https://cache.nixos.org'...
copying path '/nix/store/i9ac6j1cdzm38vsbqw44xrkb3v5dh0jd-python3.6-setuptools-40.0.0' from 'https://cache.nixos.org'...
copying path '/nix/store/7b4f808mzv0xk4w9b9amxk4jaxr0fsy9-python3.6-mccabe-0.6.1' from 'https://cache.nixos.org'...
copying path '/nix/store/fnv5k6r4brc2hgrc2l0w8frfyjhd859g-python3.6-pycodestyle-2.4.0' from 'https://cache.nixos.org'...
copying path '/nix/store/4p0ca35ry99hizvip24i7q8gxrl4xp6z-python3.6-pyflakes-2.0.0' from 'https://cache.nixos.org'...
copying path '/nix/store/lxywkblg6c1lf2i3sxh45192fz8rm7dk-python3.6-flake8-3.5.0' from 'https://cache.nixos.org'...
copying path '/nix/store/gshajylky88flrvn1ys7dd24fa7966s4-python3.6-pytest-flake8-1.0.2' from 'https://cache.nixos.org'...
/nix/store/hkcidimgz0xax1apqgqn9sz42lkbsrxh-python2.7-pytest-flake8-1.0.2
/nix/store/gshajylky88flrvn1ys7dd24fa7966s4-python3.6-pytest-flake8-1.0.2


Rework deduction and add with_sequence

Should we merge this in to hera/4.0.0rc2 and release soon?

Should we merge this in to hera/4.0.0rc2 and release soon?

Feel free to merge once approved :)


Support partial cloning with ability to commit on partial clones

s3git mentions the potential for creating very large repositories.
Is it possible to clone only a part (subtree or even specific files) of those large repositories, and create new commits using that partial clone?
If it is already possible, that would be a good addition to the documented use case. If not, please consider this a feature request.

Yes, s3git can create really large repos.
I think what you may be looking for is the following: it is possible to do an s3git snapshot checkout --dedupe (after cloning the repo whereby not all content is downloaded to local disk).
It is briefly mentioned here: https://github.com/s3git/s3git/blob/master/BINARY-RELEASE-MANAGEMENT.md#deduped-format-for-updating-a-snapshot
But to quote:

By default a s3git snapshot checkout will reconstruct the directory structure and files into their original format (and download the content from cloud storage).
If all you are interested in is write access (ie. writing/updating/renaming/removing files) then you can use the --dedupe flag for the s3git snapshot checkout. This will recreate the directory and files structure with shadow content that contains binary hashes/pointers, so if you (recursively) list the snapshot it will appear identical to a full-fledged checkout (note that many files are 128 bytes or larger multiples of 64 bytes).
You can now copy in new data and or move files around or delete them. When you are done you can create a new snapshot as regular using s3git snapshot create -m "Updated version" in order to push it upstream.

Is this what you are looking for? (the documentation is still WIP and it would be good to highlight something like this).

Yes, that sounds like it will work well, thank you.
I would not have understood that --dedupe corresponded to shadow content (hashes/pointers only), perhaps the documentation can go to some lengths to establish that association in users minds.
For truly large repositories by file count and/or directory nesting, even the --dedupe option may represent overhead that leads users to use s3git differently if they are limited by space, bandwidth time, etc. If a further mode/option can support cloning and operations on only a controlled subset of deduped files, that could be a real boon for small operations on large repositories.

So you mean like a filter for some sort for 'sparse' checkouts such as described in http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ ?
Something like this shouldn't be too difficult.
Note that there is also the s3git snapshot ls command to just list the contents of a snapshot (without creating any files on local disk). The --presigned option will create a so-called 'presigned URL' so that the file can be fetched directly out of cloud storage, see here for more info https://github.com/s3git/s3git/blob/master/BINARY-RELEASE-MANAGEMENT.md#grab-straight-out-of-cloud-storage
NB I'll make a note regarding the documentation to clarify this as it is an important issue.


Add dynamic theme icon

Adds dynamic theme icon that changes with user's theme colors. The
change was easy and has been tested on API levels 24, 26, 28, 31,
34. The old icon in unchanged but a new foreground icon is added
which is vector drawable. It replaces the default foreground icon
that was present but wasn't being used. The new foreground icon
is then referenced as the monochrome icon.
Should fix #23

Pixel 5 API 24

Pixel 5 API 26

Pixel 5 API 28

Pixel 5 API 31

Pixel 5 API 34 dynamic theme

Pixel 5 API 34 normal

@SimonHalvdansson I converted the png icon in a tool to get the svg. But if you have the original svg, I can put that instead. The converted svg is almost perfect except for the top left bit where the crests of two waves have less separation than the original. This should be noticeable only in the dynamic theme icon.


[Fix #8281] Improve WhileUntilModifier detection and correction

The extracted code was already there, it just had to be re-used. Moved relevant tests to the shared examples.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Looks good.
Is the moving of many specs directly related to this change?

Looks good.
Is the moving of many specs directly related to this change?

(and wouldn't the if form also benefit from the same?)

(and wouldn't the if form also benefit from the same?)

Is the moving of many specs directly related to this change?

The change makes those pass. You mentioned in the original ticket that "the corresponding tests should be moved in their shared context", and I agree - the actual code is also in the shared module. Copy/pasting those specs doesn't make sense.

(and wouldn't the if form also benefit from the same?)

What do you mean?

Is the moving of many specs directly related to this change?

The change makes those pass. You mentioned in the original ticket that "the corresponding tests should be moved in their shared context", and I agree - the actual code is also in the shared module. Copy/pasting those specs doesn't make sense.

(and wouldn't the if form also benefit from the same?)

What do you mean?

Is the moving of many specs directly related to this change?

The change makes those pass.

Oh, perfect then. I thought they might have already been passing

(and wouldn't the if form also benefit from the same?)

What do you mean?

There's a spec being added to while_until_modifier_spec. Shouldn't that spec be added to condition_modifier_cop.rb  instead (and made to pass)?
I.e.
# bad
if foo; bar; end
# good
bar if foo

Is the moving of many specs directly related to this change?

The change makes those pass.

Oh, perfect then. I thought they might have already been passing

(and wouldn't the if form also benefit from the same?)

What do you mean?

There's a spec being added to while_until_modifier_spec. Shouldn't that spec be added to condition_modifier_cop.rb  instead (and made to pass)?
I.e.
# bad
if foo; bar; end
# good
bar if foo

There's a spec being added to while_until_modifier_spec. Shouldn't that spec be added to condition_modifier_cop.rb instead (and made to pass)?

Sure. Done. Thank you :bow:

There's a spec being added to while_until_modifier_spec. Shouldn't that spec be added to condition_modifier_cop.rb instead (and made to pass)?

Sure. Done. Thank you :bow:

Thanks!

Thanks!


contracts compiled with nep8 compiler cannot be evaluated

Is there a timeline to have neo-gui updated to use the latest version of neo-vm? Contracts compiled with the nep8 compatible compiler can no longer be used

See https://github.com/neo-project/neo-compiler/pull/117

ah fantastic I hadn't seen that! I'll give it a try - thanks @erikzhang

Also, I will publish a preview release of gui for TESTNET.

closing issue as the branch by @lightszero addresses this concern


Money Input Mask Empty When Zero

Package
filament/filament
Package Version
v2.10.6
Laravel Version
v8.83.0
Livewire Version
v2.10.1
PHP Version
PHP 8.0.13
Bug description
When using the money input mask on a TextInput field with a value of zero - only $ is displayed instead of $0.00.
Steps to reproduce
My form schema has the following:
Forms\Components\TextInput::make('amount')
    ->mask(fn (Forms\Components\TextInput\Mask $mask) => $mask->money('$', ',', 2)),

For a field with a value of zero, this displays only $ when I would expect that it should show $0.00.
Relevant log output
No response

@intrepidws Is this still a problem since https://github.com/laravel-filament/filament/pull/1533 has been merged in?

Hm, I think this is just an iMask bug. We pass ->lazyPlaceholder(false) which should fix this, but it doesn't.

@intrepidws Is this still a problem since #1533 has been merged in?

@ryangjchandler Yes I tested this on v2.10.6, which had #1533 merged.
Just to be certain, I upgraded to the recently released v2.10.7 and can confirm the problem still exists. I'll look into filing a bug report with iMask.

@danharrin I'm sure that I've simplified the implementation too much or missed something obvious but I just made a CodePen with iMask that seems to work fine with a zero value.
https://codepen.io/intrepidws/pen/zYPzWdK

I wonder if it's something to do with the configuration that the Mask::money method creates. Perhaps the normalise zeroes?
Will have to debug & dig into it at some point this weekend. @danharrin

That pen should (at least to the best that I can tell) utilize all of the same iMask config that the Mask::money method creates.

Could you maybe try converting it to Alpine (using our code in text-input.js) and see if that still works?

So I'm a little out of my element here, but from what I can these lines are meant to assign the value when there is one. But there are two issues here:

The value of this.state coming in from a field with a zero value is actually null for some reason.
Even if the value of this.state was zero, I don't believe that it would pass if (this.state) {

I came across this issue.  Didn't manage to find what's wrong but did a workaround with the follow:
                                        ->afterStateHydrated(function (TextInput $component, $state) {
                                            if ($state == null) $component->state('0');
                                        })

If the value is non-zero and user delete the value, it will display 0.
However, if the value is already 0 and user delete the 0, it will stay empty.  I think this make sense as the value is 0 already and if user wants to clear the 0, means user doesn't want the 0.

@tangjh While I still think that a fix is needed here, your solution does work for my purposes, thanks. What is weird though is that $state == null works while is_null($state) does not.

What is $state though? Is it null? or is it just a falsy value that could be triggered by an ==

@danharrin Yea, I should've checked that - you're absolutely right. It's actually zero, so it's just a falsy value. So basically, forcing it to be a string of zero bypasses the problem I outlined in https://github.com/laravel-filament/filament/issues/1553#issuecomment-1039046729.

Ah, that classic '0' is a truthy value in JS but not in PHP.

I think there is little we can do about this from our end tbh, except recommend that people set a default. What do you think about closing this issue?

It still feels like there is a bug somewhere to me but I'm not sure I'm smart enough to find it unfortunately. In the JS at these lines, the value of this.state coming in from a field with a zero value is actually null for some reason - and that feels like a bug to me but I'm not sure.

I don't know what the fix for that would be though - if you have any ideas then please reply them here or submit a PR. For now - a default value should work just fine I think.


[bug] How to link dylib files?

Describe the bug
#[link(name = "Mylib" )] works on the Windows, but Mac failed🚬
I try code in build.rs
let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", manifest_dir.display());
println!("cargo:rustc-link-lib=Mylib");

but also not work.
dyld[29363]: Library not loaded: @rpath/libMylib.dylib
  Referenced from: <987AFB97-031F-3387-A7C3-047E9989602C> /Users/admir/Desktop/Code/rust-desktop-demo/src-tauri/target/debug/tauri-ts-demo
  Reason: tried<EMAIL_ADDRESS>(no such file), '/usr/local/lib/libMylib.dylib' (no such file), '/usr/lib/libMylib.dylib' (no such file, not in dyld cache)

How Can i link libMylib.dylib success?
Reproduction
No response
Expected behavior
No response
Platform and versions
[✔] Environment
    - OS: Mac OS 13.2.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.71.0 (8ede3aae2 2023-07-12)
    ✔ Cargo: 1.71.0 (cfd3bbd8f 2023-06-08)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 20.5.0
    - yarn: 1.22.19
    - npm: 9.8.0

[-] Packages
    - tauri [RUST]: 1.4.1
    - tauri-build [RUST]: 1.4.0
    - wry [RUST]: 0.24.3
    - tao [RUST]: 0.16.2
    - @tauri-apps/api [NPM]: 1.4.0
    - @tauri-apps/cli [NPM]: 1.4.0

[-] App
    - build-type: bundle
    - CSP: default-src 'self'; img-src *; media-src *
    - distDir: ../build
    - devPath: http://localhost:3000/
    - framework: React

Stack trace
dyld[29363]: Library not loaded: @rpath/libMylib.dylib
  Referenced from: <987AFB97-031F-3387-A7C3-047E9989602C> /Users/admir/Desktop/Code/rust-desktop-demo/src-tauri/target/debug/tauri-ts-demo
  Reason: tried<EMAIL_ADDRESS>(no such file), '/usr/local/lib/libMylib.dylib' (no such file), '/usr/lib/libMylib.dylib' (no such file, not in dyld cache)

Additional context
No response

I experience the same issue,
I need to add ffmpeg dylib(s) to tauri app.
I added them from himebrew and update the executable
and I can see that the dmg file has that and ldd shows that it gets them from relative path.
but I got the same error.
I

Had similar issue linking python for use in PyO3:
dyld[68631]: Library not loaded: @rpath/libpython3.10.dylib
  Referenced from: <19D37237-638A-8272-D4C8-8922F78C4401> /Users/name/project/src-tauri/target/debug/App
  Reason: no LC_RPATH's found

Was able to fix this by referencing the dylib in tauri.conf.json under tauri.macOS.frameworks:
{
  "tauri": {
    "macOS": {
      "frameworks": [
        "../assets/libpython3.10.dylib"
      ]
    }
  }
}

Had similar issue linking python for use in PyO3:
dyld[68631]: Library not loaded: @rpath/libpython3.10.dylib
  Referenced from: <19D37237-638A-8272-D4C8-8922F78C4401> /Users/name/project/src-tauri/target/debug/App
  Reason: no LC_RPATH's found

Was able to fix this by referencing the dylib in tauri.conf.json under tauri.macOS.frameworks:
{
  "tauri": {
    "macOS": {
      "frameworks": [
        "../assets/libpython3.10.dylib"
      ]
    }
  }
}

credits: #4615

@leovandriel Do you mind describing your pyo3 setup?
Did you bundle external packages into the app framework also or do you recreate an environment on the target machine?

Had similar issue linking python for use in PyO3:
dyld[68631]: Library not loaded: @rpath/libpython3.10.dylib
  Referenced from: <19D37237-638A-8272-D4C8-8922F78C4401> /Users/name/project/src-tauri/target/debug/App
  Reason: no LC_RPATH's found

Was able to fix this by referencing the dylib in tauri.conf.json under tauri.macOS.frameworks:
{
  "tauri": {
    "macOS": {
      "frameworks": [
        "../assets/libpython3.10.dylib"
      ]
    }
  }
}

credits: #4615

@leovandriel Do you mind describing your pyo3 setup? Did you bundle external packages into the app framework also or do you recreate an environment on the target machine?

@leovandriel could you help us with this?

Where do I add this / is this up to date? If I add it to tauri.conf.json under root, it complains:

Property tauri is not allowed.

{
  "$schema": "https://schema.tauri.app/config/2",
  // ...
  "tauri": {
    "macOS": {
      "frameworks": [
        "../assets/libpython3.10.dylib"
      ]
    }
  }

}

replace "tauri" with "bundle"


Drop Kestrel as default server

Work in progress... will be working on tonight.

So this builds, but I have not tested it yet for http or stdio... in theory they should work, but not with any level of confidence! 😄

Updated to be in sync with the latest code base, I think we discussed some of the parts on slack, but I expect more comments. 🕺 💃

Updated... the strangest thing is failing to work at the moment.  For some reason kestrel won't load properly, and I can't figure out why.

@DustinCampbell any insight into the build failures on linux / mac?  Seems like since dotnet publish isn't used that libuv.dll isn't added.

Yeah, we're not bundling libuv and dotnet publish requires a RID, which isn't relevant in our world of Mono builds. I had this as a discussion item in https://github.com/OmniSharp/omnisharp-roslyn/pull/915.
I think we should just apt-get install libuv1. On OSX, brew install libuv

okay, I'll look to add those to the build.

No worries! I've got it.

Updated with rest of the feedback

woo-hoo!

epic! 🏄


API to Delete User Account

Endpoint Information

API Endpoint URL: /api/v1/users/accounts/delete/:id
HTTP Method: DELETE
Authentication: JWT Authentication

Request Payload

Request Format: JSON
No request payload is necessary for account deletion as the user ID is provided in the URL path.

Response Format

Success Response:{
  "accountId": "789012",
  "status": "success",
  "message": "Account deleted successfully",
  "data": null
}

Error Response (if account does not exist):{
  "status": "error",
  "message": "Account not found",
  "data": null
}

This API allows users to delete their accounts by providing the account ID in the URL path. Upon successful deletion, it returns a success response with a message confirming the deletion. If the account does not exist, it returns an error response indicating that the account was not found.

Hey @sayan404 Sir Please Assign This Issue to me Under JWOC 2024

assigning @JavidSumra


[android] Get urls from MDNS TXT record

This change deprecates broadcasting a url as the MDNS service name.
Instead, if the service type is "physical-web", it will grab a JSON
array of urls from the "urls" attribute of that service.

Should I reply here or would you want to keep the thread at the JmDNS issue?
This is also "just" an implementation of the discovery for android devices.
IMHO it would be better to start with an explanation what you try to do using DNS-SD and start with a specification at all. The implemetation should be the next step, after the specification is finished.
Are the hosts different from publisher and target? Or why you can't use http service?

This is just a prototype app where we do quick experiments, get things wrong, and hopefully the community to help us get it right.  So that's why you don'

@maggu2810 This is just a prototype app where we do quick experiments, get things wrong, and hopefully the community helps us get it right. So that's why there's not a design spec for everything.
Anyway, our goal here is to use MDNS to advertise urls.  What do the publisher and target refer to in this context?  What do you mean by using an http service?  What do you think the right way of broadcasting urls over MDNS would be?

@cco3
I already posted some related documents in the referenced topic above (openhab/jmdns#25). Please read the mDNS stuff.
I can't read them for you, no remaining time in my spare time. Sorry, but I am very busy at the moment.
Here some document references for the specific topics.

http://www.multicastdns.org/
http://www.dns-sd.org/

What do the publisher and target refer to in this context?

I said publisher to the one, that publishs an serivce through multicast.
target is a field in the DNS SRV Ressource Record (https://www.ietf.org/rfc/rfc2782.txt page 3)

What do you mean by using an http service?

There is already a service type for http URLs. (http://www.dns-sd.org/servicetypes.html)

http            World Wide Web HTML-over-HTTP
                Tim Berners-Lee
                Protocol description: RFC 2616
                Defined TXT keys: u= p= path=
                (see txtrecords.html#http)
                Known Subtypes: _printer
                NOTE: ...

This is just the first part. See the homepage for more information. There is also other another documents linked, for the TXT record spec of the http service, etc.
http://www.dns-sd.org/txtrecords.html#http

What do you think the right way of broadcasting urls over MDNS would be?

This will depend on what aspects I have to fulfill.
I have to read the specs, too and have a look at

if there is still something present, that could be used for my use case
if there is nothing, that could be used, I would create a new service type and have to read all the specs to do it right, compliant, ...

What do you think the right way of broadcasting urls over MDNS would be?

This will depend on what aspects I have to fulfill.
I have to read the specs, too and have a look at

This is the question that concerns us. If you have a concrete proposal on how to improve what we're proposed, we're all ears.

Hmm...the urlbookmark service type does look quite fitting.  I've uploaded a new patchset that uses that.


AddingMyPet

Added feature to upload pet photos issue10

But now the problem is that each individual users will have to make a PR and upload their cat image. I mean would they? Or should I upload some default images for future contributors?

I think you need to add the feature to the updated version of index.html, which includes all the animal cards that have been added ever since you added yours or the merge won't go through. The feature itself looks great! I suggest centering the
 within the
 to improve the overall appearance of the card, especially with the image at the top. What do you think?
I think we could add some random pictures of animals to the cards that are already on the page and I'll ping contributors to make a PR and change the picture to the one of their animal if they wish to. We also have to update CONTRIBUTING.md to let people know about the new change.

I think you need to add the feature to the updated version of index.html, which includes all the animal cards that have been added ever since you added yours or the merge won't go through. The feature itself looks great! I suggest centering the
 within the
 to improve the overall appearance of the card, especially with the image at the top. What do you think?
I think we could add some random pictures of animals to the cards that are already on the page and I'll ping contributors to make a PR and change the picture to the one of their animal if they wish to. We also have to update CONTRIBUTING.md to let people know about the new change.

Yeah I giving a though of that as well that for now we will add images for the pets by our own so that the new users willing to contribute gets the idea. And yeah I gave it a thought of centering the card but we didn't talked about that so I didn't do it without your consent. I'll do as you have mentioned. And do not worry about making changes to CONTRIBUTE.md I'll do that as well after I am done with this task.

I think you need to add the feature to the updated version of index.html, which includes all the animal cards that have been added ever since you added yours or the merge won't go through. The feature itself looks great! I suggest centering the
 within the
 to improve the overall appearance of the card, especially with the image at the top. What do you think?
I think we could add some random pictures of animals to the cards that are already on the page and I'll ping contributors to make a PR and change the picture to the one of their animal if they wish to. We also have to update CONTRIBUTING.md to let people know about the new change.

Yeah I gave it a though of that as well that for now we will add images for the pets by our own so that the new users willing to contribute gets the idea. And yeah I gave it a thought of centering the card but we didn't talked about that so I didn't do it without your consent. I'll do as you have mentioned. And do not worry about making changes to CONTRIBUTE.md I'll do that as well after I am done with this task.

Centering the .border div would be great. I have also created a new issue. Do check that as well.

I think you need to add the feature to the updated version of index.html, which includes all the animal cards that have been added ever since you added yours or the merge won't go through. The feature itself looks great! I suggest centering the
 within the
 to improve the overall appearance of the card, especially with the image at the top. What do you think?
I think we could add some random pictures of animals to the cards that are already on the page and I'll ping contributors to make a PR and change the picture to the one of their animal if they wish to. We also have to update CONTRIBUTING.md to let people know about the new change.

Yeah I gave it a though of that as well that for now we will add images for the pets by our own so that the new users willing to contribute gets the idea. And yeah I gave it a thought of centering the card but we didn't talked about that so I didn't do it without your consent. I'll do as you have mentioned. And do not worry about making changes to CONTRIBUTE.md I'll do that as well after I am done with this task.

Perfect, thank you so much! Take your time. If you need any help, let me know!

I think you need to add the feature to the updated version of index.html, which includes all the animal cards that have been added ever since you added yours or the merge won't go through. The feature itself looks great! I suggest centering the
 within the
 to improve the overall appearance of the card, especially with the image at the top. What do you think?
I think we could add some random pictures of animals to the cards that are already on the page and I'll ping contributors to make a PR and change the picture to the one of their animal if they wish to. We also have to update CONTRIBUTING.md to let people know about the new change.

Yeah I gave it a though of that as well that for now we will add images for the pets by our own so that the new users willing to contribute gets the idea. And yeah I gave it a thought of centering the card but we didn't talked about that so I didn't do it without your consent. I'll do as you have mentioned. And do not worry about making changes to CONTRIBUTE.md I'll do that as well after I am done with this task.

Perfect, thank you so much! Take your time. If you need any help, let me know!

I have fetched the main branch and merge it with addingMyPet my branch but I do not see the updated index.html in addingMyPet


[ubuntu-slim] Update ubuntu image

This change is

I know nothing about this image.

@bprashanth please check the security scans https://quay.io/repository/aledbf/ubuntu-slim?tab=tags to see the reason for the update.


Q and Amy Article

http://www.greenvilleonline.com/story/news/2015/10/27/downtown-trolley-tracker-app/74641028/

Nice!
On Tue, Oct 27, 2015 at 4:51 PM, Adam Gautsch<EMAIL_ADDRESS>wrote:

http://www.greenvilleonline.com/story/news/2015/10/27/downtown-trolley-tracker-app/74641028/
—
Reply to this email directly or view it on GitHub
https://github.com/codeforgreenville/trolley-tracker/issues/102.

https://goo.gl/photos/BbZY7pA8zkNXVPFS7


React-admin and msal-react

Library

[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description
I am trying to protect a React-admin application with Azure AD B2C using msal-react lib. I cannot make it run.
What is the recommended approach to integrate msal-react with React Admin app? Should I use build-in React Admin Authentication concepts (authProvider, loginPage, loginButton) or should MsalProvider and explictly call loginPopup/loginRedirect methods?

@ducalai I am not familiar with React-admin and how that can be integrated with msal-react so I unfortunately don't have specific guidance I can provide. If you run into any specific issues with msal-react though we would be happy to help you solve them.

Closing, please open a new issue if you run into issues with msal-react. Thanks!


feat: rename replacedmsg to nonceconfict

关联的Issues (Related Issues)

close https://github.com/filecoin-project/venus/issues/5612
改动 (Proposed Changes)

附注 (Additional Info)

自查清单 (Checklist)
在你认为本 PR 满足被审阅的标准之前，需要确保 / Before you mark the PR ready for review, please make sure that:

[ ] 符合Venus项目管理规范中关于PR的相关标准 / The PR follows the PR standards set out in the Venus project management guidelines
[ ] 具有清晰明确的commit message / All commits have a clear commit message.
[ ] 包含相关的的测试用例或者不需要新增测试用例 / This PR has tests for new functionality or change in behaviour or not need to add new tests.
[ ] 包含相关的的指南以及文档或者不需要新增文档 / This PR has updated usage guidelines and documentation or not need
[ ] 通过必要的检查项 / All checks are green

Codecov Report

Merging #304 (499296e) into master (0632f03) will increase coverage by 0.01%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##           master     #304      +/-   ##
==========================================
+ Coverage   54.29%   54.31%   +0.01%
==========================================
  Files          69       69
  Lines        7024     7022       -2
==========================================
  Hits         3814     3814
+ Misses       2911     2909       -2
  Partials      299      299

Flag
Coverage Δ

unittests
54.31% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cli/msg.go
0.00% <ø> (ø)

service/message_service.go
59.94% <100.00%> (+0.16%)
:arrow_up:

service/message_state_refresh.go
71.63% <100.00%> (ø)


Feature Request

Is there a chance to filter based on tenant or VRF?
TNX, ciao

This plugin uses the same filters (plus some additional ones) as the builtin NetBox API endpoints. You can checkout the API documentation for this plugin by opening the API documentation on a NetBox instance with this plugin installed.

I'm not sure about the original requestor, however I'd like to query based on tenant in much the same way you can query based on tag. Find me all IP addresses and prefixes in the specified tenant and summarize the result.

@jschewebbn could you open a new issue and explain your use case. Is there any reason why you can't just use the tenant filter on the existing endpoints?


Sahar

👷 Deploy Preview for crpp-ai-oncology processing.

Name
Link

🔨 Latest commit
2a633380f78b685f0d54ae1bef0ff2214935cf34

🔍 Latest deploy log
https://app.netlify.com/sites/crpp-ai-oncology/deploys/62ac04896431a0000827f604


Feature/ted7-10

This PR is without tests since we need to run it on server asap. On the next PR's, I will cover code with tests.


The images in the website used are not relative.

The images used in the website are not related to the website's overall theme and don't convey the real message that the website is used for education.

We should use images related to education that would be more suitable for the theme of the website.
I would like to take this issue under GSSOC'23.

please show some samples of images.

We can show images related to our services that would be beneficial, that we provide services that are not limited to age or specific topics and we provide a range of sources.

@PiyushKalyanpy

For now we have decided not to update the images.


New BackTracking Algorithm

adding rat in maze problem in backtracking folder

@pankaj-bind please assign me this, I want to work on this


Unable to authenticate after HA update

Hi,
I have updated HA and after a reboot I am now getting authentication errors;
Logger: bimmer_connected.account
Source: /usr/local/lib/python3.8/site-packages/bimmer_connected/account.py:107
First occurred: 14:17:13 (8 occurrences)
Last logged: 14:18:00
The BMW Connected Drive portal returned an error: UNKNOWN_ERROR (received status code 502 and expected 200).
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/account.py", line 102, in _get_oauth_token
response = self.send_request(url, data=data, headers=headers, allow_redirects=False,
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/account.py", line 156, in send_request
raise IOError(msg)
OSError: The BMW Connected Drive portal returned an error: UNKNOWN_ERROR (received status code 502 and expected 200).
Logger: bimmer_connected.account
Source: /usr/local/lib/python3.8/site-packages/bimmer_connected/account.py:106
First occurred: 14:17:13 (8 occurrences)
Last logged: 14:18:00
Authentication failed. Maybe your password is invalid?

I am still getting the error below,  but one on one of the accounts I have connected, the other vehicle on the other account I don't get any errors.    strange thing is I get the execution error but it does actually perform the action;
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/bmw_connected_drive/lock.py:81
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 21:03:00 (1 occurrences)
Last logged: 21:03:00
[139770613953104] 'executionStatus'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 143, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1515, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 206, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 649, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 692, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/lock/init.py", line 103, in async_lock
await self.hass.async_add_executor_job(ft.partial(self.lock, **kwargs))
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/bmw_connected_drive/lock.py", line 81, in lock
self._vehicle.remote_services.trigger_remote_door_lock()
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/remote_services.py", line 159, in trigger_remote_door_lock
result = self._block_until_done(_Services.REMOTE_DOOR_LOCK)
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/remote_services.py", line 214, in _block_until_done
status = self._get_remote_service_status(service)
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/remote_services.py", line 237, in _get_remote_service_status
return RemoteServiceStatus(json_result)
File "/usr/local/lib/python3.8/site-packages/bimmer_connected/remote_services.py", line 119, in init
status = response['executionStatus']
KeyError: 'executionStatus'

Thats probably because you are using the custom component. It was fixed in HA with HA 2021.3.0 through https://github.com/home-assistant/core/pull/47066 (bumping bimmer_connected to 0.7.15).
We didn't upgrade the custom component though.


Add new npm run target for pr checks

When running in a Jenkins pr check, do not init/migrate the DB, only seed.

We moved to containerized PR checks so this is now obsolete.


ASAN: AutoString in ch causes leaks in 262/262test.js

Low severity because, IIUC, the issue is in ch code.

My concern is that it will hide more important failures. @penguinwizard a benefit of getting ASAN working on shared builds could be that we just track chakracore.so and we can forget about ch, no?

@jackhorton not saying this should be ignored. Improvements that improve effectiveness of ASAN are definitely welcome.


don't need to call glog's logging

glog's logging conflict with butil's logging on v flag

@chenzhangyi @jamesge @zyearn review?


move vad package to audio.vad

This is not breaking anything. You will just get a warning if you use the old package. This change is because I'll be adding audio.filters so everything audio related should be in the new audio package.


Compilation fails when compiling master with MinGW-W64 6.3.0 (or 8.1.0) under Windows – "definition is marked dllimport"

[  8%] Building CXX object IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFloatExc.cpp.obj
In file included from D:/Works/openexr-current/IlmBase/Iex/IexMathExc.h:40:0,
                 from D:/Works/openexr-current/IlmBase/IexMath/IexMathFloatExc.h:58,
                 from d:/Works/openexr-current/IlmBase/IexMath/IexMathFloatExc.cpp:43:
D:/Works/openexr-current/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc()' definition is marked dllimport
 DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc)    // Invalid arguments to a function call
                             ^
D:/Works/openexr-current/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP'
         exp name()                         throw(): base (0)    {}  \
             ^~~~
D:/Works/openexr-current/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc(const char*)' definition is marked dllimport
 DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc)    // Invalid arguments to a function call
                             ^
D:/Works/openexr-current/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP'
         exp name (const char* text)        throw(): base (text) {}  \
[ a lot more errors related to DEFINE_EXC_EXP macro ]

Indeed, passing the file through CXX preprocessor gives:
[...]
# 149 "D:/Works/openexr-current/IlmBase/Iex/IexBaseExc.h"
class ArgExc: public BaseExc { public: __attribute__((dllimport)) ArgExc() throw(): BaseExc (0) {} __attribute__((dllimport)) ArgExc (const char* text) throw(): BaseExc (text) {} __attribute__((dllimport)) ArgExc (const std::string &text) throw(): BaseExc (text) {} __attribute__((dllimport)) ArgExc (std::stringstream &text) throw(): BaseExc (text) {} __attribute__((dllimport)) ~ArgExc() throw() { } };
[...]

It seems that there is an error in dllexport/dllimport logic, but I couldn't find it.

That usually happens when OPENEXR_DLL is not specified properly. Is it possible that the Cmake scripts detect Windows and MSVC specifically, and fail with Windows and gcc?

It seems that OPENEXR_DLL is defined as expected, e.g <BUILD_DIR>\IlmBase\IexMath\CMakeFiles\IexMath.dir\flags.make looks like this:
# CMAKE generated file: DO NOT EDIT!
# Generated by "MSYS Makefiles" Generator, CMake Version 3.13

# compile CXX with C:/Tools/MinGW-W64/i686-6.3.0-posix-sjlj-rt_v5-rev1/mingw32/bin/g++.exe
CXX_FLAGS = -march=prescott -mfpmath=sse -msse3 -O3 -DNDEBUG   -std=c++11

CXX_DEFINES = -DHAVE_CONFIG_H -DIEXMATH_EXPORTS -DIexMath_EXPORTS -DOPENEXR_DLL

CXX_INCLUDES = @CMakeFiles/IexMath.dir/includes_CXX.rsp

Looking into the backlog of open OpenEXR issues. The cmake system has been entirely rewritten, can you try this again? Is this still an issue?

@cary-ilm
I have just compiled master (eae0e337) with MinGW-W64 6.3.0 and everything seems to be fine. Configure command:
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-march=prescott -mfpmath=sse -msse3" -DCMAKE_CXX_FLAGS="-march=prescott -mfpmath=sse -msse3" -DCMAKE_EXE_LINKER_FLAGS="-s" -DCMAKE_SHARED_LINKER_FLAGS="-s" -DCMAKE_INSTALL_PREFIX="D:/Works/openexr-build/installdir" -DPYILMBASE_ENABLE=OFF -DOPENEXR_VIEWERS_ENABLE=OFF -DILMBASE_INSTALL_PKG_CONFIG=ON -DOPENEXR_CXX_STANDARD=11 D:/Works/openexr-current