Custom role user can not upload a file inside CKEditor despite having Edit, Manage permission to Role for HTML Module & HTML Editor Manager

Description of bug
Custom role user can not upload a file inside CKEditor despite having Edit, Manage permission to Role for HTML Module & HTML Editor Manager
Steps to reproduce
Login as host

Create custom role namely "test"
Create a user namely "testuser1", and assign it role "test"
Create a page "test-file-upload", with permission to role "test" to view & edit. In advanced tab, Under "Modules on Page" go in setting of HTML Module. In settings give "Edit Module" permission as well to role "test"
Go to PB > Settings > Extensions > Modules and edit the HTML Module. In the Site Settings tab you'll find a way to grant the CAN DEPLOY permission to desired roles.
Go to PB > Site Settings > Site Behavior > More> Click on "Open HTML Editor Manager", Select the "File Browser Settings". In "Allowed Roles", check on "test" role, also set the "Upload File Limit" for test role
In other different browser logged-in as "testuser1", browser to "test-file-upload" page and click on "pencil" on right, open page in edit mode.
Hover on HTML Module. Click on Edit content. Then CKEditor will be loaded, click on Image as shown in screenshot namely "image-icon".

Current result
Then in pop-up no "Upload" tab shown (which does show up when HOST user) check screenshot "No-Upload-tab"
When click on "Browser Server" inside Image Info tab, then another pop-up appear with File-upload disabled.
Expected result
Ist Pop-up should show "Upload" tab.
When click on "Browser Server" inside Image Info tab, then another pop-up should appear with File-upload icon  Enabled.
Screenshots

Affected version

[x] 9.3.2
[x] 9.3.1
[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1
[x] 9.0
[x] 8.5

please make sure, you granted "write" permission to the user (or one of the roles he is member of) for the upload folder in PB >Manage > Website Files

Thnx alot @sleupold.  Closing this as it is achievable.


tests, Allow the test to continue in fail case

Currently when the test fails the scripts stops without printing
the error message. Allow the test to continue allows for a better
log output.
Signed-off-by: Ram Lavi<EMAIL_ADDRESS>

After the fix this is the valuable content added to the logs:
Error: Tap-Junit: Looks like some test suites failed
    at /home/ralavi/.npm/_npx/50612/lib/node_modules/tap-junit/src/index.js:42:23
+ true
+ print_test_results /tmp/coreos-assembler-k5qO9k/tests_output
+ local test_output=/tmp/coreos-assembler-k5qO9k/tests_output
+ cat /tmp/coreos-assembler-k5qO9k/tests_output
=== RUN   rhcos.network.multiple-nics
=== RUN   rhcos.network.bond-with-dhcp
--- FAIL: rhcos.network.multiple-nics (48.09s)
        cluster.go:144: Error: brcnv-iface - no such connection profile.
        cluster.go:167: "nmcli -g 802-3-ethernet.cloned-mac-address connection show brcnv-iface" failed: output , status Process exited with status 10
--- FAIL: rhcos.network.bond-with-dhcp (56.64s)
        cluster.go:144: Error: brcnv-iface - no such connection profile.
        cluster.go:167: "nmcli -g 802-3-ethernet.cloned-mac-address connection show brcnv-iface" failed: output , status Process exited with status 10
FAIL, output in _kola_temp/qemu-unpriv-2021-09-19-1146-50298
+ expect_tests_to_succeed /tmp/coreos-assembler-k5qO9k/tests_output
+ local test_output=/tmp/coreos-assembler-k5qO9k/tests_output
++ grep FAIL: /tmp/coreos-assembler-k5qO9k/tests_output
+ [[ -n '' ]]
+ echo 'tests passed'
tests passed
+ teardown
+ echo 'Copying test artifacts to /tmp/coreos-assembler-k5qO9k/artifacts'
Copying test artifacts to /tmp/coreos-assembler-k5qO9k/artifacts
+ cp -r /tmp/coreos-assembler-k5qO9k/mantle/_kola_temp/junit.xml /tmp/coreos-assembler-k5qO9k/mantle/_kola_temp/qemu-unpriv-2021-09-19-1146-50298 /tmp/coreos-assembler-k5qO9k/mantle/_kola_temp/qemu-unpriv-latest /tmp/coreos-assembler-k5qO9k/artifacts

@kobi86 can you take a look?

The test is failing on Error: brcnv-iface - no such connection profile
The name of the Iface is changed to ovs-brcnv-iface

@kobi86 I'm not sure what you meant. The error message I added is an example of how the log would look like if it failed.
IUUC the lane didn't fail on this PR.

/cherry-pick simplify-networking

Please make the artifacts(logs) location more readable and accessible and in separate line in the stdout,
something like: Artifacts/logs location: /tmp/coreos-assembler-k5qO9k/mantle/_kola_temp/qemu-unpriv-2021-09-19-1146-50298

Please make the artifacts(logs) location more readable and accessible and in separate line in the stdout, something like: Artifacts/logs location: /tmp/coreos-assembler-k5qO9k/mantle/_kola_temp/qemu-unpriv-2021-09-19-1146-50298

will do in a separate PR

Then this is LGTM to me :)

can you approve the PR then?


Sanip IP information is a str not a list

Current result is in my logs
"remote_ip": "1"
request.ip is defined as str in the Sanic documentation:
https://sanic.readthedocs.io/en/latest/sanic/request_data.html

@koug44 thanks for your contribution, released https://pypi.org/project/json-logging/1.2.11/


Fixed error handling for 404 errors and added support for thumbnails.

Previously, the application would crash if the library was asked to download an invalid id. While ids could be validated outside of the library, it would require another instance of ytdl which means (on average) another request to Youtube (if the id is valid). As such, handling id validation within the library is the most efficient way to do this, minimizing the amount of code needed outside of the library and the number of requests made to Youtube.
I also added the URL to a video's thumbnail in the resultObj, in case the client wants to store the information and display it later on. While one could argue this is easy enough to generate and should not be returned, so is the videoUrl. Returning it also protects against YouTube changing its thumbnail path, which would otherwise break hard-coded URLs.

Thanks for the PR!

FYI, new version 0.4.3 was published on NPM.


why "export BETTER_EXCEPTIONS=1" works?

Hi, thanks for your awesome project :)
I'm curious about why just exporting an env variable could make hook fucntion register expectionhook to python.
This doesn't seem straightforward compared with next two lines of code:
from better_exceptions import hook
hook()

Beg your explanation,  thanks.

Oh, I see. Seems code here reigisters your hook.pth.


Class variable name suggestions don't work on Rubinius 2.4.1/2.5.2

See:

https://travis-ci.org/yuki24/did_you_mean/jobs/51671463#L252-L269
https://travis-ci.org/yuki24/did_you_mean/jobs/51671470#L253-L273

This issue is unfixable unless we get support from the Rubinius team. I'll close this issue for now.


Proposal: Rework middleware with gorilla

I was looking at updating negroni, but eventually decided to just dump it.  Since webhook was originally released, gorilla/mux has added middleware support.  Therefore, I propose that we use gorilla/mux for routing and middleware.
I also looked at several other routers, but I think gorilla/mux is good enough for us and will make for a smaller PR.
I have a working feature branch that implements this proposal and also adds some additional, internal middleware:

Request ID generation is moved to middleware.
Request ID middleware can use X-Request-ID header if webhook is behind a proxy (enabled with cli option).
New Logger middleware customized to match our existing logging format (mostly, I also output the size of the response).
New Dumper middleware for dumping request and response header/body.  Implemented behind a debug cli option.  Very handy.

Thoughts?

Sounds good, I chose negroni simply because it was the hot thing back then and had everything I needed for the prototype. :-)

Fixed in #375


add CountSymbol method to Gene and Genome types to make it possible to i...

...nspect function and even terminal usage when calculating fitness for a generated Gene

Thanks!  I'll check this out once Travis reports no errors:
https://travis-ci.org/gmlewis/gep/jobs/58668336

Note that although CountSymbol counts the number of times a symbol appears in a Gene or Genome expression tree, I don't think this is a useful implementation because it does not truly represent the number of times a symbol is used in the resulting code.
For example, let's take a simple Gene like "+.d0.d1.+.+.+.+.d0.d1.d1.d1.d0.d1.d1.d0"
The counts returned by these functions would be:
+ 5
d0 4
d1 6

when in reality, the counts are actually only:
+ 1
d0 1
d1 1

So I think we need to use some of the code-generation algorithm to really determine the true counts of any particular symbol.  Do you want to take a stab at that, or would you like me to?

Humm, to be honest I am still attempting to wrap my head around the whole "head" vs the rest of the gene thing and how some symbols in the Gene are not actually appearing in the generated code. It is quite confusing for example to know what size to pass into the headSize parameter to Model.New(). In looking at the way I was using this function, I was only testing to see if the use count was zero or >= 1 so I was not seeing the problem you describe. I was using it for example to reject randomly generated genes that did not make use of both input terminals when 2 inputs were passed. Please go ahead with the approach you describe as it sounds more useful and general purpose.

Right... the head vs tail thing is definitely a bit tricky and this evening I just realized that my comments didn't do a very good job of explaining things.  Dr. Ferreira's book obviously is the definitive reference, but in #2 I attempted to add better comments to try and explain things a bit more.

I've implemented SymbolCount in #3 which reflects the true usage of each symbol.
It is a map for all used symbols and is calculated only once when the function is built.
This should give the highest performance and also the greatest accuracy.
SymbolCount is implemented both for the Gene and the Genome.
Closing this PR.  Thank you for the idea!


[Debug Feature] print actual backtrace when Idle WDT fires (IDFGH-10181)

Is your feature request related to a problem?

In the example below, we should print the backtrace of btApiTask, but instead we get the backtrace of the idle task (much less useful).
I think we could do this with a task snapshot. See: https://github.com/espressif/esp-idf/issues/9708
I (294133) pd midi reader seek: seeking to begining: 0x16 (firstMsgOffset)
I (294143) pd midi reader: open success.
I (294173) pd xtrans: header: Content-Length: 1914
E (354233) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (354233) task_wdt:  - IDLE (CPU 1)
E (354233) task_wdt: Tasks currently running:
E (354233) task_wdt: CPU 0: IDLE
E (354233) task_wdt: CPU 1: btApiTask
E (354233) task_wdt: Aborting.

abort() was called at PC 0x421b7608 on core 0
0x421b7608: task_wdt_isr at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)

Backtrace: 0x403782cb:0x3fcbb8a0 0x4038e74d:0x3fcbb8d0 0x403a65a7:0x3fcbb900 0x421b7608:0x3fcbb980 0x4037dc31:0x3fcbb9c0 0x4218405a:0x3fcf61f0 0x42007b1e:0x3fcf6220 0x403944de:0x3fcf6250
0x403782cb: panic_abort at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_system/panic.c:429

0x4038e74d: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:137

0x403a65a7: abort at /esp-idf/components/newlib/abort.c:46

0x421b7608: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)

0x4037dc31: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1114

0x4218405a: cpu_ll_waiti at /esp-idf/components/hal/esp32s3/include/hal/cpu_ll.h:185
 (inlined by) esp_pm_impl_waiti at /esp-idf/components/esp_pm/pm_impl.c:830

0x42007b1e: esp_vApplicationIdleHook at /esp-idf/components/esp_system/freertos_hooks.c:63

0x403944de: prvIdleTask at /esp-idf/components/freertos/tasks.c:3997 (discriminator 1)

I see there has been a lot of changes to void task_wdt_isr(void *arg) in v5.0, so perhaps this work os already done?

For anyone else on v4.4, a simple workaround is to disable CONFIG_ESP_TASK_WDT_PANIC in KCondig.

I still have the same problem with v5.1
===============================================================
==================== ESP32 CORE DUMP START ====================

Crashed task handle: 0x3ffc3ce4, name: 'IDLE', GDB name: 'process<PHONE_NUMBER>'

================== CURRENT THREAD REGISTERS ===================
exccause       0x400833ec (Invalid EXCCAUSE code)
excvaddr       0x4008f3b6
epc1           0x400e2dbd
epc2           0x0
epc3           0x0
epc4           0x0
epc5           0x4008f2ba
epc6           0x0
eps2           0x0
eps3           0x0
eps4           0x0
eps5           0x60023
eps6           0x0
pc             0x4000bff0          0x4000bff0
lbeg           0x0                 0
lend           0x0                 0
lcount         0x0                 0
sar            0x1d                29
ps             0x60020             393248
threadptr      <unavailable>
br             <unavailable>
scompare1      <unavailable>
acclo          <unavailable>
acchi          <unavailable>
m0             <unavailable>
m1             <unavailable>
m2             <unavailable>
m3             <unavailable>
expstate       <unavailable>
f64r_lo        <unavailable>
f64r_hi        <unavailable>
f64s           <unavailable>
fcr            <unavailable>
fsr            <unavailable>
a0             0x80094dcb          -2146873909
a1             0x3ffc3b80<PHONE_NUMBER>
a2             0x0                 0
a3             0x60023             393251
a4             0x60020             393248
a5             0x3f403828<PHONE_NUMBER>
a6             0xb33fffff          -1287651329
a7             0xb33fffff          -1287651329
a8             0x0                 0
a9             0x1                 1
a10            0x7b096c            8063340
a11            0x3ffb096c<PHONE_NUMBER>
a12            0x60423             394275
a13            0x3f403828<PHONE_NUMBER>
a14            0xb33fffff          -1287651329
a15            0xb33fffff          -1287651329

==================== CURRENT THREAD STACK =====================
#0  0x4000bff0 in ?? ()
#1  0x40094dcb in vApplicationGetIdleTaskMemory (ppxIdleTaskTCBBuffer=0x3ffb5fac <port_uxOldInterruptState+4>, pp
xIdleTaskStackBuffer=0x3ffc3bc0, pulIdleTaskStackSize=0x4) at /home/dizcza/tools/esp-idf/components/freertos/port
_common.c:52
#2  0x400920b4 in find_entry_from_task_handle_and_check_all_reset (handle=0x0, all_reset=0x60023) at /home/dizcza
/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:146
#3  0x4009213a in prvCopyDataToQueue (pxQueue=0x40092134 <prvCopyDataToQueue>, pvItemToQueue=0x60020, xPosition=4
) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/queue.c:2356
#4  0x40092019 in esp_task_wdt_reset () at /home/dizcza/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:7
83
#5  0x40093093 in prvCheckTasksWaitingTermination () at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-K
ernel/tasks.c:4567
#6  prvIdleTask (pvParameters=<optimized out>) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/
tasks.c:4231
#7  0x40094b4d in uxInitialiseStackTLS (ret_threadptr_reg_init=<optimized out>, uxStackPointer=<optimized out>) a
t /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:263
#8  pxPortInitialiseStack (pxTopOfStack=<optimized out>, pxCode=0x0, pvParameters=0x0) at /home/dizcza/tools/esp-
idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:450

======================== THREADS INFO =========================
  Id   Target Id          Frame
* 1    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  2    process<PHONE_NUMBER> 0x4016c7ef in _strtod_l (ptr=0x0, s00=<optimized out>, se=0x3ffc2ab0, loc=<optimized ou
t>) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdlib/strtod.c:811
  3    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  4    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  5    process<PHONE_NUMBER> 0x40087f84 in ipc_task (arg=<optimized out>) at /home/dizcza/tools/esp-idf/components/e
sp_system/esp_ipc.c:76
  6    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  7    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  8    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  9    process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  10   process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  11   process<PHONE_NUMBER> 0x4000bff0 in ?? ()
  12   process<PHONE_NUMBER> 0x4000bff0 in ?? ()

==================== THREAD 1 (TCB: 0x3ffc3ce4, name: 'IDLE') =====================
#0  0x4000bff0 in ?? ()
#1  0x40094dcb in vApplicationGetIdleTaskMemory (ppxIdleTaskTCBBuffer=0x3ffb5fac <port_uxOldInterruptState+4>, pp
xIdleTaskStackBuffer=0x3ffc3bc0, pulIdleTaskStackSize=0x4) at /home/dizcza/tools/esp-idf/components/freertos/port
_common.c:52
#2  0x400920b4 in find_entry_from_task_handle_and_check_all_reset (handle=0x0, all_reset=0x60023) at /home/dizcza
/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:146
#3  0x4009213a in prvCopyDataToQueue (pxQueue=0x40092134 <prvCopyDataToQueue>, pvItemToQueue=0x60020, xPosition=4
) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/queue.c:2356
#4  0x40092019 in esp_task_wdt_reset () at /home/dizcza/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:7
83
#5  0x40093093 in prvCheckTasksWaitingTermination () at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-K
ernel/tasks.c:4567
#6  prvIdleTask (pvParameters=<optimized out>) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/
tasks.c:4231
#7  0x40094b4d in uxInitialiseStackTLS (ret_threadptr_reg_init=<optimized out>, uxStackPointer=<optimized out>) a
t /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:263
#8  pxPortInitialiseStack (pxTopOfStack=<optimized out>, pxCode=0x0, pvParameters=0x0) at /home/dizcza/tools/esp-
idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:450

The backtrace is not informative

I expected to see that the sdprecord_read_sensor_task WDT is triggered at line
ulTaskNotifyTake(pdTRUE, portMAX_DELAY); Or at least the name of the task. Not IDLE.
In the coredump I showed, there is no such information whatsoever.

Interesting. looking at the code I thought there were improvements in v5.1.
I've reopened. That's too bad.

@dizcza could you please check the ELF file SHA256 printed by your app at startup, and compare it to the SHA256 of the ELF file passed to espcoredump.py?
Unreasonable backtraces like the one you have posted (e.g. prvCheckTasksWaitingTermination most definitely doesn't call esp_task_wdt_reset) are most often the result of a mismatch between the ELF file used to produce the application binary and the ELF file used when decoding the core dump.

@dizcza could you please check the ELF file SHA256 printed by your app at startup, and compare it to the SHA256 of the ELF file passed to espcoredump.py?
Unreasonable backtraces like the one you have posted (e.g. prvCheckTasksWaitingTermination most definitely doesn't call esp_task_wdt_reset) are most often the result of a mismatch between the ELF file used to produce the application binary and the ELF file used when decoding the core dump.

Indeed, the SHA differs:
I (1458) cpu_start: ELF file SHA256:  99af209085100ddf...
I (08:50:19.357) coredump: App SHA:
I (08:50:19.360) coredump: 33 65 33 62 64 65 36 30 66 36 30 64 32 30 39 65

The coredump app SHA is taken from the app_elf_sha256 of the coredump summary.
After I erased the flash entirely and did nothing to the app I got yet another coredump SHA:
I (00:00:01.116) coredump: App SHA:
I (00:00:01.120) coredump: 39 39 61 66 32 30 39 30 38 35 31 30 30 64 64 66

My coredump procedure is the following. First, I set up the partitions like so:
nvs,      data, nvs,     ,        0x4000,
otadata,  data, ota,     ,        0x2000,
phy_init, data, phy,     ,        0x1000,
factory,  app,  factory, ,        0x127000,
ota_0,    app,  ota_0,   ,        0x127000,
ota_1,    app,  ota_1,   ,        0x127000,
coredump, data, coredump,,        64K,

Then I configured the app to dump backtraces to flash. Upon reset, I read the coredump partition and copy raw bytes to an SD card mounted to my ESP32 board. Finally, I download this binary file and run
idf.py coredump-info -c COREDUMP.BIN -p /dev/ttyACM0

The code to read a coredump and write it to an SD card:
void coredump_log_sdcard() {
    coredump_print_summary();

    size_t out_cd_addr = 0;
    size_t out_cd_size = 0;

    esp_err_t err = esp_core_dump_image_get(&out_cd_addr, &out_cd_size);
    bool erase = false;
    if (err != ESP_OK) {
        ESP_LOGI(TAG, "esp_core_dump_get_summary: %s", esp_err_to_name(err));
        erase = true;
    } else {
        ESP_LOGI(TAG, "core dump addr: %d", out_cd_addr);
        ESP_LOGI(TAG, "core dump size: %d", out_cd_size);
    }

    const char *label = COREDUMP_PARTITION_NAME;
    const esp_partition_t* partition = esp_partition_find_first(
            ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_COREDUMP, label);
    if (partition == NULL) {
        ESP_LOGI(TAG, "partition '%s' not found", label);
        return;
    }

    if (out_cd_size <= 0) {
        ESP_LOGW(TAG, "partition '%s' size: %d", label, out_cd_size);
        return;
    }

    if (erase) {
        // erase and exit
        esp_partition_erase_range(partition, 0, out_cd_size);
        return;
    }

    FILE* f = sdcard_record_open_file_once("COREDUMP.BIN", "w");
    if (f == NULL) {
        return;
    }

    char *buffer = (char*) malloc(COREDUMP_BUFF_SIZE);
    long offset = 0;
    while (out_cd_size > 0) {
        int chunk_size = out_cd_size > COREDUMP_BUFF_SIZE ? COREDUMP_BUFF_SIZE : out_cd_size;
        esp_partition_read(partition, offset, buffer, chunk_size);
        fwrite(buffer, sizeof(char), chunk_size, f);
        offset += chunk_size;
        out_cd_size -= chunk_size;
    }

    fclose(f);
    free(buffer);
}

Could you please give it a try to read the core dump directly from flash (with idf.py coredump-info), bypassing the step with the SD card?

Could you please give it a try to read the core dump directly from flash (with idf.py coredump-info), bypassing the step with the SD card?

Same story.

Could you try to make a version of the program which you can share, that still reproduces the issue?
I just ran the test application — https://github.com/espressif/esp-idf/tree/master/tools/test_apps/system/panic — with the config from sdkconfig.ci.coredump_flash_elf_sha, and ran the task_wdt test in that application. The backtrace was decoded correctly.

Could you try to make a version of the program which you can share, that still reproduces the issue?
I just ran the test application — https://github.com/espressif/esp-idf/tree/master/tools/test_apps/system/panic — with the config from sdkconfig.ci.coredump_flash_elf_sha, and ran the task_wdt test in that application. The backtrace was decoded correctly.

Change the infinite_loop function to
static void infinite_loop(void* arg) {
    (void) arg;

    esp_task_wdt_add(NULL);

    ulTaskNotifyTake(pdTRUE, portMAX_DELAY);

    while(1) {
        ;
    }
}

run the test_task_wdt_cpu1 test and you'll see similar output as I've shown above. Here is what I get:
Crashed task handle: 0x3ffafd60, name: 'IDLE', GDB name: 'process<PHONE_NUMBER>'

==================== CURRENT THREAD STACK =====================
#0  0x4000bff0 in ?? ()
#1  0x4008b0ee in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:568
#2  vPortExitCritical (mux=<optimized out>) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:532
#3  0x400dd33a in esp_task_wdt_reset () at /home/dizcza/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:791
#4  0x400dd342 in idle_hook_cb () at /home/dizcza/tools/esp-idf/components/esp_system/task_wdt/task_wdt.c:490
#5  0x400d4c47 in esp_vApplicationIdleHook () at /home/dizcza/tools/esp-idf/components/esp_system/freertos_hooks.c:47
#6  0x400ebb7d in prvIdleTask (pvParameters=0x0) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4280
#7  0x4008aaf0 in vPortTaskWrapper (pxCode=0x400ebb74 <prvIdleTask>, pvParameters=0x0) at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162

Or this is the expected output and really no way to say which task hasn't yielded to the WDT? Cause I have lots of tasks each guarded by a WDT...

The last backtraces you have posted looks reasonable if you are registering TWDT for another task: the Idle task was running (idling) and at some point got interrupted by TWDT interrupt. In this case it's indeed not possible fo say just from the backtrace, which of the tasks has not fed the watchdog.

The last backtrace you have posted looks reasonable if you are registering TWDT for another task: the Idle task was running (idling) and at some point got interrupted by TWDT interrupt. In this case it's indeed not possible fo say just from the backtrace, which of the tasks has not fed the watchdog.

Sadly indeed.

Well, that was the reason I posted a response here thinking that cases as I described should be more informative.
If it's a won't fix, let it be.
Or let it mark a feature request - don't know if implementing it is possible.

We have just discussed this with the team, it is probably possible to include additional information into the core dump to make such cases easier to analyze. Basically, this part of the text currently printed to console
Task watchdog got triggered. The following tasks did not reset the watchdog in time:
  - IDLE (CPU 1)
 Tasks currently running:
 CPU 0: IDLE
 CPU 1: btApiTask
 Aborting.

could also be included into the coredump, and extracted by the coredump utility on the host side. In your case, the "following tasks did not reset the watchdog in time" list would include the task which you have registered the task watchdog for.

the "following tasks did not reset the watchdog in time" list would include the task which you have registered the task watchdog for.

Nice idea, I like it.
All right.


reduce allocations

Minor code changes that reduce allocations by ~5%

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (531eb14) 93.00% compared to head (4d8f719) 93.04%.
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
+ Coverage   93.00%   93.04%   +0.03%
==========================================
  Files          13       13
  Lines        1087     1092       +5
==========================================
+ Hits         1011     1016       +5
  Misses         76       76

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


chore: codescan updates

:tada: This PR is included in version 0.17.13 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[3.x] SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture

3.x version of #51030

Thanks!

Cherry-picked for 3.3.4.


[tray icon] dynamic menus not resized correctly

Hi,
Menus with dynamically added/removed entries are not resized correctly before showing. This can result in too much unused space or invisible entries (below the bottom of the menu).
I have again created the following small examples recreating the issue to make sure that it isn't a problem with one particular KSNI implementation:
Right-click the tray icon several times and it will rotate between One/Two/Three menu items, but the geometry always lacks one behind, i.e. either shows too many or one to few entries.
Using Qt/QSystemTrayIcon (this example also demonstrates that the menu geometry is updated correctly in a window menu):
from PyQt5.QtWidgets import (
    QAction, QApplication, QMainWindow, QMenu, QSystemTrayIcon)

import itertools
import signal
import sys

def main():
    app = QApplication(sys.argv)

    window = QMainWindow()
    winmenu = TrayMenu(window.menuBar().addMenu('&File'))
    window.show()

    style = app.style()
    trayicon = QSystemTrayIcon(
        style.standardIcon(style.SP_MessageBoxCritical))
    traymenu = TrayMenu()
    trayicon.setContextMenu(traymenu.menu)
    trayicon.show()
    signal.signal(signal.SIGINT, signal.SIG_DFL)
    app.exec_()

class TrayMenu:

    def __init__(self, menu=None):
        self.menu = menu or QMenu()
        self.menu.aboutToShow.connect(self.update)
        # Show different number of menuitems each time for demo purposes:
        self.counter = itertools.count()
        # Needed to prevent garbage collection of actions:
        self.actions = []
        # Populate menu initially, so libdbusmenu does not ignore the
        # 'about-to-show':
        self.update()

    def update(self):
        for action in self.actions:
            self.menu.removeAction(action)
        self.actions.clear()

        num_items = next(self.counter) % 3
        print("num_items={}".format(num_items))

        for i in range(num_items):
            action = QAction('Item {}'.format(i + 1))
            self.menu.addAction(action)
            self.actions.append(action)

        quit = QAction('&Quit')
        quit.triggered.connect(QApplication.quit)
        self.menu.addAction(quit)
        self.actions.append(quit)

if __name__ == '__main__':
    main()

And here using ``Gtk/AppIndicator3`:
from gi import require_version
require_version('Gtk', '3.0')
require_version('AppIndicator3', '0.1')

import itertools
import signal
from gi.repository import Gtk
from gi.repository import AppIndicator3

def main():
    indicator = AppIndicator3.Indicator.new(
        'checkbox-test-app', 'dialog-error',
        AppIndicator3.IndicatorCategory.OTHER)
    indicator.set_status(AppIndicator3.IndicatorStatus.PASSIVE)
    traymenu = TrayMenu()
    traymenu.set_indicator(indicator)

    signal.signal(signal.SIGINT, signal.SIG_DFL)
    Gtk.main()

class TrayMenu:

    def __init__(self, menu=None):
        self.counter = itertools.count()
        self.menu = Gtk.Menu()
        # Populate menu initially, so libdbusmenu does not ignore the
        # 'about-to-show':
        self.update()

    def update(self):
        for item in self.menu.get_children():
            self.menu.remove(item)
        num_items = next(self.counter) % 3
        print("num_items={}".format(num_items))
        for i in range(num_items):
            self.menu.append(Gtk.MenuItem(label='Item {}'.format(i)))
        quit = Gtk.MenuItem(label='Quit')
        quit.connect('activate', lambda _: Gtk.main_quit())
        self.menu.append(quit)
        self.menu.show_all()

    def set_indicator(self, indicator):
        self.indicator = indicator
        indicator.set_menu(self.menu)
        # Get notified before menu is shown, see:
        # https://bugs.launchpad.net/screenlets/+bug/522152/comments/15
        dbusmenuserver = indicator.get_property('dbus-menu-server')
        dbusmenuitem = dbusmenuserver.get_property('root-node')
        dbusmenuitem.connect('about-to-show', self.update)

if __name__ == '__main__':
    main()

And here is yet another variant that shows that the geometry of tray submenus seems to be updated correctly:
from gi import require_version
require_version('Gtk', '3.0')
require_version('AppIndicator3', '0.1')

import itertools
import signal
from gi.repository import Gtk
from gi.repository import AppIndicator3

def main():
    indicator = AppIndicator3.Indicator.new(
        'checkbox-test-app', 'dialog-error',
        AppIndicator3.IndicatorCategory.OTHER)
    indicator.set_status(AppIndicator3.IndicatorStatus.PASSIVE)
    traymenu = TrayMenu()
    traymenu.set_indicator(indicator)

    signal.signal(signal.SIGINT, signal.SIG_DFL)
    Gtk.main()

class TrayMenu:

    def __init__(self, menu=None):
        self.counter = itertools.count()
        self.submenu = Gtk.Menu()
        submenu = Gtk.MenuItem(label='Items')
        submenu.set_submenu(self.submenu)
        quit = Gtk.MenuItem(label='Quit')
        quit.connect('activate', lambda _: Gtk.main_quit())
        self.menu = Gtk.Menu()
        self.menu.append(submenu)
        self.menu.append(quit)
        self.menu.show_all()
        # Populate menu initially, so libdbusmenu does not ignore the
        # 'about-to-show':
        # self.update()

    def update(self):
        for item in self.submenu.get_children():
            self.submenu.remove(item)
        num_items = next(self.counter) % 3 + 1
        print("num_items={}".format(num_items))
        for i in range(num_items):
            self.submenu.append(Gtk.CheckMenuItem(label='Item {}'.format(i)))
        self.submenu.show_all()

    def set_indicator(self, indicator):
        self.indicator = indicator
        indicator.set_menu(self.menu)
        # Get notified before menu is shown, see:
        # https://bugs.launchpad.net/screenlets/+bug/522152/comments/15
        dbusmenuserver = indicator.get_property('dbus-menu-server')
        dbusmenuitem = dbusmenuserver.get_property('root-node')
        dbusmenuitem.connect('about-to-show', self.update)

if __name__ == '__main__':
    main()

again, not sure whether this is a wayland, waybar or sway problem.
(Issue from https://github.com/coldfix/udiskie/issues/199)
Best, Thomas

This one is more interesting.
We pass all tray menu handling to the libdbusmenu library which is pretty much dead upstream. Apparently it does not adjust the window size/position if the entries were updated when the menu is visible (AboutToShow is sent right before realizing the menu with the current data and the response will be handled way after that).
I already crossed out any weird gtk and layer-shell interactions by providing a regular xdg surface implementation for the bar. Didn't affect the issue at all.
Need to check if it's possible to work around that without modifying and vendoring the library code. If anyone wants to look at some seasoned and unmaintained C code before I find time for that, feel free :smiley:


Auto-Assign Topic While Viewing

Current Behaviour:
When viewing a specific topic within any channel, clicking "Start New Conversation" does not automatically assign the current topic that the user is viewing. If the user intends to start a new topic, they would naturally click on "New Topic" instead of navigating to a specific topic to initiate one.
Expected Behaviour:
When a user is viewing a topic within a channel and clicks "Start New Conversation," the currently viewed topic should be automatically assigned.
A screenshot is attached for reference.

Thi is not a bug. The Current Behaviour is actually the intended behaviour.
Start New Conversation is meant to start a new topic, hence the word New and not to continue the current conversation/topic.

If the user intends to start a new topic, they would naturally click on "New Topic" instead of navigating to a specific topic to initiate one.

Actually "New Topic" button feature was added recently.

yeah makes sense. I thought you would not be able to send messages when u are viewing a particular topic i.e to continue the discussion. But u can do it by clicking on any msg.


rename doesn't save

Describe the bug
The name of the project isn't saved, unless some code edit is made.
To Reproduce
Steps to reproduce the behavior:

create new project, rename it to "foobar", switch to javascript
go back to home screen
click on "foobar"
rename project
go back to home screen - project stays as "foobar"

(tested in arcade beta; probably present everywhere)
Desktop (please complete the following information):
Windows, Edgium Dev

Thanks @jwunderl !


ESP32 continues restarts once reached subscription limit (e.g. 8000 pcs / day)

Hello, I reached limit of azure daily msg (8.000) and I am getting error / restarts of ESP32 device.
I am having flashed esp32 device with latest up to date GetStarted.ino.
What has to be done to keep trying to connect rather then restarting ?
Thanks
`22:32:42.858 -> ESP32 Device
22:32:42.858 -> Initializing...
22:32:42.858 -> 5471
22:32:42.858 -> 31665
22:32:42.858 -> 495720
22:32:42.858 -> 582509
22:32:42.858 -> 1968036
22:32:42.858 -> 2502000
22:32:42.858 -> 542195
22:32:42.858 -> 597772
22:32:42.858 ->  > WiFi
22:32:42.858 -> Connecting...
22:32:43.444 -> .WiFi connected
22:32:43.444 -> IP address:
22:32:43.444 -> <IP_ADDRESS>
22:32:43.444 ->  > IoT Hub
22:32:43.444 -> Info: Initializing SNTP
22:32:44.442 -> Info: SNTP initialization complete
22:32:44.442 -> Info: IoT Hub SDK for C, version 1.1.23
22:32:47.331 -> Info: >>>Connection status: connected
22:32:47.331 -> 2019-October-21 20:32:47
22:32:48.293 -> 2019-October-21 20:32:48
22:32:48.293 -> {"deviceId":"Esp32Device", "messageId":1, "Temperature":23.00, "Humidity":60.50, "rssi":-67, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
22:32:48.329 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
22:32:58.326 -> Error: Time:Mon Oct 21 20:32:58 2019 File:C:\Users\rasti\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\AzureIoT\src\Esp32MQTTClient.cpp Func:SendEventOnce Line:316 Waiting for send confirmation, time is up 10016
22:32:58.326 -> 2019-October-21 20:32:58
22:32:58.361 -> {"deviceId":"Esp32Device", "messageId":2, "Temperature":23.00, "Humidity":60.50, "rssi":-68, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
22:32:58.361 -> Info: >>>Re-connect.
22:32:58.361 -> Error: Time:Mon Oct 21 20:32:58 2019 File:C:\Users\rasti\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\AzureIoT\src\az_iot\c-utility\pal\src\tlsio_openssl_compact.c Func:tlsio_openssl_destroy Line:213 tlsio_openssl_destroy called while not in TLSIO_STATE_CLOSED.
22:32:58.399 -> Info: >>>Confirmation[0] received for message tracking id = 0 with result = IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY
22:32:58.399 -> Info: Initializing SNTP
22:32:58.399 -> assertion "Operating mode must not be set while SNTP client is running" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/apps/sntp/sntp.c", line 600, function: sntp_setoperatingmode
22:32:58.433 -> abort() was called at PC 0x4010b16f on core 1
22:32:58.433 ->
22:32:58.433 -> Backtrace: 0x4008c820:0x3ffb1c90 0x4008ca51:0x3ffb1cb0 0x4010b16f:0x3ffb1cd0 0x40123c15:0x3ffb1d00 0x400d4272:0x3ffb1d20 0x400d42ce:0x3ffb1d40 0x400d32ee:0x3ffb1d60 0x400d3622:0x3ffb1da0 0x400d3659:0x3ffb1dc0 0x400d376c:0x3ffb1e00 0x400d2140:0x3ffb1e20 0x400d2434:0x3ffb1f90 0x400dfe1d:0x3ffb1fb0 0x40088f69:0x3ffb1fd0
22:32:58.467 ->
22:32:58.467 -> Rebooting...
22:32:58.467 -> ets Jun  8 2016 00:22:57
22:32:58.467 ->
22:32:58.467 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
22:32:58.467 -> configsip: 0, SPIWP:0xee
22:32:58.467 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
22:32:58.467 -> mode:DIO, clock div:1
22:32:58.467 -> load:0x3fff0018,len:4
22:32:58.467 -> load:0x3fff001c,len:1216
22:32:58.467 -> ho 0 tail 12 room 4
22:32:58.467 -> load:0x40078000,len:9720
22:32:58.498 -> ho 0 tail 12 room 4
22:32:58.498 -> load:0x40080400,len:6352
22:32:58.498 -> entry 0x400806b8
22:32:58.772 -> ESP32 Device
22:32:58.772 -> Initializing...
`

I am getting the exact same restart message, every now and then, but I am definitely below the subscription limit (2880 pckgs per day).
Looking into the log output
assertion "Operating mode must not be set while SNTP client is running" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/apps/sntp/sntp.c"

points to a internal state machine problem in the library.
Hope someone still maintains this library, last update is one year old ;(

Problem is in SNTP_INIT() in ...\libraries\AzureIoT\src\az_iot\c-utility\pal\lwip\sntp_lwip.c .
sntp_setoperatingmode(SNTP_OPMODE_POLL); cannot be called while the SNTP is active. That leads to the ASSERTION error and reboot.
Changing SNTP_INIT() from
/*Codes_SRS_SNTP_LWIP_30_004: [ SNTP_Init shall initialize the SNTP client, contact the NTP server to set system time, then return 0 to indicate success (lwIP has no failure path). ]*/
int SNTP_Init()
{
	LogInfo("Initializing SNTP");
	sntp_setoperatingmode(SNTP_OPMODE_POLL);
	sntp_init();
	time_t ts = 0;
	// Before 1980 is uninitialized
	while (ts < 10 * 365 * 24 * 3600)
	{
		ThreadAPI_Sleep(1000);
		ts = get_time(NULL);

	}
	LogInfo("SNTP initialization complete");
	return 0;
}

by adding a SNTP_Deinit() should fix the problem.
/*Codes_SRS_SNTP_LWIP_30_004: [ SNTP_Init shall initialize the SNTP client, contact the NTP server to set system time, then return 0 to indicate success (lwIP has no failure path). ]*/
int SNTP_Init()
{
	LogInfo("Initializing SNTP");
	SNTP_Deinit();
	sntp_setoperatingmode(SNTP_OPMODE_POLL);
	sntp_init();
	time_t ts = 0;
	// Before 1980 is uninitialized
	while (ts < 10 * 365 * 24 * 3600)
	{
		ThreadAPI_Sleep(1000);
		ts = get_time(NULL);

	}
	LogInfo("SNTP initialization complete");
	return 0;
}

Running tests right now.

That's great, you are right, restarts have been here and there.
I am also testing the change...

Mine is up now for 5 hours without restart. Never got it running that long without restart. My internet connection is very bad and on and off, so it the ESP32 has to reconnect quite often.
:thumbsup:

Mine just got restarted after an hour, hmmm :(
`09:42:27.651 -> {"deviceId":"Esp32Device", "messageId":48, "Temperature":22.70, "Humidity":74.10, "rssi":-64, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
09:42:27.685 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
09:42:27.992 -> Info: >>>Confirmation[47] received for message tracking id = 47 with result = IOTHUB_CLIENT_CONFIRMATION_OK
09:42:27.992 -> Send Confirmation Callback finished.
09:43:21.101 -> {"deviceId":"Esp32Device", "messageId":49, "Temperature":22.80, "Humidity":74.40, "rssi":-64, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
09:43:21.135 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
09:43:21.135 -> Info: >>>Connection status: timeout
09:44:36.006 -> {"deviceId":"Esp32Device", "messageId":50, "Temperature":23.00, "Humidity":73.60, "rssi":-66, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
09:44:36.040 -> Info: >>>Re-connect.
09:44:36.040 -> Info: >>>Confirmation[48] received for message tracking id = 48 with result = IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY
09:44:36.040 -> Info: Initializing SNTP
09:44:36.040 -> assertion "Operating mode must not be set while SNTP client is running" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/apps/sntp/sntp.c", line 600, function: sntp_setoperatingmode
09:44:36.075 -> abort() was called at PC 0x4010af03 on core 1
09:44:36.075 ->
09:44:36.075 -> Backtrace: 0x4008c820:0x3ffb1c90 0x4008ca51:0x3ffb1cb0 0x4010af03:0x3ffb1cd0 0x40123741:0x3ffb1d00 0x400d4236:0x3ffb1d20 0x400d4292:0x3ffb1d40 0x400d325e:0x3ffb1d60 0x400d3592:0x3ffb1da0 0x400d35c9:0x3ffb1dc0 0x400d36dc:0x3ffb1e00 0x400d20a6:0x3ffb1e20 0x400d23a4:0x3ffb1f90 0x400dfbad:0x3ffb1fb0 0x40088f69:0x3ffb1fd0
09:44:36.110 ->
09:44:36.110 -> Rebooting...
09:44:36.110 -> ets Jun  8 2016 00:22:57
09:44:36.110 ->
09:44:36.110 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
09:44:36.110 -> configsip: 0, SPIWP:0xee
09:44:36.110 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
09:44:36.110 -> mode:DIO, clock div:1
09:44:36.110 -> load:0x3fff0018,len:4
09:44:36.110 -> load:0x3fff001c,len:1216
09:44:36.110 -> ho 0 tail 12 room 4
09:44:36.144 -> load:0x40078000,len:9720
09:44:36.144 -> ho 0 tail 12 room 4
09:44:36.144 -> load:0x40080400,len:6352
09:44:36.144 -> entry 0x400806b8
09:44:36.419 -> ESP32 Device
09:44:36.419 -> Initializing...
`
How to verify if the change in library has been compiled into esp32 ?

I just put few more logging information to see if the routine is being executed

Don't know for ArduinoIDE how to check. I am using PlatformIO and it is still stable running now.

Hi, I don't get it, this is what I have added into file sntp_lwip.c situated in folder \libraries\ESP32_AzureIoT_Arduino\src\az_iot\c-utility\pal\lwip\
int SNTP_Init()
{
	LogInfo("Initializing SNTP");
	LogInfo("Calling SNTP_Deinit");
	SNTP_Deinit();
	LogInfo("Finished SNTP_Deinit");
	sntp_setoperatingmode(SNTP_OPMODE_POLL);
	sntp_init();
	time_t ts = 0;
	// Before 1980 is uninitialized
	while (ts < 10 * 365 * 24 * 3600)
	{
		ThreadAPI_Sleep(1000);
		ts = get_time(NULL);

	}
	LogInfo("SNTP initialization complete");
	return 0;
}

/*Codes_SRS_SNTP_LWIP_30_005: [ SNTP_Denit shall deinitialize the SNTP client. ]*/
void SNTP_Deinit()
{
	LogInfo("In SNTP_Deinit call");
	sntp_stop();
	LogInfo("Out SNTP_Deinit call");
}

However when I got restart I do not see any logging, what am I doing wrong ? Please help...
12:16:13.195 -> {"deviceId":"Esp32Device", "messageId":49, "Temperature":22.20, "Humidity":75.70, "rssi":-68, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
12:16:13.229 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

12:16:13.434 -> Info: >>>Confirmation[48] received for message tracking id = 48 with result = IOTHUB_CLIENT_CONFIRMATION_OK

12:16:13.434 -> Send Confirmation Callback finished.
12:17:26.760 -> {"deviceId":"Esp32Device", "messageId":50, "Temperature":22.30, "Humidity":75.70, "rssi":-62, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
12:17:26.794 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

12:17:26.794 -> Info: >>>Connection status: timeout

12:18:24.156 -> {"deviceId":"Esp32Device", "messageId":51, "Temperature":22.30, "Humidity":76.40, "rssi":-72, "cycle":1, "green":1, "orange":0, "red":0, "blue":0, "reject":0, "equipment":0, "operator":0, "changeover":0, "material":0}
12:18:24.191 -> Info: >>>Re-connect.

12:18:24.191 -> Info: >>>Confirmation[49] received for message tracking id = 49 with result = IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY

12:18:24.191 -> Info: Initializing SNTP

12:18:24.191 -> assertion "Operating mode must not be set while SNTP client is running" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/apps/sntp/sntp.c", line 600, function: sntp_setoperatingmode
12:18:24.226 -> abort() was called at PC 0x4010af03 on core 1
12:18:24.226 ->
12:18:24.226 -> Backtrace: 0x4008c820:0x3ffb1c90 0x4008ca51:0x3ffb1cb0 0x4010af03:0x3ffb1cd0 0x40123741:0x3ffb1d00 0x400d4236:0x3ffb1d20 0x400d4292:0x3ffb1d40 0x400d325e:0x3ffb1d60 0x400d3592:0x3ffb1da0 0x400d35c9:0x3ffb1dc0 0x400d36dc:0x3ffb1e00 0x400d20a6:0x3ffb1e20 0x400d23a4:0x3ffb1f90 0x400dfbad:0x3ffb1fb0 0x40088f69:0x3ffb1fd0
12:18:24.260 ->
12:18:24.260 -> Rebooting...
12:18:24.260 -> ets Jun  8 2016 00:22:57
12:18:24.260 ->
12:18:24.260 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
12:18:24.260 -> configsip: 0, SPIWP:0xee
12:18:24.260 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
12:18:24.260 -> mode:DIO, clock div:1
12:18:24.260 -> load:0x3fff0018,len:4
12:18:24.294 -> load:0x3fff001c,len:1216
12:18:24.294 -> ho 0 tail 12 room 4
12:18:24.294 -> load:0x40078000,len:9720
12:18:24.294 -> ho 0 tail 12 room 4
12:18:24.294 -> load:0x40080400,len:6352
12:18:24.294 -> entry 0x400806b8
12:18:24.571 -> ESP32 Device
12:18:24.571 -> Initializing...

It was cached in tmp folder therefore changes have never been reflected :)
Anyway testing again and hope no restarts...

On PlatformIO I have a clean button which deletes all cached prior compiled sources and starts from scratch.
With the changed library I had no restart in 12 hours.

Same here, no restarts anymore but I have checked all the records in azure and there are some missing records when there is an initiate, can you check on your end ?
In my azure storage I am seeing messageId 44 and then 46, messageId 45 is missing..,this is not good, I do not know if this was the behavioue before because I did not checked message before and after restart
19:20:22.057 -> {"deviceId":"Esp32Device", "messageId":44, "Temperature":22.30, "Humidity":72.20, "rssi":-72, "cycle":1}
19:20:22.420 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

19:20:22.468 -> Info: >>>Confirmation[43] received for message tracking id = 43 with result = IOTHUB_CLIENT_CONFIRMATION_OK

19:20:22.503 -> Send Confirmation Callback finished.
19:21:41.330 -> {"deviceId":"Esp32Device", "messageId":45, "Temperature":22.30, "Humidity":72.10, "rssi":-72, "cycle":1}
19:21:41.511 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

19:21:41.511 -> Info: >>>Connection status: timeout

19:22:52.104 -> {"deviceId":"Esp32Device", "messageId":46, "Temperature":22.30, "Humidity":71.80, "rssi":-72, "cycle":1}
19:22:52.138 -> Info: >>>Re-connect.

19:22:52.138 -> Info: >>>Confirmation[44] received for message tracking id = 44 with result = IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY

19:22:52.138 -> Info: Initializing SNTP1

19:22:52.138 -> Info: Calling SNTP_Deinit

19:22:52.138 -> Info: In SNTP_Deinit call

19:22:52.138 -> Info: Out SNTP_Deinit call

19:22:52.138 -> Info: Finished SNTP_Deinit

19:22:53.137 -> Info: SNTP initialization complete

19:22:53.137 -> Info: IoT Hub SDK for C, version 1.1.23

19:22:56.461 -> Info: >>>Connection status: connected

19:22:56.461 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

19:22:56.974 -> Info: >>>Confirmation[0] received for message tracking id = 45 with result = IOTHUB_CLIENT_CONFIRMATION_OK

19:22:56.974 -> Send Confirmation Callback finished.
19:24:05.493 -> {"deviceId":"Esp32Device", "messageId":47, "Temperature":22.30, "Humidity":71.60, "rssi":-72, "cycle":1}
19:24:05.527 -> Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.

19:24:05.527 -> {"desired":{"$version":1},"reported":{"$version":1}}
19:24:05.836 -> Info: >>>Confirmation[1] received for message tracking id = 0 with result = IOTHUB_CLIENT_CONFIRMATION_OK

19:24:05.836 -> Send Confirmation Callback finished.
19:25:22.846 -> {"deviceId":"Esp32Device", "messageId":48, "Temperature":22.30, "Humidity":71.40, "rssi":-73, "cycle":1}

I found why I am getting timeouts every 48min, it is because of SAS token expiration.
This is specified in iothubtransport_mqtt_common.c as
#define SAS_TOKEN_DEFAULT_LIFETIME          3600
#define SAS_REFRESH_MULTIPLIER              .8

I just change it now to bigger value to avoid so frequent reconnects (this is due to security as far as i can see). Testing now, this is not an issue rather feature...

The best way how to keep having all the data publish is to open connection, send message & close connection. This was I was able to stream data for one day without loosing any...
For closing connection I have used function after sending and then connect again:
Esp32MQTTClient_Close();
Closing an issue as it was fixed by @beegee-tokyo

@anthrene  @lirenhe @salvq  I would not close it until someone here has merged the fix.

Right I see, reopening....

Has this change been merged into the current repo?


ES5 should be the default "main" in package.json

package.json has the following:
  "main": "es2015/index.js",
  "module": "es2015/index.js",

I think this should be "main": "es5/index.js". Currently es2015 module is used by default if you import @ionic/storage, which breaks non-module-aware tools like browserify. I use browserify for karma tests, and this is breaking it. Even babelify doesn't work because @ionic/storage/es2015/index.js is in node_modules/ and babelify won't touch it unless I set global: true,, which produces a lot of unrelated errors.
This is the error I get when I run karma with browserify:
> karma start  --no-auto-watch --single-run

24 10 2016 09:46:50.363:ERROR [framework.browserify]: bundle error
24 10 2016 09:46:50.366:ERROR [framework.browserify]:
redacted/ionic-app/node_modules/@ionic/storage/es2015/index.js:1
import { Storage } from './storage';
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'

karma.conf.js:
module.exports = function(config) {
  config.set({
    basePath: '',

    files: [
      'node_modules/ionic-angular/polyfills/polyfills.js',
      'node_modules/jasmine-promises/dist/jasmine-promises.js',
      'src/**/*.spec.ts'
    ],

    exclude: [],

    frameworks: ['jasmine', 'browserify'],

    preprocessors: {
      '**/*.ts': ['browserify']
    },

    reporters: ['progress'],

    logLevel: config.LOG_INFO,

    browsers: ['PhantomJS'],

    browserify: {
      debug: true,
      extensions: ['.ts'],
      configure: function(bundle) {
        bundle.once('prebundle', function() {
          bundle
            .plugin('tsify')
            .transform('babelify', {
              // global: true,
              // ignore: /\/node_modules\/(?!@ionic\/storage)/,
              extensions: ['.js', '.ts'],
              presets: ['es2015']
            })
        });
      }
    }
  });
};

I tried to import @ionic/storage/es5 instead of @ionic/storage, but I hit issue #18 and couldn't proceed.

Same here. I hope that wil be solven soon, because I can't find a way to run my tests with karma.

Should be good with 2.2.0


ideohint visual not working

visual.js line 36: var data = JSON.parse(line);
But the sfd file is not in JSON format.
The otd file is in JSON, but there's no [0] because otd file is an Object instead of an Array.

It's HGL.


Size ratio duplication

Hello,
Just noticed that some of the size ratios are duplicated:
Standard_M32ls 	M-series fractional large/MS Series Fractional Tiny
Standard_H16	        H-series
Standard_HB60rs     HBS-series/ HBS-series
Why is this? How can I distinguish between them? How can I know which one to use?

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

ID: e9c028aa-490d-e8be-61e2-b84974dc970d
Version Independent ID: 0018132b-babc-305b-bc09-7324cb6895d8
Content: Virtual machine size flexibility -Azure Reserved VM Instances
Content Source: articles/virtual-machines/windows/reserved-vm-instance-size-flexibility.md
Service: virtual-machines-windows
GitHub Login: @yashar
Microsoft Alias: yashar

@ksysiekj Thanks for the feedback. I am checking on the duplicates and will update you.

@ksysiekj I have raised a PR to remove the duplicates, the changes will be reflected once the PR is approved.

@VikasPullagura-MSFT still can see duplicates for Standard_M32ls ratio

@ksysiekj I have informed the author on this duplicate. I am reopening the issue till the doc gets fixed.

@RyanHill-MSFT why did you close the issue? still can see duplicates for the Standard_M32ls ratio

@ksysiekj I am reopening the issue.
I am checking with Ryan internally on the reason for closing the issue.
I am working with document author for fixing the duplicate related to "Standard_M32ls". The other two duplicates are fixed.

@ksysiekj Just want to keep you posted on the progress on this issue. Author is working on removing the duplicates. The changes will be live once the PR is live.

Please check the CSV. #please-close.


Don't update Certificate status condition upon issuance

What this PR does / why we need it:
We've recently changed what the Ready condition means to be a reflection of the actual x509 certificate status.
This should have been removed as part of that PR, as we now use events to log this kind of 'event' occurring.
Release note:
NONE

Seems to be some networking issues resolving GitHub's DNS names...
/retest


Update MD file on new branch 2017-27-26_05-11-40

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


README - don't update to PIP version 10

We should really mention that don't update to pip version 10.0.

@theotherjimmy

@JanneKiiskila Thanks for the PR. Could you please try to update mbed CLI to v1.5.1 and let me know if this is now fixed?

@JanneKiiskila Can we close this if resolved?

Just merged the other request. Will close this one as it's now obsolete (i.e. pip10 is supported)

Nope, you should still tell people we have this limitation. If you want pip version 10, you must upgrade to mbed cli version 1.5.1 o newer. That issue still remains.

https://github.com/ARMmbed/mbed-cli#mbed-cli-and-pip-compatibility. Its already there


Update relevant documents

README
UserGuide
DeveloperGuide

Coverage remained the same at 88.889% when pulling 67bb16ba190f7336bb6c6955a667de502b60639f on dalessr:branch_documents into cb626a64deda65f108f78bcb1986d08f9c410c13 on CS2103AUG2017-W09-B3:master.


added a new endpoint, /local-user-store/api/v1/users to the userstore

Added a new endpoint, /local-user-store/api/v1/users to the userstore.
Created a new User struct inside model.go.

@kimmokssh


IndexError, fixed(?), but now temperature sensor is wrong (< 0)

Hi @jposada202020,
First, thanks for making the micropython driver for a DPS310 sensor.
I'm using your driver for a Lolin HP303B sensor (shield), which seems compatibly with the DPS310. I'm a software engineer, so apologies if that is a wrong assumption.
I'm using your simple test example, and got an IndexError in method mode() of class DPS310. After some research on github.com/wemos, I found an Arduino sample with Mode-values. It seems that two values are missing from your "mode_values"(index 3 and 4 in table must be present, although they are invalid).
My changes in module dps310.py:
line 85: added INVAL_OP_CMD_BOTH and INVAL_OP_CONT_NONE
# Source: https://github.com/wemos/LOLIN_HP303B_Library/blob/master/src/LOLIN_HP303B.h  -> enum Mode...
IDLE = const(0b000)
ONE_PRESSURE = const(0b001)
ONE_TEMPERATURE = const(0b010)
INVAL_OP_CMD_BOTH = const(0b011)  # invalid
INVAL_OP_CONT_NONE  = const(0b100) # invalid
CONT_PRESSURE = const(0b101)
CONT_TEMP = const(0b110)
CONT_PRESTEMP = const(0b111)
mode_values = (
    IDLE,             #0
    ONE_PRESSURE,     #1
    ONE_TEMPERATURE,  #2
    INVAL_OP_CMD_BOTH,  #3 - invalid
    INVAL_OP_CONT_NONE, #4 - invalid
    CONT_PRESSURE,    #5
    CONT_TEMP,        #6
    CONT_PRESTEMP,    #7
)

and in method mode() (around line 438):
#DEBUG: print(f"sensor_mode: {self._sensor_mode}")  # PP: 7 = 0b111 = CONT_PRESTEMP
        values = (
            "IDLE",
            "ONE_PRESSURE",
            "ONE_TEMPERATURE",
            "INVAL_OP_CMD_BOTH",   # invalid
            "INVAL_OP_CONT_NONE",  # invalid
            "CONT_PRESSURE",
            "CONT_TEMP",
            "CONT_PRESTEMP",
        )
        return values[self._sensor_mode]

The IndexError is gone! However, I'll get from the sensor temperature values below zero, while it definitely is above 20 degrees Celsius. The pressure value from the sensor seems correct.
Output sensor (simple test):
Temperature -1.872383°C, Pressure: 990.9458HPa
Room temperature: 22°C.
Could you have a look at it what is the problem and make a fix? I do not know what to do next. I'm willing to test it (with Lolin HP303B sensor).
Kind regards,
Peter

Hello there :)
Interesting, I did not know about the "compatibility" between these two sensors. I have committed the changes for the index error, and I saw the same results as you mentioned with the temperature. Need to take a look in more deep to correct that in this library, sadly will kind of busy for a few weeks. Could you try this version in the gist. This is just an adaptation from the CircuitPython library (https://github.com/adafruit/Adafruit_CircuitPython_DPS310)
https://gist.github.com/jposada202020/3ea7bde4ec10f0bf1dec147a6bc9f845
It worked in my DPS310 sensor, but might or might not work in yours
Cheers and good luck

Hi Jose,
gist-version: much better and it seems to work with HP303B sensor, meaning: I get reasonable values (except the first time):
Sample run:
Temperature 100.0°C, Pressure: 892.05HPa, Altitude: 948.3174m
Temperature 20.72327°C, Pressure: 997.5029HPa, Altitude: 16.02539m
Temperature 20.71877°C, Pressure: 997.5041HPa, Altitude: 16.01746m
Temperature 20.72602°C, Pressure: 997.5033HPa, Altitude: 16.02275m
Temperature 20.72927°C, Pressure: 997.5008HPa, Altitude: 16.04389m
..........

Code simple test - using Lolin HP303B sensor-shield:
import time
from machine import I2C
# GIST-version
from dps310 import DPS310

i2c = I2C(0)    # Lolin ESP32-s3mini
dps = DPS310(i2c)    #default  address=0x77)

# sea level pressure A'dam:
# https://barometricpressure.app/amsterdam#
dps.sea_level_pressure = 999.4  # 2023-0922 11:10

while True:
    print(f"Temperature {dps.temperature}°C, Pressure: {dps.pressure}HPa, Altitude: {dps.altitude}m")
    #print()
    time.sleep(1)

I'll use the gist version!
Thanks for your conversion of the CircuitPython DPS310-driver. Any plans with the gist version?
PS. It is always a "battle" between using micropython or circuitpython. Circuitpython does have more support for sensors and actuators. However, it is getting too complex (especially when looking in the displayio). Anyway, that is another subject.
Kind regards, Peter

Additional remark: a simple delay (about 400 ms) before getting the sensor values is enough to skip the first weird reading.
Looking into the DPS310 code: wait_temperature_ready and wait_pressure_ready might be worth to look into (or the "compatibility" ends between DPS310 and HP303B sensors).
Peter

Hello, thanks for the info regarding the waiting time. :)
Yes, planning to check where is the problem in the library and fix accordingly. Probably over the weekend!

Hello, I did this quick and dirty fix to DPS310 code. I appears that the register changes are not working correctly.
Added to the end of init of class DPS310: This sets fixed values to oversampling and rate.
So only 64 Hz os and 4 Hz rate are working.. but the temperature value and pressure valus are now correct.
I will check a bit more bit this is just a dirty fix to somebody having problems with this...
    ## THIS fixes the code -- seems that assumed setting of registers fails!!
    # Oversampling Rate Setting (64time)
    self._i2c.writeto_mem(self._address, 0x06, b'\x26')
    self._i2c.writeto_mem(self._address, 0x07, b'\xA6') ##-- this line fixes the problem with pressure and temperature...
    self._i2c.writeto_mem(self._address, 0x08, b'\x07')
    # Oversampling Rate Configuration
    self._i2c.writeto_mem(self._address, 0x09, b'\x0C')


improve documentation

add steps about how to properly setup the project

I would like to Contribute Towards this issue 🚀

assigned while making pr please add relevant screenshot to show your work

happy contributing

Thanks : )

If you are working on documentation then please make another file Name CONTRIBUTON.md. and put all information about contribution in that file.
Only add application overview and guidance in main Readme file

i made a CONTRIBUTING.md and a CODE_OF_CONDUCT.md what else should i add to the documentation?

commit those changes and create a pull request and let me check

@Beingfarazkhan


Allow larger Post body.

Large posts worked fine for me locally, where I was using SQLite. When I pushed my app to Heroku (and PostgreSQL), the large posts caused a database exception -- too large for string.
Some string vs. text background: http://stackoverflow.com/questions/3354330/difference-between-string-and-text-in-rails

Whoops!
Thanks for the catch on that. I didn't even realize that I had set it to string

Gem version 1.0.2 has been pushed to rubygems


Add per step reporting in CL2

Introduce a level of granularity in the performance tests reporting that is shown in the Prow job test results. Every step in each of the test configs will be reported separately.

/sig scalability
/assign mm4tt
/cc mborsz wojtek-t

/retest

/test pull-perf-tests-verify-lint

Also golint seems to be failing with
pkg/test/interface.go:71:6: type name will be used as test.TestReporter by other packages, and that stutters; consider calling this Reporter (golint)

Also golint seems to be failing with
pkg/test/interface.go:71:6: type name will be used as test.TestReporter by other packages, and that stutters; consider calling this Reporter (golint)

Not anymore ;) done.

/lgtm
/approve
This is amazing! Thanks!


Ask whether to restart on update or not

Either make it a toggle in settings to restart automatically after an update or allow user to defer update with a "later" button even if it's downloaded. Kind of like VS Code which asks you to restart to complete an update, later, to defer it, and release notes button for more info.

Cool idea. I likey. Related #173.

The main thing is that the user should be able to restart when they want or not be bothered with a restart when they manually close the app. Most likely they are closing it because they're done with it or there is an issue requiring a quick restart (not a long one waiting for an install).

Clicking "Install Update" shows the notification "Installing updates in the backgorund", pops up security prompt, then offers a new prompt to restart now or later (See last image at the bottom)
Clicking "x" or "Later" dismisses the pop up. Closing VS Code does not install anything.
Release notes button (for our purposes) should dismiss notification and pop up a website in the user's browser (Ideally our own website with a URI button to show the "update question" in shabad OS again)

I would say perhaps it should say "Restart App" instead of "Update Now". Note the user has more control. Now they can click "Later" and when they close the app it just stays closed. It doesn't restart, but the next time the user opens the app it will be on the new version of course. The restart button is also according to user's wishes, maybe they want the new features right now.

Would also be nice to see an update button somewhere in settings. Maybe Server > About?


Fix: Use a whitelist filter instead of blacklisting

This PR

[x] uses a whitelist filter instead of a blacklist filter when collecting coverage

See https://travis-ci.org/opencfp/opencfp/jobs/97889795#L493-L495:
Runtime:	PHP 5.5.21 with Xdebug 2.2.7
Configuration:	/home/travis/build/opencfp/opencfp/phpunit.xml.dist
Warning:	No whitelist configured for code coverage

Made an adjustment to this to exclude classes/Providers as it was previously. Otherwise, looks like the warning from Travis is gone! Thanks @localheinz!

@mdwheele
:+1:


Suppress menu items

This is a followup on https://github.com/react-native-webview/react-native-webview/pull/2845
Implemented the suppressMenuItems prop (iOS only) to suppress menu items from the long press context menu.

Hi @TheAlmightyBob I was on vacation for the past couple of weeks.

Please update Reference.md (the previous PR did, but seems to have been missed here)
Yes will do this!

Also, has this been tested with the new architecture on iOS? I'm curious if anything needs to be added to RNCWebView.mm (it's possible it doesn't, I'm not sure)

I can't remember, will test it again at the end of the week. It seems the checks all pass on CI. Which should be sufficient?

It seems the checks all pass on CI. Which should be sufficient?

Unfortunately not, this project's CI is not quite that sophisticated. 😞

Seems like I did not test the new arch. I can't seem to install pod with RCT_NEW_ARCH_ENABLED=1 Any idea how to do this? Can't seem to find anything in Contributing.md about this

I got a build running with fabric enabled:

cd example/ios
RCT_NEW_ARCH_ENABLED=1 pod install
cd ../..
yarn ios

But it seems the properties are not working with fabric enabled, but without fabric it's working just fine. How do I fix this?

Glad you figured out the new architecture build and good point that the Contributing doc should include instructions for that!
I can't tell you how to fix things without debugging and knowing details of what's failing (also I'm not an expert on the new architecture), but as I suggested in my previous comment, RNCWebView.mm may need to be updated in some form. That file is specific to the new architecture.

Glad you figured out the new architecture build and good point that the Contributing doc should include instructions for that!

I'll make a separate pull request to update the docs, next week.

I can't tell you how to fix things without debugging and knowing details of what's failing (also I'm not an expert on the new architecture), but as I suggested in my previous comment, RNCWebView.mm may need to be updated in some form. That file is specific to the new architecture.

I added support for fabric, it's working now. Hope this is good, I also am not expert on fabric or objective-c for that matter 😛


[release-4.10][manual] ConfigMap hash annotation in workload resources

We're adding an annotation with the ConfigMap's hash in workload resources like deployment and daemonset .spec.template filed.
This change allows us to track changes/updates done to the ConfigMap objects.
A new hash will get calculated for every ConfigMap change/update which in turn causes the workload resource to restart the relevant pod and read the updated ConfigMap.
This change is important in order to make sure that our pods (RTE and the scheduler) are not running with a stale ConfigMap configuration.

We agreed to stop with cherry-picking for release-4.10 until the serial tests stabilization.
But this PR is an exception due to the following:

It required a manual backporting intervention which I am concerned will grow bigger and become more surgical when main branch move forward
It doesn't relate to the serial tests, but to the controller business logic itself.

I agree this PR is an exception of the current slow-down proposal we are considering and I agree we should have this PR sooner than later


feat: use updated/faster JsonDiffPatch library

The main motivation behind this change is to remove the deprecated transitive dependency NetCoreApp 1.1 from JsonDiffPatch. This is causing validation issues in built images that are run through Aqua Trivy vulnerability scanner.
A nice side-effect is that the diff should be much faster as it uses System.Text.Json instead of Newtonsoft.
Functionally, there should be no impact as both libraries adhere to RFC 6902.
@buehler

Sure, let me fix that issue


Still get Client error: 400

Hi
When you set Priority to any thing else than critical I get Client error: 400
Br
Kenneth

Hi,
The new version v0.1.2 has an extended error log. No you will see why the request was rejected.
Br Tom


Do not delete NFT data when reset wallet

Describe the bug
Do not delete NFT data when reset wallet
To reproduce the bug
Steps:

Import successfully NFT collection
Perform reset wallet and observe the displayed screen
Perform import NFT in step 1

Expect:
In step 3: Show message: Existed NFT
In step 4: Show NFT step 1

Resolve later in https://github.com/Koniverse/SubWallet-Extension/issues/2374


I can't get it to work.

Hi, maybe its not issue, but i can't get it to work.
I want to show small gallery. Can you show me working file? Or somewhere on web?
What am I doing wrong?
When i put js to file it will do nothing for a example my file looks like this:
`

Its working

`

OK i got it. The main issue is that firefox plugin to block fb outside blocked this showing instagram pictures, its weird because on wordpress it works well.

Alright, I'll close the issue.


Update submodules

Looks great. Is including .hpp always done with " " instead of < >?

Using double quotes means the file is relative to the file it is included in. Angle brackets means it is in the includepath, so generally a builtin library.


Change fs_scandir_next() to return two values instead of a table

Changes:

Closes #201 (Change fs_scandir_next() to return two values instead of a table)
Increase interval tolerance in test "timer - timeout with interval" in order to avoid random fails on AppVeyor and slow CI servers. Increased from 50ms to 100ms.

PS: do you mind uploading a new luarocks release after this? I'll need it for my project and it can't be done with a PR, unfortunately. Thanks!

It says there are conflicts.  Can you rebase the PR with master?

Conflict fixed. Please don't forget the new luarocks release ;)

Ok, I think it's published. http://luarocks.org/modules/creationix/luv/1.8.0-1

Thanks! My AppVeyor is almost functional again :)
I thought you'd bump the version number since there were breaking API changes, but it doesn't really matter for me.

I would, but the version number matches the upstream libuv version which we didn't change.


buster command not working

pip install buster
Requirement already satisfied (use --upgrade to upgrade): buster in /usr/local/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): GitPython==0.3.2.RC1 in /usr/local/lib/python2.7/site-packages (from buster)
Requirement already satisfied (use --upgrade to upgrade): async==0.6.1 in /usr/local/lib/python2.7/site-packages (from buster)
Requirement already satisfied (use --upgrade to upgrade): docopt==0.6.1 in /usr/local/lib/python2.7/site-packages (from buster)
Requirement already satisfied (use --upgrade to upgrade): gitdb==0.5.4 in /usr/local/lib/python2.7/site-packages (from buster)
Requirement already satisfied (use --upgrade to upgrade): smmap==0.8.2 in /usr/local/lib/python2.7/site-packages (from buster)
Cleaning up...
bash-4.2$ buster --version
bash: buster: command not found

Hi all,
I've followed the steps, yet I am still having the same error. Please help
$ pip install buster
Collecting buster
Using cached buster-0.1.3.tar.gz
Collecting GitPython==0.3.2.RC1 (from buster)
Using cached GitPython-0.3.2.RC1.tar.gz
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-11.3.1-py2.7.egg/setuptools/dist.py:292: UserWarning: The version specified ('0.3.2 RC1') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
Collecting async==0.6.1 (from buster)
Using cached async-0.6.1.tar.gz
Collecting docopt==0.6.1 (from buster)
Using cached docopt-0.6.1.tar.gz
Collecting gitdb==0.5.4 (from buster)
Using cached gitdb-0.5.4.tar.gz
Collecting pyquery==1.2.8 (from buster)
Using cached pyquery-1.2.8.zip
Collecting smmap==0.8.2 (from buster)
Using cached smmap-0.8.2.tar.gz
Collecting lxml>=2.1 (from pyquery==1.2.8->buster)
Using cached lxml-3.4.1.tar.gz
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
Building lxml version 3.4.1.
Building without Cython.
Using build configuration of libxslt 1.1.28
Requirement already satisfied (use --upgrade to upgrade): cssselect in /usr/local/lib/python2.7/site-packages (from pyquery==1.2.8->buster)
Installing collected packages: lxml, smmap, pyquery, gitdb, docopt, async, GitPython, buster
Running setup.py install for lxml
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
Building lxml version 3.4.1.
Building without Cython.
Using build configuration of libxslt 1.1.28
building 'lxml.etree' extension
clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/private/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/src/lxml/includes -I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.10-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace
In file included from src/lxml/lxml.etree.c:239:
/private/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/src/lxml/includes/etree_defs.h:14:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
^
1 error generated.
error: command 'clang' failed with exit status 1
Complete output from command /usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;file='/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-Fz23mJ-record/install-record.txt --single-version-externally-managed --compile:
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
  warnings.warn(msg)

Building lxml version 3.4.1.

Building without Cython.

Using build configuration of libxslt 1.1.28

running install

running build

running build_py

creating build

creating build/lib.macosx-10.10-x86_64-2.7

creating build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/__init__.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/_elementpath.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/builder.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/cssselect.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/doctestcompare.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/ElementInclude.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/sax.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/usedoctest.py -> build/lib.macosx-10.10-x86_64-2.7/lxml

creating build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/__init__.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

creating build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/__init__.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/builder.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/clean.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/defs.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/diff.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/formfill.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/html5parser.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/soupparser.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/html

creating build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron

copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron

copying src/lxml/lxml.etree.h -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.10-x86_64-2.7/lxml

copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/config.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.10-x86_64-2.7/lxml/includes

creating build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources

creating build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/rng

copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/rng

creating build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl

copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl

copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl

creating build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.10-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

running build_ext

building 'lxml.etree' extension

creating build/temp.macosx-10.10-x86_64-2.7

creating build/temp.macosx-10.10-x86_64-2.7/src

creating build/temp.macosx-10.10-x86_64-2.7/src/lxml

clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/private/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/src/lxml/includes -I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.10-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace

In file included from src/lxml/lxml.etree.c:239:

/private/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/src/lxml/includes/etree_defs.h:14:10: fatal error: 'libxml/xmlversion.h' file not found

#include "libxml/xmlversion.h"

         ^

1 error generated.

error: command 'clang' failed with exit status 1

----------------------------------------
Command "/usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-Fz23mJ-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /var/folders/x9/5z2bwmss7z19whl0v8pdrxpc0000gn/T/pip-build-kj5e3z/lxml

@jmtan , same issue as #60
You can probably solved it by install the command line tool for xcode:
Try xcode-select --install